import type { DecideInput, Decision, DecisionResults } from './types.js' /** A runtime owns the resources it allocates and releases them before settling. */ export interface DecisionRuntime { decide(input: DecideInput): Promise> } export class InputTooLongError extends Error { constructor( readonly tokens: number, readonly limit: number, readonly decisionId = '' ) { super(`Decision needs ${tokens} tokens, exceeding the limit of ${limit}.`) } }