micro-models-agent 0.2.54 → 0.2.56

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 (39) hide show
  1. package/dist/agent/loop.d.ts.map +1 -1
  2. package/dist/agent/loop.js +38 -37
  3. package/dist/agent/loop.js.map +1 -1
  4. package/dist/agent/modes/registry.d.ts.map +1 -1
  5. package/dist/agent/modes/registry.js +1 -0
  6. package/dist/agent/modes/registry.js.map +1 -1
  7. package/dist/agent/modes/types.d.ts +2 -0
  8. package/dist/agent/modes/types.d.ts.map +1 -1
  9. package/dist/agent/system-prompt.d.ts +1 -1
  10. package/dist/agent/system-prompt.d.ts.map +1 -1
  11. package/dist/agent/system-prompt.js +5 -3
  12. package/dist/agent/system-prompt.js.map +1 -1
  13. package/dist/cli.d.ts.map +1 -1
  14. package/dist/cli.js +55 -2
  15. package/dist/cli.js.map +1 -1
  16. package/dist/config/config.d.ts +13 -0
  17. package/dist/config/config.d.ts.map +1 -1
  18. package/dist/config/config.js +34 -0
  19. package/dist/config/config.js.map +1 -1
  20. package/dist/config/types.d.ts +19 -0
  21. package/dist/config/types.d.ts.map +1 -1
  22. package/dist/llm/openai-compat.d.ts.map +1 -1
  23. package/dist/llm/openai-compat.js +3 -1
  24. package/dist/llm/openai-compat.js.map +1 -1
  25. package/dist/repl/commands.d.ts.map +1 -1
  26. package/dist/repl/commands.js +0 -1
  27. package/dist/repl/commands.js.map +1 -1
  28. package/dist/repl/index.d.ts +1 -0
  29. package/dist/repl/index.d.ts.map +1 -1
  30. package/dist/repl/index.js +25 -17
  31. package/dist/repl/index.js.map +1 -1
  32. package/dist/tools/bash.d.ts.map +1 -1
  33. package/dist/tools/bash.js +68 -9
  34. package/dist/tools/bash.js.map +1 -1
  35. package/dist/tools/subagent.d.ts +1 -1
  36. package/dist/tools/subagent.d.ts.map +1 -1
  37. package/dist/tools/subagent.js +116 -9
  38. package/dist/tools/subagent.js.map +1 -1
  39. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAyGpD;;;;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;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACtE,OAAO,CAAC,eAAe,CAAC,CA8sB1B"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAY9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA2GpD;;;;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;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACtE,OAAO,CAAC,eAAe,CAAC,CAitB1B"}
@@ -11,14 +11,15 @@ import { loadSkill, loadSkillsFromRefs, enforceSkillBudget } from '../skills/loa
11
11
  import { runPreToolUseHooks, runPostToolUseHooks } from '../tools/hooks.js';
12
12
  import { isMCPCommand, parseMCPCommand, callMCPTool } from '../tools/mcp.js';
13
13
  import { showPlan, getPlanPendingCount } from '../tools/plan.js';
14
- import { listTodos } from '../tools/todo.js';
15
14
  import { checkFileSyntax } from '../tools/syntax-check.js';
16
- import { loadConfig } from '../config/config.js';
15
+ import { loadConfig, getLLMConfig } from '../config/config.js';
17
16
  import { buildSystemPrompt } from './system-prompt.js';
18
17
  import { logInfo, logWarn, logError, logDebug, logToolCall, setStatusWriter, writeStatus } from '../logger.js';
19
18
  import { buildSubagentContext, runIsolatedLoop, extractAllToolCalls, validateToolCall, doChat } from '../tools/subagent.js';
20
19
  import { SubagentRenderer } from '../ui/subagent-renderer.js';
21
20
  import { ToolExecutor } from './tool-executor.js';
21
+ import { PluginManager } from '../plugins/manager.js';
22
+ import { loadAllPlugins } from '../plugins/loader.js';
22
23
  import { planHandler } from '../tools/native/plan.js';
23
24
  import { todoHandler } from '../tools/native/todo.js';
24
25
  import { questionHandler } from '../tools/native/question.js';
@@ -147,6 +148,14 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
147
148
  const modeRegistry = new ModeRegistry();
