@pentoshi/clai 4.14.0 → 4.14.1
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/CONTRIBUTING.md +4 -1
- package/MCP.md +182 -0
- package/PROVIDERS.md +67 -0
- package/README.md +11 -2
- package/dist/agent/runner.js +1 -1
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/stream-recovery.js +5 -3
- package/dist/agent/stream-recovery.js.map +1 -1
- package/dist/agent/turn/mcp-agent-tools.d.ts +4 -2
- package/dist/agent/turn/mcp-agent-tools.js +15 -6
- package/dist/agent/turn/mcp-agent-tools.js.map +1 -1
- package/dist/agent/turn/tool-call-preparation.d.ts +2 -1
- package/dist/agent/turn/tool-call-preparation.js +20 -4
- package/dist/agent/turn/tool-call-preparation.js.map +1 -1
- package/dist/agent/turn/tool-execution/single-tool.js +1 -1
- package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
- package/dist/app/commands/catalog.js +1 -0
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/classic/app/action-handlers.js +2 -1
- package/dist/classic/app/action-handlers.js.map +1 -1
- package/dist/classic/app/app-wiring.js +2 -0
- package/dist/classic/app/app-wiring.js.map +1 -1
- package/dist/classic/chrome/composer-controller.d.ts +2 -1
- package/dist/classic/chrome/composer-controller.js +36 -19
- package/dist/classic/chrome/composer-controller.js.map +1 -1
- package/dist/classic/chrome/composer-frame.js +1 -1
- package/dist/classic/chrome/composer-frame.js.map +1 -1
- package/dist/classic/input/input-router.d.ts +2 -1
- package/dist/classic/input/input-router.js +9 -0
- package/dist/classic/input/input-router.js.map +1 -1
- package/dist/classic/input/key-event.d.ts +3 -0
- package/dist/classic/input/key-event.js.map +1 -1
- package/dist/classic/input/paste-burst.js +5 -0
- package/dist/classic/input/paste-burst.js.map +1 -1
- package/dist/classic/input/raw-decoder.d.ts +1 -0
- package/dist/classic/input/raw-decoder.js +15 -10
- package/dist/classic/input/raw-decoder.js.map +1 -1
- package/dist/classic/input/terminal-sequences.d.ts +0 -1
- package/dist/classic/input/terminal-sequences.js +0 -1
- package/dist/classic/input/terminal-sequences.js.map +1 -1
- package/dist/commands/providers.js +2 -0
- package/dist/commands/providers.js.map +1 -1
- package/dist/llm/adapters/mistral-messages.d.ts +1 -0
- package/dist/llm/adapters/mistral-messages.js +56 -0
- package/dist/llm/adapters/mistral-messages.js.map +1 -0
- package/dist/llm/capabilities.js +63 -1
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/capability/state.d.ts +1 -1
- package/dist/llm/capability/tool-dialect.js +8 -1
- package/dist/llm/capability/tool-dialect.js.map +1 -1
- package/dist/llm/capability/vision-patterns.js +6 -0
- package/dist/llm/capability/vision-patterns.js.map +1 -1
- package/dist/llm/capability/vision-registry.js +11 -1
- package/dist/llm/capability/vision-registry.js.map +1 -1
- package/dist/llm/catalog-context.d.ts +6 -0
- package/dist/llm/catalog-context.js +15 -0
- package/dist/llm/catalog-context.js.map +1 -0
- package/dist/llm/catalog-facts.d.ts +2 -0
- package/dist/llm/catalog-facts.js.map +1 -1
- package/dist/llm/cline-model-catalog.d.ts +4 -0
- package/dist/llm/cline-model-catalog.js +197 -0
- package/dist/llm/cline-model-catalog.js.map +1 -0
- package/dist/llm/cline.d.ts +1 -0
- package/dist/llm/cline.js +69 -17
- package/dist/llm/cline.js.map +1 -1
- package/dist/llm/free-model-limits.d.ts +1 -0
- package/dist/llm/free-model-limits.js +101 -0
- package/dist/llm/free-model-limits.js.map +1 -0
- package/dist/llm/free.js +136 -103
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/mistral-models.d.ts +2 -0
- package/dist/llm/mistral-models.js +23 -0
- package/dist/llm/mistral-models.js.map +1 -0
- package/dist/llm/mistral.d.ts +2 -0
- package/dist/llm/mistral.js +129 -0
- package/dist/llm/mistral.js.map +1 -0
- package/dist/llm/profile/layer-merge.js +3 -3
- package/dist/llm/profile/layer-merge.js.map +1 -1
- package/dist/llm/provider-identity.js +5 -0
- package/dist/llm/provider-identity.js.map +1 -1
- package/dist/llm/provider-info-text.js +19 -0
- package/dist/llm/provider-info-text.js.map +1 -1
- package/dist/llm/provider-model-layers.js +45 -0
- package/dist/llm/provider-model-layers.js.map +1 -1
- package/dist/llm/provider-profile-layers.js +25 -0
- package/dist/llm/provider-profile-layers.js.map +1 -1
- package/dist/llm/provider-profiles.js +28 -4
- package/dist/llm/provider-profiles.js.map +1 -1
- package/dist/llm/quota-signals.d.ts +1 -0
- package/dist/llm/quota-signals.js +8 -0
- package/dist/llm/quota-signals.js.map +1 -1
- package/dist/llm/reasoning-capability.js +1 -0
- package/dist/llm/reasoning-capability.js.map +1 -1
- package/dist/llm/request-plan.js +15 -6
- package/dist/llm/request-plan.js.map +1 -1
- package/dist/llm/router.js +1 -1
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/routing/attempt-complete.js +4 -3
- package/dist/llm/routing/attempt-complete.js.map +1 -1
- package/dist/llm/routing/attempt-request.d.ts +5 -1
- package/dist/llm/routing/attempt-request.js +22 -2
- package/dist/llm/routing/attempt-request.js.map +1 -1
- package/dist/llm/routing/attempt-stream.js +4 -3
- package/dist/llm/routing/attempt-stream.js.map +1 -1
- package/dist/llm/routing/failure-report.js +6 -2
- package/dist/llm/routing/failure-report.js.map +1 -1
- package/dist/llm/routing/provider-selection.js +3 -0
- package/dist/llm/routing/provider-selection.js.map +1 -1
- package/dist/llm/tool-protocol.d.ts +1 -1
- package/dist/llm/tool-protocol.js +4 -1
- package/dist/llm/tool-protocol.js.map +1 -1
- package/dist/llm/wire/chat-body.js +51 -28
- package/dist/llm/wire/chat-body.js.map +1 -1
- package/dist/llm/wire/effort-preflight.js +4 -1
- package/dist/llm/wire/effort-preflight.js.map +1 -1
- package/dist/llm/wire/mistral-content.d.ts +19 -0
- package/dist/llm/wire/mistral-content.js +106 -0
- package/dist/llm/wire/mistral-content.js.map +1 -0
- package/dist/llm/wire/mistral-model-catalog.d.ts +2 -0
- package/dist/llm/wire/mistral-model-catalog.js +73 -0
- package/dist/llm/wire/mistral-model-catalog.js.map +1 -0
- package/dist/llm/wire/openai-complete.js +10 -4
- package/dist/llm/wire/openai-complete.js.map +1 -1
- package/dist/llm/wire/openai-stream.js +38 -16
- package/dist/llm/wire/openai-stream.js.map +1 -1
- package/dist/mcp/auth/device.d.ts +7 -3
- package/dist/mcp/auth/device.js +55 -32
- package/dist/mcp/auth/device.js.map +1 -1
- package/dist/mcp/auth/http.d.ts +12 -0
- package/dist/mcp/auth/http.js +62 -0
- package/dist/mcp/auth/http.js.map +1 -0
- package/dist/mcp/auth/loopback.d.ts +9 -1
- package/dist/mcp/auth/loopback.js +80 -8
- package/dist/mcp/auth/loopback.js.map +1 -1
- package/dist/mcp/auth/metadata.d.ts +2 -3
- package/dist/mcp/auth/metadata.js +25 -25
- package/dist/mcp/auth/metadata.js.map +1 -1
- package/dist/mcp/auth/provider.d.ts +1 -0
- package/dist/mcp/auth/provider.js +215 -42
- package/dist/mcp/auth/provider.js.map +1 -1
- package/dist/mcp/auth/registration.d.ts +2 -3
- package/dist/mcp/auth/registration.js +10 -14
- package/dist/mcp/auth/registration.js.map +1 -1
- package/dist/mcp/auth/token-exchange.d.ts +5 -3
- package/dist/mcp/auth/token-exchange.js +15 -15
- package/dist/mcp/auth/token-exchange.js.map +1 -1
- package/dist/mcp/auth/token-store.d.ts +1 -1
- package/dist/mcp/auth/token-store.js +105 -54
- package/dist/mcp/auth/token-store.js.map +1 -1
- package/dist/mcp/auth/types.d.ts +11 -2
- package/dist/mcp/catalog.d.ts +11 -0
- package/dist/mcp/catalog.js +58 -0
- package/dist/mcp/catalog.js.map +1 -0
- package/dist/mcp/client.d.ts +10 -1
- package/dist/mcp/client.js +93 -29
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/coerce.js +4 -4
- package/dist/mcp/coerce.js.map +1 -1
- package/dist/mcp/config-file.js +53 -10
- package/dist/mcp/config-file.js.map +1 -1
- package/dist/mcp/discovery.js +2 -0
- package/dist/mcp/discovery.js.map +1 -1
- package/dist/mcp/jsonrpc.js +28 -18
- package/dist/mcp/jsonrpc.js.map +1 -1
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.js +211 -29
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/results.js +25 -10
- package/dist/mcp/results.js.map +1 -1
- package/dist/mcp/runtime.d.ts +6 -6
- package/dist/mcp/runtime.js +168 -60
- package/dist/mcp/runtime.js.map +1 -1
- package/dist/mcp/schema-compact.js +3 -29
- package/dist/mcp/schema-compact.js.map +1 -1
- package/dist/mcp/storage-lock.d.ts +1 -0
- package/dist/mcp/storage-lock.js +80 -0
- package/dist/mcp/storage-lock.js.map +1 -0
- package/dist/mcp/transport-http.d.ts +13 -2
- package/dist/mcp/transport-http.js +245 -77
- package/dist/mcp/transport-http.js.map +1 -1
- package/dist/mcp/transport-stdio.d.ts +5 -2
- package/dist/mcp/transport-stdio.js +96 -52
- package/dist/mcp/transport-stdio.js.map +1 -1
- package/dist/mcp/transport.d.ts +9 -1
- package/dist/mcp/transport.js +38 -0
- package/dist/mcp/transport.js.map +1 -1
- package/dist/mcp/types.d.ts +8 -2
- package/dist/mcp/types.js +1 -5
- package/dist/mcp/types.js.map +1 -1
- package/dist/mcp/validation.js +81 -12
- package/dist/mcp/validation.js.map +1 -1
- package/dist/noninteractive/stream-renderer.d.ts +1 -0
- package/dist/noninteractive/stream-renderer.js +13 -0
- package/dist/noninteractive/stream-renderer.js.map +1 -1
- package/dist/store/config/endpoints.js +1 -0
- package/dist/store/config/endpoints.js.map +1 -1
- package/dist/store/config.js +2 -0
- package/dist/store/config.js.map +1 -1
- package/dist/store/rtk-usage.d.ts +1 -0
- package/dist/store/rtk-usage.js +8 -3
- package/dist/store/rtk-usage.js.map +1 -1
- package/dist/tools/definitions/aggregate.js +4 -1
- package/dist/tools/definitions/aggregate.js.map +1 -1
- package/dist/tools/rtk/binary.d.ts +2 -2
- package/dist/tools/rtk/binary.js +12 -4
- package/dist/tools/rtk/binary.js.map +1 -1
- package/dist/tools/rtk/rewrite.js +13 -3
- package/dist/tools/rtk/rewrite.js.map +1 -1
- package/dist/tui-v2/components/composer/composer-input-box.d.ts +6 -1
- package/dist/tui-v2/components/composer/composer-input-box.js +27 -18
- package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
- package/dist/tui-v2/components/composer/paste-chip.d.ts +3 -2
- package/dist/tui-v2/components/composer/paste-chip.js +17 -48
- package/dist/tui-v2/components/composer/paste-chip.js.map +1 -1
- package/dist/tui-v2/composer/composer-cursor.d.ts +3 -0
- package/dist/tui-v2/composer/composer-cursor.js +21 -0
- package/dist/tui-v2/composer/composer-cursor.js.map +1 -0
- package/dist/tui-v2/composer/composer-editor.js +91 -100
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/tui-v2/composer/composer-highlight.d.ts +6 -1
- package/dist/tui-v2/composer/composer-highlight.js +9 -2
- package/dist/tui-v2/composer/composer-highlight.js.map +1 -1
- package/dist/tui-v2/composer/composer-wheel.js +2 -1
- package/dist/tui-v2/composer/composer-wheel.js.map +1 -1
- package/dist/tui-v2/composer/expand-paste.d.ts +4 -0
- package/dist/tui-v2/composer/expand-paste.js +34 -0
- package/dist/tui-v2/composer/expand-paste.js.map +1 -0
- package/dist/tui-v2/composer/paste-hit-test.d.ts +28 -0
- package/dist/tui-v2/composer/paste-hit-test.js +25 -0
- package/dist/tui-v2/composer/paste-hit-test.js.map +1 -0
- package/dist/tui-v2/composer/use-draft-actions.js +3 -1
- package/dist/tui-v2/composer/use-draft-actions.js.map +1 -1
- package/dist/tui-v2/input/paste-burst-guard.js +3 -0
- package/dist/tui-v2/input/paste-burst-guard.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/mentions.js +12 -1
- package/dist/ui/mentions.js.map +1 -1
- package/dist/ui-core/actions/action-id.d.ts +1 -1
- package/dist/ui-core/actions/action-id.js +1 -0
- package/dist/ui-core/actions/action-id.js.map +1 -1
- package/dist/ui-core/actions/format-shortcuts.js +3 -2
- package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
- package/dist/ui-core/actions/keymap.js +2 -0
- package/dist/ui-core/actions/keymap.js.map +1 -1
- package/dist/ui-core/bootstrap/composition-root.js +29 -11
- package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
- package/dist/ui-core/commands/mcp-commands.js +3 -3
- package/dist/ui-core/commands/mcp-commands.js.map +1 -1
- package/dist/ui-core/commands/pickers/search-reasoning.js +21 -6
- package/dist/ui-core/commands/pickers/search-reasoning.js.map +1 -1
- package/dist/ui-core/commands/rtk-commands.js +3 -3
- package/dist/ui-core/commands/rtk-commands.js.map +1 -1
- package/dist/ui-core/composer/completion.d.ts +1 -0
- package/dist/ui-core/composer/completion.js +31 -3
- package/dist/ui-core/composer/completion.js.map +1 -1
- package/dist/ui-core/composer/composer-height.d.ts +1 -1
- package/dist/ui-core/composer/composer-height.js +26 -3
- package/dist/ui-core/composer/composer-height.js.map +1 -1
- package/dist/ui-core/composer/paste-placeholder.d.ts +10 -0
- package/dist/ui-core/composer/paste-placeholder.js +60 -12
- package/dist/ui-core/composer/paste-placeholder.js.map +1 -1
- package/dist/ui-core/input/paste-burst.d.ts +2 -1
- package/dist/ui-core/input/paste-burst.js +20 -0
- package/dist/ui-core/input/paste-burst.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +2 -1
package/CONTRIBUTING.md
CHANGED
|
@@ -38,6 +38,7 @@ The tests use fixtures, isolated storage, and a mocked browser launcher; provide
|
|
|
38
38
|
| `npm run test:classic:pty` | Run the provider-independent POSIX terminal smoke test; requires Python 3. |
|
|
39
39
|
| `npm run test:bun` | Run native OpenTUI, buffered PTY input, and parity checks through Bun. |
|
|
40
40
|
| `npm run test:bun:session` | Verify complete UTF-8 input delivery through Bun's real PTY buffer and independent native terminal views. |
|
|
41
|
+
| `npm run test:deterministic -- test/mcp` | Check MCP transports, tool catalogs, authentication, and concurrent credential/config storage with local fixtures. |
|
|
41
42
|
| `npm run embed-prompts:check` | Check that embedded prompts match their source Markdown. |
|
|
42
43
|
| `npm run release:verify` | Validate dependency pins, lockfile, and release metadata. |
|
|
43
44
|
| `npm run compile` | Build native release binaries through Bun. |
|
|
@@ -77,6 +78,8 @@ Use strict TypeScript, explicit `.js` extensions for relative ESM imports, and f
|
|
|
77
78
|
|
|
78
79
|
Durable sessions run one agent and one persistence owner. Each attachment renders through private terminal streams with its own size, composer, scrolling, overlays, and input routing. Transcript views share immutable conversation data while retaining local display preferences. Detaching a view disposes only its renderer and UI state; the shared session continues. Runtime capability negotiation preserves attachment to agents launched by older versions.
|
|
79
80
|
|
|
81
|
+
MCP connections retain a stable catalog for each agent turn. Native requests use fixed MCP control tools; discovery and selected schemas travel in conversation context, with large catalogs deferred to paginated search. Preserve schema constraints, confirmation policy, request deadlines, and complete artifact-backed outputs when changing this path. OAuth connection recovery must remain silent; interactive authentication belongs to an explicit setup or sign-in action. Storage tests include separate processes sharing one config and rotating one OAuth refresh token.
|
|
82
|
+
|
|
80
83
|
Distribution manifests under `manifests/` are templates. The release workflow generates published metadata; placeholder hashes in those templates are not installation artifacts.
|
|
81
84
|
|
|
82
85
|
## Validation and pull requests
|
|
@@ -85,7 +88,7 @@ For behavior changes, add or update meaningful regression coverage and run the f
|
|
|
85
88
|
|
|
86
89
|
For documentation-only changes, check examples against current CLI help, validate links and formatting, and check any issue-template YAML. A full local application suite is unnecessary unless the change affects code, runtime prompts, or generated artifacts.
|
|
87
90
|
|
|
88
|
-
CI currently covers Node 22 and 24 on Linux, Bun OpenTUI conformance, Classic on macOS, and process/privilege behavior on macOS and Windows. The [workflow](.github/workflows/ci.yml) is the source of truth for required checks. All relevant remote checks must pass.
|
|
91
|
+
CI currently covers Node 22 and 24 on Linux, Bun OpenTUI conformance, Classic on macOS, and process/privilege and MCP behavior on macOS and Windows. The [workflow](.github/workflows/ci.yml) is the source of truth for required checks. All relevant remote checks must pass.
|
|
89
92
|
|
|
90
93
|
Open a pull request against `main` with:
|
|
91
94
|
|
package/MCP.md
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# MCP servers in clai
|
|
2
|
+
|
|
3
|
+
MCP connects clai to tools supplied by local programs and remote services. Both Classic and OpenTUI share the same connections, tool selection, confirmation rules, and sign-in flows. Connecting a server discovers its tools; selecting it makes those tools available to the current conversation.
|
|
4
|
+
|
|
5
|
+
## Quick setup
|
|
6
|
+
|
|
7
|
+
Open `/mcp` and choose a server from the catalog, or choose **add MCP server** and paste one named JSON server definition. Catalog entries prompt for required keys or start sign-in when needed. Custom definitions are merged into the project's `.clai/mcp.json`, preserving existing servers. Catalog entries with keys entered during setup are saved in user configuration rather than the project file.
|
|
8
|
+
|
|
9
|
+
Activate a configured server in a prompt:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
@mcp:docs Find the API documentation for this project.
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Submitting an `@mcp:<server>` mention retains that selection for follow-up prompts, including `continue` after an interruption. Clearing or editing the draft does not disable tools used by the running turn. Selecting another server changes the selection for subsequent prompts; use `/mcp off` to turn it off explicitly or `/mcp all` to enable all ready servers. Read-only tools are available in ask mode. Tools that change external state follow the usual confirmation policy in agent mode.
|
|
16
|
+
|
|
17
|
+
| Command | Purpose |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| `/mcp` | Open the server picker, including setup and sign-in actions. |
|
|
20
|
+
| `/mcp add` | Paste one server's JSON configuration. |
|
|
21
|
+
| `/mcp add <catalog-name>` | Set up a server from the built-in catalog. |
|
|
22
|
+
| `/mcp list` | Inspect discovered servers, their sources, and connection details. |
|
|
23
|
+
| `/mcp status` | Show the current selection and connection status. |
|
|
24
|
+
| `/mcp tools [server]` | Browse available tools in the UI. |
|
|
25
|
+
| `/mcp login <server>` | Start OAuth sign-in explicitly. |
|
|
26
|
+
| `/mcp reconnect <server>` | Reconnect one server and load its current tools. |
|
|
27
|
+
| `/mcp stop <server>` | Stop a connection for this session and remove its tools from requests. |
|
|
28
|
+
| `/mcp start <server>` | Reconnect a stopped server. |
|
|
29
|
+
| `/mcp refresh` | Reload configuration and reconnect configured servers. |
|
|
30
|
+
|
|
31
|
+
## Transports and credentials
|
|
32
|
+
|
|
33
|
+
### Local programs
|
|
34
|
+
|
|
35
|
+
Stdio servers run as child processes, exchanging MCP messages over stdin and stdout. Install the server's required runtime or executable first. Arguments are passed separately, with no shell interpolation.
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"servers": {
|
|
40
|
+
"docs": {
|
|
41
|
+
"type": "stdio",
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "your-mcp-server", "--root", "${workspaceFolder}"],
|
|
44
|
+
"env": {
|
|
45
|
+
"SERVICE_API_KEY": "${env:SERVICE_API_KEY}"
|
|
46
|
+
},
|
|
47
|
+
"connectTimeoutMs": 30000,
|
|
48
|
+
"timeoutMs": 60000
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Commands such as `npx` and `uvx` resolve through the process environment, including Windows command shims. Set `cwd` when a server needs a particular working directory. Environment credentials stay in the server process and are redacted from supported configuration displays.
|
|
55
|
+
|
|
56
|
+
### Remote services with API keys
|
|
57
|
+
|
|
58
|
+
Streamable HTTP is the default for a URL. Use `auth.kind: "bearer"` for a bearer token, or `auth.kind: "header"` for a service-specific key header:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"servers": {
|
|
63
|
+
"tickets": {
|
|
64
|
+
"url": "https://service.example.com/mcp",
|
|
65
|
+
"auth": {
|
|
66
|
+
"kind": "bearer",
|
|
67
|
+
"token": "${env:SERVICE_TOKEN}"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"search": {
|
|
71
|
+
"url": "https://search.example.com/mcp",
|
|
72
|
+
"auth": {
|
|
73
|
+
"kind": "header",
|
|
74
|
+
"headers": {
|
|
75
|
+
"X-API-Key": "${env:SEARCH_API_KEY}"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Top-level `headers` are also accepted. Use `auth.kind: "none"` to disable OAuth discovery for a public service. For a legacy HTTP+SSE endpoint, set `type: "sse"`. clai can try the alternate HTTP/SSE transport when the endpoint rejects the initial transport with a compatibility status.
|
|
84
|
+
|
|
85
|
+
### OAuth sign-in
|
|
86
|
+
|
|
87
|
+
A remote server without an explicit auth block uses OAuth discovery when authentication is required. Connection startup and tool calls can reuse or refresh stored credentials, but do not launch a fresh interactive sign-in. Choose the sign-in row in `/mcp`, run `/mcp login <server>`, or complete a catalog server's setup to authorize access.
|
|
88
|
+
|
|
89
|
+
On a desktop, clai can open the authorization page and receive its local callback automatically. The sign-in dialog also shows the URL and accepts a complete callback URL, so browser launching is optional.
|
|
90
|
+
|
|
91
|
+
Over SSH or on a machine without a browser:
|
|
92
|
+
|
|
93
|
+
1. Start `/mcp login <server>` and open the displayed link on your phone or computer.
|
|
94
|
+
2. Complete sign-in. If the final localhost page cannot load, copy its full URL from the browser's address bar.
|
|
95
|
+
3. Paste that URL into clai's sign-in dialog, including `code` and `state`. clai verifies that it belongs to the pending request and exchanges the code using PKCE.
|
|
96
|
+
|
|
97
|
+
When the authorization server advertises device-code sign-in, clai shows a verification URL and a user code instead. Open the URL on any device, approve access, and clai completes sign-in automatically. The server must supply this flow; it cannot be synthesized for servers that only offer browser redirects.
|
|
98
|
+
|
|
99
|
+
Some services require a registered OAuth client rather than dynamic registration:
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"servers": {
|
|
104
|
+
"workspace": {
|
|
105
|
+
"url": "https://service.example.com/mcp",
|
|
106
|
+
"auth": {
|
|
107
|
+
"kind": "oauth",
|
|
108
|
+
"clientId": "${env:MCP_CLIENT_ID}",
|
|
109
|
+
"clientSecret": "${env:MCP_CLIENT_SECRET}",
|
|
110
|
+
"scopes": ["read", "write"],
|
|
111
|
+
"callbackPort": 8765,
|
|
112
|
+
"tokenEndpointAuthMethod": "client_secret_basic"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Use the service's registered redirect URI `http://127.0.0.1:8765/callback` with this example. Omit `clientSecret` for a public client. Supported token endpoint methods are `none`, `client_secret_basic`, and `client_secret_post`; clai also uses the authorization server's advertised method when possible. `authorizationServer` and `resource` can be set when the service requires explicit discovery or audience settings.
|
|
120
|
+
|
|
121
|
+
OAuth credentials are scoped by resource, authorization server, and configured client identity. Expanding requested scopes requires authorization for the new grant. Refreshes are coordinated across terminals so rotating refresh tokens are consumed once. Credentials are retained in restricted local files under `~/.clai/mcp-oauth/` and mirrored to the OS keyring when available. Existing `mcp-oauth.json` credentials remain readable and are migrated as used. These local files contain plaintext secrets; POSIX permissions are `0600` for files and `0700` for directories.
|
|
122
|
+
|
|
123
|
+
## Configuration compatibility
|
|
124
|
+
|
|
125
|
+
clai reads JSON and JSONC configuration. It accepts `servers`, `mcpServers`, a bare server map, and OpenCode-style `mcp` maps. A pasted definition may also use a top-level `name` alongside its server fields.
|
|
126
|
+
|
|
127
|
+
| Compatible field | clai behavior |
|
|
128
|
+
| --- | --- |
|
|
129
|
+
| `type: "local"` | Stdio transport. |
|
|
130
|
+
| `type: "remote"` or `"streamable-http"` | Streamable HTTP transport. |
|
|
131
|
+
| `command: ["npx", "-y", "server"]` | First entry is the executable; remaining entries are arguments. |
|
|
132
|
+
| `environment` | Alias for a stdio server's `env`. |
|
|
133
|
+
| `enabled: false` | Disable the server; `disabled: true` is also accepted. |
|
|
134
|
+
| `timeout` | Alias for `timeoutMs`, in milliseconds. |
|
|
135
|
+
| `oauth: false` | Disable OAuth discovery. |
|
|
136
|
+
| `oauth: {"clientId": "…", "scope": "read"}` | Compatible OAuth configuration; native `auth` takes precedence. |
|
|
137
|
+
|
|
138
|
+
`tools` can restrict a server to an array of tool names. `${env:NAME}` and `${workspaceFolder}` are resolved before connecting; missing variables appear as configuration errors in `/mcp list`.
|
|
139
|
+
|
|
140
|
+
Configuration is discovered in this precedence order:
|
|
141
|
+
|
|
142
|
+
1. Files listed by `CLAI_MCP_CONFIG`, separated by the OS path delimiter (`:` on POSIX, `;` on Windows).
|
|
143
|
+
2. Project `.clai/mcp.json`, `.mcp.json`, repository `.github/mcp.json`, and `.vscode/mcp.json`.
|
|
144
|
+
3. User clai configuration, then supported Copilot, Claude, and VS Code user configurations.
|
|
145
|
+
|
|
146
|
+
Within the same source category, the nearest project directory wins. Duplicate names and equivalent server connections are shown as shadowed entries. To reuse another tool's configuration explicitly, point `CLAI_MCP_CONFIG` at that file; clai does not rewrite the source merely by reading it.
|
|
147
|
+
|
|
148
|
+
## Context use and caching
|
|
149
|
+
|
|
150
|
+
Native provider requests use a fixed MCP control interface. Selecting a server or updating its catalog keeps that interface stable; the current selection and catalog are supplied through conversation context. Each turn retains the tool contracts it started with. Enabling a server during a turn also retains its newly discovered tools for that turn, so background draft updates cannot make a valid parallel batch lose its targets. Server notifications update the catalog for subsequent turns; existing retained contracts are preserved.
|
|
151
|
+
|
|
152
|
+
MCP discovery, selection changes, reconnects, and authentication results are appended after the existing conversation. They do not replace the leading system instructions, native tool definitions, or previously submitted messages. This preserves the reusable request prefix within the same provider, model, and session. Actual cache hits depend on the provider's support and cache lifetime; compaction or a model change can establish a different prefix.
|
|
153
|
+
|
|
154
|
+
Small catalogs include compact descriptions and schemas. When the catalog exceeds its inline budget, clai defers schemas to `mcp.tools`, which searches names and descriptions and returns bounded pages. Discovery returns the original schemas and full descriptions, including field instructions, examples, and tool prerequisites. Exact tool names are prioritized over incidental description matches. The agent can narrow a query to one server, follow a cursor, and call any selected tool through `mcp.call`. A cursor is invalidated when its catalog or query changes, so paging cannot silently skip tools.
|
|
155
|
+
|
|
156
|
+
Discovery labels each tool as active, inactive with its exact enable action, or changed during the current turn. In ask mode, mutating tools are marked unavailable; selecting servers and signing in require agent mode or the user's `/mcp` commands. The agent is instructed to inspect full details before using unfamiliar tools, reuse unchanged schemas and identifiers returned by earlier calls, follow documented dependencies, and send required fields as correctly typed JSON values. A changed schema or safety contract requires a new turn; discovering a tool does not silently select its server.
|
|
157
|
+
|
|
158
|
+
Schema constraints, references, alternatives, and definitions are retained. Long descriptions are shortened for model context. Large tool results and oversized catalog pages use output artifacts, allowing the agent to read further detail while keeping the full output available to the transcript and UI. Structured results, images, and resource links are preserved through the MCP result path.
|
|
159
|
+
|
|
160
|
+
MCP servers must be trusted before their tools are used. Their descriptions and results are treated as external data, and mutation confirmations apply to the actual target tool. An in-flight call is rejected if its schema or safety annotations change underneath the retained catalog.
|
|
161
|
+
|
|
162
|
+
## Troubleshooting
|
|
163
|
+
|
|
164
|
+
| Symptom | Action or behavior |
|
|
165
|
+
| --- | --- |
|
|
166
|
+
| Server is invalid | Check `/mcp list` for missing environment variables, malformed fields, or the winning config source. |
|
|
167
|
+
| Executable cannot start | Install its runtime, check `PATH` and `cwd`, then use `/mcp reconnect <server>`. |
|
|
168
|
+
| First connection is slow | Increase `connectTimeoutMs` if package installation or startup needs more than the default 30 seconds. |
|
|
169
|
+
| A tool exceeds its deadline | Increase `timeoutMs` for that server; the default is 60 seconds. Timed-out requests are cancelled, not automatically replayed. |
|
|
170
|
+
| Server returns 401 | Use `/mcp login <server>` for OAuth, or correct its API key/header configuration. |
|
|
171
|
+
| `mcp.call` rejects a target locally | Follow the specific target or argument error. Use the exact name and JSON object from `mcp.tools`; enabling a server again does not repair malformed arguments or an unknown tool name. |
|
|
172
|
+
| OAuth registration is unavailable | Configure the service's registered `clientId`, or use a supported token/key authentication method. |
|
|
173
|
+
| Browser callback cannot reach the SSH host | Paste the complete final callback URL into the sign-in dialog. |
|
|
174
|
+
| Server redirects the MCP endpoint | Set `url` to the final endpoint. Transport redirects are refused to avoid forwarding credentials elsewhere. |
|
|
175
|
+
| Connection disappears | clai shares one reconnect among simultaneous failures. Read-only or idempotent calls can retry once; an ambiguous write is reported without replaying it, while the connection is repaired for later calls. |
|
|
176
|
+
| HTTP session expires | clai reinitializes the session before retrying the call rejected by the server. |
|
|
177
|
+
| Streamed HTTP response disconnects | When the server supplies event IDs, clai resumes using `Last-Event-ID` over GET rather than replaying the original POST. |
|
|
178
|
+
| Tool catalog changes during a turn | Inspect the current schema with `mcp.tools` and retry in a new turn. |
|
|
179
|
+
|
|
180
|
+
The MCP integration advertises the client capabilities it implements, including workspace roots. Unsupported server requests receive a protocol error promptly instead of leaving a tool call waiting indefinitely.
|
|
181
|
+
|
|
182
|
+
For the underlying protocols, see the [MCP transport specification](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports), [MCP authorization specification](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization), and [OAuth device authorization grant](https://www.rfc-editor.org/rfc/rfc8628).
|
package/PROVIDERS.md
CHANGED
|
@@ -35,6 +35,19 @@ clai use chatgpt
|
|
|
35
35
|
|
|
36
36
|
`/model` uses the account-visible catalog where available, including model context limits and supported reasoning levels. `/usage` shows subscription limits, reset times, and credits when the account reports them. These account allowances are separate from session token totals. OpenAI API credentials use the separate `openai` integration.
|
|
37
37
|
|
|
38
|
+
### Cline
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
clai auth cline
|
|
42
|
+
clai use cline
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Cline's catalog supplies its recommended, free, and Cline Pass model IDs. clai uses capabilities reported directly by Cline, then fills missing context limits, output limits, vision, tool support, and reasoning controls from the [Models.dev catalog](https://models.dev). This follows [Cline's catalog integration](https://github.com/cline/cline/tree/main/sdk/packages/llms/src/catalog). Exact Cline Pass entries take precedence over OpenRouter entries; aliases are matched only when the model slug identifies one entry unambiguously. New catalog models can acquire their capabilities without a clai update.
|
|
46
|
+
|
|
47
|
+
Use `/context` to inspect the selected model's input budget. When a catalog reports both a total context window and a smaller input limit, clai uses the smaller limit for that budget. `/effort` shows published effort levels, **on/off** for models with only a reasoning toggle, or an informational notice when reasoning has no adjustable controls. Models declared not to support reasoning offer only **off**. Streamed reasoning remains available when the model returns it.
|
|
48
|
+
|
|
49
|
+
Model lists are cached separately for each credential for 30 minutes. Supplemental metadata is cached for 30 minutes, with a one-minute cooldown for missing-model refreshes and failed lookups. Cline credentials are sent only to Cline; the supplemental catalog lookup is public. Cached listings retain their capabilities during temporary outages, and discovered numeric limits are retained locally for later sessions. If neither source publishes a usable limit, clai keeps its existing model-table or 200,000-token fallback; ambiguous aliases do not receive guessed capabilities.
|
|
50
|
+
|
|
38
51
|
### Qoder
|
|
39
52
|
|
|
40
53
|
```sh
|
|
@@ -82,6 +95,7 @@ An environment credential is also used directly when no stored credentials take
|
|
|
82
95
|
| GLM / Zhipu | `glm` | `GLM_API_KEY`, `ZHIPU_API_KEY`, or `ZAI_API_KEY` |
|
|
83
96
|
| Kimi / Moonshot | `kimi` | `KIMI_API_KEY` or `MOONSHOT_API_KEY` |
|
|
84
97
|
| MiniMax | `minimax` | `MINIMAX_API_KEY` |
|
|
98
|
+
| Mistral | `mistral` | `MISTRAL_API_KEY` |
|
|
85
99
|
| Xiaomi MiMo | `mimo` | `MIMO_API_KEY` |
|
|
86
100
|
| NVIDIA NIM | `nvidia` | `NVIDIA_API_KEY` |
|
|
87
101
|
| OpenAI | `openai` | `OPENAI_API_KEY` |
|
|
@@ -104,6 +118,41 @@ An environment credential is also used directly when no stored credentials take
|
|
|
104
118
|
|
|
105
119
|
For model choice, use `/model` or `clai model <name>`. Use the `/provider` picker's custom-provider option to add an OpenAI-compatible endpoint.
|
|
106
120
|
|
|
121
|
+
### Keyless Free
|
|
122
|
+
|
|
123
|
+
The `free` integration discovers free models from two gateways: `free-1/<model>` uses [OpenCode Zen](https://opencode.ai/docs/zen/), and `free-2/<model>` uses [Kilo](https://kilo.ai/docs/gateway/api-reference). Model availability can change independently at each gateway. Zen's Jev decision models use the separate System One API and are omitted from the chat model picker.
|
|
124
|
+
|
|
125
|
+
Kilo's model catalog supplies context and output limits directly. Zen's model list currently omits those limits, so clai fills missing values from the exact model entry in the OpenCode provider catalog on [Models.dev](https://github.com/anomalyco/models.dev#api). Discovery follows live model IDs, including newly added models, without a clai update or a hardcoded limit entry. Values reported by the gateway take precedence. The two sources keep separate limits even when model names match; older unprefixed Zen model selections also use the discovered limits.
|
|
126
|
+
|
|
127
|
+
Discovered limits are cached for 30 minutes and retained locally for later sessions. A newly discovered Zen model ID can trigger an earlier metadata refresh; retries for unpublished limits or failed lookups have a one-minute cooldown. When discovery is unavailable, clai keeps previously learned limits, then uses its model table or the 200,000-token default if no limit is known. A 200k context can also be an actual gateway limit, rather than a fallback. Use `/context` to inspect the selected session's context budget.
|
|
128
|
+
|
|
129
|
+
Agent turns retry temporary HTTP 429 failures up to four times, with visible waits of 5, 8, 10, and 15 seconds. This includes gateway responses that report an unavailable upstream endpoint. Shorter provider retry hints can shorten a wait. Standalone requests allow three retries by default.
|
|
130
|
+
|
|
131
|
+
Retries preserve the conversation and tool definitions; cancelling the turn cancels the wait. Explicit billing or insufficient account quota errors require an account or provider change. If the gateway remains unavailable after the retry budget, select another model with `/model` or provider with `/provider`. Cross-provider fallback follows `/fallback` and `/freeonly` settings.
|
|
132
|
+
|
|
133
|
+
### Mistral
|
|
134
|
+
|
|
135
|
+
Create an API key in [Mistral Studio](https://console.mistral.ai/api-keys), then configure clai:
|
|
136
|
+
|
|
137
|
+
```sh
|
|
138
|
+
clai set mistral
|
|
139
|
+
clai use mistral
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Alternatively, set `MISTRAL_API_KEY` in your environment. The default model is `mistral-small-latest`. `/model` discovers the chat models and aliases available to your account through [`/v1/models`](https://docs.mistral.ai/api/endpoint/models), including compatible fine-tuned models. Context limits, image input, function calling, and model temperature defaults follow the returned metadata. Embedding, OCR, moderation, and dedicated audio models are excluded from the chat picker.
|
|
143
|
+
|
|
144
|
+
`/effort` shows the model's advertised or documented controls. The current adjustable Mistral models expose `off` and `high`; Mistral-hosted GLM 5.3 exposes `low`, `high`, and `max` and always reasons. Models without documented or advertised effort controls do not offer guessed settings. Native thinking streams into clai's reasoning display separately from the answer. Thinking chunks, signatures, and their order are retained in session history and replayed on compatible turns. Aliases resolving to the same model version share replay compatibility; a model or endpoint change omits incompatible reasoning while retaining the transcript. See [Mistral's reasoning guide](https://docs.mistral.ai/studio/conversations/reasoning).
|
|
145
|
+
|
|
146
|
+
clai sends a stable, hashed `prompt_cache_key` for each session and preserves the shared conversation prefix. Subagents and auxiliary requests have separate affinity. Cached-input and reasoning-token counts use provider usage fields when available. [Prompt-cache hits depend on Mistral finding a compatible cached prefix](https://docs.mistral.ai/studio/conversations/advanced/prompt-caching); a cache key cannot guarantee a hit.
|
|
147
|
+
|
|
148
|
+
The default endpoint is `https://api.mistral.ai/v1`. To select [regional inference](https://docs.mistral.ai/inference/regional-inference), set `MISTRAL_BASE_URL` or save an endpoint:
|
|
149
|
+
|
|
150
|
+
```sh
|
|
151
|
+
clai set mistral --url https://api.eu.mistral.ai/v1
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
`https://api.us.mistral.ai/v1` selects the US endpoint. Availability is discovered against the selected endpoint, and model catalogs are cached separately by endpoint and credential. Mistral uses clai's existing key rotation, request cancellation, stream validation, local tools, and subagent lifecycle.
|
|
155
|
+
|
|
107
156
|
### Local and configurable endpoints
|
|
108
157
|
|
|
109
158
|
Ollama uses `OLLAMA_HOST` or an explicitly saved URL:
|
|
@@ -122,6 +171,24 @@ clai set modal --url https://your-deployment.example.com --from-env MODAL_CREDEN
|
|
|
122
171
|
|
|
123
172
|
Here, `MODAL_CREDENTIAL` contains `token-id:token-secret`. Alternatively, supply both native Modal environment variables and configure the endpoint URL separately. `MODAL_BASE_URL` is also supported. Lightning, TokenRouter, and Token Harbor support configured endpoints and the corresponding `LIGHTNING_BASE_URL`, `TOKENROUTER_BASE_URL`, and `TOKENHARBOR_BASE_URL` variables.
|
|
124
173
|
|
|
174
|
+
## Prompt caching
|
|
175
|
+
|
|
176
|
+
clai keeps leading instructions, tool definitions, and previously submitted conversation content stable as a session grows. MCP discovery, server selection, tool results, and working memory are appended to the conversation. Cache controls do not change the stored transcript or add filler to the prompt. Providers that accept session affinity receive a stable identity; subagents and auxiliary requests use separate identities.
|
|
177
|
+
|
|
178
|
+
### Cline
|
|
179
|
+
|
|
180
|
+
Cline requests retain the same task header and hashed `session_id` across tool rounds, subsequent prompts, and a resumed session. Claude and Qwen routes receive a request-level cache hint without moving flags between earlier user messages. Tool results and images remain in their original order, and reasoning replay preserves compatible artifacts. Cache reads and writes reported by the gateway feed `/usage`.
|
|
181
|
+
|
|
182
|
+
### Token Harbor
|
|
183
|
+
|
|
184
|
+
Claude requests use explicit content-block cache marks for the system instructions and growing conversation, with at most four marks. Earlier boundaries remain reachable across large parallel tool batches and image turns; empty assistant tails do not prevent marking the preceding content. Other model families use the gateway's caching behavior without Claude-specific fields. See [Token Harbor's prompt-caching guide](https://status.tokenharbor.ai/docs/api/prompt-caching).
|
|
185
|
+
|
|
186
|
+
clai bypasses Token Harbor's exact-response lookup so agent requests receive fresh generations. This still allows upstream prompt caching, which reuses input processing rather than replaying an old answer. Cache read and creation counts are parsed from both OpenAI-compatible and Anthropic-shaped usage responses.
|
|
187
|
+
|
|
188
|
+
### Interpreting cache usage
|
|
189
|
+
|
|
190
|
+
Use `/usage` to inspect reported cached input and cache writes. An initial cacheable request establishes an entry; later requests can reuse the unchanged portion. A model or endpoint change, credential rotation, provider fallback, compaction, an expired cache, or a prompt below the model's minimum cacheable length can require fresh processing. Stable prefixes improve reuse, while cache availability and actual hit rates remain controlled by the upstream provider.
|
|
191
|
+
|
|
125
192
|
## Credential management and fallback
|
|
126
193
|
|
|
127
194
|
- Repeating `clai set <provider>` adds credentials, up to 10 per provider. `--stdin` reads a credential from standard input; `--skip-ping` saves it without provider validation.
|
package/README.md
CHANGED
|
@@ -159,6 +159,7 @@ API, keyless, and local integrations:
|
|
|
159
159
|
| GLM / Zhipu | `glm` | `GLM_API_KEY`, `ZHIPU_API_KEY`, or `ZAI_API_KEY` |
|
|
160
160
|
| Kimi / Moonshot | `kimi` | `KIMI_API_KEY` or `MOONSHOT_API_KEY` |
|
|
161
161
|
| MiniMax | `minimax` | `MINIMAX_API_KEY` |
|
|
162
|
+
| Mistral | `mistral` | `MISTRAL_API_KEY`; optional `MISTRAL_BASE_URL` for regional endpoints. |
|
|
162
163
|
| Xiaomi MiMo | `mimo` | `MIMO_API_KEY` |
|
|
163
164
|
| NVIDIA NIM | `nvidia` | `NVIDIA_API_KEY` |
|
|
164
165
|
| OpenAI | `openai` | `OPENAI_API_KEY` |
|
|
@@ -187,6 +188,7 @@ Use `clai set <provider>` for a hidden-input credential prompt, or `--from-env <
|
|
|
187
188
|
- `/set` manages up to 10 credentials per provider, including disabled keys and the active key. Applicable authentication, quota, rate-limit, and server failures can trigger rotation.
|
|
188
189
|
- `/fallback on` enables cross-provider fallback; it is off by default. `/freeonly on` filters fallback using clai's provider categories. Check the selected model and account's billing terms when controlling spending.
|
|
189
190
|
- `/effort` configures reasoning where supported. Qoder uses the selected effort, including `xhigh`, and displays thinking when returned by the model.
|
|
191
|
+
- Cline discovers context and output limits and reasoning controls from live catalogs, including new models. `/context` shows the input budget; `/effort` offers the published levels or an on/off toggle. See [Cline setup and discovery](PROVIDERS.md#cline).
|
|
190
192
|
- `/usage` shows reported token and cache usage across main turns, subagents, and auxiliary requests. Supported account providers also expose quota or subscription information. Token totals are not a billing invoice.
|
|
191
193
|
|
|
192
194
|
The [provider guide](PROVIDERS.md) covers authentication, environment variables, endpoint configuration, and provider-specific behavior. Model catalogs and account access can change; use `/model` and the provider's own dashboard for availability.
|
|
@@ -213,7 +215,7 @@ When an approval prompt appears, `Ctrl+O` opens the complete pending operation,
|
|
|
213
215
|
|
|
214
216
|
The agent can keep development servers and long commands running as background jobs. Use `/jobs` to inspect them and `/output` to browse output. Conversation-owned interactive terminals support REPLs, debuggers, and database consoles across model turns.
|
|
215
217
|
|
|
216
|
-
`/rtk on` optionally compresses eligible foreground shell output through [rtk](https://github.com/rtk-ai/rtk). It is off by default; `/rtk install`, `/rtk update`, and `/rtk status` manage the integration.
|
|
218
|
+
`/rtk on` optionally compresses eligible foreground shell output through [rtk](https://github.com/rtk-ai/rtk). It is off by default; `/rtk install`, `/rtk update`, and `/rtk status` manage the integration. `/rtk` reports executions and estimated token savings for the current conversation. Each session has its own RTK tracking database, shared by its attachments and retained when resumed; unrelated RTK activity is excluded.
|
|
217
219
|
|
|
218
220
|
### Authorized security testing
|
|
219
221
|
|
|
@@ -241,12 +243,17 @@ clai selects its interface using the OS where it runs. Native Windows uses Class
|
|
|
241
243
|
|
|
242
244
|
Standard terminals can handle ordinary text input and output. Modified keys, mouse motion/hover, and clipboard integration vary by terminal and configuration. If `Shift+Enter` is not distinguishable from `Enter`, use `Ctrl+N` or `Alt+Enter` for a newline. Use `clai --classic` if OpenTUI cannot start, and `F5` or `/redraw` to repaint a scrambled screen.
|
|
243
245
|
|
|
246
|
+
Large pastes collapse into a line or character count inside the composer while retaining the full text for submission. In both interfaces, place the cursor near a shortened block and press `Ctrl+E` to expand just that block for editing. `Alt+E` also works. When no shortened block is present, `Ctrl+E` moves to the end of the current line. In OpenTUI, hovering over an inline placeholder opens a preview that stays visible while the pointer remains inside the composer; double-clicking the placeholder or preview also expands it. Pasted transcripts remain one draft, including when a terminal sends unbracketed text in bursts over SSH. Press `Enter` after the paste has finished to submit it.
|
|
247
|
+
|
|
248
|
+
Type `/` at the start of the draft or after a space to browse commands. Use the arrow keys to select, `Tab` to complete, and `Enter` to run the command. A leading command retains its arguments, such as `/model model-name`; an inline command runs while preserving the surrounding draft. Completed commands also run after the suggestion menu is dismissed. Unknown leading commands show a local warning, and paths such as `/tmp/notes.txt` remain ordinary prompts.
|
|
249
|
+
|
|
244
250
|
### Keyboard shortcuts
|
|
245
251
|
|
|
246
252
|
| Action | Shortcut |
|
|
247
253
|
| --- | --- |
|
|
248
254
|
| Send prompt | `Enter` |
|
|
249
255
|
| Insert newline | `Shift+Enter`, `Alt+Enter`, or `Ctrl+N` |
|
|
256
|
+
| Expand shortened paste nearest the cursor | `Ctrl+E` or `Alt+E` |
|
|
250
257
|
| Cancel current turn | `Esc` |
|
|
251
258
|
| Interrupt; press again to quit | `Ctrl+C` |
|
|
252
259
|
| Cycle mode | `Shift+Tab` |
|
|
@@ -304,7 +311,9 @@ Useful CLI flags:
|
|
|
304
311
|
|
|
305
312
|
Place project notes in `.clai/context.md` in the working directory to supply architecture, conventions, or testing context. Project skills live under `.clai/skills/` as `SKILL.md` playbooks; `/skills list` shows discovered skills and `/skills refresh` rescans them.
|
|
306
313
|
|
|
307
|
-
MCP servers can expose local or remote tools. Tools are disabled by default; activate a server with an `@mcp:<server>` prompt mention or enable all configured servers with `/mcp all`. `/mcp` also supports configuration, connection status, authentication, and
|
|
314
|
+
MCP servers can expose local or remote tools. Tools are disabled by default; activate a server with an `@mcp:<server>` prompt mention or enable all configured servers with `/mcp all`. Submitted selections remain available for follow-up prompts until changed or disabled with `/mcp off`. `/mcp` also supports configuration, connection status, authentication, and tool discovery.
|
|
315
|
+
|
|
316
|
+
Use the picker to add a catalog server or paste its JSON configuration. API keys, OAuth browser sign-in, device codes, and pasted callbacks over SSH are supported. Large tool catalogs are searched on demand, keeping schemas out of repeated model requests. See the [MCP guide](MCP.md) for setup, authentication, configuration compatibility, and troubleshooting.
|
|
308
317
|
|
|
309
318
|
Example `.clai/mcp.json`:
|
|
310
319
|
|
package/dist/agent/runner.js
CHANGED
|
@@ -145,7 +145,7 @@ export async function runAgentTurn(prompt, options = {}) {
|
|
|
145
145
|
await mcpRuntime.ensureReady();
|
|
146
146
|
}
|
|
147
147
|
if (mcpRuntime && mcpMentioned)
|
|
148
|
-
mcpRuntime.
|
|
148
|
+
mcpRuntime.commitMentionSelection(prompt);
|
|
149
149
|
mcpLease = mcpRuntime?.beginTurn();
|
|
150
150
|
const maxSteps = options.maxSteps ?? 70;
|
|
151
151
|
const confirmPort = options.confirm ?? stdioConfirmPort;
|
package/dist/agent/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAWzD,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAMjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAElB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,yCAAyC,IAAI,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAChI,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,mBAAmB,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACxG,OAAO,EACL,UAAU,GAGX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,SAAS,0BAA0B,CAAC,IAAc;IAChD,IAAI,CAAC;QACH,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CACvC,IAAc;IAEd,IAAI,CAAC;QACH,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AACD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,QAAQ,EACR,UAAU,GAEX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EAEnB,sBAAsB,EAEtB,YAAY,EACZ,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAEL,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,UAAU,yCAAyC,CACvD,IAA6B,EAC7B,WAAqC,EACrC,aAA+C,EAC/C,qBAA0C;IAE1C,OAAO,iCAAiC,CACtC,IAAI,EACJ,WAAW,EACX,aAAa,EACb,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAyCD,SAAS,KAAK,CAAC,EAAU,EAAE,MAAoB;IAC7C,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACtC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,UAA2B,EAAE;IAE7B,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,MAAM;QACvB,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,OAAO,CAAC,IAAI,KAAK,KAAK;QACpB,CAAC,CAAC,OAAO,CAAC,IAAI;QACd,CAAC,CAAC,OAAO,CAAC;IACd,MAAM,UAAU,GAAG,SAAS,KAAK,MAAM,CAAC;IACxC,MAAM,SAAS,GAAkB;QAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;KAC1C,CAAC;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAoB,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,EACJ,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,GACtB,GAAG,WAAW,CAAC;IAChB,IAAI,YAAY,GAAkB,EAAE,CAAC;IACrC,IAAI,0BAA0B,GAAG,KAAK,CAAC;IACvC,MAAM,eAAe,GAAG,IAAI,oBAAoB,CAAC;QAC/C,uBAAuB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,uBAAuB,EAAE;QACnE,YAAY,EAAE,CAAC,cAAc,EAAE,EAAE,CAC/B,UAAU,CAAC,iCAAiC,CAAC,cAAc,CAAC;KAC/D,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,kBAAkB,CAAC;QACpC,sBAAsB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE;QACvD,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY;QAChC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B;QAC9C,qBAAqB;QACrB,yBAAyB,EAAE,GAAG,EAAE,CAC9B,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/C,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CACzD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACnE,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,IAAI,QAAkC,CAAC;IAEvC,IAAI,CAAC;QACH,IAAI,CAAC;YACH,IAAI,EAAE,YAAY;YAClB,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;QAC/B,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,IACE,UAAU;YACV,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,YAAY,CAAC,EAChE,CAAC;YACD,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,UAAU,IAAI,YAAY;YAAE,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACzE,QAAQ,GAAG,UAAU,EAAE,SAAS,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;QACxD,MAAM,cAAc,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;YACrC,GAAG,EAAE,OAAO,EAAE;YACd,GAAG,CAAC,oBAAoB,EAAE;gBACxB,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAG,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,oBAAoB,CAC1C,MAAM,EACN,iBAAiB,EACjB,OAAO,CAAC,YAAY,KAAK,KAAK,CAC/B,CAAC;QACF,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC;QACnE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,mBAAmB,CAAC;YAC/B,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,YAAY;YACnB,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;SAC7D,CAAC,CAAC;QACH,MAAM,OAAO,GAAkB,OAAO,CAAC,OAAO,IAAI,mBAAmB,EAAE,CAAC;QACxE,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;YAC/B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;YACtD,sBAAsB,EAAE,GAAG,EAAE,CAAC,sBAAsB;YACpD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,KAAK,IAAI,GAAG,EAAE;SAC7D,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;QAClD,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC;QAC1D,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAChE,MAAM,EACJ,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,GAAG,cAAc,CAAC;QACnB,0BAA0B,GAAG,cAAc,CAAC,mBAAmB,CAAC;QAChE,MAAM,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,yBAAyB,GAAG,GAAuB,EAAE,CACzD,OAAO,CAAC,qBAAqB;YAC3B,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;YAC1D,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACjC,MAAM,gBAAgB,GAAG,wBAAwB,CAC/C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,CACX,CAAC;QACF,MAAM,cAAc,GAAG,4BAA4B,CACjD,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,yBAAyB,EAAE,CAC5B,CAAC;QACF,MAAM,sBAAsB,GAC1B,gBAAgB,KAAK,SAAS,IAAI,cAAc,IAAI,MAAM,CAAC;QAC7D,MAAM,cAAc,GAAG,CACrB,MAAe,EACf,OAAgB,EAChB,gBAA4B,IAAI,CAAC,QAAQ,EACzC,aAAqB,IAAI,CAAC,KAAK,EACD,EAAE,CAChC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QACzE,MAAM,wBAAwB,GAAG,CAAC,MAAe,EAAU,EAAE,CAC3D,WAAW,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,GACrD,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACjC,qBAAqB,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,wBAAwB,CACxC,UAAU,EACV,mBAAmB,EAAE,CACtB,CAAC;QACF,IAAI,UAAU,IAAI,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,0BAA0B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;QAE3D,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAAG,mBAAmB,CAAC;YACpE,MAAM;YACN,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,OAAO,EAAE;SACf,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC;YAClD,MAAM;YACN,SAAS,EAAE,oBAAoB;YAC/B,wBAAwB,EAAE,CAAC,kBAAkB,IAAI,CAAC,kBAAkB;YACpE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAU;YAClE,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,IAAI,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,CAAC;QACpD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC;QACvD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC/D,MAAM,wBAAwB,GAAG,KAAK,IAAmB,EAAE;YACzD,sBAAsB,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,eAAe,IAAI,UAAU,EAAE,IAAI,KAAK,SAAS,CAAC;QAC5E,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,GAChD,MAAM,mBAAmB,CAAC;YACxB,MAAM;YACN,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc;YACd,eAAe;YACf,UAAU;YACV,sBAAsB,EAAE,wBAAwB,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAC1E,yDAAyD,CAC1D;YACD,aAAa;YACb,kBAAkB;YAClB,kBAAkB;YAClB,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,UAAU;YACV,kBAAkB;YAClB,gBAAgB;YAChB,aAAa,EAAE,GAAG,EAAE,CAClB,UAAU,EAAE,aAAa,CAAC;gBACxB,WAAW,EAAE,iBAAiB;gBAC9B,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC;YACJ,cAAc,EAAE,oBAAoB;YACpC,cAAc,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;YAClE,aAAa,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC;SACrE,CAAC,CAAC;QACL,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC;QAC/E,MAAM,0BAA0B,GAAG,CAAC,MAAe,EAAU,EAAE,CAC7D,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACnC,MAAM;YACN,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,SAAS;YACf,cAAc;YACd,kBAAkB;YAClB,iBAAiB;YACjB,gBAAgB;YAChB,mBAAmB,EAAE,wBAAwB;YAC7C,iBAAiB,EAAE,sBAAsB;YACzC,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK;SACzC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;QAC7D,YAAY,GAAG,QAAQ,CAAC;QACxB,MAAM,qBAAqB,GAAG,GAAS,EAAE;YACvC,8BAA8B,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;YACjE,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;YAC5C,MAAM;YACN,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,oBAAoB,EAAE,UAAU,CAAC,uBAAuB,CACtD,OAAO,CAAC,SAAS,CAClB;SACF,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC9C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QACtD,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,cAAc,CAAC;QACtE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC;QACpD,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,cAAc,CAAC;QACtE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,eAAe,CAAC;QAC/D,IAAI,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;YAC7C,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,qBAAqB,GAAG,6BAA6B,CAAC;YAC1D,QAAQ;YACR,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,eAAe;YACvB,cAAc,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;YAClE,uBAAuB,EAAE,GAAG,EAAE,CAC5B,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC;YACvD,mBAAmB,EAAE,GAAG,EAAE,CACxB,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC;YACnD,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE,CACjC,UAAU,CAAC,8BAA8B,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SACxE,CAAC,CAAC;QACH,IAAI,mBAAmB,GAEX,GAAG,EAAE,CAAC,SAAS,CAAC;QAC5B,MAAM,EACJ,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,oBAAoB,GACrB,GAAG,uBAAuB,CAAC;YAC1B,QAAQ;YACR,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,qBAAqB;YACrB,gBAAgB,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,gBAAgB;YACpD,qBAAqB;SACtB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,mBAAmB,CAAC;YACxC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC;SACnE,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,yBAAyB,EAAE,CAAC;QAElD,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,gBAAgB,GAAuB,EAAE,CAAC;QAEhD,8BAA8B,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAE1D,MAAM,iBAAiB,GAAgB,CAAC,OAAO,EAAE,EAAE,CACjD,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC7B,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAC;QACH,MAAM,wBAAwB,GAAG,QAAQ,CAAC,wBAAwB,CAAC;QACnE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QAEzD,mBAAmB,GAAG,0BAA0B,CAAC;YAC/C,QAAQ;YACR,MAAM;YACN,qBAAqB;YACrB,qBAAqB;YACrB,UAAU,EAAE,kBAAkB,IAAI,kBAAkB;YACpD,aAAa,EAAE,aAAa,IAAI,eAAe;YAC/C,aAAa;YACb,cAAc;YACd,aAAa;YACb,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU;YAC5B,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK;YAC9C,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;YAC/D,WAAW,EAAE,oBAAoB;SAClC,CAAC,CAAC;QACH,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEhC,MAAM,wBAAwB,GAAkB,EAAE,CAAC;QACnD,MAAM,oCAAoC,GAA4B,EAAE,CAAC;QAEzE,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC;YAC5C,SAAS;YACT,QAAQ,EAAE,UAAU,EAAE,IAAI;SAC3B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,MAAM;YACN,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ;YACR,SAAS;YACT,WAAW;YACX,0BAA0B,EAAE,CAAC,UAAU,EAAE,EAAE,CACzC,SAAS,CAAC,0BAA0B,CAAC,UAAU,IAAI,EAAE,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAEvC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,MAAM,eAAe,GAAG,0BAA0B,CAAC;YACjD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;YACtD,aAAa;YACb,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;YACxD,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;YACrE,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;YACpE,cAAc;SACf,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;QAExC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;YAC/C,OAAO,EAAE,SAAS,KAAK,KAAK;YAC5B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;YACzC,OAAO;YACP,WAAW;YACX,WAAW;YACX,SAAS;YACT,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YACrB,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;YACtD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;YACxD,aAAa;YACb,eAAe;YACf,cAAc;SACf,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;QACtE,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;QAE1E,KAAK,UAAU,kBAAkB,CAC/B,QAAuB;YAEvB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,iBAAiB,CAAC,QAAQ,CAAC,EAC3B,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,CAC/C,CAAC;YACF,OAAO,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,cAAc,GAAmB;YACrC,GAAG,WAAW;YACd,OAAO;YACP,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,MAAM;YACN,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;YAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;YACvB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YACrB,UAAU;YACV,QAAQ;YACR,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,eAAe;YACf,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC;YACpC,SAAS;YACT,UAAU;YACV,UAAU;YACV,WAAW;YACX,WAAW;YACX,gBAAgB;YAChB,eAAe;YACf,YAAY;YACZ,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa;YACvC,SAAS;YACT,iBAAiB;YACjB,gBAAgB;YAChB,wBAAwB;YACxB,oCAAoC;YACpC,SAAS,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC5C,aAAa;YACb,QAAQ;YACR,mBAAmB;YACnB,wBAAwB;YACxB,mBAAmB;YACnB,mBAAmB;YACnB,iBAAiB;YACjB,2BAA2B;YAC3B,kBAAkB;YAClB,2BAA2B;SAC5B,CAAC;QACF,MAAM,iBAAiB,GAAG,CACxB,IAAc,EACd,WAAmB,EACnB,YAAyB,EACE,EAAE,CAC7B,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QAEjE,MAAM,wBAAwB,GAAG,CAAC,CAAC;QACnC,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAC/B,MAAM,kBAAkB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACzD,MAAM,wBAAwB,GAA6B,EAAE,CAAC;QAC9D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAG7B,CAAC;QAEJ,MAAM,oBAAoB,GAAG,CAAC,eAAuB,EAAsB,EAAE,CAC3E,IAAI,CAAC,mBAAmB;YACtB,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;YAClE,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,GACnD,wBAAwB,CAAC;YACvB,QAAQ;YACR,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;YAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;YACvB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,wBAAwB;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,wBAAwB;YACxC,kBAAkB,EAAE,yBAAyB;YAC7C,WAAW,EAAE,GAAG,EAAE,CAChB,cAAc,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;YAC3D,6BAA6B,EAAE,GAAG,EAAE;gBAClC,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjE,OAAO,cAAc,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;YACxD,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3C,cAAc,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YACjD,WAAW,EAAE,oBAAoB;YACjC,oBAAoB;YACpB,oBAAoB,EAAE,GAAG,EAAE,CACzB,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC;YACvD,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;YAC/D,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC;YACjE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;YAChD,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,6BAA6B;YACzD,oBAAoB;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ;YAC/B,oBAAoB,EAAE,GAAG,EAAE;gBACzB,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;YACjD,CAAC;YACD,wBAAwB,EAAE,GAAG,EAAE;gBAC7B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACvC,CAAC;YACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,sBAAsB;YAC/C,WAAW,EAAE,GAAG,EAAE,CAAC,iBAAiB;YACpC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK;YAC9C,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE;YACnD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACxD,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnC,sBAAsB,GAAG,KAAK,CAAC;YACjC,CAAC;YACD,UAAU,EAAE,oBAAoB;YAChC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;gBACtB,KAAK,MAAM,SAAS,IAAI,0BAA0B,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC9E,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,KAAK;oBAAE,OAAO;gBAC9B,MAAM,OAAO,GAAG,gCAAgC,CAC9C,UAAU,CAAC,cAAc,CAC1B,CAAC;gBACF,IAAI,CAAC;oBACH,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,YAAY,EAAE,sBAAsB;YACpC,WAAW,EAAE,qBAAqB;YAClC,cAAc,EAAE,wBAAwB;YACxC,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QACL,IAAI,CAAC,mBAAmB,GAAG,0BAA0B,CACnD,OAAO,CAAC,6BAA6B,EACrC,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CACjF,CAAC;QAEF,MAAM,QAAQ,GAAiB;YAC7B,GAAG,cAAc;YACjB,OAAO;YACP,GAAG,WAAW;YACd,IAAI;YACJ,QAAQ;YACR,aAAa;YACb,WAAW;YACX,aAAa;YACb,UAAU;YACV,SAAS;YACT,aAAa;YACb,WAAW;YACX,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,kBAAkB;YAClB,sBAAsB;YACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ;YACR,eAAe;YACf,aAAa;YACb,gBAAgB;YAChB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9B,WAAW,GAAG,OAAO,CAAC;gBACtB,iBAAiB,GAAG,MAAM,CAAC;YAC7B,CAAC;YACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,iBAAiB;YAC1C,0BAA0B;YAC1B,yBAAyB;YACzB,yBAAyB;YACzB,oBAAoB;YACpB,cAAc;YACd,gBAAgB;YAChB,kBAAkB;YAClB,qBAAqB;YACrB,wBAAwB;YACxB,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;YAClB,UAAU;YACV,iBAAiB;YACjB,eAAe,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE;YAClD,oBAAoB;YACpB,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY;YAChC,yBAAyB;SAC1B,CAAC;QAEF,OAAO,MAAM,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CACvD,aAAa,CAAC,QAAQ,EAAE;YACtB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;SACzC,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,OAAO,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,QAAQ,EAAE,OAAO,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,UAA2B,EAAE;IAE7B,OAAO,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ProviderError, STREAM_STALL_MARKER } from "../llm/http.js";
|
|
2
2
|
import { rateLimitWaitMsFor } from "../llm/key-rotation.js";
|
|
3
|
+
import { isHardQuotaError } from "../llm/quota-signals.js";
|
|
3
4
|
import { isContentPolicyError } from "../llm/reasoning-errors.js";
|
|
4
5
|
import { isEmptyCompletionError } from "../llm/router.js";
|
|
5
6
|
import { SERVER_ERROR_MAX_ATTEMPTS, serverErrorAttemptsFor, } from "../llm/routing/error-classification.js";
|
|
@@ -20,10 +21,9 @@ export const FREE_STREAM_RECOVERY_LIMITS = {
|
|
|
20
21
|
...DEFAULT_STREAM_RECOVERY_LIMITS,
|
|
21
22
|
maxServer: 0,
|
|
22
23
|
maxServerAttempts: 0,
|
|
23
|
-
maxRateLimit: 0,
|
|
24
24
|
maxNetwork: 1,
|
|
25
25
|
maxStall: 1,
|
|
26
|
-
maxTotal: 1,
|
|
26
|
+
maxTotal: DEFAULT_STREAM_RECOVERY_LIMITS.maxRateLimit + 1,
|
|
27
27
|
};
|
|
28
28
|
const EMPTY_NUDGE = "Your previous response was empty. Continue the task now: emit your next tool call, " +
|
|
29
29
|
"or give your final answer if every required step is already complete and verified. " +
|
|
@@ -59,6 +59,8 @@ export function classifyStreamFailure(error) {
|
|
|
59
59
|
/\b413\b|input limit|context length|context window|maximum context|too large|reduce the length|exceeded the provider input|prompt is too long|token limit/.test(msg)) {
|
|
60
60
|
return "context-overflow";
|
|
61
61
|
}
|
|
62
|
+
if (isHardQuotaError(error))
|
|
63
|
+
return "non-retriable";
|
|
62
64
|
if (status === 429 ||
|
|
63
65
|
/\b429\b|rate limit|rate-limited|too many requests|retry after|quota exceeded/.test(msg)) {
|
|
64
66
|
return "rate-limit";
|
|
@@ -202,7 +204,7 @@ export function planStreamRecovery(input) {
|
|
|
202
204
|
forceCompact: false,
|
|
203
205
|
allowModelFallback: true,
|
|
204
206
|
notice: n === 0
|
|
205
|
-
? `provider rate limited — retrying in ${Math.ceil(delayMs / 1000)}s
|
|
207
|
+
? `provider rate limited — retrying in ${Math.ceil(delayMs / 1000)}s`
|
|
206
208
|
: undefined,
|
|
207
209
|
};
|
|
208
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-recovery.js","sourceRoot":"","sources":["../../src/agent/stream-recovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AA2ChD,MAAM,CAAC,MAAM,8BAA8B,GAAyB;IAClE,QAAQ,EAAE,CAAC;IACX,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,iBAAiB,EAAE,yBAAyB;IAC5C,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAyB;IAC/D,GAAG,8BAA8B;IACjC,SAAS,EAAE,CAAC;IACZ,iBAAiB,EAAE,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"stream-recovery.js","sourceRoot":"","sources":["../../src/agent/stream-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,14 @@ export interface McpAgentToolPorts {
|
|
|
5
5
|
readonly askMode: boolean;
|
|
6
6
|
readonly showCall: (toolEventId: string, call: ToolCall) => void;
|
|
7
7
|
readonly writeOutput: (toolEventId: string, chunk: string) => void;
|
|
8
|
-
readonly emitResult: (toolEventId: string, result: ToolResult, contextOutput: string) => void;
|
|
8
|
+
readonly emitResult: (toolEventId: string, result: ToolResult, contextOutput: string, artifactPath?: string) => void;
|
|
9
9
|
readonly confirm: (call: ToolCall) => Promise<boolean>;
|
|
10
10
|
readonly recordAttempt: (call: ToolCall, ok: boolean, output: string) => void;
|
|
11
11
|
}
|
|
12
12
|
export declare const mcpAgentToolTarget: (args: Record<string, unknown>) => string | readonly string[] | undefined;
|
|
13
|
-
export declare const runMcpAgentTool: (mcp: McpRuntime, call: ToolCall
|
|
13
|
+
export declare const runMcpAgentTool: (mcp: McpRuntime, call: ToolCall, options?: {
|
|
14
|
+
readonly askMode?: boolean;
|
|
15
|
+
}) => Promise<ToolResult>;
|
|
14
16
|
export declare const mcpAgentOutput: (call: ToolCall, result: ToolResult) => string;
|
|
15
17
|
export declare const isReadOnlyMcpAgentTool: (call: ToolCall) => boolean;
|
|
16
18
|
export declare const createMcpAgentToolExecutor: (ports: McpAgentToolPorts) => (runtime: McpRuntime, call: ToolCall, toolEventId: string) => Promise<SingleToolResult>;
|