Skip to content
English

validateContextPolicy ​

SUPPORT · function · 运行时值

Validate a complete context policy and every handler it can reference.

Handler IDs must be unique and each handler must declare a non-negative integer call ceiling. Reduction targets and selection modes are checked by their own catalog entries.

导入 ​

ts
import { validateContextPolicy } from '@jangts/agent-core/support';
js
import { validateContextPolicy } from '@jangts/agent-core/support';

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

定义 ​

调用 ​

ts
validateContextPolicy(policy: ContextPolicy, compressors: readonly ContextCompressor[], selectors?: readonly ContextSelector[]): void

Validate a complete context policy and every handler it can reference.

Handler IDs must be unique and each handler must declare a non-negative integer call ceiling. Reduction targets and selection modes are checked by their own catalog entries.

参数类型传递说明
policyContextPolicy必需—
compressorsreadonly ContextCompressor[]必需—
selectorsreadonly ContextSelector[]可省略—

参数 policy的可选结构: 选择其中一种结构,各分支的字段要求分别列出。

分支 1
字段类型必需说明
mode"validate"必需见类型定义及调用场景。
分支 2
字段类型必需说明
mode"reduce"必需见类型定义及调用场景。
triggerCharsnumber | undefined可省略见类型定义及调用场景。
targetInputCharsnumber | undefined可省略见类型定义及调用场景。
triggerTokensnumber | undefined可省略见类型定义及调用场景。
targetInputTokensnumber | undefined可省略见类型定义及调用场景。
selectionContextSelection | undefined可省略见类型定义及调用场景。
stepsreadonly ContextReduction[]必需见类型定义及调用场景。
分支 3
字段类型必需说明
mode"audit"必需见类型定义及调用场景。
mutableFragmentIdsreadonly string[]必需见类型定义及调用场景。

返回: void。

使用示例 ​

显式使用只校验策略 ​

入门 · Node.js

ts
import { Support } from '@jangts/agent-core';
import type { ContextPolicy } from '@jangts/agent-core/support/context';
const policy: ContextPolicy = { mode: 'validate' };
Support.validateContextPolicy(policy, [], []);
console.log(policy.mode);
js
import { Support } from '@jangts/agent-core';
const policy = { mode: 'validate' };
Support.validateContextPolicy(policy, [], []);
console.log(policy.mode);

从真实业务片段配置缩减顺序 ​

配置 · Node.js

这些数字是示例业务的显式选择,不是 SDK 推荐适用于所有模型的容量。

ts
import { Support } from '@jangts/agent-core';
import type { ContextPolicy } from '@jangts/agent-core/support/context';
const policy: ContextPolicy = { mode: 'reduce', triggerChars: 1800, targetInputChars: 1500,
  selection: { mode: 'sequence' },
  steps: [{ id: 'recent-history', kind: 'trim', fragmentId: 'history', field: 'messages',
    grouping: { kind: 'user-turn' }, keepGroups: 2, targetChars: 1000 }],
};
Support.validateContextPolicy(policy, [], []);
console.log(policy.steps);
js
import { Support } from '@jangts/agent-core';
const policy = { mode: 'reduce', triggerChars: 1800, targetInputChars: 1500,
    selection: { mode: 'sequence' },
    steps: [{ id: 'recent-history', kind: 'trim', fragmentId: 'history', field: 'messages',
            grouping: { kind: 'user-turn' }, keepGroups: 2, targetChars: 1000 }],
};
Support.validateContextPolicy(policy, [], []);
console.log(policy.steps);

对 App 自己的处理限定可变范围 ​

扩展 · Node.js

审计还需要 ContextPlan 携带原片段;仅列 ID 不会自行修改或发布资料。

ts
import { Support } from '@jangts/agent-core';
import type { ContextPolicy } from '@jangts/agent-core/support/context';
const policy: ContextPolicy = { mode: 'audit', mutableFragmentIds: ['history'] };
Support.validateContextPolicy(policy, [], []);
console.log(policy.mutableFragmentIds);
js
import { Support } from '@jangts/agent-core';
const policy = { mode: 'audit', mutableFragmentIds: ['history'] };
Support.validateContextPolicy(policy, [], []);
console.log(policy.mutableFragmentIds);

相关策略源码 ​

相关定义 ​

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