@memberjunction/ai-agents 2.107.0 → 2.108.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 +154 -0
- package/dist/agent-types/loop-agent-response-type.d.ts +2 -1
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +4 -2
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +32 -4
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +624 -36
- package/dist/base-agent.js.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -498,10 +498,164 @@ const result = await agent.ExecutePrompt({
|
|
|
498
498
|
### Context Management
|
|
499
499
|
Agents automatically manage conversation context:
|
|
500
500
|
- Maintains message history across steps
|
|
501
|
+
- **Intelligent message expiration** - Automatically compacts or removes old action results
|
|
501
502
|
- Compresses context when approaching token limits
|
|
502
503
|
- Handles placeholder replacement in prompts
|
|
503
504
|
- Preserves important context during compression
|
|
504
505
|
|
|
506
|
+
### Message Expiration and Compaction
|
|
507
|
+
|
|
508
|
+
The framework provides sophisticated message lifecycle management to prevent context bloat from large action results:
|
|
509
|
+
|
|
510
|
+
**Per-Action Configuration** (in `AIAgentAction` table):
|
|
511
|
+
- `ResultExpirationTurns`: Number of turns before message expires (e.g., 2)
|
|
512
|
+
- `ResultExpirationMode`: 'None' | 'Remove' | 'Compact'
|
|
513
|
+
- `CompactMode`: 'First N Chars' | 'AI Summary'
|
|
514
|
+
- `CompactLength`: Character limit for 'First N Chars' mode
|
|
515
|
+
- `CompactPromptID`: Custom AI prompt for 'AI Summary' mode
|
|
516
|
+
|
|
517
|
+
**How It Works**:
|
|
518
|
+
```typescript
|
|
519
|
+
// Configure a Google Search action to compact results after 2 turns
|
|
520
|
+
await agentAction.Save({
|
|
521
|
+
ResultExpirationTurns: 2,
|
|
522
|
+
ResultExpirationMode: 'Compact',
|
|
523
|
+
CompactMode: 'First N Chars',
|
|
524
|
+
CompactLength: 500
|
|
525
|
+
});
|
|
526
|
+
|
|
527
|
+
// Turn 1: Action returns 10,000 char search results
|
|
528
|
+
// Turn 2: Results still in conversation (turn 1, limit 2)
|
|
529
|
+
// Turn 3: Results still in conversation (turn 2, limit 2)
|
|
530
|
+
// Turn 4: Results compacted to 500 chars (turn 3 > limit 2)
|
|
531
|
+
// Original content preserved in metadata for expansion
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
**Compaction Modes**:
|
|
535
|
+
1. **First N Chars**: Fast truncation with annotation
|
|
536
|
+
```
|
|
537
|
+
First 500 chars of result...
|
|
538
|
+
|
|
539
|
+
[Compacted: showing first 500 of 10000 characters. Agent can request expansion if needed.]
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
2. **AI Summary**: Intelligent LLM-based summarization
|
|
543
|
+
```
|
|
544
|
+
[AI Summary of 10000 chars. Agent can request full expansion if needed.]
|
|
545
|
+
|
|
546
|
+
Search found 47 results for "MemberJunction". Top results include...
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
**Message Expansion**:
|
|
550
|
+
Agents can restore compacted messages when needed:
|
|
551
|
+
```typescript
|
|
552
|
+
// In agent's JSON response
|
|
553
|
+
{
|
|
554
|
+
"taskComplete": false,
|
|
555
|
+
"nextStep": {
|
|
556
|
+
"type": "Retry",
|
|
557
|
+
"messageIndex": 5, // Index of compacted message
|
|
558
|
+
"reason": "Need full search results to answer user's question about item #47"
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
**Runtime Override**:
|
|
564
|
+
Test different expiration strategies without modifying database:
|
|
565
|
+
```typescript
|
|
566
|
+
const result = await runner.RunAgent({
|
|
567
|
+
agent: myAgent,
|
|
568
|
+
conversationMessages: messages,
|
|
569
|
+
contextUser: user,
|
|
570
|
+
messageExpirationOverride: {
|
|
571
|
+
expirationTurns: 1,
|
|
572
|
+
expirationMode: 'Compact',
|
|
573
|
+
compactMode: 'First N Chars',
|
|
574
|
+
compactLength: 200,
|
|
575
|
+
preserveOriginalContent: true
|
|
576
|
+
}
|
|
577
|
+
});
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
**Lifecycle Monitoring**:
|
|
581
|
+
Track message compaction for debugging and token savings analysis:
|
|
582
|
+
```typescript
|
|
583
|
+
const result = await runner.RunAgent({
|
|
584
|
+
agent: myAgent,
|
|
585
|
+
conversationMessages: messages,
|
|
586
|
+
contextUser: user,
|
|
587
|
+
onMessageLifecycle: (event) => {
|
|
588
|
+
console.log(`[Turn ${event.turn}] ${event.type}: ${event.reason}`);
|
|
589
|
+
if (event.tokensSaved) {
|
|
590
|
+
console.log(` Tokens saved: ${event.tokensSaved}`);
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
});
|
|
594
|
+
// Output:
|
|
595
|
+
// [Turn 3] message-compacted: Compacted using First N Chars (saved 2375 tokens)
|
|
596
|
+
// [Turn 5] message-removed: Removed due to expiration
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
**Prompt Lookup Hierarchy**:
|
|
600
|
+
For AI Summary mode, prompts are resolved in this order:
|
|
601
|
+
1. Runtime override (`messageExpirationOverride.compactPromptId`)
|
|
602
|
+
2. Agent action configuration (`AIAgentAction.CompactPromptID`)
|
|
603
|
+
3. Action default (`Action.DefaultCompactPromptID`)
|
|
604
|
+
4. System default ("Compact Agent Message" prompt)
|
|
605
|
+
|
|
606
|
+
**Benefits**:
|
|
607
|
+
- **Addresses Large Action Results**: Automatically handles the most common cause of context bloat
|
|
608
|
+
- **Configurable Per-Action**: Different expiration strategies for different action types
|
|
609
|
+
- **Non-Destructive**: Original content preserved in metadata for on-demand expansion
|
|
610
|
+
- **Token Savings**: Reduces context window usage by 70-95% for large results
|
|
611
|
+
- **Agent-Aware**: Agents can detect compacted messages and request full expansion when needed
|
|
612
|
+
|
|
613
|
+
### Context Length Recovery
|
|
614
|
+
|
|
615
|
+
When a prompt execution fails due to context length overflow (even after model failover), BaseAgent provides **one-time automatic recovery** instead of immediately terminating. This gives the agent an opportunity to adapt its approach.
|
|
616
|
+
|
|
617
|
+
**How It Works**:
|
|
618
|
+
1. **Prompt fails with ContextLengthExceeded** → Detected as fatal error
|
|
619
|
+
2. **First occurrence**: Recovery is attempted automatically (once per run)
|
|
620
|
+
3. **Last user message is trimmed** using smart strategies:
|
|
621
|
+
- JSON arrays: Keeps first 10 items with truncation notice
|
|
622
|
+
- CSV data: Keeps header + first 10 rows
|
|
623
|
+
- Plain text: Keeps first 1000 characters
|
|
624
|
+
4. **Agent receives clear guidance** explaining what happened and recommended actions
|
|
625
|
+
5. **Agent gets Retry step** to choose alternative approach (e.g., more specific filters, batch requests)
|
|
626
|
+
6. **If recovery fails again**: Normal fatal error handling (agent terminates)
|
|
627
|
+
|
|
628
|
+
**Example Recovery Message**:
|
|
629
|
+
```
|
|
630
|
+
⚠️ CONTEXT OVERFLOW RECOVERY ⚠️
|
|
631
|
+
|
|
632
|
+
The previous step returned a result that exceeded the context window (147,532 characters truncated).
|
|
633
|
+
|
|
634
|
+
Here is a PARTIAL result from the previous action:
|
|
635
|
+
---
|
|
636
|
+
[First 10 items from JSON array...]
|
|
637
|
+
... (487 more items truncated due to context length)
|
|
638
|
+
---
|
|
639
|
+
|
|
640
|
+
❗ THE ABOVE IS INCOMPLETE - the full result was too large for the context window.
|
|
641
|
+
|
|
642
|
+
RECOMMENDED ACTIONS:
|
|
643
|
+
1. Use a different action with more specific filters to get smaller result sets
|
|
644
|
+
2. Request data in batches or pages instead of all at once
|
|
645
|
+
3. Ask the user to clarify scope to narrow the query
|
|
646
|
+
4. If you need the full data, acknowledge the limitation and ask the user how to proceed
|
|
647
|
+
|
|
648
|
+
Please choose an alternative approach to complete your task.
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
**Benefits**:
|
|
652
|
+
- **Resilient**: Agents can adapt instead of failing immediately
|
|
653
|
+
- **Informative**: Clear explanation of what went wrong and how to recover
|
|
654
|
+
- **Safe**: ONE-TIME recovery prevents infinite loops
|
|
655
|
+
- **Smart**: Preserves data structure when possible (JSON, CSV)
|
|
656
|
+
|
|
657
|
+
This feature is particularly useful when agents call actions that can return very large datasets (e.g., "Get Entity List" without filters).
|
|
658
|
+
|
|
505
659
|
### Action Integration
|
|
506
660
|
```typescript
|
|
507
661
|
// In agent type's DetermineNextStep
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { AgentPayloadChangeRequest } from "@memberjunction/ai-core-plus";
|
|
1
|
+
import { AgentPayloadChangeRequest, BaseAgentSuggestedResponse } from "@memberjunction/ai-core-plus";
|
|
2
2
|
export interface LoopAgentResponse<P = any> {
|
|
3
3
|
taskComplete?: boolean;
|
|
4
4
|
message?: string;
|
|
5
|
+
suggestedResponses?: Array<BaseAgentSuggestedResponse>;
|
|
5
6
|
payloadChangeRequest?: AgentPayloadChangeRequest<P>;
|
|
6
7
|
reasoning?: string;
|
|
7
8
|
confidence?: number;
|
|
@@ -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;
|
|
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,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAKrG,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IAItC,YAAY,CAAC,EAAE,OAAO,CAAC;IAKvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAKvD,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAKpD,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,QAAQ,CAAC,EAAE;QAIP,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;QAKvC,OAAO,CAAC,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC,CAAC,CAAC;QAKH,QAAQ,CAAC,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YAKb,OAAO,EAAE,MAAM,CAAC;YAOhB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAKzC,cAAc,EAAE,OAAO,CAAC;SAC3B,CAAC;KACL,CAAC;CACL"}
|
|
@@ -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,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAE5I,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAqCvE,qBACa,aAAc,SAAQ,aAAa;IAC/B,wBAAwB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAkB9F,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAC7C,YAAY,EAAE,iBAAiB,GAAG,IAAI,EACtC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAClC,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,GAAG,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;
|
|
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,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAE5I,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAqCvE,qBACa,aAAc,SAAQ,aAAa;IAC/B,wBAAwB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAkB9F,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAC7C,YAAY,EAAE,iBAAiB,GAAG,IAAI,EACtC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAClC,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,GAAG,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IA6GhC,SAAS,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,GAAG;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC;IAyH/E,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EACzC,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,GAAG,EACnB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,OAAO,CAAC,IAAI,CAAC;IAoBH,oBAAoB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAiBlG,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAC9C,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC7B,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,GAAG,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAiB1B,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAC5C,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,GAAG,EACnB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAC/C,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;CAI5C;AAKD,wBAAgB,iBAAiB,SAEhC"}
|
|
@@ -38,7 +38,8 @@ let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType
|
|
|
38
38
|
message: response.message,
|
|
39
39
|
reasoning: response.reasoning,
|
|
40
40
|
confidence: response.confidence,
|
|
41
|
-
payloadChangeRequest: response.payloadChangeRequest
|
|
41
|
+
payloadChangeRequest: response.payloadChangeRequest,
|
|
42
|
+
suggestedResponses: response.suggestedResponses
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
45
|
if (!response.nextStep) {
|
|
@@ -46,7 +47,8 @@ let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType
|
|
|
46
47
|
}
|
|
47
48
|
const retVal = {
|
|
48
49
|
payloadChangeRequest: response.payloadChangeRequest,
|
|
49
|
-
terminate: response.taskComplete
|
|
50
|
+
terminate: response.taskComplete,
|
|
51
|
+
suggestedResponses: response.suggestedResponses
|
|
50
52
|
};
|
|
51
53
|
switch (response.nextStep.type) {
|
|
52
54
|
case 'Sub-Agent':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":";;;;;;;;;AAYA,mDAAuD;AACvD,uDAAkD;AAElD,+CAA6D;AAuCtD,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,+BAAa;IACrC,KAAK,CAAC,wBAAwB,CAAqB,MAAkC;QAGxF,OAAO,EAAS,CAAC;IACrB,CAAC;IAcM,KAAK,CAAC,iBAAiB,CAC1B,YAAsC,EACtC,MAAkC,EAClC,OAAU,EACV,cAAmB;QAEnB,IAAI,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;oBACjC,YAAY,EAAE,YAAY,CAAC,YAAY,IAAI,yBAAyB;iBACvE,CAAC,CAAC;YACP,CAAC;YAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAoB,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;YACjE,CAAC;YAGD,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;YAGD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACxB,IAAA,kBAAW,EAAC;oBACR,OAAO,EAAE,sDAAsD,GAAG,QAAQ,CAAC,OAAO;oBAClF,WAAW,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,iBAAiB,CAAC;oBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"loop-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"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"}
|
package/dist/base-agent.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AIAgentTypeEntity, AIAgentRunEntityExtended, AIAgentRunStepEntityExtended, TemplateParamEntity, AIAgentEntityExtended } from '@memberjunction/core-entities';
|
|
1
|
+
import { AIAgentTypeEntity, AIAgentRunEntityExtended, AIAgentRunStepEntityExtended, TemplateParamEntity, AIPromptEntityExtended, AIAgentEntityExtended } from '@memberjunction/core-entities';
|
|
2
2
|
import { UserInfo } from '@memberjunction/core';
|
|
3
|
-
import { ChatMessage } from '@memberjunction/ai';
|
|
3
|
+
import { ChatMessage, ChatMessageContent } from '@memberjunction/ai';
|
|
4
4
|
import { BaseAgentType } from './agent-types/base-agent-type';
|
|
5
|
-
import { AIPromptParams, AIPromptRunResult, ExecuteAgentParams, AgentConfiguration, ExecuteAgentResult, AgentAction, AgentSubAgentRequest, BaseAgentNextStep } from '@memberjunction/ai-core-plus';
|
|
5
|
+
import { AIPromptParams, AIPromptRunResult, ExecuteAgentParams, AgentConfiguration, ExecuteAgentResult, AgentAction, AgentSubAgentRequest, BaseAgentNextStep, MessageLifecycleEvent, AgentChatMessage } from '@memberjunction/ai-core-plus';
|
|
6
6
|
import { ActionEntityExtended, ActionResult } from '@memberjunction/actions-base';
|
|
7
7
|
export declare class BaseAgent {
|
|
8
8
|
private static readonly MAX_VALIDATION_RETRIES;
|
|
@@ -13,6 +13,7 @@ export declare class BaseAgent {
|
|
|
13
13
|
private _agentTypeInstance;
|
|
14
14
|
get AgentTypeInstance(): BaseAgentType;
|
|
15
15
|
private _executionCounts;
|
|
16
|
+
private _messageLifecycleCallback;
|
|
16
17
|
private _generalValidationRetryCount;
|
|
17
18
|
private _agentRun;
|
|
18
19
|
get AgentRun(): AIAgentRunEntityExtended | null;
|
|
@@ -22,6 +23,7 @@ export declare class BaseAgent {
|
|
|
22
23
|
private _subAgentRuns;
|
|
23
24
|
private _payloadManager;
|
|
24
25
|
private _validationRetryCount;
|
|
26
|
+
private _contextRecoveryAttempted;
|
|
25
27
|
get ValidationRetryCount(): number;
|
|
26
28
|
protected logStatus(message: string, verboseOnly?: boolean, params?: ExecuteAgentParams): void;
|
|
27
29
|
protected logError(error: Error | string, options?: {
|
|
@@ -64,17 +66,26 @@ export declare class BaseAgent {
|
|
|
64
66
|
current?: number;
|
|
65
67
|
reason?: string;
|
|
66
68
|
}>;
|
|
69
|
+
protected isFatalPromptError(promptResult: AIPromptRunResult): boolean;
|
|
70
|
+
protected contentToString(content: ChatMessageContent): string;
|
|
71
|
+
protected smartTrimContent(content: string, maxLength?: number): {
|
|
72
|
+
trimmed: string;
|
|
73
|
+
strategy: string;
|
|
74
|
+
originalLength: number;
|
|
75
|
+
};
|
|
76
|
+
protected attemptContextRecovery<P>(params: ExecuteAgentParams, payload: P, errorMessage: string): Promise<BaseAgentNextStep<P>>;
|
|
67
77
|
protected processNextStep<P>(nextStep: BaseAgentNextStep<P>, params: ExecuteAgentParams, agentType: AIAgentTypeEntity, promptResult: AIPromptRunResult, currentPayload: P, currentStep: AIAgentRunStepEntityExtended): Promise<BaseAgentNextStep<P>>;
|
|
68
78
|
protected createActionResultMessage(actions: AgentAction[], results: ActionResult[]): ChatMessage;
|
|
69
79
|
protected createSubAgentResultMessage(subAgent: AgentSubAgentRequest, result: ExecuteAgentResult): ChatMessage;
|
|
70
80
|
private gatherPromptTemplateData;
|
|
71
81
|
ExecuteSingleAction(params: ExecuteAgentParams, action: AgentAction, actionEntity: ActionEntityExtended, contextUser?: UserInfo): Promise<ActionResult>;
|
|
72
|
-
protected ExecuteSubAgent<SC = any, SR = any>(params: ExecuteAgentParams<SC>, subAgentRequest: AgentSubAgentRequest<SC>, subAgent: AIAgentEntityExtended, stepEntity: AIAgentRunStepEntityExtended, payload?: SR): Promise<ExecuteAgentResult<SR>>;
|
|
82
|
+
protected ExecuteSubAgent<SC = any, SR = any>(params: ExecuteAgentParams<SC>, subAgentRequest: AgentSubAgentRequest<SC>, subAgent: AIAgentEntityExtended, stepEntity: AIAgentRunStepEntityExtended, payload?: SR, contextMessage?: ChatMessage): Promise<ExecuteAgentResult<SR>>;
|
|
73
83
|
private formatSubAgentDetails;
|
|
74
84
|
protected getAgentPromptParameters(agent: AIAgentEntityExtended): Array<TemplateParamEntity>;
|
|
75
85
|
protected getAgentPromptParametersJSON(agent: AIAgentEntityExtended): string;
|
|
76
86
|
private formatActionDetails;
|
|
77
87
|
private formatActionParameter;
|
|
88
|
+
private formatParamValueForMessage;
|
|
78
89
|
private getAgentTypeName;
|
|
79
90
|
private getValueListItems;
|
|
80
91
|
private getActionCategoryName;
|
|
@@ -91,6 +102,8 @@ export declare class BaseAgent {
|
|
|
91
102
|
private processSubAgentStep;
|
|
92
103
|
private executeRelatedSubAgentStep;
|
|
93
104
|
private applySubAgentOutputMapping;
|
|
105
|
+
private applySubAgentInputMapping;
|
|
106
|
+
private prepareRelatedSubAgentContextMessage;
|
|
94
107
|
private getValueFromPath;
|
|
95
108
|
private executeActionsStep;
|
|
96
109
|
private executeChatStep;
|
|
@@ -103,5 +116,20 @@ export declare class BaseAgent {
|
|
|
103
116
|
private incrementExecutionCount;
|
|
104
117
|
private getExecutionCount;
|
|
105
118
|
protected checkMinimumExecutionRequirements(agent: AIAgentEntityExtended, agentRun: AIAgentRunEntityExtended): Promise<string[]>;
|
|
119
|
+
protected pruneAndCompactExpiredMessages(params: ExecuteAgentParams, currentTurn: number): Promise<void>;
|
|
120
|
+
protected createCompactionStep(prompt: AIPromptEntityExtended, message: AgentChatMessage, params: ExecuteAgentParams): Promise<AIAgentRunStepEntityExtended>;
|
|
121
|
+
protected updateCompactionStep(step: AIAgentRunStepEntityExtended, result: AIPromptRunResult<{
|
|
122
|
+
summary: string;
|
|
123
|
+
}>, message: AgentChatMessage, params: ExecuteAgentParams): Promise<void>;
|
|
124
|
+
protected compactMessage(message: AgentChatMessage, metadata: {
|
|
125
|
+
compactMode: 'First N Chars' | 'AI Summary';
|
|
126
|
+
compactLength: number;
|
|
127
|
+
compactPromptId: string;
|
|
128
|
+
originalLength: number;
|
|
129
|
+
}, params: ExecuteAgentParams): Promise<string>;
|
|
130
|
+
protected getSystemDefaultCompactPromptId(): string;
|
|
131
|
+
protected estimateTokens(content: ChatMessage['content']): number;
|
|
132
|
+
protected emitMessageLifecycleEvent(event: MessageLifecycleEvent): void;
|
|
133
|
+
protected executeExpandMessageStep(request: BaseAgentNextStep, params: ExecuteAgentParams, currentTurn: number): void;
|
|
106
134
|
}
|
|
107
135
|
//# sourceMappingURL=base-agent.d.ts.map
|
package/dist/base-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,sBAAsB,EAAqB,qBAAqB,EAA6B,MAAM,+BAA+B,CAAC;AAC5O,OAAO,EAAE,QAAQ,EAA4F,MAAM,sBAAsB,CAAC;AAE1I,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAwC,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EACH,cAAc,EACd,iBAAiB,EAEjB,kBAAkB,EAElB,kBAAkB,EAElB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EAEjB,qBAAqB,EACrB,gBAAgB,EAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA6DlF,qBAAa,SAAS;IAKlB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAM;IAMpD,OAAO,CAAC,aAAa,CAAwC;IAM7D,OAAO,CAAC,SAAS,CAA4B;IAQ7C,OAAO,CAAC,eAAe,CAAa;IAIpC,SAAS,KAAK,cAAc,IAAI,GAAG,CAElC;IAED,OAAO,CAAC,kBAAkB,CAAgB;IAI1C,IAAW,iBAAiB,IAAI,aAAa,CAE5C;IAOD,OAAO,CAAC,gBAAgB,CAAkC;IAM1D,OAAO,CAAC,yBAAyB,CAAuC;IAOxE,OAAO,CAAC,4BAA4B,CAAa;IAMjD,OAAO,CAAC,SAAS,CAAyC;IAK1D,IAAW,QAAQ,IAAI,wBAAwB,GAAG,IAAI,CAErD;IAOD,OAAO,CAAC,eAAe,CAAgB;IAMvC,OAAO,CAAC,MAAM,CAAa;IAO3B,OAAO,CAAC,iBAAiB,CAA8B;IAMvD,OAAO,CAAC,aAAa,CAA4B;IAMjD,OAAO,CAAC,eAAe,CAAwC;IAO/D,OAAO,CAAC,qBAAqB,CAAa;IAS1C,OAAO,CAAC,yBAAyB,CAAkB;IAQnD,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAQD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI;IAerG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE;QAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,qBAAqB,CAAC;QAC9B,SAAS,CAAC,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;KAC/C,GAAG,IAAI;IAiCR,OAAO,CAAC,oBAAoB;cA8CZ,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB;IAiC7E,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;cAuIrF,yBAAyB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAuBrF,oBAAoB,CAAC,CAAC,GAAG,GAAG,EACxC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC;cAuDhD,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAa1D,gBAAgB;cA8Cd,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;cA2B/E,+BAA+B,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAiEhI,OAAO,CAAC,+BAA+B;cA8CvB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;cAyEjF,mBAAmB,CAAC,CAAC,EACjC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;cA2IV,aAAa,CAAC,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;cAgBvE,iBAAiB,CAAC,CAAC,EAC/B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,iBAAiB,EAC/B,cAAc,EAAE,CAAC,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAsBhB,gBAAgB,CAAC,CAAC,EAC9B,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAoChB,wBAAwB,CAAC,CAAC,EACtC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cA0DhB,uBAAuB,CAAC,CAAC,EACrC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cA0EhB,uBAAuB,CAAC,CAAC,EACrC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAqIhB,mCAAmC,CAAC,CAAC,EACjD,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAkGhB,sBAAsB,CAAC,CAAC,EACpC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAahB,qBAAqB,CAAC,CAAC,EACnC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAchB,oBAAoB,CAAC,CAAC,EAClC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAwDhB,wBAAwB,CAAC,CAAC,EACtC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAyDhB,6BAA6B,CACzC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,wBAAwB,GACnC,OAAO,CAAC;QACP,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC;QACjD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAiFF,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO;IAgCtE,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM;IAuB9D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;cAqGpH,sBAAsB,CAAC,CAAC,EACpC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,YAAY,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;cAwFhB,eAAe,CAAC,CAAC,EAC7B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,iBAAiB,EAC/B,cAAc,EAAE,CAAC,EACjB,WAAW,EAAE,4BAA4B,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAkChC,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW;IAiCjG,SAAS,CAAC,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,GAAG,WAAW;YA0BhG,wBAAwB;IA0DzB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAChH,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;cAoElC,eAAe,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAC9C,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC9B,eAAe,EAAE,oBAAoB,CAAC,EAAE,CAAC,EACzC,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,4BAA4B,EACxC,OAAO,CAAC,EAAE,EAAE,EACZ,cAAc,CAAC,EAAE,WAAW,GAC7B,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IA2FlC,OAAO,CAAC,qBAAqB;IAwB7B,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,KAAK,CAAC,mBAAmB,CAAC;IAe5F,SAAS,CAAC,4BAA4B,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM;IAkB5E,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,qBAAqB;YAYf,kBAAkB;YA2HlB,yBAAyB;YAwCzB,gBAAgB;IA6D9B,OAAO,CAAC,+BAA+B;YAuCzB,kBAAkB;IA8BhC,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,oBAAoB;cAwBZ,eAAe,CAAC,CAAC,GAAG,GAAG,EACnC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAiFlB,iBAAiB;YAqSjB,wBAAwB;YAwVxB,mBAAmB;YAqEnB,0BAA0B;IA2OxC,OAAO,CAAC,0BAA0B;IA4DlC,OAAO,CAAC,yBAAyB;IAyDjC,OAAO,CAAC,oCAAoC;IAkD5C,OAAO,CAAC,gBAAgB;YA8CV,kBAAkB;YAwVlB,eAAe;YA2Bf,mBAAmB;YA8BnB,qBAAqB;YA4BrB,gBAAgB;IAqD9B,OAAO,CAAC,mBAAmB;cAmCX,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAW9E,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUlG,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,iBAAiB;cAWT,iCAAiC,CAAC,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cA0CtH,8BAA8B,CAC1C,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;cA8IA,oBAAoB,CAChC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,4BAA4B,CAAC;cAwCxB,oBAAoB,CAChC,IAAI,EAAE,4BAA4B,EAClC,MAAM,EAAE,iBAAiB,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC;cA8BA,cAAc,CAC1B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE;QACN,WAAW,EAAE,eAAe,GAAG,YAAY,CAAC;QAC5C,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KAC1B,EACD,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC;IAwFlB,SAAS,CAAC,+BAA+B,IAAI,MAAM;IAcnD,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,MAAM;IAWjE,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAcvE,SAAS,CAAC,wBAAwB,CAC9B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,GACpB,IAAI;CAmCV"}
|