@memberjunction/ai-agents 2.67.0 → 2.69.0

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 CHANGED
@@ -48,6 +48,8 @@ Advanced payload access control for hierarchical agent execution:
48
48
  - Supports JSON path patterns with wildcards
49
49
  - Detects suspicious changes with configurable rules
50
50
  - Generates human-readable diffs for audit trails
51
+ - **NEW**: PayloadScope support for narrowing sub-agent data access
52
+ - **NEW**: Path transformation for scoped payload merging
51
53
 
52
54
  ## Installation
53
55
 
@@ -135,6 +137,60 @@ export class MyCustomAgentType extends BaseAgentType {
135
137
  }
136
138
  ```
137
139
 
140
+ ### Handling JSON Validation Syntax in Agent Responses
141
+
142
+ When AI prompts use validation syntax (like `?`, `*`, `:type`, etc.), the AI might inadvertently include these in its JSON response keys. Agent types that parse embedded JSON need to handle this cleaning:
143
+
144
+ ```typescript
145
+ import { JSONValidator } from '@memberjunction/global';
146
+
147
+ @RegisterClass(BaseAgentType, "StructuredResponseAgent")
148
+ export class StructuredResponseAgent extends BaseAgentType {
149
+ async DetermineNextStep(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep> {
150
+ // For responses with embedded JSON strings
151
+ const outerResponse = promptResult.result as any;
152
+
153
+ // If the response contains an embedded JSON string
154
+ if (outerResponse.response && typeof outerResponse.response === 'string') {
155
+ // Parse the embedded JSON
156
+ const innerData = JSON.parse(outerResponse.response);
157
+
158
+ // Clean validation syntax that AI might have included
159
+ const validator = new JSONValidator();
160
+ const cleanedData = validator.cleanValidationSyntax<any>(innerData);
161
+
162
+ // Now work with cleaned data
163
+ if (cleanedData.analysisComplete) {
164
+ return { type: 'stop', reason: 'Analysis completed' };
165
+ }
166
+ }
167
+
168
+ return { type: 'continue' };
169
+ }
170
+ }
171
+ ```
172
+
173
+ **Important Notes:**
174
+ - The AIPromptRunner automatically cleans validation syntax for top-level JSON objects when an OutputExample is defined
175
+ - However, agent types must handle cleaning for **embedded JSON strings** within the response
176
+ - This is common when the prompt response structure contains a JSON string as a field value
177
+ - The `cleanValidationSyntax` method preserves values while removing validation syntax from keys
178
+
179
+ Example scenario:
180
+ ```typescript
181
+ // AI Prompt response (top-level is cleaned automatically)
182
+ {
183
+ "status": "success",
184
+ "response": "{\"analysisComplete?\":true,\"recommendations:[3+]\":[\"A\",\"B\",\"C\"]}"
185
+ }
186
+
187
+ // After agent type cleans the embedded JSON
188
+ {
189
+ "analysisComplete": true,
190
+ "recommendations": ["A", "B", "C"]
191
+ }
192
+ ```
193
+
138
194
  ## Execution Flow
139
195
 
140
196
  1. **Initialization**:
@@ -161,6 +217,99 @@ export class MyCustomAgentType extends BaseAgentType {
161
217
 
162
218
  ## Advanced Features
163
219
 
220
+ ### Payload Scoping for Sub-Agents
221
+
222
+ The framework now supports narrowing the payload that sub-agents work with through the `PayloadScope` field:
223
+
224
+ ```typescript
225
+ // Configure an agent to work with a specific part of the payload
226
+ const subAgent = {
227
+ Name: 'RequirementsAnalyzer',
228
+ PayloadScope: '/functionalRequirements', // Only sees this part of parent payload
229
+ PayloadSelfWritePaths: ['analysis', 'recommendations'] // Paths within the scope
230
+ };
231
+
232
+ // When parent payload is:
233
+ {
234
+ "functionalRequirements": {
235
+ "features": ["A", "B", "C"],
236
+ "constraints": {...}
237
+ },
238
+ "technicalSpecs": {...},
239
+ "timeline": {...}
240
+ }
241
+
242
+ // Sub-agent only sees:
243
+ {
244
+ "features": ["A", "B", "C"],
245
+ "constraints": {...}
246
+ }
247
+
248
+ // Sub-agent changes are merged back under the scope path
249
+ ```
250
+
251
+ Benefits:
252
+ - **Reduced token usage**: Sub-agents only see relevant data
253
+ - **Improved focus**: Agents work with their specific domain
254
+ - **Automatic merging**: Changes are properly placed back in parent payload
255
+ - **Error handling**: Critical failures if scope path doesn't exist
256
+
257
+ ### Final Payload Validation
258
+
259
+ Agents can now validate their final output before marking execution as successful:
260
+
261
+ ```typescript
262
+ // Configure validation in AIAgent entity
263
+ {
264
+ FinalPayloadValidation: JSON.stringify({
265
+ "analysis": {
266
+ "summary": "string:!empty",
267
+ "score": "number:[0-100]",
268
+ "recommendations": "array:[3+]"
269
+ },
270
+ "metadata": {
271
+ "processedAt": "string",
272
+ "version": "string?" // Optional field
273
+ }
274
+ }),
275
+ FinalPayloadValidationMode: "Retry", // or "Fail" or "Warn"
276
+ FinalPayloadValidationMaxRetries: 3
277
+ }
278
+ ```
279
+
280
+ Validation features:
281
+ - **JSON schema validation**: Using JSONValidator from @memberjunction/global
282
+ - **Multiple modes**:
283
+ - `Retry`: Re-execute with validation feedback (up to max retries)
284
+ - `Fail`: Immediately fail the run
285
+ - `Warn`: Log warning but allow success
286
+ - **Retry tracking**: Prevents infinite validation loops
287
+ - **Step-level logging**: Validation results stored in AIAgentRunStep
288
+
289
+ ### Execution Guardrails
290
+
291
+ New fields provide comprehensive limits to prevent runaway agent execution:
292
+
293
+ ```typescript
294
+ // Configure guardrails in AIAgent entity
295
+ {
296
+ MaxCostPerRun: 10.00, // $10 maximum
297
+ MaxTokensPerRun: 100000, // 100k tokens total
298
+ MaxIterationsPerRun: 50, // 50 prompt iterations
299
+ MaxTimePerRun: 300 // 5 minutes
300
+ }
301
+
302
+ // The framework monitors these in real-time and terminates if exceeded
303
+ // Termination reason is logged in AIAgentRun.ErrorMessage
304
+ ```
305
+
306
+ Guardrail features:
307
+ - **Cost tracking**: Monitors cumulative API costs
308
+ - **Token counting**: Tracks input + output tokens
309
+ - **Iteration limits**: Counts each prompt execution
310
+ - **Time limits**: Enforces maximum execution duration
311
+ - **Graceful termination**: Saves state before stopping
312
+
164
313
  ### Run Chaining
165
314
 
166
315
  The framework supports linking multiple agent runs together to maintain context across interactions:
@@ -306,15 +455,26 @@ Key entities used by the agent framework:
306
455
  - **AIAgent**: Configured agent instances
307
456
  - `PayloadDownstreamPaths`: JSON array of paths sub-agents can read
308
457
  - `PayloadUpstreamPaths`: JSON array of paths sub-agents can write
458
+ - **NEW** `PayloadScope`: Path to narrow payload for sub-agents (e.g., "/functionalRequirements")
459
+ - **NEW** `FinalPayloadValidation`: JSON validation schema for success validation
460
+ - **NEW** `FinalPayloadValidationMode`: How to handle validation failures (Retry/Fail/Warn)
461
+ - **NEW** `FinalPayloadValidationMaxRetries`: Maximum retry attempts for validation (default: 3)
462
+ - **NEW** `MaxCostPerRun`: Cost limit per agent run
463
+ - **NEW** `MaxTokensPerRun`: Token limit per agent run
464
+ - **NEW** `MaxIterationsPerRun`: Iteration limit per agent run
465
+ - **NEW** `MaxTimePerRun`: Time limit in seconds per agent run
309
466
  - **AIPrompt**: Reusable prompt templates with placeholders
310
467
  - **AIAgentPrompt**: Links agents to prompts with execution order
311
468
  - **AIAgentRun**: Tracks complete agent executions
312
469
  - `LastRunID`: Links to previous run in a chain (for run chaining)
313
470
  - `StartingPayload`: Initial payload for the run
471
+ - **NEW** `TotalPromptIterations`: Count of prompt executions in the run
314
472
  - **AIAgentRunStep**: Records individual steps within runs
315
473
  - `PayloadAtStart`: JSON snapshot of payload before step
316
474
  - `PayloadAtEnd`: JSON snapshot of payload after step
317
475
  - `OutputData`: Includes `payloadChangeResult` with analysis
476
+ - **NEW** `FinalPayloadValidationResult`: Validation outcome (Pass/Retry/Fail/Warn)
477
+ - **NEW** `FinalPayloadValidationMessages`: Validation error messages
318
478
  - **AIAgentRunStepAction**: Details of actions executed
319
479
  - **AIAgentRunStepPrompt**: Prompt execution details
320
480
 
@@ -329,6 +489,10 @@ Key entities used by the agent framework:
329
489
  7. **Error Handling**: Implement robust error handling in custom agent types
330
490
  8. **Payload Security**: Use path-based access control for sub-agents
331
491
  9. **Change Monitoring**: Review payload change warnings in OutputData
492
+ 10. **Payload Scoping**: Use PayloadScope to reduce token usage for sub-agents
493
+ 11. **Validation Schemas**: Define FinalPayloadValidation for output quality control
494
+ 12. **Set Guardrails**: Configure cost/token/time limits to prevent runaway execution
495
+ 13. **Monitor Retries**: Track validation retry counts to avoid infinite loops
332
496
 
333
497
  ## Examples
334
498
 
@@ -48,5 +48,9 @@ export declare class PayloadManager {
48
48
  blocked: number;
49
49
  };
50
50
  private countBlockedChanges;
51
+ applyPayloadScope(payload: any, scopePath: string): any;
52
+ reversePayloadScope(scopedPayload: any, scopePath: string): any;
53
+ transformChangeRequestPaths<P = any>(changeRequest: AgentPayloadChangeRequest<P>, scopePath: string): AgentPayloadChangeRequest<P>;
54
+ private isLeafValue;
51
55
  }
52
56
  //# sourceMappingURL=PayloadManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadManager.d.ts","sourceRoot":"","sources":["../src/PayloadManager.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAc,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAyB,qBAAqB,EAAkB,MAAM,yBAAyB,CAAC;AAWvG,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG;IAEzC,MAAM,EAAE,CAAC,CAAC;IAEV,OAAO,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAEjC,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,SAAS,EAAE,IAAI,CAAC;CACnB;AAgBD,qBAAa,cAAc;IAgBhB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,GAAG;IAuChG,oBAAoB,CACvB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,GAAG,EAClB,eAAe,EAAE,GAAG,EACpB,aAAa,EAAE,MAAM,EAAE,GACxB,GAAG;IA2BN,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,WAAW;IAqDnB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAmGzB,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,aAAa;IAsDrB,OAAO,CAAC,yBAAyB;IAmDjC,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,SAAS;IA6BV,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAClC,eAAe,EAAE,CAAC,EAClB,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAC3C,OAAO,CAAC,EAAE;QACN,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,GACF,oBAAoB,CAAC,CAAC,CAAC;IAsD1B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,mBAAmB;IAoE3B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,gBAAgB;IA6FxB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;IAmBlB,0BAA0B,CAAC,CAAC,GAAG,GAAG,EACrC,aAAa,EAAE,CAAC,EAChB,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAC3C,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,GACrB,oBAAoB,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IA6BhD,OAAO,CAAC,mBAAmB;CAO9B"}
1
+ {"version":3,"file":"PayloadManager.d.ts","sourceRoot":"","sources":["../src/PayloadManager.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAc,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAyB,qBAAqB,EAAkB,MAAM,yBAAyB,CAAC;AAWvG,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG;IAEzC,MAAM,EAAE,CAAC,CAAC;IAEV,OAAO,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAEjC,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,SAAS,EAAE,IAAI,CAAC;CACnB;AAgBD,qBAAa,cAAc;IAgBhB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,GAAG;IAuChG,oBAAoB,CACvB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,GAAG,EAClB,eAAe,EAAE,GAAG,EACpB,aAAa,EAAE,MAAM,EAAE,GACxB,GAAG;IA2BN,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,WAAW;IAqDnB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAmGzB,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,aAAa;IAsDrB,OAAO,CAAC,yBAAyB;IAmDjC,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,SAAS;IA6BV,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAClC,eAAe,EAAE,CAAC,EAClB,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAC3C,OAAO,CAAC,EAAE;QACN,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,GACF,oBAAoB,CAAC,CAAC,CAAC;IAsD1B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,mBAAmB;IAoE3B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,gBAAgB;IA6FxB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;IAmBlB,0BAA0B,CAAC,CAAC,GAAG,GAAG,EACrC,aAAa,EAAE,CAAC,EAChB,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAC3C,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,GACrB,oBAAoB,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IA6BhD,OAAO,CAAC,mBAAmB;IAsBpB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;IAqCvD,mBAAmB,CAAC,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;IAgC/D,2BAA2B,CAAC,CAAC,GAAG,GAAG,EACtC,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAC3C,SAAS,EAAE,MAAM,GAClB,yBAAyB,CAAC,CAAC,CAAC;IAwC/B,OAAO,CAAC,WAAW;CAmBtB"}
@@ -584,6 +584,79 @@ class PayloadManager {
584
584
  const actualStr = JSON.stringify(actual);
585
585
  return intendedStr === actualStr ? 0 : 1;
586
586
  }
587
+ applyPayloadScope(payload, scopePath) {
588
+ if (!payload || !scopePath)
589
+ return payload;
590
+ const pathParts = scopePath.startsWith('/')
591
+ ? scopePath.slice(1).split('/')
592
+ : scopePath.split('/');
593
+ let current = payload;
594
+ for (const part of pathParts) {
595
+ if (current && typeof current === 'object' && part in current) {
596
+ current = current[part];
597
+ }
598
+ else {
599
+ return null;
600
+ }
601
+ }
602
+ return _.cloneDeep(current);
603
+ }
604
+ reversePayloadScope(scopedPayload, scopePath) {
605
+ if (!scopePath)
606
+ return scopedPayload;
607
+ const pathParts = scopePath.startsWith('/')
608
+ ? scopePath.slice(1).split('/')
609
+ : scopePath.split('/');
610
+ let result = _.cloneDeep(scopedPayload);
611
+ for (let i = pathParts.length - 1; i >= 0; i--) {
612
+ result = { [pathParts[i]]: result };
613
+ }
614
+ return result;
615
+ }
616
+ transformChangeRequestPaths(changeRequest, scopePath) {
617
+ if (!scopePath)
618
+ return changeRequest;
619
+ const pathPrefix = scopePath.startsWith('/')
620
+ ? scopePath.slice(1).replace(/\//g, '.')
621
+ : scopePath.replace(/\//g, '.');
622
+ const transformObject = (obj, prefix) => {
623
+ if (!obj || typeof obj !== 'object')
624
+ return obj;
625
+ const result = {};
626
+ for (const [key, value] of Object.entries(obj)) {
627
+ const newKey = prefix ? `${prefix}.${key}` : key;
628
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
629
+ if (this.isLeafValue(value)) {
630
+ result[newKey] = value;
631
+ }
632
+ else {
633
+ Object.assign(result, transformObject(value, newKey));
634
+ }
635
+ }
636
+ else {
637
+ result[newKey] = value;
638
+ }
639
+ }
640
+ return result;
641
+ };
642
+ return {
643
+ newElements: transformObject(changeRequest.newElements, pathPrefix),
644
+ updateElements: transformObject(changeRequest.updateElements, pathPrefix),
645
+ removeElements: transformObject(changeRequest.removeElements, pathPrefix),
646
+ reasoning: changeRequest.reasoning
647
+ };
648
+ }
649
+ isLeafValue(value) {
650
+ if (!value || typeof value !== 'object')
651
+ return true;
652
+ const keys = Object.keys(value);
653
+ if (keys.some(k => ['id', 'name', 'value', 'data', 'type'].includes(k.toLowerCase()))) {
654
+ return true;
655
+ }
656
+ return Object.values(value).every(v => v === null ||
657
+ v === undefined ||
658
+ typeof v !== 'object');
659
+ }
587
660
  }
588
661
  exports.PayloadManager = PayloadManager;
589
662
  //# sourceMappingURL=PayloadManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadManager.js","sourceRoot":"","sources":["../src/PayloadManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PayloadManager.js","sourceRoot":"","sources":["../src/PayloadManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,+CAA2D;AAE3D,mDAAoE;AACpE,0CAA4B;AAC5B,mEAAuG;AACvG,mEAKoC;AAwCpC,MAAa,cAAc;IAgBhB,wBAAwB,CAAC,YAAoB,EAAE,WAAgB,EAAE,eAAyB;QAC7F,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAGhE,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAA,eAAQ,EAAC,mCAAmC,WAAW,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAmBM,oBAAoB,CACvB,YAAoB,EACpB,aAAkB,EAClB,eAAoB,EACpB,aAAuB;QAEvB,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QACpD,IAAI,CAAC,eAAe;YAAE,OAAO,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAA,gBAAS,EAAC,0EAA0E,CAAC,CAAC;YACtF,OAAO,aAAa,CAAC;QACzB,CAAC;QAGD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QAGhD,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACnD,CAAC;QAGD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;IAClB,CAAC;IAOO,kBAAkB,CAAC,MAAW,EAAE,WAAmB,EAAE,WAAgB;QAEzE,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QAGD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAOO,WAAW,CACf,MAAW,EACX,SAAmB,EACnB,WAAgB,EAChB,WAAqB;QAErB,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9C,MAAM,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,GAAG,SAAS,CAAC;QAGnD,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACvB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7B,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC;wBACtC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAE9B,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC1D,CAAC;6BAAM,CAAC;4BAEJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;wBACxE,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO;QACX,CAAC;QAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACrF,OAAO;QACX,CAAC;QAGD,IAAI,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC;YAC9C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAE9B,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBAEJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;QACL,CAAC;IACL,CAAC;IAOO,gBAAgB,CACpB,MAAW,EACX,SAAiB,EACjB,cAAwB,EACxB,WAAgB,EAChB,WAAqB;QAErB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO;QAExC,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,YAAY,CAAC,CAAC;QAE/C,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAEpB,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACJ,MAAM,QAAQ,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;aAAM,CAAC;YAEJ,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC5D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACtG,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAOO,mBAAmB,CAAC,MAAW,EAAE,WAAmB,EAAE,WAAgB;QAC1E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;YAAE,OAAO;QAElD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEhC,MAAM,gBAAgB,GAAG,CAAC,GAAQ,EAAE,OAAiB,EAAE,EAAQ,EAAE;YAC7D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO;YAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACxB,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBACpB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1B,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;4BACzB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9D,CAAC;wBACD,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC/C,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAOO,iBAAiB,CACrB,MAAW,EACX,eAAoB,EACpB,aAAuB,EACvB,YAAoB;QAGpB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAGxD,MAAM,mBAAmB,GAMpB,EAAE,CAAC;QAGR,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAGhD,MAAM,SAAS,GAAqB,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YAGnF,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhG,IAAI,kBAAkB,EAAE,CAAC;gBACrB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBAEJ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC;oBAE3C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;oBAEpE,mBAAmB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,aAAa;wBACnB,EAAE,EAAE,aAAa;wBACjB,SAAS,EAAE,SAAS;wBACpB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,SAAS,eAAe,CAAC,CAAC,CAAC,kBAAkB;qBACtF,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAGD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAGzD,IAAI,WAAW,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAE3D,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAE5F,IAAI,eAAe,EAAE,CAAC;oBAElB,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACJ,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;oBACpE,mBAAmB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,WAAW;wBACjB,EAAE,EAAE,SAAS;wBACb,SAAS,EAAE,QAAQ;wBACnB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,kBAAkB;qBAChF,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAGD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;YAC1E,IAAI,cAAc,GAAG,oBAAoB,YAAY,eAAe,mBAAmB,CAAC,MAAM,0BAA0B,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAEvK,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/D,cAAc,IAAI,UAAU,QAAQ,KAAK,CAAC;gBAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC1C,cAAc,IAAI,UAAU,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,MAAM,OAAO,MAAM,KAAK,KAAK,MAAM,CAAC,MAAM,KAAK,CAAC;gBAChH,CAAC;YACL,CAAC;YAED,cAAc,IAAI,6BAA6B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5E,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAOO,wBAAwB,CAAC,OAAuF;QACpH,MAAM,OAAO,GAAmG,EAAE,CAAC;QAEnH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAE3B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YAEzD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAC/B,CAAC;YAED,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAOO,WAAW,CAAC,KAAU;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC;QAC5C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3E,OAAO,IAAI,OAAO,GAAG,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAElC,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAOO,WAAW,CAAC,GAAQ,EAAE,cAAwB,EAAE;QACpD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAOO,aAAa,CAAC,UAAkB,EAAE,eAAyB;QAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAE/D,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YAEpC,MAAM,aAAa,GAAG,IAAA,4CAAuB,EAAC,OAAO,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC;YAEvC,IAAI,WAAW,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAErC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAE7B,MAAM,KAAK,GAAG,WAAW;qBACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;qBACrB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;qBACtB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7B,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;oBAChD,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;iBAAM,CAAC;gBAGJ,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAEnD,MAAM,KAAK,GAAG,IAAI,WAAW,WAAW,CAAC;oBACzC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBACzC,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;qBAAM,CAAC;oBAEJ,MAAM,KAAK,GAAG,WAAW;yBACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;yBACrB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;yBACvB,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;oBAClD,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBAChD,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAUO,yBAAyB,CAC7B,UAAkB,EAClB,SAA2B,EAC3B,eAAyB;QAEzB,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,IAAA,6CAAwB,EAAC,eAAe,CAAC,CAAC;QAEjE,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC;YACvC,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;gBACtB,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEpC,MAAM,KAAK,GAAG,WAAW;qBACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;qBACrB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;qBACtB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7B,WAAW,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBAEJ,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACnD,MAAM,KAAK,GAAG,IAAI,WAAW,WAAW,CAAC;oBACzC,WAAW,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,GAAG,WAAW;yBACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;yBACrB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;yBACvB,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;oBAClD,WAAW,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;YAGD,IAAI,WAAW,IAAI,IAAA,uCAAkB,EAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAOO,cAAc,CAAC,IAAY;QAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,IAAI,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,SAAS,GAAG,KAAK,CAAC;gBAClB,OAAO,IAAI,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpC,IAAI,OAAO,EAAE,CAAC;oBACV,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpB,OAAO,GAAG,EAAE,CAAC;gBACjB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,IAAI,CAAC;YACpB,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAOO,SAAS,CAAC,WAAgB,EAAE,MAAW;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAExC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAE3G,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBAEJ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAUM,uBAAuB,CAC1B,eAAkB,EAClB,aAA2C,EAC3C,OAOC;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAO,CAAC;QACvD,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAG1D,IAAI,CAAC,oBAAoB,CACrB,MAAM,EACN,eAAe,EACf,aAAa,EACb,EAAE,EACF,MAAM,EACN,QAAQ,EACR,OAAO,EAAE,YAAY,CACxB,CAAC;QAGF,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC;QAGD,IAAI,QAA2C,CAAC;QAChD,IAAI,OAAO,EAAE,cAAc,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,6CAAqB,EAAE,CAAC;YAC7C,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YAGjF,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;QAGD,IAAI,IAAgC,CAAC;QACrC,IAAI,OAAO,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,mBAAU,EAAE,CAAC;YAChC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACH,MAAM;YACN,OAAO,EAAE,MAAM;YACf,QAAQ;YACR,QAAQ;YACR,IAAI;YACJ,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,KAAK;YACrD,SAAS,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC;IACN,CAAC;IAKO,oBAAoB,CACxB,MAAW,EACX,QAAa,EACb,aAA6C,EAC7C,IAAc,EACd,MAAkE,EAClE,QAAkB,EAClB,YAAuB;QAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrG,CAAC;IACL,CAAC;IAKO,mBAAmB,CACvB,MAAa,EACb,QAAe,EACf,aAA6C,EAC7C,IAAc,EACd,MAAkE,EAClE,QAAkB,EAClB,YAAuB;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAG/B,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC;QAC1G,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC;QAC1G,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC;QAGjG,MAAM,cAAc,GAAU,EAAE,CAAC;QAGjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC/C,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YAGD,IAAI,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAEnE,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBACzC,IAAI,CAAC,oBAAoB,CACrB,YAAY,EACZ,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAClC,aAAa,EACb,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EACvB,MAAM,EACN,QAAQ,EACR,YAAY,CACf,CAAC;YACN,CAAC;YAED,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM,CAAC,SAAS,EAAE,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QAGD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IACnC,CAAC;IAMO,oBAAoB,CACxB,MAAW,EACX,QAAa,EACb,aAA6C,EAC7C,IAAc,EACd,MAAkE,EAClE,QAAkB,EAClB,YAAuB;QAGvB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAG3D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CACjB,MAAM,EACN,QAAQ,EACR,aAAa,EACb,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EACd,GAAG,EACH,MAAM,EACN,QAAQ,EACR,YAAY,CACf,CAAC;QACN,CAAC;QAGD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClF,IAAI,CAAC,oBAAoB,CACrB,MAAM,CAAC,GAAG,CAAC,EACX,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EACpC,aAAa,EACb,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EACd,MAAM,EACN,QAAQ,EACR,YAAY,CACf,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAKO,gBAAgB,CACpB,MAAW,EACX,QAAa,EACb,aAA6C,EAC7C,OAAiB,EACjB,GAAW,EACX,MAAkE,EAClE,QAAkB,EAClB,YAAuB;QAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAGlC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAE7B,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;gBACnF,QAAQ,CAAC,IAAI,CAAC,oCAAoC,OAAO,oCAAoC,CAAC,CAAC;gBAC/F,OAAO;YACX,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAGD,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;YAE7C,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;gBAChF,QAAQ,CAAC,IAAI,CAAC,iCAAiC,OAAO,iCAAiC,CAAC,CAAC;gBACzF,OAAO;YACX,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAGD,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAGjE,MAAM,oBAAoB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACtD,SAAS,CAAC;QAEtC,IAAI,oBAAoB,KAAK,SAAS,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;YAEtD,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;gBACnF,QAAQ,CAAC,IAAI,CAAC,oCAAoC,OAAO,oCAAoC,CAAC,CAAC;gBAC/F,OAAO;YACX,CAAC;YAGD,IAAI,OAAO,oBAAoB,KAAK,QAAQ,IAAI,oBAAoB,KAAK,IAAI;gBACzE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI;gBACvD,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAEtE,IAAI,CAAC,oBAAoB,CACrB,MAAM,CAAC,GAAG,CAAC,EACX,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EACpC,aAAa,EACb,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,CACf,CAAC;YACN,CAAC;iBAAM,CAAC;gBAEJ,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC;gBACnC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;YAGD,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,GAAG,6DAA6D,CAAC,CAAC;YACxG,CAAC;QACL,CAAC;aAAM,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;YAGvD,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;gBAChF,QAAQ,CAAC,IAAI,CAAC,iCAAiC,OAAO,iCAAiC,CAAC,CAAC;gBACzF,OAAO;YACX,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;YAC1B,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,GAAG,iEAAiE,CAAC,CAAC;QAC5G,CAAC;IACL,CAAC;IAKO,aAAa,CAAC,aAA6C,EAAE,IAAc;QAC/E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAE,EAAE;YACnC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC;QACxG,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC;QACxG,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC;QAE/F,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAKO,kBAAkB,CAAC,KAAU;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAMO,iBAAiB,CACrB,MAAkE,EAClE,SAA6B,EAC7B,SAA6B;QAE7B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAA,gBAAS,EACL,0BAA0B,KAAK,IAAI;YACnC,IAAI,MAAM,CAAC,SAAS,gBAAgB,MAAM,CAAC,OAAO,cAAc,MAAM,CAAC,SAAS,aAAa,MAAM,EAAE,CACxG,CAAC;IACN,CAAC;IAQM,0BAA0B,CAC7B,aAAgB,EAChB,aAA2C,EAC3C,aAAuB,EACvB,YAAoB;QAGpB,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAC7C,aAAa,EACb,aAAa,EACb,EAAE,eAAe,EAAE,IAAI,EAAE,CAC5B,CAAC;QAGF,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAC5C,YAAY,EACZ,aAAa,EACb,YAAY,CAAC,MAAM,EACnB,aAAa,CAChB,CAAC;QAGF,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE7F,OAAO;YACH,GAAG,YAAY;YACf,MAAM,EAAE,cAAc;YACtB,OAAO;SACV,CAAC;IACN,CAAC;IAKO,mBAAmB,CAAC,SAAc,EAAE,QAAa,EAAE,MAAW;QAGlE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAgBM,iBAAiB,CAAC,OAAY,EAAE,SAAiB;QACpD,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC;QAG3C,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YACvC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAG3B,IAAI,OAAO,GAAG,OAAO,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC5D,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBAEJ,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAGD,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAgBM,mBAAmB,CAAC,aAAkB,EAAE,SAAiB;QAC5D,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC;QAGrC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YACvC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAG3B,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAiBM,2BAA2B,CAC9B,aAA2C,EAC3C,SAAiB;QAEjB,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC;QAGrC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEpC,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,MAAc,EAAO,EAAE;YACtD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;YAEhD,MAAM,MAAM,GAAQ,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAEvE,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBAEJ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC1D,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBAC3B,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO;YACH,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC;YACnE,cAAc,EAAE,eAAe,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC;YACzE,cAAc,EAAE,eAAe,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC;YACzE,SAAS,EAAE,aAAa,CAAC,SAAS;SACrC,CAAC;IACN,CAAC;IAKO,WAAW,CAAC,KAAU;QAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAIrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAGhC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC;QAChB,CAAC;QAGD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,KAAK,IAAI;YACV,CAAC,KAAK,SAAS;YACf,OAAO,CAAC,KAAK,QAAQ,CACxB,CAAC;IACN,CAAC;CACJ;AA3lCD,wCA2lCC"}
@@ -1,7 +1,7 @@
1
1
  import { AIPromptParams, AIPromptRunResult, BaseAgentNextStep } from '@memberjunction/ai-core-plus';
2
2
  import { AIAgentTypeEntity } from '@memberjunction/core-entities';
3
3
  export declare abstract class BaseAgentType {
4
- abstract DetermineNextStep<P = any>(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep<P>>;
4
+ abstract DetermineNextStep<P = any>(promptResult: AIPromptRunResult, currentPayload: P): Promise<BaseAgentNextStep<P>>;
5
5
  abstract InjectPayload<P = any>(payload: P, prompt: AIPromptParams): Promise<void>;
6
6
  static GetAgentTypeInstance(agentType: AIAgentTypeEntity): Promise<BaseAgentType>;
7
7
  protected static getAgentTypeInstance(agentType: AIAgentTypeEntity): Promise<BaseAgentType | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"base-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAsClE,8BAAsB,aAAa;aA4Bf,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAc1F,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;WAoBrE,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;qBA4BvE,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;qBAsBjF,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAc7G"}
1
+ {"version":3,"file":"base-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAsClE,8BAAsB,aAAa;aA4Bf,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAc7G,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;WAoBrE,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;qBA4BvE,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;qBAsBjF,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAc7G"}
@@ -1,6 +1,6 @@
1
1
  import { AgentPayloadChangeRequest } from "@memberjunction/ai-core-plus";
2
2
  export interface LoopAgentResponse<P = any> {
3
- taskComplete: boolean;
3
+ taskComplete?: boolean;
4
4
  message?: string;
5
5
  payloadChangeRequest?: AgentPayloadChangeRequest<P>;
6
6
  reasoning?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"loop-agent-response-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-response-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAYzE,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IAMtC,YAAY,EAAE,OAAO,CAAC;IAgBtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAOpD,SAAS,CAAC,EAAE,MAAM,CAAC;IAQnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAOpB,QAAQ,CAAC,EAAE;QAOP,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;QAOvC,OAAO,CAAC,EAAE,KAAK,CAAC;YAKZ,IAAI,EAAE,MAAM,CAAC;YAOb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC,CAAC,CAAC;QAOH,QAAQ,CAAC,EAAE;YAKP,IAAI,EAAE,MAAM,CAAC;YAgBb,OAAO,EAAE,MAAM,CAAC;YAShB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAOzC,cAAc,EAAE,OAAO,CAAC;SAC3B,CAAC;KACL,CAAC;CACL"}
1
+ {"version":3,"file":"loop-agent-response-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-response-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAYzE,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IAMtC,YAAY,CAAC,EAAE,OAAO,CAAC;IAgBvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAOpD,SAAS,CAAC,EAAE,MAAM,CAAC;IAQnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAOpB,QAAQ,CAAC,EAAE;QAOP,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;QAOvC,OAAO,CAAC,EAAE,KAAK,CAAC;YAKZ,IAAI,EAAE,MAAM,CAAC;YAOb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC,CAAC,CAAC;QAOH,QAAQ,CAAC,EAAE;YAKP,IAAI,EAAE,MAAM,CAAC;YAgBb,OAAO,EAAE,MAAM,CAAC;YAShB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAOzC,cAAc,EAAE,OAAO,CAAC;SAC3B,CAAC;KACL,CAAC;CACL"}
@@ -1,8 +1,12 @@
1
1
  import { BaseAgentType } from './base-agent-type';
2
2
  import { AIPromptRunResult, BaseAgentNextStep, AIPromptParams } from '@memberjunction/ai-core-plus';
3
3
  export declare class LoopAgentType extends BaseAgentType {
4
+ private _jsonValidator;
4
5
  DetermineNextStep<P>(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep<P>>;
5
- private isValidLoopResponse;
6
+ protected isValidLoopResponse(simpleResponse: any): {
7
+ success: boolean;
8
+ message?: string;
9
+ };
6
10
  static CURRENT_PAYLOAD_PLACHOLDER: string;
7
11
  InjectPayload<T = any>(payload: T, prompt: AIPromptParams): Promise<void>;
8
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loop-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAsCpG,qBACa,aAAc,SAAQ,aAAa;IAa/B,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAoIjG,OAAO,CAAC,mBAAmB;IAgG3B,OAAc,0BAA0B,SAAsB;IAQjD,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAQzF;AAKD,wBAAgB,iBAAiB,SAEhC"}
1
+ {"version":3,"file":"loop-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAsCpG,qBACa,aAAc,SAAQ,aAAa;IAC5C,OAAO,CAAC,cAAc,CAAsC;IAc/C,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IA+IjG,SAAS,CAAC,mBAAmB,CAAC,cAAc,EAAE,GAAG,GAAG;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC;IA4FxF,OAAc,0BAA0B,SAAsB;IAQjD,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAQzF;AAKD,wBAAgB,iBAAiB,SAEhC"}
@@ -12,6 +12,10 @@ const global_1 = require("@memberjunction/global");
12
12
  const base_agent_type_1 = require("./base-agent-type");
13
13
  const core_1 = require("@memberjunction/core");
14
14
  let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_type_1.BaseAgentType {
15
+ constructor() {
16
+ super(...arguments);
17
+ this._jsonValidator = new global_1.JSONValidator();
18
+ }
15
19
  async DetermineNextStep(promptResult) {
16
20
  try {
17
21
  if (!promptResult.success || !promptResult.result) {
@@ -29,19 +33,24 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
29
33
  else {
30
34
  response = promptResult.result;
31
35
  }
36
+ response = this._jsonValidator.cleanValidationSyntax(response);
37
+ if ((0, core_1.IsVerboseLoggingEnabled)()) {
38
+ console.log('LoopAgentType: Cleaned response from validation syntax', response);
39
+ }
32
40
  }
33
41
  catch (parseError) {
34
42
  return {
35
43
  terminate: false,
36
- step: 'Failed',
44
+ step: 'Retry',
37
45
  errorMessage: `Failed to parse JSON response: ${parseError.message}`
38
46
  };
39
47
  }
40
- if (!this.isValidLoopResponse(response)) {
48
+ const validationResult = this.isValidLoopResponse(response);
49
+ if (!validationResult.success) {
41
50
  return {
42
51
  terminate: false,
43
- step: 'Failed',
44
- errorMessage: 'Invalid response structure from loop agent prompt'
52
+ step: 'Retry',
53
+ errorMessage: validationResult.message
45
54
  };
46
55
  }
47
56
  if (response.taskComplete) {
@@ -61,7 +70,7 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
61
70
  if (!response.nextStep) {
62
71
  return {
63
72
  terminate: false,
64
- step: 'Failed',
73
+ step: 'Retry',
65
74
  errorMessage: 'Task not complete but no next step provided'
66
75
  };
67
76
  }
@@ -102,7 +111,7 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
102
111
  break;
103
112
  case 'Chat':
104
113
  if (!response.message) {
105
- retVal.step = 'Failed';
114
+ retVal.step = 'Retry';
106
115
  retVal.errorMessage = 'Chat type specified but no user message provided';
107
116
  }
108
117
  else {
@@ -112,7 +121,7 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
112
121
  }
113
122
  break;
114
123
  default:
115
- retVal.step = 'Failed';
124
+ retVal.step = 'Retry';
116
125
  retVal.errorMessage = `Unknown next step type: ${response.nextStep.type}`;
117
126
  break;
118
127
  }
@@ -122,7 +131,7 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
122
131
  (0, core_1.LogError)(`Error in LoopAgentType.DetermineNextStep: ${error.message}`);
123
132
  return {
124
133
  terminate: false,
125
- step: 'Failed',
134
+ step: 'Retry',
126
135
  errorMessage: `Failed to parse loop agent response: ${error.message}`
127
136
  };
128
137
  }
@@ -130,11 +139,14 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
130
139
  isValidLoopResponse(simpleResponse) {
131
140
  const response = simpleResponse;
132
141
  if (typeof response !== 'object' || response === null) {
133
- return false;
142
+ return { success: false, message: 'Invalid response format' };
143
+ }
144
+ if (!response.taskComplete) {
145
+ response.taskComplete = false;
134
146
  }
135
147
  if (typeof response.taskComplete !== 'boolean') {
136
148
  (0, core_1.LogError)('LoopAgentResponse missing required field: taskComplete');
137
- return false;
149
+ return { success: false, message: 'Missing required field: taskComplete' };
138
150
  }
139
151
  if (!response.taskComplete && !response.nextStep) {
140
152
  if (response.message?.trim().length > 0 || response.reasoning?.trim().length > 0) {
@@ -147,35 +159,47 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
147
159
  }
148
160
  else {
149
161
  (0, core_1.LogError)('LoopAgentResponse requires nextStep when taskComplete is false');
150
- return false;
162
+ return { success: false, message: 'Missing nextStep is a required field when taskComplete is false' };
151
163
  }
152
164
  }
153
165
  if (response.nextStep) {
154
166
  const validStepTypes = ['actions', 'sub-agent', 'chat'];
155
- const lcaseType = response.nextStep.type?.toLowerCase().trim();
167
+ let lcaseType = response.nextStep.type?.toLowerCase().trim();
168
+ if (!lcaseType && response.nextStep.subAgent) {
169
+ response.nextStep.type = 'Sub-Agent';
170
+ lcaseType = 'sub-agent';
171
+ }
172
+ else if (!lcaseType && response.nextStep.actions && response.nextStep.actions.length > 0) {
173
+ response.nextStep.type = 'Actions';
174
+ lcaseType = 'actions';
175
+ }
156
176
  if (!validStepTypes.includes(lcaseType)) {
157
- (0, core_1.LogError)(`LoopAgentResponse has invalid nextStep.type: ${response.nextStep.type}`);
158
- return false;
177
+ const message = `LoopAgentResponse has invalid nextStep.type: ${response.nextStep.type}`;
178
+ (0, core_1.LogError)(message);
179
+ return { success: false, message };
159
180
  }
160
181
  if (lcaseType === 'actions' && !response.nextStep.actions) {
161
- (0, core_1.LogError)('LoopAgentResponse requires actions array for action type');
162
- return false;
182
+ const message = 'LoopAgentResponse requires actions array for action type';
183
+ (0, core_1.LogError)(message);
184
+ return { success: false, message };
163
185
  }
164
186
  if (lcaseType === 'sub-agent' && !response.nextStep.subAgent) {
165
- (0, core_1.LogError)('LoopAgentResponse requires subAgent object for sub-agent type');
166
- return false;
187
+ const message = 'LoopAgentResponse requires subAgent object for sub-agent type';
188
+ (0, core_1.LogError)(message);
189
+ return { success: false, message };
167
190
  }
168
191
  if (lcaseType === 'chat' && !response.message) {
169
192
  if (!response.reasoning || response.reasoning.trim().length === 0) {
170
- (0, core_1.LogError)('LoopAgentResponse requires message for chat type');
171
- return false;
193
+ const message = 'LoopAgentResponse requires message for chat type';
194
+ (0, core_1.LogError)(message);
195
+ return { success: false, message };
172
196
  }
173
197
  else {
174
198
  response.message = response.reasoning;
175
199
  }
176
200
  }
177
201
  }
178
- return true;
202
+ return { success: true };
179
203
  }
180
204
  async InjectPayload(payload, prompt) {
181
205
  if (!prompt)