bea
ce477546a1
Fix search: add username param, fix scope path, add sortBy property mapping
...
- buildSearchRequest now accepts username parameter for correct scope
- Fix double-slash in scope path when path='/'
- Map sortBy names to correct XML namespaces (size→oc:size, etc.)
- Sort property mapping for: name, size, lastModified, created, favorite
2026-05-11 14:54:47 +02:00
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