UNPKG

utilitai

Version:

Utility AI library built with TypeScript

32 lines (25 loc) 803 B
export interface Action { name: string | number; parameters?: Record<string, any>; } export interface Appraisal { evaluate: AppraisalFunction; computeCurve?: CurveFunction } export interface Consideration { action: Action; bonusFactor: number; weight: number; appraisals: Appraisal[]; scoringMethod: ScoringFunction; parameters?: Record<string, any>; } export interface Reasoner { considerations: Consideration[]; evaluate: (context: Context) => Action; } export type Context = Record<string, any>; // we may want to have additional (and optional) appraisal params export type AppraisalFunction = (context: Context) => number; export type ScoringFunction = (scores: number[]) => number; export type CurveFunction = (score: number) => number;