Skip to main content
Glama

Puzzlebox

by cliffhall
schemas.ts1.26 kB
import { z } from "zod"; export const noArgSchema = z.object({}); export const actionSchema = z.object({ name: z.string(), targetState: z.string(), }); export const stateSchema = z.object({ name: z.string(), actions: z.record(z.string(), actionSchema).optional(), enterGuard: z.string().optional(), exitGuard: z.string().optional(), }); export const puzzleSchema = z.object({ id: z.string().optional(), initialState: z.string(), states: z.record(z.string(), stateSchema), }); // TypeScript type inferred from the schema export type PuzzleConfig = z.infer<typeof puzzleSchema>; export const addPuzzleSchema = z.object({ config: puzzleSchema, }); export const getPuzzleSnapshotSchema = z.object({ puzzleId: z.string(), }); export const performActionOnPuzzleSchema = z.object({ puzzleId: z.string(), actionName: z.string(), }); /* export const invokeTransitionGuard = z.object({ prompt: z.string().describe("The prompt to send to the LLM"), maxTokens: z .number() .default(100) .describe("Maximum number of tokens to generate"), }); export const PuzzleStateChangedNotificationSchema = z.object({ method: z.literal("notifications/puzzle/state_changed"), puzzleId: z.string(), newState: z.string(), }); */

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cliffhall/puzzlebox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server