@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
TypeScript
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>;