@gendive/chatllm 0.17.28 → 0.17.30
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.d.mts +10 -0
- package/dist/react/index.d.ts +10 -0
- package/dist/react/index.js +113 -3
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +113 -3
- package/dist/react/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/react/index.d.mts
CHANGED
|
@@ -1003,6 +1003,11 @@ interface MessageListProps {
|
|
|
1003
1003
|
* @Todo vibecode - pending 항목 스킵
|
|
1004
1004
|
*/
|
|
1005
1005
|
onChecklistSkip?: (messageId: string, stepIndex: number) => void;
|
|
1006
|
+
/**
|
|
1007
|
+
* @description 현재 실행 중인 스킬 정보 (도구 실행 로딩 표시용)
|
|
1008
|
+
* @Todo vibecode - 메시지 리스트 하단에 도구 실행 상태 인디케이터
|
|
1009
|
+
*/
|
|
1010
|
+
activeSkillExecution?: SkillExecution | null;
|
|
1006
1011
|
}
|
|
1007
1012
|
interface MessageBubbleProps {
|
|
1008
1013
|
message: ChatMessage;
|
|
@@ -1465,6 +1470,11 @@ interface UseChatUIOptions {
|
|
|
1465
1470
|
* @Todo vibecode - AI가 자동으로 선택지를 제공하도록 시스템 프롬프트에 가이드 추가
|
|
1466
1471
|
*/
|
|
1467
1472
|
enablePoll?: boolean;
|
|
1473
|
+
/**
|
|
1474
|
+
* @description AI 자동 실행형 체크리스트 기능 활성화 (기본: true)
|
|
1475
|
+
* @Todo vibecode - 복합 작업 시 AI가 <checklist> 태그로 단계별 실행 계획 제시
|
|
1476
|
+
*/
|
|
1477
|
+
enableChecklist?: boolean;
|
|
1468
1478
|
/**
|
|
1469
1479
|
* @description 커스텀 스킬 등록
|
|
1470
1480
|
* @Todo vibecode - AI가 자동/수동으로 활용하는 스킬 시스템
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1003,6 +1003,11 @@ interface MessageListProps {
|
|
|
1003
1003
|
* @Todo vibecode - pending 항목 스킵
|
|
1004
1004
|
*/
|
|
1005
1005
|
onChecklistSkip?: (messageId: string, stepIndex: number) => void;
|
|
1006
|
+
/**
|
|
1007
|
+
* @description 현재 실행 중인 스킬 정보 (도구 실행 로딩 표시용)
|
|
1008
|
+
* @Todo vibecode - 메시지 리스트 하단에 도구 실행 상태 인디케이터
|
|
1009
|
+
*/
|
|
1010
|
+
activeSkillExecution?: SkillExecution | null;
|
|
1006
1011
|
}
|
|
1007
1012
|
interface MessageBubbleProps {
|
|
1008
1013
|
message: ChatMessage;
|
|
@@ -1465,6 +1470,11 @@ interface UseChatUIOptions {
|
|
|
1465
1470
|
* @Todo vibecode - AI가 자동으로 선택지를 제공하도록 시스템 프롬프트에 가이드 추가
|
|
1466
1471
|
*/
|
|
1467
1472
|
enablePoll?: boolean;
|
|
1473
|
+
/**
|
|
1474
|
+
* @description AI 자동 실행형 체크리스트 기능 활성화 (기본: true)
|
|
1475
|
+
* @Todo vibecode - 복합 작업 시 AI가 <checklist> 태그로 단계별 실행 계획 제시
|
|
1476
|
+
*/
|
|
1477
|
+
enableChecklist?: boolean;
|
|
1468
1478
|
/**
|
|
1469
1479
|
* @description 커스텀 스킬 등록
|
|
1470
1480
|
* @Todo vibecode - AI가 자동/수동으로 활용하는 스킬 시스템
|
package/dist/react/index.js
CHANGED
|
@@ -1753,6 +1753,8 @@ var useChatUI = (options) => {
|
|
|
1753
1753
|
deepResearch,
|
|
1754
1754
|
// Poll options
|
|
1755
1755
|
enablePoll = true,
|
|
1756
|
+
// Checklist options
|
|
1757
|
+
enableChecklist = true,
|
|
1756
1758
|
// Skills options
|
|
1757
1759
|
skills,
|
|
1758
1760
|
// Tool options
|
|
@@ -2118,9 +2120,60 @@ ${projectMemoryContext}`);
|
|
|
2118
2120
|
- \uAC01 \uC9C8\uBB38\uC740 \uC11C\uB85C \uB2E4\uB978 \uB0B4\uC6A9
|
|
2119
2121
|
- \uC635\uC158\uB9C8\uB2E4 \uC9E7\uC740 \uC124\uBA85 \uD3EC\uD568
|
|
2120
2122
|
- \uC0AC\uC6A9\uC790\uAC00 \uBAA8\uB450 \uC120\uD0DD \uD6C4 \uC9C4\uD589`);
|
|
2123
|
+
}
|
|
2124
|
+
if (enableChecklist) {
|
|
2125
|
+
parts.push("");
|
|
2126
|
+
parts.push(`## \uCCB4\uD06C\uB9AC\uC2A4\uD2B8 \uC790\uB3D9 \uC2E4\uD589 \uAE30\uB2A5
|
|
2127
|
+
|
|
2128
|
+
**\uC911\uC694: \uC544\uB798 \uC870\uAC74\uC5D0 \uD574\uB2F9\uD558\uBA74 \uBC18\uB4DC\uC2DC <checklist> \uD0DC\uADF8\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.**
|
|
2129
|
+
|
|
2130
|
+
\uB2E4\uC74C \uC694\uCCAD\uC5D0\uB294 \uCCB4\uD06C\uB9AC\uC2A4\uD2B8\uB97C \uC0AC\uC6A9\uD558\uC138\uC694:
|
|
2131
|
+
- \uC5EC\uB7EC \uB300\uC0C1\uC744 \uAC80\uC0C9/\uC870\uC0AC\uD558\uB294 \uC694\uCCAD (\uC608: "A\uC640 B \uAC80\uC0C9\uD574\uC918", "XX \uAD00\uB828 \uC11C\uBE44\uC2A4 \uCC3E\uC544\uC918")
|
|
2132
|
+
- \uBE44\uAD50 \uBD84\uC11D \uC694\uCCAD (\uC608: "A\uC0AC\uC640 B\uC0AC \uBE44\uAD50\uD574\uC918")
|
|
2133
|
+
- \uBCF4\uACE0\uC11C/\uB9AC\uD3EC\uD2B8 \uC791\uC131 \uC694\uCCAD
|
|
2134
|
+
- 3\uB2E8\uACC4 \uC774\uC0C1\uC758 \uBCF5\uD569 \uC791\uC5C5
|
|
2135
|
+
|
|
2136
|
+
\uC2DC\uC2A4\uD15C\uC774 \uAC01 \uB2E8\uACC4\uB97C \uC790\uB3D9\uC73C\uB85C \uD558\uB098\uC529 \uC2E4\uD589\uD569\uB2C8\uB2E4. \uB2F9\uC2E0\uC740 \uACC4\uD68D\uB9CC \uC138\uC6B0\uBA74 \uB429\uB2C8\uB2E4.
|
|
2137
|
+
|
|
2138
|
+
**\uD615\uC2DD:**
|
|
2139
|
+
\uC9E7\uC740 \uC548\uB0B4 \uBA54\uC2DC\uC9C0
|
|
2140
|
+
|
|
2141
|
+
<checklist>
|
|
2142
|
+
<step>1\uB2E8\uACC4 \uC81C\uBAA9</step>
|
|
2143
|
+
<step>2\uB2E8\uACC4 \uC81C\uBAA9</step>
|
|
2144
|
+
<step>3\uB2E8\uACC4 \uC81C\uBAA9</step>
|
|
2145
|
+
</checklist>
|
|
2146
|
+
|
|
2147
|
+
**\uC608\uC2DC 1 - "\uB370\uBE0C\uB2E4\uC774\uBE0C\uC640 \uC820\uB2E4\uC774\uBE0C \uAC80\uC0C9\uD558\uACE0 \uBCF4\uACE0\uC11C \uC791\uC131\uD574\uC918":**
|
|
2148
|
+
\uB124, \uC870\uC0AC\uB97C \uC9C4\uD589\uD558\uACA0\uC2B5\uB2C8\uB2E4.
|
|
2149
|
+
|
|
2150
|
+
<checklist>
|
|
2151
|
+
<step>\uB370\uBE0C\uB2E4\uC774\uBE0C \uC11C\uBE44\uC2A4 \uC815\uBCF4 \uC870\uC0AC</step>
|
|
2152
|
+
<step>\uC820\uB2E4\uC774\uBE0C \uC11C\uBE44\uC2A4 \uC815\uBCF4 \uC870\uC0AC</step>
|
|
2153
|
+
<step>\uC720\uC0AC \uC11C\uBE44\uC2A4 \uC870\uC0AC</step>
|
|
2154
|
+
<step>\uBE44\uAD50 \uBD84\uC11D\uD45C \uC791\uC131</step>
|
|
2155
|
+
<step>\uC885\uD569 \uBCF4\uACE0\uC11C \uC791\uC131</step>
|
|
2156
|
+
</checklist>
|
|
2157
|
+
|
|
2158
|
+
**\uC608\uC2DC 2 - "\uC6B0\uB9AC \uC11C\uBE44\uC2A4 \uB9C8\uCF00\uD305 \uC804\uB7B5 \uC138\uC6CC\uC918":**
|
|
2159
|
+
\uB9C8\uCF00\uD305 \uC804\uB7B5\uC744 \uB2E8\uACC4\uBCC4\uB85C \uC218\uB9BD\uD558\uACA0\uC2B5\uB2C8\uB2E4.
|
|
2160
|
+
|
|
2161
|
+
<checklist>
|
|
2162
|
+
<step>\uD604\uC7AC \uC11C\uBE44\uC2A4 \uBD84\uC11D</step>
|
|
2163
|
+
<step>\uD0C0\uAC9F \uACE0\uAC1D \uC815\uC758</step>
|
|
2164
|
+
<step>\uACBD\uC7C1\uC0AC \uBCA4\uCE58\uB9C8\uD0B9</step>
|
|
2165
|
+
<step>\uB9C8\uCF00\uD305 \uC804\uB7B5 \uC218\uB9BD</step>
|
|
2166
|
+
</checklist>
|
|
2167
|
+
|
|
2168
|
+
**\uADDC\uCE59:**
|
|
2169
|
+
- 2~8\uB2E8\uACC4\uAC00 \uC801\uC808
|
|
2170
|
+
- \uAC01 \uB2E8\uACC4\uB294 \uAD6C\uCCB4\uC801\uC774\uACE0 \uC2E4\uD589 \uAC00\uB2A5\uD55C \uC791\uC5C5
|
|
2171
|
+
- \uB2E8\uC21C \uC9C8\uBB38\uC774\uB098 \uD55C \uBC88\uC5D0 \uB2F5\uD560 \uC218 \uC788\uB294 \uC694\uCCAD\uC5D0\uB294 \uC0AC\uC6A9 \uAE08\uC9C0
|
|
2172
|
+
- <checklist> \uD0DC\uADF8 \uC55E\uC5D0 \uBC18\uB4DC\uC2DC \uC9E7\uC740 \uC548\uB0B4 \uBA54\uC2DC\uC9C0\uB97C \uD3EC\uD568\uD558\uC138\uC694
|
|
2173
|
+
- \uCCB4\uD06C\uB9AC\uC2A4\uD2B8 \uD0DC\uADF8 \uB4A4\uC5D0 \uCD94\uAC00 \uD14D\uC2A4\uD2B8\uB97C \uC791\uC131\uD558\uC9C0 \uB9C8\uC138\uC694`);
|
|
2121
2174
|
}
|
|
2122
2175
|
return parts.length > 0 ? parts.join("\n") : "";
|
|
2123
|
-
}, [personalization, globalMemory, useGlobalMemoryEnabled, enablePoll, buildSkillsPrompt, enableProjects, projectHook.currentProject, projectMemory]);
|
|
2176
|
+
}, [personalization, globalMemory, useGlobalMemoryEnabled, enablePoll, enableChecklist, buildSkillsPrompt, enableProjects, projectHook.currentProject, projectMemory]);
|
|
2124
2177
|
const compressContext = (0, import_react5.useCallback)(async (messagesToCompress, model) => {
|
|
2125
2178
|
const conversationText = messagesToCompress.map((m) => `${m.role === "user" ? "\uC0AC\uC6A9\uC790" : "AI"}: ${m.content}`).join("\n\n");
|
|
2126
2179
|
const summaryPrompt = `\uB2E4\uC74C \uB300\uD654 \uB0B4\uC6A9\uC744 \uD575\uC2EC \uC815\uBCF4\uB9CC \uC720\uC9C0\uD558\uBA74\uC11C \uAC04\uACB0\uD558\uAC8C \uC694\uC57D\uD574\uC8FC\uC138\uC694.
|
|
@@ -9697,7 +9750,8 @@ var MessageList = ({
|
|
|
9697
9750
|
onPollSubmit,
|
|
9698
9751
|
onChecklistAbort,
|
|
9699
9752
|
onChecklistRetry,
|
|
9700
|
-
onChecklistSkip
|
|
9753
|
+
onChecklistSkip,
|
|
9754
|
+
activeSkillExecution
|
|
9701
9755
|
}) => {
|
|
9702
9756
|
const messagesEndRef = (0, import_react18.useRef)(null);
|
|
9703
9757
|
const containerRef = (0, import_react18.useRef)(null);
|
|
@@ -9819,6 +9873,61 @@ var MessageList = ({
|
|
|
9819
9873
|
message.id
|
|
9820
9874
|
);
|
|
9821
9875
|
}),
|
|
9876
|
+
activeSkillExecution && activeSkillExecution.status === "executing" && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
9877
|
+
"div",
|
|
9878
|
+
{
|
|
9879
|
+
style: {
|
|
9880
|
+
display: "flex",
|
|
9881
|
+
alignItems: "center",
|
|
9882
|
+
gap: "10px",
|
|
9883
|
+
padding: "12px 20px",
|
|
9884
|
+
margin: "8px auto",
|
|
9885
|
+
maxWidth: "680px",
|
|
9886
|
+
width: "100%"
|
|
9887
|
+
},
|
|
9888
|
+
children: [
|
|
9889
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
9890
|
+
"div",
|
|
9891
|
+
{
|
|
9892
|
+
style: {
|
|
9893
|
+
width: "20px",
|
|
9894
|
+
height: "20px",
|
|
9895
|
+
borderRadius: "50%",
|
|
9896
|
+
border: "2px solid var(--chatllm-primary, #3584FA)",
|
|
9897
|
+
borderTopColor: "transparent",
|
|
9898
|
+
animation: "chatllm-spin 0.8s linear infinite",
|
|
9899
|
+
flexShrink: 0
|
|
9900
|
+
}
|
|
9901
|
+
}
|
|
9902
|
+
),
|
|
9903
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
9904
|
+
"span",
|
|
9905
|
+
{
|
|
9906
|
+
style: {
|
|
9907
|
+
fontSize: "13px",
|
|
9908
|
+
fontWeight: 500,
|
|
9909
|
+
color: "var(--chatllm-text-muted, #94a3b8)"
|
|
9910
|
+
},
|
|
9911
|
+
children: activeSkillExecution.progress?.phaseLabel || `${activeSkillExecution.skillName} \uC2E4\uD589 \uC911...`
|
|
9912
|
+
}
|
|
9913
|
+
),
|
|
9914
|
+
activeSkillExecution.progress?.percentage != null && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
9915
|
+
"span",
|
|
9916
|
+
{
|
|
9917
|
+
style: {
|
|
9918
|
+
fontSize: "12px",
|
|
9919
|
+
color: "var(--chatllm-primary, #3584FA)",
|
|
9920
|
+
fontWeight: 600
|
|
9921
|
+
},
|
|
9922
|
+
children: [
|
|
9923
|
+
activeSkillExecution.progress.percentage,
|
|
9924
|
+
"%"
|
|
9925
|
+
]
|
|
9926
|
+
}
|
|
9927
|
+
)
|
|
9928
|
+
]
|
|
9929
|
+
}
|
|
9930
|
+
),
|
|
9822
9931
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { ref: messagesEndRef })
|
|
9823
9932
|
]
|
|
9824
9933
|
}
|
|
@@ -11978,7 +12087,8 @@ var ChatUIView = ({
|
|
|
11978
12087
|
onPollSubmit: handlePollSubmit,
|
|
11979
12088
|
onChecklistAbort: handleChecklistAbort,
|
|
11980
12089
|
onChecklistRetry: handleChecklistRetry,
|
|
11981
|
-
onChecklistSkip: handleChecklistSkip
|
|
12090
|
+
onChecklistSkip: handleChecklistSkip,
|
|
12091
|
+
activeSkillExecution
|
|
11982
12092
|
}
|
|
11983
12093
|
),
|
|
11984
12094
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|