@choiceopen/atomemo-plugin-schema 0.2.3 → 0.2.5

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.
@@ -552,7 +552,7 @@ interface CredentialDefinition extends BaseDefinition {
552
552
  /**
553
553
  * If it is called for the LLM authentication, then this property is the model name.
554
554
  */
555
- model?: string;
555
+ model?: string | null;
556
556
  [key: string]: unknown;
557
557
  };
558
558
  };
@@ -561,8 +561,8 @@ interface CredentialDefinition extends BaseDefinition {
561
561
  * What kind of LLM provider is used.
562
562
  */
563
563
  adapter: "anthropic" | "openai" | "google" | "deepseek";
564
- endpoint?: string;
565
- headers?: Record<string, string>;
564
+ endpoint?: string | null;
565
+ headers?: Record<string, string> | null;
566
566
  }>;
567
567
  parameters: Array<PropertyScalar>;
568
568
  }
@@ -589,7 +589,7 @@ interface ModelDefinition extends BaseDefinition {
589
589
  /**
590
590
  * The default endpoint of the model.
591
591
  */
592
- default_endpoint?: string;
592
+ default_endpoint?: string | null;
593
593
  /**
594
594
  * Supported input types.
595
595
  */
@@ -607,28 +607,28 @@ interface ModelDefinition extends BaseDefinition {
607
607
  /**
608
608
  * The currency of the pricing. Defaults to "USD" if not specified.
609
609
  */
610
- currency?: string;
610
+ currency?: string | null;
611
611
  /**
612
612
  * Cost per input token.
613
613
  */
614
- input?: number;
614
+ input?: number | null;
615
615
  /**
616
616
  * Input cache read token price.
617
617
  */
618
- input_cache_read?: number;
618
+ input_cache_read?: number | null;
619
619
  /**
620
620
  * Input cache write token price.
621
621
  */
622
- input_cache_write?: number;
622
+ input_cache_write?: number | null;
623
623
  /**
624
624
  * Cost per output token.
625
625
  */
626
- output?: number;
626
+ output?: number | null;
627
627
  /**
628
628
  * Fixed cost per API request if applicable.
629
629
  */
630
- request?: number;
631
- };
630
+ request?: number | null;
631
+ } | null;
632
632
  /**
633
633
  * Override the default parameters of the model.
634
634
  */
@@ -640,16 +640,16 @@ interface ModelDefinition extends BaseDefinition {
640
640
  /**
641
641
  * @default 1.0
642
642
  */
643
- default?: number;
643
+ default?: number | null;
644
644
  /**
645
645
  * @default 2.0
646
646
  */
647
- maximum?: number;
647
+ maximum?: number | null;
648
648
  /**
649
649
  * @default 0.0
650
650
  */
651
- minimum?: number;
652
- };
651
+ minimum?: number | null;
652
+ } | null;
653
653
  /**
654
654
  * This setting aims to control the repetition of tokens based on how often they appear in the input. It tries to use less frequently those tokens that appear more in the input, proportional to how frequently they occur. Token penalty scales with the number of occurrences. Negative values will encourage token reuse.
655
655
  */
@@ -657,16 +657,16 @@ interface ModelDefinition extends BaseDefinition {
657
657
  /**
658
658
  * @default 0.0
659
659
  */
660
- default?: number;
660
+ default?: number | null;
661
661
  /**
662
662
  * @default 2.0
663
663
  */
664
- maximum?: number;
664
+ maximum?: number | null;
665
665
  /**
666
666
  * @default -2.0
667
667
  */
668
- minimum?: number;
669
- };
668
+ minimum?: number | null;
669
+ } | null;
670
670
  /**
671
671
  * This sets the upper limit for the number of tokens the model can generate in response. It won’t produce more than this limit. The maximum value is the context length minus the prompt length.
672
672
  */
@@ -674,12 +674,12 @@ interface ModelDefinition extends BaseDefinition {
674
674
  /**
675
675
  * @default 1_048_576
676
676
  */
677
- default?: number;
677
+ default?: number | null;
678
678
  /**
679
679
  * @default 2_000_000
680
680
  */
681
- maximum?: number;
682
- };
681
+ maximum?: number | null;
682
+ } | null;
683
683
  /**
684
684
  * Constrains the verbosity of the model’s response. Lower values produce more concise responses, while higher values produce more detailed and comprehensive responses. Introduced by OpenAI for the Responses API.
685
685
  *
@@ -689,9 +689,9 @@ interface ModelDefinition extends BaseDefinition {
689
689
  /**
690
690
  * @default "medium"
691
691
  */
