trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
82 lines • 2.33 kB
TypeScript
/**
* Context Management Interface and Types
*/
import type { LLMMessage } from '../llm/types.js';
export interface ContextWindow {
maxTokens: number;
currentTokens: number;
messages: LLMMessage[];
availableRagResults?: string[];
relatedEntityIds?: string[];
}
export interface ContextManager {
addMessage(message: LLMMessage): void;
getHistory(): LLMMessage[];
prune(targetTokenCount: number): Promise<void>;
summarize(): Promise<string>;
injectRagContext(query: string, limit?: number): Promise<void>;
calculateTokenCount(message: LLMMessage): number;
}
export type ContextVantage = 'boot' | 'edit' | 'review';
export interface ContextPackRef {
kind: 'issue' | 'file' | 'entity' | 'decision' | 'milestone' | 'policy';
id: string;
/** ≤ ~120 chars; never full body */
summary?: string;
}
export interface ContextPackFocus {
issueId: string;
title: string;
status: string;
priority?: string;
labels?: string[];
ac: Array<{
description: string;
status: string;
}>;
}
export interface ContextPackWaiting {
issueId: string;
from: string;
to: string;
status: string;
re: string;
/** First line, ≤ 80 chars */
preview: string;
}
export interface ContextPack {
version: 1;
vantage: ContextVantage;
budgetTokens: number;
estimatedTokens: number;
truncated: boolean;
generatedAt: string;
lane: {
id: string | null;
worktreePath: string | null;
editRoot: string;
};
focus: ContextPackFocus | null;
waitingOnYou: ContextPackWaiting[];
milestone: {
id: string;
message: string;
at: string;
} | null;
decisions: ContextPackRef[];
links: ContextPackRef[];
policyRefs: ContextPackRef[];
}
export interface ContextPackOptions {
budgetTokens?: number;
vantage?: ContextVantage;
/** Focus issue id (e.g. TRL-127). Required for edit/review unless unique in_progress. */
issueId?: string;
/** Repo root used for editRoot fallback when no lane worktree. */
rootPath: string;
}
/** Thrown when edit/review cannot resolve a single focus issue. */
export declare class ContextPackFocusError extends Error {
constructor(message: string);
}
//# sourceMappingURL=types.d.ts.map