ai-model-directory 0.1.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.
@@ -0,0 +1,41 @@
1
+ export declare const providers: import("./types.js").ModelDirectory;
2
+ export declare const abacus: import("./types.js").ProviderEntry;
3
+ export declare const aihubmix: import("./types.js").ProviderEntry;
4
+ export declare const anthropic: import("./types.js").ProviderEntry;
5
+ export declare const avian: import("./types.js").ProviderEntry;
6
+ export declare const baseten: import("./types.js").ProviderEntry;
7
+ export declare const berget: import("./types.js").ProviderEntry;
8
+ export declare const cerebras: import("./types.js").ProviderEntry;
9
+ export declare const chutes: import("./types.js").ProviderEntry;
10
+ export declare const cohere: import("./types.js").ProviderEntry;
11
+ export declare const cortecs: import("./types.js").ProviderEntry;
12
+ export declare const deepinfra: import("./types.js").ProviderEntry;
13
+ export declare const deepseek: import("./types.js").ProviderEntry;
14
+ export declare const fastrouter: import("./types.js").ProviderEntry;
15
+ export declare const friendli: import("./types.js").ProviderEntry;
16
+ export declare const google: import("./types.js").ProviderEntry;
17
+ export declare const groq: import("./types.js").ProviderEntry;
18
+ export declare const helicone: import("./types.js").ProviderEntry;
19
+ export declare const huggingface: import("./types.js").ProviderEntry;
20
+ export declare const inception: import("./types.js").ProviderEntry;
21
+ export declare const jiekou: import("./types.js").ProviderEntry;
22
+ export declare const kilo: import("./types.js").ProviderEntry;
23
+ export declare const llmgateway: import("./types.js").ProviderEntry;
24
+ export declare const mistral: import("./types.js").ProviderEntry;
25
+ export declare const moark: import("./types.js").ProviderEntry;
26
+ export declare const modelscope: import("./types.js").ProviderEntry;
27
+ export declare const novita: import("./types.js").ProviderEntry;
28
+ export declare const openai: import("./types.js").ProviderEntry;
29
+ export declare const openrouter: import("./types.js").ProviderEntry;
30
+ export declare const ovhcloud: import("./types.js").ProviderEntry;
31
+ export declare const perplexity: import("./types.js").ProviderEntry;
32
+ export declare const poe: import("./types.js").ProviderEntry;
33
+ export declare const requesty: import("./types.js").ProviderEntry;
34
+ export declare const synthetic: import("./types.js").ProviderEntry;
35
+ export declare const tetrate: import("./types.js").ProviderEntry;
36
+ export declare const togetherai: import("./types.js").ProviderEntry;
37
+ export declare const venice: import("./types.js").ProviderEntry;
38
+ export declare const vercel: import("./types.js").ProviderEntry;
39
+ export declare const wandb: import("./types.js").ProviderEntry;
40
+ export declare const xai: import("./types.js").ProviderEntry;
41
+ export declare const zenmux: import("./types.js").ProviderEntry;
@@ -0,0 +1,43 @@
1
+ import { getModelDirectory } from "./store.js";
2
+ const modelDirectory = getModelDirectory();
3
+ export const providers = modelDirectory;
4
+ export const abacus = modelDirectory["abacus"];
5
+ export const aihubmix = modelDirectory["aihubmix"];
6
+ export const anthropic = modelDirectory["anthropic"];
7
+ export const avian = modelDirectory["avian"];
8
+ export const baseten = modelDirectory["baseten"];
9
+ export const berget = modelDirectory["berget"];
10
+ export const cerebras = modelDirectory["cerebras"];
11
+ export const chutes = modelDirectory["chutes"];
12
+ export const cohere = modelDirectory["cohere"];
13
+ export const cortecs = modelDirectory["cortecs"];
14
+ export const deepinfra = modelDirectory["deepinfra"];
15
+ export const deepseek = modelDirectory["deepseek"];
16
+ export const fastrouter = modelDirectory["fastrouter"];
17
+ export const friendli = modelDirectory["friendli"];
18
+ export const google = modelDirectory["google"];
19
+ export const groq = modelDirectory["groq"];
20
+ export const helicone = modelDirectory["helicone"];
21
+ export const huggingface = modelDirectory["huggingface"];
22
+ export const inception = modelDirectory["inception"];
23
+ export const jiekou = modelDirectory["jiekou"];
24
+ export const kilo = modelDirectory["kilo"];
25
+ export const llmgateway = modelDirectory["llmgateway"];
26
+ export const mistral = modelDirectory["mistral"];
27
+ export const moark = modelDirectory["moark"];
28
+ export const modelscope = modelDirectory["modelscope"];
29
+ export const novita = modelDirectory["novita"];
30
+ export const openai = modelDirectory["openai"];
31
+ export const openrouter = modelDirectory["openrouter"];
32
+ export const ovhcloud = modelDirectory["ovhcloud"];
33
+ export const perplexity = modelDirectory["perplexity"];
34
+ export const poe = modelDirectory["poe"];
35
+ export const requesty = modelDirectory["requesty"];
36
+ export const synthetic = modelDirectory["synthetic"];
37
+ export const tetrate = modelDirectory["tetrate"];
38
+ export const togetherai = modelDirectory["togetherai"];
39
+ export const venice = modelDirectory["venice"];
40
+ export const vercel = modelDirectory["vercel"];
41
+ export const wandb = modelDirectory["wandb"];
42
+ export const xai = modelDirectory["xai"];
43
+ export const zenmux = modelDirectory["zenmux"];
@@ -0,0 +1,5 @@
1
+ export { decodeModelDirectory } from "./codec.js";
2
+ export { compactModelDirectoryData } from "./data.js";
3
+ export { getModel, getModelDirectory, getProvider, getProviders, } from "./store.js";
4
+ export * from "./generated-provider-exports.js";
5
+ export type { ModelDirectory, ModelFeatures, ModelLimit, ModelModalities, ModelModality, ModelPricing, ModelRecord, ProviderAiSdk, ProviderEntry, } from "./types.js";
@@ -0,0 +1,4 @@
1
+ export { decodeModelDirectory } from "./codec.js";
2
+ export { compactModelDirectoryData } from "./data.js";
3
+ export { getModel, getModelDirectory, getProvider, getProviders, } from "./store.js";
4
+ export * from "./generated-provider-exports.js";
@@ -0,0 +1,5 @@
1
+ import type { ModelDirectory, ModelRecord, ProviderEntry } from "./types.js";
2
+ export declare function getModelDirectory(): ModelDirectory;
3
+ export declare function getProviders(): ProviderEntry[];
4
+ export declare function getProvider(providerId: string): ProviderEntry | undefined;
5
+ export declare function getModel(providerId: string, modelId: string): ModelRecord | undefined;
@@ -0,0 +1,16 @@
1
+ import { decodeModelDirectory } from "./codec.js";
2
+ import { compactModelDirectoryData } from "./data.js";
3
+ let cachedModelDirectory;
4
+ export function getModelDirectory() {
5
+ cachedModelDirectory ??= decodeModelDirectory(compactModelDirectoryData);
6
+ return cachedModelDirectory;
7
+ }
8
+ export function getProviders() {
9
+ return Object.values(getModelDirectory());
10
+ }
11
+ export function getProvider(providerId) {
12
+ return getModelDirectory()[providerId];
13
+ }
14
+ export function getModel(providerId, modelId) {
15
+ return getProvider(providerId)?.models[modelId];
16
+ }
@@ -0,0 +1,52 @@
1
+ export type UnixTimestamp = string;
2
+ export type ModelModality = "audio" | "file" | "image" | "text" | "video";
3
+ export type ModelFeatures = {
4
+ attachment?: boolean;
5
+ reasoning?: boolean;
6
+ tool_call?: boolean;
7
+ structured_output?: boolean;
8
+ temperature?: boolean;
9
+ };
10
+ export type ModelPricing = {
11
+ input?: number;
12
+ output?: number;
13
+ reasoning?: number;
14
+ cache_read?: number;
15
+ cache_write?: number;
16
+ input_audio?: number;
17
+ output_audio?: number;
18
+ };
19
+ export type ModelLimit = {
20
+ context?: number;
21
+ input?: number;
22
+ output?: number;
23
+ };
24
+ export type ModelModalities = {
25
+ input?: ModelModality[];
26
+ output?: ModelModality[];
27
+ };
28
+ export type ModelRecord = {
29
+ id: string;
30
+ name?: string;
31
+ knowledge_cutoff?: UnixTimestamp;
32
+ release_date?: UnixTimestamp;
33
+ last_updated?: UnixTimestamp;
34
+ open_weights?: boolean;
35
+ features?: ModelFeatures;
36
+ pricing?: ModelPricing;
37
+ limit?: ModelLimit;
38
+ modalities?: ModelModalities;
39
+ };
40
+ export type ProviderAiSdk = {
41
+ npmPackage?: string;
42
+ defaultApiKeyEnv?: string[];
43
+ };
44
+ export type ProviderEntry = {
45
+ id: string;
46
+ name: string;
47
+ website?: string;
48
+ apiBaseUrl?: string;
49
+ aiSdk?: ProviderAiSdk;
50
+ models: Record<string, ModelRecord>;
51
+ };
52
+ export type ModelDirectory = Record<string, ProviderEntry>;
@@ -0,0 +1 @@
1
+ export {};
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "ai-model-directory",
3
+ "version": "0.1.0",
4
+ "description": "Bundled AI model directory dataset with a compact typed payload",
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/src/index.d.ts",
13
+ "import": "./dist/src/index.js"
14
+ }
15
+ },
16
+ "types": "./dist/src/index.d.ts",
17
+ "scripts": {
18
+ "generate": "bun ./scripts/generate-data.mjs",
19
+ "build": "bun run generate && tsc -p ./tsconfig.build.json",
20
+ "prepack": "bun run build"
21
+ }
22
+ }