692
- default?: "low" | "medium" | "high";
693
- };
694
- };
692
+ default?: "low" | "medium" | "high" | null;
693
+ } | null;
694
+ } | null;
695
695
  /**
696
696
  * Declare which parameters are not supported by the model.
697
697
  *
@@ -734,4 +734,4 @@ interface ToolDefinition extends BaseDefinition {
734
734
  }
735
735
  //#endregion
736
736
  export { PropertyUIEmojiPickerProps as A, PropertyUIRadioGroupProps as B, PropertyUIBoolean as C, PropertyUIComponentType as D, PropertyUICommonProps as E, PropertyUIMisc as F, JsonValue$1 as G, PropertyUISingleSelectProps as H, PropertyUINumber as I, JsonValueSchema as K, PropertyUIObject as L, PropertyUIEncryptedString as M, PropertyUIInputProps as N, PropertyUIContainer as O, PropertyUIKeyValueEditorProps as P, PropertyUIOption as R, PropertyUIArraySectionProps as S, PropertyUIColorPickerProps as T, PropertyUIString as U, PropertyUISectionProps as V, PropertyUISwitchProps as W, PropertyNumber as _, ModelDefinition as a, PropertyString as b, DisplayCondition as c, PropertyArray as d, PropertyBase as f, PropertyEncryptedString as g, PropertyDiscriminatedUnion as h, Feature as i, PropertyUIEncryptedInputProps as j, PropertyUICredentialId as k, FilterOperators as l, PropertyCredentialId as m, CredentialDefinition as n, PluginDefinition as o, PropertyBoolean as p, I18nText as q, DataSourceDefinition as r, ToolDefinition as s, BaseDefinition as t, Property as u, PropertyObject as v, PropertyUICollapsiblePanelProps as w, PropertyUIArray as x, PropertyScalar as y, PropertyUIProps as z };
737
- //# sourceMappingURL=definition-ByCpaQag.d.mts.map
737
+ //# sourceMappingURL=definition-yC3po4PO.d.mts.map
@@ -1,4 +1,4 @@
1
- import { K as JsonValueSchema, c as DisplayCondition, q as I18nText, u as Property } from "./definition-ByCpaQag.mjs";
1
+ import { K as JsonValueSchema, c as DisplayCondition, q as I18nText, u as Property } from "./definition-yC3po4PO.mjs";
2
2
  import "./types.mjs";
3
3
  import { z } from "zod";
4
4
  import * as type_fest0 from "type-fest";
@@ -44,7 +44,7 @@ declare const CredentialDefinitionSchema: z.ZodObject<{
44
44
  args: z.ZodObject<{
45
45
  credential: z.ZodRecord<z.ZodString, z.ZodString>;
46
46
  extra: z.ZodObject<{
47
- model: z.ZodOptional<z.ZodString>;
47
+ model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
48
  }, z.core.$loose>;
49
49
  }, z.core.$strip>;
50
50
  }, z.core.$strip>], null>, z.ZodPromise<z.ZodObject<{
@@ -54,8 +54,8 @@ declare const CredentialDefinitionSchema: z.ZodObject<{
54
54
  google: "google";
55
55
  deepseek: "deepseek";
56
56
  }>;
57
- endpoint: z.ZodOptional<z.ZodURL>;
58
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
57
+ endpoint: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
58
+ headers: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
59
59
  }, z.core.$strip>>>;
60
60
  parameters: z.ZodLazy<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
61
61
  name: z.ZodString;
@@ -642,7 +642,7 @@ type DataSourceDefinition = z.infer<typeof DataSourceDefinitionSchema>;
642
642
  declare const ModelDefinitionSchema: z.ZodObject<{
643
643
  name: z.ZodString;
644
644
  model_type: z.ZodLiteral<"llm">;
645
- default_endpoint: z.ZodOptional<z.ZodURL>;
645
+ default_endpoint: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
646
646
  input_modalities: z.ZodArray<z.ZodEnum<{
647
647
  file: "file";
648
648
  image: "image";
@@ -651,37 +651,37 @@ declare const ModelDefinitionSchema: z.ZodObject<{
651
651
  output_modalities: z.ZodArray<z.ZodEnum<{
652
652
  text: "text";
653
653
  }>>;
654
- pricing: z.ZodOptional<z.ZodObject<{
655
- currency: z.ZodOptional<z.ZodString>;
656
- input: z.ZodOptional<z.ZodNumber>;
657
- input_cache_read: z.ZodOptional<z.ZodNumber>;
658
- input_cache_write: z.ZodOptional<z.ZodNumber>;
659
- output: z.ZodOptional<z.ZodNumber>;
660
- request: z.ZodOptional<z.ZodNumber>;
661
- }, z.core.$strip>>;
662
- override_parameters: z.ZodOptional<z.ZodObject<{
663
- temperature: z.ZodOptional<z.ZodObject<{
664
- default: z.ZodOptional<z.ZodNumber>;
665
- maximum: z.ZodOptional<z.ZodNumber>;
666
- minimum: z.ZodOptional<z.ZodNumber>;
667
- }, z.core.$strip>>;
668
- frequency_penalty: z.ZodOptional<z.ZodObject<{
669
- default: z.ZodOptional<z.ZodNumber>;
670
- maximum: z.ZodOptional<z.ZodNumber>;
671
- minimum: z.ZodOptional<z.ZodNumber>;
672
- }, z.core.$strip>>;
673
- max_tokens: z.ZodOptional<z.ZodObject<{
674
- default: z.ZodOptional<z.ZodNumber>;
675
- maximum: z.ZodOptional<z.ZodNumber>;
676
- }, z.core.$strip>>;
677
- verbosity: z.ZodOptional<z.ZodObject<{
678
- default: z.ZodOptional<z.ZodEnum<{
654
+ pricing: z.ZodOptional<z.ZodNullable<z.ZodObject<{
655
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
656
+ input: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
657
+ input_cache_read: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
658
+ input_cache_write: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
659
+ output: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
660
+ request: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
661
+ }, z.core.$strip>>>;
662
+ override_parameters: z.ZodOptional<z.ZodNullable<z.ZodObject<{
663
+ temperature: z.ZodOptional<z.ZodNullable<z.ZodObject<{
664
+ default: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
665
+ maximum: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
666
+ minimum: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
667
+ }, z.core.$strip>>>;
668
+ frequency_penalty: z.ZodOptional<z.ZodNullable<z.ZodObject<{
669
+ default: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
670
+ maximum: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
671
+ minimum: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
672
+ }, z.core.$strip>>>;
673
+ max_tokens: z.ZodOptional<z.ZodNullable<z.ZodObject<{
674
+ default: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
675
+ maximum: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
676
+ }, z.core.$strip>>>;
677
+ verbosity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
678
+ default: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
679
679
  medium: "medium";
680
680
  low: "low";
681
681
  high: "high";
682
- }>>;
683
- }, z.core.$strip>>;
684
- }, z.core.$strip>>;
682
+ }>>>;
683
+ }, z.core.$strip>>>;
684
+ }, z.core.$strip>>>;
685
685
  unsupported_parameters: z.ZodArray<z.ZodEnum<{
686
686
  endpoint: "endpoint";
687
687
  temperature: "temperature";
package/dist/schemas.mjs CHANGED
@@ -460,7 +460,7 @@ const CredentialDefinitionSchema = z.object({
460
460
  authenticate: z.function({
461
461
  input: z.tuple([z.object({ args: z.object({
462
462
  credential: z.record(z.string(), z.string()),
463
- extra: z.looseObject({ model: z.string().optional() })
463
+ extra: z.looseObject({ model: z.string().nullish() })
464
464
  }) })]),
465
465
  output: z.promise(z.object({
466
466
  adapter: z.enum([
@@ -469,8 +469,8 @@ const CredentialDefinitionSchema = z.object({
469
469
  "google",
470
470
  "deepseek"
471
471
  ]),
472
- endpoint: z.httpUrl().optional(),
473
- headers: z.record(z.string(), z.string()).optional()
472
+ endpoint: z.httpUrl().nullish(),
473
+ headers: z.record(z.string(), z.string()).nullish()
474
474
  }))
475
475
  }),
476
476
  parameters: PropertiesScalarSchema
@@ -483,7 +483,7 @@ const ModelDefinitionSchema = z.object({
483
483
  ...BaseDefinitionSchema.shape,
484
484
  name: z.string().regex(/^[a-zA-Z](?:(?![_-]{2,})[a-zA-Z0-9_/-]){3,63}[a-zA-Z0-9]$/, { error: "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" }),
485
485
  model_type: z.literal("llm"),
486
- default_endpoint: z.httpUrl().optional(),
486
+ default_endpoint: z.httpUrl().nullish(),
487
487
  input_modalities: z.array(z.enum([
488
488
  "file",
489
489
  "image",
@@ -491,34 +491,34 @@ const ModelDefinitionSchema = z.object({
491
491
  ])),
492
492
  output_modalities: z.array(z.enum(["text"])),
493
493
  pricing: z.object({
494
- currency: z.string().optional(),
495
- input: z.number().optional(),
496
- input_cache_read: z.number().optional(),
497
- input_cache_write: z.number().optional(),
498
- output: z.number().optional(),
499
- request: z.number().optional()
500
- }).optional(),
494
+ currency: z.string().nullish(),
495
+ input: z.number().nullish(),
496
+ input_cache_read: z.number().nullish(),
497
+ input_cache_write: z.number().nullish(),
498
+ output: z.number().nullish(),
499
+ request: z.number().nullish()
500
+ }).nullish(),
501
501
  override_parameters: z.object({
502
502
  temperature: z.object({
503
- default: z.number().optional(),
504
- maximum: z.number().optional(),
505
- minimum: z.number().optional()
506
- }).optional(),
503
+ default: z.number().nullish(),
504
+ maximum: z.number().nullish(),
505
+ minimum: z.number().nullish()
506
+ }).nullish(),
507
507
  frequency_penalty: z.object({
508
- default: z.number().optional(),
509
- maximum: z.number().optional(),
510
- minimum: z.number().optional()
511
- }).optional(),
508
+ default: z.number().nullish(),
509
+ maximum: z.number().nullish(),
510
+ minimum: z.number().nullish()
511
+ }).nullish(),
512
512
  max_tokens: z.object({
513
- default: z.number().optional(),
514
- maximum: z.number().optional()
515
- }).optional(),
513
+ default: z.number().nullish(),
514
+ maximum: z.number().nullish()
515
+ }).nullish(),
516
516
  verbosity: z.object({ default: z.enum([
517
517
  "low",
518
518
  "medium",
519
519
  "high"
520
- ]).optional() }).optional()
521
- }).optional(),
520
+ ]).nullish() }).nullish()
521
+ }).nullish(),
522
522
  unsupported_parameters: z.array(z.enum([
523
523
  "endpoint",
524
524
  "temperature",
@@ -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\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\nconst 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\nconst 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\nconst 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> = z.lazy(() => PropertySchema)\n\nconst 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\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.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\nconst 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 PropertySchema\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\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.nullish(),\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.nullish(),\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 PropertyDiscriminatedUnionSchema,\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.function({\n input: z.tuple([\n z.object({\n args: z.object({\n credential: z.record(z.string(), z.string()),\n extra: z.looseObject({\n model: z.string().optional(),\n }),\n }),\n }),\n ]),\n output: z.promise(\n z.object({\n adapter: z.enum([\"anthropic\", \"openai\", \"google\", \"deepseek\"]),\n endpoint: z.httpUrl().optional(),\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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"}
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\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\nconst 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\nconst 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\nconst 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> = z.lazy(() => PropertySchema)\n\nconst 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\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.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\nconst 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 PropertySchema\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\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.nullish(),\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.nullish(),\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 PropertyDiscriminatedUnionSchema,\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.function({\n input: z.tuple([\n z.object({\n args: z.object({\n credential: z.record(z.string(), z.string()),\n extra: z.looseObject({\n model: z.string().nullish(),\n }),\n }),\n }),\n ]),\n output: z.promise(\n z.object({\n adapter: z.enum([\"anthropic\", \"openai\", \"google\", \"deepseek\"]),\n endpoint: z.httpUrl().nullish(),\n headers: z.record(z.string(), z.string()).nullish(),\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().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.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 CHANGED
@@ -1,2 +1,2 @@
1
- import { A as PropertyUIEmojiPickerProps, B as PropertyUIRadioGroupProps, C as PropertyUIBoolean, D as PropertyUIComponentType, E as PropertyUICommonProps, F as PropertyUIMisc, G as JsonValue, H as PropertyUISingleSelectProps, I as PropertyUINumber, K as JsonValueSchema, 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 PropertyUIString, V as PropertyUISectionProps, W as PropertyUISwitchProps, _ 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, q as I18nText, 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-ByCpaQag.mjs";
1
+ import { A as PropertyUIEmojiPickerProps, B as PropertyUIRadioGroupProps, C as PropertyUIBoolean, D as PropertyUIComponentType, E as PropertyUICommonProps, F as PropertyUIMisc, G as JsonValue, H as PropertyUISingleSelectProps, I as PropertyUINumber, K as JsonValueSchema, 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 PropertyUIString, V as PropertyUISectionProps, W as PropertyUISwitchProps, _ 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, q as I18nText, 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-yC3po4PO.mjs";
2
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, PropertyUISectionProps, PropertyUISingleSelectProps, PropertyUIString, PropertyUISwitchProps, ToolDefinition };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@choiceopen/atomemo-plugin-schema",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Schema for developing Choiceform atomemo plugins",
5
5
  "homepage": "https://github.com/choice-open/atomemo-plugin-schema#readme",
6
6
  "bugs": {
@@ -26,7 +26,7 @@
26
26
  "build": "tsdown",
27
27
  "check": "biome check --write",
28
28
  "dev": "tsdown --watch",
29
- "preversion": "bun run build",
29
+ "preversion": "tsdown --clean",
30
30
  "test": "bun test --dots",
31
31
  "typecheck": "tsc --noEmit"
32
32
  },
@@ -57,4 +57,4 @@
57
57
  "./package.json": "./package.json"
58
58
  }
59
59
  }
60
- }
60
+ }