erosolar-cli 1.3.6 → 1.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/StringUtils.d.ts +8 -0
  2. package/dist/StringUtils.d.ts.map +1 -0
  3. package/dist/StringUtils.js +11 -0
  4. package/dist/StringUtils.js.map +1 -0
  5. package/dist/alpha-zero/index.d.ts +1 -1
  6. package/dist/alpha-zero/index.js +1 -1
  7. package/dist/capabilities/index.d.ts +1 -1
  8. package/dist/capabilities/index.d.ts.map +1 -1
  9. package/dist/capabilities/index.js +1 -1
  10. package/dist/capabilities/index.js.map +1 -1
  11. package/dist/capabilities/skillCapability.d.ts +2 -6
  12. package/dist/capabilities/skillCapability.d.ts.map +1 -1
  13. package/dist/capabilities/skillCapability.js +70 -20
  14. package/dist/capabilities/skillCapability.js.map +1 -1
  15. package/dist/core/agent.d.ts +16 -0
  16. package/dist/core/agent.d.ts.map +1 -1
  17. package/dist/core/agent.js +171 -54
  18. package/dist/core/agent.js.map +1 -1
  19. package/dist/core/contextManager.js +6 -6
  20. package/dist/core/contextManager.js.map +1 -1
  21. package/dist/core/contextWindow.d.ts +6 -0
  22. package/dist/core/contextWindow.d.ts.map +1 -1
  23. package/dist/core/contextWindow.js +12 -4
  24. package/dist/core/contextWindow.js.map +1 -1
  25. package/dist/plugins/tools/skills/skillPlugin.js +2 -2
  26. package/dist/plugins/tools/skills/skillPlugin.js.map +1 -1
  27. package/dist/shell/interactiveShell.d.ts +19 -0
  28. package/dist/shell/interactiveShell.d.ts.map +1 -1
  29. package/dist/shell/interactiveShell.js +178 -1
  30. package/dist/shell/interactiveShell.js.map +1 -1
  31. package/dist/skills/skillRepository.d.ts +99 -23
  32. package/dist/skills/skillRepository.d.ts.map +1 -1
  33. package/dist/skills/skillRepository.js +213 -329
  34. package/dist/skills/skillRepository.js.map +1 -1
  35. package/dist/tools/skillTools.d.ts.map +1 -1
  36. package/dist/tools/skillTools.js +24 -62
  37. package/dist/tools/skillTools.js.map +1 -1
  38. package/package.json +21 -5
  39. package/scripts/ai-code-reviewer.mjs +343 -0
  40. package/scripts/code-intelligence-enhancer.mjs +415 -0
  41. package/scripts/dev-productivity-booster.mjs +342 -0
  42. package/dist/ui/advancedPrompt.d.ts +0 -58
  43. package/dist/ui/advancedPrompt.d.ts.map +0 -1
  44. package/dist/ui/advancedPrompt.js +0 -219
  45. package/dist/ui/advancedPrompt.js.map +0 -1
  46. package/dist/ui/overlay/OverlayManager.d.ts +0 -105
  47. package/dist/ui/overlay/OverlayManager.d.ts.map +0 -1
  48. package/dist/ui/overlay/OverlayManager.js +0 -291
  49. package/dist/ui/overlay/OverlayManager.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Utility Function Template
3
+ *
4
+ * Auto-generated utility function with TypeScript
5
+ */
6
+ export declare const StringUtils: (input: any) => any;
7
+ export default StringUtils;
8
+ //# sourceMappingURL=StringUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtils.d.ts","sourceRoot":"","sources":["../src/StringUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,KAAG,GAGxC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Utility Function Template
3
+ *
4
+ * Auto-generated utility function with TypeScript
5
+ */
6
+ export const StringUtils = (input) => {
7
+ // Utility logic here
8
+ return input;
9
+ };
10
+ export default StringUtils;
11
+ //# sourceMappingURL=StringUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../src/StringUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAO,EAAE;IAC7C,qBAAqB;IACrB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -40,7 +40,7 @@
40
40
  * author={Bo Shang},
