mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-08-30 09:07:40 -05:00
Replaces the hand-written per-resource plumbing (input wrapper structs, per-resource install functions, per-op Inputs maps) with a generic layer: - schema.go reflects each op's input schema from the model's existing json/doc/readOnly/valid/minLength/param/query tags — the same contract the Huma-backed /api/v2 reads. URL-bound param fields become required JSON arguments; models without an exposed id (task assignees) are identified by their param fields. - apply.go applies arguments presence-based: only keys the caller sent are written, so an explicit zero clears a field and an omitted key leaves it untouched — replacing the pointer tri-state wrappers. - Registration is now a pure declaration (name, model, ops); the SDK's low-level AddTool with runtime-built schemas replaces the generic typed handlers, collapsing the six install functions into one loop. - tasks_read_all now exists, backed by models.TaskCollection, exposing the filter/sort_by/order_by query surface. inputs.go and its wrapper structs are deleted; behavior is pinned by the unchanged mcp webtests.