@emmahyde/thinking-patterns
Version:
MCP server combining systematic thinking, mental models, debugging approaches, and stochastic algorithms for comprehensive cognitive pattern support
24 lines (23 loc) • 1.78 kB
JavaScript
import { z } from 'zod';
/**
* Structured Argumentation Schema
*
* Defines the structure for dialectical reasoning and argument analysis.
* Supports formal debate structures including thesis, antithesis, synthesis,
* objections, and rebuttals for systematic logical reasoning.
*/
export const StructuredArgumentationSchema = z.object({
claim: z.string().describe("The central claim or assertion being made."),
premises: z.array(z.string()).describe("A list of reasons or evidence supporting the claim."),
conclusion: z.string().describe("The logical conclusion drawn from the premises."),
argumentId: z.string().optional().describe("A unique identifier for this argument."),
argumentType: z.enum(["thesis", "antithesis", "synthesis", "objection", "rebuttal"]).describe("The type of argument being made."),
confidence: z.number().min(0).max(1).describe("A confidence score (0-1) in the validity of the argument."),
respondsTo: z.string().optional().describe("The ID of the argument to which this one is responding."),
supports: z.array(z.string()).optional().describe("A list of argument IDs that this argument supports."),
contradicts: z.array(z.string()).optional().describe("A list of argument IDs that this argument contradicts."),
strengths: z.array(z.string()).optional().describe("A list of the argument's strengths."),
weaknesses: z.array(z.string()).optional().describe("A list of the argument's weaknesses."),
nextArgumentNeeded: z.boolean().describe("A flag indicating whether another argument is needed to continue the debate."),
suggestedNextTypes: z.array(z.enum(["thesis", "antithesis", "synthesis", "objection", "rebuttal"])).optional().describe("A list of suggested types for the next argument."),
});