vikunja/pkg/modules/mcp
kolaente b0bd8ab888 fix(mcp): allow update wrappers to clear booleans and numerics
copyByJSONTag previously skipped any IsZero value, which made it
impossible for tasks_update / projects_update to flip done from true
to false, reset priority/percent_done to 0, or unarchive a project.

A non-nil pointer src is now the unambiguous "caller supplied this"
signal: dereferenced values are written through even when zero, while
value-typed src fields keep the partial-update semantics. The
affected wrapper fields (Done, IsArchived, IsFavorite, Priority,
PercentDone, RepeatAfter, RepeatMode, BucketID,
CoverImageAttachmentID, ParentProjectID, Position) move to pointer
types so the JSON Schema still marks them optional.
2026-05-30 14:49:19 +02:00
..
context.go feat(mcp): add streamable-http endpoint skeleton 2026-05-26 23:08:45 +02:00
dispatcher.go feat(mcp): enforce per-tool api token scopes 2026-05-26 23:54:02 +02:00
dispatcher_test.go feat(mcp): enforce per-tool api token scopes 2026-05-26 23:54:02 +02:00
inputs.go fix(mcp): allow update wrappers to clear booleans and numerics 2026-05-30 14:49:19 +02:00
inputs_test.go fix(mcp): allow update wrappers to clear booleans and numerics 2026-05-30 14:49:19 +02:00
mcp.go feat(mcp): enforce per-tool api token scopes 2026-05-26 23:54:02 +02:00
registry.go feat(mcp): add resource registry and dispatcher 2026-05-26 23:20:04 +02:00
registry_test.go feat(mcp): add resource registry and dispatcher 2026-05-26 23:20:04 +02:00
resources.go feat(mcp): expose remaining v1 resources via mcp tools 2026-05-27 00:11:29 +02:00
scope.go feat(mcp): enforce per-tool api token scopes 2026-05-26 23:54:02 +02:00
scope_test.go feat(mcp): enforce per-tool api token scopes 2026-05-26 23:54:02 +02:00