@chainfuse/types 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,5 @@
1
+ import { z } from 'zod';
2
+ import type { EnumOrEnumLike } from '../index.js';
1
3
  import { type CloudflareFunctionModelsEnum, type CloudflareModelsEnum } from './workers-ai/index.js';
2
4
  export * from './azure/index.js';
3
5
  export * from './workers-ai/index.js';
@@ -68,10 +70,12 @@ export declare namespace AiModels {
68
70
  }
69
71
  }
70
72
  }
71
- export type EnumOrEnumLike<T> = T extends Record<string, infer V> ? V : T extends Readonly<Record<string, infer V>> ? V : never;
72
- export type LanguageModelValues = EnumOrEnumLike<(typeof AiModels.LanguageModels)[keyof typeof AiModels.LanguageModels]>;
73
- export type ImageModelValues = EnumOrEnumLike<(typeof AiModels.ImageModels)[keyof typeof AiModels.ImageModels]>;
74
- export type TextEmbeddingModelValues = EnumOrEnumLike<(typeof AiModels.TextEmbeddingModels)[keyof typeof AiModels.TextEmbeddingModels]>;
73
+ export declare const ZodLanguageModelValues: z.ZodEnum<[EnumOrEnumLike<Readonly<CloudflareModelsEnum<"Text Generation">> | Readonly<CloudflareFunctionModelsEnum> | typeof AiModels.LanguageModels.Azure | typeof AiModels.LanguageModels.Anthropic | typeof AiModels.LanguageModels.GoogleGenerativeAi | typeof AiModels.LanguageModels.OpenAi>, ...EnumOrEnumLike<Readonly<CloudflareModelsEnum<"Text Generation">> | Readonly<CloudflareFunctionModelsEnum> | typeof AiModels.LanguageModels.Azure | typeof AiModels.LanguageModels.Anthropic | typeof AiModels.LanguageModels.GoogleGenerativeAi | typeof AiModels.LanguageModels.OpenAi>[]]>;
74
+ export type LanguageModelValues = z.infer<typeof ZodLanguageModelValues>;
75
+ export declare const ZodImageModelValues: z.ZodEnum<[EnumOrEnumLike<Readonly<CloudflareModelsEnum<"Text-to-Image">> | typeof AiModels.ImageModels.Azure | typeof AiModels.ImageModels.GoogleGenerativeAi | typeof AiModels.ImageModels.OpenAi>, ...EnumOrEnumLike<Readonly<CloudflareModelsEnum<"Text-to-Image">> | typeof AiModels.ImageModels.Azure | typeof AiModels.ImageModels.GoogleGenerativeAi | typeof AiModels.ImageModels.OpenAi>[]]>;
76
+ export type ImageModelValues = z.infer<typeof ZodImageModelValues>;
77
+ export declare const ZodTextEmbeddingModelValues: z.ZodEnum<[EnumOrEnumLike<Readonly<CloudflareModelsEnum<"Text Embeddings">> | typeof AiModels.TextEmbeddingModels.Azure | typeof AiModels.TextEmbeddingModels.GoogleGenerativeAi | typeof AiModels.TextEmbeddingModels.OpenAi>, ...EnumOrEnumLike<Readonly<CloudflareModelsEnum<"Text Embeddings">> | typeof AiModels.TextEmbeddingModels.Azure | typeof AiModels.TextEmbeddingModels.GoogleGenerativeAi | typeof AiModels.TextEmbeddingModels.OpenAi>[]]>;
78
+ export type TextEmbeddingModelValues = z.infer<typeof ZodTextEmbeddingModelValues>;
75
79
  export declare const default_mc_generic: LanguageModelValues;
76
80
  export declare const default_mc_summary: LanguageModelValues;
77
81
  export declare const default_mc_extraction: LanguageModelValues;
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  import { enabledCloudflareLlmEmbeddingProviders, enabledCloudflareLlmFunctionProviders, enabledCloudflareLlmImageProviders, enabledCloudflareLlmProviders } from './workers-ai/index.js';
2
3
  export * from './azure/index.js';
3
4
  export * from './workers-ai/index.js';
@@ -80,6 +81,21 @@ export var AiModels;
80
81
  })(OpenAi = TextEmbeddingModels.OpenAi || (TextEmbeddingModels.OpenAi = {}));
81
82
  })(TextEmbeddingModels = AiModels.TextEmbeddingModels || (AiModels.TextEmbeddingModels = {}));
82
83
  })(AiModels || (AiModels = {}));
84
+ const ZodLanguageModelValuesRaw = Object.entries(AiModels.LanguageModels).reduce((acc, [, value]) => {
85
+ acc.push(value);
86
+ return acc;
87
+ }, []);
88
+ export const ZodLanguageModelValues = z.enum(ZodLanguageModelValuesRaw);
89
+ const ZodImageModelValuesRaw = Object.entries(AiModels.ImageModels).reduce((acc, [, value]) => {
90
+ acc.push(value);
91
+ return acc;
92
+ }, []);
93
+ export const ZodImageModelValues = z.enum(ZodImageModelValuesRaw);
94
+ const ZodTextEmbeddingModelValuesRaw = Object.entries(AiModels.TextEmbeddingModels).reduce((acc, [, value]) => {
95
+ acc.push(value);
96
+ return acc;
97
+ }, []);
98
+ export const ZodTextEmbeddingModelValues = z.enum(ZodTextEmbeddingModelValuesRaw);
83
99
  export const default_mc_generic = AiModels.LanguageModels.Azure.gpt4o_mini;
84
100
  export const default_mc_summary = AiModels.LanguageModels.Azure.gpt4o;
85
101
  export const default_mc_extraction = AiModels.LanguageModels.Azure.gpt4o_mini;
package/dist/index.d.ts CHANGED
@@ -2,6 +2,10 @@ export * from './ai-tools/index.js';
2
2
  export * from './d0/index.js';
3
3
  export * from './d1/index.js';
4
4
  export * from './discourse/index.js';
5
+ export type EnumOrEnumLike<T> = T extends Record<string, infer V> ? V : T extends Readonly<Record<string, infer V>> ? V : never;
6
+ export type NamespaceEnumObject<T> = {
7
+ [K in keyof T as EnumOrEnumLike<T[K]> extends never ? never : K]?: T[K] extends Record<any, any> ? T[K][keyof T[K]] : never;
8
+ };
5
9
  type MethodKeys<T> = {
6
10
  [P in keyof T]: T[P] extends (...args: any[]) => any ? P : never;
7
11
  }[keyof T];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainfuse/types",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "description": "",
5
5
  "author": "ChainFuse",
6
6
  "homepage": "https://github.com/ChainFuse/packages/tree/main/packages/types#readme",
@@ -97,5 +97,5 @@
97
97
  "@cloudflare/workers-types": "^4.20250409.0",
98
98
  "@types/validator": "^13.12.3"
99
99
  },
100
- "gitHead": "022e39859a4208cba45e4eb416a3bce399e5d2af"
100
+ "gitHead": "726051ba6c7f31753cdd6e4c86ee5e2e5c132601"
101
101
  }