micro-models-agent 0.41.2 → 0.42.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 (171) hide show
  1. package/bin/mma.mjs +41 -41
  2. package/dist/cli/commands.js +19 -9
  3. package/dist/cli/completer.js +37 -36
  4. package/dist/cli/index.js +2 -2
  5. package/dist/cli/main.js +23 -48
  6. package/dist/cli/repl-commands.js +12 -40
  7. package/dist/cli/repl.js +87 -217
  8. package/dist/cli/security-commands.js +7 -5
  9. package/dist/cli/setup.js +26 -8
  10. package/dist/config/config.js +5 -52
  11. package/dist/config/defaults.js +5 -29
  12. package/dist/config/experts.js +1 -1
  13. package/dist/config/index.js +3 -3
  14. package/dist/config/security.js +10 -3
  15. package/dist/core/agent-moe.js +10 -2
  16. package/dist/core/agent.js +82 -273
  17. package/dist/core/bootstrap.js +13 -80
  18. package/dist/core/index.js +2 -2
  19. package/dist/core/prompt-builder.js +2 -23
  20. package/dist/core/session-logger.js +4 -46
  21. package/dist/i18n/en.json +2 -75
  22. package/dist/i18n/ru.json +1 -74
  23. package/dist/index.js +1 -1
  24. package/dist/llm/image-utils.js +5 -4
  25. package/dist/llm/index.js +4 -4
  26. package/dist/llm/model-loader.js +6 -6
  27. package/dist/llm/openai-compat.js +34 -40
  28. package/dist/llm/orchestrator.js +29 -33
  29. package/dist/llm/response.js +9 -9
  30. package/dist/logger/app-logger.js +1 -1
  31. package/dist/logger/index.js +1 -1
  32. package/dist/main.js +299 -55
  33. package/dist/migration/backup.js +13 -13
  34. package/dist/migration/detect.js +11 -11
  35. package/dist/migration/index.js +2 -2
  36. package/dist/modules/browser/actions.js +4 -34
  37. package/dist/modules/browser/bridge-server.mjs +202 -202
  38. package/dist/modules/browser/cookie-store.js +6 -6
  39. package/dist/modules/browser/index.js +5 -7
  40. package/dist/modules/browser/module.js +7 -8
  41. package/dist/modules/browser/session.js +84 -87
  42. package/dist/modules/browser/snapshot.js +58 -92
  43. package/dist/modules/browser/types.js +1 -4
  44. package/dist/modules/certification/cli.js +4 -2
  45. package/dist/modules/certification/fact-checker.js +3 -1
  46. package/dist/modules/certification/loader.js +9 -3
  47. package/dist/modules/certification/runner.js +4 -1
  48. package/dist/modules/context/index.js +1 -1
  49. package/dist/modules/context/manager.js +86 -160
  50. package/dist/modules/execution/auditor.js +25 -177
  51. package/dist/modules/execution/module.js +544 -201
  52. package/dist/modules/execution/moe-executor.js +0 -25
  53. package/dist/modules/execution/plan-store.js +3 -1
  54. package/dist/modules/execution/plan-validator.js +10 -10
  55. package/dist/modules/execution/planner.js +1 -6
  56. package/dist/modules/execution/stuck-detector.js +10 -173
  57. package/dist/modules/execution/verifier.js +42 -86
  58. package/dist/modules/hallucination/confidence.js +1 -8
  59. package/dist/modules/hallucination/detector.js +5 -2
  60. package/dist/modules/hallucination/factual.js +64 -3
  61. package/dist/modules/hallucination/index.js +1 -1
  62. package/dist/modules/hallucination/js-identifiers.js +0 -190
  63. package/dist/modules/hallucination/llm-judge.js +3 -1
  64. package/dist/modules/indexer/cache.js +7 -9
  65. package/dist/modules/indexer/index.js +3 -3
  66. package/dist/modules/indexer/module.js +42 -95
  67. package/dist/modules/indexer/walker.js +17 -17
  68. package/dist/modules/lsp/client.js +31 -74
  69. package/dist/modules/lsp/config.js +33 -87
  70. package/dist/modules/lsp/index.js +3 -3
  71. package/dist/modules/lsp/module.js +21 -185
  72. package/dist/modules/mcp/module.js +6 -2
  73. package/dist/modules/memory/index.js +1 -1
  74. package/dist/modules/memory/module.js +23 -71
  75. package/dist/modules/memory/search.js +9 -11
  76. package/dist/modules/memory/store.js +13 -13
  77. package/dist/modules/pipelines/engine.js +10 -10
  78. package/dist/modules/pipelines/index.js +3 -3
  79. package/dist/modules/pipelines/parser.js +14 -17
  80. package/dist/modules/pipelines/template.js +1 -1
  81. package/dist/modules/plugins/builtin/lint-on-write.js +16 -21
  82. package/dist/modules/plugins/builtin/notify.js +2 -3
  83. package/dist/modules/plugins/index.js +1 -1
  84. package/dist/modules/plugins/loader.js +17 -59
  85. package/dist/modules/plugins/manager.js +17 -73
  86. package/dist/modules/processes/index.js +1 -1
  87. package/dist/modules/processes/registry.js +46 -135
  88. package/dist/modules/registry.js +2 -4
  89. package/dist/modules/security/audit-notifier.js +39 -39
  90. package/dist/modules/security/command-validator.js +8 -2
  91. package/dist/modules/security/data-sanitizer.js +9 -1
  92. package/dist/modules/security/encryption.js +56 -58
  93. package/dist/modules/security/network-validator.js +9 -1
  94. package/dist/modules/security/path-validator.js +3 -1
  95. package/dist/modules/security/security-policies.js +19 -3
  96. package/dist/modules/security/session-encryption.js +1 -1
  97. package/dist/modules/security/session-isolation.js +8 -8
  98. package/dist/modules/session/index.js +3 -3
  99. package/dist/modules/session/module.js +5 -5
  100. package/dist/modules/session/store.js +9 -3
  101. package/dist/modules/skills/module.js +2 -1
  102. package/dist/modules/updater/checker.js +6 -70
  103. package/dist/modules/updater/index.js +1 -2
  104. package/dist/modules/user-profile/compressor.js +2 -2
  105. package/dist/modules/user-profile/index.js +1 -1
  106. package/dist/modules/user-profile/profile.js +9 -9
  107. package/dist/tools/attach-image.js +1 -1
  108. package/dist/tools/bash.js +19 -178
  109. package/dist/tools/browser.js +29 -46
  110. package/dist/tools/executor.js +5 -4
  111. package/dist/tools/file-info.js +12 -13
  112. package/dist/tools/filter-tools.js +2 -9
  113. package/dist/tools/glob-tool.js +11 -11
  114. package/dist/tools/grep-tool.js +3 -1
  115. package/dist/tools/index.js +2 -13
  116. package/dist/tools/list-dir.js +17 -18
  117. package/dist/tools/load-skill.js +3 -1
  118. package/dist/tools/path-utils.js +4 -4
  119. package/dist/tools/pipeline-run.js +25 -25
  120. package/dist/tools/process-kill.js +11 -11
  121. package/dist/tools/process-list.js +22 -20
  122. package/dist/tools/process-log.js +18 -22
  123. package/dist/tools/question.js +3 -1
  124. package/dist/tools/read-file.js +2 -10
  125. package/dist/tools/recall.js +37 -44
  126. package/dist/tools/registry.js +4 -15
  127. package/dist/tools/remember.js +29 -29
  128. package/dist/tools/scope-check.js +9 -9
  129. package/dist/tools/subagent.js +9 -54
  130. package/dist/tools/user-input.js +1 -1
  131. package/dist/tools/web-browse.js +3 -3
  132. package/dist/tools/web-fetch.js +3 -3
  133. package/dist/tools/web-search.js +3 -3
  134. package/dist/tools/write-file.js +3 -1
  135. package/dist/ui/box.js +5 -1
  136. package/dist/ui/index.js +6 -6
  137. package/dist/ui/md-formatter.js +33 -33
  138. package/dist/ui/output.js +5 -5
  139. package/dist/ui/renderer.js +10 -15
  140. package/dist/ui/table.js +1 -1
  141. package/package.json +48 -48
  142. package/dist/cli/plugin-commands.js +0 -36
  143. package/dist/cli/run-result.js +0 -22
  144. package/dist/core/version.js +0 -24
  145. package/dist/modules/artifacts/store.js +0 -61
  146. package/dist/modules/browser/bridge-client.js +0 -199
  147. package/dist/modules/browser/bridge-path.js +0 -10
  148. package/dist/modules/browser/driver.js +0 -136
  149. package/dist/modules/context/chunk-query.js +0 -100
  150. package/dist/modules/context/fact-extractor.js +0 -162
  151. package/dist/modules/context/history.js +0 -15
  152. package/dist/modules/execution/audit-runners.js +0 -152
  153. package/dist/modules/execution/execution-plugin.js +0 -272
  154. package/dist/modules/execution/plan-tool.js +0 -508
  155. package/dist/modules/execution/windows-commands.js +0 -41
  156. package/dist/modules/indexer/project-profile.js +0 -183
  157. package/dist/modules/lsp/check-tool.js +0 -58
  158. package/dist/modules/lsp/command.js +0 -60
  159. package/dist/modules/lsp/probe.js +0 -76
  160. package/dist/modules/lsp/project-root.js +0 -32
  161. package/dist/modules/lsp/startup-check.js +0 -141
  162. package/dist/modules/processes/detect.js +0 -34
  163. package/dist/modules/skills/matcher.js +0 -27
  164. package/dist/modules/updater/module.js +0 -116
  165. package/dist/tools/chunk-query.js +0 -99
  166. package/dist/tools/download-file.js +0 -116
  167. package/dist/tools/enable-tools.js +0 -58
  168. package/dist/tools/hidden-tools-block.js +0 -37
  169. package/dist/ui/line-editor.js +0 -703
  170. package/dist/ui/line-math.js +0 -69
  171. package/dist/ui/plan-view.js +0 -103
