@gaunt-sloth/agent 2.0.0-beta.4 → 2.0.0-beta.6
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 +6 -1
- package/cli.js +93 -6
- package/dist/middleware/binaryContentInjectionMiddleware.js +6 -1
- package/dist/middleware/binaryContentInjectionMiddleware.js.map +1 -1
- package/dist/middleware/frontendImageInjectionMiddleware.d.ts +52 -25
- package/dist/middleware/frontendImageInjectionMiddleware.js +91 -13
- package/dist/middleware/frontendImageInjectionMiddleware.js.map +1 -1
- package/dist/middleware/registry.js +14 -12
- package/dist/middleware/registry.js.map +1 -1
- package/dist/modules/acp/acpAgentApp.js +5 -0
- package/dist/modules/acp/acpAgentApp.js.map +1 -1
- package/dist/modules/acp/acpAgentAppV1.js +5 -0
- package/dist/modules/acp/acpAgentAppV1.js.map +1 -1
- package/dist/modules/acp/acpCommon.d.ts +6 -14
- package/dist/modules/acp/acpCommon.js +6 -16
- package/dist/modules/acp/acpCommon.js.map +1 -1
- package/dist/modules/apiAgUiModule.js +7 -0
- package/dist/modules/apiAgUiModule.js.map +1 -1
- package/dist/modules/interactiveSessionModule.d.ts +10 -1
- package/dist/modules/interactiveSessionModule.js +224 -41
- package/dist/modules/interactiveSessionModule.js.map +1 -1
- package/dist/modules/sessionResume.d.ts +123 -0
- package/dist/modules/sessionResume.js +268 -0
- package/dist/modules/sessionResume.js.map +1 -0
- package/dist/modules/slashCommands.d.ts +142 -0
- package/dist/modules/slashCommands.js +352 -15
- package/dist/modules/slashCommands.js.map +1 -1
- package/dist/modules/workspace.d.ts +24 -0
- package/dist/modules/workspace.js +27 -0
- package/dist/modules/workspace.js.map +1 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -44,7 +44,12 @@ not expose it to public networks. Port and CORS come from `commands.api.*` in th
|
|
|
44
44
|
## Binaries
|
|
45
45
|
|
|
46
46
|
- **`gaunt-sloth-api`** — starts the AG-UI server standalone (the code above as a command):
|
|
47
|
-
`gaunt-sloth-api
|
|
47
|
+
`gaunt-sloth-api ag-ui --port 4000 --config ./.gsloth.config.json`. `ag-ui` is the only api-type
|
|
48
|
+
and is the default, so the bare `gaunt-sloth-api` is the same command. The port is taken from
|
|
49
|
+
`--port`, else `commands.api.port`, else 3000; a `--config` path that does not exist ends the run
|
|
50
|
+
with an error rather than falling back to the config discovered from the working directory. Full
|
|
51
|
+
reference:
|
|
52
|
+
[the api ag-ui command](https://github.com/pukeko-robotics/gaunt-sloth/blob/main/docs/COMMANDS.md#api-ag-ui).
|
|
48
53
|
- **`gaunt-sloth-acp`** — serves the [Agent Client Protocol](https://agentclientprotocol.com/) over
|
|
49
54
|
stdio, for an editor that spawns the agent as a subprocess. Serves **both ACP v1 and ACP v2**,
|
|
50
55
|
choosing the version from the host's own `initialize`. Takes no arguments, and roots the session
|
package/cli.js
CHANGED
|
@@ -1,23 +1,110 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* Usage: gaunt-sloth-api [api-type]
|
|
4
|
+
* CLI for gaunt-sloth-api.
|
|
5
|
+
* Usage: gaunt-sloth-api [api-type] [--port <port>] [--config <path>]
|
|
6
6
|
*
|
|
7
7
|
* Starts an API server. Currently supports 'ag-ui' type.
|
|
8
|
+
*
|
|
9
|
+
* Port precedence is the flag, then `commands.api.port` from the config file, then 3000. `--config`
|
|
10
|
+
* names the configuration outright: it reaches `initConfig` as `customConfigPath`, which skips
|
|
11
|
+
* discovery from the working directory and raises when the named file is not there. A named config
|
|
12
|
+
* that is not readable is a refusal and never a fallback — falling back hands the caller a working
|
|
13
|
+
* server running a configuration they did not ask for, and says nothing about it (CFG-62).
|
|
14
|
+
*
|
|
15
|
+
* Parsing is `node:util`'s `parseArgs` rather than commander: commander is a devDependency of the
|
|
16
|
+
* workspace root and not of this package, so importing it here would ship an undeclared dependency
|
|
17
|
+
* to anyone who installs `@gaunt-sloth/agent`.
|
|
18
|
+
*
|
|
19
|
+
* `strict: true`, so an unrecognised flag stops the boot. A flag nothing reads is indistinguishable
|
|
20
|
+
* from a flag that works, which is the failure this door exists to prevent, so it has to be refused
|
|
21
|
+
* out loud rather than accepted and dropped. `--help` is the other half of that: a bin that rejects
|
|
22
|
+
* an unknown flag has to be able to say which ones it knows.
|
|
8
23
|
*/
|
|
9
24
|
|
|
25
|
+
import { parseArgs } from 'node:util';
|
|
10
26
|
import { initConfig } from '@gaunt-sloth/core/config.js';
|
|
11
27
|
import { startAgUiServer } from '#src/modules/apiAgUiModule.js';
|
|
12
28
|
import { displayError, displayInfo } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
13
29
|
|
|
14
|
-
|
|
15
|
-
const
|
|
30
|
+
/** The port used when neither `--port` nor `commands.api.port` says otherwise. */
|
|
31
|
+
const DEFAULT_PORT = 3000;
|
|
32
|
+
|
|
33
|
+
const USAGE = `Usage: gaunt-sloth-api [api-type] [--port <port>] [--config <path>]
|
|
34
|
+
|
|
35
|
+
Starts an API server. The only api-type is 'ag-ui', which is also the default.
|
|
36
|
+
|
|
37
|
+
Options:
|
|
38
|
+
--port <port> Port to listen on (1-65535).
|
|
39
|
+
-c, --config <path> Path to a configuration file. The file must exist; naming one skips
|
|
40
|
+
discovery from the working directory rather than falling back to it.
|
|
41
|
+
-h, --help Show this message.
|
|
42
|
+
|
|
43
|
+
Port precedence: --port, then commands.api.port from the config file, then ${DEFAULT_PORT}.
|
|
44
|
+
|
|
45
|
+
Examples:
|
|
46
|
+
$ gaunt-sloth-api
|
|
47
|
+
$ gaunt-sloth-api ag-ui --port 4000
|
|
48
|
+
$ gaunt-sloth-api ag-ui --port 4000 --config ./.gsloth.config.json`;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Read `--port` as a port number, or exit 1 naming what was passed.
|
|
52
|
+
*
|
|
53
|
+
* A validating parse rather than `parseInt`: `parseInt('abc', 10)` is `NaN` and `listen(NaN)`
|
|
54
|
+
* binds an arbitrary free port, which would replace the dropped flag this node fixes with a
|
|
55
|
+
* different silent wrong answer.
|
|
56
|
+
*/
|
|
57
|
+
function parsePort(raw) {
|
|
58
|
+
const port = /^\d+$/.test(raw) ? Number(raw) : Number.NaN;
|
|
59
|
+
if (!Number.isInteger(port) || port < 1 || port > 65535) {
|
|
60
|
+
displayError(`Invalid --port "${raw}". Expected an integer between 1 and 65535.`);
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
return port;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** Parse argv, or exit 1 with the parser's own message and the usage text. */
|
|
67
|
+
function parseCliArgs() {
|
|
68
|
+
try {
|
|
69
|
+
return parseArgs({
|
|
70
|
+
args: process.argv.slice(2),
|
|
71
|
+
allowPositionals: true,
|
|
72
|
+
strict: true,
|
|
73
|
+
options: {
|
|
74
|
+
port: { type: 'string' },
|
|
75
|
+
config: { type: 'string', short: 'c' },
|
|
76
|
+
help: { type: 'boolean', short: 'h' },
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
} catch (err) {
|
|
80
|
+
displayError(err instanceof Error ? err.message : String(err));
|
|
81
|
+
displayInfo(USAGE);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
16
85
|
|
|
17
86
|
async function main() {
|
|
87
|
+
const { values, positionals } = parseCliArgs();
|
|
88
|
+
|
|
89
|
+
if (values.help) {
|
|
90
|
+
displayInfo(USAGE);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const apiType = positionals[0] || 'ag-ui';
|
|
95
|
+
const portFromFlag = values.port === undefined ? undefined : parsePort(values.port);
|
|
96
|
+
|
|
18
97
|
try {
|
|
19
|
-
|
|
20
|
-
|
|
98
|
+
// `customConfigPath` is what makes `--config` mean anything: the loader resolves that file
|
|
99
|
+
// outright instead of walking up from the working directory, and raises a
|
|
100
|
+
// ConfigDiscoveryError naming the path when it does not exist. That error lands in the catch
|
|
101
|
+
// below, so an unreadable `--config` exits non-zero with the path in the message instead of
|
|
102
|
+
// silently running the discovered config. The check is the loader's, not a second one here.
|
|
103
|
+
const config = await initConfig({ customConfigPath: values.config });
|
|
104
|
+
|
|
105
|
+
// Precedence: the flag, then the config file, then the default. A flag the caller typed on
|
|
106
|
+
// this run is the most specific statement of intent there is, so it wins over both.
|
|
107
|
+
const port = portFromFlag ?? config.commands?.api?.port ?? DEFAULT_PORT;
|
|
21
108
|
|
|
22
109
|
if (apiType === 'ag-ui') {
|
|
23
110
|
displayInfo('Starting AG-UI API server...');
|
|
@@ -106,7 +106,12 @@ export function createBinaryContentInjectionMiddleware(settings, _gthConfig) {
|
|
|
106
106
|
// Images go through the per-provider builder so OpenAI reasoning models (Responses API,
|
|
107
107
|
// GS2-74) get a valid `image_url` block instead of the standard `source_type` data block,
|
|
108
108
|
// which @langchain/openai mis-serialises to an invalid Responses image part (GS2-75).
|
|
109
|
-
// file/video/audio keep the standard block
|
|
109
|
+
// file/video/audio keep the standard block. NOT because that is correct everywhere —
|
|
110
|
+
// measured 2026-09-03 (CFG-45), xAI's Responses converter rewrites every part it does
|
|
111
|
+
// not recognise to `{type:'input_text', text:''}`, so these are silently destroyed
|
|
112
|
+
// there exactly as a wrong-shaped image was. They keep it because there is no better
|
|
113
|
+
// block to emit: xAI's union offers only `input_file{file_id}` and gth has no upload
|
|
114
|
+
// path to produce that id. Needs its own node; do not read this line as "these are fine".
|
|
110
115
|
const contentBlock = binaryData.formatType === 'image'
|
|
111
116
|
? imageBlockFor(provider, binaryData.media_type, binaryData.data)
|
|
112
117
|
: createContentBlock(binaryData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binaryContentInjectionMiddleware.js","sourceRoot":"","sources":["../../src/middleware/binaryContentInjectionMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,gBAAgB,EAAwB,MAAM,WAAW,CAAC;AACnE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAoBpF;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,OAAO;YACL,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YACxB,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YACxB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;SACrB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA+B;IACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,UAAU;QACrB,IAAI;QACJ,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;SACzC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,MAAM,GAA2B;QACrC,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACF,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,QAAkD,EAClD,UAAqB;IAErB,QAAQ,CAAC,8CAA8C,CAAC,CAAC;IAEzD,uFAAuF;IACvF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEzC,OAAO,OAAO,CAAC,OAAO,CACpB,gBAAgB,CAAC;QACf,IAAI,EAAE,0BAA0B;QAEhC,6EAA6E;QAC7E,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;YAEtC,gDAAgD;YAChD,MAAM,cAAc,GAAqE,EAAE,CAAC;YAE5F,uEAAuE;YACvE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxB,IACE,GAAG,YAAY,WAAW;oBAC1B,GAAG,CAAC,IAAI,KAAK,iBAAiB;oBAC9B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAC/B,CAAC;oBACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACtD,IAAI,aAAa,EAAE,CAAC;wBAClB,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,aAAa,cAAc,CAAC,MAAM,sCAAsC,CAAC,CAAC;gBAEnF,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAElC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,cAAc,EAAE,CAAC;oBAC5C,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC1D,wFAAwF;oBACxF,0FAA0F;oBAC1F,sFAAsF;oBACtF,
|
|
1
|
+
{"version":3,"file":"binaryContentInjectionMiddleware.js","sourceRoot":"","sources":["../../src/middleware/binaryContentInjectionMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,9 @@ export interface FrontendImageInjectionOptions {
|
|
|
22
22
|
* Provider selecting the vision-block shape. Derived by the registry factory from
|
|
23
23
|
* `gthConfig.modelProviderType` (the raw `llm.type`), falling back to `llm._llmType()`. One of
|
|
24
24
|
* gth's provider strings (`anthropic`, `openai`, `openrouter`, `deepseek`, `xai`, `groq`,
|
|
25
|
-
* `ollama`, `google-genai`, `vertexai`, `huggingface`, …)
|
|
26
|
-
*
|
|
25
|
+
* `ollama`, `google-genai`, `vertexai`, `huggingface`, …) or a model class's own `_llmType()`
|
|
26
|
+
* label, which is a different namespace and need not coincide with any of them (`google`,
|
|
27
|
+
* `xai-responses`); unknown values fall to the standard base64 block.
|
|
27
28
|
*/
|
|
28
29
|
provider: string;
|
|
29
30
|
/**
|
|
@@ -38,13 +39,46 @@ export interface FrontendImageInjectionOptions {
|
|
|
38
39
|
* - **ollama** → `{ type:'image_url', image_url:'<data-URL string>' }`. ChatOllama's
|
|
39
40
|
* `convertToOllamaMessages` only handles `image_url` blocks (extractBase64FromDataUrl); the
|
|
40
41
|
* LangChain standard `source_type` block throws "Unsupported content type: image".
|
|
41
|
-
* - **
|
|
42
|
-
*
|
|
43
|
-
*
|
|
42
|
+
* - **`image_url`-consuming converters** (`openai`, `openrouter`, `deepseek`, `xai`, `groq`,
|
|
43
|
+
* `huggingface`, `xai-responses`) → `{ type:'image_url', image_url:{ url:'<data-URL>' } }`.
|
|
44
|
+
* The grouping is by what the converter CONSUMES, not by client family: the first six are
|
|
45
|
+
* served by an OpenAI-compatible Chat Completions API whichever LangChain class fronts them,
|
|
46
|
+
* while `xai-responses` reaches the same block by a different route entirely (below).
|
|
44
47
|
* This native OpenAI shape is correct on BOTH the Completions API AND the Responses API (GS2-74
|
|
45
48
|
* flips reasoning-capable openai models to Responses). A raw `source_type` standard block
|
|
46
49
|
* serialises to an *invalid* image part on the Responses path, so we emit the provider-native
|
|
47
50
|
* shape rather than lean on `@langchain/core`'s (deprecated, internal) auto-conversion.
|
|
51
|
+
* `huggingface` (CFG-45) belongs here by MEASUREMENT, not by "it constructs a `ChatOpenAI`":
|
|
52
|
+
* a fetch-capture probe of the installed `@langchain/openai` (no network — the client's `fetch`
|
|
53
|
+
* was stubbed), built exactly as `providers/huggingface.ts` builds it, showed the request going
|
|
54
|
+
* to `https://router.huggingface.co/v1/chat/completions` — the Completions path, never
|
|
55
|
+
* Responses, since nothing on the HF path sets `useResponsesApi` and the library's own
|
|
56
|
+
* model-name flip matches only OpenAI-specific ids — and `openai@7.6.0`'s
|
|
57
|
+
* `ChatCompletionContentPart` union accepts exactly one image part there: `image_url:{url}`.
|
|
58
|
+
* There is no `input_image` part on that endpoint, so the OpenAI *Responses* shape does not
|
|
59
|
+
* apply. The same probe showed the standard block ALSO arriving as `image_url:{url}` on the
|
|
60
|
+
* Completions path — but only because `@langchain/core`'s `convertToProviderContentBlock` (now
|
|
61
|
+
* `@deprecated`: "Don't use data content blocks") rewrites it, which is precisely the
|
|
62
|
+
* auto-conversion the through-line below refuses to depend on, and which yields a bare, invalid
|
|
63
|
+
* `image_url` part the moment the same block reaches a Responses endpoint.
|
|
64
|
+
* `xai-responses` (CFG-45) is the same emitted block for an UNRELATED reason, and it is the case
|
|
65
|
+
* that shows why this switch exists. It is `ChatXAIResponses._llmType()`, reachable only via
|
|
66
|
+
* `resolveVisionProvider`'s `_llmType()` fallback (gth's own `xai` provider builds `ChatXAI`),
|
|
67
|
+
* and that class extends `BaseChatModel` directly with its OWN converter — no OpenAI client and
|
|
68
|
+
* no `@langchain/core` data-block conversion anywhere on the path. Its human-message branch
|
|
69
|
+
* (`@langchain/xai@1.4.10` `dist/converters/responses.js`) recognises exactly `text` and
|
|
70
|
+
* `image_url` and rewrites every other part to `{ type:'input_text', text:'' }`. A
|
|
71
|
+
* `globalThis.fetch`-capture probe (no network — that class calls the global fetch directly and
|
|
72
|
+
* accepts no injectable client) measured four blocks against `https://api.x.ai/v1/responses`:
|
|
73
|
+
* the standard base64 block arrived as `{"type":"input_text","text":""}` — the image SILENTLY
|
|
74
|
+
* DESTROYED in-process, never rejected — while `image_url:{url}` arrived as the vendor's
|
|
75
|
+
* declared `{"type":"input_image","image_url":"data:…","detail":"auto"}`. Emitting the wire
|
|
76
|
+
* shape `{ type:'input_image', … }` from here was measured too and is destroyed identically:
|
|
77
|
+
* the translation is the converter's to make, so pre-empting it defeats it.
|
|
78
|
+
* Not establishable offline, and stated rather than assumed: whether `api.x.ai` accepts a
|
|
79
|
+
* `data:` URL in `input_image.image_url`, whose vendor type documents it as a public URL. The
|
|
80
|
+
* ruling does not rest on that — the standard block is provably destroyed before any request is
|
|
81
|
+
* built, while this block provably survives into the vendor's own declared image item.
|
|
48
82
|
* - **anthropic** → the provider-native block `{ type:'image', source:{ type:'base64',
|
|
49
83
|
* media_type, data } }`. The LangChain standard block is NOT usable here (RC-32): in
|
|
50
84
|
* `@langchain/anthropic`'s `_formatContentBlocks`, the `isDataContentBlock` branch yields its
|
|
@@ -54,31 +88,34 @@ export interface FrontendImageInjectionOptions {
|
|
|
54
88
|
* defaults to the literal `image/jpeg`. Every frame is therefore sent twice, and a non-JPEG
|
|
55
89
|
* capture 400s outright on the mislabelled copy. The native block is recognised earlier by
|
|
56
90
|
* `_isAnthropicImageBlockParam` and passed through untouched, exactly once.
|
|
57
|
-
* - **google-genai
|
|
58
|
-
*
|
|
59
|
-
*
|
|
91
|
+
* - **Gemini** (`google-genai`, `vertexai`, and the `google` label both of them report from
|
|
92
|
+
* `_llmType()`) → the LangChain standard base64 data content block
|
|
93
|
+
* `{ type:'image', source_type:'base64', mime_type, data }`, which those native converters
|
|
94
|
+
* decode directly.
|
|
95
|
+
* - **anything else** → the same standard block, as a last-resort fallback rather than as a
|
|
96
|
+
* Gemini alias (see the `default` arm below).
|
|
60
97
|
*
|
|
61
98
|
* The through-line: emit what the target provider's converter consumes natively rather than lean on
|
|
62
99
|
* a generic auto-conversion — the same lesson as GS2-75 on the OpenAI Responses path.
|
|
63
100
|
*
|
|
64
|
-
*
|
|
101
|
+
* Exported so each provider branch can be unit-tested directly; its only effect beyond the returned
|
|
102
|
+
* block is one debug-log line on the fallback arm.
|
|
65
103
|
*/
|
|
66
104
|
export declare function imageBlockFor(provider: string, mimeType: string, data: string): {
|
|
105
|
+
type: 'image';
|
|
106
|
+
source_type: 'base64';
|
|
107
|
+
mime_type: string;
|
|
108
|
+
data: string;
|
|
109
|
+
} | {
|
|
67
110
|
type: 'image_url';
|
|
68
111
|
image_url: string;
|
|
69
112
|
source?: undefined;
|
|
70
|
-
source_type?: undefined;
|
|
71
|
-
mime_type?: undefined;
|
|
72
|
-
data?: undefined;
|
|
73
113
|
} | {
|
|
74
114
|
type: 'image_url';
|
|
75
115
|
image_url: {
|
|
76
116
|
url: string;
|
|
77
117
|
};
|
|
78
118
|
source?: undefined;
|
|
79
|
-
source_type?: undefined;
|
|
80
|
-
mime_type?: undefined;
|
|
81
|
-
data?: undefined;
|
|
82
119
|
} | {
|
|
83
120
|
image_url?: undefined;
|
|
84
121
|
type: 'image';
|
|
@@ -87,16 +124,6 @@ export declare function imageBlockFor(provider: string, mimeType: string, data:
|
|
|
87
124
|
media_type: string;
|
|
88
125
|
data: string;
|
|
89
126
|
};
|
|
90
|
-
source_type?: undefined;
|
|
91
|
-
mime_type?: undefined;
|
|
92
|
-
data?: undefined;
|
|
93
|
-
} | {
|
|
94
|
-
image_url?: undefined;
|
|
95
|
-
source?: undefined;
|
|
96
|
-
type: 'image';
|
|
97
|
-
source_type: 'base64';
|
|
98
|
-
mime_type: string;
|
|
99
|
-
data: string;
|
|
100
127
|
};
|
|
101
128
|
/**
|
|
102
129
|
* Create the frontend-image-injection middleware.
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { createMiddleware } from 'langchain';
|
|
18
18
|
import { HumanMessage, isToolMessage } from '@langchain/core/messages';
|
|
19
|
+
import { debugLog } from '@gaunt-sloth/core/utils/debugUtils.js';
|
|
19
20
|
/** Default frontend capture tool name. Overridable via the `toolName` middleware setting. */
|
|
20
21
|
export const DEFAULT_CAPTURE_TOOL_NAME = 'capture_image';
|
|
21
22
|
/**
|
|
@@ -24,13 +25,46 @@ export const DEFAULT_CAPTURE_TOOL_NAME = 'capture_image';
|
|
|
24
25
|
* - **ollama** → `{ type:'image_url', image_url:'<data-URL string>' }`. ChatOllama's
|
|
25
26
|
* `convertToOllamaMessages` only handles `image_url` blocks (extractBase64FromDataUrl); the
|
|
26
27
|
* LangChain standard `source_type` block throws "Unsupported content type: image".
|
|
27
|
-
* - **
|
|
28
|
-
*
|
|
29
|
-
*
|
|
28
|
+
* - **`image_url`-consuming converters** (`openai`, `openrouter`, `deepseek`, `xai`, `groq`,
|
|
29
|
+
* `huggingface`, `xai-responses`) → `{ type:'image_url', image_url:{ url:'<data-URL>' } }`.
|
|
30
|
+
* The grouping is by what the converter CONSUMES, not by client family: the first six are
|
|
31
|
+
* served by an OpenAI-compatible Chat Completions API whichever LangChain class fronts them,
|
|
32
|
+
* while `xai-responses` reaches the same block by a different route entirely (below).
|
|
30
33
|
* This native OpenAI shape is correct on BOTH the Completions API AND the Responses API (GS2-74
|
|
31
34
|
* flips reasoning-capable openai models to Responses). A raw `source_type` standard block
|
|
32
35
|
* serialises to an *invalid* image part on the Responses path, so we emit the provider-native
|
|
33
36
|
* shape rather than lean on `@langchain/core`'s (deprecated, internal) auto-conversion.
|
|
37
|
+
* `huggingface` (CFG-45) belongs here by MEASUREMENT, not by "it constructs a `ChatOpenAI`":
|
|
38
|
+
* a fetch-capture probe of the installed `@langchain/openai` (no network — the client's `fetch`
|
|
39
|
+
* was stubbed), built exactly as `providers/huggingface.ts` builds it, showed the request going
|
|
40
|
+
* to `https://router.huggingface.co/v1/chat/completions` — the Completions path, never
|
|
41
|
+
* Responses, since nothing on the HF path sets `useResponsesApi` and the library's own
|
|
42
|
+
* model-name flip matches only OpenAI-specific ids — and `openai@7.6.0`'s
|
|
43
|
+
* `ChatCompletionContentPart` union accepts exactly one image part there: `image_url:{url}`.
|
|
44
|
+
* There is no `input_image` part on that endpoint, so the OpenAI *Responses* shape does not
|
|
45
|
+
* apply. The same probe showed the standard block ALSO arriving as `image_url:{url}` on the
|
|
46
|
+
* Completions path — but only because `@langchain/core`'s `convertToProviderContentBlock` (now
|
|
47
|
+
* `@deprecated`: "Don't use data content blocks") rewrites it, which is precisely the
|
|
48
|
+
* auto-conversion the through-line below refuses to depend on, and which yields a bare, invalid
|
|
49
|
+
* `image_url` part the moment the same block reaches a Responses endpoint.
|
|
50
|
+
* `xai-responses` (CFG-45) is the same emitted block for an UNRELATED reason, and it is the case
|
|
51
|
+
* that shows why this switch exists. It is `ChatXAIResponses._llmType()`, reachable only via
|
|
52
|
+
* `resolveVisionProvider`'s `_llmType()` fallback (gth's own `xai` provider builds `ChatXAI`),
|
|
53
|
+
* and that class extends `BaseChatModel` directly with its OWN converter — no OpenAI client and
|
|
54
|
+
* no `@langchain/core` data-block conversion anywhere on the path. Its human-message branch
|
|
55
|
+
* (`@langchain/xai@1.4.10` `dist/converters/responses.js`) recognises exactly `text` and
|
|
56
|
+
* `image_url` and rewrites every other part to `{ type:'input_text', text:'' }`. A
|
|
57
|
+
* `globalThis.fetch`-capture probe (no network — that class calls the global fetch directly and
|
|
58
|
+
* accepts no injectable client) measured four blocks against `https://api.x.ai/v1/responses`:
|
|
59
|
+
* the standard base64 block arrived as `{"type":"input_text","text":""}` — the image SILENTLY
|
|
60
|
+
* DESTROYED in-process, never rejected — while `image_url:{url}` arrived as the vendor's
|
|
61
|
+
* declared `{"type":"input_image","image_url":"data:…","detail":"auto"}`. Emitting the wire
|
|
62
|
+
* shape `{ type:'input_image', … }` from here was measured too and is destroyed identically:
|
|
63
|
+
* the translation is the converter's to make, so pre-empting it defeats it.
|
|
64
|
+
* Not establishable offline, and stated rather than assumed: whether `api.x.ai` accepts a
|
|
65
|
+
* `data:` URL in `input_image.image_url`, whose vendor type documents it as a public URL. The
|
|
66
|
+
* ruling does not rest on that — the standard block is provably destroyed before any request is
|
|
67
|
+
* built, while this block provably survives into the vendor's own declared image item.
|
|
34
68
|
* - **anthropic** → the provider-native block `{ type:'image', source:{ type:'base64',
|
|
35
69
|
* media_type, data } }`. The LangChain standard block is NOT usable here (RC-32): in
|
|
36
70
|
* `@langchain/anthropic`'s `_formatContentBlocks`, the `isDataContentBlock` branch yields its
|
|
@@ -40,17 +74,27 @@ export const DEFAULT_CAPTURE_TOOL_NAME = 'capture_image';
|
|
|
40
74
|
* defaults to the literal `image/jpeg`. Every frame is therefore sent twice, and a non-JPEG
|
|
41
75
|
* capture 400s outright on the mislabelled copy. The native block is recognised earlier by
|
|
42
76
|
* `_isAnthropicImageBlockParam` and passed through untouched, exactly once.
|
|
43
|
-
* - **google-genai
|
|
44
|
-
*
|
|
45
|
-
*
|
|
77
|
+
* - **Gemini** (`google-genai`, `vertexai`, and the `google` label both of them report from
|
|
78
|
+
* `_llmType()`) → the LangChain standard base64 data content block
|
|
79
|
+
* `{ type:'image', source_type:'base64', mime_type, data }`, which those native converters
|
|
80
|
+
* decode directly.
|
|
81
|
+
* - **anything else** → the same standard block, as a last-resort fallback rather than as a
|
|
82
|
+
* Gemini alias (see the `default` arm below).
|
|
46
83
|
*
|
|
47
84
|
* The through-line: emit what the target provider's converter consumes natively rather than lean on
|
|
48
85
|
* a generic auto-conversion — the same lesson as GS2-75 on the OpenAI Responses path.
|
|
49
86
|
*
|
|
50
|
-
*
|
|
87
|
+
* Exported so each provider branch can be unit-tested directly; its only effect beyond the returned
|
|
88
|
+
* block is one debug-log line on the fallback arm.
|
|
51
89
|
*/
|
|
52
90
|
export function imageBlockFor(provider, mimeType, data) {
|
|
53
91
|
const dataUrl = `data:${mimeType};base64,${data}`;
|
|
92
|
+
const standardBlock = {
|
|
93
|
+
type: 'image',
|
|
94
|
+
source_type: 'base64',
|
|
95
|
+
mime_type: mimeType,
|
|
96
|
+
data,
|
|
97
|
+
};
|
|
54
98
|
switch (provider) {
|
|
55
99
|
case 'ollama':
|
|
56
100
|
return { type: 'image_url', image_url: dataUrl };
|
|
@@ -59,21 +103,55 @@ export function imageBlockFor(provider, mimeType, data) {
|
|
|
59
103
|
case 'deepseek':
|
|
60
104
|
case 'xai':
|
|
61
105
|
case 'groq':
|
|
106
|
+
case 'huggingface':
|
|
107
|
+
// `xai-responses` (CFG-45) shares the emitted BLOCK with the group above but not its reason, so
|
|
108
|
+
// it is listed apart. `ChatXAIResponses` is not an OpenAI-compatible client at all — it extends
|
|
109
|
+
// `BaseChatModel` directly and ships its own converter, which consumes an `image_url` part and
|
|
110
|
+
// rewrites it to the vendor's `input_image` wire item itself. Emitting `input_image` here would
|
|
111
|
+
// NOT short-circuit that translation; it would defeat it (measurement in the docblock above).
|
|
112
|
+
case 'xai-responses':
|
|
62
113
|
return { type: 'image_url', image_url: { url: dataUrl } };
|
|
63
114
|
case 'anthropic':
|
|
64
115
|
return {
|
|
65
116
|
type: 'image',
|
|
66
117
|
source: { type: 'base64', media_type: mimeType, data },
|
|
67
118
|
};
|
|
119
|
+
// The Gemini labels are enumerated DELIBERATELY, and separately from `default` below. CFG-45:
|
|
120
|
+
// while `default` doubled as the Gemini arm, every provider string nobody had enumerated was
|
|
121
|
+
// served a Gemini-shaped block silently — which is how `huggingface` sat on the wrong shape
|
|
122
|
+
// unnoticed. `google` is what BOTH gth Gemini providers' `_llmType()` reports (each builds
|
|
123
|
+
// `@langchain/google`'s `ChatGoogle`), and it is the label `resolveVisionProvider` falls back to
|
|
124
|
+
// for a module config, so it is enumerated here rather than left to the fallback.
|
|
68
125
|
case 'google-genai':
|
|
69
126
|
case 'vertexai':
|
|
127
|
+
case 'google':
|
|
128
|
+
return standardBlock;
|
|
129
|
+
// CFG-45 ruling — `default` STAYS a permissive fallback and must not throw. `provider` is
|
|
130
|
+
// `resolveVisionProvider`'s output, which is `''` whenever a module config supplies an already-
|
|
131
|
+
// built LLM whose `_llmType()` is missing or throws, and the binary-content-injection middleware
|
|
132
|
+
// documents that `''` means "emit the standard base64 block". Throwing would turn a
|
|
133
|
+
// possibly-suboptimal block into a hard failure on configurations that work today, and the
|
|
134
|
+
// caller (a `beforeModel` hook) has no way to recover. What it adds is a TRACE: an unrecognised
|
|
135
|
+
// non-empty label is written to `debugLog`, so the next wrong-shaped block is discoverable in a
|
|
136
|
+
// `/debug-dump` instead of only by reading the switch. That is not the same as "no longer
|
|
137
|
+
// silent" — `debugLog` is a ring buffer a user never sees unless they go looking, so a user
|
|
138
|
+
// hitting this still sees nothing wrong.
|
|
139
|
+
// The `xai-responses` case STRENGTHENS this ruling rather than revising it. That label can only
|
|
140
|
+
// arrive from a module config building an arbitrary LangChain class, so the population reaching
|
|
141
|
+
// this arm INCLUDES one whose `_llmType()` labels are unenumerable by construction — the
|
|
142
|
+
// population a throw would break. Not "exactly": a JSON config can also reach here with an
|
|
143
|
+
// arbitrary `llm.type` (`availableDefaultConfigs` does not gate the loader), which is one grep
|
|
144
|
+
// away from disproving a stronger claim. What generalises instead is the failure MODE the probe found:
|
|
145
|
+
// an unrecognised part is not rejected by a converter, it is quietly rewritten to an empty text
|
|
146
|
+
// part, so a wrong block costs a silent blind answer rather than an error anyone would see.
|
|
147
|
+
// That is what this log line exists to leave a trace of.
|
|
70
148
|
default:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
149
|
+
if (provider) {
|
|
150
|
+
debugLog(`imageBlockFor: provider "${provider}" is not enumerated; emitting the standard base64 ` +
|
|
151
|
+
`image block. If its converter does not decode that block natively, add a MEASURED ` +
|
|
152
|
+
`case for it (CFG-45) rather than one by analogy.`);
|
|
153
|
+
}
|
|
154
|
+
return standardBlock;
|
|
77
155
|
}
|
|
78
156
|
}
|
|
79
157
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontendImageInjectionMiddleware.js","sourceRoot":"","sources":["../../src/middleware/frontendImageInjectionMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,gBAAgB,EAAwB,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"frontendImageInjectionMiddleware.js","sourceRoot":"","sources":["../../src/middleware/frontendImageInjectionMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,19 +17,21 @@ import { createFrontendImageInjectionMiddleware } from '#src/middleware/frontend
|
|
|
17
17
|
* — and falls back to the live model's `_llmType()` only when it is absent (module configs).
|
|
18
18
|
* `_llmType()` is the model class's own label rather than the gth provider namespace, so the two
|
|
19
19
|
* only mostly agree. Where they do: `openrouter`/`deepseek`/`xai`/`groq`/`ollama`/`anthropic` each
|
|
20
|
-
* report their own name, which `imageBlockFor` matches directly
|
|
21
|
-
* `google`, which
|
|
22
|
-
* `
|
|
20
|
+
* report their own name, which `imageBlockFor` matches directly; both Gemini providers report
|
|
21
|
+
* `google`, which `imageBlockFor` enumerates alongside `google-genai`/`vertexai` for the same
|
|
22
|
+
* standard block; and `huggingface` reports `openai`, which since CFG-45 selects the same
|
|
23
|
+
* OpenAI-native `image_url:{url}` block its configured `type` now does, so either path agrees.
|
|
23
24
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
25
|
+
* One label does not agree, and this fallback is the only path it can arrive on: `ChatXAIResponses`
|
|
26
|
+
* reports `xai-responses`. gth's own `xai` provider only ever constructs `ChatXAI`, and a JSON
|
|
27
|
+
* `llm.type` of `xai-responses` cannot load (the loader imports `#src/providers/<type>.js`, and no
|
|
28
|
+
* such module exists), so this label reaches `imageBlockFor` only from a module config that builds
|
|
29
|
+
* the Responses class itself — which is exactly why `modelProviderType` is unset there and this
|
|
30
|
+
* fallback runs. CFG-45 measured it and `imageBlockFor` now enumerates it alongside the
|
|
31
|
+
* `image_url`-consuming converters: `ChatXAIResponses` ships its own converter, which turns an
|
|
32
|
+
* `image_url` part into the vendor's `input_image` item and silently rewrites anything else to an
|
|
33
|
+
* empty text part. Any label still NOT enumerated there gets the standard block and a debug-log
|
|
34
|
+
* line. Do not add a branch by analogy — measure it, as CFG-45 did for both of these.
|
|
33
35
|
*/
|
|
34
36
|
function resolveVisionProvider(gthConfig) {
|
|
35
37
|
if (gthConfig.modelProviderType)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/middleware/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EACL,gCAAgC,EAChC,uBAAuB,GAExB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,sCAAsC,GAEvC,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,sCAAsC,EAAE,MAAM,qDAAqD,CAAC;AAO7G
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/middleware/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -384,6 +384,11 @@ export function createAcpAgentApp(options = {}) {
|
|
|
384
384
|
// graphs suspended in it, and `sessions` holds several at once; one shared saver would pool
|
|
385
385
|
// every session's checkpoint threads, so a `session/close` could clear state another
|
|
386
386
|
// session is still parked on.
|
|
387
|
+
//
|
|
388
|
+
// GS2-20 — considered for the durable saver and deliberately left in memory for now. An ACP
|
|
389
|
+
// session is a conversation a user would want to resume, so this surface WILL take it; the
|
|
390
|
+
// work is the ACP client's own session/load handshake rather than a swap of this argument,
|
|
391
|
+
// and it is [[EXT-134]]'s, not GS2-20's.
|
|
387
392
|
await runner.init(resolveAcpSessionCommand(config), config, new MemorySaver());
|
|
388
393
|
const sessionId = randomUUID();
|
|
389
394
|
sessions.set(sessionId, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acpAgentApp.js","sourceRoot":"","sources":["../../../src/modules/acp/acpAgentApp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acpAgentApp.js","sourceRoot":"","sources":["../../../src/modules/acp/acpAgentApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -328,6 +328,11 @@ export function createAcpV1AgentApp(options = {}) {
|
|
|
328
328
|
// graphs suspended in it, and `sessions` holds several at once; one shared saver would pool
|
|
329
329
|
// every session's checkpoint threads, so a `session/close` could clear state another
|
|
330
330
|
// session is still parked on.
|
|
331
|
+
//
|
|
332
|
+
// GS2-20 — considered for the durable saver and deliberately left in memory for now. An ACP
|
|
333
|
+
// session is a conversation a user would want to resume, so this surface WILL take it; the
|
|
334
|
+
// work is the ACP client's own session/load handshake rather than a swap of this argument,
|
|
335
|
+
// and it is [[EXT-134]]'s, not GS2-20's.
|
|
331
336
|
await runner.init(resolveAcpSessionCommand(config), config, new MemorySaver());
|
|
332
337
|
const sessionId = randomUUID();
|
|
333
338
|
sessions.set(sessionId, {
|