ToolCall
KIT · interface · 类型合同
A tool call the mocked assistant emits instead of executing.
导入
ts
import type { ToolCall } from '@jangts/agent-core/mock';js
/** @typedef {import('@jangts/agent-core/mock').ToolCall} ToolCall */其他公开入口:@jangts/agent-core/mock。
定义
ts
interface ToolCall字段结构
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
name | string | 必需 | Function name exposed as function.name on the wire. |
arguments | JsonValue | 必需 | Serialized into the function.arguments string; must be JSON-compatible. |
id | string | undefined | 可省略 | Optional; the codec derives <responseId>_tool_<index> when omitted. |
使用示例
- MockGPT:响应描述与场景生成器:固定结果用于严格回归,输入相关生成器用于探索接线,显式响应描述用于故障和流式场景。
编码已校验的模型结果
扩展 · Node.js
适配器负责请求校验、首包前延迟和生命周期;编码器不执行规则或修改 MockGPT 调用记录。
ts
import { encodeModelResponse } from '@jangts/agent-core/mock';
const controller = new AbortController();
const response = encodeModelResponse(
{ model: 'demo', messages: [{ role: 'user', content: '状态' }], stream: false },
{ content: '服务在线。' }, 'mock-1', 1700000000, controller.signal,
(error, cancelled) => console.log({ error, cancelled }),
);
console.log(await response.json());js
import { encodeModelResponse } from '@jangts/agent-core/mock';
const controller = new AbortController();
const response = encodeModelResponse({ model: 'demo', messages: [{ role: 'user', content: '状态' }], stream: false }, { content: '服务在线。' }, 'mock-1', 1700000000, controller.signal, (error, cancelled) => console.log({ error, cancelled }));
console.log(await response.json());从输入生成可检查的摘要
入门 · Node.js
ts
import { MockGPT, generators } from '@jangts/agent-core/mock';
const mock = new MockGPT({ rules: [{ generator: generators.summary({ maxChars: 120, count: 2 }) }] });
console.log(await mock.generate({ model: 'demo', messages: [{ role: 'user', content: '服务刚完成维护。健康检查通过。用户可以查询状态。' }] }));
console.log(mock.records);js
import { MockGPT, generators } from '@jangts/agent-core/mock';
const mock = new MockGPT({ rules: [{ generator: generators.summary({ maxChars: 120, count: 2 }) }] });
console.log(await mock.generate({ model: 'demo', messages: [{ role: 'user', content: '服务刚完成维护。健康检查通过。用户可以查询状态。' }] }));
console.log(mock.records);