UNPKG

@kangthink/q-engine

Version:

A question-answer generation engine that stimulates thinking

89 lines 2.54 kB
export declare enum NodeType { QUESTION = "QUESTION", ANSWER = "ANSWER" } export interface Node { id: string; type: NodeType; content: string; metadata?: Record<string, any>; createdAt: Date; updatedAt: Date; } export interface QuestionNode extends Node { type: NodeType.QUESTION; } export interface AnswerNode extends Node { type: NodeType.ANSWER; } export interface Edge { id: string; from: string; to: string; transform: string; metadata?: Record<string, any>; createdAt: Date; } export declare enum TransformMode { FIVE_W_ONE_H = "FIVE_W_ONE_H",// 육하원칙 SOCRATIC = "SOCRATIC",// 소크라테스 MATRIX = "MATRIX",// Matrix mode SCIENTIFIC = "SCIENTIFIC",// 과학적 질문 방법 ANSWER = "ANSWER" } export interface TransformContext { sourceNode: Node; mode: TransformMode; options?: Record<string, any>; } export interface TransformResult { targetNode: Node; edge: Edge; } export interface MultiTransformResult { targetNodes: Node[]; edges: Edge[]; } export interface Transform { mode: TransformMode; transform(context: TransformContext): Promise<TransformResult>; transformMultiple?(context: TransformContext): Promise<MultiTransformResult>; } export interface PromptTemplate { id: string; mode: TransformMode; template: string; variables: string[]; } export interface LLMProvider { generateResponse(prompt: string): Promise<string>; } export declare enum MatrixLevel { FACT_CHECK = 1,// 사실 확인 UNDERSTAND_EXPLAIN = 2,// 이해·설명 CAUSE_CONTEXT = 3,// 원인·맥락 파악 APPLY_COMPARE = 4,// 적용·비교 EVALUATE_CREATE_CRITIQUE = 5 } export declare enum MatrixDirection { FOCUSED = "FOCUSED",// 직진 - 본문·대상 내부에 깊이 파고드는 질문 CONTEXT = "CONTEXT",// 확장 - 주변 문맥·관련 주제·유사 사례로 시야 확장 APPLIED = "APPLIED",// 응용 - 배운 개념을 새로운 상황·분야에 적용 CRITICAL = "CRITICAL" } export interface MatrixOptions { level: MatrixLevel; direction: MatrixDirection; } export declare enum AnswerLength { SHORT = "SHORT",// 짧게 (1-2문장) MEDIUM = "MEDIUM",// 보통 (3-5문장) LONG = "LONG",// 길게 (6-10문장) DETAILED = "DETAILED" } export interface AnswerOptions { length: AnswerLength; tone?: 'formal' | 'casual' | 'academic' | 'simple'; includeExamples?: boolean; } //# sourceMappingURL=index.d.ts.map