@choiceopen/atomemo-plugin-schema 0.1.7 → 0.2.0
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/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/{types-P4MROouJ.d.ts → definition-DEEuUiSF.d.mts} +94 -84
- package/dist/schemas.d.mts +4557 -0
- package/dist/{schemas.js → schemas.mjs} +97 -81
- package/dist/schemas.mjs.map +1 -0
- package/dist/types.d.mts +2 -0
- package/dist/types.mjs +1 -0
- package/package.json +18 -12
- package/dist/schemas.d.ts +0 -1901
- package/dist/schemas.js.map +0 -1
- package/dist/types.d.ts +0 -2
- package/dist/types.js +0 -0
|
@@ -127,13 +127,12 @@ const PropertyUICodeEditorPropsSchema = PropertyUICommonPropsSchema.extend({
|
|
|
127
127
|
language: z.enum([
|
|
128
128
|
"json",
|
|
129
129
|
"javascript",
|
|
130
|
-
"python3"
|
|
130
|
+
"python3",
|
|
131
|
+
"html"
|
|
131
132
|
]).optional(),
|
|
132
133
|
line_numbers: z.boolean().optional(),
|
|
133
|
-
line_wrapping: z.boolean().optional(),
|
|
134
134
|
max_height: z.number().optional(),
|
|
135
|
-
min_height: z.number().optional()
|
|
136
|
-
rows: z.number().optional()
|
|
135
|
+
min_height: z.number().optional()
|
|
137
136
|
});
|
|
138
137
|
const PropertyUISelectPropsBaseSchema = z.object({
|
|
139
138
|
clearable: z.boolean().optional(),
|
|
@@ -144,6 +143,7 @@ const PropertyUISingleSelectPropsSchema = PropertyUICommonPropsSchema.merge(Prop
|
|
|
144
143
|
const PropertyUIRadioGroupPropsSchema = PropertyUICommonPropsSchema.merge(PropertyUISelectPropsBaseSchema).extend({ component: z.literal("radio-group") });
|
|
145
144
|
const PropertyUIMultiSelectPropsSchema = PropertyUICommonPropsSchema.merge(PropertyUISelectPropsBaseSchema).extend({ component: z.literal("multi-select") });
|
|
146
145
|
const PropertyUISwitchPropsSchema = PropertyUICommonPropsSchema.extend({ component: z.literal("switch") });
|
|
146
|
+
const PropertyUICheckboxPropsSchema = PropertyUICommonPropsSchema.extend({ component: z.literal("checkbox") });
|
|
147
147
|
const PropertyUISliderPropsSchema = PropertyUICommonPropsSchema.extend({
|
|
148
148
|
component: z.literal("slider"),
|
|
149
149
|
marks: z.record(z.number(), z.string()).optional(),
|
|
@@ -190,7 +190,6 @@ const PropertyUICollapsiblePanelPropsSchema = PropertyUICommonPropsSchema.extend
|
|
|
190
190
|
remove_tooltip: I18nEntrySchema.optional(),
|
|
191
191
|
sortable: z.boolean().optional()
|
|
192
192
|
});
|
|
193
|
-
const PropertyUISectionPropsSchema = PropertyUICommonPropsSchema.extend({ component: z.literal("section") });
|
|
194
193
|
const PropertyUIPropsSchema = z.discriminatedUnion("component", [
|
|
195
194
|
PropertyUIInputPropsSchema,
|
|
196
195
|
PropertyUITextareaPropsSchema,
|
|
@@ -202,6 +201,7 @@ const PropertyUIPropsSchema = z.discriminatedUnion("component", [
|
|
|
202
201
|
PropertyUIColorPickerPropsSchema,
|
|
203
202
|
PropertyUIMultiSelectPropsSchema,
|
|
204
203
|
PropertyUISwitchPropsSchema,
|
|
204
|
+
PropertyUICheckboxPropsSchema,
|
|
205
205
|
PropertyUISliderPropsSchema,
|
|
206
206
|
PropertyUIKeyValueEditorPropsSchema,
|
|
207
207
|
PropertyUITagInputPropsSchema,
|
|
@@ -210,10 +210,9 @@ const PropertyUIPropsSchema = z.discriminatedUnion("component", [
|
|
|
210
210
|
PropertyUIConditionsEditorPropsSchema,
|
|
211
211
|
PropertyUIArraySectionPropsSchema,
|
|
212
212
|
PropertyUICollapsiblePanelPropsSchema,
|
|
213
|
-
PropertyUISectionPropsSchema,
|
|
214
213
|
PropertyUIEncryptedInputPropsSchema
|
|
215
214
|
]);
|
|
216
|
-
const PropertyUIBooleanSchema = z.discriminatedUnion("component", [PropertyUISwitchPropsSchema]);
|
|
215
|
+
const PropertyUIBooleanSchema = z.discriminatedUnion("component", [PropertyUISwitchPropsSchema, PropertyUICheckboxPropsSchema]);
|
|
217
216
|
const PropertyUINumberSchema = z.discriminatedUnion("component", [PropertyUINumberInputPropsSchema, PropertyUISliderPropsSchema]);
|
|
218
217
|
const PropertyUIStringSchema = z.discriminatedUnion("component", [
|
|
219
218
|
PropertyUIInputPropsSchema,
|
|
@@ -232,13 +231,11 @@ const PropertyUIArraySchema = z.discriminatedUnion("component", [
|
|
|
232
231
|
PropertyUISliderPropsSchema,
|
|
233
232
|
PropertyUIArraySectionPropsSchema
|
|
234
233
|
]);
|
|
235
|
-
const PropertyUIContainerSchema = z.discriminatedUnion("component", [PropertyUICollapsiblePanelPropsSchema, PropertyUISectionPropsSchema]);
|
|
236
234
|
const PropertyUIObjectSchema = z.discriminatedUnion("component", [
|
|
235
|
+
PropertyUICollapsiblePanelPropsSchema,
|
|
237
236
|
PropertyUIJsonSchemaEditorPropsSchema,
|
|
238
237
|
PropertyUIConditionsEditorPropsSchema,
|
|
239
|
-
PropertyUICodeEditorPropsSchema
|
|
240
|
-
PropertyUICollapsiblePanelPropsSchema,
|
|
241
|
-
PropertyUISectionPropsSchema
|
|
238
|
+
PropertyUICodeEditorPropsSchema
|
|
242
239
|
]);
|
|
243
240
|
const PropertyUICredentialIdSchema = z.discriminatedUnion("component", [PropertyUICredentialSelectPropsSchema]);
|
|
244
241
|
const PropertyUIDiscriminatorUISchema = z.discriminatedUnion("component", [
|
|
@@ -262,30 +259,30 @@ const JsonValueSchema$1 = z.lazy(() => z.union([
|
|
|
262
259
|
z.record(z.string(), JsonValueSchema$1)
|
|
263
260
|
]));
|
|
264
261
|
const FilterOperatorsSchema = z.object({
|
|
265
|
-
$eq: JsonValueSchema$1.
|
|
266
|
-
$exists: z.boolean().
|
|
267
|
-
$gt: JsonValueSchema$1.
|
|
268
|
-
$gte: JsonValueSchema$1.
|
|
269
|
-
$in: z.array(JsonValueSchema$1).
|
|
270
|
-
$lt: JsonValueSchema$1.
|
|
271
|
-
$lte: JsonValueSchema$1.
|
|
272
|
-
$mod: z.tuple([z.number(), z.number()]).
|
|
273
|
-
$ne: JsonValueSchema$1.
|
|
274
|
-
$nin: z.array(JsonValueSchema$1).
|
|
275
|
-
$options: z.string().
|
|
276
|
-
$regex: z.union([z.string(), z.instanceof(RegExp)]).
|
|
277
|
-
$size: z.number().
|
|
262
|
+
$eq: JsonValueSchema$1.optional(),
|
|
263
|
+
$exists: z.boolean().optional(),
|
|
264
|
+
$gt: JsonValueSchema$1.optional(),
|
|
265
|
+
$gte: JsonValueSchema$1.optional(),
|
|
266
|
+
$in: z.array(JsonValueSchema$1).optional(),
|
|
267
|
+
$lt: JsonValueSchema$1.optional(),
|
|
268
|
+
$lte: JsonValueSchema$1.optional(),
|
|
269
|
+
$mod: z.tuple([z.number(), z.number()]).optional(),
|
|
270
|
+
$ne: JsonValueSchema$1.optional(),
|
|
271
|
+
$nin: z.array(JsonValueSchema$1).optional(),
|
|
272
|
+
$options: z.string().optional(),
|
|
273
|
+
$regex: z.union([z.string(), z.instanceof(RegExp)]).optional(),
|
|
274
|
+
$size: z.number().optional()
|
|
278
275
|
});
|
|
279
276
|
const ConditionSchema = z.union([JsonValueSchema$1, FilterOperatorsSchema]);
|
|
280
277
|
const RootFilterSchema = z.object({
|
|
281
278
|
get $and() {
|
|
282
|
-
return z.array(FilterSchema).
|
|
279
|
+
return z.array(FilterSchema).optional();
|
|
283
280
|
},
|
|
284
281
|
get $nor() {
|
|
285
|
-
return z.array(FilterSchema).
|
|
282
|
+
return z.array(FilterSchema).optional();
|
|
286
283
|
},
|
|
287
284
|
get $or() {
|
|
288
|
-
return z.array(FilterSchema).
|
|
285
|
+
return z.array(FilterSchema).optional();
|
|
289
286
|
}
|
|
290
287
|
});
|
|
291
288
|
const FilterSchema = z.union([z.record(z.string(), ConditionSchema), RootFilterSchema]);
|
|
@@ -305,61 +302,60 @@ const PropertyBaseSchema = z.object({
|
|
|
305
302
|
error: "name cannot contain \".\", \"[\", or \"]\" characters",
|
|
306
303
|
abort: true
|
|
307
304
|
}),
|
|
308
|
-
display_name: I18nEntrySchema.
|
|
309
|
-
required: z.boolean().
|
|
305
|
+
display_name: I18nEntrySchema.optional(),
|
|
306
|
+
required: z.boolean().optional(),
|
|
310
307
|
display: z.object({
|
|
311
|
-
hide: FilterSchema.
|
|
312
|
-
show: FilterSchema.
|
|
313
|
-
}).
|
|
314
|
-
ai: z.object({ llm_description: I18nEntrySchema.
|
|
315
|
-
ui: PropertyUICommonPropsSchema.
|
|
308
|
+
hide: FilterSchema.optional(),
|
|
309
|
+
show: FilterSchema.optional()
|
|
310
|
+
}).optional(),
|
|
311
|
+
ai: z.object({ llm_description: I18nEntrySchema.optional() }).optional(),
|
|
312
|
+
ui: PropertyUICommonPropsSchema.optional()
|
|
316
313
|
});
|
|
317
314
|
const PropertyStringSchema = PropertyBaseSchema.extend({
|
|
318
315
|
type: z.literal("string"),
|
|
319
|
-
constant: z.string().
|
|
320
|
-
default: z.string().
|
|
321
|
-
enum: z.array(z.string()).
|
|
322
|
-
max_length: z.number().
|
|
323
|
-
min_length: z.number().
|
|
324
|
-
ui: PropertyUIStringSchema.
|
|
316
|
+
constant: z.string().optional(),
|
|
317
|
+
default: z.string().optional(),
|
|
318
|
+
enum: z.array(z.string()).optional(),
|
|
319
|
+
max_length: z.number().optional(),
|
|
320
|
+
min_length: z.number().optional(),
|
|
321
|
+
ui: PropertyUIStringSchema.optional()
|
|
325
322
|
});
|
|
326
323
|
const PropertyNumberSchema = PropertyBaseSchema.extend({
|
|
327
324
|
type: z.union([z.literal("number"), z.literal("integer")]),
|
|
328
|
-
constant: z.number().
|
|
329
|
-
default: z.number().
|
|
330
|
-
enum: z.array(z.number()).
|
|
331
|
-
maximum: z.number().
|
|
332
|
-
minimum: z.number().
|
|
333
|
-
ui: PropertyUINumberSchema.
|
|
325
|
+
constant: z.number().optional(),
|
|
326
|
+
default: z.number().optional(),
|
|
327
|
+
enum: z.array(z.number()).optional(),
|
|
328
|
+
maximum: z.number().optional(),
|
|
329
|
+
minimum: z.number().optional(),
|
|
330
|
+
ui: PropertyUINumberSchema.optional()
|
|
334
331
|
});
|
|
335
332
|
const PropertyBooleanSchema = PropertyBaseSchema.extend({
|
|
336
333
|
type: z.literal("boolean"),
|
|
337
|
-
constant: z.boolean().
|
|
338
|
-
default: z.boolean().
|
|
339
|
-
enum: z.array(z.boolean()).
|
|
340
|
-
ui: PropertyUIBooleanSchema.
|
|
334
|
+
constant: z.boolean().optional(),
|
|
335
|
+
default: z.boolean().optional(),
|
|
336
|
+
enum: z.array(z.boolean()).optional(),
|
|
337
|
+
ui: PropertyUIBooleanSchema.optional()
|
|
341
338
|
});
|
|
342
|
-
|
|
343
|
-
|
|
339
|
+
function setDuplicatePropertyNamesCheck(schema) {
|
|
340
|
+
return schema.refine((properties) => {
|
|
344
341
|
const names = /* @__PURE__ */ new Set();
|
|
345
342
|
for (const prop of properties) {
|
|
346
343
|
if (names.has(prop.name)) return false;
|
|
347
344
|
names.add(prop.name);
|
|
348
345
|
}
|
|
349
346
|
return true;
|
|
350
|
-
},
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
const ArrayPropertiesSchema = z.lazy(() => z.array(PropertySchema).refine(checkDuplicateNames.checkFn, checkDuplicateNames.customError));
|
|
347
|
+
}, { error: "duplicate property names are not allowed" });
|
|
348
|
+
}
|
|
349
|
+
const ArrayPropertiesSchema = z.lazy(() => z.array(PropertySchema).apply(setDuplicatePropertyNamesCheck));
|
|
354
350
|
const additionalPropertiesSchema = z.lazy(() => PropertySchema);
|
|
355
351
|
const PropertyObjectSchema = PropertyBaseSchema.extend({
|
|
356
352
|
type: z.literal("object"),
|
|
357
353
|
properties: ArrayPropertiesSchema,
|
|
358
|
-
additional_properties: additionalPropertiesSchema.
|
|
359
|
-
constant: z.record(z.string(), JsonValueSchema$1).
|
|
360
|
-
default: z.record(z.string(), JsonValueSchema$1).
|
|
361
|
-
enum: z.array(z.record(z.string(), JsonValueSchema$1)).
|
|
362
|
-
ui: PropertyUIObjectSchema.
|
|
354
|
+
additional_properties: additionalPropertiesSchema.optional(),
|
|
355
|
+
constant: z.record(z.string(), JsonValueSchema$1).optional(),
|
|
356
|
+
default: z.record(z.string(), JsonValueSchema$1).optional(),
|
|
357
|
+
enum: z.array(z.record(z.string(), JsonValueSchema$1)).optional(),
|
|
358
|
+
ui: PropertyUIObjectSchema.optional()
|
|
363
359
|
}).refine((v) => {
|
|
364
360
|
if (v.constant) return v.properties.length === 0;
|
|
365
361
|
return true;
|
|
@@ -373,7 +369,7 @@ const PropertyDiscriminatedUnionSchema = PropertyBaseSchema.extend({
|
|
|
373
369
|
return z.array(PropertyObjectSchema).min(2, "anyOf must have at least two items");
|
|
374
370
|
},
|
|
375
371
|
discriminator: z.string().min(1, "discriminator cannot be empty"),
|
|
376
|
-
discriminator_ui: PropertyUIDiscriminatorUISchema.
|
|
372
|
+
discriminator_ui: PropertyUIDiscriminatorUISchema.optional()
|
|
377
373
|
}).refine((v) => {
|
|
378
374
|
const { any_of, discriminator } = v;
|
|
379
375
|
return any_of.every((i) => {
|
|
@@ -398,24 +394,24 @@ const PropertyDiscriminatedUnionSchema = PropertyBaseSchema.extend({
|
|
|
398
394
|
}, { error: "Discriminator values must be unique across all anyOf items" });
|
|
399
395
|
const PropertyArraySchema = PropertyBaseSchema.extend({
|
|
400
396
|
type: z.literal("array"),
|
|
401
|
-
constant: z.array(JsonValueSchema$1).
|
|
402
|
-
default: z.array(JsonValueSchema$1).
|
|
403
|
-
enum: z.array(z.array(JsonValueSchema$1)).
|
|
397
|
+
constant: z.array(JsonValueSchema$1).optional(),
|
|
398
|
+
default: z.array(JsonValueSchema$1).optional(),
|
|
399
|
+
enum: z.array(z.array(JsonValueSchema$1)).optional(),
|
|
404
400
|
get items() {
|
|
405
401
|
return PropertySchema;
|
|
406
402
|
},
|
|
407
|
-
max_items: z.number().
|
|
408
|
-
min_items: z.number().
|
|
409
|
-
ui: PropertyUIArraySchema.
|
|
403
|
+
max_items: z.number().optional(),
|
|
404
|
+
min_items: z.number().optional(),
|
|
405
|
+
ui: PropertyUIArraySchema.optional()
|
|
410
406
|
});
|
|
411
407
|
const PropertyCredentialIdSchema = PropertyBaseSchema.extend({
|
|
412
408
|
type: z.literal("credential_id"),
|
|
413
409
|
credential_name: z.string().min(1, "credential_name cannot be empty"),
|
|
414
|
-
ui: PropertyUICredentialIdSchema.
|
|
410
|
+
ui: PropertyUICredentialIdSchema.optional()
|
|
415
411
|
});
|
|
416
412
|
const PropertyEncryptedStringSchema = PropertyBaseSchema.extend({
|
|
417
413
|
type: z.literal("encrypted_string"),
|
|
418
|
-
ui: PropertyUIEncryptedStringSchema.
|
|
414
|
+
ui: PropertyUIEncryptedStringSchema.optional()
|
|
419
415
|
});
|
|
420
416
|
const PropertyScalarSchema = z.union([
|
|
421
417
|
PropertyStringSchema,
|
|
@@ -423,7 +419,7 @@ const PropertyScalarSchema = z.union([
|
|
|
423
419
|
PropertyNumberSchema,
|
|
424
420
|
PropertyEncryptedStringSchema
|
|
425
421
|
]);
|
|
426
|
-
const PropertiesScalarSchema = z.
|
|
422
|
+
const PropertiesScalarSchema = z.array(PropertyScalarSchema).apply(setDuplicatePropertyNamesCheck);
|
|
427
423
|
const PropertySchema = z.union([
|
|
428
424
|
...PropertyScalarSchema.options,
|
|
429
425
|
PropertyCredentialIdSchema,
|
|
@@ -431,14 +427,14 @@ const PropertySchema = z.union([
|
|
|
431
427
|
PropertyObjectSchema,
|
|
432
428
|
PropertyDiscriminatedUnionSchema
|
|
433
429
|
]);
|
|
434
|
-
const PropertiesSchema =
|
|
430
|
+
const PropertiesSchema = z.array(PropertySchema).apply(setDuplicatePropertyNamesCheck);
|
|
435
431
|
|
|
436
432
|
//#endregion
|
|
437
433
|
//#region src/schemas/definition.ts
|
|
438
434
|
/**
|
|
439
|
-
*
|
|
435
|
+
* Base Definition Schema
|
|
440
436
|
*
|
|
441
|
-
*
|
|
437
|
+
* This is the base class for all function definition schemas, defining common properties and not used independently
|
|
442
438
|
*/
|
|
443
439
|
const BaseDefinitionSchema = z.object({
|
|
444
440
|
name: z.string().regex(/^[a-zA-Z](?:(?![_-]{2,})[a-zA-Z0-9_-]){3,63}[a-zA-Z0-9]$/, { error: "Invalid name, should match the following rules: 1. only English letters, numbers, _ and - 2. start with English letter, end with English letter or number 3. _ and - cannot appear consecutively more than twice 4. minimum length 4, maximum length 64" }),
|
|
@@ -448,14 +444,31 @@ const BaseDefinitionSchema = z.object({
|
|
|
448
444
|
});
|
|
449
445
|
const PluginDefinitionSchema = z.object({
|
|
450
446
|
...BaseDefinitionSchema.shape,
|
|
451
|
-
author: z.string().
|
|
452
|
-
email: z.email().
|
|
453
|
-
repo: z.httpUrl().
|
|
454
|
-
version: z.string().
|
|
447
|
+
author: z.string().optional(),
|
|
448
|
+
email: z.email().optional(),
|
|
449
|
+
repo: z.httpUrl().optional(),
|
|
450
|
+
version: z.string().optional(),
|
|
455
451
|
locales: z.array(z.string())
|
|
456
452
|
});
|
|
457
453
|
const CredentialDefinitionSchema = z.object({
|
|
458
454
|
...BaseDefinitionSchema.shape,
|
|
455
|
+
authenticate: z.function({
|
|
456
|
+
input: z.tuple([z.object({ args: z.object({
|
|
457
|
+
parameters: z.looseObject({ model: z.string().optional() }),
|
|
458
|
+
credentials: z.record(z.string(), z.string())
|
|
459
|
+
}) })]),
|
|
460
|
+
output: z.promise(z.object({
|
|
461
|
+
adapter: z.enum([
|
|
462
|
+
"anthropic",
|
|
463
|
+
"openai",
|
|
464
|
+
"google",
|
|
465
|
+
"deepseek"
|
|
466
|
+
]),
|
|
467
|
+
endpoint: z.httpUrl().optional(),
|
|
468
|
+
model: z.string(),
|
|
469
|
+
headers: z.record(z.string(), z.string()).optional()
|
|
470
|
+
}))
|
|
471
|
+
}),
|
|
459
472
|
parameters: PropertiesScalarSchema
|
|
460
473
|
});
|
|
461
474
|
const DataSourceDefinitionSchema = z.object({
|
|
@@ -519,12 +532,15 @@ const ModelDefinitionSchema = z.object({
|
|
|
519
532
|
const ToolDefinitionSchema = z.object({
|
|
520
533
|
...BaseDefinitionSchema.shape,
|
|
521
534
|
invoke: z.function({
|
|
522
|
-
input: z.tuple([z.object({ args: z.
|
|
535
|
+
input: z.tuple([z.object({ args: z.object({
|
|
536
|
+
parameters: z.record(z.string(), z.any()),
|
|
537
|
+
credentials: z.record(z.string(), z.string()).optional()
|
|
538
|
+
}) })]),
|
|
523
539
|
output: z.promise(JsonValueSchema)
|
|
524
540
|
}),
|
|
525
541
|
parameters: PropertiesSchema
|
|
526
542
|
});
|
|
527
543
|
|
|
528
544
|
//#endregion
|
|
529
|
-
export { BaseDefinitionSchema, CredentialDefinitionSchema, DataSourceDefinitionSchema, I18nEntrySchema, JsonValueSchema, ModelDefinitionSchema, PluginDefinitionSchema, PropertiesScalarSchema, PropertiesSchema, PropertyUIArraySchema, PropertyUIBooleanSchema, PropertyUICommonPropsSchema,
|
|
530
|
-
//# sourceMappingURL=schemas.
|
|
545
|
+
export { BaseDefinitionSchema, CredentialDefinitionSchema, DataSourceDefinitionSchema, I18nEntrySchema, JsonValueSchema, ModelDefinitionSchema, PluginDefinitionSchema, PropertiesScalarSchema, PropertiesSchema, PropertyUIArraySchema, PropertyUIBooleanSchema, PropertyUICommonPropsSchema, PropertyUICredentialIdSchema, PropertyUIDiscriminatorUISchema, PropertyUIEncryptedInputPropsSchema, PropertyUIEncryptedStringSchema, PropertyUINumberSchema, PropertyUIObjectSchema, PropertyUIOptionSchema, PropertyUIPropsSchema, PropertyUIStringSchema, ToolDefinitionSchema };
|
|
546
|
+
//# sourceMappingURL=schemas.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.mjs","names":["JsonValueSchema"],"sources":["../src/utils/toolkit.ts","../src/schemas/common.ts","../src/utils/custom-json-value.ts","../src/schemas/property-ui.ts","../src/schemas/property.ts","../src/schemas/definition.ts"],"sourcesContent":["export function isPlainObject(value: unknown): value is Record<string, unknown> {\n if (value === null || typeof value !== \"object\") return false\n if (Object.prototype.toString.call(value) !== \"[object Object]\") return false\n\n const proto = Object.getPrototypeOf(value)\n return proto === Object.prototype || proto === null\n}\n\nexport function compact<T>(\n values: Array<T | null | undefined | false | 0 | \"\" | typeof Number.NaN>,\n): T[] {\n // Match common \"compact\" behavior: drop falsy values.\n // Note: `NaN` is truthy? Actually `Boolean(NaN) === false`, so it will be removed too.\n return values.filter(Boolean) as T[]\n}\n","import type { IsEqual } from \"type-fest\"\nimport { z } from \"zod\"\nimport type { I18nText } from \"../types\"\nimport { isPlainObject } from \"../utils/toolkit\"\n\n/**\n * I18n 词条模式\n *\n * NOTE: Zod 无法定义复杂的字面量模版,此处使用 `z.custom` 实现自定义验证\n */\nexport const I18nEntrySchema = z.custom<I18nText>((value) => {\n // 必须是对象字面量\n if (!isPlainObject(value)) return false\n // 必须包含 en_US 键\n if (!(\"en_US\" in value)) return false\n\n for (const [locale, text] of Object.entries(value)) {\n // 值必须是字符串\n if (typeof text !== \"string\") return false\n\n // NOTE: 支持的语言码并不严格符合标准,因为 TS 字面量模版无法描述所有可能的情况\n // 故以下仅对满足需求的子集做简单检查而不是严格的 RFC 5646 标准检查\n const parts = locale.split(\"_\")\n // 其它语言代码必须符合格式:<语言代码>_<国家或脚本代码>,且第二部份首字母必须大写\n if (parts.length !== 2 || parts[1][0] !== parts[1][0].toUpperCase()) {\n return false\n }\n }\n return true\n}, \"Invalid I18n entry\")\n{\n const _: IsEqual<z.infer<typeof I18nEntrySchema>, I18nText> = true\n}\n","/**\n * Custom JSON Value Schema and Type\n *\n * Why? Because `z.json()` is not compatible with `JSONValue` from type-fest\n */\n\nimport { z } from \"zod\"\n\n/**\n * Custom JSON Value Schema\n * @description Custom JSON Value Schema is a schema that allows any JSON value\n */\nexport const JsonValueSchema = z.json()\n\n/**\n * Custom JSON Value Type\n * @description Custom JSON Value Type is the type of the JSON value\n */\nexport type JsonValue = z.infer<typeof JsonValueSchema>\n","import type { IntRange, IsEqual } from \"type-fest\"\nimport { z } from \"zod\"\nimport type {\n PropertyUIArray,\n PropertyUIArraySectionProps,\n PropertyUIBoolean,\n PropertyUICollapsiblePanelProps,\n PropertyUIColorPickerProps,\n PropertyUICredentialId,\n PropertyUIEmojiPickerProps,\n PropertyUIEncryptedInputProps,\n PropertyUIInputProps,\n PropertyUIKeyValueEditorProps,\n PropertyUINumber,\n PropertyUIObject,\n PropertyUIOption,\n PropertyUIProps,\n PropertyUIRadioGroupProps,\n PropertyUISingleSelectProps,\n PropertyUIString,\n PropertyUISwitchProps,\n} from \"../types\"\nimport { I18nEntrySchema } from \"./common\"\n\nconst indentationSchema = z.union([\n z.literal(2),\n z.literal(4),\n z.literal(6),\n z.literal(8),\n z.literal(10),\n z.literal(12),\n z.literal(14),\n z.literal(16),\n z.literal(18),\n z.literal(20),\n z.literal(22),\n z.literal(24),\n z.literal(26),\n z.literal(28),\n z.literal(30),\n z.literal(32),\n z.literal(34),\n z.literal(36),\n z.literal(38),\n z.literal(40),\n z.literal(42),\n z.literal(44),\n z.literal(46),\n z.literal(48),\n z.literal(50),\n z.literal(52),\n z.literal(54),\n z.literal(56),\n z.literal(58),\n z.literal(60),\n z.literal(62),\n z.literal(64),\n z.literal(66),\n z.literal(68),\n z.literal(70),\n z.literal(72),\n z.literal(74),\n z.literal(76),\n z.literal(78),\n z.literal(80),\n])\n{\n const _: IsEqual<z.infer<typeof indentationSchema>, IntRange<2, 81, 2>> = true\n}\n\n// Common UI properties schema\nexport const PropertyUICommonPropsSchema = z.object({\n disabled: z.boolean().optional(),\n hint: I18nEntrySchema.optional(),\n placeholder: I18nEntrySchema.optional(),\n readonly: z.boolean().optional(),\n sensitive: z.boolean().optional(),\n support_expression: z.boolean().optional(),\n width: z.enum([\"small\", \"medium\", \"full\"]).optional(),\n indentation: indentationSchema.optional(),\n display_none: z.boolean().optional(),\n})\n\n// Option schema for select components\nexport const PropertyUIOptionSchema = z.object({\n icon: z.string().optional(),\n label: I18nEntrySchema,\n value: z.union([z.string(), z.number(), z.boolean()]),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyUIOptionSchema>, PropertyUIOption> = true\n}\n\nconst PropertyUIInputPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"input\"),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyUIInputPropsSchema>, PropertyUIInputProps> = true\n}\n\nexport const PropertyUIEncryptedInputPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"encrypted-input\"),\n})\n{\n const _: IsEqual<\n z.infer<typeof PropertyUIEncryptedInputPropsSchema>,\n PropertyUIEncryptedInputProps\n > = true\n}\n\n// Textarea component schema\nconst PropertyUITextareaPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"textarea\"),\n max_height: z.number().optional(),\n min_height: z.number().optional(),\n})\n\n// Number input component schema\nconst PropertyUINumberInputPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"number-input\"),\n step: z.number().optional(),\n suffix: z.string().optional(),\n})\n\n// Code editor component schema\nconst PropertyUICodeEditorPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"code-editor\"),\n language: z.enum([\"json\", \"javascript\", \"python3\", \"html\"]).optional(),\n line_numbers: z.boolean().optional(),\n max_height: z.number().optional(),\n min_height: z.number().optional(),\n})\n\n// Select base schema\nconst PropertyUISelectPropsBaseSchema = z.object({\n clearable: z.boolean().optional(),\n options: z.array(PropertyUIOptionSchema).optional(),\n searchable: z.boolean().optional(),\n})\n\n// Single select component schema\nconst PropertyUISingleSelectPropsSchema = PropertyUICommonPropsSchema.merge(\n PropertyUISelectPropsBaseSchema,\n).extend({\n component: z.literal(\"select\"),\n})\n{\n const _: IsEqual<\n z.infer<typeof PropertyUISingleSelectPropsSchema>,\n PropertyUISingleSelectProps\n > = true\n}\n\n// Radio group component schema\nconst PropertyUIRadioGroupPropsSchema = PropertyUICommonPropsSchema.merge(\n PropertyUISelectPropsBaseSchema,\n).extend({\n component: z.literal(\"radio-group\"),\n})\n{\n const _: IsEqual<\n z.infer<typeof PropertyUIRadioGroupPropsSchema>,\n PropertyUIRadioGroupProps\n > = true\n}\n\n// Multi select component schema\nconst PropertyUIMultiSelectPropsSchema = PropertyUICommonPropsSchema.merge(\n PropertyUISelectPropsBaseSchema,\n).extend({\n component: z.literal(\"multi-select\"),\n})\n\n// Switch component schema\nconst PropertyUISwitchPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"switch\"),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyUISwitchPropsSchema>, PropertyUISwitchProps> = true\n}\n\n// Checkbox component schema\nconst PropertyUICheckboxPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"checkbox\"),\n})\n\n// Slider component schema\nconst PropertyUISliderPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"slider\"),\n marks: z.record(z.number(), z.string()).optional(),\n show_value: z.boolean().optional(),\n step: z.number().optional(),\n})\n\n// Key-value editor component schema\nconst PropertyUIKeyValueEditorPropsSchema = PropertyUICommonPropsSchema.extend({\n add_button_label: I18nEntrySchema.optional(),\n component: z.literal(\"key-value-editor\"),\n empty_description: I18nEntrySchema.optional(),\n section_header: I18nEntrySchema.optional(),\n})\n{\n const _: IsEqual<\n z.infer<typeof PropertyUIKeyValueEditorPropsSchema>,\n PropertyUIKeyValueEditorProps\n > = true\n}\n\n// Tag input component schema\nconst PropertyUITagInputPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"tag-input\"),\n})\n\n// Emoji picker component schema\nconst PropertyUIEmojiPickerPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"emoji-picker\"),\n size: z.enum([\"extra-small\", \"small\", \"medium\", \"large\"]).optional(),\n})\n{\n const _: IsEqual<\n z.infer<typeof PropertyUIEmojiPickerPropsSchema>,\n PropertyUIEmojiPickerProps\n > = true\n}\n\n// Color picker component schema\nconst PropertyUIColorPickerPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"color-picker\"),\n})\n{\n const _: IsEqual<\n z.infer<typeof PropertyUIColorPickerPropsSchema>,\n PropertyUIColorPickerProps\n > = true\n}\n\n// Credential select component schema\nconst PropertyUICredentialSelectPropsSchema = PropertyUICommonPropsSchema.extend({\n clearable: z.boolean().optional(),\n component: z.literal(\"credential-select\"),\n searchable: z.boolean().optional(),\n})\n\n// JSON Schema editor component schema\nconst PropertyUIJsonSchemaEditorPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"json-schema-editor\"),\n})\n\n// Conditions editor component schema\nconst PropertyUIConditionsEditorPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"conditions-editor\"),\n})\n\n// Array section component schema\nconst PropertyUIArraySectionPropsSchema = PropertyUICommonPropsSchema.extend({\n add_label: I18nEntrySchema.optional(),\n collapsible: z.boolean().optional(),\n component: z.literal(\"array-section\"),\n empty_message: I18nEntrySchema.optional(),\n remove_tooltip: I18nEntrySchema.optional(),\n sortable: z.boolean().optional(),\n})\n{\n const _: IsEqual<\n z.infer<typeof PropertyUIArraySectionPropsSchema>,\n PropertyUIArraySectionProps\n > = true\n}\n\n// Collapsible panel component schema\nconst PropertyUICollapsiblePanelPropsSchema = PropertyUICommonPropsSchema.extend({\n collapsible: z.boolean().optional(),\n component: z.literal(\"collapsible-panel\"),\n default_collapsed: z.boolean().optional(),\n panel_title: I18nEntrySchema.optional(),\n remove_tooltip: I18nEntrySchema.optional(),\n sortable: z.boolean().optional(),\n})\n{\n const _: IsEqual<\n z.infer<typeof PropertyUICollapsiblePanelPropsSchema>,\n PropertyUICollapsiblePanelProps\n > = true\n}\n\nexport const PropertyUIPropsSchema = z.discriminatedUnion(\"component\", [\n PropertyUIInputPropsSchema,\n PropertyUITextareaPropsSchema,\n PropertyUINumberInputPropsSchema,\n PropertyUICodeEditorPropsSchema,\n PropertyUISingleSelectPropsSchema,\n PropertyUIRadioGroupPropsSchema,\n PropertyUIEmojiPickerPropsSchema,\n PropertyUIColorPickerPropsSchema,\n PropertyUIMultiSelectPropsSchema,\n PropertyUISwitchPropsSchema,\n PropertyUICheckboxPropsSchema,\n PropertyUISliderPropsSchema,\n PropertyUIKeyValueEditorPropsSchema,\n PropertyUITagInputPropsSchema,\n PropertyUICredentialSelectPropsSchema,\n PropertyUIJsonSchemaEditorPropsSchema,\n PropertyUIConditionsEditorPropsSchema,\n PropertyUIArraySectionPropsSchema,\n PropertyUICollapsiblePanelPropsSchema,\n PropertyUIEncryptedInputPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIPropsSchema>, PropertyUIProps> = true\n}\n\nexport const PropertyUIBooleanSchema = z.discriminatedUnion(\"component\", [\n PropertyUISwitchPropsSchema,\n PropertyUICheckboxPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIBooleanSchema>, PropertyUIBoolean> = true\n}\n\nexport const PropertyUINumberSchema = z.discriminatedUnion(\"component\", [\n PropertyUINumberInputPropsSchema,\n PropertyUISliderPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUINumberSchema>, PropertyUINumber> = true\n}\n\nexport const PropertyUIStringSchema = z.discriminatedUnion(\"component\", [\n PropertyUIInputPropsSchema,\n PropertyUITextareaPropsSchema,\n PropertyUICodeEditorPropsSchema,\n PropertyUISingleSelectPropsSchema,\n PropertyUICredentialSelectPropsSchema,\n PropertyUIRadioGroupPropsSchema,\n PropertyUIEmojiPickerPropsSchema,\n PropertyUIColorPickerPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIStringSchema>, PropertyUIString> = true\n}\n\nexport const PropertyUIArraySchema = z.discriminatedUnion(\"component\", [\n PropertyUIMultiSelectPropsSchema,\n PropertyUITagInputPropsSchema,\n PropertyUIKeyValueEditorPropsSchema,\n PropertyUISliderPropsSchema,\n PropertyUIArraySectionPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIArraySchema>, PropertyUIArray> = true\n}\n\nexport const PropertyUIObjectSchema = z.discriminatedUnion(\"component\", [\n PropertyUICollapsiblePanelPropsSchema,\n PropertyUIJsonSchemaEditorPropsSchema,\n PropertyUIConditionsEditorPropsSchema,\n PropertyUICodeEditorPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIObjectSchema>, PropertyUIObject> = true\n}\n\nexport const PropertyUICredentialIdSchema = z.discriminatedUnion(\"component\", [\n PropertyUICredentialSelectPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUICredentialIdSchema>, PropertyUICredentialId> = true\n}\n\nexport const PropertyUIDiscriminatorUISchema = z.discriminatedUnion(\"component\", [\n PropertyUISwitchPropsSchema,\n PropertyUISingleSelectPropsSchema,\n PropertyUIRadioGroupPropsSchema,\n])\n\nexport const PropertyUIEncryptedStringSchema = z.discriminatedUnion(\"component\", [\n PropertyUIEncryptedInputPropsSchema,\n])\n","import type { IsEqual, JsonValue } from \"type-fest\"\nimport { z } from \"zod\"\nimport type {\n DisplayCondition,\n FilterOperators,\n Property,\n PropertyArray,\n PropertyBase,\n PropertyBoolean,\n PropertyCredentialId,\n PropertyDiscriminatedUnion,\n PropertyEncryptedString,\n PropertyNumber,\n PropertyObject,\n PropertyScalar,\n PropertyString,\n} from \"../types\"\nimport { compact } from \"../utils/toolkit\"\nimport { I18nEntrySchema } from \"./common\"\nimport {\n PropertyUIArraySchema,\n PropertyUIBooleanSchema,\n PropertyUICommonPropsSchema,\n PropertyUICredentialIdSchema,\n PropertyUIDiscriminatorUISchema,\n PropertyUIEncryptedStringSchema,\n PropertyUINumberSchema,\n PropertyUIObjectSchema,\n PropertyUIStringSchema,\n} from \"./property-ui\"\n\nconst JsonPrimitiveSchema = z.union([z.string(), z.number(), z.boolean(), z.null()])\nconst JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([JsonPrimitiveSchema, z.array(JsonValueSchema), z.record(z.string(), JsonValueSchema)]),\n)\n\nconst FilterOperatorsSchema = z.object({\n $eq: JsonValueSchema.optional(),\n $exists: z.boolean().optional(),\n $gt: JsonValueSchema.optional(),\n $gte: JsonValueSchema.optional(),\n $in: z.array(JsonValueSchema).optional(),\n $lt: JsonValueSchema.optional(),\n $lte: JsonValueSchema.optional(),\n $mod: z.tuple([z.number(), z.number()]).optional(),\n $ne: JsonValueSchema.optional(),\n $nin: z.array(JsonValueSchema).optional(),\n $options: z.string().optional(),\n $regex: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n $size: z.number().optional(),\n})\n\nconst ConditionSchema = z.union([JsonValueSchema, FilterOperatorsSchema])\n\nconst RootFilterSchema = z.object({\n get $and() {\n return z.array(FilterSchema).optional()\n },\n get $nor() {\n return z.array(FilterSchema).optional()\n },\n get $or() {\n return z.array(FilterSchema).optional()\n },\n})\n{\n const _: IsEqual<z.infer<typeof FilterOperatorsSchema>, FilterOperators> = true\n}\n\n// skip infer because of recursive structure\nconst FilterSchema: z.ZodType<DisplayCondition> = z.union([\n z.record(z.string(), ConditionSchema),\n RootFilterSchema,\n])\n\nconst PropertyBaseSchema = z.object({\n name: z\n .string()\n .min(1, \"name cannot be empty\")\n .refine(\n (val) => {\n const regexStartsWithDollarOrWhitespace = /^[\\s$]/\n return !regexStartsWithDollarOrWhitespace.test(val)\n },\n {\n error: \"name cannot start with $ or whitespace\",\n abort: true,\n },\n )\n .refine(\n (val) => {\n const forbiddenCharacters = [\".\", \"[\", \"]\"]\n return !forbiddenCharacters.some((char) => val.includes(char))\n },\n {\n error: 'name cannot contain \".\", \"[\", or \"]\" characters',\n abort: true,\n },\n ),\n\n display_name: I18nEntrySchema.optional(),\n required: z.boolean().optional(),\n display: z\n .object({\n hide: FilterSchema.optional(),\n show: FilterSchema.optional(),\n })\n .optional(),\n ai: z\n .object({\n llm_description: I18nEntrySchema.optional(),\n })\n .optional(),\n ui: PropertyUICommonPropsSchema.optional(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyBaseSchema>, PropertyBase<string>> = true\n}\n\nconst PropertyStringSchema = PropertyBaseSchema.extend({\n type: z.literal(\"string\"),\n constant: z.string().optional(),\n default: z.string().optional(),\n enum: z.array(z.string()).optional(),\n max_length: z.number().optional(),\n min_length: z.number().optional(),\n ui: PropertyUIStringSchema.optional(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyStringSchema>, PropertyString<string>> = true\n}\n\nconst PropertyNumberSchema = PropertyBaseSchema.extend({\n type: z.union([z.literal(\"number\"), z.literal(\"integer\")]),\n constant: z.number().optional(),\n default: z.number().optional(),\n enum: z.array(z.number()).optional(),\n maximum: z.number().optional(),\n minimum: z.number().optional(),\n ui: PropertyUINumberSchema.optional(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyNumberSchema>, PropertyNumber<string>> = true\n}\n\nconst PropertyBooleanSchema = PropertyBaseSchema.extend({\n type: z.literal(\"boolean\"),\n constant: z.boolean().optional(),\n default: z.boolean().optional(),\n enum: z.array(z.boolean()).optional(),\n ui: PropertyUIBooleanSchema.optional(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyBooleanSchema>, PropertyBoolean<string>> = true\n}\n\nfunction setDuplicatePropertyNamesCheck<T extends z.ZodType<Array<Property>>>(schema: T) {\n return schema.refine(\n (properties) => {\n const names = new Set<string>()\n for (const prop of properties) {\n if (names.has(prop.name)) return false\n names.add(prop.name)\n }\n return true\n },\n {\n error: \"duplicate property names are not allowed\",\n },\n )\n}\n\n// use type assertion and lazy to avoid circular reference error\nconst ArrayPropertiesSchema: z.ZodType<PropertyObject[\"properties\"]> = z.lazy(() =>\n z.array(PropertySchema).apply(setDuplicatePropertyNamesCheck),\n)\n\nconst additionalPropertiesSchema: z.ZodType<Property> = z.lazy(() => PropertySchema)\n\nconst PropertyObjectSchema = PropertyBaseSchema.extend({\n type: z.literal(\"object\"),\n properties: ArrayPropertiesSchema,\n additional_properties: additionalPropertiesSchema.optional(),\n constant: z.record(z.string(), JsonValueSchema).optional(),\n default: z.record(z.string(), JsonValueSchema).optional(),\n enum: z.array(z.record(z.string(), JsonValueSchema)).optional(),\n ui: PropertyUIObjectSchema.optional(),\n}).refine(\n (v) => {\n if (v.constant) return v.properties.length === 0\n return true\n },\n {\n error: \"properties must be empty when constant is defined\",\n abort: true,\n },\n)\n{\n type PropertyObjectInferred = z.infer<typeof PropertyObjectSchema>\n const _: IsEqual<PropertyObjectInferred, PropertyObject> = true\n}\n\nconst PropertyDiscriminatedUnionSchema = PropertyBaseSchema.extend({\n type: z.literal(\"discriminated_union\"),\n get any_of() {\n return z.array(PropertyObjectSchema).min(2, \"anyOf must have at least two items\")\n },\n discriminator: z.string().min(1, \"discriminator cannot be empty\"),\n discriminator_ui: PropertyUIDiscriminatorUISchema.optional(),\n})\n .refine(\n (v) => {\n const { any_of, discriminator } = v\n return any_of.every((i) => {\n const discriminatorProperty = i.properties?.find((p) => p.name === discriminator)\n if (!discriminatorProperty) return false\n if (!(\"constant\" in discriminatorProperty)) return false\n if (\n typeof discriminatorProperty.constant !== \"string\" &&\n typeof discriminatorProperty.constant !== \"number\" &&\n typeof discriminatorProperty.constant !== \"boolean\"\n ) {\n return false\n }\n return true\n })\n },\n {\n error:\n \"Each item in anyOf must contain the discriminator field with constant string/number/boolean value\",\n abort: true,\n },\n )\n .refine(\n (v) => {\n const { any_of } = v\n const allDiscriminatorProperty = compact(\n any_of.map((i) => {\n const discriminatorProperty = i.properties?.find((p) => p.name === v.discriminator)\n if (!discriminatorProperty) return null\n if (!(\"constant\" in discriminatorProperty)) return null\n return discriminatorProperty.constant\n }),\n )\n const uniqueValues = new Set(allDiscriminatorProperty)\n return uniqueValues.size === allDiscriminatorProperty.length\n },\n {\n error: \"Discriminator values must be unique across all anyOf items\",\n },\n )\n{\n const _: IsEqual<\n z.infer<typeof PropertyDiscriminatedUnionSchema>,\n PropertyDiscriminatedUnion\n > = true\n}\n\nconst PropertyArraySchema = PropertyBaseSchema.extend({\n type: z.literal(\"array\"),\n constant: z.array(JsonValueSchema).optional(),\n default: z.array(JsonValueSchema).optional(),\n enum: z.array(z.array(JsonValueSchema)).optional(),\n get items() {\n return PropertySchema\n },\n max_items: z.number().optional(),\n min_items: z.number().optional(),\n ui: PropertyUIArraySchema.optional(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyArraySchema>, PropertyArray> = true\n}\n\nconst PropertyCredentialIdSchema = PropertyBaseSchema.extend({\n type: z.literal(\"credential_id\"),\n credential_name: z.string().min(1, \"credential_name cannot be empty\"),\n ui: PropertyUICredentialIdSchema.optional(),\n})\n\n{\n const _: IsEqual<z.infer<typeof PropertyCredentialIdSchema>, PropertyCredentialId<string>> = true\n}\nconst PropertyEncryptedStringSchema = PropertyBaseSchema.extend({\n type: z.literal(\"encrypted_string\"),\n ui: PropertyUIEncryptedStringSchema.optional(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyEncryptedStringSchema>, PropertyEncryptedString> = true\n}\n\nconst PropertyScalarSchema = z.union([\n PropertyStringSchema,\n PropertyBooleanSchema,\n PropertyNumberSchema,\n PropertyEncryptedStringSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyScalarSchema>, PropertyScalar<string>> = true\n}\n\nexport const PropertiesScalarSchema = z\n .array(PropertyScalarSchema)\n .apply(setDuplicatePropertyNamesCheck)\n\nconst PropertySchema = z.union([\n ...PropertyScalarSchema.options,\n PropertyCredentialIdSchema,\n PropertyArraySchema,\n PropertyObjectSchema,\n PropertyDiscriminatedUnionSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertySchema>, Property> = true\n}\nexport const PropertiesSchema = z.array(PropertySchema).apply(setDuplicatePropertyNamesCheck)\n","import type { IsEqual } from \"type-fest\"\nimport { z } from \"zod\"\nimport type {\n BaseDefinition,\n CredentialDefinition,\n ModelDefinition,\n PluginDefinition,\n ToolDefinition,\n} from \"../types\"\nimport { JsonValueSchema } from \"../utils/custom-json-value\"\nimport { I18nEntrySchema } from \"./common\"\nimport { PropertiesScalarSchema, PropertiesSchema } from \"./property\"\n\n/**\n * Base Definition Schema\n *\n * This is the base class for all function definition schemas, defining common properties and not used independently\n */\nexport const BaseDefinitionSchema = z.object({\n // 1. Can only contain English letters (case insensitive), numbers, _ and -\n // 2. Must start with an English letter and cannot end with _ or -\n // 3. _ and - cannot appear consecutively more than once\n // 4. Minimum length 4, maximum length 64\n name: z.string().regex(/^[a-zA-Z](?:(?![_-]{2,})[a-zA-Z0-9_-]){3,63}[a-zA-Z0-9]$/, {\n error:\n \"Invalid name, should match the following rules: 1. only English letters, numbers, _ and - 2. start with English letter, end with English letter or number 3. _ and - cannot appear consecutively more than twice 4. minimum length 4, maximum length 64\",\n }),\n display_name: I18nEntrySchema,\n description: I18nEntrySchema,\n icon: z.string(),\n})\n{\n const _: IsEqual<z.infer<typeof BaseDefinitionSchema>, BaseDefinition> = true\n}\n\nexport const PluginDefinitionSchema = z.object({\n ...BaseDefinitionSchema.shape,\n author: z.string().optional(),\n email: z.email().optional(),\n repo: z.httpUrl().optional(),\n version: z.string().optional(),\n locales: z.array(z.string()),\n})\n{\n const _: IsEqual<\n z.infer<typeof PluginDefinitionSchema>,\n Omit<PluginDefinition<string[], unknown>, \"transporterOptions\"> // not necessary to verify transpoterOptions\n > = true\n}\n\nexport const CredentialDefinitionSchema = z.object({\n ...BaseDefinitionSchema.shape,\n authenticate: z.function({\n input: z.tuple([\n z.object({\n args: z.object({\n parameters: z.looseObject({\n model: z.string().optional(),\n }),\n credentials: z.record(z.string(), z.string()),\n }),\n }),\n ]),\n output: z.promise(\n z.object({\n adapter: z.enum([\"anthropic\", \"openai\", \"google\", \"deepseek\"]),\n endpoint: z.httpUrl().optional(),\n model: z.string(),\n headers: z.record(z.string(), z.string()).optional(),\n }),\n ),\n }),\n parameters: PropertiesScalarSchema,\n})\n{\n const _: IsEqual<z.infer<typeof CredentialDefinitionSchema>, CredentialDefinition> = true\n}\n\nexport const DataSourceDefinitionSchema = z.object({\n ...BaseDefinitionSchema.shape,\n parameters: PropertiesScalarSchema,\n})\n\nexport type DataSourceDefinition = z.infer<typeof DataSourceDefinitionSchema>\n\nexport const ModelDefinitionSchema = z.object({\n ...BaseDefinitionSchema.shape,\n name: z.string().regex(/^[a-zA-Z](?:(?![_-]{2,})[a-zA-Z0-9_/-]){3,63}[a-zA-Z0-9]$/, {\n error:\n \"Invalid model name, should match the following rules: 1. only English letters, numbers, _ and - 2. start with English letter, end with English letter or number 3. _ and - cannot appear consecutively more than twice 4. minimum length 4, maximum length 64 5. allow '/' in the middle\",\n }),\n model_type: z.literal(\"llm\"),\n default_endpoint: z.httpUrl().optional(),\n input_modalities: z.array(z.enum([\"file\", \"image\", \"text\"])),\n output_modalities: z.array(z.enum([\"text\"])),\n pricing: z\n .object({\n currency: z.string().optional(),\n input: z.number().optional(),\n input_cache_read: z.number().optional(),\n input_cache_write: z.number().optional(),\n output: z.number().optional(),\n request: z.number().optional(),\n })\n .optional(),\n override_parameters: z\n .object({\n temperature: z\n .object({\n default: z.number().optional(),\n maximum: z.number().optional(),\n minimum: z.number().optional(),\n })\n .optional(),\n frequency_penalty: z\n .object({\n default: z.number().optional(),\n maximum: z.number().optional(),\n minimum: z.number().optional(),\n })\n .optional(),\n max_tokens: z\n .object({\n default: z.number().optional(),\n maximum: z.number().optional(),\n })\n .optional(),\n verbosity: z\n .object({\n default: z.enum([\"low\", \"medium\", \"high\"]).optional(),\n })\n .optional(),\n })\n .optional(),\n unsupported_parameters: z.array(\n z.enum([\n \"endpoint\",\n \"temperature\",\n // \"top_p\",\n // \"top_k\",\n \"frequency_penalty\",\n // \"presence_penalty\",\n // \"repetition_penalty\",\n // \"min_p\",\n // \"top_a\",\n \"seed\",\n \"max_tokens\",\n // \"logit_bias\",\n // \"logprobs\",\n // \"top_logprobs\",\n // \"response_format\",\n // \"json_response\",\n \"json_schema\",\n \"stream\",\n \"stream_options\",\n \"structured_outputs\",\n // \"stop\",\n // \"tools\",\n // \"tool_choice\",\n \"parallel_tool_calls\",\n \"verbosity\",\n ]),\n ),\n})\n{\n const _: IsEqual<z.infer<typeof ModelDefinitionSchema>, ModelDefinition> = true\n}\n\nexport const ToolDefinitionSchema = z.object({\n ...BaseDefinitionSchema.shape,\n invoke: z.function({\n input: z.tuple([\n z.object({\n args: z.object({\n parameters: z.record(z.string(), z.any()),\n credentials: z.record(z.string(), z.string()).optional(),\n }),\n }),\n ]),\n output: z.promise(JsonValueSchema),\n }),\n parameters: PropertiesSchema,\n})\n{\n const _: IsEqual<z.infer<typeof ToolDefinitionSchema>, ToolDefinition> = true\n}\n"],"mappings":"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"}
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { A as PropertyUIEmojiPickerProps, B as PropertyUIRadioGroupProps, C as PropertyUIBoolean, D as PropertyUIComponentType, E as PropertyUICommonProps, F as PropertyUIMisc, G as JsonValueSchema, H as PropertyUIString, I as PropertyUINumber, K as I18nText, L as PropertyUIObject, M as PropertyUIEncryptedString, N as PropertyUIInputProps, O as PropertyUIContainer, P as PropertyUIKeyValueEditorProps, R as PropertyUIOption, S as PropertyUIArraySectionProps, T as PropertyUIColorPickerProps, U as PropertyUISwitchProps, V as PropertyUISingleSelectProps, W as JsonValue, _ as PropertyNumber, a as ModelDefinition, b as PropertyString, c as DisplayCondition, d as PropertyArray, f as PropertyBase, g as PropertyEncryptedString, h as PropertyDiscriminatedUnion, i as Feature, j as PropertyUIEncryptedInputProps, k as PropertyUICredentialId, l as FilterOperators, m as PropertyCredentialId, n as CredentialDefinition, o as PluginDefinition, p as PropertyBoolean, r as DataSourceDefinition, s as ToolDefinition, t as BaseDefinition, u as Property, v as PropertyObject, w as PropertyUICollapsiblePanelProps, x as PropertyUIArray, y as PropertyScalar, z as PropertyUIProps } from "./definition-DEEuUiSF.mjs";
|
|
2
|
+
export { BaseDefinition, CredentialDefinition, DataSourceDefinition, DisplayCondition, Feature, FilterOperators, I18nText, JsonValue, JsonValueSchema, ModelDefinition, PluginDefinition, Property, PropertyArray, PropertyBase, PropertyBoolean, PropertyCredentialId, PropertyDiscriminatedUnion, PropertyEncryptedString, PropertyNumber, PropertyObject, PropertyScalar, PropertyString, PropertyUIArray, PropertyUIArraySectionProps, PropertyUIBoolean, PropertyUICollapsiblePanelProps, PropertyUIColorPickerProps, PropertyUICommonProps, PropertyUIComponentType, PropertyUIContainer, PropertyUICredentialId, PropertyUIEmojiPickerProps, PropertyUIEncryptedInputProps, PropertyUIEncryptedString, PropertyUIInputProps, PropertyUIKeyValueEditorProps, PropertyUIMisc, PropertyUINumber, PropertyUIObject, PropertyUIOption, PropertyUIProps, PropertyUIRadioGroupProps, PropertyUISingleSelectProps, PropertyUIString, PropertyUISwitchProps, ToolDefinition };
|
package/dist/types.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@choiceopen/atomemo-plugin-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Schema for developing Choiceform atomemo plugins",
|
|
5
5
|
"homepage": "https://github.com/choice-open/atomemo-plugin-schema#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -14,8 +14,14 @@
|
|
|
14
14
|
"author": "江志强 <zhiqiang.jiang@choiceform.com>",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
|
-
"./schemas":
|
|
18
|
-
|
|
17
|
+
"./schemas": {
|
|
18
|
+
"development": "./src/schemas.ts",
|
|
19
|
+
"default": "./dist/schemas.mjs"
|
|
20
|
+
},
|
|
21
|
+
"./types": {
|
|
22
|
+
"development": "./src/types.ts",
|
|
23
|
+
"default": "./dist/types.mjs"
|
|
24
|
+
},
|
|
19
25
|
"./package.json": "./package.json"
|
|
20
26
|
},
|
|
21
27
|
"types": "./dist/index.d.ts",
|
|
@@ -26,20 +32,20 @@
|
|
|
26
32
|
"build": "tsdown",
|
|
27
33
|
"check": "biome check --write",
|
|
28
34
|
"dev": "tsdown --watch",
|
|
29
|
-
"prepublishOnly": "bun run build",
|
|
35
|
+
"prepublishOnly": "bun run build --clean",
|
|
30
36
|
"test": "bun test --dots",
|
|
31
37
|
"typecheck": "tsc --noEmit"
|
|
32
38
|
},
|
|
33
39
|
"dependencies": {
|
|
34
|
-
"type-fest": "^5.4.
|
|
40
|
+
"type-fest": "^5.4.4"
|
|
35
41
|
},
|
|
36
42
|
"devDependencies": {
|
|
37
|
-
"@biomejs/biome": "^2.3.
|
|
38
|
-
"@types/bun": "^1.3.
|
|
39
|
-
"bumpp": "^10.4.
|
|
40
|
-
"tsdown": "^0.
|
|
43
|
+
"@biomejs/biome": "^2.3.14",
|
|
44
|
+
"@types/bun": "^1.3.8",
|
|
45
|
+
"bumpp": "^10.4.1",
|
|
46
|
+
"tsdown": "^0.20.3",
|
|
41
47
|
"typescript": "^5.9.3",
|
|
42
|
-
"zod": "^4.3.
|
|
48
|
+
"zod": "^4.3.6"
|
|
43
49
|
},
|
|
44
50
|
"peerDependencies": {
|
|
45
51
|
"zod": "^4"
|
|
@@ -52,8 +58,8 @@
|
|
|
52
58
|
"publishConfig": {
|
|
53
59
|
"access": "public",
|
|
54
60
|
"exports": {
|
|
55
|
-
"./schemas": "./dist/schemas.
|
|
56
|
-
"./types": "./dist/types.
|
|
61
|
+
"./schemas": "./dist/schemas.mjs",
|
|
62
|
+
"./types": "./dist/types.mjs",
|
|
57
63
|
"./package.json": "./package.json"
|
|
58
64
|
}
|
|
59
65
|
}
|