mcp-decisive
Version:
MCP server for WRAP decision-making framework with structured output
90 lines • 2.49 kB
TypeScript
import { z } from 'zod';
/**
* ワークフロー状態のADT(代数的データ型)
*/
export type WorkflowState = {
type: 'undefined';
} | {
type: 'issue_defined';
} | {
type: 'initial_options_registered';
} | {
type: 'laddered';
} | {
type: 'analogical_research_done';
} | {
type: 'elimination_tested';
} | {
type: 'options_fixed';
};
/**
* ワークフロー状態のコンストラクタ
*/
export declare const WorkflowState: {
readonly undefined: () => WorkflowState;
readonly issueDefined: () => WorkflowState;
readonly initialOptionsRegistered: () => WorkflowState;
readonly laddered: () => WorkflowState;
readonly analogicalResearchDone: () => WorkflowState;
readonly eliminationTested: () => WorkflowState;
readonly optionsFixed: () => WorkflowState;
};
/**
* Zodスキーマ
*/
export declare const WorkflowStateSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"undefined">;
}, "strip", z.ZodTypeAny, {
type: "undefined";
}, {
type: "undefined";
}>, z.ZodObject<{
type: z.ZodLiteral<"issue_defined">;
}, "strip", z.ZodTypeAny, {
type: "issue_defined";
}, {
type: "issue_defined";
}>, z.ZodObject<{
type: z.ZodLiteral<"initial_options_registered">;
}, "strip", z.ZodTypeAny, {
type: "initial_options_registered";
}, {
type: "initial_options_registered";
}>, z.ZodObject<{
type: z.ZodLiteral<"laddered">;
}, "strip", z.ZodTypeAny, {
type: "laddered";
}, {
type: "laddered";
}>, z.ZodObject<{
type: z.ZodLiteral<"analogical_research_done">;
}, "strip", z.ZodTypeAny, {
type: "analogical_research_done";
}, {
type: "analogical_research_done";
}>, z.ZodObject<{
type: z.ZodLiteral<"elimination_tested">;
}, "strip", z.ZodTypeAny, {
type: "elimination_tested";
}, {
type: "elimination_tested";
}>, z.ZodObject<{
type: z.ZodLiteral<"options_fixed">;
}, "strip", z.ZodTypeAny, {
type: "options_fixed";
}, {
type: "options_fixed";
}>]>;
/**
* 状態遷移が有効かどうかを判定する純粋関数
*/
export declare const isValidTransition: (from: WorkflowState, to: WorkflowState) => boolean;
/**
* 状態の表示名を取得する純粋関数
*/
export declare const getDisplayName: (state: WorkflowState) => string;
/**
* 状態を比較する純粋関数
*/
export declare const isState: (state: WorkflowState, type: WorkflowState["type"]) => boolean;
//# sourceMappingURL=workflow-state.d.ts.map