UNPKG

obsidian-mcp-server

Version:

MCP server for Obsidian vaults — read, write, search, and surgically edit notes, tags, and frontmatter via the Local REST API plugin. STDIO or Streamable HTTP.

45 lines 1.69 kB
/** * @fileoverview Reusable Zod shapes for Obsidian tool definitions. * Target/Section/PatchOptions/ContentType are referenced across multiple tools; * keeping them here prevents drift in the discriminator and field descriptions. * @module mcp-server/tools/definitions/_shared/schemas */ import { z } from '@cyanheads/mcp-ts-core'; /** Where a note lives — vault path, the active file, or a periodic note. */ export declare const TargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"path">; path: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"active">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"periodic">; period: z.ZodEnum<{ daily: "daily"; weekly: "weekly"; monthly: "monthly"; quarterly: "quarterly"; yearly: "yearly"; }>; date: z.ZodOptional<z.ZodString>; }, z.core.$strip>], "type">; /** Sub-document target inside a note. */ export declare const SectionSchema: z.ZodObject<{ type: z.ZodEnum<{ heading: "heading"; block: "block"; frontmatter: "frontmatter"; }>; target: z.ZodString; }, z.core.$strip>; export declare const PatchOptionsSchema: z.ZodOptional<z.ZodObject<{ createTargetIfMissing: z.ZodDefault<z.ZodBoolean>; applyIfContentPreexists: z.ZodDefault<z.ZodBoolean>; trimTargetWhitespace: z.ZodDefault<z.ZodBoolean>; }, z.core.$strip>>; export declare const ContentTypeSchema: z.ZodDefault<z.ZodEnum<{ markdown: "markdown"; json: "json"; }>>; export type ToolTarget = z.infer<typeof TargetSchema>; export type ToolSection = z.infer<typeof SectionSchema>; //# sourceMappingURL=schemas.d.ts.map