openxiangda-contracts 2.0.0-alpha.39 → 2.0.0-alpha.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/ai.d.ts.map +1 -1
  2. package/dist/ai.js +65 -5
  3. package/dist/ai.js.map +1 -1
  4. package/dist/data-field-validation.d.ts +7 -0
  5. package/dist/data-field-validation.d.ts.map +1 -0
  6. package/dist/data-field-validation.js +346 -0
  7. package/dist/data-field-validation.js.map +1 -0
  8. package/dist/data-query-validation.d.ts +15 -0
  9. package/dist/data-query-validation.d.ts.map +1 -0
  10. package/dist/data-query-validation.js +219 -0
  11. package/dist/data-query-validation.js.map +1 -0
  12. package/dist/field-value-schemas.d.ts +1418 -0
  13. package/dist/field-value-schemas.d.ts.map +1 -0
  14. package/dist/field-value-schemas.js +224 -0
  15. package/dist/field-value-schemas.js.map +1 -0
  16. package/dist/field-values.d.ts +59 -21
  17. package/dist/field-values.d.ts.map +1 -1
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/native.d.ts +1 -1
  23. package/dist/native.d.ts.map +1 -1
  24. package/dist/references.d.ts +20 -12
  25. package/dist/references.d.ts.map +1 -1
  26. package/dist/schemas.d.ts +3531 -1301
  27. package/dist/schemas.d.ts.map +1 -1
  28. package/dist/schemas.js +456 -218
  29. package/dist/schemas.js.map +1 -1
  30. package/dist/surface.d.ts +24 -7
  31. package/dist/surface.d.ts.map +1 -1
  32. package/dist/types.d.ts +81 -48
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/types.js +27 -5
  35. package/dist/types.js.map +1 -1
  36. package/dist/validation-common.d.ts +7 -0
  37. package/dist/validation-common.d.ts.map +1 -0
  38. package/dist/validation-common.js +26 -0
  39. package/dist/validation-common.js.map +1 -0
  40. package/dist/validation.d.ts +7 -4
  41. package/dist/validation.d.ts.map +1 -1
  42. package/dist/validation.js +72 -157
  43. package/dist/validation.js.map +1 -1
  44. package/package.json +1 -1
package/dist/ai.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,cAAc,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,OAAO,GACP,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,qBAAqB,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,EAAE,oBAAoB,CAAC;IACnC,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;KACrD,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,SAAS,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;QACpD,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,OAAO,eAAe,CAAC,mBAAmB,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAqCD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CA4QxE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAOtC;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAqBtE;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiH5B,CAAC"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,cAAc,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,OAAO,GACP,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,qBAAqB,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,EAAE,oBAAoB,CAAC;IACnC,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;KACrD,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,SAAS,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;QACpD,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,OAAO,eAAe,CAAC,mBAAmB,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAqCD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CA4QxE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAOtC;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAiFtE;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiH5B,CAAC"}
package/dist/ai.js CHANGED
@@ -169,23 +169,83 @@ export function assertAiCapabilityCatalog(value) {
169
169
  }
170
170
  }
