@theia/ai-core 1.66.0-next.44 → 1.66.0-next.73

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 (39) hide show
  1. package/lib/browser/frontend-prompt-customization-service.d.ts +12 -3
  2. package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -1
  3. package/lib/browser/frontend-prompt-customization-service.js +57 -13
  4. package/lib/browser/frontend-prompt-customization-service.js.map +1 -1
  5. package/lib/browser/frontend-prompt-customization-service.spec.d.ts +2 -0
  6. package/lib/browser/frontend-prompt-customization-service.spec.d.ts.map +1 -0
  7. package/lib/browser/frontend-prompt-customization-service.spec.js +127 -0
  8. package/lib/browser/frontend-prompt-customization-service.spec.js.map +1 -0
  9. package/lib/browser/prompttemplate-parser.d.ts +36 -0
  10. package/lib/browser/prompttemplate-parser.d.ts.map +1 -0
  11. package/lib/browser/prompttemplate-parser.js +94 -0
  12. package/lib/browser/prompttemplate-parser.js.map +1 -0
  13. package/lib/common/prompt-service.d.ts +27 -1
  14. package/lib/common/prompt-service.d.ts.map +1 -1
  15. package/lib/common/prompt-service.js +29 -0
  16. package/lib/common/prompt-service.js.map +1 -1
  17. package/lib/common/prompt-service.spec.js +126 -0
  18. package/lib/common/prompt-service.spec.js.map +1 -1
  19. package/lib/common/prompt-text.d.ts +1 -0
  20. package/lib/common/prompt-text.d.ts.map +1 -1
  21. package/lib/common/prompt-text.js +1 -0
  22. package/lib/common/prompt-text.js.map +1 -1
  23. package/lib/common/prompt-variable-contribution.d.ts +2 -0
  24. package/lib/common/prompt-variable-contribution.d.ts.map +1 -1
  25. package/lib/common/prompt-variable-contribution.js +89 -4
  26. package/lib/common/prompt-variable-contribution.js.map +1 -1
  27. package/lib/common/prompt-variable-contribution.spec.d.ts +2 -0
  28. package/lib/common/prompt-variable-contribution.spec.d.ts.map +1 -0
  29. package/lib/common/prompt-variable-contribution.spec.js +163 -0
  30. package/lib/common/prompt-variable-contribution.spec.js.map +1 -0
  31. package/package.json +9 -9
  32. package/src/browser/frontend-prompt-customization-service.spec.ts +145 -0
  33. package/src/browser/frontend-prompt-customization-service.ts +72 -20
  34. package/src/browser/prompttemplate-parser.ts +111 -0
  35. package/src/common/prompt-service.spec.ts +143 -0
  36. package/src/common/prompt-service.ts +73 -1
  37. package/src/common/prompt-text.ts +1 -0
  38. package/src/common/prompt-variable-contribution.spec.ts +236 -0
  39. package/src/common/prompt-variable-contribution.ts +109 -4
@@ -1,9 +1,10 @@
1
1
  import { DisposableCollection, URI, Event, Emitter } from '@theia/core';
2
2
  import { OpenerService } from '@theia/core/lib/browser';
3
- import { PromptFragmentCustomizationService, CustomAgentDescription, CustomizedPromptFragment } from '../common';
3
+ import { PromptFragmentCustomizationService, CustomAgentDescription, CustomizedPromptFragment, CommandPromptFragmentMetadata } from '../common';
4
4
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
5
5
  import { AICorePreferences } from '../common/ai-core-preferences';
