@gendive/chatllm 0.17.16 → 0.17.17
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/react/index.mjs
CHANGED
|
@@ -2519,6 +2519,8 @@ ${finalContent}`;
|
|
|
2519
2519
|
}
|
|
2520
2520
|
abortControllerRef.current = new AbortController();
|
|
2521
2521
|
try {
|
|
2522
|
+
const shouldSkipSkillParsing = skipNextSkillParsingRef.current;
|
|
2523
|
+
skipNextSkillParsingRef.current = false;
|
|
2522
2524
|
let messagesToSend = [...existingMessages, userMessage];
|
|
2523
2525
|
const recompressionThreshold = DEFAULT_RECOMPRESSION_THRESHOLD;
|
|
2524
2526
|
const tokenLimit = DEFAULT_TOKEN_LIMIT;
|
|
@@ -2582,11 +2584,12 @@ ${part.result.content}`).join("\n\n");
|
|
|
2582
2584
|
if (attachmentContext) {
|
|
2583
2585
|
chatMessages.push({
|
|
2584
2586
|
role: "user",
|
|
2585
|
-
|
|
2587
|
+
/** @Todo vibecode - 원본 파일 재요청 방지 + skill_use 태그 사용 금지 명시 */
|
|
2588
|
+
content: `\uC0AC\uC6A9\uC790\uAC00 \uCCA8\uBD80\uD55C \uD30C\uC77C\uC758 \uBD84\uC11D \uACB0\uACFC\uC785\uB2C8\uB2E4. \uC6D0\uBCF8 \uD30C\uC77C \uB0B4\uC6A9\uC774 \uC774\uBBF8 \uC544\uB798\uC5D0 \uD3EC\uD568\uB418\uC5B4 \uC788\uC73C\uBBC0\uB85C \uC6D0\uBCF8 \uD30C\uC77C\uC744 \uB2E4\uC2DC \uC694\uCCAD\uD558\uC9C0 \uB9C8\uC138\uC694.
|
|
2586
2589
|
|
|
2587
2590
|
${attachmentContext}
|
|
2588
2591
|
|
|
2589
|
-
\uC704 \uACB0\uACFC\
|
|
2592
|
+
\uC704 \uBD84\uC11D \uACB0\uACFC\uB9CC\uC73C\uB85C \uC0AC\uC6A9\uC790\uC758 \uC9C8\uBB38\uC5D0 \uB2F5\uBCC0\uD574\uC8FC\uC138\uC694. skill_use \uD0DC\uADF8\uB294 \uC0AC\uC6A9\uD558\uC9C0 \uB9C8\uC138\uC694.`
|
|
2590
2593
|
});
|
|
2591
2594
|
}
|
|
2592
2595
|
}
|
|
@@ -2680,7 +2683,7 @@ ${attachmentContext}
|
|
|
2680
2683
|
const thinking = parsed.message?.thinking || "";
|
|
2681
2684
|
if (content2 || thinking) {
|
|
2682
2685
|
if (content2) accumulatedContent += content2;
|
|
2683
|
-
if (!
|
|
2686
|
+
if (!shouldSkipSkillParsing && accumulatedContent.includes("</skill_use>")) {
|
|
2684
2687
|
const endIdx = accumulatedContent.indexOf("</skill_use>");
|
|
2685
2688
|
accumulatedContent = accumulatedContent.substring(0, endIdx + "</skill_use>".length);
|
|
2686
2689
|
skillTagDetected = true;
|
|
@@ -2747,7 +2750,7 @@ ${attachmentContext}
|
|
|
2747
2750
|
} catch {
|
|
2748
2751
|
}
|
|
2749
2752
|
}
|
|
2750
|
-
if (!
|
|
2753
|
+
if (!shouldSkipSkillParsing) {
|
|
2751
2754
|
const assistantContent = accumulatedContent;
|
|
2752
2755
|
const { skillCall: detectedSkill, cleanContent: skillCleanContent } = parseSkillCallFromContent(assistantContent);
|
|
2753
2756
|
if (detectedSkill && resolvedSkills[detectedSkill.name]) {
|
|
@@ -2928,8 +2931,6 @@ ${result.content}
|
|
|
2928
2931
|
return;
|
|
2929
2932
|
}
|
|
2930
2933
|
}
|
|
2931
|
-
} else {
|
|
2932
|
-
skipNextSkillParsingRef.current = false;
|
|
2933
2934
|
}
|
|
2934
2935
|
setSessions(
|
|
2935
2936
|
(prev) => prev.map((s) => {
|