148
149
  const modeConfig = modeRegistry.getOrFallback(options?.mode || 'base');
149
150
  const applied = applyMode(modeConfig, { quiet, showThinking: options?.showThinking });
151
+ // ─── Behaviors из ModeConfig ──────────────────────────
152
+ const behaviors = modeConfig.behaviors;
153
+ const planEnforcement = behaviors.planEnforcement !== false;
154
+ const directWriteStreakMax = typeof behaviors.directWriteStreakLimit === 'number'
155
+ ? behaviors.directWriteStreakLimit : (behaviors.directWriteStreak !== false ? 3 : Infinity);
156
+ const continuationNudgeMax = typeof behaviors.continuationNudgeLimit === 'number'
157
+ ? behaviors.continuationNudgeLimit : (behaviors.continuationNudge !== false ? 2 : 0);
158
+ const readConsolidation = behaviors.readConsolidation !== false;
150
159
  // Автозагрузка скилов из промпта (если пользователь указал @skill-name)
151
160
  const loadedSkills = loadSkillsFromRefs(prompt, process.cwd());
152
161
  const loadedSkillNames = new Set(loadedSkills.map(s => s.name));
@@ -195,9 +204,20 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
195
204
  }
196
205
  setStatusWriter(renderer ? (msg) => renderer.writeDim(` ${msg}`) : null);
197
206
  writeStatus('Initializing...');
198
- // Сборка system prompt (включает инструкции, информацию о проекте, скилы, память)
207
+ // ─── PluginManager: загрузка и активация плагинов ──
208
+ const pluginManager = new PluginManager();
209
+ await loadAllPlugins(pluginManager);
210
+ if (modeConfig.plugins?.length) {
211
+ await pluginManager.activateAll(modeConfig.plugins, {
212
+ cwd: process.cwd(),
213
+ config: {},
214
+ logger: { info: logInfo.bind(null, 'PLUGIN'), warn: logWarn.bind(null, 'PLUGIN'), error: logError.bind(null, 'PLUGIN'), debug: logDebug.bind(null, 'PLUGIN') },
215
+ });
216
+ }
217
+ const pluginSections = await pluginManager.getPromptSections();
218
+ // Сборка system prompt (включает инструкции, информацию о проекте, скилы, память, плагины)
199
219
  const sysStart = performance.now();
200
- const systemPrompt = buildSystemPrompt(loadedSkills.length > 0 ? loadedSkills : undefined, options?.mode);
220
+ const systemPrompt = buildSystemPrompt(loadedSkills.length > 0 ? loadedSkills : undefined, options?.mode, pluginSections);
201
221
  const sysElapsed = ((performance.now() - sysStart) / 1000).toFixed(1);
202
222
  writeStatus(`Done (${sysElapsed}s)`);
203
223
  setStatusWriter(null);
@@ -216,6 +236,7 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
216
236
  let directWriteStreak = 0; // количество прямых write_file без subagent
217
237
  // ─── ToolExecutor: единый диспетчер инструментов ──
218
238
  const toolExecutor = new ToolExecutor();
