grok-dev 1.0.0-rc3 → 1.0.0-rc4

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 (41) hide show
  1. package/.grok/settings.json +1 -1
  2. package/README.md +21 -3
  3. package/dist/agent/agent.js +110 -35
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/compaction.d.ts +1 -1
  6. package/dist/agent/compaction.js +14 -4
  7. package/dist/agent/compaction.js.map +1 -1
  8. package/dist/agent/reasoning.d.ts +3 -0
  9. package/dist/agent/reasoning.js +53 -0
  10. package/dist/agent/reasoning.js.map +1 -0
  11. package/dist/agent/reasoning.test.d.ts +1 -0
  12. package/dist/agent/reasoning.test.js.map +1 -0
  13. package/dist/grok/client.d.ts +16 -0
  14. package/dist/grok/client.js +26 -3
  15. package/dist/grok/client.js.map +1 -1
  16. package/dist/grok/models.d.ts +6 -2
  17. package/dist/grok/models.js +107 -22
  18. package/dist/grok/models.js.map +1 -1
  19. package/dist/grok/models.test.d.ts +1 -0
  20. package/dist/grok/models.test.js.map +1 -0
  21. package/dist/grok/tools.d.ts +2 -0
  22. package/dist/grok/tools.js +33 -23
  23. package/dist/grok/tools.js.map +1 -1
  24. package/dist/index.js +14 -6
  25. package/dist/index.js.map +1 -1
  26. package/dist/tools/bash.d.ts +1 -1
  27. package/dist/tools/bash.js +60 -13
  28. package/dist/tools/bash.js.map +1 -1
  29. package/dist/types/index.d.ts +11 -3
  30. package/dist/types/index.js.map +1 -1
  31. package/dist/ui/agents-modal.d.ts +36 -0
  32. package/dist/ui/agents-modal.js +53 -0
  33. package/dist/ui/agents-modal.js.map +1 -0
  34. package/dist/ui/app.js +404 -66
  35. package/dist/ui/app.js.map +1 -1
  36. package/dist/utils/settings.d.ts +12 -0
  37. package/dist/utils/settings.js +64 -6
  38. package/dist/utils/settings.js.map +1 -1
  39. package/dist/utils/subagents-settings.test.d.ts +1 -0
  40. package/dist/utils/subagents-settings.test.js.map +1 -0
  41. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "model": "grok-code-fast-1",
