@kortix/llm-catalog 0.9.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -0
- package/dist/catalog.generated.json +69188 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +242 -0
- package/dist/index.js.map +1 -0
- package/package.json +46 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export interface CatalogModel {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
released?: string | null;
|
|
5
|
+
attachment?: boolean;
|
|
6
|
+
reasoning?: boolean;
|
|
7
|
+
tool_call?: boolean;
|
|
8
|
+
temperature?: boolean;
|
|
9
|
+
limit?: {
|
|
10
|
+
context?: number;
|
|
11
|
+
output?: number;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
interface CatalogProvider {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
env?: string[];
|
|
18
|
+
doc?: string;
|
|
19
|
+
api?: string | null;
|
|
20
|
+
npm?: string | null;
|
|
21
|
+
models: CatalogModel[];
|
|
22
|
+
}
|
|
23
|
+
export interface Catalog {
|
|
24
|
+
source: string;
|
|
25
|
+
fetched_at: string;
|
|
26
|
+
provider_count: number;
|
|
27
|
+
model_count: number;
|
|
28
|
+
providers: CatalogProvider[];
|
|
29
|
+
}
|
|
30
|
+
export declare const CATALOG: Catalog;
|
|
31
|
+
export interface ManagedModel {
|
|
32
|
+
id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
upstreamModelId: string;
|
|
35
|
+
transport: "bedrock" | "openrouter";
|
|
36
|
+
pricingRef: string;
|
|
37
|
+
tier: "flagship" | "balanced" | "fast";
|
|
38
|
+
vision: boolean;
|
|
39
|
+
limit: {
|
|
40
|
+
context: number;
|
|
41
|
+
output: number;
|
|
42
|
+
};
|
|
43
|
+
openrouterProvider?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
export declare const MANAGED_MODELS: ManagedModel[];
|
|
46
|
+
export declare function getManagedModel(id: string): ManagedModel | undefined;
|
|
47
|
+
export declare function isManagedModelId(id: string): boolean;
|
|
48
|
+
export declare const DEFAULT_MANAGED_MODEL_IDS: string[];
|
|
49
|
+
export declare const MANAGED_FLAGSHIP_MODEL_ID: string;
|
|
50
|
+
export declare const AUTO_MODEL_ID = "auto";
|
|
51
|
+
export declare const AUTO_MODEL_ENABLED = false;
|
|
52
|
+
export declare const AUTO_DEFAULT_MODEL_ID = "glm-5.2";
|
|
53
|
+
/**
|
|
54
|
+
* Map a requested model to a concrete managed model when (and only when) it is
|
|
55
|
+
* the synthetic `auto` id. Returns null for any other model (a no-op pass-through
|
|
56
|
+
* the caller treats as "use the requested model as-is"). Pure + dependency-free
|
|
57
|
+
* so both the in-process mount and the standalone gateway can call it locally.
|
|
58
|
+
*
|
|
59
|
+
* `opts.defaultModel` is the account/agent-configured default for the calling
|
|
60
|
+
* principal (a concrete wire model, never `auto`). It takes precedence over the
|
|
61
|
+
* platform text default, so `auto` resolves to what the account actually wants.
|
|
62
|
+
* The vision override still applies: if the chosen target is a managed text-only
|
|
63
|
+
* model and the request carries an image, swap to a vision-capable model so
|
|
64
|
+
* attachments aren't silently dropped. A vision-capable or BYOK default is kept.
|
|
65
|
+
*/
|
|
66
|
+
export declare function pickAutoModel(model: string, body: Record<string, unknown>, opts?: {
|
|
67
|
+
defaultModel?: string | null;
|
|
68
|
+
}): string | null;
|
|
69
|
+
export declare const MODEL_SELECTOR_PROVIDER_IDS: readonly ["kortix", "opencode", "anthropic", "openai", "github-copilot", "google", "openrouter", "vercel"];
|
|
70
|
+
export declare const PROVIDER_LABELS: Record<string, string>;
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAIzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,OAAO,EAAkB,OAAO,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IAIb,eAAe,EAAE,MAAM,CAAC;IAIxB,SAAS,EAAE,SAAS,GAAG,YAAY,CAAC;IAEpC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAIvC,MAAM,EAAE,OAAO,CAAC;IAKhB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAM3C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAaD,eAAO,MAAM,cAAc,EAAE,YAAY,EAgExC,CAAC;AAIF,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,eAAO,MAAM,yBAAyB,UAAkC,CAAC;AAEzE,eAAO,MAAM,yBAAyB,QAElC,CAAC;AAkBL,eAAO,MAAM,aAAa,SAAS,CAAC;AAOpC,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAKxC,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAwB/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACtC,MAAM,GAAG,IAAI,CAUf;AAED,eAAO,MAAM,2BAA2B,4GAS9B,CAAC;AAEX,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4ElD,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import catalogJson from "./catalog.generated.json" with { type: "json" };
|
|
2
|
+
export const CATALOG = catalogJson;
|
|
3
|
+
// Managed model ids are single-segment (no `provider/` prefix). They are served
|
|
4
|
+
// to opencode under the `kortix` provider, so opencode references them as
|
|
5
|
+
// `kortix/<id>` (e.g. `kortix/claude-opus-4.8`) and sends `<id>` as the wire
|
|
6
|
+
// model. A bare, slash-free id is what lets the gateway tell a managed request
|
|
7
|
+
// (`claude-opus-4.8` → our keys, credits-billed) apart from a BYOK one
|
|
8
|
+
// (`anthropic/claude-...` → the user's own key) without the two ever colliding.
|
|
9
|
+
//
|
|
10
|
+
// Every managed model runs through OUR keys and is billed as Kortix credits with
|
|
11
|
+
// markup, so the gateway enforces budgets/logging/spend on all of them. Claude
|
|
12
|
+
// runs on Bedrock (the proven Anthropic-payload InvokeModel transport);
|
|
13
|
+
// everything else goes via OpenRouter.
|
|
14
|
+
export const MANAGED_MODELS = [
|
|
15
|
+
{
|
|
16
|
+
id: "claude-opus-4.8",
|
|
17
|
+
name: "Claude Opus 4.8",
|
|
18
|
+
upstreamModelId: "us.anthropic.claude-opus-4-8",
|
|
19
|
+
transport: "bedrock",
|
|
20
|
+
pricingRef: "anthropic/claude-opus-4.8",
|
|
21
|
+
tier: "flagship",
|
|
22
|
+
vision: true,
|
|
23
|
+
limit: { context: 1_000_000, output: 64_000 },
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: "claude-sonnet-4.6",
|
|
27
|
+
name: "Claude Sonnet 4.6",
|
|
28
|
+
upstreamModelId: "us.anthropic.claude-sonnet-4-6",
|
|
29
|
+
transport: "bedrock",
|
|
30
|
+
pricingRef: "anthropic/claude-sonnet-4.6",
|
|
31
|
+
tier: "balanced",
|
|
32
|
+
vision: true,
|
|
33
|
+
limit: { context: 1_000_000, output: 64_000 },
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "glm-5.2",
|
|
37
|
+
name: "GLM 5.2",
|
|
38
|
+
upstreamModelId: "z-ai/glm-5.2",
|
|
39
|
+
transport: "openrouter",
|
|
40
|
+
pricingRef: "z-ai/glm-5.2",
|
|
41
|
+
tier: "balanced",
|
|
42
|
+
vision: false,
|
|
43
|
+
limit: { context: 1_000_000, output: 131_072 },
|
|
44
|
+
// Prefer Z.AI's first-party endpoint (99.9%+ uptime, native fp8). Fallbacks
|
|
45
|
+
// stay enabled so an actual Z.AI outage still routes rather than failing.
|
|
46
|
+
openrouterProvider: { order: ["z-ai"], allow_fallbacks: true },
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: "qwen3.7-max",
|
|
50
|
+
name: "Qwen3.7 Max",
|
|
51
|
+
upstreamModelId: "qwen/qwen3.7-max",
|
|
52
|
+
transport: "openrouter",
|
|
53
|
+
pricingRef: "qwen/qwen3.7-max",
|
|
54
|
+
tier: "balanced",
|
|
55
|
+
vision: false,
|
|
56
|
+
limit: { context: 1_048_576, output: 64_000 },
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "deepseek-v4-pro",
|
|
60
|
+
name: "DeepSeek V4 Pro",
|
|
61
|
+
upstreamModelId: "deepseek/deepseek-v4-pro",
|
|
62
|
+
transport: "openrouter",
|
|
63
|
+
pricingRef: "deepseek/deepseek-v4-pro",
|
|
64
|
+
tier: "balanced",
|
|
65
|
+
vision: false,
|
|
66
|
+
limit: { context: 1_048_576, output: 64_000 },
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: "deepseek-v4-flash",
|
|
70
|
+
name: "DeepSeek V4 Flash",
|
|
71
|
+
upstreamModelId: "deepseek/deepseek-v4-flash",
|
|
72
|
+
transport: "openrouter",
|
|
73
|
+
pricingRef: "deepseek/deepseek-v4-flash",
|
|
74
|
+
tier: "balanced",
|
|
75
|
+
vision: false,
|
|
76
|
+
limit: { context: 1_048_576, output: 64_000 },
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
const MANAGED_BY_ID = new Map(MANAGED_MODELS.map((m) => [m.id, m]));
|
|
80
|
+
export function getManagedModel(id) {
|
|
81
|
+
return MANAGED_BY_ID.get(id);
|
|
82
|
+
}
|
|
83
|
+
export function isManagedModelId(id) {
|
|
84
|
+
return MANAGED_BY_ID.has(id);
|
|
85
|
+
}
|
|
86
|
+
export const DEFAULT_MANAGED_MODEL_IDS = MANAGED_MODELS.map((m) => m.id);
|
|
87
|
+
export const MANAGED_FLAGSHIP_MODEL_ID = (MANAGED_MODELS.find((m) => m.tier === "flagship") ?? MANAGED_MODELS[0]).id;
|
|
88
|
+
// ─── AUTO: managed model selection ──────────────────────────────────────────
|
|
89
|
+
// The catalog advertises a synthetic `auto` model presented to users as
|
|
90
|
+
// "automatically picks the cheapest, most efficient model for the task." When a
|
|
91
|
+
// request asks for it, the gateway resolves it to a concrete managed model and
|
|
92
|
+
// bills it as the resolved model.
|
|
93
|
+
//
|
|
94
|
+
// AUTO resolves to GLM 5.2 (text) except a request that carries images, which is
|
|
95
|
+
// routed to a vision-capable model so attachments aren't silently ignored (GLM is
|
|
96
|
+
// text-only). The `autoRouter` hook and this single indirection point are where a
|
|
97
|
+
// future, more sophisticated per-task handler plugs in.
|
|
98
|
+
//
|
|
99
|
+
// AUTO is currently HIDDEN from the picker (see AUTO_MODEL_ENABLED): every session
|
|
100
|
+
// explicitly opts into a concrete model. The resolution path below stays fully
|
|
101
|
+
// intact — the sandbox still defaults `small_model`/headless sessions to `auto`,
|
|
102
|
+
// and a stale gateway caller asking for raw `auto` still resolves — so re-exposing
|
|
103
|
+
// the toggle is a one-line flip.
|
|
104
|
+
export const AUTO_MODEL_ID = "auto";
|
|
105
|
+
// Whether AUTO is exposed in the model picker. Off for now: we want an explicit
|
|
106
|
+
// opt-in on which model to use, and will bring AUTO back later. The web app reads
|
|
107
|
+
// this through `featureFlags.enableAutoModel`, which can override it per-deploy via
|
|
108
|
+
// NEXT_PUBLIC_ENABLE_AUTO_MODEL. The server keeps serving + resolving `auto`
|
|
109
|
+
// regardless, so this only gates the UI.
|
|
110
|
+
export const AUTO_MODEL_ENABLED = false;
|
|
111
|
+
// The single "what to choose for auto" knob: the model AUTO routes text requests
|
|
112
|
+
// to, AND the concrete model a fresh session defaults to while AUTO is hidden.
|
|
113
|
+
// Change this one constant to re-point both.
|
|
114
|
+
export const AUTO_DEFAULT_MODEL_ID = "glm-5.2";
|
|
115
|
+
const AUTO_TARGET_MODEL = AUTO_DEFAULT_MODEL_ID; // text-only default
|
|
116
|
+
const AUTO_VISION_MODEL = "claude-sonnet-4.6"; // when the request has image content
|
|
117
|
+
function requestHasImage(body) {
|
|
118
|
+
const messages = Array.isArray(body.messages) ? body.messages : [];
|
|
119
|
+
for (const message of messages) {
|
|
120
|
+
const content = message.content;
|
|
121
|
+
if (Array.isArray(content) &&
|
|
122
|
+
content.some((part) => !!part &&
|
|
123
|
+
typeof part === "object" &&
|
|
124
|
+
part.type === "image_url")) {
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Map a requested model to a concrete managed model when (and only when) it is
|
|
132
|
+
* the synthetic `auto` id. Returns null for any other model (a no-op pass-through
|
|
133
|
+
* the caller treats as "use the requested model as-is"). Pure + dependency-free
|
|
134
|
+
* so both the in-process mount and the standalone gateway can call it locally.
|
|
135
|
+
*
|
|
136
|
+
* `opts.defaultModel` is the account/agent-configured default for the calling
|
|
137
|
+
* principal (a concrete wire model, never `auto`). It takes precedence over the
|
|
138
|
+
* platform text default, so `auto` resolves to what the account actually wants.
|
|
139
|
+
* The vision override still applies: if the chosen target is a managed text-only
|
|
140
|
+
* model and the request carries an image, swap to a vision-capable model so
|
|
141
|
+
* attachments aren't silently dropped. A vision-capable or BYOK default is kept.
|
|
142
|
+
*/
|
|
143
|
+
export function pickAutoModel(model, body, opts) {
|
|
144
|
+
if (model !== AUTO_MODEL_ID && model !== `kortix/${AUTO_MODEL_ID}`)
|
|
145
|
+
return null;
|
|
146
|
+
const target = opts?.defaultModel || AUTO_TARGET_MODEL;
|
|
147
|
+
if (requestHasImage(body)) {
|
|
148
|
+
const bareId = target.startsWith("kortix/") ? target.slice("kortix/".length) : target;
|
|
149
|
+
const managed = getManagedModel(bareId);
|
|
150
|
+
if (managed && !managed.vision)
|
|
151
|
+
return AUTO_VISION_MODEL;
|
|
152
|
+
}
|
|
153
|
+
return target;
|
|
154
|
+
}
|
|
155
|
+
export const MODEL_SELECTOR_PROVIDER_IDS = [
|
|
156
|
+
"kortix",
|
|
157
|
+
"opencode",
|
|
158
|
+
"anthropic",
|
|
159
|
+
"openai",
|
|
160
|
+
"github-copilot",
|
|
161
|
+
"google",
|
|
162
|
+
"openrouter",
|
|
163
|
+
"vercel",
|
|
164
|
+
];
|
|
165
|
+
export const PROVIDER_LABELS = {
|
|
166
|
+
anthropic: "Anthropic",
|
|
167
|
+
openai: "OpenAI",
|
|
168
|
+
codex: "ChatGPT",
|
|
169
|
+
google: "Google",
|
|
170
|
+
xai: "xAI",
|
|
171
|
+
moonshotai: "Moonshot",
|
|
172
|
+
"moonshotai-cn": "Moonshot",
|
|
173
|
+
opencode: "OpenCode Zen",
|
|
174
|
+
kortix: "Kortix",
|
|
175
|
+
firmware: "Firmware",
|
|
176
|
+
bedrock: "AWS Bedrock",
|
|
177
|
+
openrouter: "OpenRouter",
|
|
178
|
+
"github-copilot": "GitHub Copilot",
|
|
179
|
+
vercel: "Vercel",
|
|
180
|
+
groq: "Groq",
|
|
181
|
+
deepseek: "DeepSeek",
|
|
182
|
+
mistral: "Mistral",
|
|
183
|
+
cohere: "Cohere",
|
|
184
|
+
llama: "Llama",
|
|
185
|
+
huggingface: "Hugging Face",
|
|
186
|
+
cerebras: "Cerebras",
|
|
187
|
+
togetherai: "Together AI",
|
|
188
|
+
fireworks: "Fireworks",
|
|
189
|
+
deepinfra: "DeepInfra",
|
|
190
|
+
nvidia: "NVIDIA",
|
|
191
|
+
cloudflare: "Cloudflare",
|
|
192
|
+
azure: "Azure",
|
|
193
|
+
ollama: "Ollama",
|
|
194
|
+
perplexity: "Perplexity",
|
|
195
|
+
lmstudio: "LM Studio",
|
|
196
|
+
v0: "v0",
|
|
197
|
+
wandb: "W&B",
|
|
198
|
+
baseten: "Baseten",
|
|
199
|
+
minimax: "Moonshot",
|
|
200
|
+
"minimax-cn": "Moonshot",
|
|
201
|
+
siliconflow: "SiliconFlow",
|
|
202
|
+
"siliconflow-cn": "SiliconFlow",
|
|
203
|
+
zhipuai: "ZhipuAI",
|
|
204
|
+
"zhipuai-cn": "ZhipuAI",
|
|
205
|
+
"google-vertex": "Google Vertex",
|
|
206
|
+
"google-vertex-anthropic": "Vertex Anthropic",
|
|
207
|
+
"azure-cognitive-services": "Azure Cognitive",
|
|
208
|
+
"cloudflare-ai-gateway": "Cloudflare Gateway",
|
|
209
|
+
"github-models": "GitHub Models",
|
|
210
|
+
"ollama-cloud": "Ollama Cloud",
|
|
211
|
+
"kai Coding Plan": "AI21",
|
|
212
|
+
zaicodingplan: "AI21",
|
|
213
|
+
venice: "Venice",
|
|
214
|
+
upstage: "Upstage",
|
|
215
|
+
nebius: "Nebius",
|
|
216
|
+
vultr: "Vultr",
|
|
217
|
+
friendli: "Friendli",
|
|
218
|
+
poe: "Poe",
|
|
219
|
+
requesty: "Requesty",
|
|
220
|
+
"sap-ai-core": "SAP AI Core",
|
|
221
|
+
scaleway: "Scaleway",
|
|
222
|
+
inception: "Inception",
|
|
223
|
+
morph: "Morph",
|
|
224
|
+
abacus: "Abacus",
|
|
225
|
+
bailing: "Bailing",
|
|
226
|
+
chutes: "Chutes",
|
|
227
|
+
fastrouter: "FastRouter",
|
|
228
|
+
helicone: "Helicone",
|
|
229
|
+
iflowcn: "iFlytek",
|
|
230
|
+
inference: "Inference",
|
|
231
|
+
"io-net": "IO.net",
|
|
232
|
+
"kimi-for-coding": "Kimi",
|
|
233
|
+
lucidquery: "LucidQuery",
|
|
234
|
+
modelscope: "ModelScope",
|
|
235
|
+
"nano-gpt": "NanoGPT",
|
|
236
|
+
ovhcloud: "OVHcloud",
|
|
237
|
+
submodel: "Submodel",
|
|
238
|
+
synthetic: "Synthetic",
|
|
239
|
+
xiaomi: "Xiaomi",
|
|
240
|
+
zenmux: "Zenmux",
|
|
241
|
+
};
|
|
242
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kortix/llm-catalog",
|
|
3
|
+
"version": "0.9.98",
|
|
4
|
+
"description": "The Kortix LLM model catalog — the models the Kortix gateway supports, the managed-model set and defaults, and the auto-model picker. Generated from models.dev; consumed across the Kortix platform and by the @kortix/sdk.",
|
|
5
|
+
"license": "Elastic-2.0",
|
|
6
|
+
"homepage": "https://github.com/kortix-ai/suna/tree/main/packages/llm-catalog",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/kortix-ai/suna.git",
|
|
10
|
+
"directory": "packages/llm-catalog"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"kortix",
|
|
14
|
+
"llm-catalog",
|
|
15
|
+
"models",
|
|
16
|
+
"ai",
|
|
17
|
+
"sdk"
|
|
18
|
+
],
|
|
19
|
+
"sideEffects": false,
|
|
20
|
+
"main": "./dist/index.js",
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"import": "./dist/index.js"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"typecheck": "tsc --noEmit",
|
|
33
|
+
"test": "bun test",
|
|
34
|
+
"build": "tsc -p tsconfig.build.json && node scripts/copy-catalog.mjs",
|
|
35
|
+
"prepublishOnly": "tsc -p tsconfig.build.json && node scripts/copy-catalog.mjs"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/bun": "^1.3.9",
|
|
39
|
+
"typescript": "^5.0.0"
|
|
40
|
+
},
|
|
41
|
+
"type": "module",
|
|
42
|
+
"files": [
|
|
43
|
+
"dist",
|
|
44
|
+
"README.md"
|
|
45
|
+
]
|
|
46
|
+
}
|