crewly 1.20.210 → 1.20.211

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 (76) hide show
  1. package/config/skills/agent/core/app-data/SKILL.md +30 -1
  2. package/config/skills/agent/core/publish-app/SKILL.md +73 -6
  3. package/config/skills/agent/core/publish-app/execute.sh +125 -4
  4. package/config/skills/agent/core/publish-app/execute.test.sh +95 -4
  5. package/dist/backend/backend/src/constants.d.ts +53 -0
  6. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  7. package/dist/backend/backend/src/constants.js +53 -0
  8. package/dist/backend/backend/src/constants.js.map +1 -1
  9. package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts +17 -1
  10. package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts.map +1 -1
  11. package/dist/backend/backend/src/controllers/apps/apps.controller.js +45 -8
  12. package/dist/backend/backend/src/controllers/apps/apps.controller.js.map +1 -1
  13. package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts +7 -0
  14. package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts.map +1 -1
  15. package/dist/backend/backend/src/controllers/apps/apps.routes.js +15 -1
  16. package/dist/backend/backend/src/controllers/apps/apps.routes.js.map +1 -1
  17. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  18. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +3 -2
  19. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  20. package/dist/backend/backend/src/services/apps/app-open-link.d.ts +61 -0
  21. package/dist/backend/backend/src/services/apps/app-open-link.d.ts.map +1 -0
  22. package/dist/backend/backend/src/services/apps/app-open-link.js +112 -0
  23. package/dist/backend/backend/src/services/apps/app-open-link.js.map +1 -0
  24. package/dist/backend/backend/src/services/apps/app-wake-message.d.ts +44 -3
  25. package/dist/backend/backend/src/services/apps/app-wake-message.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/apps/app-wake-message.js +99 -7
  27. package/dist/backend/backend/src/services/apps/app-wake-message.js.map +1 -1
  28. package/dist/backend/backend/src/services/apps/app-wake.service.d.ts +29 -2
  29. package/dist/backend/backend/src/services/apps/app-wake.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/apps/app-wake.service.js +151 -21
  31. package/dist/backend/backend/src/services/apps/app-wake.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/apps/apps-registry.service.d.ts +18 -0
  33. package/dist/backend/backend/src/services/apps/apps-registry.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/apps/apps-registry.service.js +14 -0
  35. package/dist/backend/backend/src/services/apps/apps-registry.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/apps/apps.service.d.ts +261 -12
  37. package/dist/backend/backend/src/services/apps/apps.service.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/apps/apps.service.js +387 -30
  39. package/dist/backend/backend/src/services/apps/apps.service.js.map +1 -1
  40. package/dist/backend/backend/src/services/apps/apps.wiring.d.ts +15 -1
  41. package/dist/backend/backend/src/services/apps/apps.wiring.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/apps/apps.wiring.js +27 -7
  43. package/dist/backend/backend/src/services/apps/apps.wiring.js.map +1 -1
  44. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +3 -1
  46. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/core/logger.service.d.ts +5 -0
  48. package/dist/backend/backend/src/services/core/logger.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/core/logger.service.js +8 -0
  50. package/dist/backend/backend/src/services/core/logger.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -1
  52. package/dist/backend/backend/src/services/slack/slack-thread-context.service.js +3 -1
  53. package/dist/backend/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
  54. package/dist/backend/build-info.json +2 -2
  55. package/dist/cli/backend/src/constants.d.ts +53 -0
  56. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  57. package/dist/cli/backend/src/constants.js +53 -0
  58. package/dist/cli/backend/src/constants.js.map +1 -1
  59. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  60. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +3 -2
  61. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  62. package/dist/cli/backend/src/services/apps/app-open-link.d.ts +61 -0
  63. package/dist/cli/backend/src/services/apps/app-open-link.d.ts.map +1 -0
  64. package/dist/cli/backend/src/services/apps/app-open-link.js +112 -0
  65. package/dist/cli/backend/src/services/apps/app-open-link.js.map +1 -0
  66. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  67. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +3 -1
  68. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  69. package/dist/cli/backend/src/services/core/logger.service.d.ts +5 -0
  70. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -1
  71. package/dist/cli/backend/src/services/core/logger.service.js +8 -0
  72. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -1
  73. package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -1
  74. package/dist/cli/backend/src/services/slack/slack-thread-context.service.js +3 -1
  75. package/dist/cli/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
  76. package/package.json +1 -1
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { AppsCloudClient } from './apps-cloud.client.js';
11
11
  import type { AppRegistryEntry, AppsRegistryService } from './apps-registry.service.js';
