micro-models-agent 2.5.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +105 -0
- package/README.md +88 -38
- package/bin/mma.mjs +41 -41
- package/dist/assets/app.js +246 -3086
- package/dist/assets/hljs.js +1244 -0
- package/dist/assets/index.html +15 -1
- package/dist/assets/js/api.js +28 -0
- package/dist/assets/js/dialog.js +105 -0
- package/dist/assets/js/dom.js +157 -0
- package/dist/assets/js/feed.js +995 -0
- package/dist/assets/js/format.js +114 -0
- package/dist/assets/js/i18n.js +46 -0
- package/dist/assets/js/settings.js +1126 -0
- package/dist/assets/js/store.js +79 -0
- package/dist/assets/js/tabs.js +672 -0
- package/dist/assets/md.js +277 -0
- package/dist/assets/setup.js +557 -0
- package/dist/assets/smd.js +1665 -0
- package/dist/assets/styles.css +250 -16
- package/dist/i18n/en.json +174 -6
- package/dist/i18n/ru.json +174 -6
- package/dist/main.js +5198 -2651
- package/dist/modules/browser/bridge-server.mjs +3 -3
- package/package.json +10 -2
package/dist/i18n/en.json
CHANGED
|
@@ -74,6 +74,9 @@
|
|
|
74
74
|
"session.not_found": "Session not found: {id}",
|
|
75
75
|
"session.no_active": "No active session",
|
|
76
76
|
"session.deleted": "Session deleted: {id}",
|
|
77
|
+
"session.pruned": "Pruned {n} empty session(s)",
|
|
78
|
+
"session.prune_dry": "Would prune {n} empty session(s)",
|
|
79
|
+
"session.prune_empty": "No empty sessions to prune",
|
|
77
80
|
"session.renamed": "Session renamed to: {name}",
|
|
78
81
|
"session.created": "Created session: {name}",
|
|
79
82
|
"session.resumed": "Resumed session: {name}",
|
|
@@ -88,6 +91,7 @@
|
|
|
88
91
|
"session.available": "Available sessions:",
|
|
89
92
|
"session.no_match": "No session matching \"{query}\"",
|
|
90
93
|
"session.default_name": "Session {date}",
|
|
94
|
+
"session.auto_named": "Session auto-named: {name}",
|
|
91
95
|
"session.info_full": "[Session: \"{name}\" ({id}) | model: {model} | context: {contextWindow} tokens]",
|
|
92
96
|
"session.col_active": "",
|
|
93
97
|
"session.col_id": "ID",
|
|
@@ -139,6 +143,8 @@
|
|
|
139
143
|
"tool.friendly.lsp_check": "Checking code",
|
|
140
144
|
"tool.friendly.meet_done": "Interview complete",
|
|
141
145
|
"tool.truncated": "[Truncated: {tokens} tokens removed]",
|
|
146
|
+
"critic.repair": "A verifier flagged critical problems; fix them before finishing:\n{issues}\nSummary: {summary}",
|
|
147
|
+
"critic.advice": "A verifier flagged issues worth checking before you finish:\n{issues}",
|
|
142
148
|
"tool.subagent_queued": "Sub-agent task queued: {task}",
|
|
143
149
|
"tool.subagent_artifact": "Sub-agent completed. Full result saved to artifact: {path}\nIterations: {iterations}\nSummary:\n{summary}",
|
|
144
150
|
"tool.pipeline_started": "Pipeline \"{name}\" execution started. Pipeline engine is a stub — run dispatched.",
|
|
@@ -163,6 +169,20 @@
|
|
|
163
169
|
"tool.name_or_task": "Provide either \"name\" or \"task\" parameter",
|
|
164
170
|
"tool.chunk_query_no_query": "chunk_query: a query string is required.",
|
|
165
171
|
"tool.chunk_query_no_input": "chunk_query: provide input_path or text.",
|
|
172
|
+
"tool.chunk_query_no_provider": "chunk_query: missing LLM provider in context.",
|
|
173
|
+
"tool.chunk_query_path_not_allowed": "[SCOPE] {reason}",
|
|
174
|
+
"tool.chunk_query_read_failed": "Cannot read {path}: {error}",
|
|
175
|
+
"tool.subagent_cannot_run": "Sub-agent cannot run: missing LLM provider or tool executor in context.",
|
|
176
|
+
"tool.subagent_failed": "Sub-agent failed: {error}\nPartial output: {text}",
|
|
177
|
+
"tool.subagent_completed": "Sub-agent completed:\n{text}\n\nIterations: {iterations}",
|
|
178
|
+
"tool.subagent_error": "Sub-agent error: {error}",
|
|
179
|
+
"tool.pipeline_cannot_run": "Pipeline cannot run: missing LLM provider or tool executor in context.",
|
|
180
|
+
"tool.pipeline_failed": "Pipeline \"{name}\" failed. Executed {done}/{total} steps.\n{logs}",
|
|
181
|
+
"tool.pipeline_completed": "Pipeline \"{name}\" completed successfully ({steps} steps).\n{logs}",
|
|
182
|
+
"tool.pipeline_error": "Pipeline error: {error}",
|
|
183
|
+
"tool.mcp_server_not_found": "MCP server \"{server}\" not found. Available: {available}",
|
|
184
|
+
"tool.mcp_call_failed": "MCP call failed: {error}",
|
|
185
|
+
"tool.meet_done": "Interview marked complete.",
|
|
166
186
|
"tool.invalid_params": "Invalid parameters",
|
|
167
187
|
"tool.skill_budget": "Skill \"{name}\" loaded ({tokens} tokens, {remaining} remaining in skills budget). Skill content is now in system prompt — no need to reload after context compaction.",
|
|
168
188
|
"tool.skill_available_hint": "Available skills",
|
|
@@ -180,7 +200,7 @@
|
|
|
180
200
|
"tool.interactive_disabled": "Interactive tool is disabled in exit-on-complete mode. Proceed without asking the user.",
|
|
181
201
|
"proc.started": "Started background process {id} (PID {pid}).\nCommand: {command}",
|
|
182
202
|
"proc.promoted_hint": "Command still running after {ms} ms — moved to the background",
|
|
183
|
-
"proc.manage_hint": "Check output: process_log id={id}. Stop it: process_kill id={id}. List all: process_list.",
|
|
203
|
+
"proc.manage_hint": "Check output: process_log id={id}. Wait for completion: process_wait id={id}. Stop it: process_kill id={id}. List all: process_list.",
|
|
184
204
|
"proc.output_preview": "First output:\n{lines}",
|
|
185
205
|
"proc.none": "No background processes running.",
|
|
186
206
|
"proc.not_found": "Process not found: {id}",
|
|
@@ -195,9 +215,13 @@
|
|
|
195
215
|
"proc.status_running": "running",
|
|
196
216
|
"proc.status_exited": "exited",
|
|
197
217
|
"proc.status_killed": "killed",
|
|
218
|
+
"proc.wait_exited": "Process {id} {status} after {ms} ms with exit code {code}.",
|
|
219
|
+
"proc.wait_running": "Process {id} still running after {ms} ms.",
|
|
220
|
+
"proc.wait_hint": "Wait again: process_wait id={id}. Check output: process_log id={id}. Stop it: process_kill id={id}.",
|
|
198
221
|
"tool.friendly.process_list": "Listing background processes",
|
|
199
222
|
"tool.friendly.process_log": "Process output",
|
|
200
223
|
"tool.friendly.process_kill": "Stopping process",
|
|
224
|
+
"tool.friendly.process_wait": "Waiting for process",
|
|
201
225
|
"plan.no_steps": "No plan steps specified. Provide concrete steps with files and commands.",
|
|
202
226
|
"plan.created": "Plan created: {title} ({steps} steps)",
|
|
203
227
|
"plan.coverage_warning": "Plan may be missing required files from the task: {missing}. Add steps covering them.",
|
|
@@ -213,6 +237,7 @@
|
|
|
213
237
|
"plan.step_status": "Step {step}: {status}",
|
|
214
238
|
"plan.no_active": "No active plan",
|
|
215
239
|
"plan.step_not_found": "Step not found",
|
|
240
|
+
"plan.bad_status": "Invalid status \"{status}\". Use one of: {allowed}.",
|
|
216
241
|
"plan.step_already_done": "Step {step} is already done — nothing to do. Plan progress:",
|
|
217
242
|
"plan.order_blocked": "Cannot mark step {step} done: step {first} (\"{desc}\") is not finished yet. Complete earlier steps first, or mark step {first} status=skipped if it is not needed.",
|
|
218
243
|
"plan.deliverables_missing": "Cannot mark step {step} done: the files it names do not exist yet: {files}. Create these files first (or mark the step status=skipped if they are not actually needed).",
|
|
@@ -244,6 +269,11 @@
|
|
|
244
269
|
"plan.readonly": "Plan {id} is {status} (read-only) — it cannot be updated. Use \"plan switch\" to activate it, or create a new plan for new work.",
|
|
245
270
|
"plan.list_legend": "[*] active · [ ] draft · [-] archived",
|
|
246
271
|
"exec.plan_nudge": "You made {count} file-changing tool call(s) without a plan. For tasks that create or modify files, or span multiple steps, create a plan first (plan create) with concrete steps (exact filenames, commands, deliverables), then continue.",
|
|
272
|
+
"exec.plan_summary_complete": "[{id}] \"{title}\" {done}/{total} done — plan complete. You may create a new plan for new work (plan create), or reply with your final answer.",
|
|
273
|
+
"exec.plan_summary_continue": "[{id}] \"{title}\" {done}/{total} done, current: step {current} — continue it (plan show / re-plan), do NOT create a new plan",
|
|
274
|
+
"exec.test_fail_summary": "{framework} reported {failed} FAILING test(s) ({passed} passing). Do NOT mark the current step as done — fix the failing tests (read the failure output, correct the code) and re-run them until all pass.",
|
|
275
|
+
"exec.test_pass_summary": "{framework}: all {passed} test(s) passed for \"{cmd}\". You may mark the current step as done via plan update step=N status=done.",
|
|
276
|
+
"exec.skills_hint": "If relevant skills are available, consider loading one with load_skill for expert guidance.",
|
|
247
277
|
"todo.added": "Added {count} todo(s): {items}",
|
|
248
278
|
"todo.marked_done": "Marked {count} item(s) as done",
|
|
249
279
|
"todo.no_active": "No active todos",
|
|
@@ -260,6 +290,12 @@
|
|
|
260
290
|
"verify.syntax_error": "Syntax error in: {path}",
|
|
261
291
|
"verify.file_still_exists": "File should be deleted but still exists: {path}",
|
|
262
292
|
"verify.no_files": "Step {step} has no named files to verify — run a real check instead (bash: bun run build / bun test / lsp_check) and confirm the result.",
|
|
293
|
+
"verify.typecheck_skipped_no_tsconfig": "No tsconfig.json found — skipping type check",
|
|
294
|
+
"verify.typecheck_skipped_no_tsc": "tsc not installed — skipping type check",
|
|
295
|
+
"verify.typecheck_passed": "TypeScript type check passed",
|
|
296
|
+
"verify.typecheck_failed": "TypeScript type check failed: {error}",
|
|
297
|
+
"verify.tests_skipped_no_package": "No package.json found — skipping tests",
|
|
298
|
+
"verify.tests_skipped_no_script": "No test script defined — skipping tests",
|
|
263
299
|
"lsp.unavailable": "static checks are unavailable (server not found). Verify via the project's own build/test instead.",
|
|
264
300
|
"lsp.check_disabled": "LSP checks are disabled in the config.",
|
|
265
301
|
"lsp.check_no_path": "Provide a path (file or directory) to check.",
|
|
@@ -381,18 +417,22 @@
|
|
|
381
417
|
"cli.list_sessions": "List all sessions",
|
|
382
418
|
"cli.show_details": "Show session details",
|
|
383
419
|
"cli.delete_session": "Delete a session",
|
|
420
|
+
"cli.prune_sessions": "Delete sessions without user messages",
|
|
421
|
+
"cli.prune_dry_run": "Show what would be deleted without deleting",
|
|
384
422
|
"cli.export_session": "Export a session to a file (md, json, or jsonl)",
|
|
385
423
|
"cli.export_format": "Output format: md|json|jsonl (default md)",
|
|
386
424
|
"cli.export_out": "Output path ('-' for stdout)",
|
|
387
425
|
"cli.export_no_redact": "Do not redact secrets",
|
|
426
|
+
"cli.export_compact": "Omit tool result bodies (compact readable export)",
|
|
388
427
|
"cli.first_run": "First run detected. Running setup wizard...",
|
|
389
428
|
"cli.first_run_oneshot": "No configuration found — running with defaults. Run `mma` (no arguments) once to set up the wizard.",
|
|
429
|
+
"cli.web_setup_required": "No configuration found — opening the browser setup wizard.",
|
|
390
430
|
"cli.web.description": "Run the agent with a browser UI",
|
|
391
431
|
"cli.web.port": "fixed port (default: random)",
|
|
392
432
|
"cli.web.host": "bind address (default: 127.0.0.1)",
|
|
393
433
|
"cli.web.token": "require this token (mandatory for non-loopback)",
|
|
394
434
|
"cli.web.no_open": "do not open the browser automatically",
|
|
395
|
-
"cli.web_started": "web ui → {url}",
|
|
435
|
+
"cli.web_started": "web ui → {url} (directory: {dir})",
|
|
396
436
|
"cli.setup_saved_restart": "Settings saved. Restarting with the new configuration...",
|
|
397
437
|
"cli.unknown_cmd": "Unknown command: {name}.",
|
|
398
438
|
"cli.unknown_command": "Unknown command \"{input}\". Did you mean \"{suggestion}\"?",
|
|
@@ -519,6 +559,14 @@
|
|
|
519
559
|
"repl.excluded_blocks": "\nExcluded blocks: {count}",
|
|
520
560
|
"repl.context_usage": "Usage: /context [<size, min 1024> | system <share> | reserve <share>] (share 0.05–0.9 or e.g. 10%; system+reserve ≤ 0.95)",
|
|
521
561
|
"repl.msgs": "msgs",
|
|
562
|
+
"repl.api_line": " API: {prompt} prompt + {completion} completion = {total} total",
|
|
563
|
+
"repl.compacted": "Context compacted ({count})",
|
|
564
|
+
"repl.skills_available": "{count} available, budget: {budget} tokens",
|
|
565
|
+
"repl.plugins_active": "{count} active ({names})",
|
|
566
|
+
"repl.plugins_hidden": "({count} builtin hidden — /plugins --all to show)",
|
|
567
|
+
"repl.loaded": "[loaded]",
|
|
568
|
+
"repl.yes": "yes",
|
|
569
|
+
"repl.no": "no",
|
|
522
570
|
"repl.max_iters": "Max iters:",
|
|
523
571
|
"repl.stuck_thresh": "Stuck thresh:",
|
|
524
572
|
"repl.reasoning_label": "Reasoning:",
|
|
@@ -580,7 +628,7 @@
|
|
|
580
628
|
"repl.help_aliases": "Aliases: {names}",
|
|
581
629
|
"repl.help_examples": "Examples:",
|
|
582
630
|
"repl.export": "Export a session to a file",
|
|
583
|
-
"repl.export_usage": "Usage: /export [<id|name>] [--format md|json|jsonl] [--out <path>] [--no-redact]",
|
|
631
|
+
"repl.export_usage": "Usage: /export [<id|name>] [--format md|json|jsonl] [--out <path>] [--no-redact] [--compact]",
|
|
584
632
|
"config.header": "Managed settings",
|
|
585
633
|
"config.col_setting": "Setting",
|
|
586
634
|
"config.col_value": "Value",
|
|
@@ -708,8 +756,11 @@
|
|
|
708
756
|
"exec.tool_errors": "Tool {tool} failed {count} times. Consider using a different tool.",
|
|
709
757
|
"exec.tool_errors_recovery": "Tool {tool} has failed {count} times in a row. Try an alternative: create files directly via write_file, use a different command, or if nothing works — skip this step via plan update step=N status=skipped with a note explaining why.",
|
|
710
758
|
"exec.repetitive_tool": "Called {tool} {count} times with identical arguments and result. Try a different approach — create files directly, change arguments, or check process status via process_log.",
|
|
759
|
+
"exec.repetitive_process_log_hint": "You are polling a background process — call process_wait once instead of polling process_log.",
|
|
711
760
|
"exec.consecutive_failures_recovery": "{count} consecutive tool failures. Create files directly via write_file instead of terminal commands. Check that dependencies are installed (npm install). Do not run build/tests until all files are created.",
|
|
712
761
|
"exec.bash_flailing_recovery": "bash failed in {fails} of the last {window} attempts. Stop using shell commands for file operations on this machine — they do not work. Use the dedicated tools instead: read_file (the header shows line counts), write_file, edit_file, file_info (file size), glob/grep for search",
|
|
762
|
+
"exec.bash_flailing": "bash failed in {fails} of the last {window} attempts.",
|
|
763
|
+
"exec.consecutive_failures": "{count} consecutive tool failures.",
|
|
713
764
|
"exec.read_only_loop": "No write/exec for {count} tool calls — the agent is only reading/exploring.",
|
|
714
765
|
"exec.read_only_loop_recovery": "{count} consecutive read-only tool calls (read_file/glob/grep/browser) with no writes. STOP exploring and make the edit the task requires: read the file, then call write_file or edit_file. If you cannot finish the task, ask the user instead of re-reading the same files.",
|
|
715
766
|
"exec.plan_warning": "Current plan step {step} is \"{description}\", but {tool} is being called for files outside this step. Complete the current step first, then call plan update step={step} status=done before moving to the next step.",
|
|
@@ -748,6 +799,7 @@
|
|
|
748
799
|
"hall.uncertainty": "Uncertainty markers: {markers}",
|
|
749
800
|
"hall.unknown_paths": "Mentioned file paths not found in known files: {paths}",
|
|
750
801
|
"hall.contradiction_llm": "Contradicts an earlier decision{reason}",
|
|
802
|
+
"hall.claim_contradiction": "The answer claims success, but a recent tool result indicates a problem ({tool}: {snippet}). Either verify and fix, then re-run the check — or soften the claim to match the evidence (e.g. staged, will appear shortly).",
|
|
751
803
|
"hall.uncertainty_prefix": "\n\n[⚠️ Uncertainty] ",
|
|
752
804
|
"browser.repeated_action": "You have repeated the same action ({action}) {threshold} times. Try a different approach: use \"snapshot\" to re-read the page, try different element numbers, or navigate to a different URL.",
|
|
753
805
|
"browser.unknown_action": "Unknown action: {action}",
|
|
@@ -794,6 +846,8 @@
|
|
|
794
846
|
"ui.thinking_label_3": "considering",
|
|
795
847
|
"ui.action_fallback": "Action",
|
|
796
848
|
"ui.actions_summary": "{count} actions",
|
|
849
|
+
"ui.critic_concern": "verifier · {count} issue(s)",
|
|
850
|
+
"ui.critic_repair": "verifier · repairing",
|
|
797
851
|
"ui.plan_update": "step {step} → {status}",
|
|
798
852
|
"ui.todo_action": "{action} · {count}",
|
|
799
853
|
"ui.tool_running": "{tool}…",
|
|
@@ -873,6 +927,7 @@
|
|
|
873
927
|
"cli.provider_base_hint": "Base URL set to: {baseUrl}",
|
|
874
928
|
"cli.add_provider": "Add a provider to the config",
|
|
875
929
|
"cli.provider_no_url": "No base URL for provider \"{name}\". Pass --url.",
|
|
930
|
+
"cli.provider_name_conflict": "Provider \"{name}\" already exists — choose another name.",
|
|
876
931
|
"cli.provider_added": "Provider added: {name}",
|
|
877
932
|
"cli.provider_switch_hint": "Switch to it with: mma provider use <name>",
|
|
878
933
|
"repl.cost": "Total cost: {cost}",
|
|
@@ -948,6 +1003,7 @@
|
|
|
948
1003
|
"web.topbar.new_chat": "new chat",
|
|
949
1004
|
"web.topbar.settings": "settings",
|
|
950
1005
|
"web.topbar.all_sessions": "all sessions",
|
|
1006
|
+
"web.topbar.sidebar": "sidebar",
|
|
951
1007
|
"web.topbar.close": "close",
|
|
952
1008
|
"web.conn.reconnecting": "reconnecting…",
|
|
953
1009
|
"web.sidebar.plan": "plan",
|
|
@@ -970,6 +1026,7 @@
|
|
|
970
1026
|
"web.env.tokens_few": "~{count} tokens",
|
|
971
1027
|
"web.env.tokens_many": "~{count} tokens",
|
|
972
1028
|
"web.usage.session": "session",
|
|
1029
|
+
"web.usage.copy_id": "copy session id",
|
|
973
1030
|
"web.usage.model": "model",
|
|
974
1031
|
"web.usage.context": "context",
|
|
975
1032
|
"web.usage.cache": "cache",
|
|
@@ -994,6 +1051,12 @@
|
|
|
994
1051
|
"config.key.ui.verbosity": "verbosity",
|
|
995
1052
|
"config.key.maxToolIterations": "max tool iterations",
|
|
996
1053
|
"config.key.stuckThreshold": "stuck threshold",
|
|
1054
|
+
"config.key.moe.enabled": "MoE",
|
|
1055
|
+
"config.key.moe.maxReplanCycles": "MoE re-plan cycles",
|
|
1056
|
+
"config.key.critic.enabled": "verifier (critic)",
|
|
1057
|
+
"config.key.critic.maxCalls": "verifier max calls",
|
|
1058
|
+
"config.key.critic.maxRepairCycles": "verifier repair cycles",
|
|
1059
|
+
"config.key.critic.timeoutMs": "verifier timeout (ms)",
|
|
997
1060
|
"config.key.logLevel": "log level",
|
|
998
1061
|
"config.key.locale": "language",
|
|
999
1062
|
"config.key.version": "version",
|
|
@@ -1028,6 +1091,12 @@
|
|
|
1028
1091
|
"config.desc.ui.verbosity": "How much detail the chat shows for actions and tools.",
|
|
1029
1092
|
"config.desc.maxToolIterations": "Hard cap on tool-call iterations per turn.",
|
|
1030
1093
|
"config.desc.stuckThreshold": "Repeated identical actions before the agent is nudged to change approach.",
|
|
1094
|
+
"config.desc.moe.enabled": "Agent-level MoE: plan → parallel experts → verify (uses the orchestrator provider).",
|
|
1095
|
+
"config.desc.moe.maxReplanCycles": "Max plan→execute→verify cycles before a partial result is accepted.",
|
|
1096
|
+
"config.desc.critic.enabled": "In-loop verifier that reviews work on mutations and before finishing.",
|
|
1097
|
+
"config.desc.critic.maxCalls": "Hard cap on verifier LLM calls per run.",
|
|
1098
|
+
"config.desc.critic.maxRepairCycles": "Bounded repair cycles triggered by a critical verdict.",
|
|
1099
|
+
"config.desc.critic.timeoutMs": "Verifier call timeout (fail-open).",
|
|
1031
1100
|
"config.desc.logLevel": "Diagnostic log verbosity.",
|
|
1032
1101
|
"config.desc.locale": "Language of the interface and agent messages.",
|
|
1033
1102
|
"config.desc.version": "Installed MMA version (read-only).",
|
|
@@ -1041,6 +1110,7 @@
|
|
|
1041
1110
|
"web.settings.model": "Model & Provider",
|
|
1042
1111
|
"web.settings.context": "Context",
|
|
1043
1112
|
"web.settings.reasoning": "Reasoning",
|
|
1113
|
+
"web.settings.agent": "Agent",
|
|
1044
1114
|
"web.settings.ui": "UI & Theme",
|
|
1045
1115
|
"web.settings.memory": "Memory",
|
|
1046
1116
|
"web.settings.skills": "Skills",
|
|
@@ -1060,6 +1130,16 @@
|
|
|
1060
1130
|
"web.settings.no_matches": "no matches",
|
|
1061
1131
|
"web.settings.active_provider": "active provider",
|
|
1062
1132
|
"web.settings.add_provider": "add provider",
|
|
1133
|
+
"web.settings.section_models": "Model",
|
|
1134
|
+
"web.settings.section_providers": "Providers",
|
|
1135
|
+
"web.settings.provider_add_title": "add provider",
|
|
1136
|
+
"web.settings.provider_preset": "preset",
|
|
1137
|
+
"web.settings.provider_custom": "custom / local",
|
|
1138
|
+
"web.settings.provider_name_conflict": "a provider with this name already exists — pick another name",
|
|
1139
|
+
"web.settings.provider_edit_title": "edit provider",
|
|
1140
|
+
"web.settings.provider_advanced": "advanced",
|
|
1141
|
+
"web.settings.provider_make_active": "make active",
|
|
1142
|
+
"web.settings.providers_empty": "no providers configured",
|
|
1063
1143
|
"web.settings.edit": "edit",
|
|
1064
1144
|
"web.settings.delete": "delete",
|
|
1065
1145
|
"web.settings.cancel": "cancel",
|
|
@@ -1145,13 +1225,30 @@
|
|
|
1145
1225
|
"web.selectors.current": "current",
|
|
1146
1226
|
"web.selectors.context_prompt": "context window (tokens)",
|
|
1147
1227
|
"web.action.thinking": "thinking",
|
|
1148
|
-
"web.action.hide": "
|
|
1149
|
-
"web.action.show": "
|
|
1228
|
+
"web.action.hide": "hide",
|
|
1229
|
+
"web.action.show": "show",
|
|
1150
1230
|
"web.action.actions_one": "{count} action",
|
|
1151
1231
|
"web.action.actions_few": "{count} actions",
|
|
1152
1232
|
"web.action.actions_many": "{count} actions",
|
|
1233
|
+
"web.critic_concern_one": "Verifier: {count} note",
|
|
1234
|
+
"web.critic_concern_few": "Verifier: {count} notes",
|
|
1235
|
+
"web.critic_concern_many": "Verifier: {count} notes",
|
|
1236
|
+
"web.critic_repair": "Verifier flagged a problem — repairing",
|
|
1153
1237
|
"web.action.cancel": "cancel",
|
|
1154
1238
|
"web.cmdk.label": "commands",
|
|
1239
|
+
"web.command.help": "list web commands",
|
|
1240
|
+
"web.command.status": "model · provider · context · session · verbosity",
|
|
1241
|
+
"web.command.config": "read or write a config key",
|
|
1242
|
+
"web.command.model": "list or switch model",
|
|
1243
|
+
"web.command.provider": "list or switch provider",
|
|
1244
|
+
"web.command.reasoning": "reasoning display and level",
|
|
1245
|
+
"web.command.verbose": "set UI verbosity",
|
|
1246
|
+
"web.command.context": "show or set the context window",
|
|
1247
|
+
"web.command.session": "list or activate a session",
|
|
1248
|
+
"web.command.export": "export the active session to a file",
|
|
1249
|
+
"web.command.memory": "inspect or edit global memory",
|
|
1250
|
+
"web.command.clear": "clear the feed (browser-side)",
|
|
1251
|
+
"web.command.new": "open a new chat tab (browser-side)",
|
|
1155
1252
|
"web.turn.stopped": "stopped",
|
|
1156
1253
|
"web.turn.failed": "turn failed",
|
|
1157
1254
|
"web.turn.end": "turn end · ok · tools {count}",
|
|
@@ -1166,6 +1263,11 @@
|
|
|
1166
1263
|
"web.tool.output_few": "output · {count} chars",
|
|
1167
1264
|
"web.tool.output_many": "output · {count} chars",
|
|
1168
1265
|
"web.tool.collapse": "collapse",
|
|
1266
|
+
"web.code.copy": "copy",
|
|
1267
|
+
"web.code.copied": "copied",
|
|
1268
|
+
"web.code.copy_failed": "copy failed",
|
|
1269
|
+
"web.msg.copy": "copy",
|
|
1270
|
+
"web.msg.copy_md": "copy as markdown",
|
|
1169
1271
|
"web.card.open": "open ↗",
|
|
1170
1272
|
"web.card.screenshot": "screenshot",
|
|
1171
1273
|
"web.card.attached_image": "attached image",
|
|
@@ -1181,5 +1283,71 @@
|
|
|
1181
1283
|
"web.file.error.too_large": "File is too large to open in the browser ({limit} bytes max).",
|
|
1182
1284
|
"web.file.error.binary_file": "This looks like a binary file and cannot be shown as text.",
|
|
1183
1285
|
"web.file.error.not_found": "File not found (it may be a directory or it was deleted).",
|
|
1184
|
-
"web.file.error.workspace_unavailable": "No workspace is open."
|
|
1286
|
+
"web.file.error.workspace_unavailable": "No workspace is open.",
|
|
1287
|
+
"web.setup.title": "Set up MMA",
|
|
1288
|
+
"web.setup.subtitle": "A few quick questions before you start chatting.",
|
|
1289
|
+
"web.setup.step.language": "Language",
|
|
1290
|
+
"web.setup.step.provider": "Provider",
|
|
1291
|
+
"web.setup.step.key": "API key",
|
|
1292
|
+
"web.setup.step.model": "Model",
|
|
1293
|
+
"web.setup.step.context": "Context",
|
|
1294
|
+
"web.setup.step.security": "Security",
|
|
1295
|
+
"web.setup.step.review": "Review",
|
|
1296
|
+
"web.setup.language.title": "Choose your language",
|
|
1297
|
+
"web.setup.language.hint": "Used for the interface.",
|
|
1298
|
+
"web.setup.provider.title": "Choose a provider",
|
|
1299
|
+
"web.setup.provider.hint": "For a local model pick the OpenAI-compatible option and scan for your server.",
|
|
1300
|
+
"web.setup.provider.base_url": "Base URL",
|
|
1301
|
+
"web.setup.provider.scan": "Scan for local servers",
|
|
1302
|
+
"web.setup.provider.scan_found_one": "Found {count} server",
|
|
1303
|
+
"web.setup.provider.scan_found_few": "Found {count} servers",
|
|
1304
|
+
"web.setup.provider.scan_found_many": "Found {count} servers",
|
|
1305
|
+
"web.setup.provider.scan_none": "No local servers found — enter the URL manually.",
|
|
1306
|
+
"web.setup.provider.scan_failed": "Scan failed. Enter the URL manually.",
|
|
1307
|
+
"web.setup.provider.required": "Please enter a base URL.",
|
|
1308
|
+
"web.setup.key.title": "API key",
|
|
1309
|
+
"web.setup.key.hint": "Leave empty for local servers. Stored only in your config file and never shown again.",
|
|
1310
|
+
"web.setup.key.label": "Key",
|
|
1311
|
+
"web.setup.key.placeholder": "sk-…",
|
|
1312
|
+
"web.setup.model.title": "Choose a model",
|
|
1313
|
+
"web.setup.model.hint": "Load the list from the provider or type the model name.",
|
|
1314
|
+
"web.setup.model.name": "Model name",
|
|
1315
|
+
"web.setup.model.load": "Load models",
|
|
1316
|
+
"web.setup.model.load_found_one": "Loaded {count} model",
|
|
1317
|
+
"web.setup.model.load_found_few": "Loaded {count} models",
|
|
1318
|
+
"web.setup.model.load_found_many": "Loaded {count} models",
|
|
1319
|
+
"web.setup.model.load_none": "No models returned — type the model name.",
|
|
1320
|
+
"web.setup.model.test": "Test connection",
|
|
1321
|
+
"web.setup.model.testing": "Testing…",
|
|
1322
|
+
"web.setup.model.test_ok": "Connection OK.",
|
|
1323
|
+
"web.setup.model.test_fail": "Could not reach the model.",
|
|
1324
|
+
"web.setup.model.required": "Please choose or type a model.",
|
|
1325
|
+
"web.setup.context.title": "Context & iterations",
|
|
1326
|
+
"web.setup.context.hint": "How much context the model gets and how many tool steps it may take.",
|
|
1327
|
+
"web.setup.context.contextWindow": "Context window (tokens)",
|
|
1328
|
+
"web.setup.context.maxToolIterations": "Max tool iterations",
|
|
1329
|
+
"web.setup.context.required": "Enter a positive number.",
|
|
1330
|
+
"web.setup.security.title": "Security",
|
|
1331
|
+
"web.setup.security.hint": "Safe defaults are on; turn off only what you need.",
|
|
1332
|
+
"web.setup.security.paths": "Restrict file access to the workspace",
|
|
1333
|
+
"web.setup.security.bash": "Block dangerous shell commands",
|
|
1334
|
+
"web.setup.security.flags": "Block dangerous command flags",
|
|
1335
|
+
"web.setup.review.title": "Review",
|
|
1336
|
+
"web.setup.review.hint": "Check the values, then finish. Settings are saved to your config.",
|
|
1337
|
+
"web.setup.review.provider": "Provider",
|
|
1338
|
+
"web.setup.review.baseUrl": "Base URL",
|
|
1339
|
+
"web.setup.review.apiKey": "API key",
|
|
1340
|
+
"web.setup.review.model": "Model",
|
|
1341
|
+
"web.setup.review.context": "Context window",
|
|
1342
|
+
"web.setup.review.iterations": "Max tool iterations",
|
|
1343
|
+
"web.setup.review.locale": "Language",
|
|
1344
|
+
"web.setup.review.security": "Security",
|
|
1345
|
+
"web.setup.review.security_off": "disabled",
|
|
1346
|
+
"web.setup.review.not_needed": "not needed",
|
|
1347
|
+
"web.setup.back": "Back",
|
|
1348
|
+
"web.setup.next": "Next",
|
|
1349
|
+
"web.setup.finish": "Finish setup",
|
|
1350
|
+
"web.setup.saving": "Saving…",
|
|
1351
|
+
"web.setup.saved_warning": "Saved with warnings: {warning}",
|
|
1352
|
+
"web.setup.failed": "Setup failed. Check the values and try again."
|
|
1185
1353
|
}
|