implement CalDAV MCP server v1 with streamable HTTP tools

This commit is contained in:
2026-03-20 15:47:06 +01:00
parent c92bf5c912
commit 4735b9ccf2
20 changed files with 4505 additions and 2 deletions

16
tests/errors.test.ts Normal file
View File

@@ -0,0 +1,16 @@
import { describe, expect, it } from "vitest";
import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
import { CaldavHttpError, mapErrorToMcp } from "../src/errors.js";
describe("mapErrorToMcp", () => {
it("maps 412 to invalid request conflict", () => {
const error = mapErrorToMcp(new CaldavHttpError(412, "PUT", "https://example.com", ""));
expect(error.code).toBe(ErrorCode.InvalidRequest);
expect(error.message.toLowerCase()).toContain("conflict");
});
it("maps 5xx to internal error", () => {
const error = mapErrorToMcp(new CaldavHttpError(503, "PROPFIND", "https://example.com", ""));
expect(error.code).toBe(ErrorCode.InternalError);
});
});