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