12
+ import { type OpenLinkInfo } from './app-open-link.js';
12
13
  /** Cloud's view of an app (apps/SPEC.md §3.1). */
13
14
  export interface CloudAppView {
14
15
  appId: string;
@@ -17,6 +18,30 @@ export interface CloudAppView {
17
18
  url: string;
18
19
  currentVersion: number | null;
19
20
  latestVersion: number;
21
+ /** P3: `private` unless the owner approved a public request in the shell */
22
+ visibility?: AppVisibility;
23
+ /** P3: collections anonymous visitors may read */
24
+ publicRead?: string[];
25
+ /** P3: collections anonymous visitors may add to (append-only) */
26
+ publicSubmit?: string[];
27
+ /** P3: a request waiting for the owner, or null */
28
+ publicRequest?: PublicRequestView | null;
29
+ }
30
+ /** Who can open an app without signing in (P3 §2). */
31
+ export type AppVisibility = 'private' | 'public';
32
+ /** A pending request to make an app public, as Cloud shows it. */
33
+ export interface PublicRequestView {
34
+ publicRead: string[];
35
+ publicSubmit: string[];
36
+ note: string | null;
37
+ requestedBy: string | null;
38
+ requestedAt: string | null;
39
+ }
40
+ /** What an agent asks to open to anonymous visitors. */
41
+ export interface PublicRequestInput {
42
+ publicRead?: unknown;
43
+ publicSubmit?: unknown;
44
+ note?: unknown;
20
45
  }
21
46
  /** Cloud's view of a version. */
22
47
  export interface CloudVersionView {
@@ -43,31 +68,85 @@ export interface PublishInput {
43
68
  entry?: unknown;
44
69
  note?: unknown;
45
70
  notify?: unknown;
71
+ /** P3: also ask the owner to make the app public */
72
+ publicRequest?: unknown;
73
+ }
74
+ /**
75
+ * What posting the card did. Never the signed URL itself: agents get the
76
+ * plain URL only (P3 §1).
77
+ */
78
+ export interface CardResult {
79
+ notified: boolean;
80
+ /** `signed` = the one-tap open-link card in the owner DM; `plain` = the plain URL */
81
+ card?: 'signed' | 'plain';
82
+ /** Where it went: the agent's owner DM, or wherever its conversation with the owner is */
83
+ cardPlace?: 'owner-dm' | 'conversation';
84
+ /** The minted link (for `--revoke-link`); not a secret */
85
+ linkId?: string;
86
+ linkExpiresAt?: string;
87
+ notifyError?: string;
88
+ /** Why the card carries the plain URL instead of a signed link */
89
+ linkError?: string;
46
90
  }
47
91
  /** Result of a publish. */
48
- export interface PublishResult {
92
+ export interface PublishResult extends CardResult {
49
93
  appId: string;
50
94
  name: string;
51
95
  url: string;
52
96
  version: number;
53
97
  created: boolean;
54
- notified: boolean;
55
- notifyError?: string;
98
+ /** P3: the public request was recorded (the owner still has to approve it) */
99
+ publicRequested?: boolean;
100
+ publicError?: string;
101
+ /** The app was public; this version made it private until the owner re-approves (crewly-services #33) */
102
+ publicPaused?: boolean;
103
+ publicPausedMessage?: string;
104
+ }
105
+ /** Result of {@link AppsService.share}. */
106
+ export interface ShareResult extends CardResult {
107
+ appId: string;
108
+ name: string;
109
+ url: string;
110
+ visibility: AppVisibility;
111
+ publicRequestPending: boolean;
112
+ }
113
+ /** Result of a public request. */
114
+ export interface PublicRequestResult extends CardResult {
115
+ appId: string;
116
+ url: string;
117
+ visibility: AppVisibility;
118
+ publicRequest: PublicRequestView | null;
119
+ message: string;
56
120
  }
57
121
  /** Who is calling: an agent session, or the owner (no session). */
58
122
  export interface AppsCaller {
59
123
  agentSession?: string;
60
124
  }
61
- /** Posts the "Open app" card where the agent talks with the owner. */
62
- export type AppCardNotifier = (agentSession: string, text: string) => Promise<{
125
+ /** Outcome of posting a card. */
126
+ export interface CardPostResult {
63
127
  ok: boolean;
64
128
  error?: string;
65
- }>;
129
+ }
130
+ /**
131
+ * Where the "Open app" card can go (P3 §1, destination rule).
132
+ *
133
+ * The signed card goes ONLY to `ownerDm` — the one place that is owner-only
134
+ * by construction. The plain card goes where the agent talks with the owner
135
+ * (the `reply` resolver), as in P2.
136
+ */
137
+ export interface AppCardPoster {
138
+ /** The agent's DM with the owner (chat-v2 conversation id), or null when it has none */
139
+ ownerDm(agentSession: string): Promise<string | null>;
140
+ /** Post into exactly that DM conversation; never anywhere else */
141
+ postToOwnerDm(agentSession: string, conversationId: string, text: string): Promise<CardPostResult>;
142
+ /** Post where the agent's conversation with the owner is (P2 path) */
143
+ postReply(agentSession: string, text: string): Promise<CardPostResult>;
144
+ }
66
145
  /** Constructor dependencies. */
67
146
  export interface AppsServiceDeps {
68
147
  client: AppsCloudClient;
69
148
  registry: AppsRegistryService;
70
- notifyCard?: AppCardNotifier;
149
+ cards?: AppCardPoster;
71
150
  /** Whether two agent sessions are in the same team (data access for the publisher's team) */
72
151
  sameTeam?: (a: string, b: string) => Promise<boolean>;
73
152
  }
@@ -79,15 +158,76 @@ export interface AppsServiceDeps {
79
158
  * @throws AppsCloudError validation
80
159
  */
81
160
  export declare function requireAppId(appId: unknown): string;
161
+ /**
162
+ * The app's plain URL (what agents see; opens the sign-in page without a session).
163
+ *
164
+ * @param appId - App id
165
+ * @returns URL
166
+ */
167
+ export declare function plainAppUrl(appId: string): string;
82
168
  /**
83
169
  * The "📱 <name> · Open app" card text. Markdown link: the reply path turns
84
- * it into a Slack link.
170
+ * it into a Slack link. A pending public request adds one line asking the
171
+ * owner to approve or decline it in the app.
85
172
  *
86
173
  * @param name - App name
87
- * @param appId - App id
174
+ * @param url - The link (signed or plain)
175
+ * @param pending - The app's pending public request, if any
88
176
  * @returns Card text
89
177
  */
90
- export declare function appCardText(name: string, appId: string): string;
178
+ export declare function appCardText(name: string, url: string, pending?: PublicRequestView | null): string;
179
+ /**
180
+ * Check a list of collection names for a public request.
181
+ *
182
+ * @param v - Candidate (array of names, or a comma-separated string)
183
+ * @param what - Field name for the message
184
+ * @returns Unique names
185
+ * @throws AppsCloudError validation
186
+ */
187
+ export declare function requireCollectionList(v: unknown, what: string): string[];
188
+ /**
189
+ * Check a public request body.
190
+ *
191
+ * @param input - `{ publicRead?, publicSubmit?, note? }`
192
+ * @returns The body Cloud gets
193
+ * @throws AppsCloudError validation
194
+ */
195
+ export declare function validatePublicRequest(input: unknown): {
196
+ publicRead: string[];
197
+ publicSubmit: string[];
198
+ note?: string;
199
+ };
200
+ /**
201
+ * Check a link lifetime.
202
+ *
203
+ * @param v - Days (number or numeric string), or empty for Cloud's default
204
+ * @returns Days, or undefined
205
+ * @throws AppsCloudError validation
206
+ */
207
+ export declare function requireTtlDays(v: unknown): number | undefined;
208
+ /** The message every public request answers with: only the owner can approve it. */
209
+ export declare const PUBLIC_REQUEST_MESSAGE = "Requested: the owner approves it by opening the app. Until then the app stays private; no agent can make it public.";
210
+ /**
211
+ * Said when publishing or rolling back a public app took it private again
212
+ * (crewly-services #33: every new current version of a public app needs the
213
+ * owner's re-approval).
214
+ */
215
+ export declare const PUBLIC_PAUSED_MESSAGE = "This app was public. Publishing or rolling back a public app makes it private again until the owner re-approves it in the app (they sign in with Google there to approve). Tell the owner; do not say it is public.";
216
+ /**
217
+ * The first word Cloud refuses in a public app's name, if any
218
+ * (crewly-services #33; {@link CREWLY_APPS_CONSTANTS.PUBLIC_REQUEST}.BLOCKED_NAME_WORDS).
219
+ *
220
+ * @param name - App name
221
+ * @returns The blocked word found, or null
222
+ */
223
+ export declare function blockedPublicNameWord(name: string): string | null;
224
+ /**
225
+ * Refuse a public request for an app whose name Cloud would refuse at approval.
226
+ *
227
+ * @param name - App name
228
+ * @throws AppsCloudError validation naming the word
229
+ */
230
+ export declare function assertPublicName(name: string): void;
91
231
  /**
92
232
  * Publishing and data access for Crewly Apps.
93
233
  */
@@ -104,6 +244,98 @@ export declare class AppsService {
104
244
  * @throws AppsCloudError on validation or a Cloud failure
105
245
  */
106
246
  publish(input: PublishInput, caller: AppsCaller): Promise<PublishResult>;
247
+ /**
248
+ * Post the "Open app" card for the owner.
249
+ *
250
+ * Destination rule (P3 §1): when the agent has a DM with the owner, a
251
+ * fresh signed link is minted and the card goes to that DM only — never
252
+ * to a room, a team channel or a shared room, wherever the conversation
253
+ * happens to be. Without a DM, or when minting or the DM post fails, the
254
+ * card carries the plain URL and goes where the agent talks with the owner
255
+ * (P2). The signed URL is never returned.
256
+ *
257
+ * @param app - App id, name and its pending public request
258
+ * @param caller - Agent or owner
259
+ * @param publisher - The app's recorded agent (posts the card for an owner call)
260
+ * @param ttlDays - Link lifetime (Cloud's default when omitted)
261
+ * @returns What was posted, without the URL
262
+ */
263
+ private sendCard;
264
+ /**
265
+ * Post the card again with a fresh signed link, without publishing (P3 §1, re-share).
266
+ *
267
+ * @param appId - App id
268
+ * @param opts - `ttlDays` (1-30, Cloud's default 7)
269
+ * @param caller - Agent (its own apps) or owner (any; posts as the recorded agent)
270
+ * @returns What was posted; never the signed URL
271
+ */
272
+ share(appId: unknown, opts: {
273
+ ttlDays?: unknown;
274
+ }, caller: AppsCaller): Promise<ShareResult>;
275
+ /**
276
+ * The app's open-links (no tokens).
277
+ *
278
+ * @param appId - App id
279
+ * @param caller - Agent (its own apps) or owner
280
+ * @returns Links, newest as Cloud orders them
281
+ */
282
+ links(appId: unknown, caller: AppsCaller): Promise<OpenLinkInfo[]>;
283
+ /**
284
+ * Revoke one open-link.
285
+ *
286
+ * @param appId - App id
287
+ * @param linkId - Link id
288
+ * @param caller - Agent (its own apps) or owner
289
+ * @returns `{ revoked: true }`; 404 not_found for an unknown link
290
+ */
291
+ revokeLink(appId: unknown, linkId: unknown, caller: AppsCaller): Promise<{
292
+ revoked: boolean;
293
+ }>;
294
+ /**
295
+ * Revoke every open-link of an app.
296
+ *
297
+ * @param appId - App id
298
+ * @param caller - Agent (its own apps) or owner
299
+ * @returns `{ revoked: <count> }`
300
+ */
301
+ revokeLinks(appId: unknown, caller: AppsCaller): Promise<{
302
+ revoked: number;
303
+ }>;
304
+ /**
305
+ * Ask the owner to make an app public (P3 §2). Only records the request:
306
+ * Cloud flips visibility only from the owner's own session in the apps
307
+ * shell, so nothing here can make an app public. An agent's request also
308
+ * posts the card, which tells the owner to approve or decline it.
309
+ *
310
+ * @param appId - App id
311
+ * @param input - Collections to open for reading / anonymous submissions, and a note
312
+ * @param caller - Agent (its own apps) or owner
313
+ * @returns The recorded request and the card result
314
+ */
315
+ requestPublic(appId: unknown, input: unknown, caller: AppsCaller): Promise<PublicRequestResult>;
316
+ /**
317
+ * Withdraw a pending public request.
318
+ *
319
+ * @param appId - App id
320
+ * @param caller - Agent (its own apps) or owner
321
+ * @returns Cloud's answer
322
+ */
323
+ cancelPublicRequest(appId: unknown, caller: AppsCaller): Promise<{
324
+ appId: string;
325
+ cancelled: true;
326
+ visibility: AppVisibility;
327
+ }>;
328
+ /**
329
+ * Make an app private again (instant; always allowed).
330
+ *
331
+ * @param appId - App id
332
+ * @param caller - Agent (its own apps) or owner
333
+ * @returns `{ visibility: 'private' }`
334
+ */
335
+ makePrivate(appId: unknown, caller: AppsCaller): Promise<{
336
+ appId: string;
337
+ visibility: AppVisibility;
338
+ }>;
107
339
  /**
108
340
  * Make an earlier retained version current.
109
341
  *
@@ -112,7 +344,10 @@ export declare class AppsService {
112
344
  * @param caller - Agent or owner
113
345
  * @returns The app after rollback
114
346
  */
115
- rollback(appId: unknown, version: unknown, caller: AppsCaller): Promise<CloudAppView>;
347
+ rollback(appId: unknown, version: unknown, caller: AppsCaller): Promise<CloudAppView & {
348
+ publicPaused?: boolean;
349
+ publicPausedMessage?: string;
350
+ }>;
116
351
  /**
117
352
  * Versions of an app, newest first.
118
353
  *
@@ -144,7 +379,7 @@ export declare class AppsService {
144
379
  *
145
380
  * @returns Entries without the poller cursor
146
381
  */
147
- list(caller?: AppsCaller): Promise<Array<Omit<AppRegistryEntry, 'cursor' | 'delivered' | 'wakes'>>>;
382
+ list(caller?: AppsCaller): Promise<Array<Omit<AppRegistryEntry, 'cursor' | 'delivered' | 'wakes' | 'visitorWakes'>>>;
148
383
  /**
149
384
  * One page of a collection.
150
385
  *
@@ -211,6 +446,20 @@ export declare class AppsService {
211
446
  * @returns `{ deleted: true }`
212
447
  */
213
448
  deleteDoc(appId: unknown, collection: unknown, docId: unknown, caller: AppsCaller): Promise<unknown>;
449
+ /**
450
+ * A Cloud data call whose answer is sanitised before it leaves the backend
451
+ * (P3 §4): documents were written by the owner, other agents or anonymous
452
+ * visitors, and an agent prints them into its terminal, where harness
453
+ * markers (`[CHAT_RESPONSE]`, `[DONE]`, fenced blocks), ANSI escapes or
454
+ * bidi characters would act. Every string value and key is cleaned; the
455
+ * structure is kept. Done here, not in the skill, so no caller bypasses it.
456
+ *
457
+ * @param method - HTTP method
458
+ * @param path - Cloud path
459
+ * @param opts - Request options
460
+ * @returns The display-safe answer
461
+ */
462
+ private dataRequest;
214
463
  private docPath;
215
464
  private validateFiles;
216
465
  }
@@ -1 +1 @@
1
- {"version":3,"file":"apps.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/apps/apps.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/apps/apps.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,eAAe,EAA2C,MAAM,wBAAwB,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAA0D,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK/G,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mDAAmD;IACnD,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC1C;AAED,sDAAsD;AACtD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjD,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;IACxC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2BAA2B;AAC3B,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,2CAA2C;AAC3C,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,aAAa,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,kCAAkC;AAClC,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,iCAAiC;AACjC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,kEAAkE;IAClE,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACnG,sEAAsE;IACtE,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACxE;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD;AAUD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGnD;AAiCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,CAWjG;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAUxE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAYrH;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAO7D;AAgBD,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,wHAAwH,CAAC;AAE5J;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,wNACqL,CAAC;AAUxN;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAOnD;AAED;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAElD;;;;;;;;OAQG;IACG,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAsH9E;;;;;;;;;;;;;;;OAeG;YACW,QAAQ;IA6CtB;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAWlG;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAMxE;;;;;;;OAOG;IACG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAQpG;;;;;;OAMG;IACG,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAOnF;;;;;;;;;;OAUG;IACG,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuBrG;;;;;;OAMG;IACG,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,aAAa,CAAA;KAAE,CAAC;IAOrI;;;;;;OAMG;IACG,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,aAAa,CAAA;KAAE,CAAC;IAO5G;;;;;;;OAOG;IACG,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBtJ;;;;;;OAMG;IACG,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAM/E;;;;;;;OAOG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE;;;;;;;OAOG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxE;;;;OAIG;IACG,IAAI,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC;IAM9H;;;;;;;;OAQG;IACG,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAYrI;;;;;;;;OAQG;IACG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvG;;;;;;;;;OASG;IACG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtH;;;;;;;;;;OAUG;IACG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAYzI;;;;;;;;OAQG;IACG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAUtG;;;;;;;;OAQG;IACG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAM1G;;;;;;;;;;;;OAYG;YACW,WAAW;IAIzB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,aAAa;CAetB"}