ContextStrategy
SUPPORT · interface · Type contract
Validated inputs ready to pass to a context processing node.
Import
ts
import type { ContextStrategy } from '@jangts/agent-core/support';js
/** @typedef {import('@jangts/agent-core/support').ContextStrategy} ContextStrategy */Other public entry points:@jangts/agent-core/support, @jangts/agent-core/support/context.
Definition
ts
interface ContextStrategyField structure
| Field | Type | Required | Description |
|---|---|---|---|
policy | ContextPolicy | Required | Read-only. Reduction policy with the generated or explicit steps and selection. |
compressors | readonly ContextCompressor[] | Required | Read-only. Compressors referenced by generated compression steps, deduplicated by identity. |
selectors | readonly ContextSelector[] | Required | Read-only. Selectors available to model-driven selection. |
Examples
- Generate processing strategies from history semantics: Reuse fragment identity and hard budgets to generate complete steps and references for recent or continuity.
Reuse an existing fragment to generate a recent-history strategy
Beginner · Node.js
ts
import { Support } from '@jangts/agent-core';
const fragment = { id: 'history', maxChars: 4000 };
const strategy = Support.createContextStrategy({ kind: 'recent', fragment, field: 'messages' });
console.log(strategy.policy, strategy.compressors);js
import { Support } from '@jangts/agent-core';
const fragment = { id: 'history', maxChars: 4000 };
const strategy = Support.createContextStrategy({ kind: 'recent', fragment, field: 'messages' });
console.log(strategy.policy, strategy.compressors);Add kept groups and target size to the same configuration
Configuration · Node.js
ts
import { Support } from '@jangts/agent-core';
const fragment = { id: 'history', maxChars: 4000 };
const strategy = Support.createContextStrategy({ kind: 'recent', fragment, field: 'messages',
keepGroups: 3, targetChars: 2500, grouping: { kind: 'user-turn' },
});
console.log(strategy.policy);js
import { Support } from '@jangts/agent-core';
const fragment = { id: 'history', maxChars: 4000 };
const strategy = Support.createContextStrategy({ kind: 'recent', fragment, field: 'messages',
keepGroups: 3, targetChars: 2500, grouping: { kind: 'user-turn' },
});
console.log(strategy.policy);