@elsium-ai/gateway 0.7.0 → 0.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.
- package/dist/gateway.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +189 -19
- package/dist/providers/openai-compatible.d.ts +10 -0
- package/dist/providers/openai-compatible.d.ts.map +1 -0
- package/dist/router.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/gateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,UAAU,EAEV,cAAc,EAEd,gBAAgB,EAChB,QAAQ,EACR,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAEN,KAAK,YAAY,EAIjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAI5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,UAAU,EAEV,cAAc,EAEd,gBAAgB,EAChB,QAAQ,EACR,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAEN,KAAK,YAAY,EAIjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAI5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAY7C,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACrC,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1D,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAA;IAChD,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG;QAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC;QAC3E,IAAI,EAAE,CAAC,CAAA;QACP,QAAQ,EAAE,WAAW,CAAA;KACrB,CAAC,CAAA;IACF,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;CACvC;AA4BD,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,WAAW,GAC9C,IAAI,CAGN;AAwJD,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAkItD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { registerProvider, getProviderFactory, listProviders, registerProviderMe
|
|
|
5
5
|
export { createAnthropicProvider } from './providers/anthropic';
|
|
6
6
|
export { createOpenAIProvider } from './providers/openai';
|
|
7
7
|
export { createGoogleProvider } from './providers/google';
|
|
8
|
+
export { createOpenAICompatibleProvider } from './providers/openai-compatible';
|
|
9
|
+
export type { OpenAICompatibleConfig } from './providers/openai-compatible';
|
|
8
10
|
export { composeMiddleware, composeStreamMiddleware, loggingMiddleware, costTrackingMiddleware, xrayMiddleware, } from './middleware';
|
|
9
11
|
export type { XRayStore } from './middleware';
|
|
10
12
|
export { securityMiddleware, detectPromptInjection, detectJailbreak, redactSecrets, checkBlockedPatterns, classifyContent, } from './security';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAC5D,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGvD,YAAY,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACT,MAAM,YAAY,CAAA;AACnB,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAC5D,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGvD,YAAY,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACT,MAAM,YAAY,CAAA;AACnB,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAA;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAG3E,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,GACd,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,EACN,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,eAAe,GACf,MAAM,YAAY,CAAA;AACnB,YAAY,EACX,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/D,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAC9D,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAG9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,YAAY,EACX,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GACf,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,YAAY,EACX,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,GACf,MAAM,UAAU,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1991,11 +1991,44 @@ async function processOpenAISSEStream(body, emit) {
|
|
|
1991
1991
|
}
|
|
1992
1992
|
}
|
|
1993
1993
|
|
|
1994
|
+
// src/providers/openai-compatible.ts
|
|
1995
|
+
function createOpenAICompatibleProvider(config) {
|
|
1996
|
+
const providerName = config.name ?? "openai-compatible";
|
|
1997
|
+
const model = config.defaultModel ?? "default";
|
|
1998
|
+
const inner = createOpenAIProvider({
|
|
1999
|
+
apiKey: config.apiKey,
|
|
2000
|
+
baseUrl: config.baseUrl,
|
|
2001
|
+
timeout: config.timeout,
|
|
2002
|
+
maxRetries: config.maxRetries
|
|
2003
|
+
});
|
|
2004
|
+
const metadata = {
|
|
2005
|
+
baseUrl: `${config.baseUrl}/v1/chat/completions`,
|
|
2006
|
+
capabilities: config.capabilities ?? ["tools", "streaming", "system"],
|
|
2007
|
+
authStyle: "bearer"
|
|
2008
|
+
};
|
|
2009
|
+
return {
|
|
2010
|
+
name: providerName,
|
|
2011
|
+
defaultModel: model,
|
|
2012
|
+
metadata,
|
|
2013
|
+
async complete(request) {
|
|
2014
|
+
const response = await inner.complete(request);
|
|
2015
|
+
return { ...response, provider: providerName };
|
|
2016
|
+
},
|
|
2017
|
+
stream(request) {
|
|
2018
|
+
return inner.stream(request);
|
|
2019
|
+
},
|
|
2020
|
+
async listModels() {
|
|
2021
|
+
return inner.listModels();
|
|
2022
|
+
}
|
|
2023
|
+
};
|
|
2024
|
+
}
|
|
2025
|
+
|
|
1994
2026
|
// src/gateway.ts
|
|
1995
2027
|
var PROVIDER_FACTORIES = {
|
|
1996
2028
|
anthropic: createAnthropicProvider,
|
|
1997
2029
|
openai: createOpenAIProvider,
|
|
1998
|
-
google: createGoogleProvider
|
|
2030
|
+
google: createGoogleProvider,
|
|
2031
|
+
"openai-compatible": (cfg) => createOpenAICompatibleProvider({ ...cfg, baseUrl: cfg.baseUrl ?? "" })
|
|
1999
2032
|
};
|
|
2000
2033
|
registerProviderMetadata("anthropic", {
|
|
2001
2034
|
baseUrl: "https://api.anthropic.com/v1/messages",
|
|
@@ -3154,6 +3187,149 @@ function createProviderMesh(config) {
|
|
|
3154
3187
|
return ["streaming"];
|
|
3155
3188
|
}
|
|
3156
3189
|
}
|
|
3190
|
+
function errorStream(message) {
|
|
3191
|
+
return new ElsiumStream(async function* () {
|
|
3192
|
+
yield {
|
|
3193
|
+
type: "error",
|
|
3194
|
+
error: new ElsiumError({
|
|
3195
|
+
code: "PROVIDER_ERROR",
|
|
3196
|
+
message,
|
|
3197
|
+
retryable: false
|
|
3198
|
+
})
|
|
3199
|
+
};
|
|
3200
|
+
}());
|
|
3201
|
+
}
|
|
3202
|
+
function logStreamFailover(provider, error) {
|
|
3203
|
+
audit?.log("provider_failover", {
|
|
3204
|
+
fromProvider: provider,
|
|
3205
|
+
toProvider: "next",
|
|
3206
|
+
strategy: config.strategy,
|
|
3207
|
+
reason: error?.message
|
|
3208
|
+
});
|
|
3209
|
+
}
|
|
3210
|
+
async function tryStreamProvider(entry, request, emit) {
|
|
3211
|
+
const gw = getGateway(entry.name);
|
|
3212
|
+
const providerStream = await callWithCircuitBreaker(entry.name, async () => gw.stream({ ...request, model: request.model ?? entry.model }));
|
|
3213
|
+
let hasEmittedContent = false;
|
|
3214
|
+
for await (const event of providerStream) {
|
|
3215
|
+
if (event.type === "error") {
|
|
3216
|
+
const err2 = event.error instanceof Error ? event.error : new Error(String(event.error));
|
|
3217
|
+
if (hasEmittedContent) {
|
|
3218
|
+
emit(event);
|
|
3219
|
+
return { success: true };
|
|
3220
|
+
}
|
|
3221
|
+
return { success: false, error: err2 };
|
|
3222
|
+
}
|
|
3223
|
+
hasEmittedContent = true;
|
|
3224
|
+
emit(event);
|
|
3225
|
+
}
|
|
3226
|
+
return { success: true };
|
|
3227
|
+
}
|
|
3228
|
+
async function runStreamFallbackLoop(available, request, emit) {
|
|
3229
|
+
let lastError = null;
|
|
3230
|
+
let failedProvider = null;
|
|
3231
|
+
for (const entry of available) {
|
|
3232
|
+
try {
|
|
3233
|
+
const result = await tryStreamProvider(entry, request, emit);
|
|
3234
|
+
if (result.success) {
|
|
3235
|
+
if (failedProvider)
|
|
3236
|
+
logFailover(failedProvider, entry.name, lastError?.message);
|
|
3237
|
+
return;
|
|
3238
|
+
}
|
|
3239
|
+
lastError = result.error ?? null;
|
|
3240
|
+
failedProvider = entry.name;
|
|
3241
|
+
logStreamFailover(entry.name, result.error);
|
|
3242
|
+
} catch (err2) {
|
|
3243
|
+
failedProvider = entry.name;
|
|
3244
|
+
lastError = toError2(err2);
|
|
3245
|
+
logStreamFailover(entry.name, lastError);
|
|
3246
|
+
}
|
|
3247
|
+
}
|
|
3248
|
+
emit({
|
|
3249
|
+
type: "error",
|
|
3250
|
+
error: lastError ?? new ElsiumError({
|
|
3251
|
+
code: "PROVIDER_ERROR",
|
|
3252
|
+
message: "All providers failed during streaming",
|
|
3253
|
+
retryable: false
|
|
3254
|
+
})
|
|
3255
|
+
});
|
|
3256
|
+
}
|
|
3257
|
+
function streamWithFallback(providers, request) {
|
|
3258
|
+
const available = providers.filter((e) => isProviderAvailable(e.name));
|
|
3259
|
+
if (available.length === 0) {
|
|
3260
|
+
return errorStream("All providers unavailable");
|
|
3261
|
+
}
|
|
3262
|
+
return createStream(async (emit) => {
|
|
3263
|
+
await runStreamFallbackLoop(available, request, emit);
|
|
3264
|
+
});
|
|
3265
|
+
}
|
|
3266
|
+
function streamCostOptimized(request) {
|
|
3267
|
+
const optimizer = config.costOptimizer;
|
|
3268
|
+
if (!optimizer) {
|
|
3269
|
+
return streamWithFallback(sortedProviders, request);
|
|
3270
|
+
}
|
|
3271
|
+
const complexity = estimateComplexity(request);
|
|
3272
|
+
const threshold = optimizer.complexityThreshold ?? 0.5;
|
|
3273
|
+
const target = complexity < threshold ? optimizer.simpleModel : optimizer.complexModel;
|
|
3274
|
+
return createStream(async (emit) => {
|
|
3275
|
+
try {
|
|
3276
|
+
const gw = getGateway(target.provider);
|
|
3277
|
+
const providerStream = gw.stream({ ...request, model: target.model });
|
|
3278
|
+
for await (const event of providerStream) {
|
|
3279
|
+
emit(event);
|
|
3280
|
+
}
|
|
3281
|
+
} catch {
|
|
3282
|
+
const fallbackStream = streamWithFallback(sortedProviders, request);
|
|
3283
|
+
for await (const event of fallbackStream) {
|
|
3284
|
+
emit(event);
|
|
3285
|
+
}
|
|
3286
|
+
}
|
|
3287
|
+
});
|
|
3288
|
+
}
|
|
3289
|
+
function streamLatencyOptimized(request) {
|
|
3290
|
+
const available = sortedProviders.filter((e) => isProviderAvailable(e.name));
|
|
3291
|
+
if (available.length === 0) {
|
|
3292
|
+
return errorStream("All providers unavailable");
|
|
3293
|
+
}
|
|
3294
|
+
return createStream(async (emit) => {
|
|
3295
|
+
const controller = new AbortController;
|
|
3296
|
+
const racePromises = available.map(async (entry) => {
|
|
3297
|
+
const gw = getGateway(entry.name);
|
|
3298
|
+
return callWithCircuitBreaker(entry.name, async () => ({
|
|
3299
|
+
entry,
|
|
3300
|
+
stream: gw.stream({
|
|
3301
|
+
...request,
|
|
3302
|
+
model: request.model ?? entry.model,
|
|
3303
|
+
signal: controller.signal
|
|
3304
|
+
})
|
|
3305
|
+
}));
|
|
3306
|
+
});
|
|
3307
|
+
try {
|
|
3308
|
+
const winner = await Promise.any(racePromises);
|
|
3309
|
+
controller.abort();
|
|
3310
|
+
for await (const event of winner.stream) {
|
|
3311
|
+
emit(event);
|
|
3312
|
+
}
|
|
3313
|
+
} catch {
|
|
3314
|
+
emit({
|
|
3315
|
+
type: "error",
|
|
3316
|
+
error: new ElsiumError({
|
|
3317
|
+
code: "PROVIDER_ERROR",
|
|
3318
|
+
message: "All providers failed during streaming",
|
|
3319
|
+
retryable: false
|
|
3320
|
+
})
|
|
3321
|
+
});
|
|
3322
|
+
}
|
|
3323
|
+
});
|
|
3324
|
+
}
|
|
3325
|
+
function streamCapabilityAware(request) {
|
|
3326
|
+
const capabilities = detectRequiredCapabilities(request);
|
|
3327
|
+
const capable = filterCapableProviders(capabilities);
|
|
3328
|
+
if (capable.length === 0) {
|
|
3329
|
+
return streamWithFallback(sortedProviders, request);
|
|
3330
|
+
}
|
|
3331
|
+
return streamWithFallback(capable, request);
|
|
3332
|
+
}
|
|
3157
3333
|
return {
|
|
3158
3334
|
providers: sortedProviders.map((p) => p.name),
|
|
3159
3335
|
strategy: config.strategy,
|
|
@@ -3172,25 +3348,18 @@ function createProviderMesh(config) {
|
|
|
3172
3348
|
}
|
|
3173
3349
|
},
|
|
3174
3350
|
stream(request) {
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
message: "Circuit breaker is open",
|
|
3187
|
-
retryable: true
|
|
3188
|
-
});
|
|
3189
|
-
return new ElsiumStream(async function* () {
|
|
3190
|
-
yield { type: "error", error: err2 };
|
|
3191
|
-
}());
|
|
3351
|
+
switch (config.strategy) {
|
|
3352
|
+
case "fallback":
|
|
3353
|
+
return streamWithFallback(sortedProviders, request);
|
|
3354
|
+
case "cost-optimized":
|
|
3355
|
+
return streamCostOptimized(request);
|
|
3356
|
+
case "latency-optimized":
|
|
3357
|
+
return streamLatencyOptimized(request);
|
|
3358
|
+
case "capability-aware":
|
|
3359
|
+
return streamCapabilityAware(request);
|
|
3360
|
+
default:
|
|
3361
|
+
return streamWithFallback(sortedProviders, request);
|
|
3192
3362
|
}
|
|
3193
|
-
return resolvedStream;
|
|
3194
3363
|
}
|
|
3195
3364
|
};
|
|
3196
3365
|
}
|
|
@@ -3213,6 +3382,7 @@ export {
|
|
|
3213
3382
|
detectJailbreak,
|
|
3214
3383
|
createProviderMesh,
|
|
3215
3384
|
createOpenAIProvider,
|
|
3385
|
+
createOpenAICompatibleProvider,
|
|
3216
3386
|
createInMemoryCache,
|
|
3217
3387
|
createGoogleProvider,
|
|
3218
3388
|
createBulkhead,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ProviderConfig } from '@elsium-ai/core';
|
|
2
|
+
import type { LLMProvider } from '../provider';
|
|
3
|
+
export interface OpenAICompatibleConfig extends ProviderConfig {
|
|
4
|
+
baseUrl: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
defaultModel?: string;
|
|
7
|
+
capabilities?: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare function createOpenAICompatibleProvider(config: OpenAICompatibleConfig): LLMProvider;
|
|
10
|
+
//# sourceMappingURL=openai-compatible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAA;AAGhE,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,WAAW,CAmC1F"}
|
package/dist/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAEN,KAAK,oBAAoB,EAEzB,YAAY,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAEN,KAAK,oBAAoB,EAEzB,YAAY,EAGZ,MAAM,iBAAiB,CAAA;AAKxB,MAAM,MAAM,eAAe,GACxB,UAAU,GACV,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,CAAA;AAErB,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,WAAW,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,CACF,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,IAAI,CAAA;CACP;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,QAAQ,EAAE,eAAe,CAAA;IACzB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,cAAc,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAA;IAC/C,KAAK,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1D,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAA;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CAClC;AAoDD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAob3E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elsium-ai/gateway",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Multi-provider LLM gateway for ElsiumAI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Eric Utrera <ebutrera9103@gmail.com>",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"dev": "bun --watch src/index.ts"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@elsium-ai/core": "^0.
|
|
29
|
+
"@elsium-ai/core": "^0.8.0",
|
|
30
30
|
"zod": "^3.24.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|