@memberjunction/ai-prompts 4.4.0 → 5.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionPlanner.js","sourceRoot":"","sources":["../src/ExecutionPlanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutionPlanner.js","sourceRoot":"","sources":["../src/ExecutionPlanner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AIPromptModelEntity } from "@memberjunction/core-entities";
1
+ import { MJAIPromptModelEntity } from "@memberjunction/core-entities";
2
2
  import { AIPromptEntityExtended, AIModelEntityExtended, AIPromptRunEntityExtended } from '@memberjunction/ai-core-plus';
3
3
  import { UserInfo } from '@memberjunction/core';
4
4
  import { ValidationResult } from '@memberjunction/global';
@@ -15,7 +15,7 @@ export interface ExecutionTask {
15
15
  /** The specific model to use for this execution */
16
16
  model: AIModelEntityExtended;
17
17
  /** Optional prompt-model configuration with execution parameters */
18
- promptModel?: AIPromptModelEntity;
18
+ promptModel?: MJAIPromptModelEntity;
19
19
  /** Execution group number for coordinated parallel processing */
20
20
  executionGroup: number;
21
21
  /** Priority within the execution group (higher = execute first) */
@@ -1 +1 @@
1
- {"version":3,"file":"ParallelExecution.d.ts","sourceRoot":"","sources":["../src/ParallelExecution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParallelExecution.d.ts","sourceRoot":"","sources":["../src/ParallelExecution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACxH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAErF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,MAAM,EAAE,sBAAsB,CAAC;IAE/B,mDAAmD;IACnD,KAAK,EAAE,qBAAqB,CAAC;IAE7B,oEAAoE;IACpE,WAAW,CAAC,EAAE,qBAAqB,CAAC;IAEpC,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAC;IAEvB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IAEjB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IAEvB,sDAAsD;IACtD,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1C,kEAAkE;IAClE,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC;IAErC,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAEjD,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAE1J,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAExF,qDAAqD;IACrD,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAE1C,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,IAAI,EAAE,aAAa,CAAC;IAEpB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IAEjB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,kDAAkD;IAClD,SAAS,CAAC,EAAE,yBAAyB,CAAC;IAEtC,4DAA4D;IAC5D,eAAe,EAAE,MAAM,CAAC;IAExB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC,kDAAkD;IAClD,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,8BAA8B;IAC9B,SAAS,EAAE,IAAI,CAAC;IAEhB,4BAA4B;IAC5B,OAAO,EAAE,IAAI,CAAC;IAEd,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mDAAmD;IACnD,aAAa,CAAC,EAAE;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,gBAAgB,GAAG,SAAS,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAEjF,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,KAAK,EAAE,aAAa,EAAE,CAAC;IAEvB,iDAAiD;IACjD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAAC,QAAQ,EAAE;IACzD,0CAA0C;IAC1C,KAAK,EAAE,UAAU,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,WAAW,CAAC;IACzE,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,KAAK,IAAI,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,uBAAuB,EAAE,MAAM,CAAC;IAEhC,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IAEtB,sDAAsD;IACtD,QAAQ,EAAE,OAAO,CAAC;IAElB,6DAA6D;IAC7D,qBAAqB,EAAE,OAAO,CAAC;IAE/B,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IAEnB,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IAErB,gEAAgE;IAChE,UAAU,CAAC,EAAE,iCAAiC,CAAC;IAE/C,wDAAwD;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,OAAO,EAAE,OAAO,CAAC;IAEjB,kCAAkC;IAClC,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAEnC,yCAAyC;IACzC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAEjD,uEAAuE;IACvE,oBAAoB,EAAE,MAAM,CAAC;IAE7B,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IAErB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IAErB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IAEvB,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,uCAAuC;IACvC,SAAS,EAAE,IAAI,CAAC;IAEhB,qCAAqC;IACrC,OAAO,EAAE,IAAI,CAAC;IAEd,6DAA6D;IAC7D,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAErC,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAE/E,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE;QAClB,2CAA2C;QAC3C,eAAe,EAAE,MAAM,CAAC;QACxB,sCAAsC;QACtC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,0CAA0C;QAC1C,wBAAwB,EAAE,MAAM,CAAC;QACjC,6CAA6C;QAC7C,wBAAwB,EAAE,OAAO,CAAC;KACnC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;AAE/F;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,QAAQ,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAExF;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,MAAM,EAAE,qBAAqB,CAAC;IAE9B,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,8BAA8B;IAC9B,KAAK,EAAE,cAAc,CAAC;IAEtB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,SAAS,EAAE,IAAI,CAAC;IAEhB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,OAAO,CAAC,EAAE;QACR,mCAAmC;QACnC,aAAa,EAAE,MAAM,CAAC;QAEtB,+BAA+B;QAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;QAE9B,uBAAuB;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,wBAAwB;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IAEvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IAEnB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;IAExB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IAEvB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IAErB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,wDAAwD;IACxD,eAAe,EAAE,gBAAgB,CAAC;IAElC,yCAAyC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,mCAAmC;IACnC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAEzD;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAEnE;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAEhG;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IAEjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,0BAA0B,CAAC;IAEvC,mEAAmE;IACnE,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,gEAAgE;IAChE,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Unit tests for AIPromptRunner Failover Bug Fix (Phase 1).
3
+ *
4
+ * These tests verify that the critical failover bug is fixed:
5
+ * - Network errors trigger failover to alternate models
6
+ * - Rate limit errors trigger failover after retries exhausted
7
+ * - Successful results don't trigger unnecessary failover
8
+ * - All candidates exhausted returns last error correctly
9
+ *
10
+ * Background: The bug was that executeModelWithFailover() returned failed results
11
+ * without checking result.success, only catching thrown exceptions. Provider drivers
12
+ * (GeminiLLM, OpenAILLM, etc.) return ChatResult{success: false} instead of throwing,
13
+ * so failover never triggered for network failures, rate limits, etc.
14
+ *
15
+ * To run these tests:
16
+ * npm test # Run all tests
17
+ * npm run test:watch # Watch mode
18
+ * npm run test:coverage # With coverage
19
+ *
20
+ * @since 3.3.0 (Phase 1 failover bug fix)
21
+ */
22
+ export {};
23
+ //# sourceMappingURL=AIPromptRunner.failover.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIPromptRunner.failover.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/AIPromptRunner.failover.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
@@ -0,0 +1,471 @@
1
+ /**
2
+ * Unit tests for AIPromptRunner Failover Bug Fix (Phase 1).
3
+ *
4
+ * These tests verify that the critical failover bug is fixed:
5
+ * - Network errors trigger failover to alternate models
6
+ * - Rate limit errors trigger failover after retries exhausted
7
+ * - Successful results don't trigger unnecessary failover
8
+ * - All candidates exhausted returns last error correctly
9
+ *
10
+ * Background: The bug was that executeModelWithFailover() returned failed results
11
+ * without checking result.success, only catching thrown exceptions. Provider drivers
12
+ * (GeminiLLM, OpenAILLM, etc.) return ChatResult{success: false} instead of throwing,
13
+ * so failover never triggered for network failures, rate limits, etc.
14
+ *
15
+ * To run these tests:
16
+ * npm test # Run all tests
17
+ * npm run test:watch # Watch mode
18
+ * npm run test:coverage # With coverage
19
+ *
20
+ * @since 3.3.0 (Phase 1 failover bug fix)
21
+ */
22
+ // ============================================================================
23
+ // Test Helper Functions
24
+ // ============================================================================
25
+ /**
26
+ * Simulates the processFailoverError logic for testing purposes.
27
+ * Returns decision object indicating what the failover loop should do.
28
+ */
29
+ function simulateProcessFailoverError(error, errorInfo, candidate, attemptIndex, allCandidates, failoverAttempts, failoverConfig) {
30
+ let updatedCandidates = [...allCandidates];
31
+ // Record the failover attempt
32
+ const failoverAttempt = {
33
+ attemptNumber: attemptIndex + 1,
34
+ modelId: candidate.modelId,
35
+ vendorId: candidate.vendorId,
36
+ error,
37
+ errorType: errorInfo.errorType,
38
+ duration: 0,
39
+ timestamp: new Date()
40
+ };
41
+ failoverAttempts.push(failoverAttempt);
42
+ // Vendor-level errors: filter out all candidates from this vendor
43
+ if (errorInfo.errorType === 'Authentication' || errorInfo.errorType === 'VendorValidationError') {
44
+ const beforeFilter = updatedCandidates.length;
45
+ updatedCandidates = updatedCandidates.filter(c => c.vendorId !== candidate.vendorId);
46
+ const afterFilter = updatedCandidates.length;
47
+ // Adjust attemptIndex if candidates were removed before current position
48
+ if (afterFilter < beforeFilter && attemptIndex < allCandidates.length) {
49
+ // Don't adjust - the main loop will handle the updated candidates list
50
+ }
51
+ }
52
+ // Check if there are NO MORE candidates left to try AFTER filtering
53
+ // After filtering vendor candidates, we may have removed the current one,
54
+ // so check if there are any candidates remaining
55
+ const hasMoreCandidates = updatedCandidates.length > 0 &&
56
+ (attemptIndex < updatedCandidates.length - 1 ||
57
+ updatedCandidates[attemptIndex]?.vendorId !== candidate.vendorId);
58
+ const isLastCandidate = !hasMoreCandidates;
59
+ // Fatal errors: stop immediately ONLY if canFailover is false
60
+ // (canFailover=true means we can try other vendors even for Fatal severity errors like Auth)
61
+ if (errorInfo.severity === 'Fatal' && !errorInfo.canFailover) {
62
+ return { shouldRetry: false, shouldContinue: false, updatedCandidates };
63
+ }
64
+ // Check errorScope filter if configured
65
+ if (failoverConfig.errorScope && failoverConfig.errorScope !== 'All') {
66
+ const matchesScope = errorMatchesScope(errorInfo.errorType, failoverConfig.errorScope);
67
+ if (!matchesScope) {
68
+ return { shouldRetry: false, shouldContinue: false, updatedCandidates };
69
+ }
70
+ }
71
+ // Rate limit errors: for testing, assume handleRateLimitRetry returns false (retries exhausted)
72
+ // In reality, this would check MaxRetries configuration and retry attempt count
73
+ if (errorInfo.errorType === 'RateLimit') {
74
+ const shouldRetry = false; // Simplified: assume retries exhausted
75
+ if (shouldRetry) {
76
+ return { shouldRetry: true, shouldContinue: false, updatedCandidates };
77
+ }
78
+ }
79
+ // If this is the last candidate, we're done
80
+ if (isLastCandidate) {
81
+ return { shouldRetry: false, shouldContinue: false, updatedCandidates };
82
+ }
83
+ // Continue to next candidate
84
+ return { shouldRetry: false, shouldContinue: true, updatedCandidates };
85
+ }
86
+ /**
87
+ * Checks if error type matches the configured error scope
88
+ */
89
+ function errorMatchesScope(errorType, errorScope) {
90
+ if (errorScope === 'All')
91
+ return true;
92
+ switch (errorScope) {
93
+ case 'NetworkOnly':
94
+ return errorType === 'NetworkError';
95
+ case 'RateLimitOnly':
96
+ return errorType === 'RateLimit';
97
+ case 'ServiceErrorOnly':
98
+ return errorType === 'ServiceUnavailable' || errorType === 'InternalServerError';
99
+ default:
100
+ return false;
101
+ }
102
+ }
103
+ /**
104
+ * Simulates executeModelWithFailover with the Phase 1 fix applied.
105
+ * This is a simplified version that tests the core failover logic.
106
+ */
107
+ function simulateExecuteModelWithFailover(candidates, executeModelFn, failoverConfig) {
108
+ return new Promise(async (resolve, reject) => {
109
+ let allCandidates = [...candidates];
110
+ const failoverAttempts = [];
111
+ let lastError = null;
112
+ let candidateIndex = 0;
113
+ while (candidateIndex < allCandidates.length) {
114
+ const candidate = allCandidates[candidateIndex];
115
+ try {
116
+ // Execute the model with this candidate
117
+ const result = await executeModelFn(candidate);
118
+ // PHASE 1 FIX: Check if result failed but is retriable
119
+ if (!result.success && result.errorInfo?.canFailover) {
120
+ lastError = result.exception || new Error(result.errorMessage || 'Model execution failed');
121
+ // Use shared failover error handling logic
122
+ const decision = simulateProcessFailoverError(lastError, result.errorInfo, candidate, candidateIndex, allCandidates, failoverAttempts, failoverConfig);
123
+ // Update candidates list (may have been filtered)
124
+ const candidatesRemoved = allCandidates.length - decision.updatedCandidates.length;
125
+ allCandidates = decision.updatedCandidates;
126
+ if (decision.shouldRetry) {
127
+ // Retry same model/vendor - don't increment index
128
+ continue;
129
+ }
130
+ if (decision.shouldContinue) {
131
+ // Try next candidate - but if candidates were removed, the "next" candidate
132
+ // may already be at the current index
133
+ if (candidatesRemoved > 0) {
134
+ // Check if current candidate is still in the list
135
+ const stillExists = allCandidates[candidateIndex]?.modelId === candidate.modelId;
136
+ if (!stillExists) {
137
+ // Current candidate was removed, stay at same index
138
+ continue;
139
+ }
140
+ }
141
+ // Move to next candidate
142
+ candidateIndex++;
143
+ continue;
144
+ }
145
+ // Otherwise break (fatal error or last candidate)
146
+ break;
147
+ }
148
+ // If we reach here, the result was successful
149
+ resolve(result);
150
+ return;
151
+ }
152
+ catch (error) {
153
+ lastError = error;
154
+ // Create error info for thrown exception
155
+ const errorInfo = {
156
+ error: lastError,
157
+ errorType: 'NetworkError',
158
+ severity: 'Retriable',
159
+ canFailover: true
160
+ };
161
+ // Use shared failover error handling logic
162
+ const decision = simulateProcessFailoverError(lastError, errorInfo, candidate, candidateIndex, allCandidates, failoverAttempts, failoverConfig);
163
+ // Update candidates list (may have been filtered)
164
+ const candidatesRemoved = allCandidates.length - decision.updatedCandidates.length;
165
+ allCandidates = decision.updatedCandidates;
166
+ if (decision.shouldRetry) {
167
+ // Retry same model/vendor - don't increment index
168
+ continue;
169
+ }
170
+ if (decision.shouldContinue) {
171
+ // Try next candidate - but if candidates were removed, the "next" candidate
172
+ // may already be at the current index
173
+ if (candidatesRemoved > 0) {
174
+ // Check if current candidate is still in the list
175
+ const stillExists = allCandidates[candidateIndex]?.modelId === candidate.modelId;
176
+ if (!stillExists) {
177
+ // Current candidate was removed, stay at same index
178
+ continue;
179
+ }
180
+ }
181
+ // Move to next candidate
182
+ candidateIndex++;
183
+ continue;
184
+ }
185
+ // Otherwise break (fatal error or last candidate)
186
+ break;
187
+ }
188
+ }
189
+ // All candidates exhausted, return final error
190
+ const finalError = lastError || new Error('All failover attempts exhausted');
191
+ resolve({
192
+ success: false,
193
+ errorMessage: `All ${candidates.length} failover attempts failed. Last error: ${finalError.message}`,
194
+ exception: finalError,
195
+ errorInfo: {
196
+ error: finalError,
197
+ errorType: 'Unknown',
198
+ severity: 'Fatal',
199
+ canFailover: false
200
+ }
201
+ });
202
+ });
203
+ }
204
+ // ============================================================================
205
+ // Tests for Phase 1 Failover Bug Fix
206
+ // ============================================================================
207
+ describe('AIPromptRunner Failover Bug Fix (Phase 1)', () => {
208
+ it('should trigger failover when network error occurs', async () => {
209
+ const candidates = [
210
+ { modelId: 'model-1', modelName: 'Gemini 3 Flash', vendorId: 'vendor-google', vendorName: 'Google', priority: 1 },
211
+ { modelId: 'model-2', modelName: 'GPT-4o', vendorId: 'vendor-openai', vendorName: 'OpenAI', priority: 2 }
212
+ ];
213
+ let attemptCount = 0;
214
+ const executeModelFn = async (candidate) => {
215
+ attemptCount++;
216
+ if (candidate.modelId === 'model-1') {
217
+ // First model fails with network error
218
+ return {
219
+ success: false,
220
+ errorMessage: 'TypeError: fetch failed',
221
+ exception: new Error('TypeError: fetch failed'),
222
+ errorInfo: {
223
+ error: new Error('TypeError: fetch failed'),
224
+ errorType: 'NetworkError',
225
+ severity: 'Retriable',
226
+ canFailover: true
227
+ }
228
+ };
229
+ }
230
+ else {
231
+ // Second model succeeds
232
+ return {
233
+ success: true,
234
+ data: 'Success with fallback model'
235
+ };
236
+ }
237
+ };
238
+ const failoverConfig = {
239
+ strategy: 'priority',
240
+ maxAttempts: 2
241
+ };
242
+ const result = await simulateExecuteModelWithFailover(candidates, executeModelFn, failoverConfig);
243
+ expect(attemptCount).toBe(2);
244
+ expect(result.success).toBe(true);
245
+ expect(result.data).toBe('Success with fallback model');
246
+ });
247
+ it('should trigger failover when rate limit error occurs', async () => {
248
+ const candidates = [
249
+ { modelId: 'model-1', modelName: 'GPT-4', vendorId: 'vendor-openai', vendorName: 'OpenAI', priority: 1 },
250
+ { modelId: 'model-2', modelName: 'Claude Opus', vendorId: 'vendor-anthropic', vendorName: 'Anthropic', priority: 2 }
251
+ ];
252
+ let attemptCount = 0;
253
+ const executeModelFn = async (candidate) => {
254
+ attemptCount++;
255
+ if (candidate.modelId === 'model-1') {
256
+ // First model hits rate limit
257
+ return {
258
+ success: false,
259
+ errorMessage: 'Rate limit exceeded',
260
+ exception: new Error('Rate limit exceeded'),
261
+ errorInfo: {
262
+ error: new Error('Rate limit exceeded'),
263
+ httpStatusCode: 429,
264
+ errorType: 'RateLimit',
265
+ severity: 'Retriable',
266
+ canFailover: true,
267
+ suggestedRetryDelaySeconds: 30
268
+ }
269
+ };
270
+ }
271
+ else {
272
+ // Second model succeeds
273
+ return {
274
+ success: true,
275
+ data: 'Success with alternate provider'
276
+ };
277
+ }
278
+ };
279
+ const failoverConfig = {
280
+ strategy: 'priority',
281
+ maxAttempts: 2
282
+ };
283
+ const result = await simulateExecuteModelWithFailover(candidates, executeModelFn, failoverConfig);
284
+ expect(attemptCount).toBe(2);
285
+ expect(result.success).toBe(true);
286
+ expect(result.data).toBe('Success with alternate provider');
287
+ });
288
+ it('should not trigger failover when result is successful', async () => {
289
+ const candidates = [
290
+ { modelId: 'model-1', modelName: 'Gemini 3 Flash', vendorId: 'vendor-google', vendorName: 'Google', priority: 1 },
291
+ { modelId: 'model-2', modelName: 'GPT-4o', vendorId: 'vendor-openai', vendorName: 'OpenAI', priority: 2 }
292
+ ];
293
+ let attemptCount = 0;
294
+ const executeModelFn = async (candidate) => {
295
+ attemptCount++;
296
+ // First model succeeds
297
+ return {
298
+ success: true,
299
+ data: `Success with ${candidate.modelName}`
300
+ };
301
+ };
302
+ const failoverConfig = {
303
+ strategy: 'priority',
304
+ maxAttempts: 2
305
+ };
306
+ const result = await simulateExecuteModelWithFailover(candidates, executeModelFn, failoverConfig);
307
+ expect(attemptCount).toBe(1);
308
+ expect(result.success).toBe(true);
309
+ expect(result.data).toBe('Success with Gemini 3 Flash');
310
+ });
311
+ it('should return last error when all candidates are exhausted', async () => {
312
+ const candidates = [
313
+ { modelId: 'model-1', modelName: 'Gemini 3 Flash', vendorId: 'vendor-google', vendorName: 'Google', priority: 1 },
314
+ { modelId: 'model-2', modelName: 'GPT-4o', vendorId: 'vendor-openai', vendorName: 'OpenAI', priority: 2 },
315
+ { modelId: 'model-3', modelName: 'Claude Opus', vendorId: 'vendor-anthropic', vendorName: 'Anthropic', priority: 3 }
316
+ ];
317
+ let attemptCount = 0;
318
+ const executeModelFn = async (candidate) => {
319
+ attemptCount++;
320
+ // All models fail with network errors
321
+ return {
322
+ success: false,
323
+ errorMessage: `Network failure for ${candidate.modelName}`,
324
+ exception: new Error(`Network failure for ${candidate.modelName}`),
325
+ errorInfo: {
326
+ error: new Error(`Network failure for ${candidate.modelName}`),
327
+ errorType: 'NetworkError',
328
+ severity: 'Retriable',
329
+ canFailover: true
330
+ }
331
+ };
332
+ };
333
+ const failoverConfig = {
334
+ strategy: 'priority',
335
+ maxAttempts: 3
336
+ };
337
+ const result = await simulateExecuteModelWithFailover(candidates, executeModelFn, failoverConfig);
338
+ expect(attemptCount).toBe(3);
339
+ expect(result.success).toBe(false);
340
+ expect(result.errorMessage).toContain('All 3 failover attempts failed');
341
+ expect(result.errorMessage).toContain('Claude Opus');
342
+ });
343
+ it('should trigger failover when service unavailable error occurs', async () => {
344
+ const candidates = [
345
+ { modelId: 'model-1', modelName: 'Gemini Pro', vendorId: 'vendor-google', vendorName: 'Google', priority: 1 },
346
+ { modelId: 'model-2', modelName: 'GPT-4', vendorId: 'vendor-openai', vendorName: 'OpenAI', priority: 2 }
347
+ ];
348
+ let attemptCount = 0;
349
+ const executeModelFn = async (candidate) => {
350
+ attemptCount++;
351
+ if (candidate.modelId === 'model-1') {
352
+ // First model returns 503 Service Unavailable
353
+ return {
354
+ success: false,
355
+ statusText: 'Service Unavailable',
356
+ errorMessage: 'Service temporarily unavailable',
357
+ exception: new Error('Service temporarily unavailable'),
358
+ errorInfo: {
359
+ error: new Error('Service temporarily unavailable'),
360
+ httpStatusCode: 503,
361
+ errorType: 'ServiceUnavailable',
362
+ severity: 'Retriable',
363
+ canFailover: true
364
+ }
365
+ };
366
+ }
367
+ else {
368
+ // Second model succeeds
369
+ return {
370
+ success: true,
371
+ data: 'Success after service unavailable'
372
+ };
373
+ }
374
+ };
375
+ const failoverConfig = {
376
+ strategy: 'priority',
377
+ maxAttempts: 2
378
+ };
379
+ const result = await simulateExecuteModelWithFailover(candidates, executeModelFn, failoverConfig);
380
+ expect(attemptCount).toBe(2);
381
+ expect(result.success).toBe(true);
382
+ expect(result.data).toBe('Success after service unavailable');
383
+ });
384
+ it('should filter all vendor candidates when vendor-level error occurs', async () => {
385
+ const candidates = [
386
+ { modelId: 'model-1', modelName: 'GPT-4', vendorId: 'vendor-openai', vendorName: 'OpenAI', priority: 1 },
387
+ { modelId: 'model-2', modelName: 'GPT-4o', vendorId: 'vendor-openai', vendorName: 'OpenAI', priority: 2 },
388
+ { modelId: 'model-3', modelName: 'Claude Opus', vendorId: 'vendor-anthropic', vendorName: 'Anthropic', priority: 3 }
389
+ ];
390
+ let attemptCount = 0;
391
+ const attemptedModels = [];
392
+ const executeModelFn = async (candidate) => {
393
+ attemptCount++;
394
+ attemptedModels.push(candidate.modelName);
395
+ if (candidate.vendorId === 'vendor-openai') {
396
+ // OpenAI models fail with authentication error (vendor-level)
397
+ return {
398
+ success: false,
399
+ errorMessage: 'Invalid API key',
400
+ exception: new Error('Invalid API key'),
401
+ errorInfo: {
402
+ error: new Error('Invalid API key'),
403
+ httpStatusCode: 401,
404
+ errorType: 'Authentication',
405
+ severity: 'Fatal',
406
+ canFailover: true // canFailover=true for vendor-level errors to try other vendors
407
+ }
408
+ };
409
+ }
410
+ else {
411
+ // Anthropic model succeeds
412
+ return {
413
+ success: true,
414
+ data: 'Success with different vendor'
415
+ };
416
+ }
417
+ };
418
+ const failoverConfig = {
419
+ strategy: 'priority',
420
+ maxAttempts: 3
421
+ };
422
+ const result = await simulateExecuteModelWithFailover(candidates, executeModelFn, failoverConfig);
423
+ expect(attemptCount).toBe(2); // GPT-4 fails, GPT-4o skipped, Claude Opus succeeds
424
+ expect(attemptedModels).toEqual(['GPT-4', 'Claude Opus']);
425
+ expect(result.success).toBe(true);
426
+ expect(result.data).toBe('Success with different vendor');
427
+ });
428
+ it('should respect errorScope filter and not failover for non-matching errors', async () => {
429
+ const candidates = [
430
+ { modelId: 'model-1', modelName: 'GPT-4', vendorId: 'vendor-openai', vendorName: 'OpenAI', priority: 1 },
431
+ { modelId: 'model-2', modelName: 'Claude Opus', vendorId: 'vendor-anthropic', vendorName: 'Anthropic', priority: 2 }
432
+ ];
433
+ let attemptCount = 0;
434
+ const executeModelFn = async (candidate) => {
435
+ attemptCount++;
436
+ if (candidate.modelId === 'model-1') {
437
+ // First model fails with rate limit (not network error)
438
+ return {
439
+ success: false,
440
+ errorMessage: 'Rate limit exceeded',
441
+ exception: new Error('Rate limit exceeded'),
442
+ errorInfo: {
443
+ error: new Error('Rate limit exceeded'),
444
+ httpStatusCode: 429,
445
+ errorType: 'RateLimit',
446
+ severity: 'Retriable',
447
+ canFailover: true
448
+ }
449
+ };
450
+ }
451
+ else {
452
+ // Should not reach here due to errorScope filter
453
+ return {
454
+ success: true,
455
+ data: 'Should not be reached'
456
+ };
457
+ }
458
+ };
459
+ const failoverConfig = {
460
+ strategy: 'priority',
461
+ errorScope: 'NetworkOnly', // Only failover for network errors
462
+ maxAttempts: 2
463
+ };
464
+ const result = await simulateExecuteModelWithFailover(candidates, executeModelFn, failoverConfig);
465
+ expect(attemptCount).toBe(1);
466
+ expect(result.success).toBe(false);
467
+ expect(result.errorMessage).toContain('Rate limit exceeded');
468
+ });
469
+ });
470
+ export {};
471
+ //# sourceMappingURL=AIPromptRunner.failover.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIPromptRunner.failover.test.js","sourceRoot":"","sources":["../../src/__tests__/AIPromptRunner.failover.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAsDH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,4BAA4B,CACjC,KAAY,EACZ,SAAsB,EACtB,SAAwB,EACxB,YAAoB,EACpB,aAA8B,EAC9B,gBAAuC,EACvC,cAAkC;IAMlC,IAAI,iBAAiB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IAE3C,8BAA8B;IAC9B,MAAM,eAAe,GAAwB;QACzC,aAAa,EAAE,YAAY,GAAG,CAAC;QAC/B,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,KAAK;QACL,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI,IAAI,EAAE;KACxB,CAAC;IACF,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEvC,kEAAkE;IAClE,IAAI,SAAS,CAAC,SAAS,KAAK,gBAAgB,IAAI,SAAS,CAAC,SAAS,KAAK,uBAAuB,EAAE,CAAC;QAC9F,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC9C,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC7C,yEAAyE;QACzE,IAAI,WAAW,GAAG,YAAY,IAAI,YAAY,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;YACpE,uEAAuE;QAC3E,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,YAAY,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAC3C,iBAAiB,CAAC,YAAY,CAAC,EAAE,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC9F,MAAM,eAAe,GAAG,CAAC,iBAAiB,CAAC;IAE3C,8DAA8D;IAC9D,6FAA6F;IAC7F,IAAI,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3D,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC5E,CAAC;IAED,wCAAwC;IACxC,IAAI,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACnE,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QACvF,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC5E,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,gFAAgF;IAChF,IAAI,SAAS,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,uCAAuC;QAClE,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC3E,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC5E,CAAC;IAED,6BAA6B;IAC7B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAAsB,EAAE,UAAwE;IACvH,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAEtC,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,aAAa;YACd,OAAO,SAAS,KAAK,cAAc,CAAC;QACxC,KAAK,eAAe;YAChB,OAAO,SAAS,KAAK,WAAW,CAAC;QACrC,KAAK,kBAAkB;YACnB,OAAO,SAAS,KAAK,oBAAoB,IAAI,SAAS,KAAK,qBAAqB,CAAC;QACrF;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,gCAAgC,CACrC,UAA2B,EAC3B,cAAqE,EACrE,cAAkC;IAElC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,IAAI,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QACpC,MAAM,gBAAgB,GAA0B,EAAE,CAAC;QACnD,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,OAAO,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;YAEhD,IAAI,CAAC;gBACD,wCAAwC;gBACxC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;gBAE/C,uDAAuD;gBACvD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;oBACnD,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,wBAAwB,CAAC,CAAC;oBAE3F,2CAA2C;oBAC3C,MAAM,QAAQ,GAAG,4BAA4B,CACzC,SAAS,EACT,MAAM,CAAC,SAAS,EAChB,SAAS,EACT,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,cAAc,CACjB,CAAC;oBAEF,kDAAkD;oBAClD,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC;oBACnF,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC;oBAE3C,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;wBACvB,kDAAkD;wBAClD,SAAS;oBACb,CAAC;oBAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;wBAC1B,4EAA4E;wBAC5E,sCAAsC;wBACtC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;4BACxB,kDAAkD;4BAClD,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC;4BACjF,IAAI,CAAC,WAAW,EAAE,CAAC;gCACf,oDAAoD;gCACpD,SAAS;4BACb,CAAC;wBACL,CAAC;wBACD,yBAAyB;wBACzB,cAAc,EAAE,CAAC;wBACjB,SAAS;oBACb,CAAC;oBAED,kDAAkD;oBAClD,MAAM;gBACV,CAAC;gBAED,8CAA8C;gBAC9C,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,OAAO;YAEX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,SAAS,GAAG,KAAc,CAAC;gBAE3B,yCAAyC;gBACzC,MAAM,SAAS,GAAgB;oBAC3B,KAAK,EAAE,SAAS;oBAChB,SAAS,EAAE,cAAc;oBACzB,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,IAAI;iBACpB,CAAC;gBAEF,2CAA2C;gBAC3C,MAAM,QAAQ,GAAG,4BAA4B,CACzC,SAAS,EACT,SAAS,EACT,SAAS,EACT,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,cAAc,CACjB,CAAC;gBAEF,kDAAkD;gBAClD,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACnF,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC;gBAE3C,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACvB,kDAAkD;oBAClD,SAAS;gBACb,CAAC;gBAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC1B,4EAA4E;oBAC5E,sCAAsC;oBACtC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;wBACxB,kDAAkD;wBAClD,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC;wBACjF,IAAI,CAAC,WAAW,EAAE,CAAC;4BACf,oDAAoD;4BACpD,SAAS;wBACb,CAAC;oBACL,CAAC;oBACD,yBAAyB;oBACzB,cAAc,EAAE,CAAC;oBACjB,SAAS;gBACb,CAAC;gBAED,kDAAkD;gBAClD,MAAM;YACV,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAG,SAAS,IAAI,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7E,OAAO,CAAC;YACJ,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,OAAO,UAAU,CAAC,MAAM,0CAA0C,UAAU,CAAC,OAAO,EAAE;YACpG,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE;gBACP,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,KAAK;aACrB;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,UAAU,GAAoB;YAChC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YACjH,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC5G,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,EAAE,SAAwB,EAA2B,EAAE;YAC/E,YAAY,EAAE,CAAC;YAEf,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClC,uCAAuC;gBACvC,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,yBAAyB;oBACvC,SAAS,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC;oBAC/C,SAAS,EAAE;wBACP,KAAK,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC;wBAC3C,SAAS,EAAE,cAAc;wBACzB,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,IAAI;qBACpB;iBACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,wBAAwB;gBACxB,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,6BAA6B;iBACtC,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB;YACvC,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,UAAU,GAAoB;YAChC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YACxG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;SACvH,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,EAAE,SAAwB,EAA2B,EAAE;YAC/E,YAAY,EAAE,CAAC;YAEf,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClC,8BAA8B;gBAC9B,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,qBAAqB;oBACnC,SAAS,EAAE,IAAI,KAAK,CAAC,qBAAqB,CAAC;oBAC3C,SAAS,EAAE;wBACP,KAAK,EAAE,IAAI,KAAK,CAAC,qBAAqB,CAAC;wBACvC,cAAc,EAAE,GAAG;wBACnB,SAAS,EAAE,WAAW;wBACtB,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,IAAI;wBACjB,0BAA0B,EAAE,EAAE;qBACjC;iBACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,wBAAwB;gBACxB,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,iCAAiC;iBAC1C,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB;YACvC,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,UAAU,GAAoB;YAChC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YACjH,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC5G,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,EAAE,SAAwB,EAA2B,EAAE;YAC/E,YAAY,EAAE,CAAC;YAEf,uBAAuB;YACvB,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,gBAAgB,SAAS,CAAC,SAAS,EAAE;aAC9C,CAAC;QACN,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB;YACvC,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,UAAU,GAAoB;YAChC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YACjH,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YACzG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;SACvH,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,EAAE,SAAwB,EAA2B,EAAE;YAC/E,YAAY,EAAE,CAAC;YAEf,sCAAsC;YACtC,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,uBAAuB,SAAS,CAAC,SAAS,EAAE;gBAC1D,SAAS,EAAE,IAAI,KAAK,CAAC,uBAAuB,SAAS,CAAC,SAAS,EAAE,CAAC;gBAClE,SAAS,EAAE;oBACP,KAAK,EAAE,IAAI,KAAK,CAAC,uBAAuB,SAAS,CAAC,SAAS,EAAE,CAAC;oBAC9D,SAAS,EAAE,cAAc;oBACzB,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,IAAI;iBACpB;aACJ,CAAC;QACN,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB;YACvC,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,UAAU,GAAoB;YAChC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC7G,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC3G,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,EAAE,SAAwB,EAA2B,EAAE;YAC/E,YAAY,EAAE,CAAC;YAEf,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClC,8CAA8C;gBAC9C,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,qBAAqB;oBACjC,YAAY,EAAE,iCAAiC;oBAC/C,SAAS,EAAE,IAAI,KAAK,CAAC,iCAAiC,CAAC;oBACvD,SAAS,EAAE;wBACP,KAAK,EAAE,IAAI,KAAK,CAAC,iCAAiC,CAAC;wBACnD,cAAc,EAAE,GAAG;wBACnB,SAAS,EAAE,oBAAoB;wBAC/B,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,IAAI;qBACpB;iBACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,wBAAwB;gBACxB,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,mCAAmC;iBAC5C,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB;YACvC,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,UAAU,GAAoB;YAChC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YACxG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YACzG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;SACvH,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,KAAK,EAAE,SAAwB,EAA2B,EAAE;YAC/E,YAAY,EAAE,CAAC;YACf,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE1C,IAAI,SAAS,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;gBACzC,8DAA8D;gBAC9D,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,iBAAiB;oBAC/B,SAAS,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC;oBACvC,SAAS,EAAE;wBACP,KAAK,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC;wBACnC,cAAc,EAAE,GAAG;wBACnB,SAAS,EAAE,gBAAgB;wBAC3B,QAAQ,EAAE,OAAO;wBACjB,WAAW,EAAE,IAAI,CAAC,gEAAgE;qBACrF;iBACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,2BAA2B;gBAC3B,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,+BAA+B;iBACxC,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB;YACvC,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oDAAoD;QAClF,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,UAAU,GAAoB;YAChC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;YACxG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;SACvH,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,EAAE,SAAwB,EAA2B,EAAE;YAC/E,YAAY,EAAE,CAAC;YAEf,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClC,wDAAwD;gBACxD,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,qBAAqB;oBACnC,SAAS,EAAE,IAAI,KAAK,CAAC,qBAAqB,CAAC;oBAC3C,SAAS,EAAE;wBACP,KAAK,EAAE,IAAI,KAAK,CAAC,qBAAqB,CAAC;wBACvC,cAAc,EAAE,GAAG;wBACnB,SAAS,EAAE,WAAW;wBACtB,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,IAAI;qBACpB;iBACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,iDAAiD;gBACjD,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,uBAAuB;iBAChC,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,cAAc,GAAuB;YACvC,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,aAAa,EAAE,mCAAmC;YAC9D,WAAW,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}