@gendive/chatllm 0.17.39 → 0.17.41

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.
@@ -2669,6 +2669,7 @@ ${finalContent}`;
2669
2669
  const shouldSkipSkillParsing = skipNextSkillParsingRef.current;
2670
2670
  skipNextSkillParsingRef.current = false;
2671
2671
  let accumulatedContent = "";
2672
+ let checklistStepImageUrl = null;
2672
2673
  let messagesToSend = [...existingMessages, userMessage];
2673
2674
  const recompressionThreshold = DEFAULT_RECOMPRESSION_THRESHOLD;
2674
2675
  const tokenLimit = DEFAULT_TOKEN_LIMIT;
@@ -2979,7 +2980,12 @@ ${attachmentContext}
2979
2980
  }, attachExtra);
2980
2981
  pendingAttachmentDataRef.current = null;
2981
2982
  if (skillResult?.content) {
2982
- accumulatedContent = skillResult.content;
2983
+ if (skillResult.metadata?.type === "image") {
2984
+ accumulatedContent = skillResult.metadata?.outputText || "\uC774\uBBF8\uC9C0 \uC0DD\uC131 \uC644\uB8CC";
2985
+ checklistStepImageUrl = skillResult.content;
2986
+ } else {
2987
+ accumulatedContent = skillResult.content;
2988
+ }
2983
2989
  }
2984
2990
  } catch (e) {
2985
2991
  console.warn("[useChatUI] \uCCB4\uD06C\uB9AC\uC2A4\uD2B8 \uB0B4 \uC2A4\uD0AC \uC2E4\uD589 \uC2E4\uD328:", e);
@@ -3074,6 +3080,7 @@ ${attachmentContext}
3074
3080
  if (m.id !== assistantMessageId) return m;
3075
3081
  return {
3076
3082
  ...m,
3083
+ content: "",
3077
3084
  contentParts: parts,
3078
3085
  skillExecution: {
3079
3086
  ...m.skillExecution,
@@ -3145,6 +3152,7 @@ ${result.content}
3145
3152
  if (m.id !== assistantMessageId) return m;
3146
3153
  return {
3147
3154
  ...m,
3155
+ content: "",
3148
3156
  contentParts: imgFileParts,
3149
3157
  skillExecution: {
3150
3158
  ...m.skillExecution,
@@ -3252,7 +3260,9 @@ ${result.content}
3252
3260
  const updatedItems = m.checklistBlock.items.map((it, idx) => ({
3253
3261
  ...it,
3254
3262
  status: idx <= stepIndex ? "done" : it.status,
3255
- result: idx === stepIndex ? accumulatedContent : it.result
3263
+ result: idx === stepIndex ? accumulatedContent : it.result,
3264
+ /** @Todo vibecode - 이미지 스킬 결과 URL 저장 */
3265
+ ...idx === stepIndex && checklistStepImageUrl ? { imageUrl: checklistStepImageUrl } : {}
3256
3266
  }));
3257
3267
  return {
3258
3268
  ...m,
@@ -9054,7 +9064,7 @@ var ChecklistCard = ({
9054
9064
  ]
9055
9065
  }
9056
9066
  ),
9057
- canExpand && isExpanded && /* @__PURE__ */ jsx15(
9067
+ canExpand && isExpanded && /* @__PURE__ */ jsxs14(
9058
9068
  "div",
9059
9069
  {
9060
9070
  style: {
@@ -9070,7 +9080,21 @@ var ChecklistCard = ({
9070
9080
  whiteSpace: "pre-wrap",
9071
9081
  wordBreak: "break-word"
9072
9082
  },
9073
- children: item.result
9083
+ children: [
9084
+ item.imageUrl && /* @__PURE__ */ jsx15(
9085
+ "img",
9086
+ {
9087
+ src: item.imageUrl,
9088
+ alt: item.result || "\uC0DD\uC131\uB41C \uC774\uBBF8\uC9C0",
9089
+ style: {
9090
+ maxWidth: "100%",
9091
+ borderRadius: "8px",
9092
+ marginBottom: item.result ? "8px" : 0
9093
+ }
9094
+ }
9095
+ ),
9096
+ item.result
9097
+ ]
9074
9098
  }
9075
9099
  )
9076
9100
  ] }, item.id);