Skip to content
中文

validateContextFragment ​

CORE · function · Runtime value

Validate one fragment and return the text it contributes to the model input.

Import ​

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

Other public entry points:@jangts/agent-core, @jangts/agent-core/types, @jangts/agent-core/context.

Definition ​

Call ​

ts
validateContextFragment(fragment: ContextFragment, ids?: Set<string>, checkBudget?: boolean): string

Validate one fragment and return the text it contributes to the model input.

ParameterTypePassingDescription
fragmentContextFragmentRequired—
idsSet<string>Optional—
checkBudgetbooleanOptional—
Fields of fragment
FieldTypeRequiredDescription
idstringRequiredUnique, stable id matching ^[a-z][a-zA-Z0-9:._-]*$; duplicates are rejected.
sourceIdstringRequiredOwning source (module or registration) used to explain where the content came from.
trustContextTrustRequiredProducer trust level. user and tool content cannot become a system message.
lifetimeContextLifetimeRequiredDeclared validity window of this content.
maxCharsnumberRequiredHard upper bound in JSON characters; must be a positive safe integer.
role"system" | "user"RequiredMessage slot the fragment occupies when assembled.
valuestring | Record<string, unknown>RequiredRendered content. A system message accepts a string only, never a record.

Returns: string.

Examples ​

Assemble one input from bare configuration ​

Beginner · 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);

Add a candidate plan and final audit ​

Configuration · Node.js

An empty mutable fragment list means the original fragments may not be modified; no compression step is authorized automatically.

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);

API reference, usage examples and developer guides.