2
+ "model": "grok-4.20-multi-agent-0309",
3
3
  "mcpServers": {
4
4
  "github": {
5
5
  "name": "GitHub",
package/README.md CHANGED
@@ -64,8 +64,9 @@ Works in interactive mode too—same flag.
64
64
  grok --prompt "summarize the repo state" --format json
65
65
  ```
66
66
 
67
- `--format json` emits newline-delimited `StreamChunk` objects instead of the
68
- default human-readable text stream.
67
+ `--format json` emits a newline-delimited JSON event stream instead of the
68
+ default human-readable text output. Events are semantic, step-level records such
69
+ as `step_start`, `text`, `tool_use`, `step_finish`, and `error`.
69
70
 
70
71
  **List Grok models and pricing hints:**
71
72
 
@@ -85,9 +86,10 @@ grok fix the flaky test in src/foo.test.ts
85
86
 
86
87
  | Thing | What it means |
87
88
  |--------|----------------|
88
- | **Grok-native** | Defaults tuned for Grok; models like **`grok-code-fast-1`**, **`grok-4-1-fast`**, flagship and fast variants—run `grok models` for the full menu. |
89
+ | **Grok-native** | Defaults tuned for Grok; models like **`grok-code-fast-1`**, **`grok-4-1-fast-reasoning`**, **`grok-4.20-multi-agent-0309`**, plus flagship and fast variants—run `grok models` for the full menu. |
89
90
  | **X + web search** | **`search_x`** and **`search_web`** tools—live posts and docs without pretending the internet stopped in 2023. |
90
91
  | **Sub-agents (default behavior)** | Foreground **`task`** delegation (e.g. explore vs general) plus background **`delegate`** for read-only deep dives—parallelize like you mean it. |
92
+ | **Custom sub-agents** | Define named agents with **`subAgents`** in **`~/.grok/user-settings.json`** and manage them from the TUI with **`/agents`**. |
91
93
  | **Remote control** | Pair **Telegram** from the TUI (`/remote-control` → Telegram): DM your bot, **`/pair`**, approve the code in-terminal. Keep the CLI running while you ping it from your phone. |
92
94
  | **No “mystery meat” UI** | OpenTUI React terminal UI—fast, keyboard-driven, not whatever glitchy thing you’re thinking of. |
93
95
  | **Skills** | Agent Skills under **`.agents/skills/<name>/SKILL.md`** (project) or **`~/.agents/skills/`** (user). Use **`/skills`** in the TUI to list what’s installed. |
@@ -128,6 +130,22 @@ grok -k your_key_here
128
130
  { "apiKey": "your_key_here" }
129
131
  ```
130
132
 
133
+ Optional **`subAgents`** — custom foreground sub-agents. Each entry needs **`name`**, **`model`**, and **`instruction`**:
134
+
135
+ ```json
136
+ {
137
+ "subAgents": [
138
+ {
139
+ "name": "security-review",
140
+ "model": "grok-code-fast-1",
141
+ "instruction": "Prioritize security implications and suggest concrete fixes."
142
+ }
143
+ ]
144
+ }
145
+ ```
146
+
147
+ Names cannot be `general` or `explore` because those are reserved for the built-in sub-agents.
148
+
131
149
  Optional: **`GROK_BASE_URL`** (default `https://api.x.ai/v1`), **`GROK_MODEL`**, **`GROK_MAX_TOKENS`**.
132
150
 
133
151
  ---
@@ -1,15 +1,16 @@
1
1
  import { stepCountIs, streamText } from "ai";
2
- import { createProvider, generateTitle as genTitle } from "../grok/client";
3
- import { getModelInfo } from "../grok/models";
2
+ import { createProvider, generateTitle as genTitle, resolveModelRuntime } from "../grok/client";
3
+ import { DEFAULT_MODEL, getModelInfo, normalizeModelId } from "../grok/models";
4
4
  import { createTools } from "../grok/tools";
5
5
  import { buildMcpToolSet } from "../mcp/runtime";
6
6
  import { appendCompaction, appendMessages, appendSystemMessage, buildChatEntries, getNextMessageSequence, getSessionTotalTokens, loadTranscript, loadTranscriptState, recordUsageEvent, SessionStore, } from "../storage/index";
7
7
  import { BashTool } from "../tools/bash";
8
8
  import { loadCustomInstructions } from "../utils/instructions";
9
- import { loadMcpServers } from "../utils/settings";
9
+ import { loadMcpServers, loadValidSubAgents } from "../utils/settings";
10
10
  import { discoverSkills, formatSkillsForPrompt } from "../utils/skills";
11
11
  import { createCompactionSummaryMessage, DEFAULT_KEEP_RECENT_TOKENS, DEFAULT_RESERVE_TOKENS, estimateConversationTokens, generateCompactionSummary, prepareCompaction, relaxCompactionSettings, shouldCompactContext, } from "./compaction";
12
12
  import { DelegationManager } from "./delegations";
13
+ import { containsEncryptedReasoning, sanitizeModelMessages } from "./reasoning";
13
14
  const MAX_TOOL_ROUNDS = 400;
14
15
  const ENVIRONMENT = `ENVIRONMENT:
15
16
  You are running inside a terminal (CLI). Your text output is rendered in a plain terminal — not a browser, not a rich text editor.
@@ -32,7 +33,7 @@ TOOLS:
32
33
  - process_logs: View recent output from a background process by ID.
33
34
  - process_stop: Stop a background process by ID.
34
35
  - process_list: List all background processes with status and uptime.
35
- - task: Delegate a focused foreground task to a sub-agent. Use general for multi-step execution and explore for fast read-only research.
36
+ - task: Delegate a focused foreground task to a sub-agent. Use general for multi-step execution, explore for fast read-only research, or a configured custom sub-agent name when listed under CUSTOM SUB-AGENTS.
36
37
  - delegate: Launch a read-only background agent for longer research while you continue working.
37
38
  - delegation_read: Retrieve a completed background delegation result by ID.
38
39
  - delegation_list: List running and completed background delegations. Do not poll it repeatedly.
@@ -56,6 +57,7 @@ DEFAULT DELEGATION POLICY:
56
57
  - Prefer delegate for longer-running read-only exploration when you can keep making progress without blocking.
57
58
  - Use the explore sub-agent for read-only investigation, reviews, research, and "how does this work?" tasks.
58
59
  - Use the general sub-agent for delegated work that may need editing files, running commands, or producing a concrete implementation.
60
+ - Use a matching custom sub-agent when the task fits one of the configured specializations.
59
61
  - Never use delegate for tasks that should edit files or make shell changes.
60
62
  - When a background delegation is running, do not wait idly and do not spam delegation_list(). Continue useful work.
61
63
  - Do not wait for the user to explicitly ask for a sub-agent when delegation would clearly help.
@@ -66,6 +68,7 @@ EXAMPLES:
66
68
  - "research how auth works" -> delegate to explore first
67
69
  - "investigate why this test fails" -> delegate to explore first, then continue with findings
68
70
  - "refactor this module" -> delegate a focused part to general when helpful
71
+ - Recurring specialized workflows -> use the matching custom sub-agent via task
69
72
 
70
73
  IMPORTANT:
71
74
  - Prefer edit_file for surgical changes to existing files — it shows a clean diff.
@@ -80,6 +83,7 @@ ${ENVIRONMENT}
80
83
  TOOLS:
81
84
  - read_file: Read file contents for analysis.
82
85
  - bash: ONLY for searching (find, grep, ls) — NEVER modify files.
86
+ - task: Delegate a focused task to a sub-agent when deeper research or specialized analysis would help.
83
87
  - generate_plan: ALWAYS use this to present your plan. Creates an interactive UI with steps and questions.
84
88
 
85
89
  BEHAVIOR:
@@ -97,6 +101,7 @@ ${ENVIRONMENT}
97
101
  TOOLS:
98
102
  - read_file: Read file contents for context.
99
103
  - bash: ONLY for searching (find, grep, ls) — NEVER modify.
104
+ - task: Delegate a focused task to a sub-agent when specialized analysis or deeper investigation would help.
100
105
 
101
106
  BEHAVIOR:
102
107
  - Answer the user's question directly and thoroughly
@@ -105,26 +110,43 @@ BEHAVIOR:
105
110
  - NEVER create, modify, or delete files
106
111
  - Focus on explanation, not execution`,
107
112
  };
108
- function buildSystemPrompt(cwd, mode, planContext) {
113
+ function findCustomSubagent(agent, subagents = loadValidSubAgents()) {
114
+ return (subagents.find((item) => item.name === agent) ??
115
+ subagents.find((item) => item.name.toLowerCase() === agent.toLowerCase()));
116
+ }
117
+ function formatCustomSubagentsPromptSection(subagents) {
118
+ if (subagents.length === 0)
119
+ return "";
120
+ const lines = subagents.map((agent) => {
121
+ const instruction = agent.instruction.trim() || "(none)";
122
+ return `### ${agent.name}\n- model: ${agent.model}\n- instruction:\n${instruction}`;
123
+ });
124
+ return `\n\nCUSTOM SUB-AGENTS:\nUser-defined foreground sub-agents from ~/.grok/user-settings.json. When one matches the task, call the task tool with agent set to the exact name.\n\n${lines.join("\n\n")}\n`;
125
+ }
126
+ function buildSystemPrompt(cwd, mode, planContext, subagents) {
109
127
  const custom = loadCustomInstructions(cwd);
110
128
  const customSection = custom
111
129
  ? `\n\nCUSTOM INSTRUCTIONS:\n${custom}\n\nFollow the above alongside standard instructions.\n`
112
130
  : "";
113
131
  const skillsText = formatSkillsForPrompt(discoverSkills(cwd));
114
132
  const skillsSection = skillsText ? `\n\n${skillsText}\n` : "";
133
+ const subagentsSection = formatCustomSubagentsPromptSection(subagents ?? loadValidSubAgents());
115
134
  const planSection = planContext
116
135
  ? `\n\nAPPROVED PLAN:\nThe following plan has been approved by the user. Execute it now.\n${planContext}\n`
117
136
  : "";
118
- return `${MODE_PROMPTS[mode]}${customSection}${skillsSection}${planSection}
137
+ return `${MODE_PROMPTS[mode]}${customSection}${skillsSection}${subagentsSection}${planSection}
119
138
 
120
139
  Current working directory: ${cwd}`;
121
140
  }
122
- function buildSubagentPrompt(request, cwd) {
123
- const mode = request.agent === "explore" ? "ask" : "agent";
124
- const role = request.agent === "explore"
125
- ? "You are the Explore sub-agent. You are read-only and focus on fast codebase research."
126
- : "You are the General sub-agent. You can investigate, edit files, and run commands to complete delegated work.";
127
- const rules = request.agent === "explore"
141
+ function buildSubagentPrompt(request, cwd, custom, subagents) {
142
+ const isExplore = request.agent === "explore";
143
+ const mode = isExplore ? "ask" : "agent";
144
+ const role = custom
145
+ ? `You are the custom sub-agent "${custom.name}". You can investigate, edit files, and run commands unless the delegated task says otherwise.`
146
+ : request.agent === "explore"
147
+ ? "You are the Explore sub-agent. You are read-only and focus on fast codebase research."
148
+ : "You are the General sub-agent. You can investigate, edit files, and run commands to complete delegated work.";
149
+ const rules = isExplore
128
150
  ? [
129
151
  "Do not create, modify, or delete files.",
130
152
  "Prefer `read_file` and search commands over broad shell exploration.",
@@ -135,8 +157,10 @@ function buildSubagentPrompt(request, cwd) {
135
157
  "Use tools directly instead of narrating your intent.",
136
158
  "Return a concise summary for the parent agent with key outcomes and any open risks.",
137
159
  ];
160
+ const instructionLines = custom?.instruction.trim() ? ["", "SUB-AGENT INSTRUCTIONS:", custom.instruction.trim()] : [];
138
161
  return [
139
162
  role,
163
+ ...instructionLines,
140
164
  "",
141
165
  "You are helping a parent agent. Do not address the end user directly.",
142
166
  "Focus tightly on the delegated scope and summarize what matters back to the parent agent.",
@@ -145,7 +169,21 @@ function buildSubagentPrompt(request, cwd) {
145
169
  "",
146
170
  `Delegated task: ${request.description}`,
147
171
  "",
148
- buildSystemPrompt(cwd, mode),
172
+ buildSystemPrompt(cwd, mode, undefined, subagents),
173
+ ].join("\n");
174
+ }
175
+ function applyModelConstraints(system, modelId) {
176
+ const modelInfo = getModelInfo(modelId);
177
+ if (modelInfo?.supportsClientTools !== false) {
178
+ return system;
179
+ }
180
+ return [
181
+ system,
182
+ "",
183
+ "MODEL CONSTRAINTS:",
184
+ "- The selected model does not support client-side CLI tool calls in this environment.",
185
+ "- Do not call bash, read_file, write_file, edit_file, task, delegate, delegation, or MCP tools.",
186
+ "- Answer directly using only the conversation context already provided.",
149
187
  ].join("\n");
150
188
  }
151
189
  export class Agent {
@@ -173,7 +211,7 @@ export class Agent {
173
211
  }
174
212
  this.bash = new BashTool();
175
213
  this.delegations = new DelegationManager(() => this.bash.getCwd());
176
- this.modelId = model || "grok-4-1-fast";
214
+ this.modelId = normalizeModelId(model || DEFAULT_MODEL);
177
215
  this.maxToolRounds = maxToolRounds || MAX_TOOL_ROUNDS;
178
216
  const envMax = Number(process.env.GROK_MAX_TOKENS);
179
217
  this.maxTokens = Number.isFinite(envMax) && envMax > 0 ? envMax : 16_384;
@@ -192,9 +230,9 @@ export class Agent {
192
230
  return this.modelId;
193
231
  }
194
232
  setModel(model) {
195
- this.modelId = model;
233
+ this.modelId = normalizeModelId(model);
196
234
  if (this.sessionStore && this.session) {
197
- this.sessionStore.setModel(this.session.id, model);
235
+ this.sessionStore.setModel(this.session.id, this.modelId);
198
236
  this.session = this.sessionStore.getRequiredSession(this.session.id);
199
237
  }
200
238
  }
@@ -242,7 +280,7 @@ export class Agent {
242
280
  return "New session";
243
281
  }
244
282
  const generated = await genTitle(provider, userMessage);
245
- this.recordUsage(generated.usage, "title", "grok-3-mini-fast");
283
+ this.recordUsage(generated.usage, "title", generated.modelId);
246
284
  if (this.sessionStore && this.session && !this.session.title && generated.title) {
247
285
  this.sessionStore.setTitle(this.session.id, generated.title);
248
286
  this.session = this.sessionStore.getRequiredSession(this.session.id);
@@ -339,17 +377,37 @@ export class Agent {
339
377
  async runTaskRequest(request, onActivity, abortSignal) {
340
378
  const provider = this.requireProvider();
341
379
  const signal = abortSignal;
342
- const childMode = request.agent === "explore" ? "ask" : "agent";
380
+ const agentKey = String(request.agent);
381
+ const isExplore = agentKey === "explore";
382
+ const isGeneral = agentKey === "general";
383
+ const subagents = loadValidSubAgents();
384
+ const custom = !isExplore && !isGeneral ? findCustomSubagent(agentKey, subagents) : undefined;
385
+ if (!isExplore && !isGeneral && !custom) {
386
+ const message = `Unknown sub-agent "${agentKey}". Use general, explore, or a configured name from ~/.grok/user-settings.json.`;
387
+ return {
388
+ success: false,
389
+ output: message,
390
+ task: {
391
+ agent: agentKey,
392
+ description: request.description,
393
+ summary: message,
394
+ },
395
+ };
396
+ }
397
+ const childMode = isExplore ? "ask" : "agent";
343
398
  const childBash = new BashTool(this.bash.getCwd());
344
399
  const childBaseTools = createTools(childBash, provider, childMode);
345
- const initialDetail = request.agent === "explore" ? "Scanning the codebase" : "Planning delegated work";
400
+ const initialDetail = isExplore ? "Scanning the codebase" : "Planning delegated work";
346
401
  let assistantText = "";
347
402
  let lastActivity = initialDetail;
348
403
  let childTools = childBaseTools;
349
404
  let closeMcp;
405
+ const childModelId = normalizeModelId(isExplore ? DEFAULT_MODEL : custom ? custom.model : this.modelId);
406
+ const childRuntime = resolveModelRuntime(provider, childModelId);
407
+ const childSystem = applyModelConstraints(buildSubagentPrompt(request, childBash.getCwd(), custom ?? null, subagents), childRuntime.modelId);
350
408
  onActivity?.(initialDetail);
351
409
  try {
352
- if (childMode === "agent") {
410
+ if (childMode === "agent" && childRuntime.modelInfo?.supportsClientTools !== false) {
353
411
  const mcpBundle = await buildMcpToolSet(loadMcpServers());
354
412
  closeMcp = mcpBundle.close;
355
413
  childTools = { ...childBaseTools, ...mcpBundle.tools };
@@ -359,17 +417,20 @@ export class Agent {
359
417
  }
360
418
  }
361
419
  const result = streamText({
362
- model: provider(request.agent === "explore" ? "grok-4-1-fast" : this.modelId),
363
- system: buildSubagentPrompt(request, childBash.getCwd()),
420
+ model: childRuntime.model,
421
+ system: childSystem,
364
422
  messages: [{ role: "user", content: request.prompt }],
365
- tools: childTools,
366
- stopWhen: stepCountIs(Math.min(this.maxToolRounds, request.agent === "explore" ? 60 : 120)),
423
+ tools: childRuntime.modelInfo?.supportsClientTools === false ? {} : childTools,
424
+ stopWhen: stepCountIs(Math.min(this.maxToolRounds, isExplore ? 60 : 120)),
367
425
  maxRetries: 0,
368
426
  abortSignal: signal,
369
- temperature: request.agent === "explore" ? 0.2 : 0.5,
370
- maxOutputTokens: Math.min(this.maxTokens, 8_192),
427
+ temperature: isExplore ? 0.2 : 0.5,
428
+ ...(childRuntime.modelInfo?.supportsMaxOutputTokens === false
429
+ ? {}
430
+ : { maxOutputTokens: Math.min(this.maxTokens, 8_192) }),
431
+ ...(childRuntime.providerOptions ? { providerOptions: childRuntime.providerOptions } : {}),
371
432
  onFinish: ({ totalUsage }) => {
372
- this.recordUsage(totalUsage, "task");
433
+ this.recordUsage(totalUsage, "task", childRuntime.modelId);
373
434
  },
374
435
  });
375
436
  for await (const part of result.fullStream) {
@@ -552,13 +613,17 @@ export class Agent {
552
613
  this.messages.push(userModelMessage);
553
614
  this.messageSeqs.push(null);
554
615
  const provider = this.requireProvider();
555
- const system = buildSystemPrompt(this.bash.getCwd(), this.mode, this.planContext);
556
- const modelInfo = getModelInfo(this.modelId);
616
+ const subagents = loadValidSubAgents();
617
+ const system = applyModelConstraints(buildSystemPrompt(this.bash.getCwd(), this.mode, this.planContext, subagents), this.modelId);
618
+ const runtime = resolveModelRuntime(provider, this.modelId);
619
+ const modelInfo = runtime.modelInfo;
557
620
  this.planContext = null;
558
621
  let attemptedOverflowRecovery = false;
559
622
  try {
560
623
  while (true) {
561
624
  let assistantText = "";
625
+ let reasoningPreview = "";
626
+ let encryptedReasoningHidden = false;
562
627
  let streamOk = false;
563
628
  let closeMcp;
564
629
  let stepNumber = -1;
@@ -574,9 +639,10 @@ export class Agent {
574
639
  runDelegation: (request, abortSignal) => this.runDelegation(request, combineAbortSignals(signal, abortSignal)),
575
640
  readDelegation: (id) => this.readDelegation(id),
576
641
  listDelegations: () => this.listDelegations(),
642
+ subagents,
577
643
  });
578
- let tools = baseTools;
579
- if (this.mode === "agent") {
644
+ let tools = runtime.modelInfo?.supportsClientTools === false ? {} : baseTools;
645
+ if (this.mode === "agent" && runtime.modelInfo?.supportsClientTools !== false) {
580
646
  const mcpBundle = await buildMcpToolSet(loadMcpServers());
581
647
  closeMcp = mcpBundle.close;
582
648
  tools = { ...baseTools, ...mcpBundle.tools };
@@ -585,7 +651,7 @@ export class Agent {
585
651
  }
586
652
  }
587
653
  const result = streamText({
588
- model: provider(this.modelId),
654
+ model: runtime.model,
589
655
  system,
590
656
  messages: this.messages,
591
657
  tools,
@@ -593,7 +659,8 @@ export class Agent {
593
659
  maxRetries: 0,
594
660
  abortSignal: signal,
595
661
  temperature: 0.7,
596
- maxOutputTokens: this.maxTokens,
662
+ ...(runtime.modelInfo?.supportsMaxOutputTokens === false ? {} : { maxOutputTokens: this.maxTokens }),
663
+ ...(runtime.providerOptions ? { providerOptions: runtime.providerOptions } : {}),
597
664
  experimental_onStepStart: (event) => {
598
665
  stepNumber = getStepNumber(event, stepNumber + 1);
599
666
  notifyObserver(observer?.onStepStart, {
@@ -612,7 +679,7 @@ export class Agent {
612
679
  });
613
680
  },
614
681
  onFinish: ({ totalUsage }) => {
615
- this.recordUsage(totalUsage, "message");
682
+ this.recordUsage(totalUsage, "message", runtime.modelId);
616
683
  },
617
684
  });
618
685
  for await (const part of result.fullStream) {
@@ -626,6 +693,14 @@ export class Agent {
626
693
  yield { type: "content", content: part.text };
627
694
  break;
628
695
  case "reasoning-delta":
696
+ reasoningPreview = `${reasoningPreview}${part.text}`.slice(-256);
697
+ if (containsEncryptedReasoning(reasoningPreview)) {
698
+ if (!encryptedReasoningHidden) {
699
+ encryptedReasoningHidden = true;
700
+ yield { type: "reasoning", content: "[Encrypted reasoning hidden]" };
701
+ }
702
+ break;
703
+ }
629
704
  yield { type: "reasoning", content: part.text };
630
705
  break;
631
706
  case "tool-call": {
@@ -674,7 +749,7 @@ export class Agent {
674
749
  try {
675
750
  const response = await result.response;
676
751
  if (!signal.aborted) {
677
- this.appendCompletedTurn(userModelMessage, response.messages);
752
+ this.appendCompletedTurn(userModelMessage, sanitizeModelMessages(response.messages));
678
753
  streamOk = true;
679
754
  }
680
755
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ModelMessage } from "ai";
2
- import type { XaiProvider } from "../grok/client";
2
+ import { type XaiProvider } from "../grok/client";
3
3
  export interface CompactionSettings {
4
4
  reserveTokens: number;
5
5
  keepRecentTokens: number;
@@ -1,4 +1,6 @@
1
1
  import { generateText } from "ai";
2
+ import { resolveModelRuntime } from "../grok/client";
3
+ import { containsEncryptedReasoning } from "./reasoning";
2
4
  const TOOL_RESULT_MAX_CHARS = 2000;
3
5
  const MIN_KEPT_TOKENS_ON_RETRY = 4000;
4
6
  export const DEFAULT_RESERVE_TOKENS = 16_384;
@@ -81,11 +83,15 @@ function getTextParts(content) {
81
83
  continue;
82
84
  }
83
85
  if (part.type === "reasoning" && typeof part.text === "string") {
84
- parts.push(part.text);
86
+ if (!containsEncryptedReasoning(part.text)) {
87
+ parts.push(part.text);
88
+ }
85
89
  continue;
86
90
  }
87
91
  if (part.type === "reasoning" && typeof part.reasoning === "string") {
88
- parts.push(part.reasoning);
92
+ if (!containsEncryptedReasoning(part.reasoning)) {
93
+ parts.push(part.reasoning);
94
+ }
89
95
  }
90
96
  }
91
97
  return parts;
@@ -334,14 +340,18 @@ async function summarizeConversation(provider, modelId, messages, reserveTokens,
334
340
  if (customInstructions?.trim()) {
335
341
  promptParts.push(`Additional focus: ${customInstructions.trim()}`);
336
342
  }
343
+ const runtime = resolveModelRuntime(provider, modelId);
337
344
  const { text } = await generateText({
338
- model: provider(modelId),
345
+ model: runtime.model,
339
346
  system: SUMMARIZATION_SYSTEM_PROMPT,
340
347
  prompt: promptParts.filter(Boolean).join("\n\n"),
341
348
  abortSignal: signal,
342
349
  maxRetries: 0,
343
350
  temperature: 0.2,
344
- maxOutputTokens: Math.max(512, Math.floor(reserveTokens * 0.8)),
351
+ ...(runtime.modelInfo?.supportsMaxOutputTokens === false
352
+ ? {}
353
+ : { maxOutputTokens: Math.max(512, Math.floor(reserveTokens * 0.8)) }),
354
+ ...(runtime.providerOptions ? { providerOptions: runtime.providerOptions } : {}),
345
355
  });
346
356
  return text.trim();
347
357
  }