fix(schema): latencyWindow ist ein String, duration-Muster folgt der Go-Grammatik

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).
This commit is contained in:
apairon committed 2026-10-17 14:07:30 +00:00
1 parent 5a45c4dd3f
commit 1233bd393d
3 files changed
+11 -7

No files matched your search

+5 -5
View File
@@ -26,8 +26,8 @@
"definitions": {
"duration": {
"type": "string",
"description": "Go-Duration, z. B. 120s, 800ms, 25s",
"pattern": "^[0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h)+$"
"description": "Go-Duration (time.ParseDuration), z. B. 120s, 800ms, 25s, 1m30s, 1.5h",
"pattern": "^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
},
"provider": {
"type": "object",
@@ -172,9 +172,9 @@
"description": "Nur policy weighted: relative Gewichte je Mitglied, positional zur members-Liste."
},
"latencyWindow": {
"type": "integer",
"minimum": 1,
"description": "Fenster für die EWMA-Latenz (lowest-latency)."
"type": "string",
"pattern": "^[0-9]+$",
"description": "Fenster für die EWMA-Latenz (lowest-latency) als Ziffern-String (> 0); Go-Feld ist ein String, der per Atoi geprüft wird."
},
"retryAttempts": {
"type": "integer",