pocketsmith-mcp
Version:
MCP server for managing budgets via PocketSmith API
144 lines (143 loc) • 4.17 kB
TypeScript
/**
* @fileoverview Update an existing transaction in PocketSmith
*/
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { RequestContext } from "../../../utils/index.js";
export declare const UpdateTransactionInputSchema: z.ZodObject<{
apiKey: z.ZodOptional<z.ZodString>;
accessToken: z.ZodOptional<z.ZodString>;
transactionId: z.ZodNumber;
payee: z.ZodOptional<z.ZodString>;
amount: z.ZodOptional<z.ZodNumber>;
date: z.ZodOptional<z.ZodString>;
categoryId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
note: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
transactionId: number;
apiKey?: string | undefined;
accessToken?: string | undefined;
categoryId?: number | null | undefined;
date?: string | undefined;
payee?: string | undefined;
amount?: number | undefined;
note?: string | null | undefined;
}, {
transactionId: number;
apiKey?: string | undefined;
accessToken?: string | undefined;
categoryId?: number | null | undefined;
date?: string | undefined;
payee?: string | undefined;
amount?: number | undefined;
note?: string | null | undefined;
}>;
export type UpdateTransactionInput = z.infer<typeof UpdateTransactionInputSchema>;
export declare const UpdateTransactionResponseSchema: z.ZodObject<{
transaction: z.ZodObject<{
id: z.ZodNumber;
payee: z.ZodString;
amount: z.ZodNumber;
date: z.ZodString;
note: z.ZodNullable<z.ZodString>;
category: z.ZodOptional<z.ZodObject<{
id: z.ZodNumber;
title: z.ZodString;
}, "strip", z.ZodTypeAny, {
title: string;
id: number;
}, {
title: string;
id: number;
}>>;
account: z.ZodObject<{
id: z.ZodNumber;
name: z.ZodString;
}, "strip", z.ZodTypeAny, {
name: string;
id: number;
}, {
name: string;
id: number;
}>;
currency_code: z.ZodString;
type: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: string;
id: number;
date: string;
currency_code: string;
payee: string;
amount: number;
note: string | null;
account: {
name: string;
id: number;
};
category?: {
title: string;
id: number;
} | undefined;
}, {
type: string;
id: number;
date: string;
currency_code: string;
payee: string;
amount: number;
note: string | null;
account: {
name: string;
id: number;
};
category?: {
title: string;
id: number;
} | undefined;
}>;
changes: z.ZodArray<z.ZodString, "many">;
success: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
transaction: {
type: string;
id: number;
date: string;
currency_code: string;
payee: string;
amount: number;
note: string | null;
account: {
name: string;
id: number;
};
category?: {
title: string;
id: number;
} | undefined;
};
success: boolean;
changes: string[];
}, {
transaction: {
type: string;
id: number;
date: string;
currency_code: string;
payee: string;
amount: number;
note: string | null;
account: {
name: string;
id: number;
};
category?: {
title: string;
id: number;
} | undefined;
};
success: boolean;
changes: string[];
}>;
export type UpdateTransactionResponse = z.infer<typeof UpdateTransactionResponseSchema>;
export declare function updateTransactionLogic(params: UpdateTransactionInput, context: RequestContext): Promise<UpdateTransactionResponse>;
export declare const registerUpdateTransactionTool: (server: McpServer) => Promise<void>;