@tai42/studio-sdk 22.3.0 → 22.4.1
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.
- package/dist/guards.d.ts +6 -0
- package/dist/guards.d.ts.map +1 -1
- package/dist/guards.js +8 -0
- package/dist/guards.js.map +1 -1
- package/dist/hooks/useApi.d.ts +3 -0
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/schema-form/SchemaForm.d.ts +4 -1
- package/dist/schema-form/SchemaForm.d.ts.map +1 -1
- package/dist/schema-form/SchemaForm.js.map +1 -1
- package/dist/schema-form/classify.js +3 -3
- package/dist/schema-form/classify.js.map +1 -1
- package/dist/schema-form/default-value.js +5 -4
- package/dist/schema-form/default-value.js.map +1 -1
- package/dist/schema-form/field-model.d.ts +3 -3
- package/dist/schema-form/field-model.d.ts.map +1 -1
- package/dist/schema-form/field-node.d.ts +1 -0
- package/dist/schema-form/field-node.d.ts.map +1 -1
- package/dist/schema-form/field-node.js +2 -1
- package/dist/schema-form/field-node.js.map +1 -1
- package/dist/schema-form/multiselect-field.d.ts +1 -1
- package/dist/schema-form/object-fields.d.ts +1 -0
- package/dist/schema-form/object-fields.d.ts.map +1 -1
- package/dist/schema-form/object-fields.js +4 -3
- package/dist/schema-form/object-fields.js.map +1 -1
- package/dist/schema-form/record-field.d.ts.map +1 -1
- package/dist/schema-form/record-field.js +4 -2
- package/dist/schema-form/record-field.js.map +1 -1
- package/dist/schema-form/string-field.js +2 -2
- package/dist/schema-form/string-field.js.map +1 -1
- package/dist/schema-form/union-field.d.ts.map +1 -1
- package/dist/schema-form/union-field.js +3 -8
- package/dist/schema-form/union-field.js.map +1 -1
- package/dist/schema-form/union.js +1 -1
- package/dist/schema-form/union.js.map +1 -1
- package/dist/schema-form/validate.d.ts +14 -1
- package/dist/schema-form/validate.d.ts.map +1 -1
- package/dist/schema-form/validate.js +99 -45
- package/dist/schema-form/validate.js.map +1 -1
- package/dist/schema-form/visibility.d.ts +0 -12
- package/dist/schema-form/visibility.d.ts.map +1 -1
- package/dist/schema-form/visibility.js +14 -1
- package/dist/schema-form/visibility.js.map +1 -1
- package/package.json +2 -2
- package/src/guards.ts +12 -0
- package/src/schema-form/SchemaForm.tsx +4 -2
- package/src/schema-form/classify.ts +3 -3
- package/src/schema-form/default-value.ts +5 -4
- package/src/schema-form/field-model.ts +3 -3
- package/src/schema-form/field-node.tsx +4 -3
- package/src/schema-form/multiselect-field.tsx +1 -1
- package/src/schema-form/object-fields.tsx +8 -7
- package/src/schema-form/record-field.tsx +4 -2
- package/src/schema-form/string-field.tsx +2 -2
- package/src/schema-form/union-field.tsx +5 -6
- package/src/schema-form/union.ts +1 -1
- package/src/schema-form/validate.ts +127 -46
- package/src/schema-form/visibility.ts +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-field.js","sourceRoot":"","sources":["../../src/schema-form/union-field.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAkB,EAAE,IAAgB;IAC5D,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CACzB,OAAgB,EAChB,MAAoB,EACpB,aAAiC,EACjC,IAAgB;IAEhB,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACrE,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,
|
|
1
|
+
{"version":3,"file":"union-field.js","sourceRoot":"","sources":["../../src/schema-form/union-field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ export function activeVariantIndex(value, variants, discriminator, root) {
|
|
|
48
48
|
const required = resolved.required ?? [];
|
|
49
49
|
let score = 0;
|
|
50
50
|
for (const key of required) {
|
|
51
|
-
if (key
|
|
51
|
+
if (Object.hasOwn(value, key))
|
|
52
52
|
score += 1;
|
|
53
53
|
}
|
|
54
54
|
if (score > bestScore) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../src/schema-form/union.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,4EAA4E;AAC5E,SAAS,mBAAmB,CAAC,MAAkB,EAAE,KAAc;IAC7D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;IAC9D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5F,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;YACnC,KAAK,SAAS;gBACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9D,KAAK,SAAS;gBACZ,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;YACpC,KAAK,MAAM;gBACT,OAAO,KAAK,KAAK,IAAI,CAAC;YACxB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,QAAiC,EACjC,aAAiC,EACjC,IAAgB;IAEhB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAC;IAErD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,4EAA4E;QAC5E,4EAA4E;QAC5E,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CACpC,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../src/schema-form/union.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,25 @@ export interface ValidateOptions {
|
|
|
7
7
|
* absent both, the shared default applies.
|
|
8
8
|
*/
|
|
9
9
|
readonly maxUploadBytes?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Per-field words, keyed by the root object's exact property name. A field's
|
|
12
|
+
* `invalid` sentence replaces every shape error on that field and anything inside
|
|
13
|
+
* it (a format, pattern, length, bound, type or item error). A missing required
|
|
14
|
+
* value keeps its own required message, and a `pattern` that cannot compile keeps
|
|
15
|
+
* its own message, since that is a defect of the schema, not of the value. A field
|
|
16
|
+
* with no `invalid` sentence keeps the SDK's word for the failing shape.
|
|
17
|
+
*/
|
|
18
|
+
readonly fieldWording?: Readonly<Record<string, {
|
|
19
|
+
invalid?: string;
|
|
20
|
+
}>>;
|
|
10
21
|
}
|
|
11
22
|
/**
|
|
12
23
|
* Validate `value` against `schema`, returning a per-path error bag (empty =
|
|
13
24
|
* valid). The caller runs this before submit and feeds the result back to
|
|
14
25
|
* `SchemaForm` for display. `options.maxUploadBytes` mirrors the renderer's
|
|
15
|
-
* `maxUploadBytes` prop so a media field's byte cap is enforced identically here
|
|
26
|
+
* `maxUploadBytes` prop so a media field's byte cap is enforced identically here;
|
|
27
|
+
* `options.fieldWording` puts a field's own `invalid` sentence in place of the
|
|
28
|
+
* SDK's word for any shape error on that field.
|
|
16
29
|
*/
|
|
17
30
|
export declare function validateAgainstSchema(schema: JsonSchema, value: unknown, options?: ValidateOptions): SchemaFormErrors;
|
|
18
31
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI5D,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI5D,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACxE;AAwdD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,gBAAgB,CAgBlB"}
|
|
@@ -5,12 +5,35 @@
|
|
|
5
5
|
* container constraint on a free-form `json` field. It never throws on a
|
|
6
6
|
* malformed value — a malformed value IS the error it reports.
|
|
7
7
|
*/
|
|
8
|
-
import { isRecord } from '../guards';
|
|
8
|
+
import { isRecord, ownValue } from '../guards';
|
|
9
9
|
import { classifySchema } from './classify';
|
|
10
10
|
import { decodedByteSize, effectiveMaxBytes, overCapMessage } from './media';
|
|
11
11
|
import { resolveRef, scalarLabel } from './resolve';
|
|
12
12
|
import { activeVariantIndex } from './union';
|
|
13
13
|
import { isFieldVisible } from './visibility';
|
|
14
|
+
/**
|
|
15
|
+
* Record a shape error at `path`: the value breaks a shape the schema declares. Inside
|
|
16
|
+
* a root property, that field's `invalid` sentence may replace it.
|
|
17
|
+
*/
|
|
18
|
+
function shapeError(ctx, path, message) {
|
|
19
|
+
ctx.errors[path] = message;
|
|
20
|
+
if (ctx.field === undefined)
|
|
21
|
+
ctx.shapeErrorFields.delete(path);
|
|
22
|
+
else
|
|
23
|
+
ctx.shapeErrorFields.set(path, ctx.field);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Record an error at `path` that is not a shape the value breaks (a missing required
|
|
27
|
+
* value, a schema constraint that cannot run): a field's words never replace it.
|
|
28
|
+
*/
|
|
29
|
+
function keptError(ctx, path, message) {
|
|
30
|
+
ctx.errors[path] = message;
|
|
31
|
+
ctx.shapeErrorFields.delete(path);
|
|
32
|
+
}
|
|
33
|
+
/** The context for the child `name` of the value at `path`: a root child is its own field. */
|
|
34
|
+
function childCtx(ctx, path, name) {
|
|
35
|
+
return path === '' ? { ...ctx, field: name } : ctx;
|
|
36
|
+
}
|
|
14
37
|
const EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
15
38
|
const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
16
39
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
@@ -46,24 +69,24 @@ function formatError(format, value) {
|
|
|
46
69
|
// schema commits to (mirrors the renderer's inline check).
|
|
47
70
|
function validateJson(model, value, path, ctx) {
|
|
48
71
|
if (model.jsonType === 'object' && !isRecord(value)) {
|
|
49
|
-
ctx
|
|
72
|
+
shapeError(ctx, path, 'must be a JSON object');
|
|
50
73
|
}
|
|
51
74
|
else if (model.jsonType === 'array' && !Array.isArray(value)) {
|
|
52
|
-
ctx
|
|
75
|
+
shapeError(ctx, path, 'must be a JSON array');
|
|
53
76
|
}
|
|
54
77
|
}
|
|
55
78
|
function validateConst(model, value, path, ctx) {
|
|
56
79
|
if (value !== model.value)
|
|
57
|
-
ctx
|
|
80
|
+
shapeError(ctx, path, `must equal ${scalarLabel(model.value)}`);
|
|
58
81
|
}
|
|
59
82
|
function validateEnum(model, value, path, ctx) {
|
|
60
83
|
const allowed = model.options.some((option) => option.value === value);
|
|
61
84
|
if (!allowed)
|
|
62
|
-
ctx
|
|
85
|
+
shapeError(ctx, path, 'must be one of the allowed values');
|
|
63
86
|
}
|
|
64
87
|
function validateString(model, value, path, ctx) {
|
|
65
88
|
if (typeof value !== 'string') {
|
|
66
|
-
ctx
|
|
89
|
+
shapeError(ctx, path, 'must be a string');
|
|
67
90
|
return;
|
|
68
91
|
}
|
|
69
92
|
// A media-annotated string carries a byte cap; enforce it on the value's
|
|
@@ -74,23 +97,23 @@ function validateString(model, value, path, ctx) {
|
|
|
74
97
|
const cap = effectiveMaxBytes(model.media.maxBytes, ctx.maxUploadBytes);
|
|
75
98
|
const size = decodedByteSize(value);
|
|
76
99
|
if (size > cap) {
|
|
77
|
-
ctx
|
|
100
|
+
shapeError(ctx, path, overCapMessage('The value', size, cap));
|
|
78
101
|
return;
|
|
79
102
|
}
|
|
80
103
|
}
|
|
81
104
|
if (value.length > 0 && model.format !== undefined) {
|
|
82
105
|
const message = formatError(model.format, value);
|
|
83
106
|
if (message !== undefined) {
|
|
84
|
-
ctx
|
|
107
|
+
shapeError(ctx, path, message);
|
|
85
108
|
return;
|
|
86
109
|
}
|
|
87
110
|
}
|
|
88
|
-
// Date bounds and unavailable days
|
|
111
|
+
// Date bounds and unavailable days. Range span/ordering needs the sibling
|
|
89
112
|
// start field, so it is enforced at the object level (see validateDateRanges).
|
|
90
113
|
if (model.date !== undefined && value.length > 0) {
|
|
91
114
|
const message = dateConstraintError(model.date, value);
|
|
92
115
|
if (message !== undefined)
|
|
93
|
-
ctx
|
|
116
|
+
shapeError(ctx, path, message);
|
|
94
117
|
}
|
|
95
118
|
}
|
|
96
119
|
/** The inclusive bound/unavailable-day violation on a date value, or `undefined`. */
|
|
@@ -110,19 +133,19 @@ function dateConstraintError(date, value) {
|
|
|
110
133
|
}
|
|
111
134
|
function validateNumber(model, value, path, ctx) {
|
|
112
135
|
if (typeof value !== 'number' || Number.isNaN(value)) {
|
|
113
|
-
ctx
|
|
136
|
+
shapeError(ctx, path, model.integer ? 'must be an integer' : 'must be a number');
|
|
114
137
|
return;
|
|
115
138
|
}
|
|
116
139
|
if (model.integer && !Number.isInteger(value))
|
|
117
|
-
ctx
|
|
140
|
+
shapeError(ctx, path, 'must be an integer');
|
|
118
141
|
}
|
|
119
142
|
function validateBoolean(value, path, ctx) {
|
|
120
143
|
if (typeof value !== 'boolean')
|
|
121
|
-
ctx
|
|
144
|
+
shapeError(ctx, path, 'must be true or false');
|
|
122
145
|
}
|
|
123
146
|
function validateArray(model, value, path, ctx) {
|
|
124
147
|
if (!Array.isArray(value)) {
|
|
125
|
-
ctx
|
|
148
|
+
shapeError(ctx, path, 'must be an array');
|
|
126
149
|
return;
|
|
127
150
|
}
|
|
128
151
|
value.forEach((item, index) => {
|
|
@@ -131,40 +154,44 @@ function validateArray(model, value, path, ctx) {
|
|
|
131
154
|
}
|
|
132
155
|
function validateObject(model, value, path, ctx) {
|
|
133
156
|
if (!isRecord(value)) {
|
|
134
|
-
ctx
|
|
157
|
+
shapeError(ctx, path, 'must be an object');
|
|
135
158
|
return;
|
|
136
159
|
}
|
|
137
160
|
const propMap = new Map(model.properties);
|
|
138
161
|
for (const [name, propSchema] of model.properties) {
|
|
139
|
-
// A field hidden by its `visibleWhen` predicate
|
|
162
|
+
// A field hidden by its `visibleWhen` predicate is not part of the answer:
|
|
140
163
|
// it is not required and not validated, and a value left on it is dropped by the
|
|
141
164
|
// server, not an error here. Evaluated on the current values, so a field that was
|
|
142
165
|
// hidden by the predicate is skipped even if it still carries a stale value.
|
|
143
166
|
if (!isFieldVisible(propSchema, value))
|
|
144
167
|
continue;
|
|
145
168
|
const childPath = joinPath(path, name);
|
|
146
|
-
const childValue = value
|
|
169
|
+
const childValue = ownValue(value, name);
|
|
147
170
|
if (childValue === undefined) {
|
|
148
171
|
if (model.required.has(name))
|
|
149
|
-
|
|
172
|
+
markRequired(childPath, name, ctx);
|
|
150
173
|
continue;
|
|
151
174
|
}
|
|
152
|
-
walk(propSchema, childValue, childPath, ctx);
|
|
175
|
+
walk(propSchema, childValue, childPath, childCtx(ctx, path, name));
|
|
153
176
|
}
|
|
154
177
|
// Required keys naming a property that somehow isn't declared still count.
|
|
155
178
|
for (const name of model.required) {
|
|
156
|
-
if (!propMap.has(name) && value
|
|
157
|
-
|
|
179
|
+
if (!propMap.has(name) && ownValue(value, name) === undefined) {
|
|
180
|
+
markRequired(joinPath(path, name), name, ctx);
|
|
158
181
|
}
|
|
159
182
|
}
|
|
160
183
|
validateDateRanges(model, value, path, ctx);
|
|
161
184
|
}
|
|
185
|
+
/** Record a missing required value at `path`, the one error a field's words never replace. */
|
|
186
|
+
function markRequired(path, name, ctx) {
|
|
187
|
+
keptError(ctx, path, `"${name}" is required`);
|
|
188
|
+
}
|
|
162
189
|
/** Days from `start` to `end` inclusive (both `YYYY-MM-DD`); 1 when they are equal. */
|
|
163
190
|
function inclusiveDayCount(start, end) {
|
|
164
191
|
return Math.round((Date.parse(end) - Date.parse(start)) / 86_400_000) + 1;
|
|
165
192
|
}
|
|
166
193
|
/**
|
|
167
|
-
* Enforce a date RANGE declared on an END field
|
|
194
|
+
* Enforce a date RANGE declared on an END field: the end is on or after its
|
|
168
195
|
* named `rangeStart` field, and the inclusive day span is within `minDays`/`maxDays`.
|
|
169
196
|
* Read from the two plain date values — nothing recombined. A missing or not-yet-valid
|
|
170
197
|
* endpoint is left to that field's own validation; a hidden end field is skipped.
|
|
@@ -176,8 +203,8 @@ function validateDateRanges(model, value, path, ctx) {
|
|
|
176
203
|
const resolved = resolveRef(propSchema, ctx.root);
|
|
177
204
|
if (typeof resolved.rangeStart !== 'string')
|
|
178
205
|
continue;
|
|
179
|
-
const endValue = value
|
|
180
|
-
const startValue = value
|
|
206
|
+
const endValue = ownValue(value, name);
|
|
207
|
+
const startValue = ownValue(value, resolved.rangeStart);
|
|
181
208
|
if (typeof endValue !== 'string' || typeof startValue !== 'string')
|
|
182
209
|
continue;
|
|
183
210
|
if (!DATE_RE.test(endValue) || !DATE_RE.test(startValue))
|
|
@@ -187,7 +214,7 @@ function validateDateRanges(model, value, path, ctx) {
|
|
|
187
214
|
continue;
|
|
188
215
|
const message = dateRangeMessage(resolved, startValue, endValue);
|
|
189
216
|
if (message !== undefined)
|
|
190
|
-
ctx
|
|
217
|
+
shapeError(childCtx(ctx, path, name), childPath, message);
|
|
191
218
|
}
|
|
192
219
|
}
|
|
193
220
|
/** The ordering/span violation on a range END field, or `undefined` when it holds. */
|
|
@@ -205,19 +232,19 @@ function dateRangeMessage(resolved, startValue, endValue) {
|
|
|
205
232
|
}
|
|
206
233
|
function validateMultiselect(model, value, path, ctx) {
|
|
207
234
|
if (!Array.isArray(value)) {
|
|
208
|
-
ctx
|
|
235
|
+
shapeError(ctx, path, 'must be an array');
|
|
209
236
|
return;
|
|
210
237
|
}
|
|
211
238
|
const allowed = new Set(model.options.map((option) => option.value));
|
|
212
239
|
for (const item of value) {
|
|
213
240
|
if (!allowed.has(item)) {
|
|
214
|
-
ctx
|
|
241
|
+
shapeError(ctx, path, 'must be one of the allowed values');
|
|
215
242
|
return;
|
|
216
243
|
}
|
|
217
244
|
}
|
|
218
245
|
}
|
|
219
246
|
/**
|
|
220
|
-
* The JSON-Schema value/length/items bounds the client mirrors from the server
|
|
247
|
+
* The JSON-Schema value/length/items bounds the client mirrors from the server:
|
|
221
248
|
* `minLength`/`maxLength`/`pattern` on a string, `minimum`/`maximum` on a number,
|
|
222
249
|
* `minItems`/`maxItems` on an array. Applied only when the kind check found no type
|
|
223
250
|
* error. A `pattern` that cannot compile surfaces as a loud field error, never a silent
|
|
@@ -234,11 +261,11 @@ function applyBounds(schema, value, path, ctx) {
|
|
|
234
261
|
function applyStringBounds(schema, value, path, ctx) {
|
|
235
262
|
const length = Array.from(value).length;
|
|
236
263
|
if (typeof schema.minLength === 'number' && length < schema.minLength) {
|
|
237
|
-
ctx
|
|
264
|
+
shapeError(ctx, path, `must be at least ${String(schema.minLength)} character(s)`);
|
|
238
265
|
return;
|
|
239
266
|
}
|
|
240
267
|
if (typeof schema.maxLength === 'number' && length > schema.maxLength) {
|
|
241
|
-
ctx
|
|
268
|
+
shapeError(ctx, path, `must be at most ${String(schema.maxLength)} character(s)`);
|
|
242
269
|
return;
|
|
243
270
|
}
|
|
244
271
|
if (typeof schema.pattern !== 'string' || schema.pattern === '')
|
|
@@ -248,44 +275,44 @@ function applyStringBounds(schema, value, path, ctx) {
|
|
|
248
275
|
pattern = new RegExp(schema.pattern);
|
|
249
276
|
}
|
|
250
277
|
catch {
|
|
251
|
-
ctx
|
|
278
|
+
keptError(ctx, path, 'has an invalid pattern constraint');
|
|
252
279
|
return;
|
|
253
280
|
}
|
|
254
281
|
if (!pattern.test(value))
|
|
255
|
-
ctx
|
|
282
|
+
shapeError(ctx, path, 'must match the required pattern');
|
|
256
283
|
}
|
|
257
284
|
function applyNumberBounds(schema, value, path, ctx) {
|
|
258
285
|
if (typeof schema.minimum === 'number' && value < schema.minimum) {
|
|
259
|
-
ctx
|
|
286
|
+
shapeError(ctx, path, `must be at least ${String(schema.minimum)}`);
|
|
260
287
|
return;
|
|
261
288
|
}
|
|
262
289
|
if (typeof schema.maximum === 'number' && value > schema.maximum) {
|
|
263
|
-
ctx
|
|
290
|
+
shapeError(ctx, path, `must be at most ${String(schema.maximum)}`);
|
|
264
291
|
}
|
|
265
292
|
}
|
|
266
293
|
function applyArrayBounds(schema, value, path, ctx) {
|
|
267
294
|
if (typeof schema.minItems === 'number' && value.length < schema.minItems) {
|
|
268
|
-
ctx
|
|
295
|
+
shapeError(ctx, path, `must have at least ${String(schema.minItems)} item(s)`);
|
|
269
296
|
return;
|
|
270
297
|
}
|
|
271
298
|
if (typeof schema.maxItems === 'number' && value.length > schema.maxItems) {
|
|
272
|
-
ctx
|
|
299
|
+
shapeError(ctx, path, `must have at most ${String(schema.maxItems)} item(s)`);
|
|
273
300
|
}
|
|
274
301
|
}
|
|
275
302
|
function validateRecord(model, value, path, ctx) {
|
|
276
303
|
if (!isRecord(value)) {
|
|
277
|
-
ctx
|
|
304
|
+
shapeError(ctx, path, 'must be an object');
|
|
278
305
|
return;
|
|
279
306
|
}
|
|
280
307
|
for (const [key, entryValue] of Object.entries(value)) {
|
|
281
|
-
walk(model.values, entryValue, joinPath(path, key), ctx);
|
|
308
|
+
walk(model.values, entryValue, joinPath(path, key), childCtx(ctx, path, key));
|
|
282
309
|
}
|
|
283
310
|
}
|
|
284
311
|
function validateUnion(model, value, path, ctx) {
|
|
285
312
|
const index = activeVariantIndex(value, model.variants, model.discriminator, ctx.root);
|
|
286
313
|
const variant = index === -1 ? undefined : model.variants[index];
|
|
287
314
|
if (variant === undefined) {
|
|
288
|
-
ctx
|
|
315
|
+
shapeError(ctx, path, 'does not match any allowed variant');
|
|
289
316
|
return;
|
|
290
317
|
}
|
|
291
318
|
walk(variant.schema, value, path, ctx);
|
|
@@ -294,11 +321,11 @@ function walk(schema, value, path, ctx) {
|
|
|
294
321
|
const classified = classifySchema(schema, ctx.root);
|
|
295
322
|
if (value === null) {
|
|
296
323
|
if (!classified.nullable)
|
|
297
|
-
ctx
|
|
324
|
+
shapeError(ctx, path, 'must not be null');
|
|
298
325
|
return;
|
|
299
326
|
}
|
|
300
327
|
dispatchKind(classified.model, value, path, ctx);
|
|
301
|
-
// The value/length/items bounds
|
|
328
|
+
// The value/length/items bounds mirror the server and apply only when the kind
|
|
302
329
|
// check found no type error for this field — a bound on a wrong-typed value is noise.
|
|
303
330
|
if (ctx.errors[path] === undefined)
|
|
304
331
|
applyBounds(classified.schema, value, path, ctx);
|
|
@@ -340,15 +367,42 @@ function dispatchKind(model, value, path, ctx) {
|
|
|
340
367
|
return;
|
|
341
368
|
}
|
|
342
369
|
}
|
|
370
|
+
/**
|
|
371
|
+
* Replace each shape error inside a root property whose words carry an `invalid`
|
|
372
|
+
* sentence with that sentence; every other error keeps its own message.
|
|
373
|
+
*/
|
|
374
|
+
function applyFieldWording(fieldWording, errors, shapeErrorFields) {
|
|
375
|
+
for (const [path, field] of shapeErrorFields) {
|
|
376
|
+
if (!Object.hasOwn(fieldWording, field))
|
|
377
|
+
continue;
|
|
378
|
+
const invalid = fieldWording[field]?.invalid;
|
|
379
|
+
if (invalid !== undefined)
|
|
380
|
+
errors[path] = invalid;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
343
383
|
/**
|
|
344
384
|
* Validate `value` against `schema`, returning a per-path error bag (empty =
|
|
345
385
|
* valid). The caller runs this before submit and feeds the result back to
|
|
346
386
|
* `SchemaForm` for display. `options.maxUploadBytes` mirrors the renderer's
|
|
347
|
-
* `maxUploadBytes` prop so a media field's byte cap is enforced identically here
|
|
387
|
+
* `maxUploadBytes` prop so a media field's byte cap is enforced identically here;
|
|
388
|
+
* `options.fieldWording` puts a field's own `invalid` sentence in place of the
|
|
389
|
+
* SDK's word for any shape error on that field.
|
|
348
390
|
*/
|
|
349
391
|
export function validateAgainstSchema(schema, value, options) {
|
|
350
|
-
const errors =
|
|
351
|
-
|
|
352
|
-
|
|
392
|
+
const errors = Object.create(null);
|
|
393
|
+
const shapeErrorFields = new Map();
|
|
394
|
+
walk(schema, value, '', {
|
|
395
|
+
root: schema,
|
|
396
|
+
errors,
|
|
397
|
+
maxUploadBytes: options?.maxUploadBytes,
|
|
398
|
+
field: undefined,
|
|
399
|
+
shapeErrorFields,
|
|
400
|
+
});
|
|
401
|
+
if (options?.fieldWording !== undefined) {
|
|
402
|
+
applyFieldWording(options.fieldWording, errors, shapeErrorFields);
|
|
403
|
+
}
|
|
404
|
+
// Hand back an ordinary object; its entries are defined as own keys, so a path such as
|
|
405
|
+
// `__proto__` stays an entry of the result.
|
|
406
|
+
return Object.fromEntries(Object.entries(errors));
|
|
353
407
|
}
|
|
354
408
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The single evaluator for a property's `visibleWhen` predicate — a static,
|
|
3
|
-
* declarative field-visibility rule (scope B). The renderer (`ObjectFields`) and the
|
|
4
|
-
* validator both call it so a field shown by the form is exactly the field validated at
|
|
5
|
-
* submit, and a hidden field is neither rendered nor required. It reads only sibling
|
|
6
|
-
* values already in the object; it never calls a consumer handler (that is scope A).
|
|
7
|
-
*
|
|
8
|
-
* A malformed predicate degrades to VISIBLE: the send-time server validation rejects a
|
|
9
|
-
* malformed predicate loudly, so one never reaches a well-formed render, and showing a
|
|
10
|
-
* field is the safe non-hiding default (a hidden-by-accident required field would dead-
|
|
11
|
-
* end a form).
|
|
12
|
-
*/
|
|
13
1
|
import type { JsonSchema } from './types';
|
|
14
2
|
/**
|
|
15
3
|
* Whether a property carrying `schema.visibleWhen` is visible against the current
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../src/schema-form/visibility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../src/schema-form/visibility.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAc1C;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAc3F"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single evaluator for a property's `visibleWhen` predicate — a static,
|
|
3
|
+
* declarative field-visibility rule. The renderer (`ObjectFields`) and the
|
|
4
|
+
* validator both call it so a field shown by the form is exactly the field validated at
|
|
5
|
+
* submit, and a hidden field is neither rendered nor required. It reads only sibling
|
|
6
|
+
* values already in the object; it never calls a consumer handler.
|
|
7
|
+
*
|
|
8
|
+
* A malformed predicate degrades to VISIBLE: the send-time server validation rejects a
|
|
9
|
+
* malformed predicate loudly, so one never reaches a well-formed render, and showing a
|
|
10
|
+
* field is the safe non-hiding default (a hidden-by-accident required field would dead-
|
|
11
|
+
* end a form).
|
|
12
|
+
*/
|
|
13
|
+
import { ownValue } from '../guards';
|
|
1
14
|
function isRecord(value) {
|
|
2
15
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
3
16
|
}
|
|
@@ -21,7 +34,7 @@ export function isFieldVisible(schema, values) {
|
|
|
21
34
|
const predicate = schema.visibleWhen;
|
|
22
35
|
if (!isRecord(predicate) || typeof predicate.field !== 'string')
|
|
23
36
|
return true;
|
|
24
|
-
const current = values
|
|
37
|
+
const current = ownValue(values, predicate.field);
|
|
25
38
|
const inList = predicate.in;
|
|
26
39
|
const hasEquals = 'equals' in predicate;
|
|
27
40
|
const hasIn = Array.isArray(inList);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/schema-form/visibility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/schema-form/visibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,6FAA6F;AAC7F,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB,EAAE,MAA+B;IAChF,MAAM,SAAS,GAAY,MAAM,CAAC,WAAW,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,QAAQ,IAAI,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC;IAChD,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/E,IAAI,SAAS;QAAE,OAAO,OAAO,KAAK,SAAS,CAAC,MAAM,CAAC;IACnD,IAAI,KAAK;QAAE,OAAQ,MAA6B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;IAC5F,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tai42/studio-sdk",
|
|
3
|
-
"version": "22.
|
|
3
|
+
"version": "22.4.1",
|
|
4
4
|
"description": "The Studio plugin contract, shared UI components, and hooks that every feature builds on.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "tai42 <oss@tai42.ai>",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"@radix-ui/react-select": "^2.3.8",
|
|
97
97
|
"@radix-ui/react-tabs": "^1.1.22",
|
|
98
98
|
"@radix-ui/react-tooltip": "^1.3.0",
|
|
99
|
-
"@tai42/api-client": "22.
|
|
99
|
+
"@tai42/api-client": "22.4.1"
|
|
100
100
|
},
|
|
101
101
|
"scripts": {
|
|
102
102
|
"build": "tsc -b tsconfig.build.json && node scripts/copy-assets.mjs",
|
package/src/guards.ts
CHANGED
|
@@ -5,3 +5,15 @@
|
|
|
5
5
|
export function isRecord(value: unknown): value is Record<string, unknown> {
|
|
6
6
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
7
|
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* `record[key]` when `key` is one of the record's own keys, else `undefined`. A key
|
|
11
|
+
* that names a built-in object member (`toString`, `constructor`, `__proto__`) reads
|
|
12
|
+
* only the record's own entry, never the inherited member.
|
|
13
|
+
*/
|
|
14
|
+
export function ownValue<T>(
|
|
15
|
+
record: Readonly<Record<string, T>> | undefined,
|
|
16
|
+
key: string,
|
|
17
|
+
): T | undefined {
|
|
18
|
+
return record !== undefined && Object.hasOwn(record, key) ? record[key] : undefined;
|
|
19
|
+
}
|
|
@@ -100,9 +100,11 @@ export interface SchemaFormProps {
|
|
|
100
100
|
* name. A top-level `enum` field that draws as a select shows its entry's
|
|
101
101
|
* `choiceLabel` as the select placeholder (in place of the default `Select…`);
|
|
102
102
|
* other controls and nested fields are unaffected. A field with no entry draws
|
|
103
|
-
* its own default.
|
|
103
|
+
* its own default. The entry's `invalid` sentence is not read here: pass the same
|
|
104
|
+
* record to `validateAgainstSchema` as `fieldWording`, and the errors it returns
|
|
105
|
+
* carry that sentence.
|
|
104
106
|
*/
|
|
105
|
-
readonly fieldWording?: Readonly<Record<string, { choiceLabel?: string }>>;
|
|
107
|
+
readonly fieldWording?: Readonly<Record<string, { choiceLabel?: string; invalid?: string }>>;
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
/**
|
|
@@ -213,10 +213,10 @@ function classifyAllOf(
|
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
/**
|
|
216
|
-
* The platform date constraints on a `date`/`date-time` string property
|
|
216
|
+
* The platform date constraints on a `date`/`date-time` string property, or
|
|
217
217
|
* `undefined` for a plain or non-date string. Each key is read defensively (the schema is
|
|
218
218
|
* permissive); a date property with no constraint key classifies with `date: undefined`
|
|
219
|
-
*
|
|
219
|
+
* and draws the plain date or date-time control with no bounds.
|
|
220
220
|
*/
|
|
221
221
|
function dateConstraints(resolved: JsonSchema): DateConstraints | undefined {
|
|
222
222
|
if (resolved.format !== 'date' && resolved.format !== 'date-time') return undefined;
|
|
@@ -312,7 +312,7 @@ function classifyArray(
|
|
|
312
312
|
}
|
|
313
313
|
// An array whose items are a FIXED set of strings (an `enum` on the items, or a
|
|
314
314
|
// per-send option list that set one) is a multi-select: a checkbox group over a known
|
|
315
|
-
// option set
|
|
315
|
+
// option set. An array of free strings keeps the add/remove `array` field.
|
|
316
316
|
const items = resolveRef(resolved.items, root);
|
|
317
317
|
const itemTypes = typeList(items);
|
|
318
318
|
const isStringItems = itemTypes.length === 1 && itemTypes[0] === 'string';
|