micro-models-agent 0.4.0 → 0.6.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.
Files changed (119) hide show
  1. package/dist/agent/context.d.ts +3 -6
  2. package/dist/agent/context.d.ts.map +1 -1
  3. package/dist/agent/context.js +8 -41
  4. package/dist/agent/context.js.map +1 -1
  5. package/dist/agent/error-escalation.d.ts +6 -6
  6. package/dist/agent/error-escalation.d.ts.map +1 -1
  7. package/dist/agent/error-escalation.js +67 -34
  8. package/dist/agent/error-escalation.js.map +1 -1
  9. package/dist/agent/loop.d.ts.map +1 -1
  10. package/dist/agent/loop.js +14 -79
  11. package/dist/agent/loop.js.map +1 -1
  12. package/dist/agent/memory.d.ts +0 -29
  13. package/dist/agent/memory.d.ts.map +1 -1
  14. package/dist/agent/memory.js +1 -78
  15. package/dist/agent/memory.js.map +1 -1
  16. package/dist/agent/modes/registry.d.ts +1 -1
  17. package/dist/agent/modes/registry.d.ts.map +1 -1
  18. package/dist/agent/modes/registry.js +26 -27
  19. package/dist/agent/modes/registry.js.map +1 -1
  20. package/dist/agent/modes/types.d.ts +0 -5
  21. package/dist/agent/modes/types.d.ts.map +1 -1
  22. package/dist/agent/system-prompt.d.ts +1 -1
  23. package/dist/agent/system-prompt.d.ts.map +1 -1
  24. package/dist/agent/system-prompt.js +95 -147
  25. package/dist/agent/system-prompt.js.map +1 -1
  26. package/dist/agent/tool-executor.d.ts +2 -6
  27. package/dist/agent/tool-executor.d.ts.map +1 -1
  28. package/dist/agent/tool-executor.js +79 -65
  29. package/dist/agent/tool-executor.js.map +1 -1
  30. package/dist/agent/user-profile.d.ts +1 -21
  31. package/dist/agent/user-profile.d.ts.map +1 -1
  32. package/dist/agent/user-profile.js +41 -174
  33. package/dist/agent/user-profile.js.map +1 -1
  34. package/dist/agent/write-enforcer.d.ts +3 -7
  35. package/dist/agent/write-enforcer.d.ts.map +1 -1
  36. package/dist/agent/write-enforcer.js +7 -71
  37. package/dist/agent/write-enforcer.js.map +1 -1
  38. package/dist/cli/config.d.ts.map +1 -1
  39. package/dist/cli/config.js +2 -25
  40. package/dist/cli/config.js.map +1 -1
  41. package/dist/cli.d.ts +1 -1
  42. package/dist/cli.d.ts.map +1 -1
  43. package/dist/cli.js +102 -139
  44. package/dist/cli.js.map +1 -1
  45. package/dist/config/config.d.ts +15 -0
  46. package/dist/config/config.d.ts.map +1 -1
  47. package/dist/config/config.js +4 -38
  48. package/dist/config/config.js.map +1 -1
  49. package/dist/config/types.d.ts +0 -2
  50. package/dist/config/types.d.ts.map +1 -1
  51. package/dist/logger.d.ts +10 -3
  52. package/dist/logger.d.ts.map +1 -1
  53. package/dist/logger.js +89 -38
  54. package/dist/logger.js.map +1 -1
  55. package/dist/repl/commands.d.ts +16 -16
  56. package/dist/repl/commands.d.ts.map +1 -1
  57. package/dist/repl/commands.js +474 -321
  58. package/dist/repl/commands.js.map +1 -1
  59. package/dist/repl/index.d.ts +4 -4
  60. package/dist/repl/index.d.ts.map +1 -1
  61. package/dist/repl/index.js +60 -56
  62. package/dist/repl/index.js.map +1 -1
  63. package/dist/session/store.d.ts +4 -7
  64. package/dist/session/store.d.ts.map +1 -1
  65. package/dist/session/store.js +35 -71
  66. package/dist/session/store.js.map +1 -1
  67. package/dist/setup-wizard.d.ts.map +1 -1
  68. package/dist/setup-wizard.js +5 -23
  69. package/dist/setup-wizard.js.map +1 -1
  70. package/dist/styling/engine.d.ts +7 -12
  71. package/dist/styling/engine.d.ts.map +1 -1
  72. package/dist/styling/engine.js +85 -134
  73. package/dist/styling/engine.js.map +1 -1
  74. package/dist/styling/index.d.ts +2 -2
  75. package/dist/styling/index.d.ts.map +1 -1
  76. package/dist/styling/index.js +0 -1
  77. package/dist/styling/index.js.map +1 -1
  78. package/dist/styling/loader.d.ts +2 -2
  79. package/dist/styling/loader.d.ts.map +1 -1
  80. package/dist/styling/loader.js +99 -47
  81. package/dist/styling/loader.js.map +1 -1
  82. package/dist/subagent/chat.d.ts +19 -0
  83. package/dist/subagent/chat.d.ts.map +1 -0
  84. package/dist/subagent/chat.js +279 -0
  85. package/dist/subagent/chat.js.map +1 -0
  86. package/dist/subagent/context.d.ts +9 -0
  87. package/dist/subagent/context.d.ts.map +1 -0
  88. package/dist/subagent/context.js +75 -0
  89. package/dist/subagent/context.js.map +1 -0
  90. package/dist/subagent/definition.d.ts +7 -0
  91. package/dist/subagent/definition.d.ts.map +1 -0
  92. package/dist/subagent/definition.js +26 -0
  93. package/dist/subagent/definition.js.map +1 -0
  94. package/dist/subagent/errors.d.ts +24 -0
  95. package/dist/subagent/errors.d.ts.map +1 -0
  96. package/dist/subagent/errors.js +85 -0
  97. package/dist/subagent/errors.js.map +1 -0
  98. package/dist/subagent/validation.d.ts +17 -0
  99. package/dist/subagent/validation.d.ts.map +1 -0
  100. package/dist/subagent/validation.js +83 -0
  101. package/dist/subagent/validation.js.map +1 -0
  102. package/dist/tools/hooks.d.ts +2 -0
  103. package/dist/tools/hooks.d.ts.map +1 -1
  104. package/dist/tools/hooks.js +118 -16
  105. package/dist/tools/hooks.js.map +1 -1
  106. package/dist/tools/parse-tool-call.d.ts.map +1 -1
  107. package/dist/tools/parse-tool-call.js +16 -14
  108. package/dist/tools/parse-tool-call.js.map +1 -1
  109. package/dist/tools/registry.d.ts +5 -3
  110. package/dist/tools/registry.d.ts.map +1 -1
  111. package/dist/tools/registry.js +47 -28
  112. package/dist/tools/registry.js.map +1 -1
  113. package/dist/tools/subagent.d.ts +4 -57
  114. package/dist/tools/subagent.d.ts.map +1 -1
  115. package/dist/tools/subagent.js +112 -556
  116. package/dist/tools/subagent.js.map +1 -1
  117. package/dist/tools/types.d.ts +2 -10
  118. package/dist/tools/types.d.ts.map +1 -1
  119. package/package.json +1 -1
