cascade-ai 0.2.11 → 0.2.12
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 +81 -27
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +81 -27
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +53 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +53 -8
- package/dist/index.js.map +1 -1
- package/package.json +8 -5
package/dist/index.d.cts
CHANGED
|
@@ -1581,7 +1581,7 @@ declare class Telemetry {
|
|
|
1581
1581
|
shutdown(): Promise<void>;
|
|
1582
1582
|
}
|
|
1583
1583
|
|
|
1584
|
-
declare const CASCADE_VERSION = "0.2.
|
|
1584
|
+
declare const CASCADE_VERSION = "0.2.12";
|
|
1585
1585
|
declare const CASCADE_CONFIG_DIR = ".cascade";
|
|
1586
1586
|
declare const CASCADE_MD_FILE = "CASCADE.md";
|
|
1587
1587
|
declare const CASCADE_IGNORE_FILE = ".cascadeignore";
|
package/dist/index.d.ts
CHANGED
|
@@ -1581,7 +1581,7 @@ declare class Telemetry {
|
|
|
1581
1581
|
shutdown(): Promise<void>;
|
|
1582
1582
|
}
|
|
1583
1583
|
|
|
1584
|
-
declare const CASCADE_VERSION = "0.2.
|
|
1584
|
+
declare const CASCADE_VERSION = "0.2.12";
|
|
1585
1585
|
declare const CASCADE_CONFIG_DIR = ".cascade";
|
|
1586
1586
|
declare const CASCADE_MD_FILE = "CASCADE.md";
|
|
1587
1587
|
declare const CASCADE_IGNORE_FILE = ".cascadeignore";
|
package/dist/index.js
CHANGED
|
@@ -124,7 +124,7 @@ var require_keytar2 = __commonJS({
|
|
|
124
124
|
});
|
|
125
125
|
|
|
126
126
|
// src/constants.ts
|
|
127
|
-
var CASCADE_VERSION = "0.2.
|
|
127
|
+
var CASCADE_VERSION = "0.2.12";
|
|
128
128
|
var CASCADE_CONFIG_DIR = ".cascade";
|
|
129
129
|
var CASCADE_MD_FILE = "CASCADE.md";
|
|
130
130
|
var CASCADE_IGNORE_FILE = ".cascadeignore";
|
|
@@ -506,17 +506,38 @@ var AnthropicProvider = class extends BaseProvider {
|
|
|
506
506
|
messages,
|
|
507
507
|
tools: tools?.length ? tools : void 0
|
|
508
508
|
});
|
|
509
|
+
let isThinking = false;
|
|
509
510
|
for await (const event of stream) {
|
|
510
|
-
if (event.type === "content_block_delta"
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
511
|
+
if (event.type === "content_block_delta") {
|
|
512
|
+
if (event.delta.type === "thinking_delta") {
|
|
513
|
+
if (!isThinking) {
|
|
514
|
+
isThinking = true;
|
|
515
|
+
fullContent += "<think>\n";
|
|
516
|
+
onChunk({ text: "<think>\n", finishReason: null });
|
|
517
|
+
}
|
|
518
|
+
const text = event.delta.thinking;
|
|
519
|
+
fullContent += text;
|
|
520
|
+
onChunk({ text, finishReason: null });
|
|
521
|
+
} else if (event.delta.type === "text_delta") {
|
|
522
|
+
if (isThinking) {
|
|
523
|
+
isThinking = false;
|
|
524
|
+
fullContent += "\n</think>\n\n";
|
|
525
|
+
onChunk({ text: "\n</think>\n\n", finishReason: null });
|
|
526
|
+
}
|
|
527
|
+
const text = event.delta.text;
|
|
528
|
+
fullContent += text;
|
|
529
|
+
onChunk({ text, finishReason: null });
|
|
530
|
+
}
|
|
514
531
|
} else if (event.type === "message_delta" && event.usage) {
|
|
515
532
|
outputTokens = event.usage.output_tokens;
|
|
516
533
|
} else if (event.type === "message_start" && event.message.usage) {
|
|
517
534
|
inputTokens = event.message.usage.input_tokens;
|
|
518
535
|
}
|
|
519
536
|
}
|
|
537
|
+
if (isThinking) {
|
|
538
|
+
fullContent += "\n</think>\n\n";
|
|
539
|
+
onChunk({ text: "\n</think>\n\n", finishReason: null });
|
|
540
|
+
}
|
|
520
541
|
const finalMessage = await stream.finalMessage();
|
|
521
542
|
const toolCalls = finalMessage.content.filter((b) => b.type === "tool_use").map((b) => ({
|
|
522
543
|
id: b.id,
|
|
@@ -687,9 +708,25 @@ var OpenAIProvider = class extends BaseProvider {
|
|
|
687
708
|
}
|
|
688
709
|
}
|
|
689
710
|
const toolCallsMap = {};
|
|
711
|
+
let isThinking = false;
|
|
690
712
|
for await (const chunk of stream) {
|
|
691
713
|
const delta = chunk.choices[0]?.delta;
|
|
714
|
+
const reasoningContent = delta?.reasoning_content;
|
|
715
|
+
if (reasoningContent) {
|
|
716
|
+
if (!isThinking) {
|
|
717
|
+
isThinking = true;
|
|
718
|
+
fullContent += "<think>\n";
|
|
719
|
+
onChunk({ text: "<think>\n", finishReason: null });
|
|
720
|
+
}
|
|
721
|
+
fullContent += reasoningContent;
|
|
722
|
+
onChunk({ text: reasoningContent, finishReason: null });
|
|
723
|
+
}
|
|
692
724
|
if (delta?.content) {
|
|
725
|
+
if (isThinking) {
|
|
726
|
+
isThinking = false;
|
|
727
|
+
fullContent += "\n</think>\n\n";
|
|
728
|
+
onChunk({ text: "\n</think>\n\n", finishReason: null });
|
|
729
|
+
}
|
|
693
730
|
fullContent += delta.content;
|
|
694
731
|
onChunk({ text: delta.content, finishReason: null });
|
|
695
732
|
}
|
|
@@ -712,6 +749,10 @@ var OpenAIProvider = class extends BaseProvider {
|
|
|
712
749
|
outputTokens = chunk.usage.completion_tokens;
|
|
713
750
|
}
|
|
714
751
|
}
|
|
752
|
+
if (isThinking) {
|
|
753
|
+
fullContent += "\n</think>\n\n";
|
|
754
|
+
onChunk({ text: "\n</think>\n\n", finishReason: null });
|
|
755
|
+
}
|
|
715
756
|
const toolCalls = Object.values(toolCallsMap).map((tc) => {
|
|
716
757
|
let input = {};
|
|
717
758
|
try {
|
|
@@ -7388,6 +7429,7 @@ var ConfigManager = class {
|
|
|
7388
7429
|
}
|
|
7389
7430
|
}
|
|
7390
7431
|
async injectEnvKeys() {
|
|
7432
|
+
const isFirstRun = this.config.providers.length === 0;
|
|
7391
7433
|
const envProviders = [
|
|
7392
7434
|
{ env: "ANTHROPIC_API_KEY", type: "anthropic" },
|
|
7393
7435
|
{ env: "OPENAI_API_KEY", type: "openai" },
|
|
@@ -7398,10 +7440,13 @@ var ConfigManager = class {
|
|
|
7398
7440
|
const key = process.env[env];
|
|
7399
7441
|
if (!key) continue;
|
|
7400
7442
|
const existing = this.config.providers.find((p) => p.type === type);
|
|
7401
|
-
if (!existing)
|
|
7402
|
-
|
|
7443
|
+
if (!existing && isFirstRun) {
|
|
7444
|
+
this.config.providers.push({ type, apiKey: key });
|
|
7445
|
+
} else if (existing && !existing.apiKey) {
|
|
7446
|
+
existing.apiKey = key;
|
|
7447
|
+
}
|
|
7403
7448
|
}
|
|
7404
|
-
if (!this.config.providers.find((p) => p.type === "ollama")) {
|
|
7449
|
+
if (isFirstRun && !this.config.providers.find((p) => p.type === "ollama")) {
|
|
7405
7450
|
this.config.providers.push({ type: "ollama" });
|
|
7406
7451
|
}
|
|
7407
7452
|
}
|