@qodo/sdk 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/qodo-agent/SKILL.md +233 -3
- package/.claude/skills/qodo-agent/assets/programmatic-agent.ts +74 -1
- package/.claude/skills/qodo-agent/references/common-issues.md +79 -0
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +13 -8
- package/dist/api/agent.js.map +1 -1
- package/dist/api/http.d.ts.map +1 -1
- package/dist/api/http.js +5 -2
- package/dist/api/http.js.map +1 -1
- package/dist/api/websocket.d.ts.map +1 -1
- package/dist/api/websocket.js +6 -3
- package/dist/api/websocket.js.map +1 -1
- package/dist/auth/index.d.ts +18 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +69 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/context/messageManager.d.ts +1 -1
- package/dist/context/messageManager.d.ts.map +1 -1
- package/dist/context/messageManager.js +1 -1
- package/dist/context/messageManager.js.map +1 -1
- package/dist/index.d.ts +21 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/MCPManager.js +2 -2
- package/dist/mcp/MCPManager.js.map +1 -1
- package/dist/mcp/baseServer.js +1 -1
- package/dist/mcp/baseServer.js.map +1 -1
- package/dist/mcp/servers/ripgrep.d.ts.map +1 -1
- package/dist/mcp/servers/ripgrep.js +6 -2
- package/dist/mcp/servers/ripgrep.js.map +1 -1
- package/dist/mcp/servers/shell.js +1 -1
- package/dist/mcp/servers/shell.js.map +1 -1
- package/dist/mcp/serversRegistry.d.ts.map +1 -1
- package/dist/mcp/serversRegistry.js +7 -1
- package/dist/mcp/serversRegistry.js.map +1 -1
- package/dist/mcp/toolProcessor.d.ts +44 -4
- package/dist/mcp/toolProcessor.d.ts.map +1 -1
- package/dist/mcp/toolProcessor.js +255 -20
- package/dist/mcp/toolProcessor.js.map +1 -1
- package/dist/messages/index.d.ts +8 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/messages/index.js +7 -0
- package/dist/messages/index.js.map +1 -0
- package/dist/messages/openai.d.ts +26 -0
- package/dist/messages/openai.d.ts.map +1 -0
- package/dist/messages/openai.js +55 -0
- package/dist/messages/openai.js.map +1 -0
- package/dist/messages/types.d.ts +73 -0
- package/dist/messages/types.d.ts.map +1 -0
- package/dist/messages/types.js +78 -0
- package/dist/messages/types.js.map +1 -0
- package/dist/parser/index.js +3 -3
- package/dist/parser/index.js.map +1 -1
- package/dist/sdk/QodoSDK.d.ts +30 -10
- package/dist/sdk/QodoSDK.d.ts.map +1 -1
- package/dist/sdk/QodoSDK.js +165 -33
- package/dist/sdk/QodoSDK.js.map +1 -1
- package/dist/sdk/artifacts.d.ts +156 -0
- package/dist/sdk/artifacts.d.ts.map +1 -0
- package/dist/sdk/artifacts.js +166 -0
- package/dist/sdk/artifacts.js.map +1 -0
- package/dist/sdk/bootstrap.d.ts.map +1 -1
- package/dist/sdk/bootstrap.js +11 -4
- package/dist/sdk/bootstrap.js.map +1 -1
- package/dist/sdk/discovery.js +1 -1
- package/dist/sdk/discovery.js.map +1 -1
- package/dist/sdk/events.d.ts +46 -1
- package/dist/sdk/events.d.ts.map +1 -1
- package/dist/sdk/events.js +6 -0
- package/dist/sdk/events.js.map +1 -1
- package/dist/sdk/middleware.d.ts +59 -0
- package/dist/sdk/middleware.d.ts.map +1 -0
- package/dist/sdk/middleware.js +69 -0
- package/dist/sdk/middleware.js.map +1 -0
- package/dist/sdk/pipeline/PipelineBuilder.d.ts +61 -0
- package/dist/sdk/pipeline/PipelineBuilder.d.ts.map +1 -0
- package/dist/sdk/pipeline/PipelineBuilder.js +91 -0
- package/dist/sdk/pipeline/PipelineBuilder.js.map +1 -0
- package/dist/sdk/pipeline/PipelineRunner.d.ts +28 -0
- package/dist/sdk/pipeline/PipelineRunner.d.ts.map +1 -0
- package/dist/sdk/pipeline/PipelineRunner.js +210 -0
- package/dist/sdk/pipeline/PipelineRunner.js.map +1 -0
- package/dist/sdk/pipeline/compiler.d.ts +24 -0
- package/dist/sdk/pipeline/compiler.d.ts.map +1 -0
- package/dist/sdk/pipeline/compiler.js +197 -0
- package/dist/sdk/pipeline/compiler.js.map +1 -0
- package/dist/sdk/pipeline/declarative.d.ts +34 -0
- package/dist/sdk/pipeline/declarative.d.ts.map +1 -0
- package/dist/sdk/pipeline/declarative.js +9 -0
- package/dist/sdk/pipeline/declarative.js.map +1 -0
- package/dist/sdk/pipeline/index.d.ts +20 -0
- package/dist/sdk/pipeline/index.d.ts.map +1 -0
- package/dist/sdk/pipeline/index.js +19 -0
- package/dist/sdk/pipeline/index.js.map +1 -0
- package/dist/sdk/pipeline/types.d.ts +75 -0
- package/dist/sdk/pipeline/types.d.ts.map +1 -0
- package/dist/sdk/pipeline/types.js +10 -0
- package/dist/sdk/pipeline/types.js.map +1 -0
- package/dist/sdk/policies.d.ts +163 -0
- package/dist/sdk/policies.d.ts.map +1 -0
- package/dist/sdk/policies.js +243 -0
- package/dist/sdk/policies.js.map +1 -0
- package/dist/sdk/runner/AgentRunner.js +5 -5
- package/dist/sdk/runner/AgentRunner.js.map +1 -1
- package/dist/sdk/runner/finalize.d.ts +47 -0
- package/dist/sdk/runner/finalize.d.ts.map +1 -1
- package/dist/sdk/runner/finalize.js +42 -2
- package/dist/sdk/runner/finalize.js.map +1 -1
- package/dist/sdk/runner/formats.d.ts +1 -1
- package/dist/sdk/runner/formats.d.ts.map +1 -1
- package/dist/sdk/runner/formats.js +22 -37
- package/dist/sdk/runner/formats.js.map +1 -1
- package/dist/sdk/runner/progress.d.ts +1 -1
- package/dist/sdk/runner/progress.d.ts.map +1 -1
- package/dist/sdk/runner/progress.js +1 -1
- package/dist/sdk/runner/progress.js.map +1 -1
- package/dist/session/SessionContext.d.ts +1 -0
- package/dist/session/SessionContext.d.ts.map +1 -1
- package/dist/session/SessionContext.js +3 -0
- package/dist/session/SessionContext.js.map +1 -1
- package/dist/session/environment.d.ts +16 -6
- package/dist/session/environment.d.ts.map +1 -1
- package/dist/session/environment.js.map +1 -1
- package/dist/session/serverData.d.ts.map +1 -1
- package/dist/session/serverData.js +21 -3
- package/dist/session/serverData.js.map +1 -1
- package/dist/tracing/PipelineTracer.d.ts +37 -0
- package/dist/tracing/PipelineTracer.d.ts.map +1 -0
- package/dist/tracing/PipelineTracer.js +64 -0
- package/dist/tracing/PipelineTracer.js.map +1 -0
- package/dist/tracing/SdkTracer.d.ts +91 -0
- package/dist/tracing/SdkTracer.d.ts.map +1 -0
- package/dist/tracing/SdkTracer.js +243 -0
- package/dist/tracing/SdkTracer.js.map +1 -0
- package/dist/tracing/index.d.ts +6 -0
- package/dist/tracing/index.d.ts.map +1 -0
- package/dist/tracing/index.js +3 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/tracing/pipelineHelpers.d.ts +20 -0
- package/dist/tracing/pipelineHelpers.d.ts.map +1 -0
- package/dist/tracing/pipelineHelpers.js +140 -0
- package/dist/tracing/pipelineHelpers.js.map +1 -0
- package/dist/tracing/types.d.ts +46 -0
- package/dist/tracing/types.d.ts.map +1 -0
- package/dist/tracing/types.js +9 -0
- package/dist/tracing/types.js.map +1 -0
- package/package.json +10 -7
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { FilesystemServerEnhanced, TextNotFoundError } from "./servers/filesystem.js";
|
|
2
2
|
import { promises as fs } from "fs";
|
|
3
3
|
import path from "path";
|
|
4
|
+
import { getCurrentEnvironment } from "../session/index.js";
|
|
5
|
+
import { stripProtectedFields, withTimeout, ToolMiddlewareError, MIDDLEWARE_TIMEOUT_MS } from "../sdk/middleware.js";
|
|
6
|
+
const SANITIZE_MAX_LENGTH = 200;
|
|
7
|
+
/**
|
|
8
|
+
* Sanitize a user-controlled argument for safe interpolation into log/display strings.
|
|
9
|
+
* Converts to string, strips control characters, and truncates to a safe length.
|
|
10
|
+
*/
|
|
11
|
+
function sanitizeArg(value) {
|
|
12
|
+
let str = String(value);
|
|
13
|
+
// Remove control characters (< 0x20) except newline (0x0A)
|
|
14
|
+
str = str.replace(/[\x00-\x09\x0B-\x1F]/g, '');
|
|
15
|
+
if (str.length > SANITIZE_MAX_LENGTH) {
|
|
16
|
+
str = str.slice(0, SANITIZE_MAX_LENGTH) + '...';
|
|
17
|
+
}
|
|
18
|
+
return str;
|
|
19
|
+
}
|
|
4
20
|
/**
|
|
5
21
|
* Filesystem tool processor for handling file operations
|
|
6
22
|
*/
|
|
@@ -70,7 +86,7 @@ class FilesystemToolProcessor {
|
|
|
70
86
|
isError: false,
|
|
71
87
|
content: [{
|
|
72
88
|
type: "text",
|
|
73
|
-
text: `[DRY RUN] Would execute filesystem tool '${toolData.tool}' with arguments: ${JSON.stringify(toolData.tool_args, null, 2)}`
|
|
89
|
+
text: `[DRY RUN] Would execute filesystem tool '${sanitizeArg(toolData.tool)}' with arguments: ${JSON.stringify(toolData.tool_args, null, 2)}`
|
|
74
90
|
}]
|
|
75
91
|
};
|
|
76
92
|
}
|
|
@@ -82,64 +98,147 @@ class FilesystemToolProcessor {
|
|
|
82
98
|
}
|
|
83
99
|
/**
|
|
84
100
|
* Central tool processor that manages all tool-specific processors
|
|
101
|
+
* and user-registered middleware hooks.
|
|
85
102
|
*/
|
|
86
103
|
export class ToolProcessorManager {
|
|
87
104
|
processors = new Map();
|
|
105
|
+
middleware = [];
|
|
106
|
+
middlewareTimeoutMs = MIDDLEWARE_TIMEOUT_MS;
|
|
107
|
+
middlewareErrors = [];
|
|
88
108
|
constructor() {
|
|
89
109
|
// Register built-in processors
|
|
90
110
|
this.processors.set("filesystem", new FilesystemToolProcessor());
|
|
91
111
|
}
|
|
92
112
|
/**
|
|
93
|
-
*
|
|
113
|
+
* Register a server-specific processor (internal API).
|
|
114
|
+
* If a processor already exists for the server, it is replaced.
|
|
115
|
+
*/
|
|
116
|
+
registerProcessor(serverName, processor) {
|
|
117
|
+
this.processors.set(serverName, processor);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Register user-facing middleware that runs around ALL tool executions.
|
|
121
|
+
* Middleware hooks are called in registration order.
|
|
122
|
+
*/
|
|
123
|
+
addMiddleware(mw) {
|
|
124
|
+
this.middleware.push(mw);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Remove all registered middleware (useful for testing/cleanup).
|
|
128
|
+
*/
|
|
129
|
+
clearMiddleware() {
|
|
130
|
+
this.middleware = [];
|
|
131
|
+
this.middlewareErrors = [];
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Set the timeout for user-registered middleware hooks.
|
|
135
|
+
*/
|
|
136
|
+
setMiddlewareTimeout(ms) {
|
|
137
|
+
this.middlewareTimeoutMs = ms;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get recorded middleware errors (for structured error reporting).
|
|
141
|
+
*/
|
|
142
|
+
getMiddlewareErrors() {
|
|
143
|
+
return [...this.middlewareErrors];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Clear recorded middleware errors.
|
|
147
|
+
*/
|
|
148
|
+
clearMiddlewareErrors() {
|
|
149
|
+
this.middlewareErrors = [];
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Pre-process tool data before execution.
|
|
153
|
+
* Runs built-in processor first, then user middleware in order.
|
|
94
154
|
*/
|
|
95
155
|
async preProcessTool(toolData, sessionContext) {
|
|
156
|
+
let result = toolData;
|
|
157
|
+
// Built-in server processor
|
|
96
158
|
const processor = this.processors.get(toolData.server_name);
|
|
97
159
|
if (processor?.preProcess) {
|
|
98
160
|
try {
|
|
99
|
-
const enhancements = await processor.preProcess(
|
|
100
|
-
|
|
161
|
+
const enhancements = await processor.preProcess(result, sessionContext);
|
|
162
|
+
result = { ...result, ...enhancements };
|
|
101
163
|
}
|
|
102
164
|
catch (error) {
|
|
165
|
+
// Built-in processor errors are non-fatal; log and continue
|
|
103
166
|
console.debug(`Error in pre-processing for ${toolData.server_name}:`, error);
|
|
104
167
|
}
|
|
105
168
|
}
|
|
106
|
-
|
|
169
|
+
// User middleware (with timeout and field protection)
|
|
170
|
+
for (const mw of this.middleware) {
|
|
171
|
+
if (!mw.preExecute)
|
|
172
|
+
continue;
|
|
173
|
+
const mwName = mw.name || 'anonymous';
|
|
174
|
+
try {
|
|
175
|
+
const overrides = await withTimeout(() => mw.preExecute(Object.freeze({ ...result })), this.middlewareTimeoutMs, mwName, 'preExecute');
|
|
176
|
+
if (overrides && typeof overrides === 'object') {
|
|
177
|
+
const safe = stripProtectedFields(overrides);
|
|
178
|
+
result = { ...result, ...safe };
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
const mwError = error instanceof ToolMiddlewareError
|
|
183
|
+
? error
|
|
184
|
+
: new ToolMiddlewareError(`Middleware "${mwName}" threw in preExecute: ${error instanceof Error ? error.message : String(error)}`, mwName, 'preExecute', error instanceof Error ? error : undefined);
|
|
185
|
+
this.middlewareErrors.push(mwError);
|
|
186
|
+
// Middleware errors are non-fatal; log and continue
|
|
187
|
+
console.debug(`Middleware error (preExecute, ${mwName}):`, mwError.message);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return result;
|
|
107
191
|
}
|
|
108
192
|
/**
|
|
109
|
-
* Post-process tool result after execution
|
|
193
|
+
* Post-process tool result after execution.
|
|
194
|
+
* Runs built-in processor first, then user middleware in order.
|
|
110
195
|
*/
|
|
111
196
|
async postProcessTool(toolData, result, sessionContext) {
|
|
197
|
+
let processed = result;
|
|
198
|
+
// Built-in server processor
|
|
112
199
|
const processor = this.processors.get(toolData.server_name);
|
|
113
200
|
if (processor?.postProcess) {
|
|
114
201
|
try {
|
|
115
|
-
|
|
202
|
+
processed = await processor.postProcess(toolData, processed, sessionContext);
|
|
116
203
|
}
|
|
117
204
|
catch (error) {
|
|
118
205
|
console.debug(`Error in post-processing for ${toolData.server_name}:`, error);
|
|
119
206
|
}
|
|
120
207
|
}
|
|
121
|
-
|
|
208
|
+
// User middleware (with timeout)
|
|
209
|
+
for (const mw of this.middleware) {
|
|
210
|
+
if (!mw.postExecute)
|
|
211
|
+
continue;
|
|
212
|
+
const mwName = mw.name || 'anonymous';
|
|
213
|
+
try {
|
|
214
|
+
const replacement = await withTimeout(() => mw.postExecute(Object.freeze({ ...toolData }), processed), this.middlewareTimeoutMs, mwName, 'postExecute');
|
|
215
|
+
if (replacement && typeof replacement === 'object' && 'isError' in replacement) {
|
|
216
|
+
processed = replacement;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
const mwError = error instanceof ToolMiddlewareError
|
|
221
|
+
? error
|
|
222
|
+
: new ToolMiddlewareError(`Middleware "${mwName}" threw in postExecute: ${error instanceof Error ? error.message : String(error)}`, mwName, 'postExecute', error instanceof Error ? error : undefined);
|
|
223
|
+
this.middlewareErrors.push(mwError);
|
|
224
|
+
console.debug(`Middleware error (postExecute, ${mwName}):`, mwError.message);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return processed;
|
|
122
228
|
}
|
|
123
229
|
/**
|
|
124
|
-
* Perform a dry run of a tool without actually executing it
|
|
125
|
-
* Returns a
|
|
230
|
+
* Perform a dry run of a tool without actually executing it.
|
|
231
|
+
* Returns a realistic mock result that the agent can reason about,
|
|
232
|
+
* clearly marked as simulated.
|
|
126
233
|
*/
|
|
127
234
|
async dryRunTool(toolData, sessionContext) {
|
|
128
235
|
try {
|
|
129
|
-
// Default dry run response
|
|
130
|
-
const dryRunResponse = {
|
|
131
|
-
isError: false,
|
|
132
|
-
content: [{
|
|
133
|
-
type: "text",
|
|
134
|
-
text: `[DRY RUN] Would execute tool '${toolData.tool}' on server '${toolData.server_name}' with arguments: ${JSON.stringify(toolData.tool_args, null, 2)}`
|
|
135
|
-
}]
|
|
136
|
-
};
|
|
137
236
|
// Check if there's a specific processor for this server that might provide more detailed dry run info
|
|
138
237
|
const processor = this.processors.get(toolData.server_name);
|
|
139
238
|
if (processor?.dryRun) {
|
|
140
239
|
return await processor.dryRun(toolData, sessionContext);
|
|
141
240
|
}
|
|
142
|
-
return
|
|
241
|
+
return buildDryRunResponse(toolData);
|
|
143
242
|
}
|
|
144
243
|
catch (error) {
|
|
145
244
|
return {
|
|
@@ -151,7 +250,143 @@ export class ToolProcessorManager {
|
|
|
151
250
|
};
|
|
152
251
|
}
|
|
153
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
* Get the environment-scoped instance. Falls back to the module-level
|
|
255
|
+
* singleton for backward compatibility.
|
|
256
|
+
*/
|
|
257
|
+
static getInstance() {
|
|
258
|
+
const env = getCurrentEnvironment();
|
|
259
|
+
if (env.toolProcessorManager) {
|
|
260
|
+
return env.toolProcessorManager;
|
|
261
|
+
}
|
|
262
|
+
return toolProcessorManager;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Build a realistic mock response for dry-run mode.
|
|
267
|
+
* The response acknowledges the tool call, echoes back the request details,
|
|
268
|
+
* and provides a plausible placeholder so the agent can continue reasoning.
|
|
269
|
+
*/
|
|
270
|
+
function buildDryRunResponse(toolData) {
|
|
271
|
+
const server = toolData.server_name;
|
|
272
|
+
const tool = toolData.tool;
|
|
273
|
+
const args = toolData.tool_args;
|
|
274
|
+
const mock = getDryRunMock(server, tool, args);
|
|
275
|
+
return {
|
|
276
|
+
isError: false,
|
|
277
|
+
content: [{
|
|
278
|
+
type: "text",
|
|
279
|
+
text: mock,
|
|
280
|
+
}],
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Returns a realistic placeholder response for a given tool call.
|
|
285
|
+
* The goal is to give the agent enough structure to continue planning
|
|
286
|
+
* while making it obvious the data is simulated.
|
|
287
|
+
*/
|
|
288
|
+
function getDryRunMock(server, tool, args) {
|
|
289
|
+
// ── filesystem ───────────────────────────────────────────────
|
|
290
|
+
if (server === 'filesystem') {
|
|
291
|
+
if (tool === 'read_files') {
|
|
292
|
+
const paths = Array.isArray(args.paths) ? args.paths : [args.paths ?? 'unknown'];
|
|
293
|
+
const sections = paths.map((p) => {
|
|
294
|
+
const filePath = sanitizeArg(typeof p === 'string' ? p : (p?.path ?? 'unknown'));
|
|
295
|
+
return `--- ${filePath} ---\n[DRY RUN] File content would appear here. (simulated read of ${filePath})`;
|
|
296
|
+
});
|
|
297
|
+
return sections.join('\n\n');
|
|
298
|
+
}
|
|
299
|
+
if (tool === 'write_file') {
|
|
300
|
+
return `[DRY RUN] Would write ${String(args.content ?? '').length} characters to ${sanitizeArg(args.path ?? 'unknown')}.`;
|
|
301
|
+
}
|
|
302
|
+
if (tool === 'edit_file') {
|
|
303
|
+
const edits = Array.isArray(args.edits) ? args.edits.length : 0;
|
|
304
|
+
return `[DRY RUN] Would apply ${edits} edit(s) to ${sanitizeArg(args.path ?? 'unknown')}.`;
|
|
305
|
+
}
|
|
306
|
+
if (tool === 'list_files_in_directories') {
|
|
307
|
+
const paths = Array.isArray(args.paths) ? args.paths : ['.'];
|
|
308
|
+
const sections = paths.map((p) => {
|
|
309
|
+
const safePath = sanitizeArg(p);
|
|
310
|
+
return `--- ${safePath}/ ---\nREADME.md\nsrc/\ntests/\npackage.json\ntsconfig.json\n[DRY RUN] Simulated file listing for ${safePath}/`;
|
|
311
|
+
});
|
|
312
|
+
return sections.join('\n\n');
|
|
313
|
+
}
|
|
314
|
+
if (tool === 'directory_tree') {
|
|
315
|
+
const p = sanitizeArg(args.path ?? '.');
|
|
316
|
+
return `${p}/\n src/\n index.ts\n tests/\n index.test.ts\n package.json\n README.md\n[DRY RUN] Simulated directory tree for ${p}/`;
|
|
317
|
+
}
|
|
318
|
+
if (tool === 'get_file_info') {
|
|
319
|
+
return `[DRY RUN] File: ${sanitizeArg(args.path ?? 'unknown')}, size: 1024 bytes, modified: 2025-01-01T00:00:00Z (simulated)`;
|
|
320
|
+
}
|
|
321
|
+
if (tool === 'list_allowed_directories') {
|
|
322
|
+
return `[DRY RUN] Allowed directories: . (simulated)`;
|
|
323
|
+
}
|
|
324
|
+
if (tool === 'create_directory') {
|
|
325
|
+
return `[DRY RUN] Would create directory ${sanitizeArg(args.path ?? 'unknown')}.`;
|
|
326
|
+
}
|
|
327
|
+
if (tool === 'move_file') {
|
|
328
|
+
return `[DRY RUN] Would move ${sanitizeArg(args.source ?? 'unknown')} to ${sanitizeArg(args.destination ?? 'unknown')}.`;
|
|
329
|
+
}
|
|
330
|
+
if (tool === 'delete_files') {
|
|
331
|
+
const paths = sanitizeArg(Array.isArray(args.paths) ? args.paths.join(', ') : String(args.paths ?? 'unknown'));
|
|
332
|
+
return `[DRY RUN] Would delete: ${paths}.`;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
// ── git ──────────────────────────────────────────────────────
|
|
336
|
+
if (server === 'git') {
|
|
337
|
+
if (tool === 'git_status') {
|
|
338
|
+
return `On branch main\nnothing to commit, working tree clean\n[DRY RUN] Simulated git status`;
|
|
339
|
+
}
|
|
340
|
+
if (tool === 'git_diff' || tool === 'git_diff_unstaged' || tool === 'git_diff_staged' || tool === 'git_diff_files') {
|
|
341
|
+
return `[DRY RUN] No diff output (simulated). Actual diff would appear here.`;
|
|
342
|
+
}
|
|
343
|
+
if (tool === 'git_log') {
|
|
344
|
+
return `abc1234 Initial commit\ndef5678 Add feature\n[DRY RUN] Simulated git log`;
|
|
345
|
+
}
|
|
346
|
+
if (tool === 'git_show') {
|
|
347
|
+
return `[DRY RUN] Simulated git show for ${sanitizeArg(args.commit ?? 'HEAD')}. Commit details would appear here.`;
|
|
348
|
+
}
|
|
349
|
+
if (tool === 'git_add') {
|
|
350
|
+
const files = sanitizeArg(Array.isArray(args.files) ? args.files.join(', ') : String(args.files ?? '.'));
|
|
351
|
+
return `[DRY RUN] Would stage: ${files}.`;
|
|
352
|
+
}
|
|
353
|
+
if (tool === 'git_commit') {
|
|
354
|
+
return `[DRY RUN] Would commit with message: "${sanitizeArg(args.message ?? '(no message)')}".`;
|
|
355
|
+
}
|
|
356
|
+
if (tool === 'git_create_branch') {
|
|
357
|
+
return `[DRY RUN] Would create branch "${sanitizeArg(args.branch ?? 'unknown')}".`;
|
|
358
|
+
}
|
|
359
|
+
if (tool === 'git_checkout') {
|
|
360
|
+
return `[DRY RUN] Would checkout "${sanitizeArg(args.branch ?? 'unknown')}".`;
|
|
361
|
+
}
|
|
362
|
+
if (tool === 'git_reset') {
|
|
363
|
+
return `[DRY RUN] Would unstage all changes.`;
|
|
364
|
+
}
|
|
365
|
+
if (tool === 'git_init') {
|
|
366
|
+
return `[DRY RUN] Would initialize a new git repository.`;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
// ── ripgrep ──────────────────────────────────────────────────
|
|
370
|
+
if (server === 'ripgrep') {
|
|
371
|
+
if (tool === 'ripgrep_search') {
|
|
372
|
+
const safePattern = sanitizeArg(args.pattern ?? '');
|
|
373
|
+
return `src/index.ts:1:// matching line for "${safePattern}"\nsrc/utils.ts:10:// another match\n[DRY RUN] Simulated ripgrep search for pattern "${safePattern}"`;
|
|
374
|
+
}
|
|
375
|
+
if (tool === 'ripgrep_file_types') {
|
|
376
|
+
return `ts, js, json, md, yaml\n[DRY RUN] Simulated file types list`;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
// ── shell ────────────────────────────────────────────────────
|
|
380
|
+
if (server === 'shell') {
|
|
381
|
+
if (tool === 'shell_execute') {
|
|
382
|
+
const cmd = sanitizeArg(args.command ?? '(unknown)');
|
|
383
|
+
const cmdArgs = sanitizeArg(Array.isArray(args.args) ? args.args.join(' ') : '');
|
|
384
|
+
return `[DRY RUN] Would execute: ${cmd} ${cmdArgs}\nExit code: 0 (simulated)`;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
// ── fallback for unknown tools ───────────────────────────────
|
|
388
|
+
return `[DRY RUN] Would execute ${sanitizeArg(tool)} on ${sanitizeArg(server)} with args: ${JSON.stringify(args)}. Tool executed successfully (simulated).`;
|
|
154
389
|
}
|
|
155
|
-
//
|
|
390
|
+
// Module-level singleton for backward compatibility
|
|
156
391
|
export const toolProcessorManager = new ToolProcessorManager();
|
|
157
392
|
//# sourceMappingURL=toolProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolProcessor.js","sourceRoot":"","sources":["../../src/mcp/toolProcessor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolProcessor.js","sourceRoot":"","sources":["../../src/mcp/toolProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal message types — replaces @langchain/core/messages and @langchain/openai.
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export type { ToolCall, AIMessageInput, ToolMessageInput, } from './types.js';
|
|
6
|
+
export { convertMessagesToOpenAI } from './openai.js';
|
|
7
|
+
export type { OpenAIChatMessage } from './openai.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,YAAY,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal message types — replaces @langchain/core/messages and @langchain/openai.
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export { BaseMessage, HumanMessage, AIMessage, SystemMessage, ToolMessage, } from './types.js';
|
|
6
|
+
export { convertMessagesToOpenAI } from './openai.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert internal message types to OpenAI chat completion message format.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the @langchain/openai `_convertMessagesToOpenAIParams` private API.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseMessage } from './types.js';
|
|
7
|
+
export interface OpenAIChatMessage {
|
|
8
|
+
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
9
|
+
content: string | any;
|
|
10
|
+
tool_calls?: Array<{
|
|
11
|
+
id: string;
|
|
12
|
+
type: 'function';
|
|
13
|
+
function: {
|
|
14
|
+
name: string;
|
|
15
|
+
arguments: string;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
tool_call_id?: string;
|
|
19
|
+
name?: string;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Convert an array of internal messages to OpenAI chat completion format.
|
|
24
|
+
*/
|
|
25
|
+
export declare function convertMessagesToOpenAI(messages: BaseMessage[]): OpenAIChatMessage[];
|
|
26
|
+
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/messages/openai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAa,WAAW,EAA4C,MAAM,YAAY,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAkDpF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert internal message types to OpenAI chat completion message format.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the @langchain/openai `_convertMessagesToOpenAIParams` private API.
|
|
5
|
+
*/
|
|
6
|
+
import { AIMessage, HumanMessage, SystemMessage, ToolMessage } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Convert an array of internal messages to OpenAI chat completion format.
|
|
9
|
+
*/
|
|
10
|
+
export function convertMessagesToOpenAI(messages) {
|
|
11
|
+
return messages.map((msg) => {
|
|
12
|
+
if (msg instanceof SystemMessage) {
|
|
13
|
+
return {
|
|
14
|
+
role: 'system',
|
|
15
|
+
content: typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
if (msg instanceof HumanMessage) {
|
|
19
|
+
return {
|
|
20
|
+
role: 'user',
|
|
21
|
+
content: typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (msg instanceof ToolMessage) {
|
|
25
|
+
return {
|
|
26
|
+
role: 'tool',
|
|
27
|
+
content: typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content),
|
|
28
|
+
tool_call_id: msg.tool_call_id,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (msg instanceof AIMessage) {
|
|
32
|
+
const result = {
|
|
33
|
+
role: 'assistant',
|
|
34
|
+
content: typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content),
|
|
35
|
+
};
|
|
36
|
+
if (msg.tool_calls && msg.tool_calls.length > 0) {
|
|
37
|
+
result.tool_calls = msg.tool_calls.map((tc) => ({
|
|
38
|
+
id: tc.id ?? '',
|
|
39
|
+
type: 'function',
|
|
40
|
+
function: {
|
|
41
|
+
name: tc.name,
|
|
42
|
+
arguments: typeof tc.args === 'string' ? tc.args : JSON.stringify(tc.args ?? {}),
|
|
43
|
+
},
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
// Fallback: treat as assistant message
|
|
49
|
+
return {
|
|
50
|
+
role: 'assistant',
|
|
51
|
+
content: typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content ?? ''),
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=openai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/messages/openai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAe,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAe9F;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAuB;IAC7D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAqB,EAAE;QAC7C,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;aACrF,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;aACrF,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;YAC/B,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;gBACpF,YAAY,EAAE,GAAG,CAAC,YAAY;aAC/B,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAsB;gBAChC,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;aACrF,CAAC;YAEF,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE;oBACf,IAAI,EAAE,UAAmB;oBACzB,QAAQ,EAAE;wBACR,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;qBACjF;iBACF,CAAC,CAAC,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,uCAAuC;QACvC,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal message types that replace @langchain/core/messages.
|
|
3
|
+
*
|
|
4
|
+
* These classes mirror the subset of the LangChain message API used by the SDK:
|
|
5
|
+
* - content, additional_kwargs, tool_calls (AIMessage), tool_call_id/status (ToolMessage)
|
|
6
|
+
* - instanceof checks for type discrimination
|
|
7
|
+
*
|
|
8
|
+
* Using classes (not interfaces) so that `instanceof` works as a drop-in
|
|
9
|
+
* replacement for the LangChain usage throughout the codebase.
|
|
10
|
+
*/
|
|
11
|
+
export interface ToolCall {
|
|
12
|
+
id?: string;
|
|
13
|
+
name: string;
|
|
14
|
+
args: Record<string, unknown>;
|
|
15
|
+
type?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Base class for all chat messages.
|
|
19
|
+
*/
|
|
20
|
+
export declare class BaseMessage {
|
|
21
|
+
readonly content: string | any;
|
|
22
|
+
readonly additional_kwargs: Record<string, any>;
|
|
23
|
+
readonly name?: string;
|
|
24
|
+
constructor(content: string | any, additional_kwargs?: Record<string, any>);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A message from the human user.
|
|
28
|
+
*/
|
|
29
|
+
export declare class HumanMessage extends BaseMessage {
|
|
30
|
+
constructor(content: string, additional_kwargs?: Record<string, any>);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A system-level instruction message.
|
|
34
|
+
*/
|
|
35
|
+
export declare class SystemMessage extends BaseMessage {
|
|
36
|
+
constructor(content: string, additional_kwargs?: Record<string, any>);
|
|
37
|
+
}
|
|
38
|
+
export type AIMessageInput = {
|
|
39
|
+
content: string | any;
|
|
40
|
+
tool_calls?: ToolCall[];
|
|
41
|
+
additional_kwargs?: Record<string, any>;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* A message from the AI assistant.
|
|
45
|
+
*
|
|
46
|
+
* Supports two construction styles (matching LangChain):
|
|
47
|
+
* new AIMessage('text')
|
|
48
|
+
* new AIMessage('text', { id: '...', type: 'progress' })
|
|
49
|
+
* new AIMessage({ content: '...', tool_calls: [...], additional_kwargs: {...} })
|
|
50
|
+
*/
|
|
51
|
+
export declare class AIMessage extends BaseMessage {
|
|
52
|
+
readonly tool_calls: ToolCall[];
|
|
53
|
+
constructor(input: string | AIMessageInput, additional_kwargs?: Record<string, any>);
|
|
54
|
+
}
|
|
55
|
+
export type ToolMessageInput = {
|
|
56
|
+
tool_call_id: string;
|
|
57
|
+
status?: string;
|
|
58
|
+
content: string | any;
|
|
59
|
+
name?: string;
|
|
60
|
+
additional_kwargs?: Record<string, any>;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* A message representing a tool invocation result.
|
|
64
|
+
*
|
|
65
|
+
* Constructed via object:
|
|
66
|
+
* new ToolMessage({ tool_call_id: '...', status: 'success', content: '...' })
|
|
67
|
+
*/
|
|
68
|
+
export declare class ToolMessage extends BaseMessage {
|
|
69
|
+
readonly tool_call_id: string;
|
|
70
|
+
readonly status?: string;
|
|
71
|
+
constructor(input: ToolMessageInput);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messages/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,SAAgB,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;IACtC,SAAgB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI3E;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGrE;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGrE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACxC,SAAgB,UAAU,EAAE,QAAQ,EAAE,CAAC;gBAE3B,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CASpF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEpB,KAAK,EAAE,gBAAgB;CAQpC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal message types that replace @langchain/core/messages.
|
|
3
|
+
*
|
|
4
|
+
* These classes mirror the subset of the LangChain message API used by the SDK:
|
|
5
|
+
* - content, additional_kwargs, tool_calls (AIMessage), tool_call_id/status (ToolMessage)
|
|
6
|
+
* - instanceof checks for type discrimination
|
|
7
|
+
*
|
|
8
|
+
* Using classes (not interfaces) so that `instanceof` works as a drop-in
|
|
9
|
+
* replacement for the LangChain usage throughout the codebase.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Base class for all chat messages.
|
|
13
|
+
*/
|
|
14
|
+
export class BaseMessage {
|
|
15
|
+
content;
|
|
16
|
+
additional_kwargs;
|
|
17
|
+
name;
|
|
18
|
+
constructor(content, additional_kwargs) {
|
|
19
|
+
this.content = content;
|
|
20
|
+
this.additional_kwargs = additional_kwargs ?? {};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A message from the human user.
|
|
25
|
+
*/
|
|
26
|
+
export class HumanMessage extends BaseMessage {
|
|
27
|
+
constructor(content, additional_kwargs) {
|
|
28
|
+
super(content, additional_kwargs);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A system-level instruction message.
|
|
33
|
+
*/
|
|
34
|
+
export class SystemMessage extends BaseMessage {
|
|
35
|
+
constructor(content, additional_kwargs) {
|
|
36
|
+
super(content, additional_kwargs);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A message from the AI assistant.
|
|
41
|
+
*
|
|
42
|
+
* Supports two construction styles (matching LangChain):
|
|
43
|
+
* new AIMessage('text')
|
|
44
|
+
* new AIMessage('text', { id: '...', type: 'progress' })
|
|
45
|
+
* new AIMessage({ content: '...', tool_calls: [...], additional_kwargs: {...} })
|
|
46
|
+
*/
|
|
47
|
+
export class AIMessage extends BaseMessage {
|
|
48
|
+
tool_calls;
|
|
49
|
+
constructor(input, additional_kwargs) {
|
|
50
|
+
if (typeof input === 'string') {
|
|
51
|
+
super(input, additional_kwargs);
|
|
52
|
+
this.tool_calls = [];
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
super(input.content, input.additional_kwargs);
|
|
56
|
+
this.tool_calls = input.tool_calls ?? [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A message representing a tool invocation result.
|
|
62
|
+
*
|
|
63
|
+
* Constructed via object:
|
|
64
|
+
* new ToolMessage({ tool_call_id: '...', status: 'success', content: '...' })
|
|
65
|
+
*/
|
|
66
|
+
export class ToolMessage extends BaseMessage {
|
|
67
|
+
tool_call_id;
|
|
68
|
+
status;
|
|
69
|
+
constructor(input) {
|
|
70
|
+
super(input.content, input.additional_kwargs);
|
|
71
|
+
this.tool_call_id = input.tool_call_id;
|
|
72
|
+
this.status = input.status;
|
|
73
|
+
if (input.name) {
|
|
74
|
+
this.name = input.name;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/messages/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;GAEG;AACH,MAAM,OAAO,WAAW;IACN,OAAO,CAAe;IACtB,iBAAiB,CAAsB;IACvC,IAAI,CAAU;IAE9B,YAAY,OAAqB,EAAE,iBAAuC;QACxE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,EAAE,CAAC;IACnD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,YAAY,OAAe,EAAE,iBAAuC;QAClE,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,YAAY,OAAe,EAAE,iBAAuC;QAClE,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACF;AAQD;;;;;;;GAOG;AACH,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxB,UAAU,CAAa;IAEvC,YAAY,KAA8B,EAAE,iBAAuC;QACjF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;CACF;AAUD;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1B,YAAY,CAAS;IACrB,MAAM,CAAU;IAEhC,YAAY,KAAuB;QACjC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACd,IAAY,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;CACF"}
|