@pentoshi/clai 4.2.1 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -16
- package/dist/agent/compaction-summary.d.ts +1 -1
- package/dist/agent/compaction-summary.js +1 -1
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/runner.js +4 -4
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/tool-output-formatting.d.ts +6 -0
- package/dist/agent/tool-output-formatting.js +126 -40
- package/dist/agent/tool-output-formatting.js.map +1 -1
- package/dist/app/adapters/agent-event-adapter.d.ts +4 -0
- package/dist/app/adapters/agent-event-adapter.js +28 -3
- package/dist/app/adapters/agent-event-adapter.js.map +1 -1
- package/dist/app/commands/catalog.js +4 -21
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/app/controllers/session-controller.js +7 -0
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/events/app-event.d.ts +2 -0
- package/dist/app/events/app-event.js.map +1 -1
- package/dist/classic/app/use-feed.js +2 -1
- package/dist/classic/app/use-feed.js.map +1 -1
- package/dist/commands/providers.js +0 -4
- package/dist/commands/providers.js.map +1 -1
- package/dist/llm/adapters/openai-tools.d.ts +1 -0
- package/dist/llm/adapters/openai-tools.js +4 -1
- package/dist/llm/adapters/openai-tools.js.map +1 -1
- package/dist/llm/agentrouter.js +2 -0
- package/dist/llm/agentrouter.js.map +1 -1
- package/dist/llm/aws-mantle.js +2 -0
- package/dist/llm/aws-mantle.js.map +1 -1
- package/dist/llm/bynara.js +2 -0
- package/dist/llm/bynara.js.map +1 -1
- package/dist/llm/capabilities.d.ts +19 -0
- package/dist/llm/capabilities.js +165 -79
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/catalog-facts.d.ts +23 -0
- package/dist/llm/catalog-facts.js +253 -0
- package/dist/llm/catalog-facts.js.map +1 -0
- package/dist/llm/catalog-prefetch.d.ts +5 -0
- package/dist/llm/catalog-prefetch.js +38 -0
- package/dist/llm/catalog-prefetch.js.map +1 -0
- package/dist/llm/context-windows.d.ts +2 -0
- package/dist/llm/context-windows.js +20 -6
- package/dist/llm/context-windows.js.map +1 -1
- package/dist/llm/custom-profile-resolver.d.ts +5 -0
- package/dist/llm/custom-profile-resolver.js +8 -0
- package/dist/llm/custom-profile-resolver.js.map +1 -0
- package/dist/llm/custom-provider-profile.d.ts +7 -2
- package/dist/llm/custom-provider-profile.js +38 -8
- package/dist/llm/custom-provider-profile.js.map +1 -1
- package/dist/llm/custom-providers.js +2 -0
- package/dist/llm/custom-providers.js.map +1 -1
- package/dist/llm/effort-fallback.js +3 -0
- package/dist/llm/effort-fallback.js.map +1 -1
- package/dist/llm/fireworks.js +2 -0
- package/dist/llm/fireworks.js.map +1 -1
- package/dist/llm/free.js +2 -0
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/hetzner.js +2 -0
- package/dist/llm/hetzner.js.map +1 -1
- package/dist/llm/http.d.ts +21 -2
- package/dist/llm/http.js +100 -141
- package/dist/llm/http.js.map +1 -1
- package/dist/llm/learned-capabilities.d.ts +22 -0
- package/dist/llm/learned-capabilities.js +147 -0
- package/dist/llm/learned-capabilities.js.map +1 -0
- package/dist/llm/lightning.js +2 -0
- package/dist/llm/lightning.js.map +1 -1
- package/dist/llm/modal.js +2 -0
- package/dist/llm/modal.js.map +1 -1
- package/dist/llm/model-families.d.ts +20 -0
- package/dist/llm/model-families.js +227 -19
- package/dist/llm/model-families.js.map +1 -1
- package/dist/llm/nvidia.js +2 -0
- package/dist/llm/nvidia.js.map +1 -1
- package/dist/llm/openai.js +2 -0
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/openrouter.js +2 -0
- package/dist/llm/openrouter.js.map +1 -1
- package/dist/llm/orcarouter.js +2 -0
- package/dist/llm/orcarouter.js.map +1 -1
- package/dist/llm/provider-model-layers.d.ts +3 -0
- package/dist/llm/provider-model-layers.js +522 -0
- package/dist/llm/provider-model-layers.js.map +1 -0
- package/dist/llm/provider-profile-layers.d.ts +4 -1
- package/dist/llm/provider-profile-layers.js +8 -523
- package/dist/llm/provider-profile-layers.js.map +1 -1
- package/dist/llm/provider-profile.d.ts +13 -1
- package/dist/llm/provider-profile.js +18 -0
- package/dist/llm/provider-profile.js.map +1 -1
- package/dist/llm/provider-profiles.d.ts +5 -1
- package/dist/llm/provider-profiles.js +177 -4
- package/dist/llm/provider-profiles.js.map +1 -1
- package/dist/llm/provider.js +0 -15
- package/dist/llm/provider.js.map +1 -1
- package/dist/llm/qwen-cloud.js +2 -0
- package/dist/llm/qwen-cloud.js.map +1 -1
- package/dist/llm/reasoning-artifacts.d.ts +1 -0
- package/dist/llm/reasoning-artifacts.js +7 -5
- package/dist/llm/reasoning-artifacts.js.map +1 -1
- package/dist/llm/reasoning-controls.d.ts +16 -0
- package/dist/llm/reasoning-controls.js +210 -0
- package/dist/llm/reasoning-controls.js.map +1 -0
- package/dist/llm/reasoning-errors.d.ts +4 -0
- package/dist/llm/reasoning-errors.js +45 -0
- package/dist/llm/reasoning-errors.js.map +1 -0
- package/dist/llm/request-plan.d.ts +8 -6
- package/dist/llm/request-plan.js +47 -13
- package/dist/llm/request-plan.js.map +1 -1
- package/dist/llm/route-dialect-registry.d.ts +8 -0
- package/dist/llm/route-dialect-registry.js +33 -0
- package/dist/llm/route-dialect-registry.js.map +1 -0
- package/dist/llm/route-vocabulary.d.ts +2 -0
- package/dist/llm/route-vocabulary.js +23 -0
- package/dist/llm/route-vocabulary.js.map +1 -0
- package/dist/llm/router.d.ts +2 -0
- package/dist/llm/router.js +70 -20
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/tokenrouter.js +2 -0
- package/dist/llm/tokenrouter.js.map +1 -1
- package/dist/store/config.d.ts +11 -0
- package/dist/store/config.js +21 -3
- package/dist/store/config.js.map +1 -1
- package/dist/store/keys.d.ts +1 -1
- package/dist/store/keys.js +14 -3
- package/dist/store/keys.js.map +1 -1
- package/dist/store/session-workspace.d.ts +1 -0
- package/dist/store/session-workspace.js +21 -1
- package/dist/store/session-workspace.js.map +1 -1
- package/dist/tools/definitions.js +5 -10
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/output-selection.js +47 -3
- package/dist/tools/output-selection.js.map +1 -1
- package/dist/tools/web/content-encoding.d.ts +6 -0
- package/dist/tools/web/content-encoding.js +57 -0
- package/dist/tools/web/content-encoding.js.map +1 -0
- package/dist/tools/web/fetch-core.js +23 -1
- package/dist/tools/web/fetch-core.js.map +1 -1
- package/dist/tui-v2/components/picker/picker.js +1 -1
- package/dist/tui-v2/components/picker/picker.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +1 -1
- package/dist/ui-core/commands/command-handlers.js +2 -3
- package/dist/ui-core/commands/command-handlers.js.map +1 -1
- package/dist/ui-core/commands/picker-commands.js +34 -11
- package/dist/ui-core/commands/picker-commands.js.map +1 -1
- package/dist/ui-core/commands/session-commands.d.ts +2 -3
- package/dist/ui-core/commands/session-commands.js +44 -17
- package/dist/ui-core/commands/session-commands.js.map +1 -1
- package/dist/ui-core/rendering/format-help.js +1 -1
- package/dist/ui-core/rendering/format-help.js.map +1 -1
- package/dist/ui-core/state/transcript-reducer.js +78 -19
- package/dist/ui-core/state/transcript-reducer.js.map +1 -1
- package/dist/ui-core/state/transcript-types.d.ts +1 -0
- package/dist/ui-core/state/transcript-types.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -2
- package/dist/llm/groq.d.ts +0 -24
- package/dist/llm/groq.js +0 -155
- package/dist/llm/groq.js.map +0 -1
- package/dist/llm/kimchi.d.ts +0 -2
- package/dist/llm/kimchi.js +0 -96
- package/dist/llm/kimchi.js.map +0 -1
package/README.md
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
Two things make it practical for everyday use:
|
|
8
8
|
|
|
9
|
-
- **It's cheap-to-free to run.** A fresh install runs **keyless out of the box** on the built-in Free provider — no signup, no API key. Point it at
|
|
9
|
+
- **It's cheap-to-free to run.** A fresh install runs **keyless out of the box** on the built-in Free provider — no signup, no API key. Point it at Google Gemini, NVIDIA NIM, OpenRouter, Bynara, Hetzner, or a local Ollama — all have free access — and clai stacks them. Add several keys per provider; when one hits a rate limit, it rotates to the next automatically. Want frontier models instead? Serve **Kimi K3 on your own Modal endpoint** on Modal's **$30/month of free credit**, or start on **Lightning AI's 40M free tokens**.
|
|
10
10
|
- **It's honest.** Findings need real tool output. Builds get typechecked/run before "done." Compaction and history keep long sessions coherent instead of hallucinating progress.
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
## Highlights
|
|
15
15
|
|
|
16
|
-
- **Free-tier first.**
|
|
16
|
+
- **Free-tier first.** 18 providers wired in, 6 cloud free tiers + local Ollama. The default provider is the **keyless Free** gateway (`free-1/deepseek-v4-flash-free`) so a fresh install runs at no cost with zero setup — no API key required.
|
|
17
17
|
- **Multi-key smart switching.** Up to 10 keys per provider with a *sticky* active key and circular rotation on rate-limit / auth / quota / transient / 5xx / empty-response errors. Disable any key or endpoint row to skip it without deleting it. Optional cross-provider fallback and a free-only filter.
|
|
18
18
|
- **Bring your own endpoint.** Deploy Kimi K3 (or Qwen / DeepSeek / GLM / GPT-OSS / your own fine-tune) to a [Modal](#modal--run-kimi-k3-on-your-own-endpoint-on-30month-of-free-credit) endpoint and drive it from clai on **$30/month of free compute credit**. Modal, Lightning AI and TokenRouter each keep a list of up to 10 base URLs with a sticky active one, so several deployments live side by side and you switch with one command — same editor, same ★ active row as keys.
|
|
19
19
|
- **Scope-based pentesting.** Opt-in engagement scope with authorized/excluded targets, allowed phases, rate and concurrency ceilings, redirect and DNS-rebinding escape detection, and out-of-scope flagging — designed for authorized pentests and bug-bounty programs.
|
|
@@ -105,9 +105,9 @@ clai # launch the full-screen agent console (already on the free provid
|
|
|
105
105
|
Prefer a different provider? Get a free key, add it, and go:
|
|
106
106
|
|
|
107
107
|
```sh
|
|
108
|
-
# Add a free key (
|
|
109
|
-
clai set
|
|
110
|
-
clai use
|
|
108
|
+
# Add a free key (NVIDIA shown; Gemini/OpenRouter/Bynara/Hetzner work the same)
|
|
109
|
+
clai set nvidia nvapi-your_key_here
|
|
110
|
+
clai use nvidia
|
|
111
111
|
|
|
112
112
|
# Launch the full-screen agent console
|
|
113
113
|
clai
|
|
@@ -138,11 +138,9 @@ This is the core of clai's design: assemble capacity from free tiers, then survi
|
|
|
138
138
|
|----------|---------------|------|---------|
|
|
139
139
|
| Free (keyless) | `free-1/deepseek-v4-flash-free` | Free · keyless | — (no key needed) |
|
|
140
140
|
| NVIDIA NIM | `openai/gpt-oss-20b` | Free | `NVIDIA_API_KEY` |
|
|
141
|
-
| Groq | `llama-3.3-70b-versatile` | Free | `GROQ_API_KEY` |
|
|
142
141
|
| Google Gemini | `gemini-3.5-flash` | Free | `GEMINI_API_KEY` |
|
|
143
142
|
| OpenRouter | `meta-llama/llama-3.3-70b-instruct:free` | Free | `OPENROUTER_API_KEY` |
|
|
144
143
|
| Bynara | `mimo-v2.5-free` | Free | `BYNARA_API_KEY` |
|
|
145
|
-
| Kimchi | `kimi-k2.6` | Free | `CASTAI_API_KEY` |
|
|
146
144
|
| Ollama | `llama3.1:8b` | Local / free | `OLLAMA_HOST` |
|
|
147
145
|
| OpenAI | `gpt-5.4-mini` | Paid | `OPENAI_API_KEY` |
|
|
148
146
|
| Anthropic | `claude-3-5-haiku-latest` | Paid | `ANTHROPIC_API_KEY` |
|
|
@@ -267,10 +265,10 @@ Streaming, native tool calling, structured outputs (`response_format`), vision v
|
|
|
267
265
|
### Manage keys
|
|
268
266
|
|
|
269
267
|
```sh
|
|
270
|
-
clai set
|
|
271
|
-
clai set
|
|
268
|
+
clai set nvidia nvapi-first_key # store a key (appends if one exists)
|
|
269
|
+
clai set nvidia nvapi-second_key # add another key for the same provider
|
|
272
270
|
clai set gemini --from-env GEMINI_API_KEY
|
|
273
|
-
echo "
|
|
271
|
+
echo "nvapi-..." | clai set nvidia --stdin
|
|
274
272
|
clai set ollama --url http://localhost:11434
|
|
275
273
|
clai set modal --url https://ws--ep-kimi-k3-server.us-west.modal.direct # endpoint (repeatable)
|
|
276
274
|
clai set modal wk-tokenId:ws-tokenSecret # …then the proxy token pair
|
|
@@ -282,9 +280,9 @@ clai set orcarouter sk-your-key # OrcaRouter (orcarouter.ai/console)
|
|
|
282
280
|
clai set free <key> # optional: unlock premium models (free is keyless by default)
|
|
283
281
|
clai unset modal --url # drop stored endpoint URLs, keep the keys
|
|
284
282
|
clai keys # providers + masked keys (★ active) + endpoint URLs
|
|
285
|
-
clai use
|
|
283
|
+
clai use nvidia # set active provider
|
|
286
284
|
clai provider # interactive provider/model picker
|
|
287
|
-
clai unset
|
|
285
|
+
clai unset nvidia # remove ALL keys for a provider
|
|
288
286
|
```
|
|
289
287
|
|
|
290
288
|
In the console, **`/set`** opens a multi-row editor: add rows with `+`, remove rows, star a row to make it the active one, or disable a row to skip it in rotation without deleting it (`d` in the classic UI, `Ctrl+D` or the ○ marker in OpenTUI) — then **Save**, or **Reset all**. Providers with their own base URL (Modal, Lightning AI, TokenRouter) get a second **endpoints** row in the `/set` picker that edits their URL list the same way — URLs are shown in full rather than masked, since they aren't secrets. `/set <provider> https://…` adds and activates one URL directly. **`/keys`** lists keys masked plus the active endpoint, marking disabled rows `(disabled)`; **`/unset`** clears a provider. Disabled entries are never tried until re-enabled, and disabling every key for a provider fails fast with a clear error instead of burning requests.
|
|
@@ -296,7 +294,7 @@ In the console, **`/set`** opens a multi-row editor: add rows with `+`, remove r
|
|
|
296
294
|
- **What triggers a switch** — HTTP 429 (rate limit), 401/403 (auth), 402 / quota / billing text, transient network errors, 500–504, and empty completions. Auth and quota errors switch **immediately** (no backoff wait); rate limits back off briefly first.
|
|
297
295
|
- **Cross-provider fallback** *(opt-in)* — `/fallback on` lets clai try other configured providers after the active one is exhausted (only when running a provider's default model).
|
|
298
296
|
- **Free-only mode** *(opt-in)* — `/freeonly on` excludes paid-cloud providers from the fallback chain, so you never accidentally spend.
|
|
299
|
-
- **Quiet status** — a single non-stacking status line shows what happened, e.g. `switching
|
|
297
|
+
- **Quiet status** — a single non-stacking status line shows what happened, e.g. `switching nvidia key [2/4] …ab12 (rate limited)`. Keys are always masked to the last 4 chars.
|
|
300
298
|
|
|
301
299
|
```sh
|
|
302
300
|
/freeonly on # stay on free tiers only
|
|
@@ -423,12 +421,12 @@ Tool cards show the command/input clearly, with a live elapsed timer next to the
|
|
|
423
421
|
| `/output [last\|id\|list]` | Open full tool output (also `Ctrl+O`) |
|
|
424
422
|
| `/jobs` | Background jobs (also `Ctrl+J`) |
|
|
425
423
|
| `/compact` · `/context` | Compact history now · show context size |
|
|
426
|
-
| `/history` · `/save <name>` · `/new` · `/clear` · `/reset` | Session lifecycle |
|
|
424
|
+
| `/history` · `/save <name>` · `/new` · `/clear` · `/reset` | Session lifecycle (`/clear` deletes the current session outright) |
|
|
427
425
|
| `/allow <tool>` · `/disallow <tool>` · `/permissions` | Tool permissions |
|
|
428
426
|
| `/cwd <path>` | Change working directory |
|
|
429
427
|
| `/think` · `/thinking` | Show thinking from the last response |
|
|
430
428
|
| `/privacy [...]` | Private mode · clear history/logs/artifacts |
|
|
431
|
-
| `/update` · `/help` · `/shortcuts` · `/
|
|
429
|
+
| `/update` · `/help` · `/shortcuts` · `/exit` | Housekeeping |
|
|
432
430
|
|
|
433
431
|
---
|
|
434
432
|
|
|
@@ -596,7 +594,7 @@ clai/
|
|
|
596
594
|
├─ src/
|
|
597
595
|
│ ├─ index.ts # CLI entry + subcommands
|
|
598
596
|
│ ├─ agent/ # loop, plans, compaction, resume orientation, tool parsing
|
|
599
|
-
│ ├─ llm/ #
|
|
597
|
+
│ ├─ llm/ # 18 providers, streaming, native tools, key rotation + fallback
|
|
600
598
|
│ ├─ tools/ # fs, shell, net, http, web, pentest, batch, plan
|
|
601
599
|
│ ├─ safety/ # risk classifier + engagement (scope) policy
|
|
602
600
|
│ ├─ store/ # config, history, keys, plans, scope
|
|
@@ -31,7 +31,7 @@ export declare const COMPACTION_TRANSCRIPT_CHAR_BUDGET = 48000;
|
|
|
31
31
|
export declare const COMPACTION_MAX_COMPLETION_TOKENS = 12288;
|
|
32
32
|
export declare const COMPACTION_INPUT_SAFETY_TOKENS = 4096;
|
|
33
33
|
export declare function compactionSinglePassInputBudget(contextLimitTokens: number): number;
|
|
34
|
-
export declare const COMPACTION_MAP_MAX_COMPLETION_TOKENS =
|
|
34
|
+
export declare const COMPACTION_MAP_MAX_COMPLETION_TOKENS = 16384;
|
|
35
35
|
export declare const COMPACTION_CHUNK_CHAR_BUDGET = 64000;
|
|
36
36
|
export declare const MAX_COMPACTION_CHUNKS = 8;
|
|
37
37
|
/**
|
|
@@ -73,7 +73,7 @@ export function compactionSinglePassInputBudget(contextLimitTokens) {
|
|
|
73
73
|
COMPACTION_MAX_COMPLETION_TOKENS -
|
|
74
74
|
COMPACTION_INPUT_SAFETY_TOKENS);
|
|
75
75
|
}
|
|
76
|
-
export const COMPACTION_MAP_MAX_COMPLETION_TOKENS =
|
|
76
|
+
export const COMPACTION_MAP_MAX_COMPLETION_TOKENS = 16_384;
|
|
77
77
|
export const COMPACTION_CHUNK_CHAR_BUDGET = 64_000;
|
|
78
78
|
export const MAX_COMPACTION_CHUNKS = 8;
|
|
79
79
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-summary.js","sourceRoot":"","sources":["../../src/agent/compaction-summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;8UAgBsS,CAAC;AAc/U,gDAAgD;AAChD,MAAM,UAAU,yBAAyB,CAAC,KAA4B;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC;IAEzD,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;QAC3B,UAAU,GAAG,GAAG,MAAM,oCAAoC,YAAY,EAAE,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,MAAM,IAAI,YAAY,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CACX,6HAA6H,EAC7H,8IAA8I,EAC9I,iIAAiI,EACjI,sKAAsK,EACtK,EAAE,EACF,6MAA6M,EAC7M,eAAe,EACf,mDAAmD,EACnD,2CAA2C,EAC3C,uBAAuB,EACvB,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,EACtB,yDAAyD,EACzD,gEAAgE,EAChE,mCAAmC,EACnC,kBAAkB,EAClB,uCAAuC,EACvC,0BAA0B,EAC1B,EAAE,EACF,oDAAoD,EACpD,yKAAyK,EACzK,6IAA6I,EAC7I,kNAAkN,EAClN,4MAA4M,EAC5M,sIAAsI,EACtI,4HAA4H,EAC5H,gIAAgI,EAChI,sPAAsP,EACtP,yNAAyN,EACzN,0JAA0J,EAC1J,wJAAwJ,EACxJ,sMAAsM,EACtM,kMAAkM,EAClM,qNAAqN,EACrN,4HAA4H,EAC5H,+EAA+E,CAChF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CACX,yEAAyE,EACzE,uEAAuE,EACvE,qOAAqO,EACrO,EAAE,EACF,6EAA6E,EAC7E,eAAe,EACf,8BAA8B,EAC9B,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,+BAA+B,EAC/B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,EAAE,EACF,8FAA8F,EAC9F,iPAAiP,EACjP,wWAAwW,EACxW,gKAAgK,EAChK,mSAAmS,EACnS,kNAAkN,EAClN,sLAAsL,EACtL,kJAAkJ,EAClJ,kSAAkS,EAClS,yIAAyI,EACzI,6HAA6H,EAC7H,EAAE,EACF,uNAAuN,EACvN,qFAAqF,EACrF,mRAAmR,EACnR,uDAAuD,EACvD,EAAE,EACF,8IAA8I,EAC9I,8IAA8I,EAC9I,uOAAuO,EACvO,kHAAkH,EAClH,8IAA8I,EAC9I,EAAE,EACF,kDAAkD,EAClD,kKAAkK,EAClK,6GAA6G,EAC7G,iIAAiI,CAClI,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAI,CACX,EAAE,EACF,iCAAiC,EACjC,6KAA6K,EAC7K,2MAA2M,EAC3M,mOAAmO,EACnO,oIAAoI,CACrI,CAAC;IAEF,MAAM,MAAM,GACV,wTAAwT,CAAC;IAC3T,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEtB,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,gDAAgD,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAG3C;IACC,OAAO,yBAAyB,CAAC;QAC/B,iBAAiB,EACf,0LAA0L;QAC5L,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAC;AACL,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAEvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAEpD,MAAM,UAAU,+BAA+B,CAC7C,kBAA0B;IAE1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC5B,gCAAgC;QAChC,8BAA8B,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,
|
|
1
|
+
{"version":3,"file":"compaction-summary.js","sourceRoot":"","sources":["../../src/agent/compaction-summary.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/runner.js
CHANGED
|
@@ -3,6 +3,7 @@ import { streamWithProvider } from "../llm/router.js";
|
|
|
3
3
|
import { operationUsageFromError } from "../llm/operation-ledger.js";
|
|
4
4
|
import { contextAttemptFromOperationUsage } from "../llm/context-snapshot.js";
|
|
5
5
|
import { modelContextWindow } from "../llm/token-usage.js";
|
|
6
|
+
import { providerInputTokenBudget } from "../llm/context-windows.js";
|
|
6
7
|
import { streamAlreadyEmitted } from "../llm/stream-progress.js";
|
|
7
8
|
import { classifyStreamFailure, planStreamRecovery, recordRecoveryAttempt, createStreamRecoveryState, resetStreamRecoveryState, } from "./stream-recovery.js";
|
|
8
9
|
import { modelSupportsVision, resolveToolDialect } from "../llm/capabilities.js";
|
|
@@ -14,7 +15,6 @@ import { isResponderResultLedgerMessage, responderContextMessage, upsertResponde
|
|
|
14
15
|
import { agentModeDirective, planModeDirective, renderAgentSystemPrompt, renderCompactAgentSystemPrompt, renderRequestEnvironmentContext, scratchDirFor, toolNudge, } from "../prompts/index.js";
|
|
15
16
|
import { getConfig, getProviderModel } from "../store/config.js";
|
|
16
17
|
import { beginSessionWorkspace, getActiveSessionWorkspace, } from "../store/session-workspace.js";
|
|
17
|
-
import { groqInputTokenBudget } from "../llm/groq.js";
|
|
18
18
|
import { classifyToolCall, isPentestToolCall, scopeTargetForToolCall, } from "../safety/classifier.js";
|
|
19
19
|
/**
|
|
20
20
|
* Scope/engagement classification runs on every tool call and parses
|
|
@@ -425,11 +425,11 @@ export async function runAgentTurn(prompt, options = {}) {
|
|
|
425
425
|
const currentContextLimitTokens = () => options.getContextLimitTokens
|
|
426
426
|
? options.getContextLimitTokens(provider, model)
|
|
427
427
|
: options.contextLimitTokens;
|
|
428
|
-
// Some
|
|
429
|
-
//
|
|
428
|
+
// Some free-tier routes have a per-request/per-minute input budget below
|
|
429
|
+
// the normal agent prompt alone. Select a purpose-built compact
|
|
430
430
|
// instruction set before the request is made, rather than treating the
|
|
431
431
|
// provider's 413 as a context-window failure after the fact.
|
|
432
|
-
const inputTokenBudget = provider
|
|
432
|
+
const inputTokenBudget = providerInputTokenBudget(provider, model);
|
|
433
433
|
const useCompactSystemPrompt = inputTokenBudget !== undefined;
|
|
434
434
|
const resolveNativeTools = (p, m) => {
|
|
435
435
|
const dialect = resolveToolDialect(p, m, config.toolCalling);
|