@@ -30,12 +30,9 @@ export declare class ContextManager {
30
30
  *
31
31
  * Алгоритм:
32
32
  * - System: 100 (всегда сохраняется отдельно)
33
- * - Tool с ошибкой: 90 (важно для диагностики)
34
- * - User с "важно"/"critical": 85
35
- * - Tool с успехом: 70
36
- * - Assistant с ошибкой/решением: 70-75
37
- * - User-вопрос: 65
38
- * - Обычный user/assistant: 40-60
33
+ * - Tool: 70
34
+ * - User: 60
35
+ * - Assistant: 65
39
36
  * + Recency bonus: (index/total) * 20
40
37
  */
41
38
  private scoreMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA8BtD;;;GAGG;AACH,qBAAa,cAAc;IAavB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IAdxB,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;;;OAIG;gBAEO,aAAa,EAAE,MAAM,EACrB,gBAAgB,GAAE,MAAa,EAC/B,cAAc,GAAE,MAAa;IAGvC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,wDAAwD;IACxD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,2CAA2C;IAC3C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAAY;IAmCpB;;;;OAIG;IACG,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrE;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1D;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAwBxD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAmH/C,sEAAsE;IACtE,WAAW,IAAI,MAAM;CAiBtB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA8BtD;;;GAGG;AACH,qBAAa,cAAc;IAavB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IAdxB,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;;;OAIG;gBAEO,aAAa,EAAE,MAAM,EACrB,gBAAgB,GAAE,MAAa,EAC/B,cAAc,GAAE,MAAa;IAGvC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,wDAAwD;IACxD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,2CAA2C;IAC3C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;OAIG;IACG,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrE;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1D;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAwBxD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAmH/C,sEAAsE;IACtE,WAAW,IAAI,MAAM;CAiBtB"}
@@ -46,53 +46,20 @@ export class ContextManager {
46
46
  *
47
47
  * Алгоритм:
48
48
  * - System: 100 (всегда сохраняется отдельно)
49
- * - Tool с ошибкой: 90 (важно для диагностики)
50
- * - User с "важно"/"critical": 85
51
- * - Tool с успехом: 70
52
- * - Assistant с ошибкой/решением: 70-75
53
- * - User-вопрос: 65
54
- * - Обычный user/assistant: 40-60
49
+ * - Tool: 70
50
+ * - User: 60
51
+ * - Assistant: 65
55
52
  * + Recency bonus: (index/total) * 20
56
53
  */
57
54
  scoreMessage(msg, index, total) {
58
- let score = 50; // базовая оценка
59
55
  // Оценка по роли сообщения
60
- if (msg.role === 'system')
61
- score = 100;
62
- else if (msg.role === 'tool') {
63
- const content = (msg.content || '').toLowerCase();
64
- if (content.includes('error') || content.includes('fail'))
65
- score = 90;
66
- else if (content.includes('✓') || content.includes('success'))
67
- score = 70;
68
- else
69
- score = 60;
70
- }
71
- else if (msg.role === 'user') {
72
- const content = (msg.content || '').toLowerCase();
73
- if (content.includes('decision') || content.includes('важно') || content.includes('critical'))
74
- score = 85;
75
- else if (content.includes('?'))
76
- score = 65;
77
- else
78
- score = 60;
79
- }
80
- else if (msg.role === 'assistant') {
81
- const content = (msg.content || '').toLowerCase();
82
- if (content.includes('error') || content.includes('ошибка'))
83
- score = 75;
84
- else if (content.includes(' decided ') || content.includes('решено'))
85
- score = 70;
86
- else
87
- score = 65; // reasoning слишком важен для удаления (было 40)
88
- }
89
- // Бонус за длину — длинные ответы = более ценные рассуждения
90
- const lengthBonus = Math.min(15, Math.floor((msg.content?.length || 0) / 500));
91
- score += lengthBonus;
56
+ const roleScore = msg.role === 'system' ? 100 :
57
+ msg.role === 'tool' ? 70 :
58
+ msg.role === 'assistant' ? 65 :
59
+ 60; // user и прочие
92
60
  // Бонус за свежесть: чем позже сообщение, тем выше бонус
93
61
  const recencyBonus = (index / total) * 20;
94
- score += recencyBonus;
95
- return score;
62
+ return roleScore + recencyBonus;
96
63
  }
97
64
  /**
98
65
  * Инкрементальный подсчёт токенов — считает только новые сообщения.
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AA2BjD;;;GAGG;AACH,MAAM,OAAO,cAAc;IAaf;IACA;IACA;IAdF,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC,CAAC,uBAAuB;IACxE,SAAS,GAAG,CAAC,CAAC,CAAC,uCAAuC;IACtD,YAAY,GAAG,CAAC,CAAC,CAAC,qCAAqC;IACvD,QAAQ,GAAuC,EAAE,CAAC,CAAC,mBAAmB;IACtE,iBAAiB,GAAG,CAAC,CAAC,CAAC,4EAA4E;IAE3G;;;;OAIG;IACH,YACU,aAAqB,EACrB,mBAA2B,IAAI,EAC/B,iBAAyB,IAAI;QAF7B,kBAAa,GAAb,aAAa,CAAQ;QACrB,qBAAgB,GAAhB,gBAAgB,CAAe;QAC/B,mBAAc,GAAd,cAAc,CAAe;IACpC,CAAC;IAEJ,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;IACxD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAC1D,CAAC;IAED,wDAAwD;IACxD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC;IACvE,CAAC;IAED,2CAA2C;IAC3C,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;;;OASG;IACK,YAAY,CAAC,GAAgB,EAAE,KAAa,EAAE,KAAa;QACjE,2BAA2B;QAC3B,MAAM,SAAS,GACb,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7B,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1B,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/B,EAAE,CAAC,CAAC,gBAAgB;QAEtB,yDAAyD;QACzD,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAE1C,OAAO,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,QAAuB;QACnD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,CAAC,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzC,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,QAAQ,CAAC,SAAS,EAAE,6BAA6B,QAAQ,CAAC,MAAM,GAAG,SAAS,gBAAgB,IAAI,CAAC,YAAY,YAAY,OAAO,IAAI,CAAC,CAAC;IACxI,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,QAAuB;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,CAAC,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzC,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,QAAQ,CAAC,MAAM,UAAU,KAAK,YAAY,OAAO,IAAI,CAAC,CAAC;IAC9F,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAuB;QACtC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnC,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QAEvD,MAAM,OAAO,GAAG,uBAAuB,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,sFAAsF,CAAC;QAE9J,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAkB;YAC5B,GAAG,MAAM;YACT,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,OAAO,EAAE;YAC7C,GAAG,MAAM;SACV,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,SAAS,EAAE,qBAAqB,QAAQ,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,YAAY,OAAO,IAAI,CAAC,CAAC;QACnG,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,QAAuB;QAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,OAAO,CAAC,SAAS,EAAE,YAAY,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC;QAE1C,kDAAkD;QAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3D,MAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAkB,EAAE,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,SAAS,KAAK,CAAC;gBAAE,SAAS;YAC9B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9D,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzD,GAAG;YACH,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;SACtC,CAAC,CAAC,CAAC;QAEJ,8BAA8B;QAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,oDAAoD;QACpD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,gBAAgB,GAAG,MAAM;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAClC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEnB,2CAA2C;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAElG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QAE5C,kEAAkE;QAClE,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,OAAO,GAAa,EAAE,CAAC,CAAC,2BAA2B;QACzD,MAAM,YAAY,GAAa,EAAE,CAAC,CAAC,mBAAmB;QAEtD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrE,IAAI,SAAS,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;oBACpC,6CAA6C;oBAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAC5C,8BAA8B,CAC/B,CAAC;oBACF,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;wBAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzB,CAAC;oBACD,6CAA6C;oBAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAC5C,yBAAyB,CAC1B,CAAC;oBACF,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;wBAChC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9B,CAAC;oBACD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACpE,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,OAAO,KAAK,CAAC,CAAC;oBAC7E,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC/D,CAAC,EAAE,CAAC;gBACN,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,4CAA4C;gBAC5C,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC1E,cAAc,CAAC,IAAI,CAAC,kBAAkB,WAAW,KAAK,CAAC,CAAC;gBACxD,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9E,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAClJ,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,OAAO,GAAG,gCAAgC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,CAAC;QAC3F,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAC1B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAkB;YAC5B,GAAG,MAAM;YACT,GAAG,aAAa;YAChB,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,OAAO,EAAE;YAC7C,GAAG,gBAAgB;YACnB,GAAG,UAAU;SACd,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,SAAS,EAAE,YAAY,QAAQ,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,YAAY,OAAO,IAAI,CAAC,CAAC;QAC1F,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sEAAsE;IACtE,WAAW;QACT,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAE1C,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;aAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,OAAO,YAAY,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,cAAc,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;IACxK,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
- import type { LLMProvider, ChatMessage } from '../llm/provider.js';
2
- import type { ToolRegistry } from '../tools/registry.js';
3
- import type { ToolExecutor } from './tool-executor.js';
4
- import type { OutputRenderer } from '../ui/renderer.js';
1
+ import type { LLMProvider, ChatMessage } from "../llm/provider.js";
2
+ import type { ToolRegistry } from "../tools/registry.js";
3
+ import type { ToolExecutor } from "./tool-executor.js";
4
+ import type { OutputRenderer } from "../ui/renderer.js";
5
5
  /**
6
6
  * Управляет эскалацией ошибок инструментов: отслеживание,
7
7
  * вызов specialist'а, переключение стратегии и блокировка.
@@ -10,9 +10,9 @@ export declare class ErrorEscalator {
10
10
  consecutiveToolErrors: Map<string, number>;
11
11
  totalToolErrors: number;
12
12
  specialistSpawnedFor: string | null;
13
- errorStrategy: 'normal' | 'subagent-hint' | 'force-subagent';
13
+ errorStrategy: "normal" | "subagent-hint" | "force-subagent";
14
14
  resetForTool(toolName: string): void;
15
15
  reset(): void;
16
- handleToolError(toolName: string, toolOutput: string, toolArgs: Record<string, unknown>, toolId: string, messages: ChatMessage[], createdFiles: string[], enrichedPrompt: string, renderer: OutputRenderer | undefined, quiet: boolean, provider: LLMProvider, registry: ToolRegistry, toolExecutor: ToolExecutor, modeConfig: any, llmCfg: any): Promise<'continue' | 'block'>;
16
+ handleToolError(toolName: string, toolOutput: string, toolArgs: Record<string, unknown>, toolId: string, messages: ChatMessage[], createdFiles: string[], enrichedPrompt: string, renderer: OutputRenderer | undefined, quiet: boolean, provider: LLMProvider, registry: ToolRegistry, toolExecutor: ToolExecutor, modeConfig: any, llmCfg: any): Promise<"continue" | "block">;
17
17
  }
18
18
  //# sourceMappingURL=error-escalation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-escalation.d.ts","sourceRoot":"","sources":["../../src/agent/error-escalation.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAoDxD;;;GAGG;AACH,qBAAa,cAAc;IACzB,qBAAqB,sBAA6B;IAClD,eAAe,SAAK;IACpB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,aAAa,EAAE,QAAQ,GAAG,eAAe,GAAG,gBAAgB,CAAY;IAExE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOpC,KAAK,IAAI,IAAI;IAOP,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EAAE,EACvB,YAAY,EAAE,MAAM,EAAE,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,GAAG,EACf,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;CAyDjC"}
1
+ {"version":3,"file":"error-escalation.d.ts","sourceRoot":"","sources":["../../src/agent/error-escalation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgGxD;;;GAGG;AACH,qBAAa,cAAc;IACzB,qBAAqB,sBAA6B;IAClD,eAAe,SAAK;IACpB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,aAAa,EAAE,QAAQ,GAAG,eAAe,GAAG,gBAAgB,CAAY;IAExE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQpC,KAAK,IAAI,IAAI;IAOP,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EAAE,EACvB,YAAY,EAAE,MAAM,EAAE,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,GAAG,EACf,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;CAkGjC"}
@@ -1,26 +1,29 @@
1
- import { generateToolCallId } from '../tools/id-gen.js';
2
- import { logInfo, logError } from '../logger.js';
3
- import { loadConfig, getSpecialistConfig } from '../config/config.js';
4
- import { buildSpecialistTask, buildSubagentContext, isTrivialError, runIsolatedLoop } from '../tools/subagent.js';
5
- import { SubagentRenderer } from '../ui/subagent-renderer.js';
6
- import { truncateOutput } from './tool-executor.js';
1
+ import { generateToolCallId } from "../tools/id-gen.js";
2
+ import { logInfo, logError } from "../logger.js";
3
+ import { loadConfig, getSpecialistConfig } from "../config/config.js";
4
+ import { buildSpecialistTask, isTrivialError } from "../subagent/errors.js";
5
+ import { buildSubagentContext } from "../subagent/context.js";
6
+ import { runIsolatedLoop } from "../tools/subagent.js";
7
+ import { SubagentRenderer } from "../ui/subagent-renderer.js";
8
+ import { truncateOutput } from "./tool-executor.js";
7
9
  /**
8
10
  * Запускает specialist'а для решения повторяющейся ошибки.
9
11
  */
10
12
  async function spawnSpecialist(p) {
11
13
  if (!p.quiet) {
12
- p.renderer?.writeBracketTag('specialist', `solving '${p.errorOutput.slice(0, 60).replace(/\n/g, ' ')}' error...`);
14
+ p.renderer?.writeBracketTag("specialist", `solving '${p.errorOutput.slice(0, 60).replace(/\n/g, " ")}' error...`);
13
15
  }
14
16
  const task = buildSpecialistTask(p.toolName, p.toolArgs, p.errorOutput, p.enrichedPrompt, p.errorCount);
15
17
  const ctx = buildSubagentContext(process.cwd());
16
18
  const sub = new SubagentRenderer();
17
19
  try {
18
- logInfo('LOOP', `spawning specialist for ${p.toolName} (attempt #${p.errorCount})`);
20
+ logInfo("LOOP", `spawning specialist for ${p.toolName} (attempt #${p.errorCount})`);
19
21
  const r = await runIsolatedLoop(p.provider, p.registry, task, ctx, process.cwd(), p.quiet, sub, p.toolExecutor, p.modeConfig.subagentMode, p.llmCfg.toolModel, p.specialistCfg.maxSteps);
20
22
  for (let i = p.messages.length - 1; i >= 0; i--) {
21
- if (p.messages[i].role === 'tool' && p.messages[i].tool_call_id === p.toolId) {
23
+ if (p.messages[i].role === "tool" &&
24
+ p.messages[i].tool_call_id === p.toolId) {
22
25
  const text = r.errors.length > 0
23
- ? `[Specialist attempted to fix "${p.toolName}" but failed:\n${r.errors.join('\n')}\n${r.summary}]\nTry a different approach.`
26
+ ? `[Specialist attempted to fix "${p.toolName}" but failed:\n${r.errors.join("\n")}\n${r.summary}]\nTry a different approach.`
24
27
  : `[Specialist resolved "${p.toolName}" error.\n${r.summary}]\nContinue with the task.`;
25
28
  p.messages[i].content = truncateOutput(p.toolName, text, 0);
26
29
  break;
@@ -32,12 +35,15 @@ async function spawnSpecialist(p) {
32
35
  }
33
36
  const buf = sub.getBuffer();
34
37
  if (!p.quiet && p.renderer?.writeToolBuffer)
35
- p.renderer.writeToolBuffer({ lines: buf.lines, toolCalls: buf.toolCalls });
36
- logInfo('LOOP', `specialist done | files: ${r.createdFiles.length} | turns: ${r.turns} | errors: ${r.errors.length}`);
38
+ p.renderer.writeToolBuffer({
39
+ lines: buf.lines,
40
+ toolCalls: buf.toolCalls,
41
+ });
42
+ logInfo("LOOP", `specialist done | files: ${r.createdFiles.length} | turns: ${r.turns} | errors: ${r.errors.length}`);
37
43
  return true;
38
44
  }
39
45
  catch (e) {
40
- logError('LOOP', `specialist error: ${e.message}`);
46
+ logError("LOOP", `specialist error: ${e.message}`);
41
47
  if (!p.quiet)
42
48
  p.renderer?.writeError(` [specialist failed: ${e.message}]`);
43
49
  return false;
@@ -51,10 +57,10 @@ export class ErrorEscalator {
51
57
  consecutiveToolErrors = new Map();
52
58
  totalToolErrors = 0;
53
59
  specialistSpawnedFor = null;
54
- errorStrategy = 'normal';
60
+ errorStrategy = "normal";
55
61
  resetForTool(toolName) {
56
62
  for (const [key] of this.consecutiveToolErrors) {
57
- if (key.startsWith(toolName + '::'))
63
+ if (key.startsWith(toolName + "::"))
58
64
  this.consecutiveToolErrors.delete(key);
59
65
  }
60
66
  this.specialistSpawnedFor = null;
@@ -63,11 +69,14 @@ export class ErrorEscalator {
63
69
  this.consecutiveToolErrors.clear();
64
70
  this.totalToolErrors = 0;
65
71
  this.specialistSpawnedFor = null;
66
- this.errorStrategy = 'normal';
72
+ this.errorStrategy = "normal";
67
73
  }
68
74
  async handleToolError(toolName, toolOutput, toolArgs, toolId, messages, createdFiles, enrichedPrompt, renderer, quiet, provider, registry, toolExecutor, modeConfig, llmCfg) {
69
75
  this.totalToolErrors++;
70
- const errKey = `${toolName}::${toolOutput.slice(0, 100).replace(/[A-Z]:\\[^\s"']+/gi, '<PATH>').replace(/\/[^\s"']+/g, '<PATH>')}`;
76
+ const errKey = `${toolName}::${toolOutput
77
+ .slice(0, 100)
78
+ .replace(/[A-Z]:\\[^\s"']+/gi, "<PATH>")
79
+ .replace(/\/[^\s"']+/g, "<PATH>")}`;
71
80
  const prevCount = this.consecutiveToolErrors.get(errKey) ?? 0;
72
81
  this.consecutiveToolErrors.set(errKey, prevCount + 1);
73
82
  const errorCount = prevCount + 1;
@@ -80,43 +89,67 @@ export class ErrorEscalator {
80
89
  toolOutput.length >= specialistCfg.minErrorLength) {
81
90
  this.specialistSpawnedFor = errKey;
82
91
  const spawned = await spawnSpecialist({
83
- provider, registry, toolExecutor, modeConfig, llmCfg, specialistCfg,
84
- quiet, renderer, messages, toolId, createdFiles,
85
- toolName, toolArgs,
86
- errorOutput: toolOutput, errorCount, enrichedPrompt,
92
+ provider,
93
+ registry,
94
+ toolExecutor,
95
+ modeConfig,
96
+ llmCfg,
97
+ specialistCfg,
98
+ quiet,
99
+ renderer,
100
+ messages,
101
+ toolId,
102
+ createdFiles,
103
+ toolName,
104
+ toolArgs,
105
+ errorOutput: toolOutput,
106
+ errorCount,
107
+ enrichedPrompt,
87
108
  });
88
109
  if (spawned)
89
- return 'continue';
110
+ return "continue";
90
111
  }
91
112
  if (errorCount > specialistCfg.triggerThreshold) {
92
- let webHint = '';
93
- if (toolName === 'web_browse' && String(toolArgs?.action) === 'evaluate') {
94
- webHint = ' For web scraping: use web_browse(action:"discover") to find real CSS selectors, or web_browse(action:"get_links") to see all links, or web_browse(action:"extract", format:"html") to inspect the page structure.';
113
+ let webHint = "";
114
+ if (toolName === "web_browse" &&
115
+ String(toolArgs?.action) === "evaluate") {
116
+ webHint =
117
+ ' For web scraping: use web_browse(action:"discover") to find real CSS selectors, or web_browse(action:"get_links") to see all links, or web_browse(action:"extract", format:"html") to inspect the page structure.';
95
118
  }
96
- else if (toolName === 'web_browse' && String(toolArgs?.action) === 'navigate' && toolOutput.includes('Status: 40')) {
97
- webHint = ' Page returned HTTP error. Try navigating to the site homepage first, then use web_browse(action:"get_links") or web_browse(action:"discover") to explore available categories and sections instead of guessing URLs.';
119
+ else if (toolName === "web_browse" &&
120
+ String(toolArgs?.action) === "navigate" &&
121
+ toolOutput.includes("Status: 40")) {
122
+ webHint =
123
+ ' Page returned HTTP error. Try navigating to the site homepage first, then use web_browse(action:"get_links") or web_browse(action:"discover") to explore available categories and sections instead of guessing URLs.';
98
124
  }
99
125
  const msg = errorCount === specialistCfg.triggerThreshold + 1
100
126
  ? `[System: Tool "${toolName}" failed with the SAME error ${errorCount} times. Read the error message carefully. The input is likely wrong — try a completely different approach, or use subagent for a fresh context.]${webHint}`
101
127
  : `[System: Tool "${toolName}" failed ${errorCount} times with the same error. STOP. Do NOT retry the same call. Use subagent(task="...") for a fresh context, or tell the user you're stuck.]${webHint}`;
102
- messages.push({ role: 'user', content: msg });
128
+ messages.push({ role: "user", content: msg });
103
129
  if (!quiet)
104
130
  renderer?.writeWarning(` [error escalation: ${toolName} failed ${errorCount} times]`);
105
131
  }
106
- if (this.totalToolErrors >= 5 && this.errorStrategy === 'normal') {
107
- this.errorStrategy = 'subagent-hint';
108
- messages.push({ role: 'user', content: `[System: ${this.totalToolErrors} tool errors. Use subagent(task="...") for a fresh context.]` });
132
+ if (this.totalToolErrors >= 5 && this.errorStrategy === "normal") {
133
+ this.errorStrategy = "subagent-hint";
134
+ messages.push({
135
+ role: "user",
136
+ content: `[System: ${this.totalToolErrors} tool errors. Use subagent(task="...") for a fresh context.]`,
137
+ });
109
138
  if (!quiet)
110
139
  renderer?.writeWarning(` [strategy: subagent-hint after ${this.totalToolErrors} errors]`);
111
140
  }
112
141
  if (errorCount >= 4) {
113
142
  const blockId = generateToolCallId();
114
- messages.push({ role: 'tool', content: `BLOCKED: Tool "${toolName}" failed ${errorCount} times. Temporarily blocked.`, tool_call_id: blockId });
143
+ messages.push({
144
+ role: "tool",
145
+ content: `BLOCKED: Tool "${toolName}" failed ${errorCount} times. Temporarily blocked.`,
146
+ tool_call_id: blockId,
147
+ });
115
148
  if (!quiet)
116
149
  renderer?.writeWarning(` [blocked ${toolName}: too many repeated errors]`);
117
- return 'block';
150
+ return "block";
118
151
  }
119
- return 'block';
152
+ return "block";
120
153
  }
121
154
  }
122
155
  //# sourceMappingURL=error-escalation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-escalation.js","sourceRoot":"","sources":["../../src/agent/error-escalation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-escalation.js","sourceRoot":"","sources":["../../src/agent/error-escalation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAiC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAaxD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA+FlE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,cAAc,EAC/B,gBAAgB,CAAC,EAAE,WAAW,EAAE,EAChC,QAAQ,CAAC,EAAE,cAAc,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,GACA,OAAO,CAAC,eAAe,CAAC,CA4yC1B"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAgC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAcxD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAqFlE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,cAAc,EAC/B,gBAAgB,CAAC,EAAE,WAAW,EAAE,EAChC,QAAQ,CAAC,EAAE,cAAc,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,GACA,OAAO,CAAC,eAAe,CAAC,CAqsC1B"}
@@ -3,8 +3,6 @@ import { join, isAbsolute, relative } from "node:path";
3
3
  import { parseToolCalls } from "../tools/parse-tool-call.js";
4
4
  import { parseFileRefs } from "../file-loader.js";
5
5
  import { ContextManager } from "./context.js";
6
- import { autoLearnFromError } from "./memory.js";
7
- import { collectCodingStyle } from "./user-profile.js";
8
6
  import { ModeRegistry } from "./modes/registry.js";
9
7
  import { applyMode } from "./modes/applier.js";
10
8
  import { loadSkill, loadSkillsFromRefs, enforceSkillBudget, preloadSkillsByKeywords, isSkillRequest, listInstalledSkills, } from "../skills/loader.js";
@@ -15,16 +13,15 @@ import { generateToolCallId } from "../tools/id-gen.js";
15
13
  import { checkFileSyntax } from "../tools/syntax-check.js";
16
14
  import { loadConfig, getLLMConfig, getGroundingConfig, } from "../config/config.js";
17
15
  import { buildSystemPrompt } from "./system-prompt.js";
18
- import { logInfo, logWarn, logError, logDebug, logToolCall, setStatusWriter, writeStatus, } from "../logger.js";
19
- import { buildSubagentContext, runIsolatedLoop, doChat, } from "../tools/subagent.js";
16
+ import { logInfo, logWarn, logError, logDebug, logToolCall, logToolOutput, setStatusWriter, writeStatus, } from "../logger.js";
17
+ import { runIsolatedLoop } from "../tools/subagent.js";
18
+ import { buildSubagentContext } from "../subagent/context.js";
19
+ import { doChat } from "../subagent/chat.js";
20
20
  import { SubagentRenderer } from "../ui/subagent-renderer.js";
21
21
  import { ToolExecutor } from "./tool-executor.js";
22
22
  import { ErrorEscalator } from "./error-escalation.js";
23
23
  import { WriteEnforcer } from "./write-enforcer.js";
24
- import { PluginManager } from "../plugins/manager.js";
25
- import { loadAllPluginsWithInfo } from "../plugins/loader.js";
26
- import { handleToolAfter as lintHandleToolAfter } from "../plugins/builtin/lint-on-write/index.js";
27
- import { handleAgentDone, handleToolBlocked, handleToolAfter as notifyHandleToolAfter, } from "../plugins/builtin/notify/index.js";
24
+ import { sendNotification } from "../tools/hooks.js";
28
25
  import { planHandler } from "../tools/native/plan.js";
29
26
  import { todoHandler } from "../tools/native/todo.js";
30
27
  import { questionHandler } from "../tools/native/question.js";
@@ -133,12 +130,6 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
133
130
  });
134
131
  // ─── Behaviors из ModeConfig ──────────────────────────
135
132
  const behaviors = modeConfig.behaviors;
136
- const planEnforcement = behaviors.planEnforcement !== false;
137
- const directWriteStreakMax = typeof behaviors.directWriteStreakLimit === "number"
138
- ? behaviors.directWriteStreakLimit
139
- : behaviors.directWriteStreak !== false
140
- ? 3
141
- : Infinity;
142
133
  const continuationNudgeMax = typeof behaviors.continuationNudgeLimit === "number"
143
134
  ? behaviors.continuationNudgeLimit
144
135
  : behaviors.continuationNudge !== false
@@ -211,50 +202,9 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
211
202
  }
212
203
  setStatusWriter(renderer ? (msg) => renderer.writeDim(` ${msg}`) : null);
213
204
  writeStatus("Initializing...");
214
- // ─── PluginManager: загрузка и активация плагинов ──
215
- const pluginManager = new PluginManager();
216
- const pluginLogger = {
217
- info: logInfo.bind(null, "PLUGIN"),
218
- warn: logWarn.bind(null, "PLUGIN"),
219
- error: logError.bind(null, "PLUGIN"),
220
- debug: logDebug.bind(null, "PLUGIN"),
221
- };
222
- const pluginCtx = { cwd: process.cwd(), config: {}, logger: pluginLogger };
223
- // Загружаем все плагины (builtin + project + user)
224
- const pluginInfos = await loadAllPluginsWithInfo(pluginManager);
225
- // Активируем плагины из modeConfig (кастомные)
226
- if (modeConfig.plugins?.length) {
227
- await pluginManager.activateAll(modeConfig.plugins, pluginCtx);
228
- }
229
- // Авто-активация builtin плагинов (все моды)
230
- const builtinPlugins = pluginInfos.filter((p) => p.source === "builtin");
231
- for (const bp of builtinPlugins) {
232
- if (!pluginManager.isActive(bp.name)) {
233
- await pluginManager.activate(bp.name, pluginCtx);
234
- }
235
- }
236
- // Активация плагинов из config.agent.plugins
237
- const configPlugins = config.agent?.plugins || [];
238
- for (const pluginName of configPlugins) {
239
- if (!pluginManager.isActive(pluginName)) {
240
- await pluginManager.activate(pluginName, pluginCtx);
241
- }
242
- }
243
- // Регистрация обработчиков событий для всех активных плагинов
244
- if (pluginManager.isActive("lint-on-write")) {
245
- pluginManager.on("tool:after", "lint-on-write", (toolName, args, result) => {
246
- return lintHandleToolAfter(toolName, args, result, process.cwd(), ".lint-detected");
247
- });
248
- }
249
- if (pluginManager.isActive("notify")) {
250
- pluginManager.on("agent:done", "notify", () => handleAgentDone());
251
- pluginManager.on("tool:blocked", "notify", (toolName, args) => handleToolBlocked(toolName, args));
252
- pluginManager.on("tool:after", "notify", (toolName, args, result) => notifyHandleToolAfter(toolName, args, result));
253
- }
254
- const pluginSections = await pluginManager.getPromptSections();
255
- // Сборка system prompt (включает инструкции, информацию о проекте, скилы, память, плагины)
205
+ // Сборка system prompt (включает инструкции, информацию о проекте, скилы, память)
256
206
  const sysStart = performance.now();
257
- const systemPrompt = buildSystemPrompt(loadedSkills.length > 0 ? loadedSkills : undefined, options?.mode, pluginSections, options?.flags);
207
+ const systemPrompt = buildSystemPrompt(loadedSkills.length > 0 ? loadedSkills : undefined, options?.mode, options?.flags);
258
208
  const sysElapsed = ((performance.now() - sysStart) / 1000).toFixed(1);
259
209
  writeStatus(`Done (${sysElapsed}s)`);
260
210
  setStatusWriter(null);
@@ -285,7 +235,6 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
285
235
  const recentBashCommands = [];
286
236
  // ─── ToolExecutor: единый диспетчер инструментов ──
287
237
  const toolExecutor = new ToolExecutor();
288
- toolExecutor.setPluginManager(pluginManager);
289
238
  toolExecutor.registerAll([
290
239
  planHandler,
291
240
  todoHandler,
@@ -425,7 +374,7 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
425
374
  renderer?.writeInfo(` Auto-loaded ${loadedSkills.filter((s) => newSkillNames.includes(s.name)).length} skill(s): ${newSkillNames.join(", ")}`);
426
375
  messages[0] = {
427
376
  role: "system",
428
- content: buildSystemPrompt(loadedSkills, options?.mode, pluginSections, options?.flags),
377
+ content: buildSystemPrompt(loadedSkills, options?.mode, options?.flags),
429
378
  };
430
379
  // Не удаляем ответ ассистента — skills загружаются для следующих шагов цикла.
431
380
  // Модель увидит обновлённый system prompt на следующей итерации и сможет
@@ -762,8 +711,6 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
762
711
  // ─── Enforce: лимиты на запись файлов ────────────────
763
712
  // Отслеживание повторных чтений одного файла для консолидации
764
713
  let lastReadFile = null;
765
- writeEnforcer.enforcePlan(validCalls, messages, planEnforcement, quiet, renderer);
766
- writeEnforcer.enforceWriteStreak(validCalls, messages, directWriteStreakMax, quiet, renderer);
767
714
  writeEnforcer.enforceSingleWrite(validCalls, messages, quiet, renderer);
768
715
  // ─── Исполнение tool calls ──────────────────────────
769
716
  for (const call of validCalls) {
@@ -946,6 +893,7 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
946
893
  }
947
894
  }
948
895
  const toolTime = ((performance.now() - toolStart) / 1000).toFixed(1);
896
+ logToolOutput(parsed.name, toolOutput, toolExitCode);
949
897
  logToolCall(parsed.name, preview, toolExitCode !== 0
950
898
  ? `exit:${toolExitCode} ${toolOutput.slice(0, 100)}`
951
899
  : `ok (${toolTime}s)`);
@@ -956,7 +904,6 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
956
904
  renderer?.writeError(` ${line}`);
957
905
  }
958
906
  }
959
- autoLearnFromError(hookCmd, toolExitCode !== 0 ? toolOutput : "", "");
960
907
  }
961
908
  runPostToolUseHooks(process.cwd(), parsed.name, hookCmd, toolOutput, toolExitCode);
962
909
  // Track sequential read_file calls for consolidation
@@ -1079,19 +1026,9 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
1079
1026
  pendingSyntaxError = "";
1080
1027
  }
1081
1028
  }
1082
- // Автодетекция стиля кодирования из содержимого файла
1083
- if (toolExitCode === 0 && filePath) {
1084
- try {
1085
- const fullContent = readFileSync(join(process.cwd(), filePath), "utf-8");
1086
- collectCodingStyle(filePath, fullContent);
1087
- }
1088
- catch {
1089
- /* ignore */
1090
- }
1091
- // Track created/modified files for completion reporting
1092
- if (!hasSyntaxError && !createdFiles.includes(filePath)) {
1093
- createdFiles.push(filePath);
1094
- }
1029
+ // Track created/modified files for completion reporting
1030
+ if (!hasSyntaxError && !createdFiles.includes(filePath)) {
1031
+ createdFiles.push(filePath);
1095
1032
  }
1096
1033
  }
1097
1034
  }
@@ -1122,10 +1059,8 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
1122
1059
  renderer?.writeWarning("Agent stopped (double ESC)");
1123
1060
  }
1124
1061
  logInfo("LOOP", `runAgentLoop done: ${messages.length} total messages, aborted=${aborted}`);
1125
- // Agent:done event for notify plugin
1126
- if (pluginManager.isActive("notify")) {
1127
- pluginManager.emit("agent:done").catch(() => { });
1128
- }
1062
+ // Agent:done notification
1063
+ sendNotification("MMA", "Agent finished the task");
1129
1064
  return { messages };
1130
1065
  }
1131
1066
  //# sourceMappingURL=loop.js.map