@@ -2,7 +2,7 @@ import { DEFAULT_SECURITY_CONFIG } from "./security";
2
2
  import { DEFAULT_LSP_CONFIG } from "../modules/lsp/config";
3
3
  export const DEFAULTS = {
4
4
  version: "2.0.0",
5
- model: "qwen/qwen3.5-9b",
5
+ model: "qwen3.5-9b",
6
6
  provider: {
7
7
  type: "openai-compat",
8
8
  baseUrl: "http://localhost:1234/v1",
@@ -15,28 +15,20 @@ export const DEFAULTS = {
15
15
  moe: {
16
16
  enabled: false,
17
17
  },
18
- tools: {
19
- defaultTags: ["file", "code"],
20
- enableOnDemand: true,
21
- },
22
18
  experts: {
23
19
  code: {
24
- model: "qwen/qwen3.5-9b",
20
+ model: "qwen3.5-9b",
25
21
  tool_tags: ["file", "code", "shell"],
26
22
  max_attempts: 3,
27
23
  },
28
- research: {
29
- model: "qwen/qwen3.5-9b",
30
- tool_tags: ["research"],
31
- max_attempts: 3,
32
- },
24
+ research: { model: "qwen3.5-9b", tool_tags: ["research"], max_attempts: 3 },
33
25
  browser: {
34
- model: "qwen/qwen3.5-9b",
26
+ model: "qwen3.5-9b",
35
27
  tool_tags: ["browser", "vision"],
36
28
  max_attempts: 3,
37
29
  },
38
30
  vision: {
39
- model: "qwen/qwen3.5-9b",
31
+ model: "qwen3.5-9b",
40
32
  tool_tags: ["browser", "vision", "file"],
41
33
  max_attempts: 2,
42
34
  },
@@ -72,9 +64,6 @@ export const DEFAULTS = {
72
64
  enabled: true,
73
65
  headless: true,
74
66
  maxElements: 30,
75
- maxContentChars: 2500,
76
- maxConsoleEntries: 40,
77
- maxConsoleLineChars: 400,
78
67
  viewportWidth: 1280,
79
68
  viewportHeight: 720,
80
69
  navigationTimeout: 15000,
@@ -107,18 +96,5 @@ export const DEFAULTS = {
107
96
  skills: {
108
97
  budget: 0.15,
109
98
  },
110
- subagent: {
111
- resultMode: "text",
112
- maxSummaryChars: 2000,
113
- artifactsDir: ".mma/artifacts",
114
- stableSystemPrompt: true,
115
- maxParallelChunkQueries: 4,
116
- },
117
99
  lsp: DEFAULT_LSP_CONFIG,
118
- updater: {
119
- enabled: true,
120
- checkOnStart: true,
121
- autoInstall: true,
122
- intervalMs: 0,
123
- },
124
100
  };
@@ -7,7 +7,7 @@ export function validateExpertConfig(config, allToolTags) {
7
7
  for (const [name, expert] of Object.entries(config.experts || {})) {
8
8
  for (const tag of expert.tool_tags) {
9
9
  if (!knownTags.has(tag)) {
10
- errors.push(`Expert "${name}" references unknown tool_tag "${tag}". Known tags: ${Array.from(knownTags).join(", ")}`);
10
+ errors.push(`Expert "${name}" references unknown tool_tag "${tag}". Known tags: ${Array.from(knownTags).join(', ')}`);
11
11
  }
12
12
  }
13
13
  }
@@ -1,3 +1,3 @@
1
- export { DEFAULTS } from "./defaults";
2
- export { loadConfig, saveConfig, validateConfig } from "./config";
3
- export { getExpertConfig, validateExpertConfig } from "./experts";
1
+ export { DEFAULTS } from './defaults';
2
+ export { loadConfig, saveConfig, validateConfig } from './config';
3
+ export { getExpertConfig, validateExpertConfig } from './experts';
@@ -147,7 +147,12 @@ export const DEFAULT_SECURITY_CONFIG = {
147
147
  auditNotifier: {
148
148
  enabled: false,
149
149
  minSeverity: "medium",
150
- eventTypes: ["security_block", "bash_command", "file_operation", "network_request"],
150
+ eventTypes: [
151
+ "security_block",
152
+ "bash_command",
153
+ "file_operation",
154
+ "network_request",
155
+ ],
151
156
  maxRetries: 3,
152
157
  webhookTimeout: 5000,
153
158
  },
@@ -171,8 +176,10 @@ export function mergeSecurityConfig(userConfig) {
171
176
  ...DEFAULT_SECURITY_CONFIG.network,
172
177
  ...userConfig?.network,
173
178
  },
174
- maxRecursionDepth: userConfig?.maxRecursionDepth ?? DEFAULT_SECURITY_CONFIG.maxRecursionDepth,
175
- maxFileOperations: userConfig?.maxFileOperations ?? DEFAULT_SECURITY_CONFIG.maxFileOperations,
179
+ maxRecursionDepth: userConfig?.maxRecursionDepth ??
180
+ DEFAULT_SECURITY_CONFIG.maxRecursionDepth,
181
+ maxFileOperations: userConfig?.maxFileOperations ??
182
+ DEFAULT_SECURITY_CONFIG.maxFileOperations,
176
183
  rateLimits: {
177
184
  ...DEFAULT_SECURITY_CONFIG.rateLimits,
178
185
  ...userConfig?.rateLimits,
@@ -1,5 +1,5 @@
1
1
  import { OrchestratorClient } from "../llm/orchestrator";
2
- import { validatePlan, applyAutoFixes } from "../modules/execution/plan-validator";
2
+ import { validatePlan, applyAutoFixes, } from "../modules/execution/plan-validator";
3
3
  import { MoEExecutor } from "../modules/execution/moe-executor";
4
4
  import { StepVerifier } from "../modules/execution/verifier";
5
5
  /**
@@ -53,7 +53,15 @@ export async function runWithMoE(deps, input, fallback, opts = {}) {
53
53
  const planResults = await executor.executePlan(plan);
54
54
  onMeta?.(`✅ Execution complete: ${planResults.results.filter((r) => r.success).length}/${planResults.results.length} succeeded\n`);
55
55
  const verifier = new StepVerifier(baseDir);
56
- const knownTags = ["file", "code", "shell", "research", "browser", "vision", "core"];
56
+ const knownTags = [
57
+ "file",
58
+ "code",
59
+ "shell",
60
+ "research",
61
+ "browser",
62
+ "vision",
63
+ "core",
64
+ ];
57
65
  const verification = await verifier.verifyMoEManifest(plan, config, knownTags);
58
66
  onPhase?.("thinking");
59
67
  let verifyResult;