@gaunt-sloth/agent 2.0.0-alpha.4 → 2.0.0-alpha.40
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 +73 -23
- package/cli-acp.js +21 -24
- package/dist/builtInToolsConfig.d.ts +17 -3
- package/dist/builtInToolsConfig.js +43 -41
- package/dist/builtInToolsConfig.js.map +1 -1
- package/dist/core/debugCapture.d.ts +7 -49
- package/dist/core/debugCapture.js +1 -1
- package/dist/core/debugCapture.js.map +1 -1
- package/dist/core/resolveAgentFactory.d.ts +15 -0
- package/dist/core/resolveAgentFactory.js +17 -0
- package/dist/core/resolveAgentFactory.js.map +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp/OAuthClientProviderImpl.js.map +1 -1
- package/dist/mcp/tlsTrust.d.ts +61 -0
- package/dist/mcp/tlsTrust.js +109 -0
- package/dist/mcp/tlsTrust.js.map +1 -0
- package/dist/middleware/binaryContentInjectionMiddleware.d.ts +8 -1
- package/dist/middleware/binaryContentInjectionMiddleware.js +11 -2
- package/dist/middleware/binaryContentInjectionMiddleware.js.map +1 -1
- package/dist/middleware/frontendImageInjectionMiddleware.d.ts +107 -0
- package/dist/middleware/frontendImageInjectionMiddleware.js +167 -0
- package/dist/middleware/frontendImageInjectionMiddleware.js.map +1 -0
- package/dist/middleware/registry.js +49 -1
- package/dist/middleware/registry.js.map +1 -1
- package/dist/middleware/types.d.ts +16 -2
- package/dist/modules/a2a/A2AClientWrapper.d.ts +56 -1
- package/dist/modules/a2a/A2AClientWrapper.js +131 -31
- package/dist/modules/a2a/A2AClientWrapper.js.map +1 -1
- package/dist/modules/acp/acpAgentApp.d.ts +57 -0
- package/dist/modules/acp/acpAgentApp.js +378 -0
- package/dist/modules/acp/acpAgentApp.js.map +1 -0
- package/dist/modules/acp/acpAgentAppV1.d.ts +52 -0
- package/dist/modules/acp/acpAgentAppV1.js +307 -0
- package/dist/modules/acp/acpAgentAppV1.js.map +1 -0
- package/dist/modules/acp/acpCommon.d.ts +167 -0
- package/dist/modules/acp/acpCommon.js +282 -0
- package/dist/modules/acp/acpCommon.js.map +1 -0
- package/dist/modules/acp/acpPermissions.d.ts +65 -0
- package/dist/modules/acp/acpPermissions.js +162 -0
- package/dist/modules/acp/acpPermissions.js.map +1 -0
- package/dist/modules/acp/acpPermissionsV1.d.ts +45 -0
- package/dist/modules/acp/acpPermissionsV1.js +110 -0
- package/dist/modules/acp/acpPermissionsV1.js.map +1 -0
- package/dist/modules/acp/acpRouter.d.ts +41 -0
- package/dist/modules/acp/acpRouter.js +48 -0
- package/dist/modules/acp/acpRouter.js.map +1 -0
- package/dist/modules/acp/acpStdio.d.ts +47 -0
- package/dist/modules/acp/acpStdio.js +71 -0
- package/dist/modules/acp/acpStdio.js.map +1 -0
- package/dist/modules/acp/acpToolCalls.d.ts +93 -0
- package/dist/modules/acp/acpToolCalls.js +193 -0
- package/dist/modules/acp/acpToolCalls.js.map +1 -0
- package/dist/modules/acp/acpUpdates.d.ts +48 -0
- package/dist/modules/acp/acpUpdates.js +142 -0
- package/dist/modules/acp/acpUpdates.js.map +1 -0
- package/dist/modules/acp/acpUpdatesV1.d.ts +61 -0
- package/dist/modules/acp/acpUpdatesV1.js +162 -0
- package/dist/modules/acp/acpUpdatesV1.js.map +1 -0
- package/dist/modules/apiAgUiModule.d.ts +87 -0
- package/dist/modules/apiAgUiModule.js +225 -32
- package/dist/modules/apiAgUiModule.js.map +1 -1
- package/dist/modules/interactiveSessionModule.js +524 -50
- package/dist/modules/interactiveSessionModule.js.map +1 -1
- package/dist/modules/slashCommands.d.ts +582 -0
- package/dist/modules/slashCommands.js +1001 -0
- package/dist/modules/slashCommands.js.map +1 -0
- package/dist/resolvers.js +119 -9
- package/dist/resolvers.js.map +1 -1
- package/dist/tools/GthCustomToolkit.js +95 -11
- package/dist/tools/GthCustomToolkit.js.map +1 -1
- package/dist/tools/GthDevToolkit.d.ts +9 -33
- package/dist/tools/GthDevToolkit.js +94 -73
- package/dist/tools/GthDevToolkit.js.map +1 -1
- package/dist/tools/GthFileSystemToolkit.d.ts +63 -0
- package/dist/tools/GthFileSystemToolkit.js +506 -105
- package/dist/tools/GthFileSystemToolkit.js.map +1 -1
- package/dist/tools/McpResourceTool.d.ts +31 -0
- package/dist/tools/McpResourceTool.js +106 -0
- package/dist/tools/McpResourceTool.js.map +1 -0
- package/dist/tools/gthChecklistTool.d.ts +30 -0
- package/dist/tools/gthChecklistTool.js +80 -0
- package/dist/tools/gthChecklistTool.js.map +1 -0
- package/dist/tools/gthGrepTool.d.ts +54 -0
- package/dist/tools/gthGrepTool.js +482 -0
- package/dist/tools/gthGrepTool.js.map +1 -0
- package/dist/tools/shell/env.js +1 -1
- package/dist/tools/shell/env.js.map +1 -1
- package/dist/tools/shell/outputBuffer.js.map +1 -1
- package/dist/tools/shell/workDir.d.ts +2 -0
- package/dist/tools/shell/workDir.js +19 -0
- package/dist/tools/shell/workDir.js.map +1 -0
- package/dist/utils/mcpAuthError.d.ts +36 -0
- package/dist/utils/mcpAuthError.js +89 -0
- package/dist/utils/mcpAuthError.js.map +1 -0
- package/dist/utils/mcpUtils.js +16 -0
- package/dist/utils/mcpUtils.js.map +1 -1
- package/package.json +12 -12
- package/dist/core/GthDeepAgent.d.ts +0 -151
- package/dist/core/GthDeepAgent.js +0 -604
- package/dist/core/GthDeepAgent.js.map +0 -1
- package/dist/core/deepAgentPermissions.d.ts +0 -73
- package/dist/core/deepAgentPermissions.js +0 -161
- package/dist/core/deepAgentPermissions.js.map +0 -1
- package/dist/core/gthAcpServer.d.ts +0 -27
- package/dist/core/gthAcpServer.js +0 -71
- package/dist/core/gthAcpServer.js.map +0 -1
- package/dist/core/gthDeepAgentFactory.d.ts +0 -8
- package/dist/core/gthDeepAgentFactory.js +0 -9
- package/dist/core/gthDeepAgentFactory.js.map +0 -1
- package/dist/modules/acpModule.d.ts +0 -40
- package/dist/modules/acpModule.js +0 -70
- package/dist/modules/acpModule.js.map +0 -1
- package/dist/tools/shell/allowlist.d.ts +0 -11
- package/dist/tools/shell/allowlist.js +0 -12
- package/dist/tools/shell/allowlist.js.map +0 -1
- package/dist/tools/shell/arity.d.ts +0 -11
- package/dist/tools/shell/arity.js +0 -12
- package/dist/tools/shell/arity.js.map +0 -1
- package/dist/tools/shell/hardline.d.ts +0 -15
- package/dist/tools/shell/hardline.js +0 -88
- package/dist/tools/shell/hardline.js.map +0 -1
- package/dist/tools/shell/normalize.d.ts +0 -10
- package/dist/tools/shell/normalize.js +0 -11
- package/dist/tools/shell/normalize.js.map +0 -1
|
@@ -2,9 +2,10 @@ import express from 'express';
|
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { EventEncoder } from '@ag-ui/encoder';
|
|
4
4
|
import { EventType } from '@ag-ui/core';
|
|
5
|
-
import {
|
|
5
|
+
import { GthLangChainAgent } from '@gaunt-sloth/core/core/GthLangChainAgent.js';
|
|
6
6
|
import { defaultStatusCallback, displayInfo, displayWarning, } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
7
7
|
import { getNewRunnableConfig } from '@gaunt-sloth/core/utils/llmUtils.js';
|
|
8
|
+
import { textToNativeToolCalls } from '@gaunt-sloth/core/core/toolCallRepair/index.js';
|
|
8
9
|
import { HumanMessage, AIMessage, SystemMessage, ToolMessage } from '@langchain/core/messages';
|
|
9
10
|
import { MemorySaver } from '@langchain/langgraph';
|
|
10
11
|
import { tool } from '@langchain/core/tools';
|
|
@@ -96,9 +97,20 @@ function parseToolArguments(raw, toolName) {
|
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
|
-
* Convert AG-UI message format to LangChain BaseMessage
|
|
100
|
+
* Convert AG-UI message format to LangChain BaseMessage.
|
|
101
|
+
*
|
|
102
|
+
* `allowedToolNames` is the set of tool names bound to this run (config.tools + any run-input
|
|
103
|
+
* client tools). It gates EXT-35 plain-text tool-call repair on the assistant branch: an incoming
|
|
104
|
+
* assistant message with NO native `toolCalls` whose content is a STANDALONE text-emitted call
|
|
105
|
+
* (bracket / `<function=…>` / Harmony — the dialects small/local models produce) is promoted to a
|
|
106
|
+
* native tool_call so a replayed history turn is a real tool call rather than inert prose. An empty
|
|
107
|
+
* (or absent) allow-list promotes nothing — the prose-safe default. This runs alongside
|
|
108
|
+
* {@link parseToolArguments} (which rescues malformed args on an ALREADY-native tool_call).
|
|
109
|
+
*
|
|
110
|
+
* EXT-43: `options.allowTextCallPromotion` (default `true`) lets a caller suppress promotion for a
|
|
111
|
+
* single message; {@link convertMessages} uses it to leave a DANGLING history call as text.
|
|
100
112
|
*/
|
|
101
|
-
function convertMessage(msg) {
|
|
113
|
+
export function convertMessage(msg, allowedToolNames, options) {
|
|
102
114
|
const content = typeof msg.content === 'string' ? msg.content : '';
|
|
103
115
|
switch (msg.role) {
|
|
104
116
|
case 'user':
|
|
@@ -115,17 +127,113 @@ function convertMessage(msg) {
|
|
|
115
127
|
})),
|
|
116
128
|
});
|
|
117
129
|
}
|
|
130
|
+
// EXT-35: no native tool_calls — a small/local model may have emitted the call as assistant
|
|
131
|
+
// TEXT. Promote a standalone text-emitted call (gated by the bound-tool allow-list + payload
|
|
132
|
+
// cap + standalone-only) to a native tool_call; otherwise fall through to plain text.
|
|
133
|
+
// EXT-43: `allowTextCallPromotion === false` (a dangling history call) short-circuits the
|
|
134
|
+
// promotion so the message stays plain text.
|
|
135
|
+
const repairedToolCalls = options?.allowTextCallPromotion !== false && allowedToolNames && allowedToolNames.size > 0
|
|
136
|
+
? textToNativeToolCalls(content, { allowedToolNames })
|
|
137
|
+
: undefined;
|
|
138
|
+
if (repairedToolCalls) {
|
|
139
|
+
return new AIMessage({ content: '', tool_calls: repairedToolCalls });
|
|
140
|
+
}
|
|
118
141
|
return new AIMessage(content);
|
|
119
142
|
}
|
|
120
143
|
case 'system':
|
|
121
144
|
case 'developer':
|
|
122
145
|
return new SystemMessage(content);
|
|
123
146
|
case 'tool':
|
|
124
|
-
return new ToolMessage({
|
|
147
|
+
return new ToolMessage({
|
|
148
|
+
content,
|
|
149
|
+
tool_call_id: msg.toolCallId || msg.id,
|
|
150
|
+
...(options?.toolName ? { name: options.toolName } : {}),
|
|
151
|
+
});
|
|
125
152
|
default:
|
|
126
153
|
return new HumanMessage(content);
|
|
127
154
|
}
|
|
128
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Convert a whole AG-UI history array to LangChain messages, applying TWO symmetric replay guards
|
|
158
|
+
* so a poisoned history can never abort every subsequent turn on the thread.
|
|
159
|
+
*
|
|
160
|
+
* EXT-43 (forward, dangling-CALL): EXT-35's per-message promotion is unconditional, which is correct
|
|
161
|
+
* for a call that WILL be executed this turn. But when replaying HISTORY, promoting a STALLED text
|
|
162
|
+
* call (one the client recorded but that never ran) yields an `AIMessage` with `tool_calls` and NO
|
|
163
|
+
* following `tool_result` — a shape a strict provider (Anthropic) 400s on, where the pre-EXT-35
|
|
164
|
+
* plain text was valid. So promotion is allowed ONLY when the assistant message is immediately
|
|
165
|
+
* followed by a `tool` result message; a dangling call stays plain text (`allowTextCallPromotion:
|
|
166
|
+
* false`).
|
|
167
|
+
*
|
|
168
|
+
* RC-18 (backward, orphan-RESULT): the mirror image. A replayed `role:'tool'` message whose matching
|
|
169
|
+
* `tool_call` id is absent from EVERY PRECEDING assistant message is an ORPHAN — converting it to a
|
|
170
|
+
* `ToolMessage` yields a tool result with no preceding `AIMessage.tool_calls`, which the same strict
|
|
171
|
+
* provider 400s on (`Invalid parameter: messages with role 'tool' must be a response to a preceding
|
|
172
|
+
* message with 'tool_calls'`, INVALID_TOOL_RESULTS). Such orphans arise when a terminal
|
|
173
|
+
* (`returnDirect`) tool call's result is reconstructed by the client without its parenting assistant
|
|
174
|
+
* `tool_call`. We DROP the orphan (match on tool_call_id, NOT adjacency; keep genuine pairs; do NOT
|
|
175
|
+
* fabricate a synthetic call — mirroring EXT-43's demote-don't-invent spirit). Ids are accumulated
|
|
176
|
+
* in iteration order, so a result whose matching call appears only LATER is still an orphan.
|
|
177
|
+
*
|
|
178
|
+
* RC-32 (tool NAME restoration): the AG-UI wire message for a `tool` result carries `toolCallId`
|
|
179
|
+
* but no tool name, so a naively-converted `ToolMessage` has none — and every middleware that
|
|
180
|
+
* inspects results by name is blind to it. `frontend-image-injection` keys on
|
|
181
|
+
* `msg.name === 'capture_image'`, so a captured photo reached the model on the resume turn (where
|
|
182
|
+
* the graph builds the ToolMessage itself, with a name) and then vanished from every later turn,
|
|
183
|
+
* leaving the model to answer questions about a picture it could no longer see. The name is
|
|
184
|
+
* recoverable from the parenting assistant `tool_call`, which this function already walks for the
|
|
185
|
+
* RC-18 guard, so it is resolved there and stamped back on.
|
|
186
|
+
*
|
|
187
|
+
* The live middleware path (`GthLangChainAgent`, fixing the CURRENT turn) is unaffected — the two
|
|
188
|
+
* guards and the name restoration are history-replay only.
|
|
189
|
+
*/
|
|
190
|
+
export function convertMessages(messages, allowedToolNames) {
|
|
191
|
+
// tool_call id → tool NAME, for calls emitted by PRECEDING assistant messages, accumulated as we
|
|
192
|
+
// iterate in order. Membership is the RC-18 orphan test (a `tool` result whose tool_call_id is
|
|
193
|
+
// absent has no preceding assistant tool_call); the name is what RC-32 stamps back onto the
|
|
194
|
+
// replayed ToolMessage, since the AG-UI wire format carries the id but not the name.
|
|
195
|
+
const seenToolCalls = new Map();
|
|
196
|
+
const converted = [];
|
|
197
|
+
messages.forEach((msg, index) => {
|
|
198
|
+
// RC-18 backward orphan-RESULT guard.
|
|
199
|
+
if (msg.role === 'tool') {
|
|
200
|
+
const toolCallId = msg.toolCallId || msg.id;
|
|
201
|
+
if (!seenToolCalls.has(toolCallId)) {
|
|
202
|
+
displayWarning(`Dropping orphan tool result (tool_call_id ${JSON.stringify(toolCallId)}) with no ` +
|
|
203
|
+
'preceding assistant tool_call in the replayed history; converting it would 400 the ' +
|
|
204
|
+
'provider (INVALID_TOOL_RESULTS).');
|
|
205
|
+
return; // drop — do not convert to a ToolMessage
|
|
206
|
+
}
|
|
207
|
+
converted.push(convertMessage(msg, allowedToolNames, { toolName: seenToolCalls.get(toolCallId) }));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
// Record this assistant's native tool_call ids BEFORE any following tool result is checked, so
|
|
211
|
+
// a genuine call→result pair (id present on a preceding assistant) survives the guard above.
|
|
212
|
+
if (msg.role === 'assistant' && msg.toolCalls) {
|
|
213
|
+
for (const tc of msg.toolCalls) {
|
|
214
|
+
if (tc?.id)
|
|
215
|
+
seenToolCalls.set(tc.id, tc.function?.name);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// EXT-43 forward dangling-CALL guard (PRESERVED, unchanged).
|
|
219
|
+
const followedByToolResult = messages[index + 1]?.role === 'tool';
|
|
220
|
+
converted.push(convertMessage(msg, allowedToolNames, {
|
|
221
|
+
allowTextCallPromotion: followedByToolResult,
|
|
222
|
+
}));
|
|
223
|
+
});
|
|
224
|
+
return converted;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Construct the AG-UI agent for the configured backend (B5).
|
|
228
|
+
*
|
|
229
|
+
* There is one backend, the lean {@link GthLangChainAgent}, so `agent.backend` selects nothing
|
|
230
|
+
* here. The return type stays the shared {@link GthAbstractAgent} base — the
|
|
231
|
+
* `.init`/`.streamWithEvents`/`.streamWithEventsResume` surface used below — so a second backend
|
|
232
|
+
* would slot in without touching the server.
|
|
233
|
+
*/
|
|
234
|
+
function createConfiguredAgent(_cfg) {
|
|
235
|
+
return new GthLangChainAgent(defaultStatusCallback, createResolvers());
|
|
236
|
+
}
|
|
129
237
|
export async function startAgUiServer(config, port) {
|
|
130
238
|
const app = express();
|
|
131
239
|
app.use(express.json({ limit: '5mb' }));
|
|
@@ -148,7 +256,7 @@ export async function startAgUiServer(config, port) {
|
|
|
148
256
|
// Note this would need a refactoring if it is to be used for a public web server,
|
|
149
257
|
// For connecting local WEB to local CLI agent, this is absolutely OK, since one thread is OK.
|
|
150
258
|
const checkpointSaver = new MemorySaver();
|
|
151
|
-
const agent =
|
|
259
|
+
const agent = createConfiguredAgent(config);
|
|
152
260
|
await agent.init('api', config, checkpointSaver);
|
|
153
261
|
displayInfo(`AG-UI agent initialized`);
|
|
154
262
|
// C-a (spike): agents that additionally bind the client-declared run-input
|
|
@@ -157,6 +265,39 @@ export async function startAgUiServer(config, port) {
|
|
|
157
265
|
// checkpointer, but the graph shape must match the suspended one. Built lazily
|
|
158
266
|
// on first sighting of a given toolset.
|
|
159
267
|
const toolAgentCache = new Map();
|
|
268
|
+
// The client is the source of truth for history — it re-sends the full message list every turn.
|
|
269
|
+
// The checkpointer is NOT where that history lives; it exists so a graph suspended at an
|
|
270
|
+
// `interrupt()` survives between the run that suspends it and the POST that resumes it.
|
|
271
|
+
//
|
|
272
|
+
// Those two roles cannot share one thread. `add_messages` can only reconcile an incoming message
|
|
273
|
+
// with the checkpoint when the message carries an `id` the checkpoint already knows; a replayed
|
|
274
|
+
// client message has none, so the reducer mints a fresh id and APPENDS. Each turn therefore
|
|
275
|
+
// stacks the whole replayed history on top of the previous turn's checkpoint. For text that is
|
|
276
|
+
// invisible bloat, but once a tool result is in the history the thread is dead: two `tool_result`
|
|
277
|
+
// blocks under one `tool_use` id is the one duplication providers reject outright.
|
|
278
|
+
//
|
|
279
|
+
// So a fresh run gets a fresh checkpoint thread, making the replayed history the sole history —
|
|
280
|
+
// the same rotation `runConversation` performs for the CLI's multi-turn replay — while a resume
|
|
281
|
+
// stays on the thread whose graph is actually suspended. The client's own `threadId` remains the
|
|
282
|
+
// protocol-facing identity reported in RUN_STARTED / RUN_FINISHED; only the checkpoint key
|
|
283
|
+
// rotates.
|
|
284
|
+
const checkpointThreads = new Map();
|
|
285
|
+
function rotateCheckpointThread(clientThreadId) {
|
|
286
|
+
const retired = checkpointThreads.get(clientThreadId);
|
|
287
|
+
const fresh = randomUUID();
|
|
288
|
+
checkpointThreads.set(clientThreadId, fresh);
|
|
289
|
+
// Reclaim the superseded thread so a long-lived local server does not accumulate one dead
|
|
290
|
+
// checkpoint per turn. Housekeeping only — never a reason to fail a run.
|
|
291
|
+
const saver = checkpointSaver;
|
|
292
|
+
if (retired && typeof saver.deleteThread === 'function') {
|
|
293
|
+
// Called from inside the `.then` so a SYNCHRONOUS throw is caught too — invoking it directly
|
|
294
|
+
// would evaluate it before `.catch` is attached and take the request handler down with it.
|
|
295
|
+
void Promise.resolve()
|
|
296
|
+
.then(() => saver.deleteThread?.(retired))
|
|
297
|
+
.catch(() => { });
|
|
298
|
+
}
|
|
299
|
+
return fresh;
|
|
300
|
+
}
|
|
160
301
|
function toolSignature(tools) {
|
|
161
302
|
return JSON.stringify(tools
|
|
162
303
|
.map((t) => [t.name, t.parameters ?? {}])
|
|
@@ -180,7 +321,7 @@ export async function startAgUiServer(config, port) {
|
|
|
180
321
|
...config,
|
|
181
322
|
tools: [...baseTools, ...clientStubs],
|
|
182
323
|
};
|
|
183
|
-
const reqAgent =
|
|
324
|
+
const reqAgent = createConfiguredAgent(reqConfig);
|
|
184
325
|
await reqAgent.init('api', reqConfig, checkpointSaver);
|
|
185
326
|
toolAgentCache.set(sig, reqAgent);
|
|
186
327
|
displayInfo(`AG-UI: bound ${clientStubs.length} client tool(s): ${tools.map((t) => t.name).join(', ')}`);
|
|
@@ -196,6 +337,13 @@ export async function startAgUiServer(config, port) {
|
|
|
196
337
|
// the server's statically-configured agent.
|
|
197
338
|
const hasClientTools = Array.isArray(tools) && tools.length > 0;
|
|
198
339
|
const activeAgent = hasClientTools ? await getAgentForTools(tools) : agent;
|
|
340
|
+
// EXT-35: the names of the tools bound to THIS run (server config.tools + any run-input client
|
|
341
|
+
// tools) — the allow-list for plain-text tool-call repair in convertMessage. Only a text-emitted
|
|
342
|
+
// call naming one of these is promoted to a native tool_call; an empty set promotes nothing.
|
|
343
|
+
const allowedToolNames = new Set([
|
|
344
|
+
...(config.tools ?? []).map((t) => t?.name),
|
|
345
|
+
...(hasClientTools ? tools.map((t) => t.name) : []),
|
|
346
|
+
].filter((name) => Boolean(name)));
|
|
199
347
|
const encoder = new EventEncoder({ accept: req.headers.accept });
|
|
200
348
|
res.setHeader('Content-Type', encoder.getContentType());
|
|
201
349
|
res.setHeader('Cache-Control', 'no-cache');
|
|
@@ -225,15 +373,6 @@ export async function startAgUiServer(config, port) {
|
|
|
225
373
|
runId: effectiveRunId,
|
|
226
374
|
}));
|
|
227
375
|
const messageId = randomUUID();
|
|
228
|
-
// Get runnable config with thread_id for checkpointing. config.recursionLimit
|
|
229
|
-
// (when set by the consumer) caps the agent's super-steps per run.
|
|
230
|
-
const runConfig = {
|
|
231
|
-
...getNewRunnableConfig(config.recursionLimit),
|
|
232
|
-
configurable: { thread_id: effectiveThreadId },
|
|
233
|
-
};
|
|
234
|
-
// Stream the response with typed events
|
|
235
|
-
let textMessageStarted = false;
|
|
236
|
-
let reasoningMessageId = null;
|
|
237
376
|
// C-a (spike): detect CopilotKit's resume shape. CopilotKit fulfils a
|
|
238
377
|
// frontend tool client-side and then RE-RUNS the agent with the full
|
|
239
378
|
// message history, the tool result appended as a trailing `tool` message
|
|
@@ -243,6 +382,55 @@ export async function startAgUiServer(config, port) {
|
|
|
243
382
|
// (instead of starting a fresh run that just re-calls the tool).
|
|
244
383
|
const lastMsg = Array.isArray(messages) && messages.length > 0 ? messages[messages.length - 1] : undefined;
|
|
245
384
|
const isCopilotToolResume = hasClientTools && forwardedProps?.command?.resume === undefined && lastMsg?.role === 'tool';
|
|
385
|
+
const isResume = isCopilotToolResume || forwardedProps?.command?.resume !== undefined;
|
|
386
|
+
// RC-33: the tool results this request's own history already carries. A `TOOL_CALL_RESULT`
|
|
387
|
+
// for one of these must NOT be echoed back — the client is where it came from.
|
|
388
|
+
//
|
|
389
|
+
// The echo is right for a server-side tool: streaming it is the client's only way to learn
|
|
390
|
+
// what the tool returned. It is wrong for a CLIENT-fulfilled (frontend) tool, whose result
|
|
391
|
+
// the client computed, appended to its own history, and posted to us. `@ag-ui/client` does
|
|
392
|
+
// not dedupe on the way back in: its TOOL_CALL_RESULT branch locates the parenting assistant
|
|
393
|
+
// message, walks PAST any tool messages already sitting after it, and splices the echo in
|
|
394
|
+
// unconditionally. The client's history then holds two `tool` messages under one
|
|
395
|
+
// `toolCallId`, it replays both on the next turn, and the provider rejects the pair
|
|
396
|
+
// ("each tool_use must have a single result") — killing every turn after a capture.
|
|
397
|
+
//
|
|
398
|
+
// Keyed on what the client sent us in THIS request rather than on the toolset, so it stays
|
|
399
|
+
// correct without carrying tool-call state between runs, and can never suppress a result the
|
|
400
|
+
// client does not already hold.
|
|
401
|
+
const clientHeldToolResultIds = new Set((Array.isArray(messages) ? messages : [])
|
|
402
|
+
.filter((m) => m?.role === 'tool')
|
|
403
|
+
.map((m) => m.toolCallId || m.id)
|
|
404
|
+
.filter((id) => Boolean(id)));
|
|
405
|
+
// A resume must reach the suspended graph, so it stays on the thread the interrupted run
|
|
406
|
+
// used; anything else is a fresh run and gets a fresh checkpoint thread (see
|
|
407
|
+
// `rotateCheckpointThread`). The fallback covers a resume for which we hold no mapping —
|
|
408
|
+
// a client resuming across a server restart — where the client's own id is the best guess.
|
|
409
|
+
const checkpointThreadId = isResume
|
|
410
|
+
? (checkpointThreads.get(effectiveThreadId) ?? effectiveThreadId)
|
|
411
|
+
: rotateCheckpointThread(effectiveThreadId);
|
|
412
|
+
// Get runnable config with thread_id for checkpointing. config.recursionLimit
|
|
413
|
+
// (when set by the consumer) caps the agent's super-steps per run.
|
|
414
|
+
const runConfig = {
|
|
415
|
+
...getNewRunnableConfig(config.recursionLimit),
|
|
416
|
+
configurable: { thread_id: checkpointThreadId },
|
|
417
|
+
};
|
|
418
|
+
// Stream the response with typed events. Text runs MUST be delimited
|
|
419
|
+
// (START…CONTENT…END) around tool calls and reasoning: the AG-UI client
|
|
420
|
+
// finalizes a text message once a tool call for it begins, so any text that
|
|
421
|
+
// resumes after a TOOL_CALL_START on the SAME messageId is silently dropped
|
|
422
|
+
// (the "swallowed last line before a tool call" bug). Give each contiguous
|
|
423
|
+
// text run its own id and END it before any tool/reasoning event; tool calls
|
|
424
|
+
// parent to the most recent assistant message id. (GS2-22 / RC-10.)
|
|
425
|
+
let textRunId = null;
|
|
426
|
+
let lastAssistantId = messageId;
|
|
427
|
+
let reasoningMessageId = null;
|
|
428
|
+
const endTextRun = () => {
|
|
429
|
+
if (textRunId) {
|
|
430
|
+
res.write(encoder.encode({ type: EventType.TEXT_MESSAGE_END, messageId: textRunId }));
|
|
431
|
+
textRunId = null;
|
|
432
|
+
}
|
|
433
|
+
};
|
|
246
434
|
let eventStream;
|
|
247
435
|
if (isCopilotToolResume) {
|
|
248
436
|
const resumeContent = typeof lastMsg.content === 'string' ? lastMsg.content : JSON.stringify(lastMsg.content);
|
|
@@ -258,42 +446,47 @@ export async function startAgUiServer(config, port) {
|
|
|
258
446
|
? queued
|
|
259
447
|
.map((s) => typeof s === 'string'
|
|
260
448
|
? new HumanMessage(s)
|
|
261
|
-
: convertMessage(s))
|
|
449
|
+
: convertMessage(s, allowedToolNames))
|
|
262
450
|
.filter((m) => Boolean(m))
|
|
263
451
|
: [];
|
|
264
452
|
eventStream = activeAgent.streamWithEventsResume(forwardedProps.command.resume, runConfig, queuedMessages, ac.signal);
|
|
265
453
|
}
|
|
266
454
|
else {
|
|
267
|
-
// The system prompt (backstory + guidelines + mode prompt + identity)
|
|
268
|
-
//
|
|
269
|
-
//
|
|
270
|
-
|
|
455
|
+
// The system prompt (backstory + guidelines + mode prompt + identity) is composed by the
|
|
456
|
+
// agent itself (GthLangChainAgent) and handed to the graph, so it is not prepended here. A
|
|
457
|
+
// separate, non-first SystemMessage would be rejected by Anthropic.
|
|
458
|
+
// EXT-43: convertMessages (not a bare map) applies the dangling-call guard so a stalled
|
|
459
|
+
// text call replayed in history is not promoted to a native tool_call with no result.
|
|
460
|
+
const langChainMessages = convertMessages((messages || []), allowedToolNames);
|
|
271
461
|
eventStream = activeAgent.streamWithEvents(langChainMessages, runConfig, ac.signal);
|
|
272
462
|
}
|
|
273
463
|
for await (const event of eventStream) {
|
|
274
464
|
switch (event.type) {
|
|
275
465
|
case 'text': {
|
|
276
|
-
if (!
|
|
466
|
+
if (!textRunId) {
|
|
467
|
+
textRunId = randomUUID();
|
|
468
|
+
lastAssistantId = textRunId;
|
|
277
469
|
res.write(encoder.encode({
|
|
278
470
|
type: EventType.TEXT_MESSAGE_START,
|
|
279
|
-
messageId,
|
|
471
|
+
messageId: textRunId,
|
|
280
472
|
role: 'assistant',
|
|
281
473
|
}));
|
|
282
|
-
textMessageStarted = true;
|
|
283
474
|
}
|
|
284
475
|
res.write(encoder.encode({
|
|
285
476
|
type: EventType.TEXT_MESSAGE_CONTENT,
|
|
286
|
-
messageId,
|
|
477
|
+
messageId: textRunId,
|
|
287
478
|
delta: event.delta,
|
|
288
479
|
}));
|
|
289
480
|
break;
|
|
290
481
|
}
|
|
291
482
|
case 'tool_start': {
|
|
483
|
+
// Close any open text run first so its final line isn't swallowed.
|
|
484
|
+
endTextRun();
|
|
292
485
|
res.write(encoder.encode({
|
|
293
486
|
type: EventType.TOOL_CALL_START,
|
|
294
487
|
toolCallId: event.id,
|
|
295
488
|
toolCallName: event.name,
|
|
296
|
-
parentMessageId:
|
|
489
|
+
parentMessageId: lastAssistantId,
|
|
297
490
|
}));
|
|
298
491
|
break;
|
|
299
492
|
}
|
|
@@ -313,6 +506,9 @@ export async function startAgUiServer(config, port) {
|
|
|
313
506
|
break;
|
|
314
507
|
}
|
|
315
508
|
case 'tool_result': {
|
|
509
|
+
// RC-33: never hand a result back to the client that the client itself supplied.
|
|
510
|
+
if (clientHeldToolResultIds.has(event.id))
|
|
511
|
+
break;
|
|
316
512
|
res.write(encoder.encode({
|
|
317
513
|
type: EventType.TOOL_CALL_RESULT,
|
|
318
514
|
toolCallId: event.id,
|
|
@@ -323,6 +519,8 @@ export async function startAgUiServer(config, port) {
|
|
|
323
519
|
break;
|
|
324
520
|
}
|
|
325
521
|
case 'reasoning_start': {
|
|
522
|
+
// Close any open text run before a reasoning message begins.
|
|
523
|
+
endTextRun();
|
|
326
524
|
reasoningMessageId = randomUUID();
|
|
327
525
|
res.write(encoder.encode({
|
|
328
526
|
type: EventType.REASONING_MESSAGE_START,
|
|
@@ -353,13 +551,8 @@ export async function startAgUiServer(config, port) {
|
|
|
353
551
|
}
|
|
354
552
|
}
|
|
355
553
|
}
|
|
356
|
-
//
|
|
357
|
-
|
|
358
|
-
res.write(encoder.encode({
|
|
359
|
-
type: EventType.TEXT_MESSAGE_END,
|
|
360
|
-
messageId,
|
|
361
|
-
}));
|
|
362
|
-
}
|
|
554
|
+
// Close any still-open text run at the end of the stream.
|
|
555
|
+
endTextRun();
|
|
363
556
|
// RUN_FINISHED
|
|
364
557
|
res.write(encoder.encode({
|
|
365
558
|
type: EventType.RUN_FINISHED,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiAgUiModule.js","sourceRoot":"","sources":["../../src/modules/apiAgUiModule.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apiAgUiModule.js","sourceRoot":"","sources":["../../src/modules/apiAgUiModule.ts"],"names":[],"mappings":"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"}
|