UNPKG

@emmahyde/thinking-patterns

Version:

MCP server combining systematic thinking, mental models, debugging approaches, and stochastic algorithms for comprehensive cognitive pattern support

289 lines (288 loc) 9.59 kB
import { z } from 'zod'; /** * Decision Framework Schema * * Defines the structure for structured decision analysis and rational choice * frameworks. Supports multi-criteria analysis, expected utility calculations, * and systematic evaluation of decision options. */ export declare const DecisionOptionSchema: z.ZodObject<{ id: z.ZodOptional<z.ZodString>; name: z.ZodString; description: z.ZodString; }, "strip", z.ZodTypeAny, { description: string; name: string; id?: string | undefined; }, { description: string; name: string; id?: string | undefined; }>; export declare const DecisionCriterionSchema: z.ZodObject<{ id: z.ZodOptional<z.ZodString>; name: z.ZodString; description: z.ZodString; weight: z.ZodNumber; evaluationMethod: z.ZodEnum<["quantitative", "qualitative", "boolean"]>; }, "strip", z.ZodTypeAny, { description: string; name: string; weight: number; evaluationMethod: "boolean" | "quantitative" | "qualitative"; id?: string | undefined; }, { description: string; name: string; weight: number; evaluationMethod: "boolean" | "quantitative" | "qualitative"; id?: string | undefined; }>; export declare const CriterionEvaluationSchema: z.ZodObject<{ criterionId: z.ZodString; optionId: z.ZodString; score: z.ZodNumber; justification: z.ZodString; }, "strip", z.ZodTypeAny, { criterionId: string; optionId: string; score: number; justification: string; }, { criterionId: string; optionId: string; score: number; justification: string; }>; export declare const PossibleOutcomeSchema: z.ZodObject<{ id: z.ZodOptional<z.ZodString>; description: z.ZodString; probability: z.ZodNumber; value: z.ZodNumber; optionId: z.ZodString; confidenceInEstimate: z.ZodNumber; }, "strip", z.ZodTypeAny, { description: string; value: number; optionId: string; probability: number; confidenceInEstimate: number; id?: string | undefined; }, { description: string; value: number; optionId: string; probability: number; confidenceInEstimate: number; id?: string | undefined; }>; export declare const InformationGapSchema: z.ZodObject<{ description: z.ZodString; impact: z.ZodNumber; researchMethod: z.ZodString; }, "strip", z.ZodTypeAny, { description: string; impact: number; researchMethod: string; }, { description: string; impact: number; researchMethod: string; }>; export declare const DecisionFrameworkSchema: z.ZodObject<{ decisionStatement: z.ZodString; options: z.ZodArray<z.ZodObject<{ id: z.ZodOptional<z.ZodString>; name: z.ZodString; description: z.ZodString; }, "strip", z.ZodTypeAny, { description: string; name: string; id?: string | undefined; }, { description: string; name: string; id?: string | undefined; }>, "many">; criteria: z.ZodOptional<z.ZodArray<z.ZodObject<{ id: z.ZodOptional<z.ZodString>; name: z.ZodString; description: z.ZodString; weight: z.ZodNumber; evaluationMethod: z.ZodEnum<["quantitative", "qualitative", "boolean"]>; }, "strip", z.ZodTypeAny, { description: string; name: string; weight: number; evaluationMethod: "boolean" | "quantitative" | "qualitative"; id?: string | undefined; }, { description: string; name: string; weight: number; evaluationMethod: "boolean" | "quantitative" | "qualitative"; id?: string | undefined; }>, "many">>; stakeholders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; constraints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; timeHorizon: z.ZodOptional<z.ZodString>; riskTolerance: z.ZodOptional<z.ZodEnum<["risk-averse", "risk-neutral", "risk-seeking"]>>; possibleOutcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{ id: z.ZodOptional<z.ZodString>; description: z.ZodString; probability: z.ZodNumber; value: z.ZodNumber; optionId: z.ZodString; confidenceInEstimate: z.ZodNumber; }, "strip", z.ZodTypeAny, { description: string; value: number; optionId: string; probability: number; confidenceInEstimate: number; id?: string | undefined; }, { description: string; value: number; optionId: string; probability: number; confidenceInEstimate: number; id?: string | undefined; }>, "many">>; criteriaEvaluations: z.ZodOptional<z.ZodArray<z.ZodObject<{ criterionId: z.ZodString; optionId: z.ZodString; score: z.ZodNumber; justification: z.ZodString; }, "strip", z.ZodTypeAny, { criterionId: string; optionId: string; score: number; justification: string; }, { criterionId: string; optionId: string; score: number; justification: string; }>, "many">>; informationGaps: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodString; impact: z.ZodNumber; researchMethod: z.ZodString; }, "strip", z.ZodTypeAny, { description: string; impact: number; researchMethod: string; }, { description: string; impact: number; researchMethod: string; }>, "many">>; analysisType: z.ZodEnum<["expected-utility", "multi-criteria", "maximin", "minimax-regret", "satisficing"]>; stage: z.ZodEnum<["problem-definition", "options", "criteria", "evaluation", "analysis", "recommendation"]>; recommendation: z.ZodOptional<z.ZodString>; sensitivityInsights: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; expectedValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>; multiCriteriaScores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>; decisionId: z.ZodString; iteration: z.ZodNumber; suggestedNextStage: z.ZodOptional<z.ZodString>; nextStageNeeded: z.ZodBoolean; }, "strip", z.ZodTypeAny, { options: { description: string; name: string; id?: string | undefined; }[]; stage: "options" | "problem-definition" | "criteria" | "evaluation" | "analysis" | "recommendation"; iteration: number; decisionStatement: string; analysisType: "expected-utility" | "multi-criteria" | "maximin" | "minimax-regret" | "satisficing"; decisionId: string; nextStageNeeded: boolean; criteria?: { description: string; name: string; weight: number; evaluationMethod: "boolean" | "quantitative" | "qualitative"; id?: string | undefined; }[] | undefined; stakeholders?: string[] | undefined; constraints?: string[] | undefined; timeHorizon?: string | undefined; riskTolerance?: "risk-averse" | "risk-neutral" | "risk-seeking" | undefined; possibleOutcomes?: { description: string; value: number; optionId: string; probability: number; confidenceInEstimate: number; id?: string | undefined; }[] | undefined; criteriaEvaluations?: { criterionId: string; optionId: string; score: number; justification: string; }[] | undefined; informationGaps?: { description: string; impact: number; researchMethod: string; }[] | undefined; recommendation?: string | undefined; sensitivityInsights?: string[] | undefined; expectedValues?: Record<string, number> | undefined; multiCriteriaScores?: Record<string, number> | undefined; suggestedNextStage?: string | undefined; }, { options: { description: string; name: string; id?: string | undefined; }[]; stage: "options" | "problem-definition" | "criteria" | "evaluation" | "analysis" | "recommendation"; iteration: number; decisionStatement: string; analysisType: "expected-utility" | "multi-criteria" | "maximin" | "minimax-regret" | "satisficing"; decisionId: string; nextStageNeeded: boolean; criteria?: { description: string; name: string; weight: number; evaluationMethod: "boolean" | "quantitative" | "qualitative"; id?: string | undefined; }[] | undefined; stakeholders?: string[] | undefined; constraints?: string[] | undefined; timeHorizon?: string | undefined; riskTolerance?: "risk-averse" | "risk-neutral" | "risk-seeking" | undefined; possibleOutcomes?: { description: string; value: number; optionId: string; probability: number; confidenceInEstimate: number; id?: string | undefined; }[] | undefined; criteriaEvaluations?: { criterionId: string; optionId: string; score: number; justification: string; }[] | undefined; informationGaps?: { description: string; impact: number; researchMethod: string; }[] | undefined; recommendation?: string | undefined; sensitivityInsights?: string[] | undefined; expectedValues?: Record<string, number> | undefined; multiCriteriaScores?: Record<string, number> | undefined; suggestedNextStage?: string | undefined; }>; export type DecisionFrameworkData = z.infer<typeof DecisionFrameworkSchema>; export type DecisionOptionData = z.infer<typeof DecisionOptionSchema>; export type DecisionCriterionData = z.infer<typeof DecisionCriterionSchema>;