@molecule/app-ide-react 1.3.2 → 1.3.4
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/command-metadata.js +3 -3
- package/dist/command-metadata.js.map +1 -1
- package/dist/components/ChatPanel.d.ts +0 -6
- package/dist/components/ChatPanel.d.ts.map +1 -1
- package/dist/components/ChatPanel.js +160 -103
- package/dist/components/ChatPanel.js.map +1 -1
- package/dist/components/ScriptsCard.d.ts.map +1 -1
- package/dist/components/ScriptsCard.js +55 -5
- package/dist/components/ScriptsCard.js.map +1 -1
- package/dist/components/ShareModal.d.ts.map +1 -1
- package/dist/components/ShareModal.js +12 -1
- package/dist/components/ShareModal.js.map +1 -1
- package/dist/components/chat-scripts-utilities.d.ts +49 -4
- package/dist/components/chat-scripts-utilities.d.ts.map +1 -1
- package/dist/components/chat-scripts-utilities.js +46 -5
- package/dist/components/chat-scripts-utilities.js.map +1 -1
- package/package.json +2 -2
package/dist/command-metadata.js
CHANGED
|
@@ -84,16 +84,16 @@ export const COMMANDS = [
|
|
|
84
84
|
{
|
|
85
85
|
id: 'scripts',
|
|
86
86
|
label: '/scripts',
|
|
87
|
-
description: 'Browse & run saved
|
|
87
|
+
description: 'Browse & run saved scripts and built-in actions',
|
|
88
88
|
category: 'code',
|
|
89
89
|
usage: '/scripts [query]',
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
id: 'run',
|
|
93
93
|
label: '/run',
|
|
94
|
-
description: 'Run a saved script by name',
|
|
94
|
+
description: 'Run a saved script or built-in by name',
|
|
95
95
|
category: 'code',
|
|
96
|
-
usage: '/run <name>',
|
|
96
|
+
usage: '/run <name> [--option value]',
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
id: 'autocommit',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-metadata.js","sourceRoot":"","sources":["../src/command-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAcH,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACpC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAC9B,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC5C,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAChC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACtC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;CAC5B,CAAA;AAyBV;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA0B;IAC7C,UAAU;IACV,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,SAAS,EAAE;IACxF;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,iBAAiB;KACzB;IAED,OAAO;IACP,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE;IAC3F;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,0BAA0B;KAClC;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,cAAc;KACtB;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,wBAAwB;QACrC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,cAAc;KACtB;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"command-metadata.js","sourceRoot":"","sources":["../src/command-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,12 +52,6 @@ export declare function CommitCardItem({ card, onRevert, }: {
|
|
|
52
52
|
/** Props for the memoized per-message timeline row (see {@link MessageItem}). */
|
|
53
53
|
export interface MessageItemProps {
|
|
54
54
|
msg: ChatMessage;
|
|
55
|
-
editingQueuedId: string | null;
|
|
56
|
-
editingQueuedText: string;
|
|
57
|
-
setEditingQueuedId: React.Dispatch<React.SetStateAction<string | null>>;
|
|
58
|
-
setEditingQueuedText: React.Dispatch<React.SetStateAction<string>>;
|
|
59
|
-
editQueuedMessage: (id: string, content: string) => void;
|
|
60
|
-
deleteQueuedMessage: (id: string) => void;
|
|
61
55
|
sendMessage: (msg: string) => void;
|
|
62
56
|
handleAskUserResponse: (response: string) => void;
|
|
63
57
|
isLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/components/ChatPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAA;AAY3C,OAAO,KAAK,EAAa,WAAW,EAAmB,MAAM,uBAAuB,CAAA;AAuCpF,OAAO,KAAK,EAAE,cAAc,EAAoB,eAAe,EAAE,MAAM,aAAa,CAAA;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AA0BvD,OAAO,KAAK,EAAsB,SAAS,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/components/ChatPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ import { buildHelpText } from './chat-help-utilities.js';
|
|
|
24
24
|
import { effectiveModeModelId, freeTierLockReason, freeTierUsableMode, isModeModelLocked, modeSettingKey, parseModelModeCommand, resolveModeModel, } from './chat-model-mode-utilities.js';
|
|
25
25
|
import { modelHasPeakPricing, modelPeakMultiplier, modelPeakWindowLabels, modelUsageRate, sortModels, } from './chat-models-utilities.js';
|
|
26
26
|
import { formatReportConfirmation, parseReportCommand } from './chat-report-utilities.js';
|
|
27
|
-
import { findScriptByName, formatRunOutput, parseRunCommand, parseScriptsCommand, runSucceeded, } from './chat-scripts-utilities.js';
|
|
27
|
+
import { findScriptByName, formatRunOutput, missingRequiredParams, parseRunCommand, parseScriptsCommand, runSucceeded, } from './chat-scripts-utilities.js';
|
|
28
28
|
import { buildSettingsList, summarizeSounds } from './chat-settings-utilities.js';
|
|
29
29
|
import { buildShareUrl, DEFAULT_SHARE_ROLE, parseShareCommand, SHARE_ROLES, } from './chat-share-utilities.js';
|
|
30
30
|
import { buildNewSkillTemplate, loadProjectSkills, newSkillPath, parseSkillMeta, pickRelevantSkill, recentUserText, } from './chat-skills-utilities.js';
|
|
@@ -928,7 +928,7 @@ export function CommitCardItem({ card, onRevert, }) {
|
|
|
928
928
|
* @returns The rendered message item.
|
|
929
929
|
*/
|
|
930
930
|
const MessageItem = memo(function MessageItem(props) {
|
|
931
|
-
const { msg,
|
|
931
|
+
const { msg, sendMessage, handleAskUserResponse, isLoading, streamingStatus, onNavigatePreview, undoneTcIds, handleUndoToggle, onFileOpen, onFileDoubleClick, onFileDiff, handleFileRevert, setInputAndCursorEnd, setModelPicker, userAvatar, onAvatarClick, discovery, buildUpgradeCta, } = props;
|
|
932
932
|
const cm = getClassMap();
|
|
933
933
|
const themeMode = useThemeMode();
|
|
934
934
|
const isLight = themeMode === 'light';
|
|
@@ -984,101 +984,7 @@ const MessageItem = memo(function MessageItem(props) {
|
|
|
984
984
|
? '\uD83C\uDFB5'
|
|
985
985
|
: att.mediaType.startsWith('video/')
|
|
986
986
|
? '\uD83C\uDFA5'
|
|
987
|
-
: '\uD83D\uDCC4', ' ', att.filename, _jsxs("span", { style: { fontSize: 10, opacity: 0.7 }, children: ["(", formatSize(att.size), ")"] })] }, ai))) }))
|
|
988
|
-
if (e.key === 'Enter' && !e.shiftKey) {
|
|
989
|
-
e.preventDefault();
|
|
990
|
-
const trimmed = editingQueuedText.trim();
|
|
991
|
-
if (trimmed)
|
|
992
|
-
editQueuedMessage(msg.id, trimmed);
|
|
993
|
-
else
|
|
994
|
-
deleteQueuedMessage(msg.id);
|
|
995
|
-
setEditingQueuedId(null);
|
|
996
|
-
}
|
|
997
|
-
if (e.key === 'Escape')
|
|
998
|
-
setEditingQueuedId(null);
|
|
999
|
-
}, className: cm.cn(cm.surface, cm.textSize('sm')), style: {
|
|
1000
|
-
width: '100%',
|
|
1001
|
-
minHeight: '60px',
|
|
1002
|
-
padding: '8px 10px',
|
|
1003
|
-
border: `1px solid ${borderClr}`,
|
|
1004
|
-
borderRadius: '6px',
|
|
1005
|
-
resize: 'vertical',
|
|
1006
|
-
color: 'inherit',
|
|
1007
|
-
fontFamily: 'inherit',
|
|
1008
|
-
} }), _jsxs("div", { style: { display: 'flex', gap: 6, justifyContent: 'flex-end' }, children: [_jsx("button", { type: "button", onClick: () => setEditingQueuedId(null), className: cm.textSize('xs'), style: {
|
|
1009
|
-
padding: '4px 12px',
|
|
1010
|
-
border: `1px solid ${borderClr}`,
|
|
1011
|
-
borderRadius: '4px',
|
|
1012
|
-
background: 'transparent',
|
|
1013
|
-
color: 'inherit',
|
|
1014
|
-
cursor: 'pointer',
|
|
1015
|
-
}, children: t('common.cancel', undefined, { defaultValue: 'Cancel' }) }), _jsx("button", { type: "button", onClick: () => {
|
|
1016
|
-
const trimmed = editingQueuedText.trim();
|
|
1017
|
-
if (trimmed)
|
|
1018
|
-
editQueuedMessage(msg.id, trimmed);
|
|
1019
|
-
else
|
|
1020
|
-
deleteQueuedMessage(msg.id);
|
|
1021
|
-
setEditingQueuedId(null);
|
|
1022
|
-
}, className: cm.textSize('xs'), style: {
|
|
1023
|
-
padding: '4px 12px',
|
|
1024
|
-
border: `1px solid ${borderClr}`,
|
|
1025
|
-
borderRadius: '4px',
|
|
1026
|
-
background: 'rgba(128,128,128,0.1)',
|
|
1027
|
-
color: 'inherit',
|
|
1028
|
-
cursor: 'pointer',
|
|
1029
|
-
}, children: t('common.save', undefined, { defaultValue: 'Save' }) })] })] })) : (_jsxs("div", { style: {
|
|
1030
|
-
display: 'flex',
|
|
1031
|
-
alignItems: 'center',
|
|
1032
|
-
justifyContent: 'flex-end',
|
|
1033
|
-
gap: 6,
|
|
1034
|
-
paddingRight: 4,
|
|
1035
|
-
}, children: [_jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { fontStyle: 'italic', marginRight: 'auto' }, children: t('ide.chat.queued', undefined, { defaultValue: 'Queued' }) }), _jsx("button", { type: "button", onClick: () => {
|
|
1036
|
-
setEditingQueuedId(msg.id);
|
|
1037
|
-
setEditingQueuedText(msg.content);
|
|
1038
|
-
}, className: cm.textSize('xs'), style: {
|
|
1039
|
-
padding: '3px 10px',
|
|
1040
|
-
border: `1px solid ${borderClr}`,
|
|
1041
|
-
borderRadius: '4px',
|
|
1042
|
-
background: 'rgba(128,128,128,0.1)',
|
|
1043
|
-
color: 'inherit',
|
|
1044
|
-
cursor: 'pointer',
|
|
1045
|
-
fontWeight: 500,
|
|
1046
|
-
transition: 'background 100ms',
|
|
1047
|
-
}, onMouseEnter: (e) => {
|
|
1048
|
-
e.currentTarget.style.background = 'rgba(128,128,128,0.2)';
|
|
1049
|
-
}, onMouseLeave: (e) => {
|
|
1050
|
-
e.currentTarget.style.background = 'rgba(128,128,128,0.1)';
|
|
1051
|
-
}, children: t('ide.chat.editQueued', undefined, { defaultValue: 'Edit' }) }), _jsx("button", { type: "button", onClick: () => deleteQueuedMessage(msg.id), className: cm.textSize('xs'), style: {
|
|
1052
|
-
padding: '3px 10px',
|
|
1053
|
-
border: '1px solid rgba(220,38,38,0.3)',
|
|
1054
|
-
borderRadius: '4px',
|
|
1055
|
-
background: 'rgba(220,38,38,0.08)',
|
|
1056
|
-
color: isLight ? 'rgb(185,28,28)' : 'rgb(248,113,113)',
|
|
1057
|
-
cursor: 'pointer',
|
|
1058
|
-
fontWeight: 500,
|
|
1059
|
-
transition: 'background 100ms',
|
|
1060
|
-
}, onMouseEnter: (e) => {
|
|
1061
|
-
e.currentTarget.style.background = 'rgba(220,38,38,0.18)';
|
|
1062
|
-
}, onMouseLeave: (e) => {
|
|
1063
|
-
e.currentTarget.style.background = 'rgba(220,38,38,0.08)';
|
|
1064
|
-
}, children: t('ide.chat.deleteQueued', undefined, { defaultValue: 'Delete' }) }), !isLoading && (_jsx("button", { type: "button", onClick: () => {
|
|
1065
|
-
const content = msg.content;
|
|
1066
|
-
deleteQueuedMessage(msg.id);
|
|
1067
|
-
sendMessage(content);
|
|
1068
|
-
}, className: cm.textSize('xs'), style: {
|
|
1069
|
-
padding: '3px 10px',
|
|
1070
|
-
border: '1px solid rgba(34,197,94,0.4)',
|
|
1071
|
-
borderRadius: '4px',
|
|
1072
|
-
background: 'rgba(34,197,94,0.12)',
|
|
1073
|
-
color: isLight ? 'rgb(21,128,61)' : 'rgb(74,222,128)',
|
|
1074
|
-
cursor: 'pointer',
|
|
1075
|
-
fontWeight: 500,
|
|
1076
|
-
transition: 'background 100ms',
|
|
1077
|
-
}, onMouseEnter: (e) => {
|
|
1078
|
-
e.currentTarget.style.background = 'rgba(34,197,94,0.22)';
|
|
1079
|
-
}, onMouseLeave: (e) => {
|
|
1080
|
-
e.currentTarget.style.background = 'rgba(34,197,94,0.12)';
|
|
1081
|
-
}, children: t('ide.chat.sendQueued', undefined, { defaultValue: 'Send' }) }))] })) }))] })] })) : (_jsxs("div", { children: [msg.blocks && msg.blocks.length > 0 ? (msg.blocks.map((block, bi) => {
|
|
987
|
+
: '\uD83D\uDCC4', ' ', att.filename, _jsxs("span", { style: { fontSize: 10, opacity: 0.7 }, children: ["(", formatSize(att.size), ")"] })] }, ai))) }))] })] })) : (_jsxs("div", { children: [msg.blocks && msg.blocks.length > 0 ? (msg.blocks.map((block, bi) => {
|
|
1082
988
|
const blockType = block.type;
|
|
1083
989
|
if (blockType === 'thinking') {
|
|
1084
990
|
const isLastBlock = bi === (msg.blocks?.length ?? 0) - 1;
|
|
@@ -3295,7 +3201,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
3295
3201
|
// Runs a saved script by name (the /run <name> command). Fetches the script
|
|
3296
3202
|
// list to resolve the (possibly partial) name, runs the match, and reports the
|
|
3297
3203
|
// captured output + exit status as a system card.
|
|
3298
|
-
const runSavedScript = useCallback(async (rawName) => {
|
|
3204
|
+
const runSavedScript = useCallback(async (rawName, params = {}) => {
|
|
3299
3205
|
try {
|
|
3300
3206
|
const listed = await http.get(`/projects/${projectId}/scripts`);
|
|
3301
3207
|
const scripts = listed.data.scripts ?? [];
|
|
@@ -3308,7 +3214,17 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
3308
3214
|
}));
|
|
3309
3215
|
return;
|
|
3310
3216
|
}
|
|
3311
|
-
|
|
3217
|
+
// A script with required options the command line didn't supply needs the
|
|
3218
|
+
// panel's form — open it filtered to this script so the user can fill them
|
|
3219
|
+
// in and Run, rather than failing the run for a missing value.
|
|
3220
|
+
if (missingRequiredParams(target, params).length > 0) {
|
|
3221
|
+
openPanelOverlay('scripts', target.name);
|
|
3222
|
+
addSystemCard(t('ide.chat.scripts.runNeedsOptions', { name: target.name }, {
|
|
3223
|
+
defaultValue: '“{{name}}” needs options — opened /scripts so you can set them and Run.',
|
|
3224
|
+
}));
|
|
3225
|
+
return;
|
|
3226
|
+
}
|
|
3227
|
+
const run = await http.post(`/projects/${projectId}/scripts/${encodeURIComponent(target.name)}/run`, Object.keys(params).length ? { params } : undefined);
|
|
3312
3228
|
const output = formatRunOutput(run.data);
|
|
3313
3229
|
const status = runSucceeded(run.data)
|
|
3314
3230
|
? t('ide.chat.scripts.cmdExitOk', { name: target.name }, { defaultValue: '{{name}} exited 0' })
|
|
@@ -3319,7 +3235,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
3319
3235
|
logger.warn('Failed to run script via /run command', { error });
|
|
3320
3236
|
addSystemCard(t('ide.chat.scripts.runError', undefined, { defaultValue: 'Failed to run the script.' }));
|
|
3321
3237
|
}
|
|
3322
|
-
}, [http, projectId, addSystemCard]);
|
|
3238
|
+
}, [http, projectId, addSystemCard, openPanelOverlay]);
|
|
3323
3239
|
// ── File attachment handlers ──────────────────────────────────────────────
|
|
3324
3240
|
const fileInputRef = useRef(null);
|
|
3325
3241
|
const addFileAttachments = useCallback((files) => {
|
|
@@ -3932,7 +3848,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
3932
3848
|
}));
|
|
3933
3849
|
}
|
|
3934
3850
|
else {
|
|
3935
|
-
void runSavedScript(runMatch.name);
|
|
3851
|
+
void runSavedScript(runMatch.name, runMatch.params);
|
|
3936
3852
|
}
|
|
3937
3853
|
return;
|
|
3938
3854
|
}
|
|
@@ -4647,6 +4563,13 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
4647
4563
|
// already filters them on read, but guard here too so the client NEVER shows
|
|
4648
4564
|
// one — even an optimistic/in-flight hidden message.
|
|
4649
4565
|
const visibleMessages = useMemo(() => messages.filter((m) => !m.hidden), [messages]);
|
|
4566
|
+
// Queued messages (user/auto messages waiting to send while the agent works)
|
|
4567
|
+
// are NOT rendered inline in the scrolling timeline — they'd be pushed around
|
|
4568
|
+
// and reflow as the response streams. They render instead in an anchored bar
|
|
4569
|
+
// pinned above the composer (see "Queued messages" in the input area below),
|
|
4570
|
+
// the same fixed-position treatment as the commit bar. Split them out here so
|
|
4571
|
+
// the timeline never includes them.
|
|
4572
|
+
const queuedMessages = useMemo(() => visibleMessages.filter((m) => m.queued), [visibleMessages]);
|
|
4650
4573
|
// Build a renderable SystemCard from a card-message's raw CardEvent. This is the ONE
|
|
4651
4574
|
// construction, used IDENTICALLY for a live `card` event (now a card-message in `messages`)
|
|
4652
4575
|
// and for a card-message loaded on refresh — so the rendered card is the same in both, with
|
|
@@ -4749,6 +4672,9 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
4749
4672
|
// `limitType`). See {@link ChatEventCard.coversLimitType}.
|
|
4750
4673
|
const liveLimitType = error && !isStaleAnonymousLimit ? errorMeta?.limitType : undefined;
|
|
4751
4674
|
for (const msg of visibleMessages) {
|
|
4675
|
+
// Queued messages render in the anchored bar above the composer, not inline.
|
|
4676
|
+
if (msg.queued)
|
|
4677
|
+
continue;
|
|
4752
4678
|
if (msg.cardEvent) {
|
|
4753
4679
|
const card = cardEventToSystemCard(msg.cardEvent, msg.id, msg.timestamp);
|
|
4754
4680
|
if (!card)
|
|
@@ -5005,7 +4931,7 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
5005
4931
|
hash,
|
|
5006
4932
|
}, onRevert: handleRevertCommit }, msg.id));
|
|
5007
4933
|
}
|
|
5008
|
-
return (_jsx(MessageItem, { msg: msg,
|
|
4934
|
+
return (_jsx(MessageItem, { msg: msg, sendMessage: sendMessage, handleAskUserResponse: handleAskUserResponse, isLoading: isLoading, streamingStatus: streamingStatus, onNavigatePreview: onNavigatePreview, undoneTcIds: undoneTcIds, handleUndoToggle: handleUndoToggle, onFileOpen: onFileOpen, onFileDoubleClick: onFileDoubleClick, onFileDiff: onFileDiff, handleFileRevert: handleFileRevert, setInputAndCursorEnd: setInputAndCursorEnd, setModelPicker: setModelPicker, userAvatar: userAvatar, onAvatarClick: onUserAvatarClick, discovery: discovery, buildUpgradeCta: buildUpgradeCta }, msg.id));
|
|
5009
4935
|
} }, item.kind === 'message' ? item.msg.id : item.card.id))), error &&
|
|
5010
4936
|
!isStaleAnonymousLimit &&
|
|
5011
4937
|
(errorMeta?.limitType ? (_jsx(ResourceLimitBanner, { message: error, action: buildUpgradeCta?.({ requiresSignup: errorMeta.requiresSignup }) })) : (_jsx("div", { className: cm.cn(cm.textSize('sm'), cm.sp('p', 2), cm.sp('mb', 2), cm.bgErrorSubtle, cm.textError), style: { borderRadius: '6px' }, children: error }))), (() => {
|
|
@@ -6074,7 +6000,138 @@ function ChatInner({ projectId, endpoint, initialMessage, onInitialMessageSent,
|
|
|
6074
6000
|
? t('ide.chat.activeFile', undefined, { defaultValue: 'active' })
|
|
6075
6001
|
: t('ide.chat.openTab', undefined, { defaultValue: 'open' }) }))] }, entry.name));
|
|
6076
6002
|
}) }));
|
|
6077
|
-
})(),
|
|
6003
|
+
})(), queuedMessages.length > 0 && !commandMenu && !modelPicker && !panelOverlay && (_jsxs("div", { style: {
|
|
6004
|
+
borderTop: '1px solid rgba(128,128,128,0.15)',
|
|
6005
|
+
padding: '6px 8px 6px 10px',
|
|
6006
|
+
}, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 4, marginBottom: 3 }, children: [_jsx(Icon, { name: "clock", size: 11, "aria-hidden": "true", style: { opacity: 0.5, flexShrink: 0 } }), _jsx("span", { className: cm.cn(cm.textMuted, cm.textSize('xs')), style: { fontStyle: 'italic' }, children: t('ide.chat.queuedCount', { count: queuedMessages.length }, { defaultValue: '{{count}} queued' }) })] }), _jsx("div", { style: {
|
|
6007
|
+
maxHeight: 132,
|
|
6008
|
+
overflowY: 'auto',
|
|
6009
|
+
scrollbarWidth: 'thin',
|
|
6010
|
+
display: 'flex',
|
|
6011
|
+
flexDirection: 'column',
|
|
6012
|
+
gap: 2,
|
|
6013
|
+
}, children: queuedMessages.map((qm) => editingQueuedId === qm.id ? (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 6 }, children: [_jsx("textarea", { autoFocus: true, defaultValue: editingQueuedText, onChange: (e) => setEditingQueuedText(e.target.value), onKeyDown: (e) => {
|
|
6014
|
+
if (e.key === 'Enter' && !e.shiftKey) {
|
|
6015
|
+
e.preventDefault();
|
|
6016
|
+
const trimmed = editingQueuedText.trim();
|
|
6017
|
+
if (trimmed)
|
|
6018
|
+
editQueuedMessage(qm.id, trimmed);
|
|
6019
|
+
else
|
|
6020
|
+
deleteQueuedMessage(qm.id);
|
|
6021
|
+
setEditingQueuedId(null);
|
|
6022
|
+
}
|
|
6023
|
+
if (e.key === 'Escape')
|
|
6024
|
+
setEditingQueuedId(null);
|
|
6025
|
+
}, className: cm.cn(cm.surface, cm.textSize('sm')), style: {
|
|
6026
|
+
width: '100%',
|
|
6027
|
+
minHeight: '52px',
|
|
6028
|
+
padding: '6px 8px',
|
|
6029
|
+
border: `1px solid ${isLight ? '#d1d9e0' : 'rgba(255,255,255,0.1)'}`,
|
|
6030
|
+
borderRadius: '6px',
|
|
6031
|
+
resize: 'vertical',
|
|
6032
|
+
color: 'inherit',
|
|
6033
|
+
fontFamily: 'inherit',
|
|
6034
|
+
} }), _jsxs("div", { style: { display: 'flex', gap: 6, justifyContent: 'flex-end' }, children: [_jsx("button", { type: "button", onClick: () => setEditingQueuedId(null), className: cm.textSize('xs'), style: {
|
|
6035
|
+
padding: '4px 12px',
|
|
6036
|
+
border: `1px solid ${isLight ? '#d1d9e0' : 'rgba(255,255,255,0.1)'}`,
|
|
6037
|
+
borderRadius: '4px',
|
|
6038
|
+
background: 'transparent',
|
|
6039
|
+
color: 'inherit',
|
|
6040
|
+
cursor: 'pointer',
|
|
6041
|
+
...(isCoarse ? { minHeight: 32 } : {}),
|
|
6042
|
+
}, children: t('common.cancel', undefined, { defaultValue: 'Cancel' }) }), _jsx("button", { type: "button", onClick: () => {
|
|
6043
|
+
const trimmed = editingQueuedText.trim();
|
|
6044
|
+
if (trimmed)
|
|
6045
|
+
editQueuedMessage(qm.id, trimmed);
|
|
6046
|
+
else
|
|
6047
|
+
deleteQueuedMessage(qm.id);
|
|
6048
|
+
setEditingQueuedId(null);
|
|
6049
|
+
}, className: cm.textSize('xs'), style: {
|
|
6050
|
+
padding: '4px 12px',
|
|
6051
|
+
border: `1px solid ${isLight ? '#d1d9e0' : 'rgba(255,255,255,0.1)'}`,
|
|
6052
|
+
borderRadius: '4px',
|
|
6053
|
+
background: 'rgba(128,128,128,0.1)',
|
|
6054
|
+
color: 'inherit',
|
|
6055
|
+
cursor: 'pointer',
|
|
6056
|
+
...(isCoarse ? { minHeight: 32 } : {}),
|
|
6057
|
+
}, children: t('common.save', undefined, { defaultValue: 'Save' }) })] })] }, qm.id)) : (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, minWidth: 0 }, children: [_jsx("span", { title: qm.content, className: cm.textSize('sm'), style: {
|
|
6058
|
+
flex: 1,
|
|
6059
|
+
minWidth: 0,
|
|
6060
|
+
overflow: 'hidden',
|
|
6061
|
+
textOverflow: 'ellipsis',
|
|
6062
|
+
whiteSpace: 'nowrap',
|
|
6063
|
+
opacity: 0.8,
|
|
6064
|
+
}, children: qm.content }), _jsx("button", { type: "button", title: t('ide.chat.editQueued', undefined, { defaultValue: 'Edit' }), onClick: () => {
|
|
6065
|
+
setEditingQueuedId(qm.id);
|
|
6066
|
+
setEditingQueuedText(qm.content);
|
|
6067
|
+
}, style: {
|
|
6068
|
+
display: 'inline-flex',
|
|
6069
|
+
alignItems: 'center',
|
|
6070
|
+
justifyContent: 'center',
|
|
6071
|
+
width: isCoarse ? 32 : 22,
|
|
6072
|
+
height: isCoarse ? 32 : 22,
|
|
6073
|
+
flexShrink: 0,
|
|
6074
|
+
border: 'none',
|
|
6075
|
+
borderRadius: 4,
|
|
6076
|
+
background: 'none',
|
|
6077
|
+
color: 'inherit',
|
|
6078
|
+
opacity: 0.5,
|
|
6079
|
+
cursor: 'pointer',
|
|
6080
|
+
padding: 0,
|
|
6081
|
+
transition: 'opacity 100ms, background 100ms',
|
|
6082
|
+
}, onMouseEnter: (e) => {
|
|
6083
|
+
e.currentTarget.style.opacity = '1';
|
|
6084
|
+
e.currentTarget.style.background = 'rgba(128,128,128,0.15)';
|
|
6085
|
+
}, onMouseLeave: (e) => {
|
|
6086
|
+
e.currentTarget.style.opacity = '0.5';
|
|
6087
|
+
e.currentTarget.style.background = 'none';
|
|
6088
|
+
}, children: _jsx(Icon, { name: "pencil", size: 13, "aria-hidden": "true" }) }), _jsx("button", { type: "button", title: t('ide.chat.deleteQueued', undefined, { defaultValue: 'Delete' }), onClick: () => deleteQueuedMessage(qm.id), style: {
|
|
6089
|
+
display: 'inline-flex',
|
|
6090
|
+
alignItems: 'center',
|
|
6091
|
+
justifyContent: 'center',
|
|
6092
|
+
width: isCoarse ? 32 : 22,
|
|
6093
|
+
height: isCoarse ? 32 : 22,
|
|
6094
|
+
flexShrink: 0,
|
|
6095
|
+
border: 'none',
|
|
6096
|
+
borderRadius: 4,
|
|
6097
|
+
background: 'none',
|
|
6098
|
+
color: isLight ? 'rgb(185,28,28)' : 'rgb(248,113,113)',
|
|
6099
|
+
opacity: 0.6,
|
|
6100
|
+
cursor: 'pointer',
|
|
6101
|
+
padding: 0,
|
|
6102
|
+
transition: 'opacity 100ms, background 100ms',
|
|
6103
|
+
}, onMouseEnter: (e) => {
|
|
6104
|
+
e.currentTarget.style.opacity = '1';
|
|
6105
|
+
e.currentTarget.style.background = 'rgba(220,38,38,0.12)';
|
|
6106
|
+
}, onMouseLeave: (e) => {
|
|
6107
|
+
e.currentTarget.style.opacity = '0.6';
|
|
6108
|
+
e.currentTarget.style.background = 'none';
|
|
6109
|
+
}, children: _jsx(Icon, { name: "trash", size: 13, "aria-hidden": "true" }) }), !isLoading && (_jsx("button", { type: "button", title: t('ide.chat.sendQueued', undefined, { defaultValue: 'Send' }), onClick: () => {
|
|
6110
|
+
const content = qm.content;
|
|
6111
|
+
deleteQueuedMessage(qm.id);
|
|
6112
|
+
sendMessage(content);
|
|
6113
|
+
}, style: {
|
|
6114
|
+
display: 'inline-flex',
|
|
6115
|
+
alignItems: 'center',
|
|
6116
|
+
justifyContent: 'center',
|
|
6117
|
+
width: isCoarse ? 32 : 22,
|
|
6118
|
+
height: isCoarse ? 32 : 22,
|
|
6119
|
+
flexShrink: 0,
|
|
6120
|
+
border: 'none',
|
|
6121
|
+
borderRadius: 4,
|
|
6122
|
+
background: 'none',
|
|
6123
|
+
color: isLight ? 'rgb(21,128,61)' : 'rgb(74,222,128)',
|
|
6124
|
+
opacity: 0.7,
|
|
6125
|
+
cursor: 'pointer',
|
|
6126
|
+
padding: 0,
|
|
6127
|
+
transition: 'opacity 100ms, background 100ms',
|
|
6128
|
+
}, onMouseEnter: (e) => {
|
|
6129
|
+
e.currentTarget.style.opacity = '1';
|
|
6130
|
+
e.currentTarget.style.background = 'rgba(34,197,94,0.14)';
|
|
6131
|
+
}, onMouseLeave: (e) => {
|
|
6132
|
+
e.currentTarget.style.opacity = '0.7';
|
|
6133
|
+
e.currentTarget.style.background = 'none';
|
|
6134
|
+
}, children: _jsx("svg", { width: "13", height: "13", viewBox: "0 0 12 12", style: { display: 'block' }, children: _jsx("path", { d: "M 2.5,6.5 L 6,3 L 9.5,6.5 M 6,3.5 L 6,10", fill: "none", stroke: "currentColor", strokeWidth: "1.75", strokeLinecap: "round", strokeLinejoin: "round" }) }) }))] }, qm.id))) })] })), pendingFiles != null &&
|
|
6078
6135
|
pendingFiles.length > 0 &&
|
|
6079
6136
|
!commandMenu &&
|
|
6080
6137
|
!modelPicker &&
|