41
41
  * year={2024},
42
42
  * framework={erosolar-cli},
43
- * url={https://github.com/dragonghidra/erosolar-cli-RE-claude-code}
43
+ * url={https://github.com/ErosolarAI/erosolar-by-bo}
44
44
  * }
45
45
  */
46
46
  export type { AgentPerformanceMetrics, CompetitiveAgentConfig, CompetitionRoundResult, CompetitionStandings, CodeQualityMetrics, ExecutionTrace, ImprovementSuggestion, TournamentConfig, TournamentResult, TournamentStatus, TournamentCallbacks, ResearchMetadata, } from './types.js';
@@ -40,7 +40,7 @@
40
40
  * author={Bo Shang},
41
41
  * year={2024},
42
42
  * framework={erosolar-cli},
43
- * url={https://github.com/dragonghidra/erosolar-cli-RE-claude-code}
43
+ * url={https://github.com/ErosolarAI/erosolar-by-bo}
44
44
  * }
45
45
  */
46
46
  export { ALPHA_ZERO_2_METADATA } from './types.js';
@@ -11,6 +11,6 @@ export { RefactoringCapabilityModule, type RefactoringCapabilityOptions, } from
11
11
  export { DependencySecurityCapabilityModule, type DependencySecurityCapabilityOptions, } from './dependencySecurityCapability.js';
12
12
  export { TestingCapabilityModule, type TestingCapabilityOptions, } from './testingCapability.js';
13
13
  export { PlanningCapabilityModule } from './planningCapability.js';
14
- export { SkillCapabilityModule } from './skillCapability.js';
14
+ export { skillCapability } from './skillCapability.js';
15
15
  export { McpCapabilityModule } from './mcpCapability.js';
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,KAAK,mCAAmC,GACzC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,KAAK,mCAAmC,GACzC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -11,6 +11,6 @@ export { RefactoringCapabilityModule, } from './refactoringCapability.js';
11
11
  export { DependencySecurityCapabilityModule, } from './dependencySecurityCapability.js';
12
12
  export { TestingCapabilityModule, } from './testingCapability.js';
13
13
  export { PlanningCapabilityModule } from './planningCapability.js';
14
- export { SkillCapabilityModule } from './skillCapability.js';
14
+ export { skillCapability } from './skillCapability.js';
15
15
  export { McpCapabilityModule } from './mcpCapability.js';
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,GAEnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,GAEnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,3 @@
1
- import type { CapabilityContribution, CapabilityContext, CapabilityModule } from '../runtime/agentHost.js';
2
- export declare class SkillCapabilityModule implements CapabilityModule {
3
- readonly id = "capability.skills";
4
- private repository;
5
- create(context: CapabilityContext): Promise<CapabilityContribution>;
6
- }
1
+ import type { CapabilityModule } from '../runtime/agentHost.js';
2
+ export declare const skillCapability: CapabilityModule;
7
3
  //# sourceMappingURL=skillCapability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skillCapability.d.ts","sourceRoot":"","sources":["../../src/capabilities/skillCapability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3G,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,QAAQ,CAAC,EAAE,uBAAuB;IAClC,OAAO,CAAC,UAAU,CAAgC;IAE5C,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAqB1E"}
1
+ {"version":3,"file":"skillCapability.d.ts","sourceRoot":"","sources":["../../src/capabilities/skillCapability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,yBAAyB,CAAC;AAGnF,eAAO,MAAM,eAAe,EAAE,gBAuF7B,CAAC"}
@@ -1,27 +1,77 @@
1
- import { SkillRepository } from '../skills/skillRepository.js';
2
- import { createSkillTools } from '../tools/skillTools.js';
3
- export class SkillCapabilityModule {
4
- id = 'capability.skills';
5
- repository = null;
6
- async create(context) {
7
- this.repository = new SkillRepository({
8
- workingDir: context.workingDir,
9
- env: context.env,
10
- });
1
+ import { skillRepository } from '../skills/skillRepository.js';
2
+ export const skillCapability = {
3
+ id: 'skill',
4
+ async create(_context) {
11
5
  return {
12
6
  id: 'skills.tools',
13
- description: 'Load Claude Skill packages and inspect available reusable workflows.',
7
+ description: 'Skill discovery and execution',
14
8
  toolSuite: {
15
9
  id: 'skills',
16
- description: 'Claude Skill discovery and loading',
17
- tools: createSkillTools({
18
- repository: this.repository,
19
- }),
20
- },
21
- dispose: async () => {
22
- this.repository = null;
23
- },
10
+ description: 'Skill management tools',
11
+ tools: [
12
+ {
13
+ name: 'list_skills',
14
+ description: 'List all available skills',
15
+ handler: async () => {
16
+ const skills = skillRepository.getAllSkills();
17
+ if (skills.length === 0) {
18
+ return 'No skills found. Create skill files in the skills directory.';
19
+ }
20
+ const output = [
21
+ `Found ${skills.length} skills:`,
22
+ ''
23
+ ];
24
+ for (const skill of skills) {
25
+ output.push(`• ${skill.name} (${skill.id})`);
26
+ output.push(` ${skill.description}`);
27
+ output.push(` Category: ${skill.category}`);
28
+ output.push(` Tags: ${skill.tags.join(', ')}`);
29
+ output.push('');
30
+ }
31
+ return output.join('\n');
32
+ }
33
+ },
34
+ {
35
+ name: 'search_skills',
36
+ description: 'Search skills by query',
37
+ handler: async (args) => {
38
+ const query = args?.query || '';
39
+ const skills = skillRepository.searchSkills(query);
40
+ if (skills.length === 0) {
41
+ return `No skills found matching "${query}".`;
42
+ }
43
+ const output = [
44
+ `Found ${skills.length} skills matching "${query}":`,
45
+ ''
46
+ ];
47
+ for (const skill of skills) {
48
+ output.push(`• ${skill.name} (${skill.id})`);
49
+ output.push(` ${skill.description}`);
50
+ output.push('');
51
+ }
52
+ return output.join('\n');
53
+ }
54
+ },
55
+ {
56
+ name: 'execute_skill',
57
+ description: 'Execute a specific skill',
58
+ handler: async (args) => {
59
+ const typedArgs = args;
60
+ const skillId = typedArgs?.skill_id;
61
+ const input = typedArgs?.input || {};
62
+ if (!skillId) {
63
+ return 'Error: skill_id is required.';
64
+ }
65
+ const result = await skillRepository.executeSkill(skillId, input);
66
+ if (!result.success) {
67
+ return `Error executing skill: ${result.error}`;
68
+ }
69
+ return `Skill executed successfully in ${result.duration}ms.\n\nOutput:\n${JSON.stringify(result.output, null, 2)}`;
70
+ }
71
+ }
72
+ ]
73
+ }
24
74
  };
25
75
  }
26
- }
76
+ };
27
77
  //# sourceMappingURL=skillCapability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skillCapability.js","sourceRoot":"","sources":["../../src/capabilities/skillCapability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,OAAO,qBAAqB;IACvB,EAAE,GAAG,mBAAmB,CAAC;IAC1B,UAAU,GAA2B,IAAI,CAAC;IAElD,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC;YACpC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QAEH,OAAO;YACL,EAAE,EAAE,cAAc;YAClB,WAAW,EAAE,sEAAsE;YACnF,SAAS,EAAE;gBACT,EAAE,EAAE,QAAQ;gBACZ,WAAW,EAAE,oCAAoC;gBACjD,KAAK,EAAE,gBAAgB,CAAC;oBACtB,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC;aACH;YACD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"skillCapability.js","sourceRoot":"","sources":["../../src/capabilities/skillCapability.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ export interface AgentCallbacks {
5
5
  onAssistantMessage?(content: string, metadata: AssistantMessageMetadata): void;
6
6
  onStreamChunk?(chunk: string): void;
7
7
  onContextPruned?(removedCount: number, stats: Record<string, unknown>): void;
8
+ /** Called when auto context squishing occurs in background */
9
+ onContextSquishing?(message: string): void;
10
+ /** Called when context recovery from overflow is attempted */
11
+ onContextRecovery?(attempt: number, maxAttempts: number, message: string): void;
8
12
  }
9
13
  export interface AssistantMessageMetadata {
10
14
  isFinal: boolean;
@@ -53,6 +57,18 @@ export declare class AgentRuntime {
53
57
  * Get context manager instance
54
58
  */
55
59
  getContextManager(): ContextManager | null;
60
+ /**
61
+ * Auto-recover from context overflow errors by aggressively pruning messages.
62
+ *
63
+ * This is called when an API call fails due to context length exceeding limits.
64
+ * It performs increasingly aggressive pruning on each attempt:
65
+ * - Attempt 1: Remove 30% of oldest messages
66
+ * - Attempt 2: Remove 50% of oldest messages
67
+ * - Attempt 3: Remove 70% of oldest messages (keep only recent)
68
+ *
69
+ * @returns true if recovery was successful (context was reduced)
70
+ */
71
+ private recoverFromContextOverflow;
56
72
  }
57
73
  export {};
58
74
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAGhB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC/E,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9E;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;gBAErC,OAAO,EAAE,YAAY;IAa3B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAqBjD,mBAAmB;YAmCnB,4BAA4B;YAsD5B,gBAAgB;IAoB9B,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,oBAAoB;IAY5B,UAAU,IAAI,mBAAmB,EAAE;IAInC,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAajD,YAAY,IAAI,IAAI;IAOpB;;;;;;OAMG;YACW,qBAAqB;IAiCnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,iBAAiB,IAAI,cAAc,GAAG,IAAI;CAG3C"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAGhB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAuBrD,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC/E,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7E,8DAA8D;IAC9D,kBAAkB,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,8DAA8D;IAC9D,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjF;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;gBAErC,OAAO,EAAE,YAAY;IAa3B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAqBjD,mBAAmB;YAsDnB,4BAA4B;YAyE5B,gBAAgB;IAoB9B,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,oBAAoB;IAY5B,UAAU,IAAI,mBAAmB,EAAE;IAInC,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAajD,YAAY,IAAI,IAAI;IAOpB;;;;;;OAMG;YACW,qBAAqB;IAiCnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAI1C;;;;;;;;;;OAUG;YACW,0BAA0B;CA8DzC"}
@@ -1,3 +1,21 @@
1
+ /**
2
+ * Maximum number of context overflow recovery attempts
3
+ */
4
+ const MAX_CONTEXT_RECOVERY_ATTEMPTS = 3;
5
+ /**
6
+ * Check if an error is a context overflow error
7
+ */
8
+ function isContextOverflowError(error) {
9
+ if (!(error instanceof Error))
10
+ return false;
11
+ const message = error.message.toLowerCase();
12
+ return (message.includes('context length') ||
13
+ message.includes('token') && (message.includes('limit') || message.includes('exceed') || message.includes('maximum')) ||
14
+ message.includes('too long') ||
15
+ message.includes('too many tokens') ||
16
+ message.includes('max_tokens') ||
17
+ message.includes('context window'));
18
+ }
1
19
  export class AgentRuntime {
2
20
  messages = [];
3
21
  provider;
@@ -38,82 +56,118 @@ export class AgentRuntime {
38
56
  }
39
57
  }
40
58
  async processConversation() {
59
+ let contextRecoveryAttempts = 0;
41
60
  while (true) {
42
61
  // Prune messages if approaching context limit (BEFORE generation)
43
62
  await this.pruneMessagesIfNeeded();
44
- const response = await this.provider.generate(this.messages, this.providerTools);
45
- const usage = response.usage ?? null;
46
- const contextStats = this.getContextStats();
47
- if (response.type === 'tool_calls') {
48
- const narration = response.content?.trim();
49
- if (narration) {
50
- this.emitAssistantMessage(narration, { isFinal: false, usage, contextStats });
63
+ try {
64
+ const response = await this.provider.generate(this.messages, this.providerTools);
65
+ const usage = response.usage ?? null;
66
+ const contextStats = this.getContextStats();
67
+ // Reset recovery attempts on successful generation
68
+ contextRecoveryAttempts = 0;
69
+ if (response.type === 'tool_calls') {
70
+ const narration = response.content?.trim();
71
+ if (narration) {
72
+ this.emitAssistantMessage(narration, { isFinal: false, usage, contextStats });
73
+ }
74
+ const assistantMessage = {
75
+ role: 'assistant',
76
+ content: response.content ?? '',
77
+ };
78
+ if (response.toolCalls?.length) {
79
+ assistantMessage.toolCalls = response.toolCalls;
80
+ }
81
+ this.messages.push(assistantMessage);
82
+ await this.resolveToolCalls(response.toolCalls);
83
+ continue;
51
84
  }
52
- const assistantMessage = {
53
- role: 'assistant',
54
- content: response.content ?? '',
55
- };
56
- if (response.toolCalls?.length) {
57
- assistantMessage.toolCalls = response.toolCalls;
85
+ const reply = response.content?.trim() ?? '';
86
+ if (reply) {
87
+ this.emitAssistantMessage(reply, { isFinal: true, usage, contextStats });
58
88
  }
59
- this.messages.push(assistantMessage);
60
- await this.resolveToolCalls(response.toolCalls);
61
- continue;
89
+ this.messages.push({ role: 'assistant', content: reply });
90
+ return reply;
62
91
  }
63
- const reply = response.content?.trim() ?? '';
64
- if (reply) {
65
- this.emitAssistantMessage(reply, { isFinal: true, usage, contextStats });
92
+ catch (error) {
93
+ // Auto-recover from context overflow errors
94
+ if (isContextOverflowError(error) && contextRecoveryAttempts < MAX_CONTEXT_RECOVERY_ATTEMPTS) {
95
+ contextRecoveryAttempts++;
96
+ const recovered = await this.recoverFromContextOverflow(contextRecoveryAttempts);
97
+ if (recovered) {
98
+ // Retry the generation with reduced context
99
+ continue;
100
+ }
101
+ }
102
+ // Re-throw if not recoverable or recovery failed
103
+ throw error;
66
104
  }
67
- this.messages.push({ role: 'assistant', content: reply });
68
- return reply;
69
105
  }
70
106
  }
71
107
  async processConversationStreaming() {
72
108
  if (!this.provider.generateStream) {
73
109
  return this.processConversation();
74
110
  }
111
+ let contextRecoveryAttempts = 0;
75
112
  while (true) {
76
113
  // Prune messages if approaching context limit (BEFORE generation)
77
114
  await this.pruneMessagesIfNeeded();
78
- let fullContent = '';
79
- const toolCalls = [];
80
- let usage = null;
81
- const stream = this.provider.generateStream(this.messages, this.providerTools);
82
- for await (const chunk of stream) {
83
- if (chunk.type === 'content' && chunk.content) {
84
- fullContent += chunk.content;
85
- this.callbacks.onStreamChunk?.(chunk.content);
115
+ try {
116
+ let fullContent = '';
117
+ const toolCalls = [];
118
+ let usage = null;
119
+ const stream = this.provider.generateStream(this.messages, this.providerTools);
120
+ for await (const chunk of stream) {
121
+ if (chunk.type === 'content' && chunk.content) {
122
+ fullContent += chunk.content;
123
+ this.callbacks.onStreamChunk?.(chunk.content);
124
+ }
125
+ else if (chunk.type === 'tool_call' && chunk.toolCall) {
126
+ toolCalls.push(chunk.toolCall);
127
+ }
128
+ else if (chunk.type === 'usage' && chunk.usage) {
129
+ usage = chunk.usage;
130
+ }
86
131
  }
87
- else if (chunk.type === 'tool_call' && chunk.toolCall) {
88
- toolCalls.push(chunk.toolCall);
132
+ // Reset recovery attempts on successful generation
133
+ contextRecoveryAttempts = 0;
134
+ const contextStats = this.getContextStats();
135
+ // Check if we got tool calls
136
+ if (toolCalls.length > 0) {
137
+ const narration = fullContent.trim();
138
+ if (narration) {
139
+ this.emitAssistantMessage(narration, { isFinal: false, usage, contextStats });
140
+ }
141
+ const assistantMessage = {
142
+ role: 'assistant',
143
+ content: fullContent,
144
+ toolCalls,
145
+ };
146
+ this.messages.push(assistantMessage);
147
+ await this.resolveToolCalls(toolCalls);
148
+ continue;
89
149
  }
90
- else if (chunk.type === 'usage' && chunk.usage) {
91
- usage = chunk.usage;
150
+ // Final message
151
+ const reply = fullContent.trim();
152
+ if (reply) {
153
+ this.emitAssistantMessage(reply, { isFinal: true, usage, contextStats });
92
154
  }
155
+ this.messages.push({ role: 'assistant', content: reply });
156
+ return reply;
93
157
  }
94
- const contextStats = this.getContextStats();
95
- // Check if we got tool calls
96
- if (toolCalls.length > 0) {
97
- const narration = fullContent.trim();
98
- if (narration) {
99
- this.emitAssistantMessage(narration, { isFinal: false, usage, contextStats });
158
+ catch (error) {
159
+ // Auto-recover from context overflow errors
160
+ if (isContextOverflowError(error) && contextRecoveryAttempts < MAX_CONTEXT_RECOVERY_ATTEMPTS) {
161
+ contextRecoveryAttempts++;
162
+ const recovered = await this.recoverFromContextOverflow(contextRecoveryAttempts);
163
+ if (recovered) {
164
+ // Retry the generation with reduced context
165
+ continue;
166
+ }
100
167
  }
101
- const assistantMessage = {
102
- role: 'assistant',
103
- content: fullContent,
104
- toolCalls,
105
- };
106
- this.messages.push(assistantMessage);
107
- await this.resolveToolCalls(toolCalls);
108
- continue;
109
- }
110
- // Final message
111
- const reply = fullContent.trim();
112
- if (reply) {
113
- this.emitAssistantMessage(reply, { isFinal: true, usage, contextStats });
168
+ // Re-throw if not recoverable or recovery failed
169
+ throw error;
114
170
  }
115
- this.messages.push({ role: 'assistant', content: reply });
116
- return reply;
117
171
  }
118
172
  }
119
173
  async resolveToolCalls(toolCalls) {
@@ -215,6 +269,69 @@ export class AgentRuntime {
215
269
  getContextManager() {
216
270
  return this.contextManager;
217
271
  }
272
+ /**
273
+ * Auto-recover from context overflow errors by aggressively pruning messages.
274
+ *
275
+ * This is called when an API call fails due to context length exceeding limits.
276
+ * It performs increasingly aggressive pruning on each attempt:
277
+ * - Attempt 1: Remove 30% of oldest messages
278
+ * - Attempt 2: Remove 50% of oldest messages
279
+ * - Attempt 3: Remove 70% of oldest messages (keep only recent)
280
+ *
281
+ * @returns true if recovery was successful (context was reduced)
282
+ */
283
+ async recoverFromContextOverflow(attempt) {
284
+ // Calculate reduction percentage based on attempt
285
+ const reductionPercentages = [0.3, 0.5, 0.7];
286
+ const reductionPercent = reductionPercentages[attempt - 1] ?? 0.7;
287
+ // Notify UI about recovery attempt
288
+ const message = `Context overflow detected. Auto-squishing context (attempt ${attempt}/${MAX_CONTEXT_RECOVERY_ATTEMPTS}, removing ${Math.round(reductionPercent * 100)}% of history)...`;
289
+ this.callbacks.onContextRecovery?.(attempt, MAX_CONTEXT_RECOVERY_ATTEMPTS, message);
290
+ this.callbacks.onContextSquishing?.(message);
291
+ // Separate system messages from conversation
292
+ const systemMessages = [];
293
+ const conversationMessages = [];
294
+ for (const msg of this.messages) {
295
+ if (msg.role === 'system') {
296
+ systemMessages.push(msg);
297
+ }
298
+ else {
299
+ conversationMessages.push(msg);
300
+ }
301
+ }
302
+ // Calculate how many messages to remove
303
+ const removeCount = Math.floor(conversationMessages.length * reductionPercent);
304
+ if (removeCount === 0 || conversationMessages.length <= 2) {
305
+ // Nothing to remove or too few messages - can't recover
306
+ return false;
307
+ }
308
+ // Keep recent messages
309
+ const keepMessages = conversationMessages.slice(removeCount);
310
+ // Rebuild message array
311
+ this.messages.length = 0;
312
+ // Add system messages
313
+ for (const sys of systemMessages) {
314
+ this.messages.push(sys);
315
+ }
316
+ // Add summary notice
317
+ this.messages.push({
318
+ role: 'system',
319
+ content: `[Auto Context Recovery] Removed ${removeCount} earlier messages to stay within token limits. Conversation context has been compressed.`,
320
+ });
321
+ // Add remaining conversation
322
+ for (const msg of keepMessages) {
323
+ this.messages.push(msg);
324
+ }
325
+ // Notify about pruning
326
+ const stats = this.contextManager?.getStats(this.messages) ?? {};
327
+ this.callbacks.onContextPruned?.(removeCount, {
328
+ ...stats,
329
+ method: 'emergency-recovery',
330
+ attempt,
331
+ removedPercent: reductionPercent * 100,
332
+ });
333
+ return true;
334
+ }
218
335
  }
219
336
  function cloneMessage(message) {
220
337
  switch (message.role) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
@@ -358,12 +358,12 @@ export function createDefaultContextManager(overrides, model) {
358
358
  const thresholds = calculateContextThresholds(model);
359
359
  return new ContextManager({
360
360
  maxTokens: thresholds.maxTokens,
361
- targetTokens: thresholds.targetTokens, // Start pruning at 70%
362
- warningTokens: thresholds.warningTokens, // Warn at 60%
363
- criticalTokens: thresholds.criticalTokens, // Critical at 85%
364
- maxToolOutputLength: 6000, // 6k chars max per tool
365
- preserveRecentMessages: 6, // Keep last 6 exchanges
366
- estimatedCharsPerToken: 4, // Conservative estimate
361
+ targetTokens: thresholds.targetTokens, // Start pruning at 60%
362
+ warningTokens: thresholds.warningTokens, // Warn at 50%
363
+ criticalTokens: thresholds.criticalTokens, // Critical at 75%
364
+ maxToolOutputLength: 5000, // 5k chars max per tool (reduced for safety)
365
+ preserveRecentMessages: 5, // Keep last 5 exchanges
366
+ estimatedCharsPerToken: 3.5, // More aggressive estimate (accounts for special tokens, JSON overhead)
367
367
  useLLMSummarization: true, // Enable LLM summarization by default
368
368
  model,
369
369
  ...overrides,