@choiceopen/atomemo-plugin-schema 0.2.14 → 0.2.15
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/schemas.mjs +2 -2
- package/dist/schemas.mjs.map +1 -1
- package/package.json +1 -1
package/dist/schemas.mjs
CHANGED
|
@@ -351,11 +351,11 @@ const checkDuplicateNames = {
|
|
|
351
351
|
customError: { error: "duplicate property names are not allowed" }
|
|
352
352
|
};
|
|
353
353
|
const ArrayPropertiesSchema = z.lazy(() => z.array(PropertySchema).refine(checkDuplicateNames.checkFn, checkDuplicateNames.customError));
|
|
354
|
-
const
|
|
354
|
+
const additionalSchema = z.lazy(() => z.union([PropertySchema, PropertyDiscriminatedUnionSchema]));
|
|
355
355
|
const PropertyObjectSchema = PropertyBaseSchema.extend({
|
|
356
356
|
type: z.literal("object"),
|
|
357
357
|
properties: ArrayPropertiesSchema,
|
|
358
|
-
additional_properties:
|
|
358
|
+
additional_properties: additionalSchema.nullish(),
|
|
359
359
|
constant: z.record(z.string(), JsonValueSchema$1).nullish(),
|
|
360
360
|
default: z.record(z.string(), JsonValueSchema$1).nullish(),
|
|
361
361
|
enum: z.array(z.record(z.string(), JsonValueSchema$1)).nullish(),
|
package/dist/schemas.mjs.map
CHANGED
|
@@ -1 +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 PropertyUIContainer,\n PropertyUICredentialId,\n PropertyUIEmojiPickerProps,\n PropertyUIEncryptedInputProps,\n PropertyUIInputProps,\n PropertyUIKeyValueEditorProps,\n PropertyUINumber,\n PropertyUIObject,\n PropertyUIOption,\n PropertyUIProps,\n PropertyUIRadioGroupProps,\n PropertyUISectionProps,\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\"]).optional(),\n line_numbers: z.boolean().optional(),\n line_wrapping: z.boolean().optional(),\n max_height: z.number().optional(),\n min_height: z.number().optional(),\n rows: 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// 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\n// Section component schema\nconst PropertyUISectionPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"section\"),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyUISectionPropsSchema>, PropertyUISectionProps> = 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 PropertyUISliderPropsSchema,\n PropertyUIKeyValueEditorPropsSchema,\n PropertyUITagInputPropsSchema,\n PropertyUICredentialSelectPropsSchema,\n PropertyUIJsonSchemaEditorPropsSchema,\n PropertyUIConditionsEditorPropsSchema,\n PropertyUIArraySectionPropsSchema,\n PropertyUICollapsiblePanelPropsSchema,\n PropertyUISectionPropsSchema,\n PropertyUIEncryptedInputPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIPropsSchema>, PropertyUIProps> = true\n}\n\nexport const PropertyUIBooleanSchema = z.discriminatedUnion(\"component\", [\n PropertyUISwitchPropsSchema,\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 PropertyUIContainerSchema = z.discriminatedUnion(\"component\", [\n PropertyUICollapsiblePanelPropsSchema,\n PropertyUISectionPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIContainerSchema>, PropertyUIContainer> = true\n}\n\nexport const PropertyUIObjectSchema = z.discriminatedUnion(\"component\", [\n PropertyUIJsonSchemaEditorPropsSchema,\n PropertyUIConditionsEditorPropsSchema,\n PropertyUICodeEditorPropsSchema,\n PropertyUICollapsiblePanelPropsSchema,\n PropertyUISectionPropsSchema,\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.nullish(),\n $exists: z.boolean().nullish(),\n $gt: JsonValueSchema.nullish(),\n $gte: JsonValueSchema.nullish(),\n $in: z.array(JsonValueSchema).nullish(),\n $lt: JsonValueSchema.nullish(),\n $lte: JsonValueSchema.nullish(),\n $mod: z.tuple([z.number(), z.number()]).nullish(),\n $ne: JsonValueSchema.nullish(),\n $nin: z.array(JsonValueSchema).nullish(),\n $options: z.string().nullish(),\n $regex: z.union([z.string(), z.instanceof(RegExp)]).nullish(),\n $size: z.number().nullish(),\n})\n\nconst ConditionSchema = z.union([JsonValueSchema, FilterOperatorsSchema])\n\nconst RootFilterSchema = z.object({\n get $and() {\n return z.array(FilterSchema).nullish()\n },\n get $nor() {\n return z.array(FilterSchema).nullish()\n },\n get $or() {\n return z.array(FilterSchema).nullish()\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 display_name: I18nEntrySchema.nullish(),\n required: z.boolean().nullish(),\n display: z\n .object({\n hide: FilterSchema.nullish(),\n show: FilterSchema.nullish(),\n })\n .nullish(),\n ai: z\n .object({\n llm_description: I18nEntrySchema.nullish(),\n })\n .nullish(),\n ui: PropertyUICommonPropsSchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyBaseSchema>, PropertyBase<string>> = true\n}\n\nexport const PropertyStringSchema = PropertyBaseSchema.extend({\n type: z.literal(\"string\"),\n constant: z.string().nullish(),\n default: z.string().nullish(),\n enum: z.array(z.string()).nullish(),\n max_length: z.number().nullish(),\n min_length: z.number().nullish(),\n ui: PropertyUIStringSchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyStringSchema>, PropertyString<string>> = true\n}\n\nexport const PropertyNumberSchema = PropertyBaseSchema.extend({\n type: z.union([z.literal(\"number\"), z.literal(\"integer\")]),\n constant: z.number().nullish(),\n default: z.number().nullish(),\n enum: z.array(z.number()).nullish(),\n maximum: z.number().nullish(),\n minimum: z.number().nullish(),\n ui: PropertyUINumberSchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyNumberSchema>, PropertyNumber<string>> = true\n}\n\nexport const PropertyBooleanSchema = PropertyBaseSchema.extend({\n type: z.literal(\"boolean\"),\n constant: z.boolean().nullish(),\n default: z.boolean().nullish(),\n enum: z.array(z.boolean()).nullish(),\n ui: PropertyUIBooleanSchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyBooleanSchema>, PropertyBoolean<string>> = true\n}\n\nconst checkDuplicateNames = {\n checkFn: (properties: { name: string }[]) => {\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 customError: {\n error: \"duplicate property names are not allowed\",\n } as const,\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).refine(checkDuplicateNames.checkFn, checkDuplicateNames.customError),\n)\n\nconst additionalPropertiesSchema: z.ZodType<Property | PropertyDiscriminatedUnion<string>> = z.lazy(\n () => PropertySchema,\n)\n\nexport const PropertyObjectSchema = PropertyBaseSchema.extend({\n type: z.literal(\"object\"),\n properties: ArrayPropertiesSchema,\n additional_properties: additionalPropertiesSchema.nullish(),\n constant: z.record(z.string(), JsonValueSchema).nullish(),\n default: z.record(z.string(), JsonValueSchema).nullish(),\n enum: z.array(z.record(z.string(), JsonValueSchema)).nullish(),\n ui: PropertyUIObjectSchema.nullish(),\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\nexport const PropertyDiscriminatedUnionSchema = z\n .object({\n type: z.literal(\"discriminated_union\"),\n get any_of() {\n return z\n .array(PropertyObjectSchema)\n .refine(checkDuplicateNames.checkFn, checkDuplicateNames.customError)\n .min(2, \"anyOf must have at least two items\")\n },\n discriminator: z.string().min(1, \"discriminator cannot be empty\"),\n discriminator_ui: PropertyUIDiscriminatorUISchema.nullish(),\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\nexport const PropertyArraySchema = PropertyBaseSchema.extend({\n type: z.literal(\"array\"),\n constant: z.array(JsonValueSchema).nullish(),\n default: z.array(JsonValueSchema).nullish(),\n enum: z.array(z.array(JsonValueSchema)).nullish(),\n get items() {\n return z.union([PropertySchema, PropertyDiscriminatedUnionSchema])\n },\n max_items: z.number().nullish(),\n min_items: z.number().nullish(),\n ui: PropertyUIArraySchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyArraySchema>, PropertyArray> = true\n}\n\nexport const PropertyCredentialIdSchema = PropertyBaseSchema.extend({\n type: z.literal(\"credential_id\"),\n credential_name: z.string().min(1, \"credential_name cannot be empty\"),\n ui: PropertyUICredentialIdSchema.nullish(),\n constant: z.null().optional(),\n default: z.null().optional(),\n enum: z.null().optional(),\n})\n\n{\n const _: IsEqual<z.infer<typeof PropertyCredentialIdSchema>, PropertyCredentialId<string>> = true\n}\nexport const PropertyEncryptedStringSchema = PropertyBaseSchema.extend({\n type: z.literal(\"encrypted_string\"),\n ui: PropertyUIEncryptedStringSchema.nullish(),\n constant: z.null().optional(),\n default: z.null().optional(),\n enum: z.null().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.lazy(() =>\n z\n .array(PropertyScalarSchema)\n .refine(checkDuplicateNames.checkFn, checkDuplicateNames.customError),\n)\n\nconst PropertySchema = z.union([\n ...PropertyScalarSchema.options,\n PropertyCredentialIdSchema,\n PropertyArraySchema,\n PropertyObjectSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertySchema>, Property> = true\n}\n\nexport const PropertiesSchema = ArrayPropertiesSchema\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().nullish(),\n email: z.email().nullish(),\n repo: z.httpUrl().nullish(),\n version: z.string().nullish(),\n locales: z.array(z.string()),\n lang: z.enum([\"elixir\", \"typescript\"]),\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\n .function({\n input: z.tuple([\n z.object({\n args: z.object({\n credential: z.record(z.string(), z.string().nullish()),\n extra: z.looseObject({\n model: z.string().optional(),\n }),\n }),\n }),\n ]),\n output: z.promise(\n z.looseObject({\n adapter: z.enum([\"anthropic\", \"openai\", \"google\", \"deepseek\"]),\n api_key: z.string(),\n endpoint: z.httpUrl().optional(),\n model: z.string().optional(),\n headers: z.record(z.string(), z.string()).optional(),\n }),\n ),\n })\n .optional(),\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._/-])*[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. allow '/' in the middle\",\n }),\n model_type: z.literal(\"llm\"),\n default_endpoint: z.httpUrl().nullish(),\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().nullish(),\n input: z.number().nullish(),\n input_cache_read: z.number().nullish(),\n input_cache_write: z.number().nullish(),\n output: z.number().nullish(),\n request: z.number().nullish(),\n })\n .nullish(),\n override_parameters: z\n .object({\n temperature: z\n .object({\n default: z.number().nullish(),\n maximum: z.number().nullish(),\n minimum: z.number().nullish(),\n })\n .nullish(),\n frequency_penalty: z\n .object({\n default: z.number().nullish(),\n maximum: z.number().nullish(),\n minimum: z.number().nullish(),\n })\n .nullish(),\n max_tokens: z\n .object({\n default: z.number().nullish(),\n maximum: z.number().nullish(),\n })\n .nullish(),\n verbosity: z\n .object({\n default: z.enum([\"low\", \"medium\", \"high\"]).nullish(),\n })\n .nullish(),\n })\n .nullish(),\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.any()).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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"}
|
|
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 PropertyUIContainer,\n PropertyUICredentialId,\n PropertyUIEmojiPickerProps,\n PropertyUIEncryptedInputProps,\n PropertyUIInputProps,\n PropertyUIKeyValueEditorProps,\n PropertyUINumber,\n PropertyUIObject,\n PropertyUIOption,\n PropertyUIProps,\n PropertyUIRadioGroupProps,\n PropertyUISectionProps,\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\"]).optional(),\n line_numbers: z.boolean().optional(),\n line_wrapping: z.boolean().optional(),\n max_height: z.number().optional(),\n min_height: z.number().optional(),\n rows: 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// 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\n// Section component schema\nconst PropertyUISectionPropsSchema = PropertyUICommonPropsSchema.extend({\n component: z.literal(\"section\"),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyUISectionPropsSchema>, PropertyUISectionProps> = 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 PropertyUISliderPropsSchema,\n PropertyUIKeyValueEditorPropsSchema,\n PropertyUITagInputPropsSchema,\n PropertyUICredentialSelectPropsSchema,\n PropertyUIJsonSchemaEditorPropsSchema,\n PropertyUIConditionsEditorPropsSchema,\n PropertyUIArraySectionPropsSchema,\n PropertyUICollapsiblePanelPropsSchema,\n PropertyUISectionPropsSchema,\n PropertyUIEncryptedInputPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIPropsSchema>, PropertyUIProps> = true\n}\n\nexport const PropertyUIBooleanSchema = z.discriminatedUnion(\"component\", [\n PropertyUISwitchPropsSchema,\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 PropertyUIContainerSchema = z.discriminatedUnion(\"component\", [\n PropertyUICollapsiblePanelPropsSchema,\n PropertyUISectionPropsSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertyUIContainerSchema>, PropertyUIContainer> = true\n}\n\nexport const PropertyUIObjectSchema = z.discriminatedUnion(\"component\", [\n PropertyUIJsonSchemaEditorPropsSchema,\n PropertyUIConditionsEditorPropsSchema,\n PropertyUICodeEditorPropsSchema,\n PropertyUICollapsiblePanelPropsSchema,\n PropertyUISectionPropsSchema,\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.nullish(),\n $exists: z.boolean().nullish(),\n $gt: JsonValueSchema.nullish(),\n $gte: JsonValueSchema.nullish(),\n $in: z.array(JsonValueSchema).nullish(),\n $lt: JsonValueSchema.nullish(),\n $lte: JsonValueSchema.nullish(),\n $mod: z.tuple([z.number(), z.number()]).nullish(),\n $ne: JsonValueSchema.nullish(),\n $nin: z.array(JsonValueSchema).nullish(),\n $options: z.string().nullish(),\n $regex: z.union([z.string(), z.instanceof(RegExp)]).nullish(),\n $size: z.number().nullish(),\n})\n\nconst ConditionSchema = z.union([JsonValueSchema, FilterOperatorsSchema])\n\nconst RootFilterSchema = z.object({\n get $and() {\n return z.array(FilterSchema).nullish()\n },\n get $nor() {\n return z.array(FilterSchema).nullish()\n },\n get $or() {\n return z.array(FilterSchema).nullish()\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 display_name: I18nEntrySchema.nullish(),\n required: z.boolean().nullish(),\n display: z\n .object({\n hide: FilterSchema.nullish(),\n show: FilterSchema.nullish(),\n })\n .nullish(),\n ai: z\n .object({\n llm_description: I18nEntrySchema.nullish(),\n })\n .nullish(),\n ui: PropertyUICommonPropsSchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyBaseSchema>, PropertyBase<string>> = true\n}\n\nexport const PropertyStringSchema = PropertyBaseSchema.extend({\n type: z.literal(\"string\"),\n constant: z.string().nullish(),\n default: z.string().nullish(),\n enum: z.array(z.string()).nullish(),\n max_length: z.number().nullish(),\n min_length: z.number().nullish(),\n ui: PropertyUIStringSchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyStringSchema>, PropertyString<string>> = true\n}\n\nexport const PropertyNumberSchema = PropertyBaseSchema.extend({\n type: z.union([z.literal(\"number\"), z.literal(\"integer\")]),\n constant: z.number().nullish(),\n default: z.number().nullish(),\n enum: z.array(z.number()).nullish(),\n maximum: z.number().nullish(),\n minimum: z.number().nullish(),\n ui: PropertyUINumberSchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyNumberSchema>, PropertyNumber<string>> = true\n}\n\nexport const PropertyBooleanSchema = PropertyBaseSchema.extend({\n type: z.literal(\"boolean\"),\n constant: z.boolean().nullish(),\n default: z.boolean().nullish(),\n enum: z.array(z.boolean()).nullish(),\n ui: PropertyUIBooleanSchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyBooleanSchema>, PropertyBoolean<string>> = true\n}\n\nconst checkDuplicateNames = {\n checkFn: (properties: { name: string }[]) => {\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 customError: {\n error: \"duplicate property names are not allowed\",\n } as const,\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).refine(checkDuplicateNames.checkFn, checkDuplicateNames.customError),\n)\n\nconst additionalSchema: z.ZodType<Property | PropertyDiscriminatedUnion<string>> = z.lazy(() =>\n z.union([PropertySchema, PropertyDiscriminatedUnionSchema]),\n)\n\nexport const PropertyObjectSchema = PropertyBaseSchema.extend({\n type: z.literal(\"object\"),\n properties: ArrayPropertiesSchema,\n additional_properties: additionalSchema.nullish(),\n constant: z.record(z.string(), JsonValueSchema).nullish(),\n default: z.record(z.string(), JsonValueSchema).nullish(),\n enum: z.array(z.record(z.string(), JsonValueSchema)).nullish(),\n ui: PropertyUIObjectSchema.nullish(),\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\nexport const PropertyDiscriminatedUnionSchema = z\n .object({\n type: z.literal(\"discriminated_union\"),\n get any_of() {\n return z\n .array(PropertyObjectSchema)\n .refine(checkDuplicateNames.checkFn, checkDuplicateNames.customError)\n .min(2, \"anyOf must have at least two items\")\n },\n discriminator: z.string().min(1, \"discriminator cannot be empty\"),\n discriminator_ui: PropertyUIDiscriminatorUISchema.nullish(),\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\nexport const PropertyArraySchema = PropertyBaseSchema.extend({\n type: z.literal(\"array\"),\n constant: z.array(JsonValueSchema).nullish(),\n default: z.array(JsonValueSchema).nullish(),\n enum: z.array(z.array(JsonValueSchema)).nullish(),\n get items() {\n return z.union([PropertySchema, PropertyDiscriminatedUnionSchema])\n },\n max_items: z.number().nullish(),\n min_items: z.number().nullish(),\n ui: PropertyUIArraySchema.nullish(),\n})\n{\n const _: IsEqual<z.infer<typeof PropertyArraySchema>, PropertyArray> = true\n}\n\nexport const PropertyCredentialIdSchema = PropertyBaseSchema.extend({\n type: z.literal(\"credential_id\"),\n credential_name: z.string().min(1, \"credential_name cannot be empty\"),\n ui: PropertyUICredentialIdSchema.nullish(),\n constant: z.null().optional(),\n default: z.null().optional(),\n enum: z.null().optional(),\n})\n\n{\n const _: IsEqual<z.infer<typeof PropertyCredentialIdSchema>, PropertyCredentialId<string>> = true\n}\nexport const PropertyEncryptedStringSchema = PropertyBaseSchema.extend({\n type: z.literal(\"encrypted_string\"),\n ui: PropertyUIEncryptedStringSchema.nullish(),\n constant: z.null().optional(),\n default: z.null().optional(),\n enum: z.null().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.lazy(() =>\n z\n .array(PropertyScalarSchema)\n .refine(checkDuplicateNames.checkFn, checkDuplicateNames.customError),\n)\n\nconst PropertySchema = z.union([\n ...PropertyScalarSchema.options,\n PropertyCredentialIdSchema,\n PropertyArraySchema,\n PropertyObjectSchema,\n])\n{\n const _: IsEqual<z.infer<typeof PropertySchema>, Property> = true\n}\n\nexport const PropertiesSchema = ArrayPropertiesSchema\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().nullish(),\n email: z.email().nullish(),\n repo: z.httpUrl().nullish(),\n version: z.string().nullish(),\n locales: z.array(z.string()),\n lang: z.enum([\"elixir\", \"typescript\"]),\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\n .function({\n input: z.tuple([\n z.object({\n args: z.object({\n credential: z.record(z.string(), z.string().nullish()),\n extra: z.looseObject({\n model: z.string().optional(),\n }),\n }),\n }),\n ]),\n output: z.promise(\n z.looseObject({\n adapter: z.enum([\"anthropic\", \"openai\", \"google\", \"deepseek\"]),\n api_key: z.string(),\n endpoint: z.httpUrl().optional(),\n model: z.string().optional(),\n headers: z.record(z.string(), z.string()).optional(),\n }),\n ),\n })\n .optional(),\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._/-])*[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. allow '/' in the middle\",\n }),\n model_type: z.literal(\"llm\"),\n default_endpoint: z.httpUrl().nullish(),\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().nullish(),\n input: z.number().nullish(),\n input_cache_read: z.number().nullish(),\n input_cache_write: z.number().nullish(),\n output: z.number().nullish(),\n request: z.number().nullish(),\n })\n .nullish(),\n override_parameters: z\n .object({\n temperature: z\n .object({\n default: z.number().nullish(),\n maximum: z.number().nullish(),\n minimum: z.number().nullish(),\n })\n .nullish(),\n frequency_penalty: z\n .object({\n default: z.number().nullish(),\n maximum: z.number().nullish(),\n minimum: z.number().nullish(),\n })\n .nullish(),\n max_tokens: z\n .object({\n default: z.number().nullish(),\n maximum: z.number().nullish(),\n })\n .nullish(),\n verbosity: z\n .object({\n default: z.enum([\"low\", \"medium\", \"high\"]).nullish(),\n })\n .nullish(),\n })\n .nullish(),\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.any()).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/package.json
CHANGED