UNPKG

@emmahyde/thinking-patterns

Version:

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

352 lines (351 loc) 11.8 kB
import { z } from 'zod'; /** * Collaborative Reasoning Schema * * Defines the structure for multi-perspective collaborative problem solving * with diverse personas and structured contributions. Supports systematic * group reasoning processes with consensus building and disagreement resolution. */ export declare const PersonaSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; expertise: z.ZodArray<z.ZodString, "many">; background: z.ZodString; perspective: z.ZodString; biases: z.ZodArray<z.ZodString, "many">; communication: z.ZodObject<{ style: z.ZodString; tone: z.ZodString; }, "strip", z.ZodTypeAny, { style: string; tone: string; }, { style: string; tone: string; }>; }, "strip", z.ZodTypeAny, { name: string; id: string; expertise: string[]; background: string; perspective: string; biases: string[]; communication: { style: string; tone: string; }; }, { name: string; id: string; expertise: string[]; background: string; perspective: string; biases: string[]; communication: { style: string; tone: string; }; }>; export declare const ContributionSchema: z.ZodObject<{ personaId: z.ZodString; content: z.ZodString; type: z.ZodEnum<["observation", "question", "insight", "concern", "suggestion", "challenge", "synthesis"]>; confidence: z.ZodNumber; referenceIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { type: "observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis"; confidence: number; content: string; personaId: string; referenceIds?: string[] | undefined; }, { type: "observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis"; confidence: number; content: string; personaId: string; referenceIds?: string[] | undefined; }>; export declare const DisagreementPositionSchema: z.ZodObject<{ personaId: z.ZodString; position: z.ZodString; arguments: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { personaId: string; position: string; arguments: string[]; }, { personaId: string; position: string; arguments: string[]; }>; export declare const DisagreementResolutionSchema: z.ZodObject<{ type: z.ZodEnum<["consensus", "compromise", "integration", "tabled"]>; description: z.ZodString; }, "strip", z.ZodTypeAny, { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; }, { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; }>; export declare const DisagreementSchema: z.ZodObject<{ topic: z.ZodString; positions: z.ZodArray<z.ZodObject<{ personaId: z.ZodString; position: z.ZodString; arguments: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { personaId: string; position: string; arguments: string[]; }, { personaId: string; position: string; arguments: string[]; }>, "many">; resolution: z.ZodOptional<z.ZodObject<{ type: z.ZodEnum<["consensus", "compromise", "integration", "tabled"]>; description: z.ZodString; }, "strip", z.ZodTypeAny, { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; }, { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; }>>; }, "strip", z.ZodTypeAny, { topic: string; positions: { personaId: string; position: string; arguments: string[]; }[]; resolution?: { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; } | undefined; }, { topic: string; positions: { personaId: string; position: string; arguments: string[]; }[]; resolution?: { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; } | undefined; }>; export declare const CollaborativeReasoningSchema: z.ZodObject<{ topic: z.ZodString; personas: z.ZodArray<z.ZodObject<{ id: z.ZodString; name: z.ZodString; expertise: z.ZodArray<z.ZodString, "many">; background: z.ZodString; perspective: z.ZodString; biases: z.ZodArray<z.ZodString, "many">; communication: z.ZodObject<{ style: z.ZodString; tone: z.ZodString; }, "strip", z.ZodTypeAny, { style: string; tone: string; }, { style: string; tone: string; }>; }, "strip", z.ZodTypeAny, { name: string; id: string; expertise: string[]; background: string; perspective: string; biases: string[]; communication: { style: string; tone: string; }; }, { name: string; id: string; expertise: string[]; background: string; perspective: string; biases: string[]; communication: { style: string; tone: string; }; }>, "many">; contributions: z.ZodArray<z.ZodObject<{ personaId: z.ZodString; content: z.ZodString; type: z.ZodEnum<["observation", "question", "insight", "concern", "suggestion", "challenge", "synthesis"]>; confidence: z.ZodNumber; referenceIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { type: "observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis"; confidence: number; content: string; personaId: string; referenceIds?: string[] | undefined; }, { type: "observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis"; confidence: number; content: string; personaId: string; referenceIds?: string[] | undefined; }>, "many">; stage: z.ZodEnum<["problem-definition", "ideation", "critique", "integration", "decision", "reflection"]>; activePersonaId: z.ZodString; nextPersonaId: z.ZodOptional<z.ZodString>; consensusPoints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; disagreements: z.ZodOptional<z.ZodArray<z.ZodObject<{ topic: z.ZodString; positions: z.ZodArray<z.ZodObject<{ personaId: z.ZodString; position: z.ZodString; arguments: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { personaId: string; position: string; arguments: string[]; }, { personaId: string; position: string; arguments: string[]; }>, "many">; resolution: z.ZodOptional<z.ZodObject<{ type: z.ZodEnum<["consensus", "compromise", "integration", "tabled"]>; description: z.ZodString; }, "strip", z.ZodTypeAny, { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; }, { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; }>>; }, "strip", z.ZodTypeAny, { topic: string; positions: { personaId: string; position: string; arguments: string[]; }[]; resolution?: { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; } | undefined; }, { topic: string; positions: { personaId: string; position: string; arguments: string[]; }[]; resolution?: { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; } | undefined; }>, "many">>; keyInsights: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; openQuestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; finalRecommendation: z.ZodOptional<z.ZodString>; sessionId: z.ZodString; iteration: z.ZodNumber; suggestedContributionTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<["observation", "question", "insight", "concern", "suggestion", "challenge", "synthesis"]>, "many">>; nextContributionNeeded: z.ZodBoolean; }, "strip", z.ZodTypeAny, { sessionId: string; topic: string; personas: { name: string; id: string; expertise: string[]; background: string; perspective: string; biases: string[]; communication: { style: string; tone: string; }; }[]; contributions: { type: "observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis"; confidence: number; content: string; personaId: string; referenceIds?: string[] | undefined; }[]; stage: "integration" | "problem-definition" | "ideation" | "critique" | "decision" | "reflection"; activePersonaId: string; iteration: number; nextContributionNeeded: boolean; nextPersonaId?: string | undefined; consensusPoints?: string[] | undefined; disagreements?: { topic: string; positions: { personaId: string; position: string; arguments: string[]; }[]; resolution?: { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; } | undefined; }[] | undefined; keyInsights?: string[] | undefined; openQuestions?: string[] | undefined; finalRecommendation?: string | undefined; suggestedContributionTypes?: ("observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis")[] | undefined; }, { sessionId: string; topic: string; personas: { name: string; id: string; expertise: string[]; background: string; perspective: string; biases: string[]; communication: { style: string; tone: string; }; }[]; contributions: { type: "observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis"; confidence: number; content: string; personaId: string; referenceIds?: string[] | undefined; }[]; stage: "integration" | "problem-definition" | "ideation" | "critique" | "decision" | "reflection"; activePersonaId: string; iteration: number; nextContributionNeeded: boolean; nextPersonaId?: string | undefined; consensusPoints?: string[] | undefined; disagreements?: { topic: string; positions: { personaId: string; position: string; arguments: string[]; }[]; resolution?: { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; } | undefined; }[] | undefined; keyInsights?: string[] | undefined; openQuestions?: string[] | undefined; finalRecommendation?: string | undefined; suggestedContributionTypes?: ("observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis")[] | undefined; }>; export type CollaborativeReasoningData = z.infer<typeof CollaborativeReasoningSchema>; export type PersonaData = z.infer<typeof PersonaSchema>; export type ContributionData = z.infer<typeof ContributionSchema>; export type DisagreementData = z.infer<typeof DisagreementSchema>;