171
171
  export function aiJsonSchemaForField(type) {
172
+ const labeledValue = {
173
+ type: "object",
174
+ additionalProperties: true,
175
+ required: ["label", "value"],
176
+ properties: {
177
+ label: { type: "string" },
178
+ value: { type: "string" },
179
+ },
180
+ };
181
+ const labeledValues = { type: "array", items: labeledValue };
182
+ const fileValue = {
183
+ type: "object",
184
+ additionalProperties: true,
185
+ required: ["schemaVersion", "id", "name", "size", "contentType"],
186
+ properties: {
187
+ schemaVersion: { const: SCHEMA_VERSIONS.dataFileRef },
188
+ id: { type: "string" },
189
+ name: { type: "string" },
190
+ size: { type: "integer" },
191
+ contentType: { type: "string" },
192
+ },
193
+ };
172
194
  switch (type) {
173
- case "integer":
195
+ case "number.integer":
174
196
  return { type: "integer" };
175
- case "decimal":
197
+ case "number.decimal":
176
198
  return { type: "number" };
177
199
  case "boolean":
178
200
  return { type: "boolean" };
179
201
  case "date":
180
202
  return { type: "string", format: "date" };
203
+ case "time":
204
+ return { type: "string", format: "time" };
181
205
  case "datetime":
182
206
  return { type: "string", format: "date-time" };
207
+ case "date-range":
208
+ case "datetime-range":
209
+ return {
210
+ type: "object",
211
+ additionalProperties: false,
212
+ required: ["start", "end"],
213
+ properties: {
214
+ start: { type: "string" },
215
+ end: { type: "string" },
216
+ },
217
+ };
218
+ case "option.single":
219
+ case "user.single":
220
+ case "department.single":
221
+ case "resource-ref.single":
222
+ return labeledValue;
223
+ case "option.multiple":
224
+ case "user.multiple":
225
+ case "department.multiple":
226
+ case "resource-ref.multiple":
227
+ return labeledValues;
228
+ case "cascade.single":
229
+ return labeledValues;
230
+ case "cascade.multiple":
231
+ return { type: "array", items: labeledValues };
232
+ case "file":
233
+ case "image":
234
+ return { type: "array", items: fileValue };
235
+ case "signature":
236
+ case "address":
237
+ case "location":
238
+ return { type: "object" };
239
+ case "subtable":
240
+ return { type: "array", items: { type: "object" } };
183
241
  case "uuid":
184
242
  return { type: "string", format: "uuid" };
185
243
  case "json":
186
- return { type: "object" };
187
- case "string":
188
- case "text":
244
+ return {};
245
+ case "text.short":
246
+ case "text.long":
247
+ case "text.rich":
248
+ case "serial-number":
189
249
  default:
190
250
  return { type: "string" };
191
251
  }
package/dist/ai.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAGhB,MAAM,YAAY,CAAC;AAoEpB,MAAM,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC;AAErD,SAAS,UAAU,CAAC,IAAY,EAAE,OAAe,EAAE,IAAY;IAC7D,OAAO;QACL,aAAa,EAAE,iBAAiB;QAChC,IAAI;QACJ,QAAQ,EAAE,OAAO;QACjB,OAAO;QACP,IAAI;QACJ,MAAM,EAAE,uBAAuB;QAC/B,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,CACL,cAAc,CAAC,KAAK,CAAC;QACrB,wEAAwE,CAAC,IAAI,CAAC,KAAK,CAAC,CACrF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,cAAc,CAAC,KAAK,CAAC,IAAI,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,UAAU,CACR,oBAAoB,EACpB,6BAA6B,EAC7B,GAAG,CACJ;SACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,eAAe,CAAC,mBAAmB,EAAE,CAAC;QAChE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,+BAA+B,EAC/B,qBAAqB,eAAe,CAAC,mBAAmB,EAAE,EAC1D,eAAe,CAChB,CACF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,SAAS,CAAU,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CACd,UAAU,CAAC,4BAA4B,EAAE,GAAG,KAAK,WAAW,EAAE,KAAK,CAAC,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IACE,KAAK,CAAC,kBAAkB,KAAK,SAAS;QACtC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC;YACxC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EACnD,CAAC;QACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,kCAAkC,EAClC,uCAAuC,EACvC,oBAAoB,CACrB,CACF,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QACpD,CAAC,CAAC,KAAK,CAAC,YAAY;QACpB,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACpE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,iCAAiC,EACjC,6BAA6B,EAC7B,cAAc,CACf,CACF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,gBAAgB,KAAK,GAAG,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,GAAG,IAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,4BAA4B,EAC5B,GAAG,IAAI,uBAAuB,EAC9B,GAAG,IAAI,OAAO,CACf,CACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CACd,UAAU,CACR,4BAA4B,EAC5B,GAAG,IAAI,iCAAiC,EACxC,GAAG,IAAI,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,oCAAoC,EACpC,GAAG,IAAI,0BAA0B,EACjC,IAAI,CACL,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CACd,UAAU,CAAC,4BAA4B,EAAE,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,OAAO,CAAC,CAC9E,CAAC;QACJ,CAAC;QACD,IACE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAChE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CACtB,EACD,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,iCAAiC,EACjC,GAAG,IAAI,iBAAiB,EACxB,GAAG,IAAI,YAAY,CACpB,CACF,CAAC;QACJ,CAAC;QACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAC1B,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE;YACzB,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,MAAM;YACpD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EACpD,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,iCAAiC,EACjC,GAAG,IAAI,yBAAyB,EAChC,GAAG,IAAI,YAAY,CACpB,CACF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,CAAC,aAAa,EAAE,cAAc,CAAU,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,8BAA8B,EAC9B,GAAG,IAAI,IAAI,WAAW,yBAAyB,EAC/C,GAAG,IAAI,IAAI,WAAW,EAAE,CACzB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;YAC/C,CAAC,CAAC,GAAG,CAAC,aAAa;YACnB,CAAC,CAAC,EAAE,CAAC;QACP,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;YAC1C,aAAa,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YACvC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAC9D,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,qCAAqC,EACrC,GAAG,IAAI,mDAAmD,EAC1D,GAAG,IAAI,6BAA6B,CACrC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,oBAAoB,GACxB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3D,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC3C,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1C,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1C,CAAC,IAAI,KAAK,MAAM;gBACd,CAAC,CAAC,YAAY,KAAK,MAAM,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,MAAM;gBAC7E,CAAC,CAAC,YAAY,KAAK,UAAU,IAAI,WAAW,KAAK,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,WAAW,CAAC,IAAI,CACd,UAAU,CACR,wCAAwC,EACxC,GAAG,IAAI,mDAAmD,EAC1D,IAAI,CACL,CACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IACE,CAAC,OAAO,KAAK,SAAS;YACpB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gBAC7B,OAAO,OAAO,KAAK,QAAQ;gBAC3B,OAAO,GAAG,CAAC;gBACX,OAAO,GAAG,GAAG,CAAC,CAAC;YACnB,CAAC,SAAS,KAAK,SAAS;gBACtB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;oBAC/B,OAAO,SAAS,KAAK,QAAQ;oBAC7B,SAAS,GAAG,GAAG;oBACf,SAAS,GAAG,KAAK,CAAC,CAAC,EACvB,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,8BAA8B,EAC9B,GAAG,IAAI,oBAAoB,EAC3B,GAAG,IAAI,SAAS,CACjB,CACF,CAAC;QACJ,CAAC;QACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YAC/B,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;YAC3B,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAC,MAAM;YACxD,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;YACjD,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,EACjD,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,oCAAoC,EACpC,GAAG,IAAI,oBAAoB,EAC3B,GAAG,IAAI,cAAc,CACtB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC/C,CAAC,CAAC,GAAG,CAAC,aAAa;gBACnB,CAAC,CAAC,EAAE,CAAC;YACP,IACE,CAAC,iBAAiB,CAAC,aAAa,CAAC,YAAY,CAAC;gBAC9C,CAAC,CACC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CACnD;gBACD,aAAa,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;gBACzC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CACtD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAChC,EACD,CAAC;gBACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,wCAAwC,EACxC,GAAG,IAAI,iCAAiC,EACxC,GAAG,IAAI,gBAAgB,CACxB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9D,WAAW,CAAC,IAAI,CACd,UAAU,CACR,2CAA2C,EAC3C,GAAG,IAAI,yBAAyB,EAChC,GAAG,IAAI,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;gBAC1B,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC;gBACtC,CAAC,oCAAoC,CAAC,IAAI,CACxC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAC9B;gBACD,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CACvB;gBACD,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC9C,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;gBAChD,GAAG,CAAC,aAAa,KAAK,SAAS,EAC/B,CAAC;gBACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,sCAAsC,EACtC,GAAG,IAAI,8BAA8B,EACrC,GAAG,IAAI,UAAU,CAClB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAc;IAEd,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAmB;IACtD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5C,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5C,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,EAAE,eAAe,CAAC,mBAAmB;IACxC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC;IACjE,UAAU,EAAE;QACV,aAAa,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,mBAAmB,EAAE;QAC7D,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iCAAiC;SAC3C;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;QACzC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;QACjE,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE;oBACR,MAAM;oBACN,SAAS;oBACT,MAAM;oBACN,aAAa;oBACb,MAAM;oBACN,WAAW;oBACX,WAAW;oBACX,aAAa;oBACb,cAAc;oBACd,eAAe;oBACf,MAAM;oBACN,cAAc;oBACd,aAAa;oBACb,aAAa;oBACb,QAAQ;oBACR,aAAa;iBACd;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,OAAO,EACL,yEAAyE;qBAC5E;oBACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;oBACtC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;oBAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;oBACjD,SAAS,EAAE;wBACT,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;qBAC/D;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,EAAE;wBACZ,WAAW,EAAE,IAAI;wBACjB,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,iCAAiC;yBAC3C;qBACF;oBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,QAAQ,EAAE,CAAC,cAAc,CAAC;wBAC1B,UAAU,EAAE;4BACV,YAAY,EAAE;gCACZ,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,CAAC;gCACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;yBACF;qBACF;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE;oBAC5D,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;oBAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;oBAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;oBAC3C,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;4BACtD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;yBAC7D;qBACF;oBACD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;oBACzD,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,QAAQ,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;wBACvC,UAAU,EAAE;4BACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAChC,SAAS,EAAE;gCACT,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;6BACrD;yBACF;qBACF;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC;wBACrD,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;4BAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;4BAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;4BAC3D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE;yBACxD;qBACF;iBACF;aACF;SACF;KACF;CACO,CAAC"}
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Diagnostic } from './types.js';
2
+ export declare const DATA_MULTI_FIELD_TYPES: Set<string>;
3
+ /** Resources use the same lower kebab-case convention as app codes. */
4
+ export declare const RESOURCE_CODE_PATTERN: RegExp;
5
+ export declare function isCanonicalResourceCode(value: string): boolean;
6
+ export declare function validateDataFieldDefinition(field: Record<string, unknown>, path: string, diagnostics: Diagnostic[]): void;
7
+ //# sourceMappingURL=data-field-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-field-validation.d.ts","sourceRoot":"","sources":["../src/data-field-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAUpB,eAAO,MAAM,sBAAsB,aASjC,CAAC;AA8BH,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,QAAoC,CAAC;AAEvE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,WAEpD;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,UAAU,EAAE,QAiD1B"}
@@ -0,0 +1,346 @@
1
+ import { DATA_FIELD_TYPES, } from './types.js';
2
+ import { diagnostic, isDataFieldCode, isRecord, requireString, } from './validation-common.js';
3
+ const DATA_FIELD_TYPE_SET = new Set(DATA_FIELD_TYPES);
4
+ export const DATA_MULTI_FIELD_TYPES = new Set([
5
+ 'option.multiple',
6
+ 'cascade.multiple',
7
+ 'user.multiple',
8
+ 'department.multiple',
9
+ 'resource-ref.multiple',
10
+ 'file',
11
+ 'image',
12
+ 'subtable',
13
+ ]);
14
+ const DATA_OPTION_FIELD_TYPES = new Set([
15
+ 'option.single',
16
+ 'option.multiple',
17
+ 'cascade.single',
18
+ 'cascade.multiple',
19
+ ]);
20
+ const DATA_RESOURCE_REFERENCE_FIELD_TYPES = new Set([
21
+ 'resource-ref.single',
22
+ 'resource-ref.multiple',
23
+ ]);
24
+ const DATA_FIELD_PROPERTIES = new Set([
25
+ 'code',
26
+ 'type',
27
+ 'nullable',
28
+ 'indexed',
29
+ 'options',
30
+ 'source',
31
+ 'maxLength',
32
+ 'precision',
33
+ 'scale',
34
+ 'timePrecision',
35
+ 'file',
36
+ 'serial',
37
+ 'subtable',
38
+ ]);
39
+ /** Resources use the same lower kebab-case convention as app codes. */
40
+ export const RESOURCE_CODE_PATTERN = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;
41
+ export function isCanonicalResourceCode(value) {
42
+ return RESOURCE_CODE_PATTERN.test(value);
43
+ }
44
+ export function validateDataFieldDefinition(field, path, diagnostics) {
45
+ for (const key of Object.keys(field)) {
46
+ if (!DATA_FIELD_PROPERTIES.has(key)) {
47
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_PROPERTY_UNKNOWN', `${path}.${key} 不是受支持的字段属性`, `${path}.${key}`));
48
+ }
49
+ }
50
+ for (const key of ['nullable', 'indexed']) {
51
+ if (field[key] !== undefined && typeof field[key] !== 'boolean') {
52
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_BOOLEAN_INVALID', `${path}.${key} 必须为 boolean`, `${path}.${key}`));
53
+ }
54
+ }
55
+ const type = String(field.type || '');
56
+ if (!DATA_FIELD_TYPE_SET.has(type)) {
57
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_TYPE_UNSUPPORTED', `${path}.type 不受支持`, `${path}.type`));
58
+ }
59
+ if (field.nullable === true && DATA_MULTI_FIELD_TYPES.has(type)) {
60
+ diagnostics.push(diagnostic('DATA_RESOURCE_MULTI_FIELD_NULLABLE_INVALID', `${path} 是多值字段,空值必须使用 [],不能声明 nullable`, `${path}.nullable`));
61
+ }
62
+ validateOptions(field, path, diagnostics);
63
+ validateSource(field, path, diagnostics);
64
+ validateScalarConfig(field, path, diagnostics);
65
+ validateFileConfig(field, path, diagnostics);
66
+ validateSerialConfig(field, path, diagnostics);
67
+ validateSubtableConfig(field, path, diagnostics);
68
+ }
69
+ function validateOptions(field, path, diagnostics) {
70
+ const type = String(field.type || '');
71
+ if (field.options === undefined) {
72
+ if (DATA_OPTION_FIELD_TYPES.has(type)) {
73
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTIONS_REQUIRED', `${path}.options 是静态选项字段的必填协议`, `${path}.options`));
74
+ }
75
+ return;
76
+ }
77
+ if (!DATA_OPTION_FIELD_TYPES.has(type)) {
78
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTIONS_TYPE_INVALID', `${path}.options 只能用于 option.* 或 cascade.* 字段`, `${path}.options`));
79
+ return;
80
+ }
81
+ if (!Array.isArray(field.options) ||
82
+ field.options.length < 1 ||
83
+ field.options.length > 100) {
84
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTIONS_INVALID', `${path}.options 必须包含 1 到 100 个选项`, `${path}.options`));
85
+ return;
86
+ }
87
+ let total = 0;
88
+ const visit = (items, itemPath, depth) => {
89
+ if (depth > 5) {
90
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTIONS_DEPTH_EXCEEDED', `${itemPath} 级联选项深度不能超过 5`, itemPath));
91
+ return;
92
+ }
93
+ const siblingValues = new Set();
94
+ items.forEach((item, index) => {
95
+ total += 1;
96
+ const currentPath = `${itemPath}[${index}]`;
97
+ if (total > 1000)
98
+ return;
99
+ if (!isRecord(item)) {
100
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTION_INVALID', `${currentPath} 必须是对象`, currentPath));
101
+ return;
102
+ }
103
+ for (const key of Object.keys(item)) {
104
+ if (!['label', 'value', 'description', 'color', 'children'].includes(key)) {
105
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTION_PROPERTY_UNKNOWN', `${currentPath}.${key} 不受支持`, `${currentPath}.${key}`));
106
+ }
107
+ }
108
+ const validLabel = requireString(item.label, `${currentPath}.label`, diagnostics);
109
+ const validValue = requireString(item.value, `${currentPath}.value`, diagnostics);
110
+ if (validLabel && String(item.label).length > 500) {
111
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTION_LABEL_TOO_LONG', `${currentPath}.label 最长 500 个字符`, `${currentPath}.label`));
112
+ }
113
+ if (validValue) {
114
+ if (String(item.value).length > 500 ||
115
+ siblingValues.has(String(item.value))) {
116
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTION_VALUE_INVALID', `${currentPath}.value 过长或同级重复`, `${currentPath}.value`));
117
+ }
118
+ siblingValues.add(String(item.value));
119
+ }
120
+ if (item.children === undefined)
121
+ return;
122
+ if (!type.startsWith('cascade.')) {
123
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTION_CHILDREN_INVALID', `${currentPath}.children 只能用于级联字段`, `${currentPath}.children`));
124
+ }
125
+ else if (!Array.isArray(item.children) ||
126
+ item.children.length < 1 ||
127
+ item.children.length > 100) {
128
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTION_CHILDREN_INVALID', `${currentPath}.children 必须包含 1 到 100 个选项`, `${currentPath}.children`));
129
+ }
130
+ else {
131
+ visit(item.children, `${currentPath}.children`, depth + 1);
132
+ }
133
+ });
134
+ };
135
+ visit(field.options, `${path}.options`, 1);
136
+ if (total > 1000) {
137
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_OPTIONS_COUNT_EXCEEDED', `${path}.options 总数不能超过 1000`, `${path}.options`));
138
+ }
139
+ }
140
+ function validateSource(field, path, diagnostics) {
141
+ const type = String(field.type || '');
142
+ if (field.source === undefined) {
143
+ if (DATA_RESOURCE_REFERENCE_FIELD_TYPES.has(type)) {
144
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_REQUIRED', `${path}.source 是动态资源引用的必填协议`, `${path}.source`));
145
+ }
146
+ return;
147
+ }
148
+ if (!DATA_RESOURCE_REFERENCE_FIELD_TYPES.has(type) || !isRecord(field.source)) {
149
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_INVALID', `${path}.source 只能用于 resource-ref.* 且必须是对象`, `${path}.source`));
150
+ return;
151
+ }
152
+ const source = field.source;
153
+ const allowed = new Set([
154
+ 'kind',
155
+ 'resourceCode',
156
+ 'labelField',
157
+ 'searchFields',
158
+ 'descriptionFields',
159
+ 'snapshotFields',
160
+ 'filters',
161
+ 'pageSize',
162
+ 'loadMode',
163
+ ]);
164
+ for (const key of Object.keys(source)) {
165
+ if (!allowed.has(key)) {
166
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_PROPERTY_UNKNOWN', `${path}.source.${key} 不受支持`, `${path}.source.${key}`));
167
+ }
168
+ }
169
+ if (source.kind !== 'resource' ||
170
+ !isCanonicalResourceCode(String(source.resourceCode || '')) ||
171
+ !isDataFieldCode(source.labelField)) {
172
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_TARGET_INVALID', `${path}.source 必须声明有效的 resourceCode 和 labelField`, `${path}.source`));
173
+ }
174
+ for (const key of ['searchFields', 'descriptionFields', 'snapshotFields']) {
175
+ if (source[key] === undefined)
176
+ continue;
177
+ const limit = key === 'snapshotFields' ? 50 : 10;
178
+ const items = Array.isArray(source[key]) ? source[key] : [];
179
+ if (!Array.isArray(source[key]) ||
180
+ items.length > limit ||
181
+ items.some(item => !isDataFieldCode(item)) ||
182
+ new Set(items).size !== items.length) {
183
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_FIELDS_INVALID', `${path}.source.${key} 必须为最多 ${limit} 个不重复字段代码`, `${path}.source.${key}`));
184
+ }
185
+ }
186
+ if (source.pageSize !== undefined &&
187
+ (!Number.isInteger(source.pageSize) ||
188
+ Number(source.pageSize) < 1 ||
189
+ Number(source.pageSize) > 100)) {
190
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_PAGE_SIZE_INVALID', `${path}.source.pageSize 必须为 1 到 100`, `${path}.source.pageSize`));
191
+ }
192
+ if (source.loadMode !== undefined &&
193
+ !['search', 'all'].includes(String(source.loadMode))) {
194
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_LOAD_MODE_INVALID', `${path}.source.loadMode 只支持 search/all`, `${path}.source.loadMode`));
195
+ }
196
+ const filters = source.filters === undefined
197
+ ? []
198
+ : Array.isArray(source.filters)
199
+ ? source.filters
200
+ : [];
201
+ if (source.filters !== undefined &&
202
+ (!Array.isArray(source.filters) || filters.length > 20)) {
203
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_FILTERS_INVALID', `${path}.source.filters 最多包含 20 项`, `${path}.source.filters`));
204
+ }
205
+ filters.forEach((filter, index) => {
206
+ const filterPath = `${path}.source.filters[${index}]`;
207
+ if (!isRecord(filter) ||
208
+ !isDataFieldCode(filter.field) ||
209
+ !['eq', 'in'].includes(String(filter.operator))) {
210
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_FILTER_INVALID', `${filterPath} 必须声明字段和 eq/in`, filterPath));
211
+ return;
212
+ }
213
+ const hasValue = Object.prototype.hasOwnProperty.call(filter, 'value');
214
+ const binding = isRecord(filter.binding) ? filter.binding : null;
215
+ const hasBinding = binding?.kind === 'field' && isDataFieldCode(binding.field);
216
+ if (hasValue === hasBinding) {
217
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SOURCE_FILTER_VALUE_INVALID', `${filterPath} 必须且只能声明 value 或 field binding`, filterPath));
218
+ }
219
+ });
220
+ }
221
+ function validateScalarConfig(field, path, diagnostics) {
222
+ const type = String(field.type || '');
223
+ if (field.maxLength !== undefined &&
224
+ (!['text.short', 'text.long', 'text.rich'].includes(type) ||
225
+ !Number.isInteger(field.maxLength) ||
226
+ Number(field.maxLength) < 1 ||
227
+ Number(field.maxLength) > 1_000_000)) {
228
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_MAX_LENGTH_INVALID', `${path}.maxLength 只能用于文本且范围为 1 到 1000000`, `${path}.maxLength`));
229
+ }
230
+ if (field.precision !== undefined || field.scale !== undefined) {
231
+ const precision = Number(field.precision);
232
+ const scale = Number(field.scale ?? 0);
233
+ if (type !== 'number.decimal' ||
234
+ !Number.isInteger(precision) ||
235
+ precision < 1 ||
236
+ precision > 1000 ||
237
+ !Number.isInteger(scale) ||
238
+ scale < 0 ||
239
+ scale > precision) {
240
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_DECIMAL_CONFIG_INVALID', `${path}.precision/scale 必须是合法的 decimal 精度`, path));
241
+ }
242
+ }
243
+ if (field.timePrecision !== undefined &&
244
+ (type !== 'time' || !['minute', 'second'].includes(String(field.timePrecision)))) {
245
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_TIME_PRECISION_INVALID', `${path}.timePrecision 只能用于 time`, `${path}.timePrecision`));
246
+ }
247
+ }
248
+ function validateFileConfig(field, path, diagnostics) {
249
+ if (field.file === undefined)
250
+ return;
251
+ if (!['file', 'image', 'signature'].includes(String(field.type)) ||
252
+ !isRecord(field.file)) {
253
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_FILE_INVALID', `${path}.file 只能用于 file、image 或 signature 且必须是对象`, `${path}.file`));
254
+ return;
255
+ }
256
+ const file = field.file;
257
+ for (const key of Object.keys(file)) {
258
+ if (!['maxCount', 'maxSizeMb', 'accept'].includes(key)) {
259
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_FILE_PROPERTY_UNKNOWN', `${path}.file.${key} 不受支持`, `${path}.file.${key}`));
260
+ }
261
+ }
262
+ if (file.maxCount !== undefined &&
263
+ (!Number.isInteger(file.maxCount) ||
264
+ Number(file.maxCount) < 1 ||
265
+ Number(file.maxCount) > 100)) {
266
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_FILE_COUNT_INVALID', `${path}.file.maxCount 必须为 1 到 100`, `${path}.file.maxCount`));
267
+ }
268
+ if (file.maxSizeMb !== undefined &&
269
+ (!Number.isInteger(file.maxSizeMb) ||
270
+ Number(file.maxSizeMb) < 1 ||
271
+ Number(file.maxSizeMb) > 1024)) {
272
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_FILE_SIZE_INVALID', `${path}.file.maxSizeMb 必须为 1 到 1024`, `${path}.file.maxSizeMb`));
273
+ }
274
+ if (file.accept !== undefined) {
275
+ const accept = Array.isArray(file.accept) ? file.accept : [];
276
+ if (!Array.isArray(file.accept) ||
277
+ accept.length > 50 ||
278
+ accept.some(item => typeof item !== 'string' || !item) ||
279
+ new Set(accept).size !== accept.length) {
280
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_FILE_ACCEPT_INVALID', `${path}.file.accept 必须为最多 50 个不重复非空字符串`, `${path}.file.accept`));
281
+ }
282
+ }
283
+ if (['image', 'signature'].includes(String(field.type)) &&
284
+ file.maxCount !== undefined &&
285
+ Number(file.maxCount) !== 1 &&
286
+ field.type === 'signature') {
287
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SIGNATURE_COUNT_INVALID', `${path}.file.maxCount 对签名必须为 1`, `${path}.file.maxCount`));
288
+ }
289
+ }
290
+ function validateSerialConfig(field, path, diagnostics) {
291
+ if (field.serial === undefined) {
292
+ if (field.type === 'serial-number') {
293
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SERIAL_REQUIRED', `${path}.serial 是流水号字段的必填协议`, `${path}.serial`));
294
+ }
295
+ return;
296
+ }
297
+ if (field.type !== 'serial-number' || !isRecord(field.serial)) {
298
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SERIAL_INVALID', `${path}.serial 只能用于 serial-number`, `${path}.serial`));
299
+ return;
300
+ }
301
+ const serial = field.serial;
302
+ for (const key of Object.keys(serial)) {
303
+ if (!['prefix', 'digits', 'start'].includes(key)) {
304
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SERIAL_PROPERTY_UNKNOWN', `${path}.serial.${key} 不受支持`, `${path}.serial.${key}`));
305
+ }
306
+ }
307
+ if (serial.prefix !== undefined &&
308
+ (typeof serial.prefix !== 'string' || serial.prefix.length > 64)) {
309
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SERIAL_PREFIX_INVALID', `${path}.serial.prefix 最长 64 个字符`, `${path}.serial.prefix`));
310
+ }
311
+ if (serial.digits !== undefined &&
312
+ (!Number.isInteger(serial.digits) ||
313
+ Number(serial.digits) < 1 ||
314
+ Number(serial.digits) > 32)) {
315
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SERIAL_DIGITS_INVALID', `${path}.serial.digits 必须为 1 到 32`, `${path}.serial.digits`));
316
+ }
317
+ if (serial.start !== undefined &&
318
+ (!Number.isSafeInteger(serial.start) || Number(serial.start) < 0)) {
319
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SERIAL_START_INVALID', `${path}.serial.start 必须为非负安全整数`, `${path}.serial.start`));
320
+ }
321
+ }
322
+ function validateSubtableConfig(field, path, diagnostics) {
323
+ if (field.subtable === undefined) {
324
+ if (field.type === 'subtable') {
325
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SUBTABLE_REQUIRED', `${path}.subtable 是子表字段的必填协议`, `${path}.subtable`));
326
+ }
327
+ return;
328
+ }
329
+ if (field.type !== 'subtable' || !isRecord(field.subtable)) {
330
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SUBTABLE_INVALID', `${path}.subtable 只能用于 subtable`, `${path}.subtable`));
331
+ return;
332
+ }
333
+ const subtable = field.subtable;
334
+ if (!isCanonicalResourceCode(String(subtable.resourceCode || '')) ||
335
+ !isDataFieldCode(subtable.foreignKey) ||
336
+ !isDataFieldCode(subtable.orderField)) {
337
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SUBTABLE_TARGET_INVALID', `${path}.subtable 必须声明有效子资源、外键和排序字段`, `${path}.subtable`));
338
+ }
339
+ if (subtable.maxRows !== undefined &&
340
+ (!Number.isInteger(subtable.maxRows) ||
341
+ Number(subtable.maxRows) < 1 ||
342
+ Number(subtable.maxRows) > 49)) {
343
+ diagnostics.push(diagnostic('DATA_RESOURCE_FIELD_SUBTABLE_MAX_ROWS_INVALID', `${path}.subtable.maxRows 必须为 1 到 49`, `${path}.subtable.maxRows`));
344
+ }
345
+ }
346
+ //# sourceMappingURL=data-field-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-field-validation.js","sourceRoot":"","sources":["../src/data-field-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type DataExportRequest, type DataQuery, type Diagnostic } from './types.js';
2
+ export declare const DATA_QUERY_OPERATORS: Set<string>;
3
+ export declare const DATA_QUERY_EMPTY_OPERATORS: Set<string>;
4
+ export interface DataWhereValidationLimits {
5
+ maxDepth?: number;
6
+ maxPredicates?: number;
7
+ maxArrayValues?: number;
8
+ maxValueBytes?: number;
9
+ }
10
+ export declare function appendDataWhereDiagnostics(value: unknown, path: string, diagnostics: Diagnostic[], limits?: DataWhereValidationLimits): void;
11
+ export declare function validateDataQuery(value: unknown): Diagnostic[];
12
+ export declare function isDataQuery(value: unknown): value is DataQuery;
13
+ export declare function validateDataExportRequest(value: unknown): Diagnostic[];
14
+ export declare function isDataExportRequest(value: unknown): value is DataExportRequest;
15
+ //# sourceMappingURL=data-query-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-query-validation.d.ts","sourceRoot":"","sources":["../src/data-query-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAOpB,eAAO,MAAM,oBAAoB,aAoB/B,CAAC;AAEH,eAAO,MAAM,0BAA0B,aAAqC,CAAC;AAY7E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,GAAE,yBAA8B,QAsLvC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CA0H9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CAoCtE;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,iBAAiB,CAE5B"}