Synced from monorepo

Synced from monorepo

Changes:
- Temporarily disable session share link creation in the TUI
- Do not approve plan on empty Enter from the revise prompt
- Expose chat product Skills via ACP available_commands_update
- Return immediately from a blocking wait on an already-completed ACP task
- Split headless pager module for clearer structure
- Stop git worktree prune from removing user registrations on resume
- Use compaction sampler tokenizer for item token counts
- Opt-in extra root CAs via GROK_EXTRA_CA_BUNDLE
- Cancel all session subagents when the user stops
- Let the session persistence actor exit when its session ends
- Make fullscreen terminal resize much cheaper on long sessions
- Report honestly from kill_task when an ACP task does not exist
- Hide /usage for external-auth deployments
- Forward the history-load trailer’s computer_reason to the client
- Remove ineffective no-op tool reminder
- Declare slash-command screen-mode support in one place
- Keep settings enum picker on the committed value until Enter
- Reap a PTY’s full process tree
- Stream tool calls from headless mode over ACP
- Bridge gateway task lifecycle to ACP for chat session background tasks
- Don’t warn about truncated history on a suppressed replay
- Fit full-replace summarizer input and recover on context-length errors
- Stop dropping agents over an unrecognized frontmatter color
- Add /undo as a slash alias for /rewind
- Harden sleep/wake token-refresh paths against forced re-login
- Add session/list ACP method
- Give each sampling backend its own conversion module
- Treat an unenrolled child process as a lint error
- Suppress the cancelled marker on send-now wake turns
- Stop tearing down Roslyn on every edit, and read C# diagnostics

Source-Revision: 2a28b4a86cfc4a4c133c35b7fc2a6a9964387c39
This commit is contained in:
grokkybara[bot] 2026-07-30 19:07:40 +00:00
commit dd04f397b1
367 changed files with 29489 additions and 10051 deletions

View file

@ -1448,11 +1448,46 @@ If LSP tools are enabled but no usable server config is found, Grok emits a non-
| `initializationOptions` | JSON passed during LSP initialize. |
| `settings` | Configuration sent via workspace settings updates. |
| `workspaceFolder` | Override workspace folder path sent to the server. |
| `workspaceOpen` | Solution or projects to load, for servers that need to be told explicitly (see below). |
| `startupTimeout` | Max startup wait in milliseconds before startup is considered failed. |
| `shutdownTimeout` | Max graceful shutdown wait in milliseconds. |
| `restartOnCrash` | Whether to restart the server after a crash. |
| `maxRestarts` | Maximum restart attempts before giving up. |
#### Telling a server which solution to load (`workspaceOpen`)
Most servers work out what to analyze from the workspace folder. A few do not,
and instead load their workspace through a protocol extension. The C# server
(`Microsoft.CodeAnalysis.LanguageServer`, "Roslyn") is the notable one: on its
own it treats every file as a loose "miscellaneous file" and reports no
project-level diagnostics at all, until it is told to open a solution or a set
of projects.
```json
{
"csharp": {
"command": "dotnet",
"args": [
"/path/to/Microsoft.CodeAnalysis.LanguageServer.dll",
"--stdio",
"--logLevel", "Warning",
"--extensionLogDirectory", "/tmp/roslyn-logs"
],
"extensionToLanguage": { ".cs": "csharp" },
"workspaceOpen": { "solution": "MyApp.sln" },
"startupTimeout": 60000
}
}
```
Use `"projects": ["src/App/App.csproj", "src/Lib/Lib.csproj"]` instead of
`"solution"` when there is no solution file. Paths may be absolute or relative
to the workspace root. Wrappers such as `roslyn-language-server` already send
these notifications themselves, in which case `workspaceOpen` can be omitted.
Note that `--logLevel` is required by that server, and that anything more
verbose than `Warning` makes it stream every internal log line to the client.
#### Installing language servers
Grok does not bundle language server binaries. You must install the server yourself and make sure the configured `command` is runnable on your machine.