memos/server
johnnyjoygh 652957c0f9 fix(mcp): expose standard JSON Schema formats in tool schemas
The gnostic OpenAPI generator hardcodes `format: enum`, `format: bytes`,
and `format: field-mask` on string properties. These are OpenAPI-only
markers; MCP clients treat tool schemas as JSON Schema 2020-12 and warn
or fail on them (zod-based parsers log "unknown format" for every tool
on every load, ajv strict mode rejects the definitions).

Normalize schemas as they leave the resolver and when parameter schemas
are cloned: drop `format: enum` (the `enum` keyword is already present),
rewrite `format: bytes` to `contentEncoding: base64`, and drop
`format: field-mask`. The generated openapi.yaml is unchanged.

A catalog test now walks every curated tool's input and output schema
and fails on any format outside the registered allowlist.

Fixes #6262
2026-09-03 21:53:03 +08:00
..
access feat(spaces): add multi-space memo collaboration (#6228) 2026-08-23 19:36:50 +08:00
auth chore(go): upgrade to Go 1.27 (#6217) 2026-08-20 23:37:02 +08:00
notification feat(spaces): add multi-space memo collaboration (#6228) 2026-08-23 19:36:50 +08:00
router fix(mcp): expose standard JSON Schema formats in tool schemas 2026-09-03 21:53:03 +08:00
runner/memopayload fix(storage): proxy S3 attachments through authenticated routes (#6210) 2026-08-18 23:38:35 +08:00
test refactor(server): remove RSS feed support (#6243) 2026-08-28 23:06:25 +08:00
cors.go fix(cors): open API to any origin for token auth, keep cookies same-origin 2026-06-14 23:20:34 +08:00
cors_test.go fix(cors): open API to any origin for token auth, keep cookies same-origin 2026-06-14 23:20:34 +08:00
server.go refactor(server): remove RSS feed support (#6243) 2026-08-28 23:06:25 +08:00