@gaunt-sloth/core 2.0.0-alpha.19 → 2.0.0-alpha.20
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 +5 -4
- package/dist/config/defaults.js +6 -4
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/loader.d.ts +29 -0
- package/dist/config/loader.js +158 -8
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +45 -0
- package/dist/config/schema.js +45 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/shell-policy.d.ts +17 -0
- package/dist/config/shell-policy.js.map +1 -1
- package/dist/config/types.d.ts +60 -0
- package/dist/config/types.js.map +1 -1
- package/dist/constants.d.ts +11 -1
- package/dist/constants.js +11 -1
- package/dist/constants.js.map +1 -1
- package/dist/core/GthAbstractAgent.d.ts +28 -1
- package/dist/core/GthAbstractAgent.js +227 -33
- package/dist/core/GthAbstractAgent.js.map +1 -1
- package/dist/core/GthLangChainAgent.js +31 -14
- package/dist/core/GthLangChainAgent.js.map +1 -1
- package/dist/providers/geminiSchemaSanitizer.d.ts +52 -0
- package/dist/providers/geminiSchemaSanitizer.js +201 -0
- package/dist/providers/geminiSchemaSanitizer.js.map +1 -0
- package/dist/providers/google-genai.js +4 -1
- package/dist/providers/google-genai.js.map +1 -1
- package/dist/providers/ollama.d.ts +18 -4
- package/dist/providers/ollama.js +55 -37
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/openrouter.js +5 -0
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/vertexai.js +4 -1
- package/dist/providers/vertexai.js.map +1 -1
- package/dist/runtime/conversation.d.ts +59 -0
- package/dist/runtime/conversation.js +137 -0
- package/dist/runtime/conversation.js.map +1 -0
- package/dist/runtime/singleShot.d.ts +3 -2
- package/dist/runtime/singleShot.js +16 -4
- package/dist/runtime/singleShot.js.map +1 -1
- package/dist/utils/debugDump.d.ts +30 -8
- package/dist/utils/debugDump.js +133 -10
- package/dist/utils/debugDump.js.map +1 -1
- package/dist/utils/redactSecrets.d.ts +63 -0
- package/dist/utils/redactSecrets.js +238 -0
- package/dist/utils/redactSecrets.js.map +1 -0
- package/dist/utils/systemPromptNotes.d.ts +92 -0
- package/dist/utils/systemPromptNotes.js +114 -0
- package/dist/utils/systemPromptNotes.js.map +1 -1
- package/dist/utils/systemUtils.d.ts +1 -1
- package/dist/utils/systemUtils.js +7 -2
- package/dist/utils/systemUtils.js.map +1 -1
- package/dist/utils/toolMatching.d.ts +30 -0
- package/dist/utils/toolMatching.js +44 -0
- package/dist/utils/toolMatching.js.map +1 -0
- package/package.json +5 -1
- package/schema/gsloth-config.schema.json +91 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ import type { GthConfig, LLMConfig } from '#src/config/types.js';
|
|
|
23
23
|
* - `run_shell_command` reads the EXT-9/10/12 knobs ({@link enabled}/{@link timeout}/
|
|
24
24
|
* {@link maxOutputBytes}/{@link allowlist}/{@link persistAllowlist}/{@link judge}/{@link yolo} —
|
|
25
25
|
* `yolo` is the folded former `shellYolo`);
|
|
26
|
+
* - `gth_grep` reads {@link fileSet} (GS2-51) — which corpus to search;
|
|
26
27
|
* - a plain built-in tool (`gth_checklist`, `gth_web_fetch`, …) reads {@link enabled} (or is
|
|
27
28
|
* toggled with a bare boolean in the registry).
|
|
28
29
|
*/
|
|
@@ -57,6 +58,22 @@ export interface BuiltInToolConfig {
|
|
|
57
58
|
* `{ "run_shell_command": { "yolo": true } }`.
|
|
58
59
|
*/
|
|
59
60
|
yolo?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* `gth_grep` (GS2-51): which corpus the content-search tool scans, applied consistently to BOTH
|
|
63
|
+
* execution engines (native ripgrep and the in-process JS fallback):
|
|
64
|
+
* - `gitignore` (DEFAULT) — respect `.gitignore`/`.ignore` and skip hidden dot-files. This is the
|
|
65
|
+
* best code-search UX and is already ripgrep's own default, so rg-present machines see NO
|
|
66
|
+
* behaviour change; only the corpus *selection* becomes explicit.
|
|
67
|
+
* - `all` — scan everything except the noise dirs (`node_modules`/`dist`/`.git`/`.idea`); for rg
|
|
68
|
+
* this passes `--no-ignore --hidden`.
|
|
69
|
+
*
|
|
70
|
+
* Example: `{ "builtInTools": { "gth_grep": { "fileSet": "all" } } }`.
|
|
71
|
+
*
|
|
72
|
+
* NOTE: under `gitignore` the JS fallback is a best-effort approximation (skip noise dirs + hidden
|
|
73
|
+
* dot-files); it does NOT parse arbitrary `.gitignore` rules the way rg does. See the residual
|
|
74
|
+
* rg-vs-JS divergence note in `gthGrepTool.ts`.
|
|
75
|
+
*/
|
|
76
|
+
fileSet?: 'gitignore' | 'all';
|
|
60
77
|
}
|
|
61
78
|
/**
|
|
62
79
|
* CFG-18 — the widened `builtInTools` setting. Either the legacy `string[]` (each named tool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-policy.js","sourceRoot":"","sources":["../../src/config/shell-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shell-policy.js","sourceRoot":"","sources":["../../src/config/shell-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -298,7 +298,52 @@ export interface GthConfig {
|
|
|
298
298
|
};
|
|
299
299
|
};
|
|
300
300
|
};
|
|
301
|
+
/**
|
|
302
|
+
* GS2-35 — identity for the `Co-Authored-By` trailer of agent-authored git commits. Gaunt Sloth
|
|
303
|
+
* has no dedicated commit tool (it commits via `run_shell_command`), so this identity is injected
|
|
304
|
+
* into the code-mode system prompt, which instructs the agent to co-author commits as this account
|
|
305
|
+
* and NEVER as the underlying model. Optional and defaulted: when unset (or a field is unset) the
|
|
306
|
+
* agent co-authors as {@link DEFAULT_COMMIT_CO_AUTHOR_NAME} `<`{@link DEFAULT_COMMIT_CO_AUTHOR_EMAIL}`>`.
|
|
307
|
+
*/
|
|
308
|
+
commit?: {
|
|
309
|
+
coAuthor?: {
|
|
310
|
+
name?: string;
|
|
311
|
+
email?: string;
|
|
312
|
+
};
|
|
313
|
+
};
|
|
301
314
|
modelDisplayName?: string;
|
|
315
|
+
/**
|
|
316
|
+
* GS2-53 — the configured provider `type` string (`openrouter`/`deepseek`/`xai`/`anthropic`/…),
|
|
317
|
+
* stashed by the loader from the raw `llm.type` before the built `BaseChatModel` replaces the raw
|
|
318
|
+
* spec. INTERNAL (loader-set, never user-supplied), so it is deliberately absent from the config
|
|
319
|
+
* schema. {@link import('#src/utils/systemPromptNotes.js').resolveModelIdentity} PREFERS this over
|
|
320
|
+
* the live model's `_llmType()` for the injected identity, because OpenAI-compatible shims
|
|
321
|
+
* (openrouter/deepseek/xai all extend `ChatOpenAI`) report `_llmType() === 'openai'` and would
|
|
322
|
+
* otherwise mislabel the provider half. Absent for module configs (which hand us an already-built
|
|
323
|
+
* LLM with no raw `type`), where resolution falls back to the guarded `_llmType()`.
|
|
324
|
+
*/
|
|
325
|
+
modelProviderType?: string;
|
|
326
|
+
/**
|
|
327
|
+
* GS2-34 — inject the resolved active `provider:model` identity into the assembled system prompt
|
|
328
|
+
* so the agent knows which model is serving it (to answer "what model are you?" and reason about
|
|
329
|
+
* its own capabilities/limits). Default ON (omitted = inject). Opt out with
|
|
330
|
+
* `injectModelContext: false` to keep reproducible / model-agnostic runs (e.g. review) blind to
|
|
331
|
+
* the identity — when off, the assembled prompt is exactly as it is without this feature. Applies
|
|
332
|
+
* in ALL modes (unlike the code-mode-only cwd/os-shell/commit notes). Defaulted at the read site
|
|
333
|
+
* (not in {@link DEFAULT_CONFIG}) to avoid churning the effective-config snapshot.
|
|
334
|
+
*/
|
|
335
|
+
injectModelContext?: boolean;
|
|
336
|
+
/**
|
|
337
|
+
* GS2-47 — controls the shared secret-redaction pass applied to `/debug-dump` archives. Default
|
|
338
|
+
* ON (omitted = redact): secret-named env-var values, inline config secrets, provider-key/auth
|
|
339
|
+
* patterns and sensitive config fields are masked before any artifact hits disk. Set
|
|
340
|
+
* `debugDump.redact: false` (or run `/debug-dump --unsafe-no-redact`) to write a RAW archive, which
|
|
341
|
+
* the command flags with a loud "may contain secrets" warning. Defaulted at the read site (not in
|
|
342
|
+
* {@link DEFAULT_CONFIG}) to avoid churning the effective-config snapshot.
|
|
343
|
+
*/
|
|
344
|
+
debugDump?: {
|
|
345
|
+
redact?: boolean;
|
|
346
|
+
};
|
|
302
347
|
/**
|
|
303
348
|
* Transient (runtime-only) extra filesystem roots the agent is allowed to read/write for
|
|
304
349
|
* THIS run, in addition to the cwd sandbox. Populated by `gth exec --allow-dir <path>`
|
|
@@ -314,6 +359,21 @@ export interface GthConfig {
|
|
|
314
359
|
* (read/write files, run commands) rather than only chat. Never persisted to a config file.
|
|
315
360
|
*/
|
|
316
361
|
askWriteMode?: boolean;
|
|
362
|
+
/**
|
|
363
|
+
* GS2-63 — output surface controls.
|
|
364
|
+
*
|
|
365
|
+
* `output.header` DEFAULTS ON (omitted = show). Set `false` to suppress the technical run-header
|
|
366
|
+
* preamble — the Workdir/Model/Tools/Middleware status block, the `Press Escape or Q to interrupt`
|
|
367
|
+
* hint, and their surrounding blank lines — in NON-TUI text modes (`--no-tui`, `ask`, `exec`,
|
|
368
|
+
* `eval`, `pr`, `review`, piped/CI), so captured stdout and log diffs stay clean. The interactive
|
|
369
|
+
* TUI ignores the setting and always shows the header. Only the preamble is suppressed — never
|
|
370
|
+
* model/tool output, errors, or config-validation warnings, and never the live `Thinking…`
|
|
371
|
+
* indicator. Defaulted at the read site (`!== false`), not in {@link DEFAULT_CONFIG}, to avoid
|
|
372
|
+
* churning the effective-config snapshot.
|
|
373
|
+
*/
|
|
374
|
+
output?: {
|
|
375
|
+
header?: boolean;
|
|
376
|
+
};
|
|
317
377
|
}
|
|
318
378
|
/**
|
|
319
379
|
* `gth pr` command configuration.
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAuhBA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,UAAU;IACV,WAAW;IACX,MAAM;IACN,UAAU;IACV,QAAQ;IACR,cAAc;IACd,KAAK;IACL,YAAY;IACZ,aAAa;IACb,QAAQ;CACA,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export declare const AIIGNORE_FILE = ".aiignore";
|
|
|
26
26
|
* The channel is **major-pinned** (`/schema/v2/…`, not `latest` or `alpha`) so a config never
|
|
27
27
|
* revalidates against a future major it was not written for. The hosted copy is kept in sync with
|
|
28
28
|
* this package's generated schema by the deploy runbook in
|
|
29
|
-
* `websites/gauntsloth
|
|
29
|
+
* `websites/gauntsloth-site/schema/README.md` (interim, hand-run) and, in time, PLAT-9's automated
|
|
30
30
|
* release step. The schema still ships inside the package (`files: ["./schema/*"]`) as an offline
|
|
31
31
|
* artifact and golden-snapshot source of truth; it is just no longer what the pointer references.
|
|
32
32
|
*/
|
|
@@ -44,3 +44,13 @@ export declare const SHELL_ALLOWLIST_FILE = "shell-allowlist.json";
|
|
|
44
44
|
* that groups tools back by server (the [[TUI-C20]] MCP debug tab) can never silently drift apart.
|
|
45
45
|
*/
|
|
46
46
|
export declare const MCP_TOOL_NAME_PREFIX = "mcp";
|
|
47
|
+
/**
|
|
48
|
+
* GS2-35 — the canonical Git co-author identity for agent-authored commits. When Gaunt Sloth writes
|
|
49
|
+
* a commit (via `run_shell_command` `git commit`) the co-author is *Gaunt Sloth itself*, NOT the
|
|
50
|
+
* underlying model — attributing the commit to the model name (e.g. `Claude`, `GPT`) is factually
|
|
51
|
+
* wrong. Config (`commit.coAuthor`) overrides this; single-sourced so the config default and the
|
|
52
|
+
* prompt-guidance fallback ({@link import('#src/utils/systemPromptNotes.js').appendCommitCoAuthorNote})
|
|
53
|
+
* can never drift.
|
|
54
|
+
*/
|
|
55
|
+
export declare const DEFAULT_COMMIT_CO_AUTHOR_NAME = "Gaunt Sloth";
|
|
56
|
+
export declare const DEFAULT_COMMIT_CO_AUTHOR_EMAIL = "code@gauntsloth.app";
|
package/dist/constants.js
CHANGED
|
@@ -26,7 +26,7 @@ export const AIIGNORE_FILE = '.aiignore';
|
|
|
26
26
|
* The channel is **major-pinned** (`/schema/v2/…`, not `latest` or `alpha`) so a config never
|
|
27
27
|
* revalidates against a future major it was not written for. The hosted copy is kept in sync with
|
|
28
28
|
* this package's generated schema by the deploy runbook in
|
|
29
|
-
* `websites/gauntsloth
|
|
29
|
+
* `websites/gauntsloth-site/schema/README.md` (interim, hand-run) and, in time, PLAT-9's automated
|
|
30
30
|
* release step. The schema still ships inside the package (`files: ["./schema/*"]`) as an offline
|
|
31
31
|
* artifact and golden-snapshot source of truth; it is just no longer what the pointer references.
|
|
32
32
|
*/
|
|
@@ -44,4 +44,14 @@ export const SHELL_ALLOWLIST_FILE = 'shell-allowlist.json';
|
|
|
44
44
|
* that groups tools back by server (the [[TUI-C20]] MCP debug tab) can never silently drift apart.
|
|
45
45
|
*/
|
|
46
46
|
export const MCP_TOOL_NAME_PREFIX = 'mcp';
|
|
47
|
+
/**
|
|
48
|
+
* GS2-35 — the canonical Git co-author identity for agent-authored commits. When Gaunt Sloth writes
|
|
49
|
+
* a commit (via `run_shell_command` `git commit`) the co-author is *Gaunt Sloth itself*, NOT the
|
|
50
|
+
* underlying model — attributing the commit to the model name (e.g. `Claude`, `GPT`) is factually
|
|
51
|
+
* wrong. Config (`commit.coAuthor`) overrides this; single-sourced so the config default and the
|
|
52
|
+
* prompt-guidance fallback ({@link import('#src/utils/systemPromptNotes.js').appendCommitCoAuthorNote})
|
|
53
|
+
* can never drift.
|
|
54
|
+
*/
|
|
55
|
+
export const DEFAULT_COMMIT_CO_AUTHOR_NAME = 'Gaunt Sloth';
|
|
56
|
+
export const DEFAULT_COMMIT_CO_AUTHOR_EMAIL = 'code@gauntsloth.app';
|
|
47
57
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,4DAA4D,CAAC;AAClG;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,4DAA4D,CAAC;AAClG;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,aAAa,CAAC;AAC3D,MAAM,CAAC,MAAM,8BAA8B,GAAG,qBAAqB,CAAC"}
|
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
import { GthConfig, ServerTool } from '#src/config.js';
|
|
2
2
|
import { AgentResolvers, AgentStreamEvent, GthAgentInterface, GthCommand, GthCompiledGraph, GthRunStats, Message, PendingToolInterrupt, StatusUpdateCallback } from '#src/core/types.js';
|
|
3
3
|
import type { DebugCapture } from '#src/core/debugCapture.js';
|
|
4
|
-
import { BaseMessage } from '@langchain/core/messages';
|
|
4
|
+
import { AIMessageChunk, BaseMessage } from '@langchain/core/messages';
|
|
5
5
|
import { RunnableConfig } from '@langchain/core/runnables';
|
|
6
6
|
import { BaseToolkit, StructuredToolInterface } from '@langchain/core/tools';
|
|
7
7
|
import { IterableReadableStream } from '@langchain/core/utils/stream';
|
|
8
8
|
import { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
9
|
+
/**
|
|
10
|
+
* TUI-C29 — return a chunk fit for `concat`-aggregation with OpenRouter's raw response stripped.
|
|
11
|
+
*
|
|
12
|
+
* The openrouter provider enables `__includeRawResponse` (TUI-C22), which stashes the *full* raw
|
|
13
|
+
* provider response under `additional_kwargs.__raw_response` so {@link pickReasoningDelta} can lift
|
|
14
|
+
* a top-level `reasoning` delta the ChatOpenAI converter otherwise drops. Reasoning is only ever
|
|
15
|
+
* read off the **per-chunk** `additional_kwargs`, never off the aggregate — yet `AIMessageChunk.concat`
|
|
16
|
+
* deep-merges `additional_kwargs` (`_mergeDicts`), so leaving `__raw_response` on the chunk makes the
|
|
17
|
+
* aggregate accumulate a linearly-growing, unused copy of it for the whole stream.
|
|
18
|
+
*
|
|
19
|
+
* Strip it on a **shallow clone** so the ORIGINAL chunk the reasoning path reads (line ~697) stays
|
|
20
|
+
* untouched (approach A — no mutation of the stream-owned object). The clone preserves the chunk's
|
|
21
|
+
* prototype (so it keeps a working `.concat` when it becomes the first aggregate) and every field
|
|
22
|
+
* `concat` reads (content, tool_call_chunks, tool_calls, response_metadata, usage_metadata, id),
|
|
23
|
+
* overriding only `additional_kwargs`. When the key is absent (every non-OpenRouter provider) the
|
|
24
|
+
* chunk is returned as-is, so those paths are byte-for-byte unchanged.
|
|
25
|
+
*/
|
|
26
|
+
export declare function stripRawResponseForAggregation(chunk: AIMessageChunk): AIMessageChunk;
|
|
9
27
|
/**
|
|
10
28
|
* Shared, graph-agnostic agent plumbing.
|
|
11
29
|
*
|
|
@@ -41,6 +59,15 @@ export declare abstract class GthAbstractAgent implements GthAgentInterface {
|
|
|
41
59
|
*/
|
|
42
60
|
private runStatsAcc;
|
|
43
61
|
constructor(statusUpdate: StatusUpdateCallback, resolvers?: AgentResolvers);
|
|
62
|
+
/**
|
|
63
|
+
* GS2-63 — emit one line of the technical run-header preamble (the Workdir/Model/Tools/Middleware
|
|
64
|
+
* block) UNLESS it is opted out via `output.header: false`. The opt-out only ever reaches here in
|
|
65
|
+
* non-TUI text modes: the interactive TUI forces `output.header` on before init (see
|
|
66
|
+
* `createTuiSession`), and the TUI event path never goes through the interrupt-hint site, so the
|
|
67
|
+
* whole preamble stays visible there. Only INFO header lines route through this — real model/tool
|
|
68
|
+
* output, warnings and errors keep using {@link statusUpdate} directly.
|
|
69
|
+
*/
|
|
70
|
+
protected headerStatus(message: string): void;
|
|
44
71
|
/**
|
|
45
72
|
* GS2-16 — clear the per-run analytics tally so the next turn starts from zero. The runner
|
|
46
73
|
* calls this at each turn boundary because it (and this agent) are reused across turns in an
|
|
@@ -7,6 +7,150 @@ import { AIMessage, AIMessageChunk, ToolMessage } from '@langchain/core/messages
|
|
|
7
7
|
import { IterableReadableStream } from '@langchain/core/utils/stream';
|
|
8
8
|
import { interrupt, Command, GraphInterrupt } from '@langchain/langgraph';
|
|
9
9
|
import { extractInlineBinaryBlocks, materializeBinaryOutputs, renderAssistantContent, } from '#src/utils/binaryOutputUtils.js';
|
|
10
|
+
const THINK_OPEN = '<think>';
|
|
11
|
+
const THINK_CLOSE = '</think>';
|
|
12
|
+
/**
|
|
13
|
+
* TUI-C22 — length of the longest suffix of `s` that is a *proper* (shorter-than-full) prefix of
|
|
14
|
+
* `tag`. Used by {@link createThinkTagSplitter} to hold back a trailing partial that might complete
|
|
15
|
+
* into `tag` on the next chunk (e.g. a chunk ending in `<thi` when the tag is `<think>`).
|
|
16
|
+
*/
|
|
17
|
+
function trailingPartialLen(s, tag) {
|
|
18
|
+
const max = Math.min(s.length, tag.length - 1);
|
|
19
|
+
for (let k = max; k > 0; k--) {
|
|
20
|
+
if (s.slice(s.length - k) === tag.slice(0, k))
|
|
21
|
+
return k;
|
|
22
|
+
}
|
|
23
|
+
return 0;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* TUI-C22 — stateful separator of inline `<think>...</think>` thinking from answer text, robust to
|
|
27
|
+
* tags split across streamed chunks. Many thinking models served over an OpenAI-compatible `/v1`
|
|
28
|
+
* shim (qwen3 / deepseek-r1 over Ollama) inline their reasoning as `<think>…</think>` in the
|
|
29
|
+
* message `content` rather than in `additional_kwargs.reasoning_content`; without this it would
|
|
30
|
+
* render as answer text and the `/reasoning` panel would stay empty.
|
|
31
|
+
*
|
|
32
|
+
* `push(text)` returns the segments it can classify unambiguously *now*, buffering any trailing
|
|
33
|
+
* partial tag (so a `<think>` arriving as `<thi` + `nk>` across two chunks is still detected) and
|
|
34
|
+
* the run of thinking between an open and a not-yet-seen close tag. `flush()` drains the buffer at
|
|
35
|
+
* a message/stream boundary: an unterminated `<think>` at EOF yields its remainder as reasoning; a
|
|
36
|
+
* dangling non-tag partial (e.g. a lone `<` or `<thi` that never completed) yields as answer, so no
|
|
37
|
+
* text is ever dropped. Purely additive — text with no `<think>` passes straight through as answer.
|
|
38
|
+
*/
|
|
39
|
+
function createThinkTagSplitter() {
|
|
40
|
+
let buffer = '';
|
|
41
|
+
let inThink = false;
|
|
42
|
+
function push(text) {
|
|
43
|
+
const segments = [];
|
|
44
|
+
if (text.length === 0 && buffer.length === 0)
|
|
45
|
+
return segments;
|
|
46
|
+
buffer += text;
|
|
47
|
+
for (;;) {
|
|
48
|
+
if (inThink) {
|
|
49
|
+
const idx = buffer.indexOf(THINK_CLOSE);
|
|
50
|
+
if (idx >= 0) {
|
|
51
|
+
if (idx > 0)
|
|
52
|
+
segments.push({ kind: 'reasoning', text: buffer.slice(0, idx) });
|
|
53
|
+
buffer = buffer.slice(idx + THINK_CLOSE.length);
|
|
54
|
+
inThink = false;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
// No full close tag yet — emit reasoning except a trailing partial of `</think>`.
|
|
58
|
+
const hold = trailingPartialLen(buffer, THINK_CLOSE);
|
|
59
|
+
const emit = buffer.slice(0, buffer.length - hold);
|
|
60
|
+
if (emit.length > 0)
|
|
61
|
+
segments.push({ kind: 'reasoning', text: emit });
|
|
62
|
+
buffer = hold > 0 ? buffer.slice(buffer.length - hold) : '';
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const idx = buffer.indexOf(THINK_OPEN);
|
|
67
|
+
if (idx >= 0) {
|
|
68
|
+
if (idx > 0)
|
|
69
|
+
segments.push({ kind: 'answer', text: buffer.slice(0, idx) });
|
|
70
|
+
buffer = buffer.slice(idx + THINK_OPEN.length);
|
|
71
|
+
inThink = true;
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
// No full open tag yet — emit answer except a trailing partial of `<think>`.
|
|
75
|
+
const hold = trailingPartialLen(buffer, THINK_OPEN);
|
|
76
|
+
const emit = buffer.slice(0, buffer.length - hold);
|
|
77
|
+
if (emit.length > 0)
|
|
78
|
+
segments.push({ kind: 'answer', text: emit });
|
|
79
|
+
buffer = hold > 0 ? buffer.slice(buffer.length - hold) : '';
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return segments;
|
|
84
|
+
}
|
|
85
|
+
function flush() {
|
|
86
|
+
const segments = [];
|
|
87
|
+
if (buffer.length > 0) {
|
|
88
|
+
segments.push({ kind: inThink ? 'reasoning' : 'answer', text: buffer });
|
|
89
|
+
}
|
|
90
|
+
buffer = '';
|
|
91
|
+
inThink = false;
|
|
92
|
+
return segments;
|
|
93
|
+
}
|
|
94
|
+
return { push, flush };
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* TUI-C22 — pick this chunk's reasoning delta, broadening capture beyond the single historical
|
|
98
|
+
* source without disturbing it. Precedence, and why:
|
|
99
|
+
* 1. `additional_kwargs.reasoning_content` — the DeepSeek/vLLM/Anthropic convention the pipeline
|
|
100
|
+
* already read; returned verbatim so that happy path is byte-for-byte unchanged.
|
|
101
|
+
* 2. A top-level `reasoning` lifted from the raw provider response (OpenRouter convention). The
|
|
102
|
+
* `ChatOpenAI` completions converter drops `reasoning`, so it is only reachable when the model
|
|
103
|
+
* was built with `__includeRawResponse` (see `providers/openrouter.ts`), which stashes the raw
|
|
104
|
+
* response under `additional_kwargs.__raw_response` — streaming deltas expose it at
|
|
105
|
+
* `choices[0].delta.reasoning`, a whole message at `choices[0].message.reasoning`.
|
|
106
|
+
* 3. A defensive direct `additional_kwargs.reasoning` (some integrations may surface it there).
|
|
107
|
+
* Only consulted when `reasoning_content` is absent, so the two never double-emit.
|
|
108
|
+
*/
|
|
109
|
+
function pickReasoningDelta(kwargs, isChunk) {
|
|
110
|
+
if (!kwargs)
|
|
111
|
+
return '';
|
|
112
|
+
const reasoningContent = kwargs.reasoning_content;
|
|
113
|
+
if (typeof reasoningContent === 'string' && reasoningContent.length > 0) {
|
|
114
|
+
return reasoningContent;
|
|
115
|
+
}
|
|
116
|
+
const raw = kwargs.__raw_response;
|
|
117
|
+
const choice = raw?.choices?.[0];
|
|
118
|
+
const fromRaw = isChunk ? choice?.delta?.reasoning : choice?.message?.reasoning;
|
|
119
|
+
if (typeof fromRaw === 'string' && fromRaw.length > 0)
|
|
120
|
+
return fromRaw;
|
|
121
|
+
const direct = kwargs.reasoning;
|
|
122
|
+
if (typeof direct === 'string' && direct.length > 0)
|
|
123
|
+
return direct;
|
|
124
|
+
return '';
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* TUI-C29 — return a chunk fit for `concat`-aggregation with OpenRouter's raw response stripped.
|
|
128
|
+
*
|
|
129
|
+
* The openrouter provider enables `__includeRawResponse` (TUI-C22), which stashes the *full* raw
|
|
130
|
+
* provider response under `additional_kwargs.__raw_response` so {@link pickReasoningDelta} can lift
|
|
131
|
+
* a top-level `reasoning` delta the ChatOpenAI converter otherwise drops. Reasoning is only ever
|
|
132
|
+
* read off the **per-chunk** `additional_kwargs`, never off the aggregate — yet `AIMessageChunk.concat`
|
|
133
|
+
* deep-merges `additional_kwargs` (`_mergeDicts`), so leaving `__raw_response` on the chunk makes the
|
|
134
|
+
* aggregate accumulate a linearly-growing, unused copy of it for the whole stream.
|
|
135
|
+
*
|
|
136
|
+
* Strip it on a **shallow clone** so the ORIGINAL chunk the reasoning path reads (line ~697) stays
|
|
137
|
+
* untouched (approach A — no mutation of the stream-owned object). The clone preserves the chunk's
|
|
138
|
+
* prototype (so it keeps a working `.concat` when it becomes the first aggregate) and every field
|
|
139
|
+
* `concat` reads (content, tool_call_chunks, tool_calls, response_metadata, usage_metadata, id),
|
|
140
|
+
* overriding only `additional_kwargs`. When the key is absent (every non-OpenRouter provider) the
|
|
141
|
+
* chunk is returned as-is, so those paths are byte-for-byte unchanged.
|
|
142
|
+
*/
|
|
143
|
+
export function stripRawResponseForAggregation(chunk) {
|
|
144
|
+
const kwargs = chunk.additional_kwargs;
|
|
145
|
+
if (!kwargs || !('__raw_response' in kwargs))
|
|
146
|
+
return chunk;
|
|
147
|
+
const rest = { ...kwargs };
|
|
148
|
+
delete rest.__raw_response;
|
|
149
|
+
const clone = Object.create(Object.getPrototypeOf(chunk));
|
|
150
|
+
Object.assign(clone, chunk);
|
|
151
|
+
clone.additional_kwargs = rest;
|
|
152
|
+
return clone;
|
|
153
|
+
}
|
|
10
154
|
/**
|
|
11
155
|
* Shared, graph-agnostic agent plumbing.
|
|
12
156
|
*
|
|
@@ -47,6 +191,19 @@ export class GthAbstractAgent {
|
|
|
47
191
|
};
|
|
48
192
|
this.resolvers = resolvers;
|
|
49
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* GS2-63 — emit one line of the technical run-header preamble (the Workdir/Model/Tools/Middleware
|
|
196
|
+
* block) UNLESS it is opted out via `output.header: false`. The opt-out only ever reaches here in
|
|
197
|
+
* non-TUI text modes: the interactive TUI forces `output.header` on before init (see
|
|
198
|
+
* `createTuiSession`), and the TUI event path never goes through the interrupt-hint site, so the
|
|
199
|
+
* whole preamble stays visible there. Only INFO header lines route through this — real model/tool
|
|
200
|
+
* output, warnings and errors keep using {@link statusUpdate} directly.
|
|
201
|
+
*/
|
|
202
|
+
headerStatus(message) {
|
|
203
|
+
if (this.config?.output?.header === false)
|
|
204
|
+
return;
|
|
205
|
+
this.statusUpdate(StatusLevel.INFO, message);
|
|
206
|
+
}
|
|
50
207
|
/**
|
|
51
208
|
* GS2-16 — clear the per-run analytics tally so the next turn starts from zero. The runner
|
|
52
209
|
* calls this at each turn boundary because it (and this agent) are reused across turns in an
|
|
@@ -208,7 +365,11 @@ export class GthAbstractAgent {
|
|
|
208
365
|
if (!abortController.signal.aborted) {
|
|
209
366
|
abortController.abort();
|
|
210
367
|
}
|
|
211
|
-
}, this.config.canInterruptInferenceWithEsc
|
|
368
|
+
}, this.config.canInterruptInferenceWithEsc,
|
|
369
|
+
// GS2-63: the interrupt hint is part of the run-header preamble. Suppress the hint box (while
|
|
370
|
+
// still arming the Esc/Q handler) when the header is opted out. This site only runs in the
|
|
371
|
+
// non-TUI text path (`streamFromInput`); the TUI event path never reaches it.
|
|
372
|
+
this.config.output?.header !== false);
|
|
212
373
|
let stream;
|
|
213
374
|
try {
|
|
214
375
|
stream = await this.agent.stream(input, {
|
|
@@ -433,6 +594,33 @@ export class GthAbstractAgent {
|
|
|
433
594
|
let aggregatedAIChunk = null;
|
|
434
595
|
let reasoningOpen = false;
|
|
435
596
|
const flushed = new Set();
|
|
597
|
+
// TUI-C22 — one splitter for the whole stream so a <think> opened in one chunk and closed
|
|
598
|
+
// several chunks later is tracked across the boundary. Reset at message boundaries via flush().
|
|
599
|
+
const thinkSplitter = createThinkTagSplitter();
|
|
600
|
+
// TUI-C22 — emit ordered answer/reasoning segments, opening/closing the reasoning block as the
|
|
601
|
+
// kind switches. Shares `reasoningOpen` with the reasoning_content path so the two compose
|
|
602
|
+
// (a reasoning_content delta then think-derived reasoning stays one open block; answer text
|
|
603
|
+
// closes it), preserving the exact existing event sequence when no <think> tags are present.
|
|
604
|
+
function* emitSegments(segments) {
|
|
605
|
+
for (const seg of segments) {
|
|
606
|
+
if (seg.text.length === 0)
|
|
607
|
+
continue;
|
|
608
|
+
if (seg.kind === 'reasoning') {
|
|
609
|
+
if (!reasoningOpen) {
|
|
610
|
+
reasoningOpen = true;
|
|
611
|
+
yield { type: 'reasoning_start' };
|
|
612
|
+
}
|
|
613
|
+
yield { type: 'reasoning_delta', delta: seg.text };
|
|
614
|
+
}
|
|
615
|
+
else {
|
|
616
|
+
if (reasoningOpen) {
|
|
617
|
+
reasoningOpen = false;
|
|
618
|
+
yield { type: 'reasoning_end' };
|
|
619
|
+
}
|
|
620
|
+
yield { type: 'text', delta: seg.text };
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
436
624
|
function* flushAggregated() {
|
|
437
625
|
if (!aggregatedAIChunk)
|
|
438
626
|
return;
|
|
@@ -465,40 +653,39 @@ export class GthAbstractAgent {
|
|
|
465
653
|
// run tally so the TUI turn can record real token/tool data. Fail-soft.
|
|
466
654
|
this.recordRunStats(chunk);
|
|
467
655
|
if (AIMessageChunk.isInstance(chunk)) {
|
|
468
|
-
|
|
469
|
-
//
|
|
470
|
-
//
|
|
471
|
-
//
|
|
472
|
-
const
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
656
|
+
// TUI-C29 — aggregate a raw-response-stripped clone. OpenRouter's `__raw_response`
|
|
657
|
+
// (read per-chunk below at pickReasoningDelta, never off the aggregate) would otherwise
|
|
658
|
+
// deep-merge into the aggregate on every concat and grow linearly for the whole stream.
|
|
659
|
+
// The original `chunk` stays untouched so the reasoning + <think> paths read it verbatim.
|
|
660
|
+
const chunkForAggregation = stripRawResponseForAggregation(chunk);
|
|
661
|
+
aggregatedAIChunk = aggregatedAIChunk
|
|
662
|
+
? aggregatedAIChunk.concat(chunkForAggregation)
|
|
663
|
+
: chunkForAggregation;
|
|
664
|
+
// Reasoning deltas — historically Ollama (Qwen3, deepseek-r1) and Anthropic surface
|
|
665
|
+
// thinking in additional_kwargs.reasoning_content; TUI-C22 additionally lifts a top-level
|
|
666
|
+
// `reasoning` from the raw response (OpenRouter) when reasoning_content is absent. Stream
|
|
667
|
+
// it as a separate event series so clients can render it apart from the answer.
|
|
668
|
+
const reasoningDelta = pickReasoningDelta(chunk.additional_kwargs, true);
|
|
669
|
+
if (reasoningDelta.length > 0) {
|
|
670
|
+
yield* emitSegments([{ kind: 'reasoning', text: reasoningDelta }]);
|
|
479
671
|
}
|
|
480
|
-
// Yield text incrementally — use this chunk's text (delta), not the
|
|
481
|
-
//
|
|
672
|
+
// Yield text incrementally — use this chunk's text (delta), not the aggregated content
|
|
673
|
+
// which is cumulative. TUI-C22 routes it through the think splitter so inline
|
|
674
|
+
// <think>...</think> (buffered across chunks) is peeled into the reasoning channel and
|
|
675
|
+
// stripped from the answer; text with no think tags passes straight through unchanged.
|
|
482
676
|
if (chunk.text) {
|
|
483
|
-
|
|
484
|
-
reasoningOpen = false;
|
|
485
|
-
yield { type: 'reasoning_end' };
|
|
486
|
-
}
|
|
487
|
-
yield { type: 'text', delta: chunk.text };
|
|
677
|
+
yield* emitSegments(thinkSplitter.push(chunk.text));
|
|
488
678
|
}
|
|
489
679
|
}
|
|
490
680
|
else if (AIMessage.isInstance(chunk)) {
|
|
491
681
|
// Reasoning on a non-chunk AIMessage — a non-streamed / resumed thinking message
|
|
492
682
|
// (e.g. a checkpoint replay) still carries its thinking in
|
|
493
|
-
// additional_kwargs.reasoning_content
|
|
494
|
-
//
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
yield { type: 'reasoning_start' };
|
|
500
|
-
}
|
|
501
|
-
yield { type: 'reasoning_delta', delta: reasoningContent };
|
|
683
|
+
// additional_kwargs.reasoning_content (or, TUI-C22, a top-level `reasoning` on the raw
|
|
684
|
+
// response message). Mirror the AIMessageChunk branch and emit the same reasoning event
|
|
685
|
+
// series, otherwise the thought is silently dropped (TUI-C15).
|
|
686
|
+
const reasoningContent = pickReasoningDelta(chunk.additional_kwargs, false);
|
|
687
|
+
if (reasoningContent.length > 0) {
|
|
688
|
+
yield* emitSegments([{ kind: 'reasoning', text: reasoningContent }]);
|
|
502
689
|
}
|
|
503
690
|
// Non-chunk AIMessage (e.g. on resumed runs) carries final tool_calls
|
|
504
691
|
// directly; merge them into the aggregate so flushAggregated emits them.
|
|
@@ -510,14 +697,18 @@ export class GthAbstractAgent {
|
|
|
510
697
|
aggregatedAIChunk = aggregatedAIChunk ? aggregatedAIChunk.concat(synthetic) : synthetic;
|
|
511
698
|
}
|
|
512
699
|
if (chunk.text) {
|
|
513
|
-
|
|
514
|
-
reasoningOpen = false;
|
|
515
|
-
yield { type: 'reasoning_end' };
|
|
516
|
-
}
|
|
517
|
-
yield { type: 'text', delta: chunk.text };
|
|
700
|
+
yield* emitSegments(thinkSplitter.push(chunk.text));
|
|
518
701
|
}
|
|
702
|
+
// A non-chunk AIMessage is a COMPLETE message, not a delta — drain any residual now
|
|
703
|
+
// (an unterminated <think> becomes reasoning, a dangling partial becomes answer) so its
|
|
704
|
+
// buffered state never leaks into a subsequent message (TUI-C22).
|
|
705
|
+
yield* emitSegments(thinkSplitter.flush());
|
|
519
706
|
}
|
|
520
707
|
if (chunk instanceof ToolMessage) {
|
|
708
|
+
// TUI-C22 — drain buffered think text (emitting its segments, which may open/close
|
|
709
|
+
// reasoning) BEFORE closing the reasoning block, so a trailing reasoning slice can't land
|
|
710
|
+
// after reasoning_end or be dropped. A tool round ends the assistant message, so reset.
|
|
711
|
+
yield* emitSegments(thinkSplitter.flush());
|
|
521
712
|
if (reasoningOpen) {
|
|
522
713
|
reasoningOpen = false;
|
|
523
714
|
yield { type: 'reasoning_end' };
|
|
@@ -540,6 +731,9 @@ export class GthAbstractAgent {
|
|
|
540
731
|
};
|
|
541
732
|
}
|
|
542
733
|
}
|
|
734
|
+
// TUI-C22 — drain any buffered think text at stream end (an unterminated <think> surfaces as
|
|
735
|
+
// reasoning, a dangling partial as answer) before closing the reasoning block.
|
|
736
|
+
yield* emitSegments(thinkSplitter.flush());
|
|
543
737
|
// Close any still-open reasoning block before flushing tool calls.
|
|
544
738
|
if (reasoningOpen) {
|
|
545
739
|
yield { type: 'reasoning_end' };
|