6
6
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
7
+ import { ParsedTemplate } from './prompttemplate-parser';
7
8
  export declare enum CustomizationSource {
8
9
  CUSTOMIZED = 1,
9
10
  FOLDER = 2,
@@ -23,8 +24,9 @@ export interface PromptFragmentCustomizationProperties {
23
24
  }
24
25
  /**
25
26
  * Internal representation of a fragment entry in the customization service
27
+ * Extends TemplateMetadata to include command-related properties
26
28
  */
27
- interface PromptFragmentCustomization {
29
+ interface PromptFragmentCustomization extends CommandPromptFragmentMetadata {
28
30
  /** The template content */
29
31
  template: string;
30
32
  /** Source URI where this template is stored */
@@ -88,8 +90,9 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
88
90
  * @param allCustomizationsCopy The map to track all loaded customizations
89
91
  * @param priority The customization priority
90
92
  * @param origin The source type of the customization
93
+ * @param metadata Optional command metadata
91
94
  */
92
- protected addTemplate(activeCustomizationsCopy: Map<string, PromptFragmentCustomization>, id: string, template: string, sourceUri: string, allCustomizationsCopy: Map<string, PromptFragmentCustomization>, priority: number, origin: CustomizationSource): void;
95
+ protected addTemplate(activeCustomizationsCopy: Map<string, PromptFragmentCustomization>, id: string, template: string, sourceUri: string, allCustomizationsCopy: Map<string, PromptFragmentCustomization>, priority: number, origin: CustomizationSource, metadata?: CommandPromptFragmentMetadata): void;
93
96
  /**
94
97
  * Generates a unique customization ID based on the fragment ID, source URI, and priority
95
98
  * @param id The fragment ID
@@ -103,6 +106,12 @@ export declare class DefaultPromptFragmentCustomizationService implements Prompt
103
106
  * @returns A string hash
104
107
  */
105
108
  protected hashString(str: string): string;
109
+ /**
110
+ * Parses a template file that may contain YAML front matter
111
+ * @param fileContent The raw file content
112
+ * @returns Parsed metadata and template content
113
+ */
114
+ protected parseTemplateWithMetadata(fileContent: string): ParsedTemplate;
106
115
  /**
107
116
  * Removes a customization from customizations maps based on the source URI.
108
117
  * Also checks for any lower-priority customizations with the same ID that might need to be loaded.
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-prompt-customization-service.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-prompt-customization-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontend-prompt-customization-service.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-prompt-customization-service.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ const ai_core_preferences_1 = require("../common/ai-core-preferences");
27
27
  const env_variables_1 = require("@theia/core/lib/common/env-variables");
28
28
  const js_yaml_1 = require("js-yaml");
29
29
  const prompttemplate_contribution_1 = require("./prompttemplate-contribution");
30
+ const prompttemplate_parser_1 = require("./prompttemplate-parser");
30
31
  /**
31
32
  * Default template entry for creating custom agents
32
33
  */
@@ -131,25 +132,42 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
131
132
  * @param allCustomizationsCopy The map to track all loaded customizations
132
133
  * @param priority The customization priority
133
134
  * @param origin The source type of the customization
135
+ * @param metadata Optional command metadata
134
136
  */
135
- addTemplate(activeCustomizationsCopy, id, template, sourceUri, allCustomizationsCopy, priority, origin) {
137
+ addTemplate(activeCustomizationsCopy, id, template, sourceUri, allCustomizationsCopy, priority, origin, metadata) {
136
138
  // Generate a unique customization ID based on source URI and priority
137
139
  const customizationId = this.generateCustomizationId(id, sourceUri);
140
+ // Create customization object with metadata
141
+ const customization = {
142
+ id,
143
+ template,
144
+ sourceUri,
145
+ priority,
146
+ customizationId,
147
+ origin,
148
+ ...(metadata && {
149
+ isCommand: metadata.isCommand,
150
+ commandName: metadata.commandName,
151
+ commandDescription: metadata.commandDescription,
152
+ commandArgumentHint: metadata.commandArgumentHint,
153
+ commandAgents: metadata.commandAgents,
154
+ })
155
+ };
138
156
  // Always add to allCustomizationsCopy to keep track of all customizations including overridden ones
139
157
  if (sourceUri) {
140
- allCustomizationsCopy.set(sourceUri, { id, template, sourceUri, priority, customizationId, origin });
158
+ allCustomizationsCopy.set(sourceUri, customization);
141
159
  }
142
160
  const existingEntry = activeCustomizationsCopy.get(id);
143
161
  if (existingEntry) {
144
162
  // If this is an update to the same file (same source URI)
145
163
  if (sourceUri && existingEntry.sourceUri === sourceUri) {
146
164
  // Update the content while keeping the same priority and source
147
- activeCustomizationsCopy.set(id, { id, template, sourceUri, priority, customizationId, origin });
165
+ activeCustomizationsCopy.set(id, customization);
148
166
  return;
149
167
  }
150
168
  // If the new customization has higher priority, replace the existing one
151
169
  if (priority > existingEntry.priority) {
152
- activeCustomizationsCopy.set(id, { id, template, sourceUri, priority, customizationId, origin });
170
+ activeCustomizationsCopy.set(id, customization);
153
171
  return;
154
172
  }
155
173
  else if (priority === existingEntry.priority) {
@@ -160,7 +178,7 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
160
178
  return;
161
179
  }
162
180
  // No conflict at all, add the customization
163
- activeCustomizationsCopy.set(id, { id, template, sourceUri, priority, customizationId, origin });
181
+ activeCustomizationsCopy.set(id, customization);
164
182
  }
165
183
  /**
166
184
  * Generates a unique customization ID based on the fragment ID, source URI, and priority
@@ -188,6 +206,14 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
188
206
  }
189
207
  return Math.abs(hash).toString(36).substring(0, 8);
190
208
  }
209
+ /**
210
+ * Parses a template file that may contain YAML front matter
211
+ * @param fileContent The raw file content
212
+ * @returns Parsed metadata and template content
213
+ */
214
+ parseTemplateWithMetadata(fileContent) {
215
+ return (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
216
+ }
191
217
  /**
192
218
  * Removes a customization from customizations maps based on the source URI.
193
219
  * Also checks for any lower-priority customizations with the same ID that might need to be loaded.
@@ -243,7 +269,8 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
243
269
  if (await this.fileService.exists(fileURI)) {
244
270
  trackedTemplateURIsCopy.add(uriString);
245
271
  const fileContent = await this.fileService.read(fileURI);
246
- this.addTemplate(activeCustomizationsCopy, fragmentId, fileContent.value, uriString, allCustomizationsCopy, priority, CustomizationSource.FILE);
272
+ const parsed = this.parseTemplateWithMetadata(fileContent.value);
273
+ this.addTemplate(activeCustomizationsCopy, fragmentId, parsed.template, uriString, allCustomizationsCopy, priority, CustomizationSource.FILE, parsed.metadata);
247
274
  parsedPromptFragments.add(fragmentId);
248
275
  }
249
276
  }
@@ -272,7 +299,8 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
272
299
  const fileInfo = this.watchedFiles.get(fileUriString);
273
300
  if (fileInfo) {
274
301
  const fileContent = await this.fileService.read(fileInfo.uri);
275
- this.addTemplate(this.activeCustomizations, fileInfo.fragmentId, fileContent.value, fileUriString, this.allCustomizations, priority, CustomizationSource.FILE);
302
+ const parsed = this.parseTemplateWithMetadata(fileContent.value);
303
+ this.addTemplate(this.activeCustomizations, fileInfo.fragmentId, parsed.template, fileUriString, this.allCustomizations, priority, CustomizationSource.FILE, parsed.metadata);
276
304
  changedFragmentIds.add(fileInfo.fragmentId);
277
305
  }
278
306
  }
@@ -282,7 +310,8 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
282
310
  const fileInfo = this.watchedFiles.get(fileUriString);
283
311
  if (fileInfo) {
284
312
  const fileContent = await this.fileService.read(fileInfo.uri);
285
- this.addTemplate(this.activeCustomizations, fileInfo.fragmentId, fileContent.value, fileUriString, this.allCustomizations, priority, CustomizationSource.FILE);
313
+ const parsed = this.parseTemplateWithMetadata(fileContent.value);
314
+ this.addTemplate(this.activeCustomizations, fileInfo.fragmentId, parsed.template, fileUriString, this.allCustomizations, priority, CustomizationSource.FILE, parsed.metadata);
286
315
  this.trackedTemplateURIs.add(fileUriString);
287
316
  changedFragmentIds.add(fileInfo.fragmentId);
288
317
  }
@@ -345,8 +374,9 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
345
374
  if (this.isPromptTemplateExtension(fileURI.path.ext)) {
346
375
  trackedTemplateURIsCopy.add(fileURI.toString());
347
376
  const fileContent = await this.fileService.read(fileURI);
377
+ const parsed = this.parseTemplateWithMetadata(fileContent.value);
348
378
  const fragmentId = this.removePromptTemplateSuffix(file.name);
349
- this.addTemplate(activeCustomizationsCopy, fragmentId, fileContent.value, fileURI.toString(), allCustomizationsCopy, priority, customizationSource);
379
+ this.addTemplate(activeCustomizationsCopy, fragmentId, parsed.template, fileURI.toString(), allCustomizationsCopy, priority, customizationSource, parsed.metadata);
350
380
  parsedPromptFragments.add(fragmentId);
351
381
  }
352
382
  }
@@ -393,8 +423,9 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
393
423
  const uriString = updatedFile.resource.toString();
394
424
  if (this.trackedTemplateURIs.has(uriString)) {
395
425
  const fileContent = await this.fileService.read(updatedFile.resource);
426
+ const parsed = this.parseTemplateWithMetadata(fileContent.value);
396
427
  const fragmentId = this.removePromptTemplateSuffix(updatedFile.resource.path.name);
397
- this.addTemplate(this.activeCustomizations, fragmentId, fileContent.value, uriString, this.allCustomizations, priority, customizationSource);
428
+ this.addTemplate(this.activeCustomizations, fragmentId, parsed.template, uriString, this.allCustomizations, priority, customizationSource, parsed.metadata);
398
429
  changedFragmentIds.add(fragmentId);
399
430
  }
400
431
  }
@@ -405,8 +436,9 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
405
436
  const uriString = addedFile.resource.toString();
406
437
  this.trackedTemplateURIs.add(uriString);
407
438
  const fileContent = await this.fileService.read(addedFile.resource);
439
+ const parsed = this.parseTemplateWithMetadata(fileContent.value);
408
440
  const fragmentId = this.removePromptTemplateSuffix(addedFile.resource.path.name);
409
- this.addTemplate(this.activeCustomizations, fragmentId, fileContent.value, uriString, this.allCustomizations, priority, customizationSource);
441
+ this.addTemplate(this.activeCustomizations, fragmentId, parsed.template, uriString, this.allCustomizations, priority, customizationSource, parsed.metadata);
410
442
  changedFragmentIds.add(fragmentId);
411
443
  }
412
444
  }
@@ -520,7 +552,13 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
520
552
  id: entry.id,
521
553
  template: entry.template,
522
554
  customizationId: entry.customizationId,
523
- priority: entry.priority
555
+ priority: entry.priority,
556
+ // Pass through command metadata
557
+ isCommand: entry.isCommand,
558
+ commandName: entry.commandName,
559
+ commandDescription: entry.commandDescription,
560
+ commandArgumentHint: entry.commandArgumentHint,
561
+ commandAgents: entry.commandAgents,
524
562
  };
525
563
  }
526
564
  getAllCustomizations(id) {
@@ -532,7 +570,13 @@ let DefaultPromptFragmentCustomizationService = class DefaultPromptFragmentCusto
532
570
  id: value.id,
533
571
  template: value.template,
534
572
  customizationId: value.customizationId,
535
- priority: value.priority
573
+ priority: value.priority,
574
+ // Pass through command metadata
575
+ isCommand: value.isCommand,
576
+ commandName: value.commandName,
577
+ commandDescription: value.commandDescription,
578
+ commandArgumentHint: value.commandArgumentHint,
579
+ commandAgents: value.commandAgents,
536
580
  });
537
581
  }
538
582
  });
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-prompt-customization-service.js","sourceRoot":"","sources":["../../src/browser/frontend-prompt-customization-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontend-prompt-customization-service.js","sourceRoot":"","sources":["../../src/browser/frontend-prompt-customization-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,sCAA6E;AAC7E,qDAAwD;AACxD,4DAAiF;AACjF,sCAAgJ;AAChJ,0DAA6D;AAC7D,6EAAyE;AAEzE,uEAAoG;AACpG,wEAA0E;AAC1E,qCAAqC;AACrC,+EAA0E;AAC1E,mEAAoF;AAEpF;;GAEG;AACH,MAAM,mBAAmB,GAAG;IACxB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAAE,0EAA0E,CAAC;IACtJ,MAAM,EAAE;;;;;;;;;;mBAUO;IACf,UAAU,EAAE,eAAe;CAC9B,CAAC;AAEF,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,yEAAc,CAAA;IACd,iEAAU,CAAA;IACV,6DAAQ,CAAA;AACZ,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B;AAED,SAAgB,4BAA4B,CAAC,MAA2B;IACpE,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,mBAAmB,CAAC,IAAI;YACzB,OAAO,0BAA0B,CAAC;QACtC,KAAK,mBAAmB,CAAC,MAAM;YAC3B,OAAO,gCAAgC,CAAC;QAC5C;YACI,OAAO,yBAAyB,CAAC;IACzC,CAAC;AACL,CAAC;AATD,oEASC;AAuDM,IAAM,yCAAyC,GAA/C,MAAM,yCAAyC;IAA/C;QAaH,mGAAmG;QACzF,wBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAElD,iFAAiF;QACvE,yBAAoB,GAAG,IAAI,GAAG,EAAuC,CAAC;QAEhF,yFAAyF;QAC/E,sBAAiB,GAAG,IAAI,GAAG,EAAuC,CAAC;QAE7E,oEAAoE;QAC1D,2BAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;QAErD,oEAAoE;QAC1D,uBAAkB,GAAG,IAAI,GAAG,CAAS,CAAC,uDAAyB,CAAC,CAAC,CAAC;QAE5E,iGAAiG;QACvF,2BAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;QAErD,2FAA2F;QACjF,iBAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;QAE5D,8FAA8F;QACpF,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;QAE9B,kDAA6C,GAAG,IAAI,cAAO,EAAY,CAAC;QAClF,2CAAsC,GAAoB,IAAI,CAAC,6CAA6C,CAAC,KAAK,CAAC;QAEzG,mCAA8B,GAAG,IAAI,cAAO,EAAQ,CAAC;QAC/D,4BAAuB,GAAgB,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;IAu8B9F,CAAC;IAp8Ba,IAAI;QACV,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;YACzC,IAAI,KAAK,CAAC,cAAc,KAAK,sDAAgC,EAAE,CAAC;gBAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,MAAM;QAClB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,yGAAyG;QACzG,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAuC,CAAC;QAChF,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;QAClD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;QAE5D,mDAAmD;QACnD,+DAA+D;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC3D,MAAM,IAAI,CAAC,wBAAwB,CAC/B,wBAAwB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,sCAAsC;QAEtK,4DAA4D;QAC5D,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,UAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,wBAAwB,CAC/B,wBAAwB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC;QAC5J,CAAC;QAED,qDAAqD;QACrD,MAAM,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;QAE5H,IAAI,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;QACrD,IAAI,CAAC,mBAAmB,GAAG,uBAAuB,CAAC;QACnD,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;QAErC,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;OAUG;IACO,WAAW,CACjB,wBAAkE,EAClE,EAAU,EACV,QAAgB,EAChB,SAAiB,EACjB,qBAA+D,EAC/D,QAAgB,EAChB,MAA2B,EAC3B,QAAwC;QAExC,sEAAsE;QACtE,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAEpE,4CAA4C;QAC5C,MAAM,aAAa,GAAgC;YAC/C,EAAE;YACF,QAAQ;YACR,SAAS;YACT,QAAQ;YACR,eAAe;YACf,MAAM;YACN,GAAG,CAAC,QAAQ,IAAI;gBACZ,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;gBAC/C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;gBACjD,aAAa,EAAE,QAAQ,CAAC,aAAa;aACxC,CAAC;SACL,CAAC;QAEF,oGAAoG;QACpG,IAAI,SAAS,EAAE,CAAC;YACZ,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,aAAa,GAAG,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEvD,IAAI,aAAa,EAAE,CAAC;YAChB,0DAA0D;YAC1D,IAAI,SAAS,IAAI,aAAa,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrD,gEAAgE;gBAChE,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBAChD,OAAO;YACX,CAAC;YAED,yEAAyE;YACzE,IAAI,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;gBACpC,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBAChD,OAAO;YACX,CAAC;iBAAM,IAAI,QAAQ,KAAK,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC7C,8EAA8E;gBAC9E,MAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,aAAa,CAAC,SAAS,iBAAiB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpI,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,yBAAyB,iBAAiB,EAAE,CAAC,CAAC;YACvG,CAAC;YACD,OAAO;QACX,CAAC;QAED,4CAA4C;QAC5C,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACO,uBAAuB,CAAC,EAAU,EAAE,SAAiB;QAC3D,oFAAoF;QACpF,iEAAiE;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACO,UAAU,CAAC,GAAW;QAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YACnC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,2BAA2B;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACO,yBAAyB,CAAC,WAAmB;QACnD,OAAO,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACO,2BAA2B,CACjC,SAAiB,EACjB,qBAA+D,EAC/D,wBAAkE,EAClE,uBAAoC;QAEpC,yDAAyD;QACzD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,EAAE,CAAC;QAC3C,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1C,sIAAsI;QACtI,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrE,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5C,uFAAuF;YACvF,MAAM,2BAA2B,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;iBACzE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC;iBAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAmC;YAEjF,+EAA+E;YAC/E,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC;gBACrE,wBAAwB,CAAC,GAAG,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;YAC5E,CAAC;QAEL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,oBAAoB,CAChC,wBAAkE,EAClE,uBAAoC,EACpC,qBAA+D,EAC/D,gBAA8C;QAE9C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,sCAAsC;QAE1D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,UAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAE5E,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAEzF,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/J,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAE3F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;YACpF,0DAA0D;YAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnF,OAAO;YACX,CAAC;YACD,yCAAyC;YACzC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE7C,uBAAuB;YACvB,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAEtD,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,iBAAiB,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;oBACpJ,IAAI,iBAAiB,EAAE,CAAC;wBACpB,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC9C,CAAC;gBACL,CAAC;YACL,CAAC;YAED,uBAAuB;YACvB,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAEtD,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACjE,IAAI,CAAC,WAAW,CACZ,IAAI,CAAC,oBAAoB,EACzB,QAAQ,CAAC,UAAU,EACnB,MAAM,CAAC,QAAQ,EACf,aAAa,EACb,IAAI,CAAC,iBAAiB,EACtB,QAAQ,EACR,mBAAmB,CAAC,IAAI,EACxB,MAAM,CAAC,QAAQ,CAClB,CAAC;oBACF,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAEtD,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACjE,IAAI,CAAC,WAAW,CACZ,IAAI,CAAC,oBAAoB,EACzB,QAAQ,CAAC,UAAU,EACnB,MAAM,CAAC,QAAQ,EACf,aAAa,EACb,IAAI,CAAC,iBAAiB,EACtB,QAAQ,EACR,mBAAmB,CAAC,IAAI,EACxB,MAAM,CAAC,QAAQ,CAClB,CAAC;oBACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC5C,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;YAED,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/D,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACrF,CAAC;YAAA,CAAC;QACN,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;;OAIG;IACO,yBAAyB,CAAC,QAAgB;QAChD,MAAM,GAAG,GAAG,UAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,wBAAwB,CACpC,wBAAkE,EAClE,uBAAoC,EACpC,qBAA+D,EAC/D,MAAW,EACX,QAAgB,EAChB,mBAAwC;QAExC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAExD,6CAA6C;QAC7C,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,gCAAgC,CACvC,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,MAAM,EACN,QAAQ,EACR,mBAAmB,CACtB,CAAC;QACN,CAAC;QAED,gGAAgG;QAChG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,gCAAgC,CAC5C,wBAAkE,EAClE,uBAAoC,EACpC,qBAA+D,EAC/D,MAAW,EACX,QAAgB,EAChB,mBAAwC;QAExC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,SAAS;YACb,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjE,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,qBAAqB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnK,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACO,qBAAqB,CAC3B,MAAW,EACX,QAAgB,EAChB,mBAAwC;QAExC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;YACpF,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1F,OAAO;YACX,CAAC;YAED,4FAA4F;YAC5F,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvF,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAChG,oFAAoF;gBACpF,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO;YACX,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;gBACxF,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;YAC/C,CAAC;YAED,yCAAyC;YACzC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE7C,2BAA2B;YAC3B,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,2BAA2B,CACtD,SAAS,EACT,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,mBAAmB,CAC3B,CAAC;oBACF,IAAI,iBAAiB,EAAE,CAAC;wBACpB,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC9C,CAAC;gBACL,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBACtE,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACjE,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnF,IAAI,CAAC,WAAW,CACZ,IAAI,CAAC,oBAAoB,EACzB,UAAU,EACV,MAAM,CAAC,QAAQ,EACf,SAAS,EACT,IAAI,CAAC,iBAAiB,EACtB,QAAQ,EACR,mBAAmB,EACnB,MAAM,CAAC,QAAQ,CAClB,CAAC;oBACF,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;YAED,uBAAuB;YACvB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACvC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE;oBAC1D,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAChD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACpE,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACjE,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjF,IAAI,CAAC,WAAW,CACZ,IAAI,CAAC,oBAAoB,EACzB,UAAU,EACV,MAAM,CAAC,QAAQ,EACf,SAAS,EACT,IAAI,CAAC,iBAAiB,EACtB,QAAQ,EACR,mBAAmB,EACnB,MAAM,CAAC,QAAQ,CAClB,CAAC;oBACF,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;YAED,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/D,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACrF,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;;OAIG;IACO,yBAAyB,CAAC,SAAiB;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,gCAAgC;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,yBAAyB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,UAAiD;QACvE,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAChC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YACD,uDAAuD;YACvD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,uDAAyB,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,+EAA+E;QAC/E,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,wBAAwB;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,sDAAgC,CAAC,CAAC;QAC3E,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,UAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;QACvE,OAAO,IAAI,UAAG,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,cAAc,CAAC,UAAkB;QAC7C,OAAO,CAAC,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,UAAU,GAAG,uDAAyB,EAAE,CAAC,CAAC;IACxG,CAAC;IAED;;;;OAIG;IACO,0BAA0B,CAAC,QAAgB;QACjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,8DAA8D;IAE9D,0BAA0B,CAAC,EAAU;QACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,oCAAoC,CAAC,EAAU;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO;YACH,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,gCAAgC;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,aAAa,EAAE,KAAK,CAAC,aAAa;SACrC,CAAC;IACN,CAAC;IAED,oBAAoB,CAAC,EAAU;QAC3B,MAAM,SAAS,GAA+B,EAAE,CAAC;QAEjD,8CAA8C;QAC9C,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBAClB,SAAS,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,gCAAgC;oBAChC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;oBAC5C,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;oBAC9C,aAAa,EAAE,KAAK,CAAC,aAAa;iBACrC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,8BAA8B;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,EAAU,EAAE,cAAuB;QACvE,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,wCAAwC,CAAC,EAAU,EAAE,cAAuB;QAC9E,MAAM,IAAI,CAAC,iCAAiC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,EAAU,EAAE,eAAuB;QACrE,yDAAyD;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CACvD,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5D,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,oEAAoE;YACpE,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,cAAuB;QAC5D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,qBAAY,CAAC,UAAU,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,EAAE,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,EAAU,EAAE,eAAuB;QACvE,yDAAyD;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CACvD,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;YAE1C,+BAA+B;YAC/B,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,EAAU;QAClD,8CAA8C;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAErD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,mBAAmB;QAC/B,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,eAAe,KAAK,aAAa,CAAC,eAAe,CACrE,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACrC,+BAA+B;gBAC/B,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC,SAAS,CAAC,CAAC;gBAC/B,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EAAU,EAAE,eAAuB;QAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CACvD,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAChB,8CAA8C;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAErD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,mBAAmB;YAC/B,CAAC;YAED,gCAAgC;YAChC,MAAM,mBAAmB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,CAAC;YAC5F,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,OAAO,CAAC,iCAAiC;YAC7C,CAAC;YAED,0DAA0D;YAC1D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;oBAC/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC1E,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,eAAe,CACjE,CAAC;oBACF,IAAI,gBAAgB,EAAE,CAAC;wBACnB,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;wBAE7C,+BAA+B;wBAC/B,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC,SAAS,CAAC,CAAC;wBAC/B,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;4BACrC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACvC,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,EAAU,EAAE,eAAuB;QAC/E,yDAAyD;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CACvD,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,aAAa,CAAC,SAAS,CAAC;QACnC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,EAAU,EAAE,eAAuB;QACxE,yDAAyD;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CACvD,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,4BAA4B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,cAAc,GAAG,EAAE;QAC7C,kEAAkE;QAClE,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9E,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAClC,CAAC;QAEF,IAAI,oBAAoB,EAAE,CAAC;YACvB,2CAA2C;YAC3C,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5D,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,sCAAsC;YACtC,oEAAoE;YACpE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAElD,4DAA4D;YAC5D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,qBAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;YAC5F,CAAC;YAED,kCAAkC;YAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACpE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,EAAU;QACtC,wDAAwD;QACxD,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9E,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAClC,CAAC;QAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACxB,OAAO,CAAC,kCAAkC;QAC9C,CAAC;QAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC;QAEjD,+BAA+B;QAC/B,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sCAAsC,CAAC,EAAU,EAAE,cAAuB;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,GAAQ;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,+BAA+B,CAAC,UAAmB;QAC/C,iCAAiC;QACjC,IAAI,UAAU,YAAY,UAAG,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;QAC7D,qFAAqF;QACrF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,UAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjE,CAAC;QACD,mFAAmF;QACnF,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjE,MAAM,IAAI,CAAC,6BAA6B,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QACzE,mCAAmC;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,6BAA6B,CACzC,YAAiB,EACjB,UAA+C;QAE/C,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,IAAA,cAAI,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,+BAAsB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC/E,OAAO,CAAC,KAAK,CAAC,4CAA4C,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACrF,OAAO;YACX,CAAC;YAED,MAAM,UAAU,GAAG,GAA+B,CAAC;YAEnD,oDAAoD;YACpD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,uCAAuC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,wBAAwB;QAC1B,MAAM,SAAS,GAAoC,EAAE,CAAC;QACtD,mCAAmC;QACnC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACpE,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/D,oDAAoD;QACpD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,UAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxD,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,GAAQ;QAC9B,MAAM,OAAO,GAAG,IAAA,cAAI,EAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,qBAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,qBAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,qBAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5D,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACJ,CAAA;AAh/BY,8FAAyC;AAE/B;IADlB,IAAA,kBAAM,EAAC,kCAAkB,CAAC;;qFAC+B;AAGvC;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;8EACwB;AAG/B;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;8EAAC;AAGzB;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;;gFAC0B;AAiCtC;IADT,IAAA,yBAAa,GAAE;;;;qEAQf;oDAnDQ,yCAAyC;IADrD,IAAA,sBAAU,GAAE;GACA,yCAAyC,CAg/BrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=frontend-prompt-customization-service.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend-prompt-customization-service.spec.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-prompt-customization-service.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const chai_1 = require("chai");
19
+ const prompttemplate_parser_1 = require("./prompttemplate-parser");
20
+ describe('Prompt Template Parser', () => {
21
+ describe('YAML Front Matter Parsing', () => {
22
+ it('extracts YAML front matter correctly', () => {
23
+ var _a, _b, _c, _d, _e;
24
+ const fileContent = `---
25
+ isCommand: true
26
+ commandName: hello
27
+ commandDescription: Say hello
28
+ commandArgumentHint: <name>
29
+ commandAgents:
30
+ - Universal
31
+ - Agent2
32
+ ---
33
+ Template content here`;
34
+ const result = (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
35
+ (0, chai_1.expect)(result.template).to.equal('Template content here');
36
+ (0, chai_1.expect)(result.metadata).to.not.be.undefined;
37
+ (0, chai_1.expect)((_a = result.metadata) === null || _a === void 0 ? void 0 : _a.isCommand).to.be.true;
38
+ (0, chai_1.expect)((_b = result.metadata) === null || _b === void 0 ? void 0 : _b.commandName).to.equal('hello');
39
+ (0, chai_1.expect)((_c = result.metadata) === null || _c === void 0 ? void 0 : _c.commandDescription).to.equal('Say hello');
40
+ (0, chai_1.expect)((_d = result.metadata) === null || _d === void 0 ? void 0 : _d.commandArgumentHint).to.equal('<name>');
41
+ (0, chai_1.expect)((_e = result.metadata) === null || _e === void 0 ? void 0 : _e.commandAgents).to.deep.equal(['Universal', 'Agent2']);
42
+ });
43
+ it('returns template without front matter when none exists', () => {
44
+ const fileContent = 'Just a regular template';
45
+ const result = (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
46
+ (0, chai_1.expect)(result.template).to.equal('Just a regular template');
47
+ (0, chai_1.expect)(result.metadata).to.be.undefined;
48
+ });
49
+ it('handles missing front matter gracefully', () => {
50
+ const fileContent = `---
51
+ This is not valid YAML front matter
52
+ Template content`;
53
+ const result = (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
54
+ // Should return content as-is when front matter is invalid
55
+ (0, chai_1.expect)(result.template).to.equal(fileContent);
56
+ });
57
+ it('handles invalid YAML gracefully', () => {
58
+ const fileContent = `---
59
+ isCommand: true
60
+ commandName: [unclosed array
61
+ ---
62
+ Template content`;
63
+ const result = (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
64
+ // Should return template without metadata on parse error
65
+ (0, chai_1.expect)(result.template).to.equal(fileContent);
66
+ (0, chai_1.expect)(result.metadata).to.be.undefined;
67
+ });
68
+ it('validates command metadata types', () => {
69
+ var _a, _b, _c, _d, _e;
70
+ const fileContent = `---
71
+ isCommand: "true"
72
+ commandName: 123
73
+ commandDescription: valid
74
+ commandArgumentHint: <arg>
75
+ commandAgents: "not-an-array"
76
+ ---
77
+ Template`;
78
+ const result = (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
79
+ (0, chai_1.expect)(result.template).to.equal('Template');
80
+ (0, chai_1.expect)((_a = result.metadata) === null || _a === void 0 ? void 0 : _a.isCommand).to.be.undefined; // Wrong type
81
+ (0, chai_1.expect)((_b = result.metadata) === null || _b === void 0 ? void 0 : _b.commandName).to.be.undefined; // Wrong type
82
+ (0, chai_1.expect)((_c = result.metadata) === null || _c === void 0 ? void 0 : _c.commandDescription).to.equal('valid');
83
+ (0, chai_1.expect)((_d = result.metadata) === null || _d === void 0 ? void 0 : _d.commandArgumentHint).to.equal('<arg>');
84
+ (0, chai_1.expect)((_e = result.metadata) === null || _e === void 0 ? void 0 : _e.commandAgents).to.be.undefined; // Wrong type
85
+ });
86
+ it('filters commandAgents to strings only', () => {
87
+ var _a;
88
+ const fileContent = `---
89
+ commandAgents:
90
+ - ValidAgent
91
+ - 123
92
+ - AnotherValid
93
+ - true
94
+ - LastValid
95
+ ---
96
+ Template`;
97
+ const result = (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
98
+ (0, chai_1.expect)((_a = result.metadata) === null || _a === void 0 ? void 0 : _a.commandAgents).to.deep.equal(['ValidAgent', 'AnotherValid', 'LastValid']);
99
+ });
100
+ it('handles partial metadata fields', () => {
101
+ var _a, _b, _c, _d, _e;
102
+ const fileContent = `---
103
+ isCommand: true
104
+ commandName: test
105
+ ---
106
+ Template content`;
107
+ const result = (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
108
+ (0, chai_1.expect)(result.template).to.equal('Template content');
109
+ (0, chai_1.expect)((_a = result.metadata) === null || _a === void 0 ? void 0 : _a.isCommand).to.be.true;
110
+ (0, chai_1.expect)((_b = result.metadata) === null || _b === void 0 ? void 0 : _b.commandName).to.equal('test');
111
+ (0, chai_1.expect)((_c = result.metadata) === null || _c === void 0 ? void 0 : _c.commandDescription).to.be.undefined;
112
+ (0, chai_1.expect)((_d = result.metadata) === null || _d === void 0 ? void 0 : _d.commandArgumentHint).to.be.undefined;
113
+ (0, chai_1.expect)((_e = result.metadata) === null || _e === void 0 ? void 0 : _e.commandAgents).to.be.undefined;
114
+ });
115
+ it('preserves template content with special characters', () => {
116
+ var _a;
117
+ const fileContent = `---
118
+ isCommand: true
119
+ ---
120
+ Template with $ARGUMENTS and {{variable}} and ~{function}`;
121
+ const result = (0, prompttemplate_parser_1.parseTemplateWithMetadata)(fileContent);
122
+ (0, chai_1.expect)(result.template).to.equal('Template with $ARGUMENTS and {{variable}} and ~{function}');
123
+ (0, chai_1.expect)((_a = result.metadata) === null || _a === void 0 ? void 0 : _a.isCommand).to.be.true;
124
+ });
125
+ });
126
+ });
127
+ //# sourceMappingURL=frontend-prompt-customization-service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend-prompt-customization-service.spec.js","sourceRoot":"","sources":["../../src/browser/frontend-prompt-customization-service.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,mEAAoF;AAEpF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAEpC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;;YAC5C,MAAM,WAAW,GAAG;;;;;;;;;sBASV,CAAC;YAEX,MAAM,MAAM,GAAmB,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;YAEtE,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC1D,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;YAC5C,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC9C,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClE,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAC9D,MAAM,WAAW,GAAG,yBAAyB,CAAC;YAE9C,MAAM,MAAM,GAAmB,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;YAEtE,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5D,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,MAAM,WAAW,GAAG;;iBAEf,CAAC;YAEN,MAAM,MAAM,GAAmB,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;YAEtE,2DAA2D;YAC3D,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACvC,MAAM,WAAW,GAAG;;;;iBAIf,CAAC;YAEN,MAAM,MAAM,GAAmB,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;YAEtE,yDAAyD;YACzD,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;;YACxC,MAAM,WAAW,GAAG;;;;;;;SAOvB,CAAC;YAEE,MAAM,MAAM,GAAmB,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;YAEtE,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa;YACjE,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa;YACnE,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;;YAC7C,MAAM,WAAW,GAAG;;;;;;;;SAQvB,CAAC;YAEE,MAAM,MAAM,GAAmB,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;YAEtE,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;;YACvC,MAAM,WAAW,GAAG;;;;iBAIf,CAAC;YAEN,MAAM,MAAM,GAAmB,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;YAEtE,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACrD,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC9C,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtD,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YAC5D,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YAC7D,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;;YAC1D,MAAM,WAAW,GAAG;;;0DAG0B,CAAC;YAE/C,MAAM,MAAM,GAAmB,IAAA,iDAAyB,EAAC,WAAW,CAAC,CAAC;YAEtE,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC9F,IAAA,aAAM,EAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { CommandPromptFragmentMetadata } from '../common';
2
+ /**
3
+ * Result of parsing a template file that may contain YAML front matter
4
+ */
5
+ export interface ParsedTemplate {
6
+ /** The template content (without front matter) */
7
+ template: string;
8
+ /** Parsed metadata from YAML front matter, if present */
9
+ metadata?: CommandPromptFragmentMetadata;
10
+ }
11
+ /**
12
+ * Type guard to check if an object is valid TemplateMetadata
13
+ */
14
+ export declare function isTemplateMetadata(obj: unknown): obj is CommandPromptFragmentMetadata;
15
+ /**
16
+ * Parses a template file that may contain YAML front matter.
17
+ *
18
+ * Front matter format:
19
+ * ```
20
+ * ---
21
+ * isCommand: true
22
+ * commandName: mycommand
23
+ * commandDescription: My command description
24
+ * commandArgumentHint: <arg1> <arg2>
25
+ * commandAgents:
26
+ * - Agent1
27
+ * - Agent2
28
+ * ---
29
+ * Template content here
30
+ * ```
31
+ *
32
+ * @param fileContent The raw file content to parse
33
+ * @returns ParsedTemplate containing the template content and optional metadata
34
+ */
35
+ export declare function parseTemplateWithMetadata(fileContent: string): ParsedTemplate;
36
+ //# sourceMappingURL=prompttemplate-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompttemplate-parser.d.ts","sourceRoot":"","sources":["../../src/browser/prompttemplate-parser.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,6BAA6B,CAarF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CA0C7E"}