Skip to content
English

assembleContextPlan ​

CORE · function · 运行时值

Build the model input for a context plan.

导入 ​

ts
import { assembleContextPlan } from '@jangts/agent-core/context';
js
import { assembleContextPlan } from '@jangts/agent-core/context';

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

定义 ​

调用 ​

ts
assembleContextPlan(plan: ContextPlan): BuiltContext

Build the model input for a context plan.

参数类型传递说明
planContextPlan必需—
plan 的字段
字段类型必需说明
fragmentsreadonly ContextFragment[]必需只读。Fragments in the order supplied by the App; assembly preserves it.
maxInputCharsnumber必需Character budget Core validates after assembly.
additionalMessagesreadonly (ModelMessage & { role: "user"; })[] | undefined可省略Protected user messages (for example image inputs); text counts toward the same budget.
originalFragmentsreadonly ContextFragment[] | undefined可省略Trusted originals for structural mutation auditing; never sent to the model.
mutableFragmentIdsreadonly string[] | undefined可省略Explicit value-mutation allowance when originals are supplied.

返回: BuiltContext。

返回值结构
字段类型必需说明
messagesModelMessage[]必需Messages in final model order.
fragmentUsageContextFragmentUsage[]必需Per-fragment accounting in the same order as the fragments were merged.
inputCharsnumber必需Total counted characters across messages and usage.
maxInputCharsnumber必需Budget the assembly was validated against; Infinity means unbounded.

使用示例 ​

用裸配置装配一份输入 ​

入门 · Node.js

ts
import { assembleFragments } from '@jangts/agent-core/context';
const input = assembleFragments([{ id: 'question', sourceId: 'request', trust: 'user',
  lifetime: 'turn', maxChars: 1000, role: 'user', value: '现在服务状态怎样?' }], 2000);
console.log(input.messages, input.fragmentUsage);
js
import { assembleFragments } from '@jangts/agent-core/context';
const input = assembleFragments([{ id: 'question', sourceId: 'request', trust: 'user',
        lifetime: 'turn', maxChars: 1000, role: 'user', value: '现在服务状态怎样?' }], 2000);
console.log(input.messages, input.fragmentUsage);

增加候选计划与最终审计 ​

配置 · Node.js

可变片段列表为空,表示不允许修改原片段;不会自动授权一个压缩步骤。

ts
import { assembleContextPlan } from '@jangts/agent-core/context';
import type { ContextFragment } from '@jangts/agent-core/types';
const fragments: ContextFragment[] = [{ id: 'question', sourceId: 'request', trust: 'user',
  lifetime: 'turn', maxChars: 1000, role: 'user', value: '现在服务状态怎样?' }];
const input = assembleContextPlan({ fragments, originalFragments: fragments, mutableFragmentIds: [], maxInputChars: 2000 });
console.log(input.inputChars);
js
import { assembleContextPlan } from '@jangts/agent-core/context';
const fragments = [{ id: 'question', sourceId: 'request', trust: 'user',
        lifetime: 'turn', maxChars: 1000, role: 'user', value: '现在服务状态怎样?' }];
const input = assembleContextPlan({ fragments, originalFragments: fragments, mutableFragmentIds: [], maxInputChars: 2000 });
console.log(input.inputChars);

相关策略源码 ​

相关定义 ​

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