micro-models-agent 0.2.64 → 0.2.66
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/README.md +47 -0
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +151 -12
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +16 -16
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +118 -67
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/config/config.js +1 -1
- package/dist/llm/lmstudio-native.d.ts +10 -0
- package/dist/llm/lmstudio-native.d.ts.map +1 -0
- package/dist/llm/lmstudio-native.js +179 -0
- package/dist/llm/lmstudio-native.js.map +1 -0
- package/dist/llm/openai-compat.js +1 -1
- package/dist/parfymerie-landing/src/App.d.ts +4 -0
- package/dist/parfymerie-landing/src/App.d.ts.map +1 -0
- package/dist/parfymerie-landing/src/App.js +12 -0
- package/dist/parfymerie-landing/src/App.js.map +1 -0
- package/dist/parfymerie-landing/src/main.d.ts +2 -0
- package/dist/parfymerie-landing/src/main.d.ts.map +1 -0
- package/dist/parfymerie-landing/src/main.js +7 -0
- package/dist/parfymerie-landing/src/main.js.map +1 -0
- package/dist/parfymerie-landing/vite.config.d.ts +3 -0
- package/dist/parfymerie-landing/vite.config.d.ts.map +1 -0
- package/dist/parfymerie-landing/vite.config.js +7 -0
- package/dist/parfymerie-landing/vite.config.js.map +1 -0
- package/dist/repl/commands.d.ts +1 -0
- package/dist/repl/commands.d.ts.map +1 -1
- package/dist/repl/commands.js +12 -0
- package/dist/repl/commands.js.map +1 -1
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +1 -0
- package/dist/repl/index.js.map +1 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +19 -0
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/fs/write-file.d.ts.map +1 -1
- package/dist/tools/fs/write-file.js +13 -2
- package/dist/tools/fs/write-file.js.map +1 -1
- package/dist/tools/native/plan.d.ts +1 -1
- package/dist/tools/native/plan.d.ts.map +1 -1
- package/dist/tools/native/plan.js +85 -16
- package/dist/tools/native/plan.js.map +1 -1
- package/dist/tools/native/project-map.d.ts +15 -0
- package/dist/tools/native/project-map.d.ts.map +1 -0
- package/dist/tools/native/project-map.js +175 -0
- package/dist/tools/native/project-map.js.map +1 -0
- package/dist/tools/native/scaffold.d.ts +5 -0
- package/dist/tools/native/scaffold.d.ts.map +1 -0
- package/dist/tools/native/scaffold.js +246 -0
- package/dist/tools/native/scaffold.js.map +1 -0
- package/dist/tools/plan.d.ts +9 -0
- package/dist/tools/plan.d.ts.map +1 -1
- package/dist/tools/plan.js +27 -2
- package/dist/tools/plan.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +6 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +19 -4
- package/dist/tools/subagent.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,24 +7,24 @@ import { getOrBuildProjectMap } from '../indexer/cache.js';
|
|
|
7
7
|
import { loadAgentsMd, listInstalledSkills, formatSkillsBlock } from '../skills/loader.js';
|
|
8
8
|
import { logInfo, logDebug } from '../logger.js';
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Build system prompt for the LLM agent.
|
|
11
11
|
*
|
|
12
|
-
* System prompt
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
15
|
-
* -
|
|
16
|
-
* -
|
|
17
|
-
* -
|
|
18
|
-
* -
|
|
19
|
-
* -
|
|
12
|
+
* System prompt is assembled from multiple blocks:
|
|
13
|
+
* - Core agent behavior instructions
|
|
14
|
+
* - Project info (package.json, dependencies)
|
|
15
|
+
* - Project tech stack
|
|
16
|
+
* - Installed skills
|
|
17
|
+
* - User profile (agent observations)
|
|
18
|
+
* - Agent memory (long-term knowledge)
|
|
19
|
+
* - Safe behavior rules
|
|
20
20
|
*
|
|
21
|
-
* System prompt
|
|
22
|
-
*
|
|
21
|
+
* System prompt is cached: when context is unchanged,
|
|
22
|
+
* it is not rebuilt (invalidation by hash).
|
|
23
23
|
*
|
|
24
24
|
* @module agent/system-prompt
|
|
25
25
|
*/
|
|
26
|
-
// ───
|
|
27
|
-
//
|
|
26
|
+
// ─── Tool format ──────────────────────────────────────
|
|
27
|
+
// System prompt block describing the tool calling format
|
|
28
28
|
const TOOL_FORMAT = `CRITICAL: Use filesystem tools for file operations — they are more reliable than bash.
|
|
29
29
|
|
|
30
30
|
To call a tool, output EXACTLY this format (on its own line):
|
|
@@ -71,8 +71,10 @@ Search literal dot: {"name":"grep_search","arguments":{"pattern":"config\\.json"
|
|
|
71
71
|
Directory tree: {"name":"tree","arguments":{"depth":2}}
|
|
72
72
|
|
|
73
73
|
## Plan / Todo / Question / Approve (native tools):
|
|
74
|
-
{"name":"plan","arguments":{"name":"Todo App","steps":["Step 1","Step 2"]}}
|
|
75
|
-
{"name":"plan","arguments":{"
|
|
74
|
+
{"name":"plan","arguments":{"action":"create","name":"Todo App","steps":["Step 1","Step 2"]}}
|
|
75
|
+
{"name":"plan","arguments":{"action":"done","step":1}}
|
|
76
|
+
{"name":"plan","arguments":{"action":"show"}}
|
|
77
|
+
{"name":"plan","arguments":{"action":"clear"}}
|
|
76
78
|
{"name":"todo","arguments":{"action":"add","text":"Implement feature X"}}
|
|
77
79
|
{"name":"todo","arguments":{"action":"list"}}
|
|
78
80
|
{"name":"question","arguments":{"question":"What color?","choices":["Red","Blue"]}}
|
|
@@ -81,29 +83,47 @@ Directory tree: {"name":"tree","arguments":{"depth":2}}
|
|
|
81
83
|
{"name":"user_profile","arguments":{"action":"add_note","section":"Notes","note":"text"}}
|
|
82
84
|
|
|
83
85
|
## Subagent (isolate a single task in fresh context):
|
|
84
|
-
{"name":"subagent","arguments":{"task":"
|
|
86
|
+
{"name":"subagent","arguments":{"task":"Create file db.ts with better-sqlite3","existingFiles":"package.json"}}
|
|
85
87
|
|
|
86
88
|
## Web tools (search & fetch):
|
|
87
89
|
{"name":"web_search","arguments":{"query":"weather in Minsk","maxResults":5}}
|
|
88
90
|
{"name":"web_fetch","arguments":{"url":"https://example.com"}}
|
|
89
91
|
|
|
90
|
-
## Theme tool (
|
|
92
|
+
## Theme tool (theme management):
|
|
91
93
|
{"name":"theme","arguments":{"action":"list"}}
|
|
92
94
|
{"name":"theme","arguments":{"action":"switch","name":"dark"}}
|
|
93
95
|
{"name":"theme","arguments":{"action":"show"}}
|
|
94
96
|
{"name":"theme","arguments":{"action":"install","name":"monokai","url":"https://example.com/monokai.json"}}
|
|
95
97
|
{"name":"theme","arguments":{"action":"remove","name":"monokai"}}
|
|
96
98
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
Themes are in ~/.mma/themes/. Built-in: light, dark. Can install from URL.
|
|
100
|
+
If the user wants to switch themes — suggest a matching one from the list and switch.
|
|
101
|
+
|
|
102
|
+
## Project Map tool (project structure):
|
|
103
|
+
{"name":"project_map","arguments":{"action":"list"}}
|
|
104
|
+
{"name":"project_map","arguments":{"action":"find","pattern":"*.tsx"}}
|
|
105
|
+
{"name":"project_map","arguments":{"action":"info","path":"src/App.tsx"}}
|
|
106
|
+
|
|
107
|
+
CRITICAL: Use project_map FIRST before reading any files. It shows what files exist.
|
|
108
|
+
- action="list" — show all files in the project
|
|
109
|
+
- action="find" — search files by glob pattern
|
|
110
|
+
- action="info" — get details about specific file (path, exports, lines)
|
|
111
|
+
|
|
112
|
+
## Scaffold (create complete project structure programmatically):
|
|
113
|
+
{"name":"scaffold","arguments":{"template":"vite-react-ts","dir":"todo-app"}}
|
|
114
|
+
{"name":"scaffold","arguments":{"template":"vite-vanilla-ts","dir":"my-app"}}
|
|
115
|
+
{"name":"scaffold","arguments":{"template":"node-express-ts","dir":"api-server"}}
|
|
116
|
+
|
|
117
|
+
Templates: vite-react-ts (React+TypeScript), vite-vanilla-ts (vanilla TS), node-express-ts (Express+TS)
|
|
118
|
+
Use scaffold INSTEAD of creating project files manually. It creates all config files correctly.
|
|
99
119
|
|
|
100
120
|
## Bash (for non-file operations — npm, git, etc):
|
|
101
121
|
{"name":"bash","arguments":{"cmd":"npm test"}}
|
|
102
122
|
{"name":"bash","arguments":{"cmd":"git status"}}
|
|
103
123
|
|
|
104
124
|
NEVER output tool calls in any other format. ALWAYS use <tool_call> tags.`;
|
|
105
|
-
// ───
|
|
106
|
-
//
|
|
125
|
+
// ─── Conversation flow ──────────────────────────────────
|
|
126
|
+
// System prompt block explaining how the dialog cycle works
|
|
107
127
|
const CONVERSATION_FLOW = `## How This Works (IMPORTANT — read this carefully)
|
|
108
128
|
|
|
109
129
|
You are in a loop. Each turn works like this:
|
|
@@ -140,7 +160,7 @@ File src/utils.ts created successfully. It exports a hello() function that retur
|
|
|
140
160
|
NEVER stop after a tool call. ALWAYS continue with either another tool call or a text reply.`;
|
|
141
161
|
const RULES_COMMON = `Rules:
|
|
142
162
|
1. Use filesystem tools for file operations (read_file, write_file, edit_file, list_dir, glob_search, grep_search, tree). Use bash ONLY for non-file commands (npm, git, etc).
|
|
143
|
-
2. Always respond in the user's language (
|
|
163
|
+
2. Always respond in the user's language (Russian or English). Do NOT mix languages in one response — pick ONE and stick with it.
|
|
144
164
|
3. CRITICAL: After every tool call, CHECK the result (exit code + output).
|
|
145
165
|
If exit code != 0, DO NOT claim success — tell the user about the error.
|
|
146
166
|
Verify files were created before saying "done".
|
|
@@ -158,32 +178,53 @@ const RULES_COMMON = `Rules:
|
|
|
158
178
|
7. SKILLS AND PLANNING: For complex tasks (3+ steps):
|
|
159
179
|
a. AUTOMATICALLY load relevant skills by mentioning them: "@nodejs-expert @typescript-expert"
|
|
160
180
|
b. Do NOT ask the user — just load and start working
|
|
161
|
-
c.
|
|
162
|
-
d.
|
|
163
|
-
e.
|
|
181
|
+
c. Create a plan with SPECIFIC STEP NAMES: plan({action:"create", name:"TodoApp", steps:["Create package.json and install deps", "Create src/App.tsx", "Create src/main.tsx", "Verify with tsc --noEmit"]})
|
|
182
|
+
d. For each step: use subagent to create the file, then mark step done: plan({action:"done", step:1})
|
|
183
|
+
e. Do NOT use write_file directly when a plan is active — delegate to subagents
|
|
164
184
|
f. ONE FILE PER STEP — never combine multiple files in one step
|
|
165
185
|
8. FOR SIMPLE TASKS (1-2 steps): Just do it, no plan needed. Use common sense.
|
|
166
|
-
9. NEVER JUST TALK — ALWAYS ACT. Do NOT say "
|
|
186
|
+
9. NEVER JUST TALK — ALWAYS ACT. Do NOT say "write skills in the next message" or similar waiting phrases. If skills are loaded, START WORKING IMMEDIATELY.
|
|
167
187
|
10. When skills are already loaded in your context, you MUST use filesystem tools (write_file, create_dir, etc.) for file operations. Do NOT ask the user to load skills again.
|
|
168
188
|
11. USER PROFILE: The ## User Profile block contains observations about the user (name, stack, style). Use it silently — never mention or comment on it to the user. Do NOT proactively ask for the user's name or personal details. Never call user_profile, list_dir, tree, or any other tool just for exploration — only use tools when there is actual work to do.
|
|
169
189
|
12. NEVER call list_dir or tree just to "see what's in the project". Use glob_search or grep_search instead — they give more useful results. Only use list_dir when a user explicitly asks to see a directory listing.
|
|
170
190
|
13. OFF-TOPIC QUESTIONS: If the user asks something unrelated to coding (jokes, space, cooking, etc.), answer briefly and warmly — 1-2 sentences. Do NOT refuse or say "I'm a coding assistant". Just answer, then naturally offer to return to work.
|
|
171
191
|
14. ONE FILE AT A TIME: When creating multiple files: a) Write the FIRST file completely, b) Wait for syntax check result, c) If error → fix it before continuing, d) Only then write the NEXT file. NEVER write multiple files in one response — small models lose track.
|
|
172
|
-
15. SUBAGENTS —
|
|
173
|
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
192
|
+
15. SUBAGENTS — strict delegation for multi-file projects:
|
|
193
|
+
ABSOLUTE RULE: 1 FILE = 1 SUBAGENT CALL. No exceptions.
|
|
194
|
+
- Every file in the plan gets its OWN subagent call.
|
|
195
|
+
- NEVER combine multiple files in one subagent task.
|
|
196
|
+
- If plan has 5 files → 5 separate subagent calls.
|
|
197
|
+
- Task description MUST include the FULL path: "Create ONLY todo-app/package.json" not just "Create package.json".
|
|
198
|
+
CRITICAL RULES FOR SUBAGENT:
|
|
199
|
+
- Subagent MUST create ONLY what is in the task description. Do NOT create extra files.
|
|
200
|
+
- If task says "Create todo-app/package.json" — create ONLY todo-app/package.json. Nothing else.
|
|
201
|
+
- NEVER let subagent "help" by creating additional files beyond the task scope.
|
|
202
|
+
- After subagent completes, parent checks what was created and verifies it matches the plan.
|
|
203
|
+
Example: subagent({task:"Create ONLY todo-app/src/db.ts with sqlite connection", existingFiles:"todo-app/package.json"})
|
|
177
204
|
Do NOT use subagent for:
|
|
178
205
|
- Editing existing files (use edit_file directly)
|
|
179
|
-
- Single file creation (write_file is fine)
|
|
180
206
|
- Bash commands like npm install, git, etc. (use bash tool)
|
|
181
|
-
Example: subagent("Create src/db.ts: sqlite connection + schema")
|
|
182
207
|
Each subagent gets fresh context. Parent only tracks results (summary). After all subagents — verify with tsc --noEmit.
|
|
183
|
-
16. CHECK BEFORE INSTALLING:
|
|
208
|
+
16. CHECK BEFORE INSTALLING: Read the project dependency file. If the package is already listed — do not install it.
|
|
209
|
+
17. FILE EXTENSIONS MATTER: .tsx = TypeScript + JSX, .jsx = plain JavaScript. NEVER write TypeScript imports (import X from './Y.tsx') into a .jsx file. If the project uses TypeScript — all files must be .tsx/.ts. If JavaScript — all files must be .jsx/.js. Check existing files to determine which stack the project uses.
|
|
210
|
+
18. USER ANSWERS: When you see "User answered: X" in the conversation, this is the user's response to your question. USE THIS ANSWER and proceed with the task. NEVER ask the same question again. NEVER call question tool with {"action":"show"} — it is invalid. If you already asked a question and got an answer, MOVE ON to the next step.
|
|
211
|
+
19. PROJECT MAP FIRST: ALWAYS check the ## Project Map section in your context BEFORE reading any files. The map shows ALL files in the project with their paths. If a file is not in the map — it doesn't exist. Do NOT guess file paths — use the map. If the map shows files inside a subdirectory (e.g. parfymerie-landing/src/App.tsx), that's where the actual project lives — work inside that subdirectory.
|
|
212
|
+
20. VITE PROJECTS: When creating a Vite + React + TypeScript project, ALWAYS create these files in order:
|
|
213
|
+
a. package.json (with react, react-dom, vite, @vitejs/plugin-react, typescript)
|
|
214
|
+
b. vite.config.ts (import react plugin, defineConfig)
|
|
215
|
+
c. tsconfig.json (jsx: "react-jsx", strict: true)
|
|
216
|
+
d. index.html (<!DOCTYPE html>, <div id="root">, <script type="module" src="/src/main.tsx">)
|
|
217
|
+
e. src/main.tsx (import React, ReactDOM, App, index.css; ReactDOM.createRoot)
|
|
218
|
+
f. src/App.tsx (the actual component)
|
|
219
|
+
NEVER skip index.html or vite.config.ts — Vite won't work without them.
|
|
220
|
+
21. SUBAGENT CONTEXT: When calling subagent, ALWAYS pass:
|
|
221
|
+
- existingFiles: files already created in this session (prevents duplicates)
|
|
222
|
+
- The task description should say "Create ONLY file X" — not "Create file X and related files"
|
|
223
|
+
Example: subagent({task:"Create ONLY src/api.ts with Express CRUD", existingFiles:"src/db.ts,src/types.ts"})
|
|
224
|
+
The subagent will see the project context and should NOT create files beyond what's in the task.`;
|
|
184
225
|
const RULES_FAST = `Rules:
|
|
185
226
|
1. Use filesystem tools for file operations (read_file, write_file, edit_file, list_dir, glob_search, grep_search, tree). Use bash ONLY for non-file commands (npm, git, etc).
|
|
186
|
-
2. Always respond in the user's language (
|
|
227
|
+
2. Always respond in the user's language (Russian or English). Do NOT mix languages in one response — pick ONE and stick with it.
|
|
187
228
|
3. CRITICAL: After every tool call, CHECK the result (exit code + output).
|
|
188
229
|
If exit code != 0, DO NOT claim success — tell the user about the error.
|
|
189
230
|
Verify files were created before saying "done".
|
|
@@ -199,20 +240,30 @@ const RULES_FAST = `Rules:
|
|
|
199
240
|
Only use read_file with offset/limit when you need to SEE the full file context.
|
|
200
241
|
Do NOT call read_file multiple times on the same file sequentially — use grep first.
|
|
201
242
|
7. Execute tasks directly. Simple tasks (1-2 steps): just do it without commentary. Complex tasks: break into steps and execute ONE FILE AT A TIME. Write first file → check syntax → fix if needed → then next file.
|
|
202
|
-
8. NEVER JUST TALK — ALWAYS ACT. Do NOT say "
|
|
243
|
+
8. NEVER JUST TALK — ALWAYS ACT. Do NOT say "write" or similar waiting phrases. START WORKING IMMEDIATELY.
|
|
203
244
|
9. USER PROFILE: The ## User Profile block contains observations about the user (name, stack, style). Use it silently — never mention or comment on it to the user. Do NOT proactively ask for the user's name or personal details. Never call tools just for exploration.
|
|
204
245
|
10. NEVER call list_dir or tree just to "see what's in the project". Use glob_search or grep_search instead. Only use list_dir when explicitly asked.
|
|
205
246
|
11. OFF-TOPIC QUESTIONS: Answer briefly and warmly (1-2 sentences). Do NOT refuse. Then offer to return to work.
|
|
206
247
|
12. ONE FILE AT A TIME: When creating multiple files, complete each file fully before starting the next. NEVER write multiple files in one response.
|
|
207
|
-
13. SUBAGENTS: For 3+ files, use subagent for each file. One call per file.
|
|
208
|
-
|
|
209
|
-
|
|
248
|
+
13. SUBAGENTS: For 3+ files, use subagent for each file. One call per file. CRITICAL: Subagent MUST create ONLY what is in the task. If task says "Create X.ts" — create ONLY X.ts. Do NOT create extra files. Do NOT use subagent for bash, edits, or single files.
|
|
249
|
+
13. SUBAGENTS: ABSOLUTE RULE: 1 FILE = 1 SUBAGENT CALL. Every file gets its own subagent. NEVER combine multiple files in one task. If plan has 5 files → 5 subagent calls. Task MUST include FULL path (e.g. "Create ONLY todo-app/package.json"). Do NOT use subagent for bash or edits.
|
|
250
|
+
14. CHECK BEFORE INSTALLING: Read the project dependency file before installing a package.
|
|
251
|
+
If the package is already listed — do not install it.
|
|
252
|
+
15. FILE EXTENSIONS MATTER: .tsx = TypeScript + JSX, .jsx = plain JavaScript. NEVER write TypeScript imports into .jsx files. Check existing files to determine the stack.
|
|
253
|
+
16. USER ANSWERS: When you see "User answered: X" in the conversation, this is the user's response to your question. USE THIS ANSWER and proceed with the task. NEVER ask the same question again. NEVER call question tool with {"action":"show"} — it is invalid.
|
|
254
|
+
17. PROJECT MAP FIRST: ALWAYS check the ## Project Map section in your context BEFORE reading any files. The map shows ALL files in the project with their paths. If a file is not in the map — it doesn't exist. Do NOT guess file paths — use the map. If the map shows files inside a subdirectory, that's where the actual project lives — work inside that subdirectory.
|
|
255
|
+
18. VITE PROJECTS: When creating a Vite project, create these files via SEPARATE subagent calls: package.json, vite.config.ts, tsconfig.json, index.html, src/main.tsx, src/App.tsx. NEVER skip index.html or vite.config.ts.
|
|
256
|
+
19. SUBAGENT CONTEXT: When calling subagent, pass existingFiles and use "Create ONLY" in task. Example: subagent({task:"Create ONLY X.ts with debounce function", existingFiles:"Y.ts"})`;
|
|
210
257
|
const POWERSHELL_EXAMPLES = `Examples (PowerShell):
|
|
211
258
|
<tool_call>{"name":"bash","arguments":{"cmd":"dir"}}</tool_call>
|
|
212
259
|
<tool_call>{"name":"bash","arguments":{"cmd":"Get-Content src\\\\index.ts"}}</tool_call>
|
|
213
260
|
<tool_call>{"name":"bash","arguments":{"cmd":"npm test"}}</tool_call>
|
|
214
261
|
<tool_call>{"name":"bash","arguments":{"cmd":"Set-Content -Path file.md -Value 'Hello World'"}}</tool_call>`;
|
|
215
262
|
const POWERSHELL_RULES = `PowerShell specifics:
|
|
263
|
+
- NEVER use && in commands — PowerShell doesn't support it. Use ; instead, or make separate bash calls.
|
|
264
|
+
WRONG: cd todo-app && npm install
|
|
265
|
+
RIGHT: npm install (run from todo-app directory)
|
|
266
|
+
RIGHT: Set-Location todo-app; npm install
|
|
216
267
|
- Create/write files: Set-Content -Path file.md -Value "content"
|
|
217
268
|
- Append to file: Add-Content -Path file.md -Value "line"
|
|
218
269
|
- Read files: Get-Content file.md
|
|
@@ -235,35 +286,35 @@ const UNIX_RULES = `Unix specifics:
|
|
|
235
286
|
- List directory: ls -la
|
|
236
287
|
- Paths use forward slashes: src/index.ts
|
|
237
288
|
- Check file exists: test -f file.md`;
|
|
238
|
-
// ───
|
|
239
|
-
//
|
|
289
|
+
// ─── System prompt cache ────────────────────────────────
|
|
290
|
+
// Caches the assembled prompt by key (cwd + mode + skills)
|
|
240
291
|
const systemPromptCache = new Map();
|
|
241
|
-
/**
|
|
292
|
+
/** Invalidate system prompt cache (called when config changes) */
|
|
242
293
|
export function invalidateSystemPromptCache() {
|
|
243
294
|
systemPromptCache.clear();
|
|
244
295
|
}
|
|
245
296
|
/**
|
|
246
|
-
*
|
|
297
|
+
* Assembles system prompt from all blocks.
|
|
247
298
|
*
|
|
248
|
-
*
|
|
249
|
-
* 1.
|
|
250
|
-
* 2.
|
|
251
|
-
* 3.
|
|
252
|
-
* 4.
|
|
253
|
-
* 5.
|
|
254
|
-
* 6.
|
|
255
|
-
* 7.
|
|
256
|
-
* 8.
|
|
257
|
-
* 9.
|
|
258
|
-
* 10.
|
|
299
|
+
* Algorithm:
|
|
300
|
+
* 1. Check cache by key (cwd + mode + skill names)
|
|
301
|
+
* 2. Build header (agent name, description)
|
|
302
|
+
* 3. Platform-dependent blocks (PowerShell/Unix examples + rules)
|
|
303
|
+
* 4. System info (date, OS, path, project)
|
|
304
|
+
* 5. Agent memory + user profile
|
|
305
|
+
* 6. Project map (indexer)
|
|
306
|
+
* 7. Instructions from AGENTS.md
|
|
307
|
+
* 8. Available skills hint
|
|
308
|
+
* 9. Current mode block (fast/pro/base)
|
|
309
|
+
* 10. Loaded skill content
|
|
259
310
|
*
|
|
260
|
-
* @param extraSkills -
|
|
261
|
-
* @param mode -
|
|
262
|
-
* @returns
|
|
311
|
+
* @param extraSkills - additional skills from user prompt
|
|
312
|
+
* @param mode - working mode (fast/pro/base)
|
|
313
|
+
* @returns Assembled system prompt string
|
|
263
314
|
*/
|
|
264
315
|
export function buildSystemPrompt(extraSkills, mode, pluginSections) {
|
|
265
316
|
const start = performance.now();
|
|
266
|
-
//
|
|
317
|
+
// Cache key: current directory + mode + skill names (sorted)
|
|
267
318
|
const key = `${process.cwd()}:${mode || 'base'}:${extraSkills?.map(s => s.name).sort().join(',') || ''}:${pluginSections?.length || 0}`;
|
|
268
319
|
const cached = systemPromptCache.get(key);
|
|
269
320
|
if (cached) {
|
|
@@ -279,8 +330,8 @@ export function buildSystemPrompt(extraSkills, mode, pluginSections) {
|
|
|
279
330
|
}
|
|
280
331
|
catch { /* ignore */ }
|
|
281
332
|
const now = new Date();
|
|
282
|
-
const dateStr = now.toLocaleDateString('
|
|
283
|
-
const timeStr = now.toLocaleTimeString('
|
|
333
|
+
const dateStr = now.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric', weekday: 'long' });
|
|
334
|
+
const timeStr = now.toLocaleTimeString('en-US');
|
|
284
335
|
let projectName = 'unknown';
|
|
285
336
|
const pkgPath = resolve(process.cwd(), 'package.json');
|
|
286
337
|
if (existsSync(pkgPath)) {
|
|
@@ -306,10 +357,10 @@ You help with software engineering tasks in the project directory.`;
|
|
|
306
357
|
`Project: ${projectName}`,
|
|
307
358
|
'',
|
|
308
359
|
].join('\n');
|
|
309
|
-
// ───
|
|
360
|
+
// ─── Memory and user profile ──────────────────────────
|
|
310
361
|
const memory = loadAllMemoryDetailed();
|
|
311
362
|
const userProfile = loadProfileSummary();
|
|
312
|
-
// ───
|
|
363
|
+
// ─── Project map (from indexer) ───────────────────────
|
|
313
364
|
let projectMap = '';
|
|
314
365
|
try {
|
|
315
366
|
const { formatted, fromCache } = getOrBuildProjectMap(process.cwd());
|
|
@@ -318,21 +369,21 @@ You help with software engineering tasks in the project directory.`;
|
|
|
318
369
|
}
|
|
319
370
|
}
|
|
320
371
|
catch { /* ignore */ }
|
|
321
|
-
// ───
|
|
372
|
+
// ─── Project instructions (AGENTS.md) ─────────────────
|
|
322
373
|
const agentsMd = loadAgentsMd(process.cwd());
|
|
323
374
|
const agentsBlock = agentsMd ? `\n## Project Instructions (AGENTS.md)\n${agentsMd}` : '';
|
|
324
|
-
// ───
|
|
375
|
+
// ─── Available skills hint ────────────────────────────
|
|
325
376
|
const allSkills = listInstalledSkills();
|
|
326
377
|
const skillsHint = allSkills.length > 0
|
|
327
|
-
? `\n## Available Skills (${allSkills.length})\nSkills contain ready-made workflows, best practices, and step-by-step guides.\nFor complex tasks (3+ steps): mention @skill-name in your response — skills will be auto-loaded into context.\nDo NOT put @skill-name inside tool_call. Just mention them naturally in your text.\nWorkflow:\n 1. User asks: "
|
|
378
|
+
? `\n## Available Skills (${allSkills.length})\nSkills contain ready-made workflows, best practices, and step-by-step guides.\nFor complex tasks (3+ steps): mention @skill-name in your response — skills will be auto-loaded into context.\nDo NOT put @skill-name inside tool_call. Just mention them naturally in your text.\nWorkflow:\n 1. User asks: "Create a REST API"\n 2. You: "I'll use @typescript-expert @nodejs-expert for this task." (skills auto-load on next turn)\n 3. You create plan BASED ON skill guidance: plan create REST API ...\n 4. You execute plan step by step\n\nInstalled skills: ${allSkills.map(s => '@' + s).join(' ')}`
|
|
328
379
|
: '';
|
|
329
|
-
// ───
|
|
380
|
+
// ─── Mode block ──────────────────────────────────────
|
|
330
381
|
const modeBlock = mode === 'fast'
|
|
331
382
|
? `\n## Mode: Fast\n\u26a1 Fast mode \u2014 execute tasks directly without planning or loading skills. Skills are not available in this mode. Proceed immediately.`
|
|
332
383
|
: mode === 'pro'
|
|
333
384
|
? `\n## Mode: Pro\n\ud83d\udd0d Pro mode — @grill-me skill is pre-loaded. Before starting any task, you MUST first read and run the grill-me skill instructions to clarify requirements. Use it to refine the task before execution. Minimum context window: 64000.`
|
|
334
385
|
: '';
|
|
335
|
-
// ───
|
|
386
|
+
// ─── Final prompt assembly ───────────────────────────
|
|
336
387
|
const base = mode === 'fast'
|
|
337
388
|
? [header, platformBlock, sysInfo, memory, userProfile, projectMap, agentsBlock, modeBlock].filter(Boolean).join('\n')
|
|
338
389
|
: [header, platformBlock, sysInfo, memory, userProfile, projectMap, agentsBlock, skillsHint, modeBlock].filter(Boolean).join('\n');
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -3,7 +3,7 @@ import { readFileSync } from 'node:fs';
|
|
|
3
3
|
import { join, dirname } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { loadConfig, saveConfig, ensureMmaDir } from './config/config.js';
|
|
6
|
-
import {
|
|
6
|
+
import { LMStudioNative } from './llm/lmstudio-native.js';
|
|
7
7
|
import { ToolRegistry } from './tools/registry.js';
|
|
8
8
|
import { runAgentLoop } from './agent/loop.js';
|
|
9
9
|
import { runRepl } from './repl/index.js';
|
|
@@ -98,7 +98,7 @@ async function createProviderInteractive(config) {
|
|
|
98
98
|
process.exit(1);
|
|
99
99
|
}
|
|
100
100
|
return {
|
|
101
|
-
provider: new
|
|
101
|
+
provider: new LMStudioNative(providerCfg.url, modelCfg.model, modelCfg.contextWindow),
|
|
102
102
|
modelLabel: `${config.active.provider}/${modelName}`,
|
|
103
103
|
};
|
|
104
104
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config/config.js
CHANGED
|
@@ -139,7 +139,7 @@ const LLM_DEFAULTS = {
|
|
|
139
139
|
retries: 1,
|
|
140
140
|
retryWithoutThinking: true,
|
|
141
141
|
fallbackToReasoning: true,
|
|
142
|
-
maxTokensReasoning:
|
|
142
|
+
maxTokensReasoning: 48000,
|
|
143
143
|
maxTokensDefault: 4096,
|
|
144
144
|
maxTokensAfterTool: 24576,
|
|
145
145
|
emptyResponseThreshold: 10,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LLMProvider, ChatMessage, ChatOptions, Chunk } from './provider.js';
|
|
2
|
+
export declare class LMStudioNative implements LLMProvider {
|
|
3
|
+
readonly model: string;
|
|
4
|
+
contextWindow: number;
|
|
5
|
+
private baseUrl;
|
|
6
|
+
constructor(baseUrl: string, model: string, contextWindow: number);
|
|
7
|
+
chat(messages: ChatMessage[], options?: ChatOptions): AsyncIterable<Chunk>;
|
|
8
|
+
countTokens(text: string): Promise<number>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=lmstudio-native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lmstudio-native.d.ts","sourceRoot":"","sources":["../../src/llm/lmstudio-native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAgDlF,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAQ1D,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC;IAoK3E,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAIjD"}
|