239
+ toolExecutor.setPluginManager(pluginManager);
219
240
  toolExecutor.registerAll([
220
241
  planHandler, todoHandler, questionHandler, approveHandler,
221
242
  userProfileHandler, themeHandler, bashHandler,
@@ -282,8 +303,9 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
282
303
  await ctx.updateTokens(messages);
283
304
  }
284
305
  // ─── Запрос к LLM ────────────────────────────────────
285
- logInfo('LOOP', `calling doChat, messages: ${messages.length}, options.showThinking: ${options?.showThinking}`);
286
- const { response } = await doChat(provider, messages, renderer, renderer?.abortSignal, 1, options?.showThinking);
306
+ const llmCfg = getLLMConfig(config);
307
+ logInfo('LOOP', `calling doChat, messages: ${messages.length}, options.showThinking: ${options?.showThinking}, retries: ${llmCfg.retries}`);
308
+ const { response } = await doChat(provider, messages, renderer, renderer?.abortSignal, llmCfg.retries, options?.showThinking);
287
309
  // Проверка прерывания во время генерации
288
310
  if (renderer?.abortSignal?.aborted) {
289
311
  aborted = true;
@@ -310,7 +332,7 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
310
332
  if (newSkillNames.length > 0) {
311
333
  skillsAutoLoaded = true;
312
334
  renderer?.writeInfo(` Auto-loaded ${newSkillNames.length} skill(s): ${newSkillNames.join(', ')}`);
313
- messages[0] = { role: 'system', content: buildSystemPrompt(loadedSkills, options?.mode) };
335
+ messages[0] = { role: 'system', content: buildSystemPrompt(loadedSkills, options?.mode, pluginSections) };
314
336
  messages.push({ role: 'system', content: `Skills loaded: ${newSkillNames.join(', ')}. Continue your work using these skills where relevant.` });
315
337
  continue;
316
338
  }
@@ -412,14 +434,14 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
412
434
  }
413
435
  // Nudge model to continue working after a tool result — but only if
414
436
  // the agent didn't already write a meaningful text response.
415
- if (continuationNudges < 2) {
437
+ if (continuationNudgeMax > 0 && continuationNudges < continuationNudgeMax) {
416
438
  const lastThree = messages.slice(-3);
417
439
  const hasRecentToolResult = lastThree.some(m => m.role === 'tool');
418
440
  const alreadyResponded = response.replace(/<tool_call>[\s\S]*?<\/tool_call>/g, '').trim().length > 20;
419
441
  if (hasRecentToolResult && !alreadyResponded) {
420
442
  continuationNudges++;
421
443
  if (!quiet) {
422
- renderer?.writeDim(` [nudge ${continuationNudges}/2: continue working]`);
444
+ renderer?.writeDim(` [nudge ${continuationNudges}/${continuationNudgeMax}: continue working]`);
423
445
  }
424
446
  messages.push({ role: 'user', content: '[Tool result received. Write a response to the user. Do NOT call additional tools unless there is actual work to do.]' });
425
447
  continue;
@@ -459,9 +481,9 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
459
481
  // ─── Enforce: лимиты на запись файлов ────────────────
460
482
  // Отслеживание повторных чтений одного файла для консолидации
461
483
  let lastReadFile = null;
462
- // Блокировка прямых write_file когда есть план с 3+ шагами —.force subagent
484
+ // Блокировка прямых write_file когда есть план с 3+ шагами — force subagent
463
485
  const planSteps = showPlan();
464
- const hasMultiStepPlan = !planSteps.startsWith('No active plan') && (planSteps.match(/\n/g) || []).length >= 3;
486
+ const hasMultiStepPlan = planEnforcement && !planSteps.startsWith('No active plan') && (planSteps.match(/\n/g) || []).length >= 3;
465
487
  if (hasMultiStepPlan) {
466
488
  const directWrites = validCalls.filter(c => c.parsed.name === 'write_file' || c.parsed.name === 'edit_file');
467
489
  const hasSubagent = validCalls.some(c => c.parsed.name === 'subagent');
@@ -483,8 +505,8 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
483
505
  }
484
506
  }
485
507
  }
486
- // ESCALATION: block write_file when creating 3+ files without subagent (no plan case)
487
- if (!hasMultiStepPlan) {
508
+ // ESCALATION: block write_file when creating N+ files without subagent (no plan case)
509
+ if (directWriteStreakMax < Infinity && !hasMultiStepPlan) {
488
510
  const hasWrite = validCalls.some(c => c.parsed.name === 'write_file');
489
511
  const hasSubagentNow = validCalls.some(c => c.parsed.name === 'subagent');
490
512
  if (hasSubagentNow) {
@@ -493,10 +515,8 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
493
515
  else if (hasWrite) {
494
516
  const writeCount = validCalls.filter(c => c.parsed.name === 'write_file').length;
495
517
  directWriteStreak += writeCount;
496
- if (directWriteStreak >= 3) {
518
+ if (directWriteStreak >= directWriteStreakMax) {
497
519
  const directWrites = validCalls.filter(c => c.parsed.name === 'write_file');
498
- // Блокируем ВСЕ write_file, но отправляем ОДИН блокирующий message
499
- // чтобы не засорять контекст повторными BLOCKED
500
520
  for (const wc of directWrites) {
501
521
  const idx = validCalls.indexOf(wc);
502
522
  if (idx !== -1)
@@ -515,13 +535,6 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
515
535
  }
516
536
  }
517
537
  }
518
- else {
519
- // Non-write tool calls don't reset the counter but also don't increment
520
- const hasNonWriteTool = validCalls.length > 0 && !hasWrite;
521
- if (hasNonWriteTool && directWriteStreak > 0) {
522
- // New file creations should not be penalized across different operation types
523
- }
524
- }
525
538
  }
526
539
  // Блокировка нескольких записей файлов за один ответ — максимум одна
527
540
  const writeCalls = validCalls.filter(c => c.parsed.name === 'write_file' || c.parsed.name === 'edit_file');
@@ -593,7 +606,7 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
593
606
  logInfo('AGENT', `spawning subagent | task: "${task.slice(0, 150)}"`);
594
607
  const subRenderer = new SubagentRenderer();
595
608
  try {
596
- const childResult = await runIsolatedLoop(provider, registry, task, autoContext, process.cwd(), quiet, subRenderer, toolExecutor);
609
+ const childResult = await runIsolatedLoop(provider, registry, task, autoContext, process.cwd(), quiet, subRenderer, toolExecutor, modeConfig.subagentMode);
597
610
  toolOutput = childResult.summary;
598
611
  logInfo('AGENT', `subagent returned | files: ${childResult.createdFiles.length} | turns: ${childResult.turns} | errors: ${childResult.errors.length}`);
599
612
  if (childResult.createdFiles.length > 0) {
@@ -674,7 +687,7 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
674
687
  }
675
688
  runPostToolUseHooks(process.cwd(), parsed.name, hookCmd, toolOutput, toolExitCode);
676
689
  // Track sequential read_file calls for consolidation
677
- if (!isBash && parsed.name === 'read_file' && toolExitCode === 0) {
690
+ if (readConsolidation && !isBash && parsed.name === 'read_file' && toolExitCode === 0) {
678
691
  const filePath = String(parsed.arguments.path ?? '');
679
692
  const offset = Math.max(1, Number(parsed.arguments.offset ?? 1));
680
693
  const limit = Math.max(1, Number(parsed.arguments.limit ?? 500));
@@ -785,18 +798,6 @@ export async function runAgentLoop(provider, registry, prompt, contextManager, p
785
798
  }
786
799
  }
787
800
  }
788
- if (isBash && cmd.startsWith('plan ') && toolExitCode === 0) {
789
- const planOutput = showPlan();
790
- if (planOutput && !planOutput.startsWith('No active plan')) {
791
- renderer?.writeLine(planOutput);
792
- }
793
- }
794
- if (isBash && cmd.startsWith('todo ') && toolExitCode === 0) {
795
- const todoOutput = listTodos();
796
- if (todoOutput) {
797
- renderer?.writeLine(todoOutput);
798
- }
799
- }
800
801
  messages.push({
801
802
  role: 'tool',
802
803
  content: truncateToolOutput(parsed.name, toolOutput, toolExitCode),
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agent/modes/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA2F7C;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAS;;IAU1B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIhC,qCAAqC;IACrC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAMtC,8BAA8B;IAC9B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvC,sDAAsD;IACtD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAIrC,0BAA0B;IAC1B,IAAI,IAAI,UAAU,EAAE;IAIpB,6BAA6B;IAC7B,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM5B,oCAAoC;IACpC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,4CAA4C;IAC5C,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI;CAuBxE"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agent/modes/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA4F7C;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAS;;IAU1B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIhC,qCAAqC;IACrC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAMtC,8BAA8B;IAC9B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvC,sDAAsD;IACtD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAIrC,0BAA0B;IAC1B,IAAI,IAAI,UAAU,EAAE;IAIpB,6BAA6B;IAC7B,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM5B,oCAAoC;IACpC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,4CAA4C;IAC5C,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI;CAuBxE"}
@@ -83,6 +83,7 @@ const BUILTIN_MODES = [
83
83
  promptPrefix: '[pro]',
84
84
  },
85
85
  subagentMode: 'base',
86
+ plugins: ['hooks-adapter'],
86
87
  },
87
88
  ];
88
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agent/modes/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agent/modes/registry.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,8 @@ export interface ModeConfig {
32
32
  allowAutoLoadSkills: boolean;
33
33
  /** Поведения ( Record для расширяемости) */
34
34
  behaviors: Record<string, unknown>;
35
+ /** Плагины, активируемые в этом режиме */
36
+ plugins?: string[];
35
37
  /** UI настройки */
36
38
  ui: {
37
39
  showThinking: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/modes/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,oBAAoB,EAAE,MAAM,CAAC;IAE7B,kBAAkB;IAClB,WAAW,EAAE;QACX,6CAA6C;QAC7C,SAAS,EAAE,MAAM,CAAC;QAClB,gCAAgC;QAChC,gBAAgB,EAAE,MAAM,CAAC;QACzB,2DAA2D;QAC3D,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,iEAAiE;IACjE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oDAAoD;IACpD,mBAAmB,EAAE,OAAO,CAAC;IAE7B,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,mBAAmB;IACnB,EAAE,EAAE;QACF,YAAY,EAAE,OAAO,CAAC;QACtB,KAAK,EAAE,OAAO,CAAC;QACf,kDAAkD;QAClD,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACxD,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/modes/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,oBAAoB,EAAE,MAAM,CAAC;IAE7B,kBAAkB;IAClB,WAAW,EAAE;QACX,6CAA6C;QAC7C,SAAS,EAAE,MAAM,CAAC;QAClB,gCAAgC;QAChC,gBAAgB,EAAE,MAAM,CAAC;QACzB,2DAA2D;QAC3D,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,iEAAiE;IACjE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oDAAoD;IACpD,mBAAmB,EAAE,OAAO,CAAC;IAE7B,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,mBAAmB;IACnB,EAAE,EAAE;QACF,YAAY,EAAE,OAAO,CAAC;QACtB,KAAK,EAAE,OAAO,CAAC;QACf,kDAAkD;QAClD,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACxD,CAAC;CACH"}
@@ -21,5 +21,5 @@ export declare function invalidateSystemPromptCache(): void;
21
21
  * @param mode - режим работы (fast/pro/base)
22
22
  * @returns Собранный system prompt строкой
23
23
  */
24
- export declare function buildSystemPrompt(extraSkills?: Skill[], mode?: AgentMode): string;
24
+ export declare function buildSystemPrompt(extraSkills?: Skill[], mode?: AgentMode, pluginSections?: string[]): string;
25
25
  //# sourceMappingURL=system-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwD,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAoPpD,wEAAwE;AACxE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAqFjF"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwD,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAoPpD,wEAAwE;AACxE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAuF5G"}
@@ -261,10 +261,10 @@ export function invalidateSystemPromptCache() {
261
261
  * @param mode - режим работы (fast/pro/base)
262
262
  * @returns Собранный system prompt строкой
263
263
  */
264
- export function buildSystemPrompt(extraSkills, mode) {
264
+ export function buildSystemPrompt(extraSkills, mode, pluginSections) {
265
265
  const start = performance.now();
266
266
  // Ключ кэша: текущий каталог + режим + имена скилов (sorted)
267
- const key = `${process.cwd()}:${mode || 'base'}:${extraSkills?.map(s => s.name).sort().join(',') || ''}`;
267
+ const key = `${process.cwd()}:${mode || 'base'}:${extraSkills?.map(s => s.name).sort().join(',') || ''}:${pluginSections?.length || 0}`;
268
268
  const cached = systemPromptCache.get(key);
269
269
  if (cached) {
270
270
  logDebug('SYSTEM', 'buildSystemPrompt: cache hit');
@@ -336,7 +336,9 @@ You help with software engineering tasks in the project directory.`;
336
336
  const base = mode === 'fast'
337
337
  ? [header, platformBlock, sysInfo, memory, userProfile, projectMap, agentsBlock, modeBlock].filter(Boolean).join('\n')
338
338
  : [header, platformBlock, sysInfo, memory, userProfile, projectMap, agentsBlock, skillsHint, modeBlock].filter(Boolean).join('\n');
339
- const result = base + (extraSkills && extraSkills.length > 0 && mode !== 'fast' ? '\n\n' + formatSkillsBlock(extraSkills) : '');
339
+ const result = base
340
+ + (extraSkills && extraSkills.length > 0 && mode !== 'fast' ? '\n\n' + formatSkillsBlock(extraSkills) : '')
341
+ + (pluginSections?.length ? '\n\n' + pluginSections.join('\n\n') : '');
340
342
  const elapsed = (performance.now() - start).toFixed(0);
341
343
  logInfo('SYSTEM', `buildSystemPrompt: ${result.length} chars in ${elapsed}ms`);
342
344
  systemPromptCache.set(key, result);
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAc,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGjD;;;;;;;;;;;;;;;;GAgBG;AAEH,0DAA0D;AAC1D,6DAA6D;AAC7D,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EA4EsD,CAAC;AAE3E,2DAA2D;AAC3D,mEAAmE;AACnE,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6FAiCmE,CAAC;AAE9F,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GA0CqF,CAAC;AAE3G,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;6CAyB0B,CAAC;AAE9C,MAAM,mBAAmB,GAAG;;;;8GAIkF,CAAC;AAE/G,MAAM,gBAAgB,GAAG;;;;;;;;;;;2CAWkB,CAAC;AAE5C,MAAM,aAAa,GAAG;;;;4FAIsE,CAAC;AAE7F,MAAM,UAAU,GAAG;;;;;qCAKkB,CAAC;AAEtC,0DAA0D;AAC1D,2DAA2D;AAC3D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEpD,wEAAwE;AACxE,MAAM,UAAU,2BAA2B;IACzC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAqB,EAAE,IAAgB,EAAE,cAAyB;IAClG,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,6DAA6D;IAC7D,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,MAAM,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,cAAc,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;IACxI,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,QAAQ,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvD,IAAI,SAAS,GAAG,YAAY,CAAC;IAC7B,IAAI,CAAC;QAAC,SAAS,IAAI,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACrH,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1D,MAAM,aAAa,GAAG,KAAK;QACzB,CAAC,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7F,CAAC,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG;mEACkD,CAAC;IAElE,MAAM,OAAO,GAAG;QACd,EAAE;QACF,WAAW;QACX,SAAS,OAAO,EAAE;QAClB,SAAS,OAAO,EAAE;QAClB,OAAO,SAAS,EAAE;QAClB,YAAY,OAAO,CAAC,OAAO,EAAE;QAC7B,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE;QACvB,YAAY,WAAW,EAAE;QACzB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,wDAAwD;IACxD,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,wDAAwD;IACxD,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrE,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,GAAG,mBAAmB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAExB,wDAAwD;IACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,wDAAwD;IACxD,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,0BAA0B,SAAS,CAAC,MAAM,qpBAAqpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACxuB,CAAC,CAAC,EAAE,CAAC;IAEP,wDAAwD;IACxD,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM;QAC/B,CAAC,CAAC,iKAAiK;QACnK,CAAC,CAAC,IAAI,KAAK,KAAK;YAChB,CAAC,CAAC,kQAAkQ;YACpQ,CAAC,CAAC,EAAE,CAAC;IAEP,wDAAwD;IACxD,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM;QAC1B,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACtH,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrI,MAAM,MAAM,GAAG,IAAI;UACf,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;UACzG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,QAAQ,EAAE,sBAAsB,MAAM,CAAC,MAAM,aAAa,OAAO,IAAI,CAAC,CAAC;IAC/E,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8GpC,wBAAgB,SAAS,YA0KxB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8GpC,wBAAgB,SAAS,YAgOxB"}
package/dist/cli.js CHANGED
@@ -118,6 +118,7 @@ export function createCli() {
118
118
  .argument('[prompt]', 'prompt to execute')
119
119
  .option('--model <model>', 'model to use')
120
120
  .option('--provider <provider>', 'provider to use')
121
+ .option('--mode <mode>', 'agent mode (fast|base|pro)')
121
122
  .option('--stdin', 'force read from stdin (for piped mode)')
122
123
  .option('--ink', 'use ink renderer (React terminal UI)')
123
124
  .option('--max-files <count>', 'max source files for project map', parseInt);
@@ -125,6 +126,57 @@ export function createCli() {
125
126
  registerModelCommands(program);
126
127
  registerConfigCommands(program);
127
128
  registerUpdateCommand(program);
129
+ // ─── Plugin management ─────────────────────────────────
130
+ const pluginCmd = program.command('plugin').description('plugin management');
131
+ pluginCmd
132
+ .command('list')
133
+ .description('list installed plugins')
134
+ .action(async () => {
135
+ const { PluginManager } = await import('./plugins/manager.js');
136
+ const { loadAllPlugins } = await import('./plugins/loader.js');
137
+ const pm = new PluginManager();
138
+ await loadAllPlugins(pm);
139
+ const plugins = pm.listPlugins();
140
+ const theme = getTheme();
141
+ if (plugins.length === 0) {
142
+ console.log(theme.dim(' No plugins installed.'));
143
+ console.log(theme.dim(' Place plugins in ~/.mma/plugins/ or .mma/plugins/'));
144
+ return;
145
+ }
146
+ console.log(theme.info(` Installed plugins (${plugins.length}):`));
147
+ for (const p of plugins) {
148
+ const status = p.active ? theme.successMsg('active') : theme.dim('inactive');
149
+ const ver = p.version ? ` v${p.version}` : '';
150
+ console.log(` ${theme.highlight(p.name)}${ver} — ${status}`);
151
+ if (p.description)
152
+ console.log(` ${theme.dim(p.description)}`);
153
+ }
154
+ });
155
+ pluginCmd
156
+ .command('create')
157
+ .argument('<name>', 'plugin name')
158
+ .description('scaffold a new plugin in .mma/plugins/')
159
+ .action(async (name) => {
160
+ const { writeFileSync, mkdirSync, existsSync } = await import('node:fs');
161
+ const { join } = await import('node:path');
162
+ const theme = getTheme();
163
+ const pluginDir = join('.mma', 'plugins', name);
164
+ if (existsSync(pluginDir)) {
165
+ console.log(theme.error(` Plugin "${name}" already exists at ${pluginDir}`));
166
+ return;
167
+ }
168
+ mkdirSync(pluginDir, { recursive: true });
169
+ const manifest = {
170
+ name,
171
+ version: '0.1.0',
172
+ description: `${name} plugin`,
173
+ entry: 'index.ts',
174
+ };
175
+ writeFileSync(join(pluginDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
176
+ writeFileSync(join(pluginDir, 'index.ts'), `import type { AgentPlugin } from '../../src/plugins/types.js';\n\nexport default function createPlugin(): AgentPlugin {\n return {\n name: '${name}',\n version: '0.1.0',\n async onActivate(ctx) {\n ctx.logger.info('${name}: activated');\n },\n };\n}\n`);
177
+ console.log(theme.successMsg(` Plugin "${name}" created at ${pluginDir}`));
178
+ console.log(theme.dim(` Files: manifest.json, index.ts`));
179
+ });
128
180
  // Top-level `use <name>` — быстрое переключение модели
129
181
  program
130
182
  .command('use')
@@ -191,6 +243,7 @@ export function createCli() {
191
243
  checkForUpdateAsync();
192
244
  const providerOpt = program.getOptionValue('provider');
193
245
  const modelOpt = program.getOptionValue('model');
246
+ const modeOpt = program.getOptionValue('mode');
194
247
  if (providerOpt)
195
248
  config.active.provider = providerOpt;
196
249
  if (modelOpt)
@@ -253,12 +306,12 @@ export function createCli() {
253
306
  }
254
307
  if (prompt) {
255
308
  const renderer = await createRenderer(undefined, renderOptions);
256
- runAgentLoop(provider, registry, prompt, undefined, undefined, renderer, config.active.provider, { showThinking: config.agent.showThinking });
309
+ runAgentLoop(provider, registry, prompt, undefined, undefined, renderer, config.active.provider, { showThinking: config.agent.showThinking, mode: modeOpt });
257
310
  }
258
311
  else {
259
312
  const commands = getSlashCommands();
260
313
  const renderer = await createRenderer(commands, renderOptions);
261
- runRepl(provider, registry, modelLabel, renderer, { showThinking: config.agent.showThinking });
314
+ runRepl(provider, registry, modelLabel, renderer, { showThinking: config.agent.showThinking, mode: modeOpt });
262
315
  }
263
316
  });
264
317
  return program;