Skip to content
English

ContextSelectionCall ​

SUPPORT · interface · 类型合同

Everything a selector may inspect for one decision.

导入 ​

ts
import type { ContextSelectionCall } from '@jangts/agent-core/support';
js
/** @typedef {import('@jangts/agent-core/support').ContextSelectionCall} ContextSelectionCall */

其他公开入口:@jangts/agent-core/support、@jangts/agent-core/support/context。

定义 ​

ts
interface ContextSelectionCall

字段结构 ​

字段类型必需说明
stageIdstring必需只读。见类型定义及调用场景。
candidatesreadonly ContextSelectionCandidate[]必需Reducible candidates, already filtered and measured.
fragmentsreadonly ContextFragment[]必需Only reducible fragments; never protected request or system fragments.
currentTokensnumber | undefined可省略Current input tokens, when a token budget applies.
requiredReductionTokensnumber | undefined可省略Tokens that must be removed to satisfy the token budget.
currentCharsnumber必需见类型定义及调用场景。
requiredReductionCharsnumber必需Characters that must be removed to satisfy the character budget.
remainingCallsnumber必需Calls the selector may still spend through callModel.
callModelContextModelCall必需见类型定义及调用场景。

成员目录 ​

成员用途
callModel完整输入输出见下方重载。

成员详情 ​

callModel ​

ts
ContextSelectionCall.callModel(request: ContextModelRequest): Promise<ModelResult<unknown>>
参数类型传递说明
requestContextModelRequest必需—
request 的字段
字段类型必需说明
modelIdstring | undefined可省略只读。见类型定义及调用场景。
stageIdstring必需只读。见类型定义及调用场景。
inputreadonly ModelMessage[] | BuiltContext必需只读。见类型定义及调用场景。
maxOutputTokensnumber必需只读。见类型定义及调用场景。
transportstring必需只读。见类型定义及调用场景。

返回: Promise<ModelResult<unknown>>。

等待后的值: ModelResult<unknown>。

返回值结构
字段类型必需说明
valueunknown必需只读。见类型定义及调用场景。
invocationReadonly<ModelCallRecord>必需只读。见类型定义及调用场景。

使用示例 ​

按已登记顺序处理 ​

入门 · Node.js

ts
import { Support } from '@jangts/agent-core';
Support.validateContextSelection({ mode: 'sequence' }, []);
console.log(Object.keys(Support.contextSelectionCatalog));
js
import { Support } from '@jangts/agent-core';
Support.validateContextSelection({ mode: 'sequence' }, []);
console.log(Object.keys(Support.contextSelectionCatalog));

按场景选择策略并精确覆盖 ​

配置 · Node.js

ts
import { Support } from '@jangts/agent-core';
const localOnly = { mode: 'fixed' as const, kind: 'trim' as const };
const preserveMore = { mode: 'auto' as const, maxTrimLossRatio: 0.1, reserveCalls: 2 };
Support.validateContextSelection(localOnly, []);
Support.validateContextSelection(preserveMore, []);
console.log(localOnly, preserveMore);
js
import { Support } from '@jangts/agent-core';
const localOnly = { mode: 'fixed', kind: 'trim' };
const preserveMore = { mode: 'auto', maxTrimLossRatio: 0.1, reserveCalls: 2 };
Support.validateContextSelection(localOnly, []);
Support.validateContextSelection(preserveMore, []);
console.log(localOnly, preserveMore);

相关策略源码 ​

相关定义 ​

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