Commit Graph

7 Commits

Author SHA1 Message Date
bea 73d96b9902 Step 1: complete webdav.ts — XML builders + parsers for file operations
- All PROPFIND builders (standard, extended, trashbin, versions, quota)
- PROPPATCH builder for property updates (favorites)
- REPORT builder for favorite filtering
- SEARCH builder (rfc5323) with dynamic where-clause construction
- All response parsers (files, single file, search, trashbin, versions, quota)
- Helper extractors for properties, booleans, numerics
- Namespace handling for both prefixed and unprefixed XML tags
2026-05-11 14:08:23 +02:00
bea 84c5bdd90e refactor: modularize codebase — Step 0 structural refactoring
Extract monolithic index.ts (~600 lines) into focused modules:
- src/types.ts — shared TypeScript interfaces (FileMetadata, QuotaInfo, etc.)
- src/utils.ts — path, mime detection, formatting helpers
- src/client.ts — NextcloudClient wrapping axios with WebDAV primitives
- src/webdav.ts — XML builders + parsers (scaffolding for file tools)
- src/tools/index.ts — ToolModule interface + auto registry
- src/tools/calendar.ts — extracted calendar tools
- src/tools/tasks.ts — extracted task tools
- src/tools/notes.ts — extracted note tools
- src/tools/email.ts — extracted email tools
- src/tools/files.ts — empty scaffolding for upcoming file management tools

src/index.ts reduced to ~50 lines: config, client instantiation, module registration, MCP setup.

Zero regression on existing tools. Verified: list_calendars, get_notes, create_note, get_note_content all functional.
2026-05-11 13:43:36 +02:00
bea d308d8375e Add ncmcp.mjs CLI wrapper 2026-05-11 02:38:22 +02:00
bea dd32492831 fix build 2026-03-09 17:03:25 +01:00
bea f114308447 update caldav 2026-03-09 16:57:33 +01:00
Jules Grinnell 7da30ae044 Clean git move from play 2025-11-23 16:44:05 +01:00
Jules f0331de014 Initial commit 2025-11-23 16:35:57 +01:00