Template
chore: YAML-Schemas in Dateiköpfe, tibi-types auf 4c55f82
deploy to production / deploy (push) Successful in 43s
deploy to production / deploy (push) Successful in 43s
- yaml-language-server-Schema direkt in jeder api-YAML statt .vscode/yaml.schemas-Mapping (exakter pro Datei, kein Glob-Rätsel) - erweiterte meta.agent-Doku in den Collections - tibi-types-Submodul auf 4c55f82 (meta.agent- + meta.query-Schemas)
This commit is contained in:
1 parent
7ef080ba88
commit
45a021fb53
10 files changed
+18
-21
No files matched your search
@@ -1,3 +1,4 @@
|
||||
# yaml-language-server: $schema=../../tibi-types/schemas/config/collection.schema.json
|
||||
########################################################################
|
||||
# Media library — reusable uploaded assets referenced via foreignMedia
|
||||
########################################################################
|
||||
@@ -42,12 +43,12 @@ meta:
|
||||
file.type_like: ^(?!image/|video/|audio/).+
|
||||
agent:
|
||||
purpose: "Reusable uploads referenced via foreignMedia (blocks.heroImage.image, blocks.image)."
|
||||
instructions: "Upload file as object {src:'data:<mime>;base64,...', path:'name.jpg'} (path optional). Stored as {src:'<field>/name.jpg', path, type}. Never {filename,data}, never file as plain string. Public read URL: /api/medialib/<entryId>/<src> plus ?filter=l-webp for raster images. downscale max 2048px applies on upload."
|
||||
instructions: "Upload file as object {src:'data:<mime>;base64,...', path:'name.jpg'} (path optional). Stored as {src:'<field>/name.jpg', path, type}. Never {filename,data}, never file as plain string. Public read URL: /api/medialib/<entryId>/<src> plus ?filter=l-webp for raster images. downscale max 2048px applies on upload. GOTCHA 2026-10-05: filter_public.js forces active:true on anonymous reads although this schema declares no active field – without stored active:true every medialib lookup stays unresolved publicly (plain IDs, no _lookup, HeroBlock renders gradient fallback and Richtext images vanish) although PAT reads succeed. Always store active:true on every medialib doc."
|
||||
fieldHints:
|
||||
file: "required, widget file, max 50MB"
|
||||
alt: "object {de,en}, used by MedialibImage for accessibility"
|
||||
examples: [{ title: "Demo Hero 1200", file: { src: "data:image/jpeg;base64,...", path: "demo-hero-1200.jpg" } }]
|
||||
hints: ["list with select excluding file.data to avoid context bloat", "verify file.src starts with <field>/ after create"]
|
||||
examples: [{ title: "Demo Hero 1200", file: { src: "data:image/jpeg;base64,...", path: "demo-hero-1200.jpg" }, active: true }]
|
||||
hints: ["list with select excluding file.data to avoid context bloat", "verify file.src starts with <field>/ after create", "missing active:true => public lookups unresolved (verified incident 2026-10-05)"]
|
||||
|
||||
permissions:
|
||||
public:
|
||||
|
||||
Reference in new issue
Block a user