Review-Nachbefunde am neuen embedding-Schema:
- latencyWindow war als integer/number deklariert, ist in Go aber ein String
(ConfigEmbeddingGroup.OnSingleQuery.LatencyWindow, per Atoi geprüft) — Schema
und index.d.ts auf digits-String (>0) umgestellt.
- duration-Pattern erlaubte nur eine Einheit und akzeptierte Unsinn wie "1ss":
jetzt (Zahl+Einheit)+, damit auch 1m30s/1h1m/1.5h gelten und 1ss/8/abc fallen.
- Beispiel examples/server/embedding.yml übt latencyWindow und Mehrfach-Einheiten
aus (npm test: 5 YAML gegen 17 Schemas, tsc --noEmit --strict grün).
index.d.ts: EmbeddingProviderConfig/EmbeddingGroupConfig (onSingleQuery, onBulkWrite,
health), EmbeddingConfig für config.server().embedding (Roh-JSON von config.Server.
Embedding) sowie die Status-Payloads von GET …/admin/embedding/status (Projekt- und
Server-Scope, Zustände live|degraded|quarantined|offline, Breaker closed|open|half-open).
VectorConfig.provider dokumentiert jetzt, dass dort auch ein Gruppenname stehen darf.
schemas/config/embedding.schema.json: validierbares Schema des Server-Abschnitts
(Enums für Policies/Distributionen, Go-Duration-Muster, Pflichtfelder, keine
erfundenen Properties); Beispiel examples/server/embedding.yml, per
scripts/validate-schemas.mjs mitgeprüft (npm test: 5 YAML gegen 17 Schemas).
Quelle der Wahrheit: internal/config/server.go + internal/config/embedding_group.go
(tibi-server). Typecheck: tsc --noEmit --strict über index.d.ts grün.
Hooks lesen oft zusätzliche Query-Parameter (ctx.request().query(name)).
Mit meta.query werden sie deklariert, für Agenten dokumentiert
(REST _meta/OpenAPI, MCP collection_describe) und bei MCP-Calls
validiert. Vergleiche docs 04-collections (meta.query).
Die Starter-Collections dokumentieren Editor-Workflows in meta.agent
(tibi-server spielt das ueber MCP/REST _meta aus), die Schemas kannten
den Schlüssel aber nicht – YAML-LS meldete 'Property agent is not
allowed'. agent ist bewusst freiform (additionalProperties: true),
damit die Doku nicht wieder hinterherhinkt.
Feld-Meta position erlaubt jetzt section und section:<group> neben main/sidebar.
Collection-Meta bekommt sections: [{ group, label, collapsible, collapsed }] als
Pendant zu sidebar.
Ohne das Pattern-Update schlaegt die YAML-Validierung im Editor fehl und
position: "section:x" wird als ungueltig markiert.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
choices previously only array|object, now also string to allow
choices: !include ../../choices/icon-choices.yml
which tibi-server resolves via yamlResolveIncludes before validation
- Introduced `field-list.schema.json`, `field-meta.schema.json`, and `field.schema.json` for field configurations.
- Added `hooks.schema.json` for defining hooks in the Tibi project.
- Created `image-filter.schema.json` for image processing configurations.
- Implemented `job.schema.json` for job scheduling configurations.
- Added `openapi.schema.json` for OpenAPI metadata generation.
- Introduced `permissions.schema.json` for managing permissions in the project.
- Created `project.schema.json` for overall project configuration.
- Added `projections.schema.json` for defining projections in the project.
- Implemented a validation script `validate-schemas.mjs` to ensure schema compliance.