Skip to content
English

responses ​

KIT · constant · 运行时值

导入 ​

ts
import { responses } from '@jangts/agent-core/mock';
js
import { responses } from '@jangts/agent-core/mock';

其他公开入口:@jangts/agent-core/mock。

定义 ​

成员目录 ​

成员用途
text完整输入输出见下方重载。
toolCalls完整输入输出见下方重载。
httpError完整输入输出见下方重载。
rejectSimulate a transport failure that rejects the client call instead of answering with HTTP.

成员详情 ​

text ​

ts
responses.text(content: string, options?: OutputOptions): ResponseDescription
参数类型传递说明
contentstring必需—
optionsOutputOptions可省略—
options 的字段
字段类型必需说明
finishReason"length" | "tool_calls" | "stop" | "content_filter" | undefined可省略Finish reason sent in the last content frame; defaults to tool_calls with tools, else stop.
usageUsage | undefined可省略Usage object included in non-stream replies and in the terminal usage chunk.
delayMsnumber | undefined可省略Artificial latency before the reply or first frame, in milliseconds; default 0.
chunkSizenumber | undefined可省略Maximum Unicode code points per content/tool-call delta; default 24; never splits a code point.
intervalMsnumber | undefined可省略Delay between SSE frames in milliseconds; default 0 (emit as fast as the consumer pulls).
wireChunkSizenumber | undefined可省略Optional transport-level byte chunks, independent of content/codepoint chunks.
interruptAfternumber | undefined可省略Error the stream after this many data frames, without a success terminator.

返回: ResponseDescription。

toolCalls ​

ts
responses.toolCalls(tools: readonly ToolCall[], options?: OutputOptions): ResponseDescription
参数类型传递说明
toolsreadonly ToolCall[]必需—
optionsOutputOptions可省略—
options 的字段
字段类型必需说明
finishReason"length" | "tool_calls" | "stop" | "content_filter" | undefined可省略Finish reason sent in the last content frame; defaults to tool_calls with tools, else stop.
usageUsage | undefined可省略Usage object included in non-stream replies and in the terminal usage chunk.
delayMsnumber | undefined可省略Artificial latency before the reply or first frame, in milliseconds; default 0.
chunkSizenumber | undefined可省略Maximum Unicode code points per content/tool-call delta; default 24; never splits a code point.
intervalMsnumber | undefined可省略Delay between SSE frames in milliseconds; default 0 (emit as fast as the consumer pulls).
wireChunkSizenumber | undefined可省略Optional transport-level byte chunks, independent of content/codepoint chunks.
interruptAfternumber | undefined可省略Error the stream after this many data frames, without a success terminator.

返回: ResponseDescription。

httpError ​

ts
responses.httpError(status: number, body?: JsonValue): ResponseDescription
参数类型传递说明
statusnumber必需—
bodyJsonValue可省略—

返回: ResponseDescription。

reject ​

Simulate a transport failure that rejects the client call instead of answering with HTTP.

ts
responses.reject(message?: string): ResponseDescription
参数类型传递说明
messagestring可省略—

返回: ResponseDescription。

使用示例 ​

编码已校验的模型结果 ​

扩展 · 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);

字段生成器复用同一随机源 ​

配置 · Node.js

ts
import { MockGPT, generators, generatorNames } from '@jangts/agent-core/mock';
const id = generators.id('user');
const age = generators.integer(18, 60);
const mock = new MockGPT({ seed: 42, clock: () => 1700000000000, rules: [{
  generator: context => ({ id: id(context), age: age(context) }),
}] });
console.log(await mock.generate({ model: 'demo', messages: [{ role: 'user', content: '生成资料' }] }));
console.log(generatorNames);
js
import { MockGPT, generators, generatorNames } from '@jangts/agent-core/mock';
const id = generators.id('user');
const age = generators.integer(18, 60);
const mock = new MockGPT({ seed: 42, clock: () => 1700000000000, rules: [{
            generator: context => ({ id: id(context), age: age(context) }),
        }] });
console.log(await mock.generate({ model: 'demo', messages: [{ role: 'user', content: '生成资料' }] }));
console.log(generatorNames);

相关定义 ​

接口参考、使用示例与开发指南。