cascade-ai 0.12.19 → 0.12.21
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/cli.cjs +222 -142
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +222 -142
- package/dist/cli.js.map +1 -1
- package/dist/desktop-core.cjs +10 -8
- package/dist/index.cjs +10 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/desktop-core.cjs
CHANGED
|
@@ -222452,7 +222452,7 @@ Anthropic.Models = Models2;
|
|
|
222452
222452
|
Anthropic.Beta = Beta;
|
|
222453
222453
|
|
|
222454
222454
|
// src/constants.ts
|
|
222455
|
-
var CASCADE_VERSION = "0.12.
|
|
222455
|
+
var CASCADE_VERSION = "0.12.21";
|
|
222456
222456
|
var CASCADE_CONFIG_DIR = ".cascade";
|
|
222457
222457
|
var CASCADE_MD_FILE = "CASCADE.md";
|
|
222458
222458
|
var CASCADE_IGNORE_FILE = ".cascadeignore";
|
|
@@ -249421,8 +249421,7 @@ try {
|
|
|
249421
249421
|
} catch {
|
|
249422
249422
|
}
|
|
249423
249423
|
function preferIpv4Host(url) {
|
|
249424
|
-
|
|
249425
|
-
return url.replace(/^(https?:\/\/)localhost(?=[:/]|$)/i, "$1127.0.0.1");
|
|
249424
|
+
return url;
|
|
249426
249425
|
}
|
|
249427
249426
|
var MAX_REDIRECTS = 5;
|
|
249428
249427
|
async function nodeHttpFetch(input, init2 = {}, redirectCount = 0) {
|
|
@@ -249697,7 +249696,7 @@ var OllamaProvider = class extends BaseProvider {
|
|
|
249697
249696
|
// src/providers/openai-compatible.ts
|
|
249698
249697
|
var OpenAICompatibleProvider = class extends OpenAIProvider {
|
|
249699
249698
|
constructor(config2, model) {
|
|
249700
|
-
super(config2, model);
|
|
249699
|
+
super({ ...config2, apiKey: config2.apiKey ?? "not-required" }, model);
|
|
249701
249700
|
this.client = new openai_default({
|
|
249702
249701
|
apiKey: config2.apiKey ?? "not-required",
|
|
249703
249702
|
baseURL: preferIpv4Host(config2.baseUrl),
|
|
@@ -250583,10 +250582,10 @@ var CascadeRouter = class _CascadeRouter extends EventEmitter__default.default {
|
|
|
250583
250582
|
if (availableProviders.has("ollama")) {
|
|
250584
250583
|
await this.discoverOllamaModels(ollamaCfg);
|
|
250585
250584
|
}
|
|
250586
|
-
|
|
250587
|
-
|
|
250588
|
-
|
|
250589
|
-
);
|
|
250585
|
+
const ocConfigs = config2.providers.filter((p3) => p3.type === "openai-compatible" && p3.baseUrl);
|
|
250586
|
+
if (ocConfigs.length > 0) {
|
|
250587
|
+
const results = await Promise.all(ocConfigs.map((cfg) => this.discoverOpenAICompatibleModels(cfg)));
|
|
250588
|
+
if (results.some(Boolean)) this.selector.markProviderAvailable("openai-compatible");
|
|
250590
250589
|
}
|
|
250591
250590
|
for (const tier of ["T1", "T2", "T3"]) {
|
|
250592
250591
|
const override = tier === "T1" ? config2.models.t1 : tier === "T2" ? config2.models.t2 : config2.models.t3;
|
|
@@ -251057,6 +251056,7 @@ var CascadeRouter = class _CascadeRouter extends EventEmitter__default.default {
|
|
|
251057
251056
|
} catch {
|
|
251058
251057
|
}
|
|
251059
251058
|
}
|
|
251059
|
+
/** Returns true when at least one real model was discovered from the endpoint. */
|
|
251060
251060
|
async discoverOpenAICompatibleModels(cfg) {
|
|
251061
251061
|
try {
|
|
251062
251062
|
const seed = {
|
|
@@ -251076,8 +251076,10 @@ var CascadeRouter = class _CascadeRouter extends EventEmitter__default.default {
|
|
|
251076
251076
|
for (const m3 of models) {
|
|
251077
251077
|
this.selector.addDynamicModel(m3);
|
|
251078
251078
|
}
|
|
251079
|
+
return models.length > 0;
|
|
251079
251080
|
} catch (err) {
|
|
251080
251081
|
console.warn("[router] OpenAI-compatible model discovery failed:", err instanceof Error ? err.message : err);
|
|
251082
|
+
return false;
|
|
251081
251083
|
}
|
|
251082
251084
|
}
|
|
251083
251085
|
ensureProvider(model, configs) {
|
package/dist/index.cjs
CHANGED
|
@@ -85,7 +85,7 @@ var cron__default = /*#__PURE__*/_interopDefault(cron);
|
|
|
85
85
|
|
|
86
86
|
|
|
87
87
|
// src/constants.ts
|
|
88
|
-
var CASCADE_VERSION = "0.12.
|
|
88
|
+
var CASCADE_VERSION = "0.12.21";
|
|
89
89
|
var CASCADE_CONFIG_DIR = ".cascade";
|
|
90
90
|
var CASCADE_MD_FILE = "CASCADE.md";
|
|
91
91
|
var CASCADE_IGNORE_FILE = ".cascadeignore";
|
|
@@ -1151,8 +1151,7 @@ try {
|
|
|
1151
1151
|
} catch {
|
|
1152
1152
|
}
|
|
1153
1153
|
function preferIpv4Host(url) {
|
|
1154
|
-
|
|
1155
|
-
return url.replace(/^(https?:\/\/)localhost(?=[:/]|$)/i, "$1127.0.0.1");
|
|
1154
|
+
return url;
|
|
1156
1155
|
}
|
|
1157
1156
|
var MAX_REDIRECTS = 5;
|
|
1158
1157
|
async function nodeHttpFetch(input, init = {}, redirectCount = 0) {
|
|
@@ -1425,7 +1424,7 @@ var OllamaProvider = class extends BaseProvider {
|
|
|
1425
1424
|
};
|
|
1426
1425
|
var OpenAICompatibleProvider = class extends OpenAIProvider {
|
|
1427
1426
|
constructor(config, model) {
|
|
1428
|
-
super(config, model);
|
|
1427
|
+
super({ ...config, apiKey: config.apiKey ?? "not-required" }, model);
|
|
1429
1428
|
this.client = new OpenAI__default.default({
|
|
1430
1429
|
apiKey: config.apiKey ?? "not-required",
|
|
1431
1430
|
baseURL: preferIpv4Host(config.baseUrl),
|
|
@@ -2311,10 +2310,10 @@ var CascadeRouter = class _CascadeRouter extends EventEmitter__default.default {
|
|
|
2311
2310
|
if (availableProviders.has("ollama")) {
|
|
2312
2311
|
await this.discoverOllamaModels(ollamaCfg);
|
|
2313
2312
|
}
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
);
|
|
2313
|
+
const ocConfigs = config.providers.filter((p) => p.type === "openai-compatible" && p.baseUrl);
|
|
2314
|
+
if (ocConfigs.length > 0) {
|
|
2315
|
+
const results = await Promise.all(ocConfigs.map((cfg) => this.discoverOpenAICompatibleModels(cfg)));
|
|
2316
|
+
if (results.some(Boolean)) this.selector.markProviderAvailable("openai-compatible");
|
|
2318
2317
|
}
|
|
2319
2318
|
for (const tier of ["T1", "T2", "T3"]) {
|
|
2320
2319
|
const override = tier === "T1" ? config.models.t1 : tier === "T2" ? config.models.t2 : config.models.t3;
|
|
@@ -2785,6 +2784,7 @@ var CascadeRouter = class _CascadeRouter extends EventEmitter__default.default {
|
|
|
2785
2784
|
} catch {
|
|
2786
2785
|
}
|
|
2787
2786
|
}
|
|
2787
|
+
/** Returns true when at least one real model was discovered from the endpoint. */
|
|
2788
2788
|
async discoverOpenAICompatibleModels(cfg) {
|
|
2789
2789
|
try {
|
|
2790
2790
|
const seed = {
|
|
@@ -2804,8 +2804,10 @@ var CascadeRouter = class _CascadeRouter extends EventEmitter__default.default {
|
|
|
2804
2804
|
for (const m of models) {
|
|
2805
2805
|
this.selector.addDynamicModel(m);
|
|
2806
2806
|
}
|
|
2807
|
+
return models.length > 0;
|
|
2807
2808
|
} catch (err) {
|
|
2808
2809
|
console.warn("[router] OpenAI-compatible model discovery failed:", err instanceof Error ? err.message : err);
|
|
2810
|
+
return false;
|
|
2809
2811
|
}
|
|
2810
2812
|
}
|
|
2811
2813
|
ensureProvider(model, configs) {
|