init
This commit is contained in:
commit
ec53fcbe95
1905 changed files with 513762 additions and 0 deletions
158
components/messages/AdvisorMessage.tsx
Normal file
158
components/messages/AdvisorMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
31
components/messages/AssistantRedactedThinkingMessage.tsx
Normal file
31
components/messages/AssistantRedactedThinkingMessage.tsx
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import React from 'react';
|
||||
import { Box, Text } from '../../ink.js';
|
||||
type Props = {
|
||||
addMargin: boolean;
|
||||
};
|
||||
export function AssistantRedactedThinkingMessage(t0) {
|
||||
const $ = _c(3);
|
||||
const {
|
||||
addMargin: t1
|
||||
} = t0;
|
||||
const addMargin = t1 === undefined ? false : t1;
|
||||
const t2 = addMargin ? 1 : 0;
|
||||
let t3;
|
||||
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t3 = <Text dimColor={true} italic={true}>✻ Thinking…</Text>;
|
||||
$[0] = t3;
|
||||
} else {
|
||||
t3 = $[0];
|
||||
}
|
||||
let t4;
|
||||
if ($[1] !== t2) {
|
||||
t4 = <Box marginTop={t2}>{t3}</Box>;
|
||||
$[1] = t2;
|
||||
$[2] = t4;
|
||||
} else {
|
||||
t4 = $[2];
|
||||
}
|
||||
return t4;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkJveCIsIlRleHQiLCJQcm9wcyIsImFkZE1hcmdpbiIsIkFzc2lzdGFudFJlZGFjdGVkVGhpbmtpbmdNZXNzYWdlIiwidDAiLCIkIiwiX2MiLCJ0MSIsInVuZGVmaW5lZCIsInQyIiwidDMiLCJTeW1ib2wiLCJmb3IiLCJ0NCJdLCJzb3VyY2VzIjpbIkFzc2lzdGFudFJlZGFjdGVkVGhpbmtpbmdNZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIGFkZE1hcmdpbjogYm9vbGVhblxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXNzaXN0YW50UmVkYWN0ZWRUaGlua2luZ01lc3NhZ2Uoe1xuICBhZGRNYXJnaW4gPSBmYWxzZSxcbn06IFByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgcmV0dXJuIChcbiAgICA8Qm94IG1hcmdpblRvcD17YWRkTWFyZ2luID8gMSA6IDB9PlxuICAgICAgPFRleHQgZGltQ29sb3IgaXRhbGljPlxuICAgICAgICDinLsgVGhpbmtpbmfigKZcbiAgICAgIDwvVGV4dD5cbiAgICA8L0JveD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsU0FBU0MsR0FBRyxFQUFFQyxJQUFJLFFBQVEsY0FBYztBQUV4QyxLQUFLQyxLQUFLLEdBQUc7RUFDWEMsU0FBUyxFQUFFLE9BQU87QUFDcEIsQ0FBQztBQUVELE9BQU8sU0FBQUMsaUNBQUFDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFBMEM7SUFBQUosU0FBQSxFQUFBSztFQUFBLElBQUFILEVBRXpDO0VBRE4sTUFBQUYsU0FBQSxHQUFBSyxFQUFpQixLQUFqQkMsU0FBaUIsR0FBakIsS0FBaUIsR0FBakJELEVBQWlCO0VBR0MsTUFBQUUsRUFBQSxHQUFBUCxTQUFTLEdBQVQsQ0FBaUIsR0FBakIsQ0FBaUI7RUFBQSxJQUFBUSxFQUFBO0VBQUEsSUFBQUwsQ0FBQSxRQUFBTSxNQUFBLENBQUFDLEdBQUE7SUFDL0JGLEVBQUEsSUFBQyxJQUFJLENBQUMsUUFBUSxDQUFSLEtBQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBTixLQUFLLENBQUMsQ0FBQyxXQUV0QixFQUZDLElBQUksQ0FFRTtJQUFBTCxDQUFBLE1BQUFLLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFMLENBQUE7RUFBQTtFQUFBLElBQUFRLEVBQUE7RUFBQSxJQUFBUixDQUFBLFFBQUFJLEVBQUE7SUFIVEksRUFBQSxJQUFDLEdBQUcsQ0FBWSxTQUFpQixDQUFqQixDQUFBSixFQUFnQixDQUFDLENBQy9CLENBQUFDLEVBRU0sQ0FDUixFQUpDLEdBQUcsQ0FJRTtJQUFBTCxDQUFBLE1BQUFJLEVBQUE7SUFBQUosQ0FBQSxNQUFBUSxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBUixDQUFBO0VBQUE7RUFBQSxPQUpOUSxFQUlNO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
||||
270
components/messages/AssistantTextMessage.tsx
Normal file
270
components/messages/AssistantTextMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
86
components/messages/AssistantThinkingMessage.tsx
Normal file
86
components/messages/AssistantThinkingMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
368
components/messages/AssistantToolUseMessage.tsx
Normal file
368
components/messages/AssistantToolUseMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
536
components/messages/AttachmentMessage.tsx
Normal file
536
components/messages/AttachmentMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
484
components/messages/CollapsedReadSearchContent.tsx
Normal file
484
components/messages/CollapsedReadSearchContent.tsx
Normal file
File diff suppressed because one or more lines are too long
18
components/messages/CompactBoundaryMessage.tsx
Normal file
18
components/messages/CompactBoundaryMessage.tsx
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import * as React from 'react';
|
||||
import { Box, Text } from '../../ink.js';
|
||||
import { useShortcutDisplay } from '../../keybindings/useShortcutDisplay.js';
|
||||
export function CompactBoundaryMessage() {
|
||||
const $ = _c(2);
|
||||
const historyShortcut = useShortcutDisplay("app:toggleTranscript", "Global", "ctrl+o");
|
||||
let t0;
|
||||
if ($[0] !== historyShortcut) {
|
||||
t0 = <Box marginY={1}><Text dimColor={true}>✻ Conversation compacted ({historyShortcut} for history)</Text></Box>;
|
||||
$[0] = historyShortcut;
|
||||
$[1] = t0;
|
||||
} else {
|
||||
t0 = $[1];
|
||||
}
|
||||
return t0;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkJveCIsIlRleHQiLCJ1c2VTaG9ydGN1dERpc3BsYXkiLCJDb21wYWN0Qm91bmRhcnlNZXNzYWdlIiwiJCIsIl9jIiwiaGlzdG9yeVNob3J0Y3V0IiwidDAiXSwic291cmNlcyI6WyJDb21wYWN0Qm91bmRhcnlNZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJveCwgVGV4dCB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB7IHVzZVNob3J0Y3V0RGlzcGxheSB9IGZyb20gJy4uLy4uL2tleWJpbmRpbmdzL3VzZVNob3J0Y3V0RGlzcGxheS5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIENvbXBhY3RCb3VuZGFyeU1lc3NhZ2UoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgaGlzdG9yeVNob3J0Y3V0ID0gdXNlU2hvcnRjdXREaXNwbGF5KFxuICAgICdhcHA6dG9nZ2xlVHJhbnNjcmlwdCcsXG4gICAgJ0dsb2JhbCcsXG4gICAgJ2N0cmwrbycsXG4gIClcblxuICByZXR1cm4gKFxuICAgIDxCb3ggbWFyZ2luWT17MX0+XG4gICAgICA8VGV4dCBkaW1Db2xvcj5cbiAgICAgICAg4py7IENvbnZlcnNhdGlvbiBjb21wYWN0ZWQgKHtoaXN0b3J5U2hvcnRjdXR9IGZvciBoaXN0b3J5KVxuICAgICAgPC9UZXh0PlxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLGNBQWM7QUFDeEMsU0FBU0Msa0JBQWtCLFFBQVEseUNBQXlDO0FBRTVFLE9BQU8sU0FBQUMsdUJBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFDTCxNQUFBQyxlQUFBLEdBQXdCSixrQkFBa0IsQ0FDeEMsc0JBQXNCLEVBQ3RCLFFBQVEsRUFDUixRQUNGLENBQUM7RUFBQSxJQUFBSyxFQUFBO0VBQUEsSUFBQUgsQ0FBQSxRQUFBRSxlQUFBO0lBR0NDLEVBQUEsSUFBQyxHQUFHLENBQVUsT0FBQyxDQUFELEdBQUMsQ0FDYixDQUFDLElBQUksQ0FBQyxRQUFRLENBQVIsS0FBTyxDQUFDLENBQUMsMEJBQ2NELGdCQUFjLENBQUUsYUFDN0MsRUFGQyxJQUFJLENBR1AsRUFKQyxHQUFHLENBSUU7SUFBQUYsQ0FBQSxNQUFBRSxlQUFBO0lBQUFGLENBQUEsTUFBQUcsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQUgsQ0FBQTtFQUFBO0VBQUEsT0FKTkcsRUFJTTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
58
components/messages/GroupedToolUseContent.tsx
Normal file
58
components/messages/GroupedToolUseContent.tsx
Normal file
File diff suppressed because one or more lines are too long
162
components/messages/HighlightedThinkingText.tsx
Normal file
162
components/messages/HighlightedThinkingText.tsx
Normal file
File diff suppressed because one or more lines are too long
116
components/messages/HookProgressMessage.tsx
Normal file
116
components/messages/HookProgressMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
222
components/messages/PlanApprovalMessage.tsx
Normal file
222
components/messages/PlanApprovalMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
161
components/messages/RateLimitMessage.tsx
Normal file
161
components/messages/RateLimitMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
132
components/messages/ShutdownMessage.tsx
Normal file
132
components/messages/ShutdownMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
141
components/messages/SystemAPIErrorMessage.tsx
Normal file
141
components/messages/SystemAPIErrorMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
827
components/messages/SystemTextMessage.tsx
Normal file
827
components/messages/SystemTextMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
76
components/messages/TaskAssignmentMessage.tsx
Normal file
76
components/messages/TaskAssignmentMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
83
components/messages/UserAgentNotificationMessage.tsx
Normal file
83
components/messages/UserAgentNotificationMessage.tsx
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import type { TextBlockParam } from '@anthropic-ai/sdk/resources/index.mjs';
|
||||
import * as React from 'react';
|
||||
import { BLACK_CIRCLE } from '../../constants/figures.js';
|
||||
import { Box, Text, type TextProps } from '../../ink.js';
|
||||
import { extractTag } from '../../utils/messages.js';
|
||||
type Props = {
|
||||
addMargin: boolean;
|
||||
param: TextBlockParam;
|
||||
};
|
||||
function getStatusColor(status: string | null): TextProps['color'] {
|
||||
switch (status) {
|
||||
case 'completed':
|
||||
return 'success';
|
||||
case 'failed':
|
||||
return 'error';
|
||||
case 'killed':
|
||||
return 'warning';
|
||||
default:
|
||||
return 'text';
|
||||
}
|
||||
}
|
||||
export function UserAgentNotificationMessage(t0) {
|
||||
const $ = _c(12);
|
||||
const {
|
||||
addMargin,
|
||||
param: t1
|
||||
} = t0;
|
||||
const {
|
||||
text
|
||||
} = t1;
|
||||
let t2;
|
||||
if ($[0] !== text) {
|
||||
t2 = extractTag(text, "summary");
|
||||
$[0] = text;
|
||||
$[1] = t2;
|
||||
} else {
|
||||
t2 = $[1];
|
||||
}
|
||||
const summary = t2;
|
||||
if (!summary) {
|
||||
return null;
|
||||
}
|
||||
let t3;
|
||||
if ($[2] !== text) {
|
||||
const status = extractTag(text, "status");
|
||||
t3 = getStatusColor(status);
|
||||
$[2] = text;
|
||||
$[3] = t3;
|
||||
} else {
|
||||
t3 = $[3];
|
||||
}
|
||||
const color = t3;
|
||||
const t4 = addMargin ? 1 : 0;
|
||||
let t5;
|
||||
if ($[4] !== color) {
|
||||
t5 = <Text color={color}>{BLACK_CIRCLE}</Text>;
|
||||
$[4] = color;
|
||||
$[5] = t5;
|
||||
} else {
|
||||
t5 = $[5];
|
||||
}
|
||||
let t6;
|
||||
if ($[6] !== summary || $[7] !== t5) {
|
||||
t6 = <Text>{t5} {summary}</Text>;
|
||||
$[6] = summary;
|
||||
$[7] = t5;
|
||||
$[8] = t6;
|
||||
} else {
|
||||
t6 = $[8];
|
||||
}
|
||||
let t7;
|
||||
if ($[9] !== t4 || $[10] !== t6) {
|
||||
t7 = <Box marginTop={t4}>{t6}</Box>;
|
||||
$[9] = t4;
|
||||
$[10] = t6;
|
||||
$[11] = t7;
|
||||
} else {
|
||||
t7 = $[11];
|
||||
}
|
||||
return t7;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZXh0QmxvY2tQYXJhbSIsIlJlYWN0IiwiQkxBQ0tfQ0lSQ0xFIiwiQm94IiwiVGV4dCIsIlRleHRQcm9wcyIsImV4dHJhY3RUYWciLCJQcm9wcyIsImFkZE1hcmdpbiIsInBhcmFtIiwiZ2V0U3RhdHVzQ29sb3IiLCJzdGF0dXMiLCJVc2VyQWdlbnROb3RpZmljYXRpb25NZXNzYWdlIiwidDAiLCIkIiwiX2MiLCJ0MSIsInRleHQiLCJ0MiIsInN1bW1hcnkiLCJ0MyIsImNvbG9yIiwidDQiLCJ0NSIsInQ2IiwidDciXSwic291cmNlcyI6WyJVc2VyQWdlbnROb3RpZmljYXRpb25NZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRleHRCbG9ja1BhcmFtIH0gZnJvbSAnQGFudGhyb3BpYy1haS9zZGsvcmVzb3VyY2VzL2luZGV4Lm1qcydcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQkxBQ0tfQ0lSQ0xFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2ZpZ3VyZXMuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQsIHR5cGUgVGV4dFByb3BzIH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgZXh0cmFjdFRhZyB9IGZyb20gJy4uLy4uL3V0aWxzL21lc3NhZ2VzLmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICBhZGRNYXJnaW46IGJvb2xlYW5cbiAgcGFyYW06IFRleHRCbG9ja1BhcmFtXG59XG5cbmZ1bmN0aW9uIGdldFN0YXR1c0NvbG9yKHN0YXR1czogc3RyaW5nIHwgbnVsbCk6IFRleHRQcm9wc1snY29sb3InXSB7XG4gIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgY2FzZSAnY29tcGxldGVkJzpcbiAgICAgIHJldHVybiAnc3VjY2VzcydcbiAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgcmV0dXJuICdlcnJvcidcbiAgICBjYXNlICdraWxsZWQnOlxuICAgICAgcmV0dXJuICd3YXJuaW5nJ1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ3RleHQnXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFVzZXJBZ2VudE5vdGlmaWNhdGlvbk1lc3NhZ2Uoe1xuICBhZGRNYXJnaW4sXG4gIHBhcmFtOiB7IHRleHQgfSxcbn06IFByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3Qgc3VtbWFyeSA9IGV4dHJhY3RUYWcodGV4dCwgJ3N1bW1hcnknKVxuICBpZiAoIXN1bW1hcnkpIHJldHVybiBudWxsXG5cbiAgY29uc3Qgc3RhdHVzID0gZXh0cmFjdFRhZyh0ZXh0LCAnc3RhdHVzJylcbiAgY29uc3QgY29sb3IgPSBnZXRTdGF0dXNDb2xvcihzdGF0dXMpXG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IG1hcmdpblRvcD17YWRkTWFyZ2luID8gMSA6IDB9PlxuICAgICAgPFRleHQ+XG4gICAgICAgIDxUZXh0IGNvbG9yPXtjb2xvcn0+e0JMQUNLX0NJUkNMRX08L1RleHQ+IHtzdW1tYXJ5fVxuICAgICAgPC9UZXh0PlxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxjQUFjQSxjQUFjLFFBQVEsdUNBQXVDO0FBQzNFLE9BQU8sS0FBS0MsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsWUFBWSxRQUFRLDRCQUE0QjtBQUN6RCxTQUFTQyxHQUFHLEVBQUVDLElBQUksRUFBRSxLQUFLQyxTQUFTLFFBQVEsY0FBYztBQUN4RCxTQUFTQyxVQUFVLFFBQVEseUJBQXlCO0FBRXBELEtBQUtDLEtBQUssR0FBRztFQUNYQyxTQUFTLEVBQUUsT0FBTztFQUNsQkMsS0FBSyxFQUFFVCxjQUFjO0FBQ3ZCLENBQUM7QUFFRCxTQUFTVSxjQUFjQSxDQUFDQyxNQUFNLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFTixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7RUFDakUsUUFBUU0sTUFBTTtJQUNaLEtBQUssV0FBVztNQUNkLE9BQU8sU0FBUztJQUNsQixLQUFLLFFBQVE7TUFDWCxPQUFPLE9BQU87SUFDaEIsS0FBSyxRQUFRO01BQ1gsT0FBTyxTQUFTO0lBQ2xCO01BQ0UsT0FBTyxNQUFNO0VBQ2pCO0FBQ0Y7QUFFQSxPQUFPLFNBQUFDLDZCQUFBQyxFQUFBO0VBQUEsTUFBQUMsQ0FBQSxHQUFBQyxFQUFBO0VBQXNDO0lBQUFQLFNBQUE7SUFBQUMsS0FBQSxFQUFBTztFQUFBLElBQUFILEVBR3JDO0VBREM7SUFBQUk7RUFBQSxJQUFBRCxFQUFRO0VBQUEsSUFBQUUsRUFBQTtFQUFBLElBQUFKLENBQUEsUUFBQUcsSUFBQTtJQUVDQyxFQUFBLEdBQUFaLFVBQVUsQ0FBQ1csSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUFBSCxDQUFBLE1BQUFHLElBQUE7SUFBQUgsQ0FBQSxNQUFBSSxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBSixDQUFBO0VBQUE7RUFBM0MsTUFBQUssT0FBQSxHQUFnQkQsRUFBMkI7RUFDM0MsSUFBSSxDQUFDQyxPQUFPO0lBQUEsT0FBUyxJQUFJO0VBQUE7RUFBQSxJQUFBQyxFQUFBO0VBQUEsSUFBQU4sQ0FBQSxRQUFBRyxJQUFBO0lBRXpCLE1BQUFOLE1BQUEsR0FBZUwsVUFBVSxDQUFDVyxJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQzNCRyxFQUFBLEdBQUFWLGNBQWMsQ0FBQ0MsTUFBTSxDQUFDO0lBQUFHLENBQUEsTUFBQUcsSUFBQTtJQUFBSCxDQUFBLE1BQUFNLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFOLENBQUE7RUFBQTtFQUFwQyxNQUFBTyxLQUFBLEdBQWNELEVBQXNCO0VBR2xCLE1BQUFFLEVBQUEsR0FBQWQsU0FBUyxHQUFULENBQWlCLEdBQWpCLENBQWlCO0VBQUEsSUFBQWUsRUFBQTtFQUFBLElBQUFULENBQUEsUUFBQU8sS0FBQTtJQUU3QkUsRUFBQSxJQUFDLElBQUksQ0FBUUYsS0FBSyxDQUFMQSxNQUFJLENBQUMsQ0FBR25CLGFBQVcsQ0FBRSxFQUFqQyxJQUFJLENBQW9DO0lBQUFZLENBQUEsTUFBQU8sS0FBQTtJQUFBUCxDQUFBLE1BQUFTLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFULENBQUE7RUFBQTtFQUFBLElBQUFVLEVBQUE7RUFBQSxJQUFBVixDQUFBLFFBQUFLLE9BQUEsSUFBQUwsQ0FBQSxRQUFBUyxFQUFBO0lBRDNDQyxFQUFBLElBQUMsSUFBSSxDQUNILENBQUFELEVBQXdDLENBQUMsQ0FBRUosUUFBTSxDQUNuRCxFQUZDLElBQUksQ0FFRTtJQUFBTCxDQUFBLE1BQUFLLE9BQUE7SUFBQUwsQ0FBQSxNQUFBUyxFQUFBO0lBQUFULENBQUEsTUFBQVUsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQVYsQ0FBQTtFQUFBO0VBQUEsSUFBQVcsRUFBQTtFQUFBLElBQUFYLENBQUEsUUFBQVEsRUFBQSxJQUFBUixDQUFBLFNBQUFVLEVBQUE7SUFIVEMsRUFBQSxJQUFDLEdBQUcsQ0FBWSxTQUFpQixDQUFqQixDQUFBSCxFQUFnQixDQUFDLENBQy9CLENBQUFFLEVBRU0sQ0FDUixFQUpDLEdBQUcsQ0FJRTtJQUFBVixDQUFBLE1BQUFRLEVBQUE7SUFBQVIsQ0FBQSxPQUFBVSxFQUFBO0lBQUFWLENBQUEsT0FBQVcsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQVgsQ0FBQTtFQUFBO0VBQUEsT0FKTlcsRUFJTTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
58
components/messages/UserBashInputMessage.tsx
Normal file
58
components/messages/UserBashInputMessage.tsx
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import type { TextBlockParam } from '@anthropic-ai/sdk/resources/index.mjs';
|
||||
import * as React from 'react';
|
||||
import { Box, Text } from '../../ink.js';
|
||||
import { extractTag } from '../../utils/messages.js';
|
||||
type Props = {
|
||||
addMargin: boolean;
|
||||
param: TextBlockParam;
|
||||
};
|
||||
export function UserBashInputMessage(t0) {
|
||||
const $ = _c(8);
|
||||
const {
|
||||
param: t1,
|
||||
addMargin
|
||||
} = t0;
|
||||
const {
|
||||
text
|
||||
} = t1;
|
||||
let t2;
|
||||
if ($[0] !== text) {
|
||||
t2 = extractTag(text, "bash-input");
|
||||
$[0] = text;
|
||||
$[1] = t2;
|
||||
} else {
|
||||
t2 = $[1];
|
||||
}
|
||||
const input = t2;
|
||||
if (!input) {
|
||||
return null;
|
||||
}
|
||||
const t3 = addMargin ? 1 : 0;
|
||||
let t4;
|
||||
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t4 = <Text color="bashBorder">! </Text>;
|
||||
$[2] = t4;
|
||||
} else {
|
||||
t4 = $[2];
|
||||
}
|
||||
let t5;
|
||||
if ($[3] !== input) {
|
||||
t5 = <Text color="text">{input}</Text>;
|
||||
$[3] = input;
|
||||
$[4] = t5;
|
||||
} else {
|
||||
t5 = $[4];
|
||||
}
|
||||
let t6;
|
||||
if ($[5] !== t3 || $[6] !== t5) {
|
||||
t6 = <Box flexDirection="row" marginTop={t3} backgroundColor="bashMessageBackgroundColor" paddingRight={1}>{t4}{t5}</Box>;
|
||||
$[5] = t3;
|
||||
$[6] = t5;
|
||||
$[7] = t6;
|
||||
} else {
|
||||
t6 = $[7];
|
||||
}
|
||||
return t6;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZXh0QmxvY2tQYXJhbSIsIlJlYWN0IiwiQm94IiwiVGV4dCIsImV4dHJhY3RUYWciLCJQcm9wcyIsImFkZE1hcmdpbiIsInBhcmFtIiwiVXNlckJhc2hJbnB1dE1lc3NhZ2UiLCJ0MCIsIiQiLCJfYyIsInQxIiwidGV4dCIsInQyIiwiaW5wdXQiLCJ0MyIsInQ0IiwiU3ltYm9sIiwiZm9yIiwidDUiLCJ0NiJdLCJzb3VyY2VzIjpbIlVzZXJCYXNoSW5wdXRNZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRleHRCbG9ja1BhcmFtIH0gZnJvbSAnQGFudGhyb3BpYy1haS9zZGsvcmVzb3VyY2VzL2luZGV4Lm1qcydcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgZXh0cmFjdFRhZyB9IGZyb20gJy4uLy4uL3V0aWxzL21lc3NhZ2VzLmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICBhZGRNYXJnaW46IGJvb2xlYW5cbiAgcGFyYW06IFRleHRCbG9ja1BhcmFtXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBVc2VyQmFzaElucHV0TWVzc2FnZSh7XG4gIHBhcmFtOiB7IHRleHQgfSxcbiAgYWRkTWFyZ2luLFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCBpbnB1dCA9IGV4dHJhY3RUYWcodGV4dCwgJ2Jhc2gtaW5wdXQnKVxuICBpZiAoIWlucHV0KSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICByZXR1cm4gKFxuICAgIDxCb3hcbiAgICAgIGZsZXhEaXJlY3Rpb249XCJyb3dcIlxuICAgICAgbWFyZ2luVG9wPXthZGRNYXJnaW4gPyAxIDogMH1cbiAgICAgIGJhY2tncm91bmRDb2xvcj1cImJhc2hNZXNzYWdlQmFja2dyb3VuZENvbG9yXCJcbiAgICAgIHBhZGRpbmdSaWdodD17MX1cbiAgICA+XG4gICAgICA8VGV4dCBjb2xvcj1cImJhc2hCb3JkZXJcIj4hIDwvVGV4dD5cbiAgICAgIDxUZXh0IGNvbG9yPVwidGV4dFwiPntpbnB1dH08L1RleHQ+XG4gICAgPC9Cb3g+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLGNBQWNBLGNBQWMsUUFBUSx1Q0FBdUM7QUFDM0UsT0FBTyxLQUFLQyxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxHQUFHLEVBQUVDLElBQUksUUFBUSxjQUFjO0FBQ3hDLFNBQVNDLFVBQVUsUUFBUSx5QkFBeUI7QUFFcEQsS0FBS0MsS0FBSyxHQUFHO0VBQ1hDLFNBQVMsRUFBRSxPQUFPO0VBQ2xCQyxLQUFLLEVBQUVQLGNBQWM7QUFDdkIsQ0FBQztBQUVELE9BQU8sU0FBQVEscUJBQUFDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFBOEI7SUFBQUosS0FBQSxFQUFBSyxFQUFBO0lBQUFOO0VBQUEsSUFBQUcsRUFHN0I7RUFGQztJQUFBSTtFQUFBLElBQUFELEVBQVE7RUFBQSxJQUFBRSxFQUFBO0VBQUEsSUFBQUosQ0FBQSxRQUFBRyxJQUFBO0lBR0RDLEVBQUEsR0FBQVYsVUFBVSxDQUFDUyxJQUFJLEVBQUUsWUFBWSxDQUFDO0lBQUFILENBQUEsTUFBQUcsSUFBQTtJQUFBSCxDQUFBLE1BQUFJLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFKLENBQUE7RUFBQTtFQUE1QyxNQUFBSyxLQUFBLEdBQWNELEVBQThCO0VBQzVDLElBQUksQ0FBQ0MsS0FBSztJQUFBLE9BQ0QsSUFBSTtFQUFBO0VBS0UsTUFBQUMsRUFBQSxHQUFBVixTQUFTLEdBQVQsQ0FBaUIsR0FBakIsQ0FBaUI7RUFBQSxJQUFBVyxFQUFBO0VBQUEsSUFBQVAsQ0FBQSxRQUFBUSxNQUFBLENBQUFDLEdBQUE7SUFJNUJGLEVBQUEsSUFBQyxJQUFJLENBQU8sS0FBWSxDQUFaLFlBQVksQ0FBQyxFQUFFLEVBQTFCLElBQUksQ0FBNkI7SUFBQVAsQ0FBQSxNQUFBTyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBUCxDQUFBO0VBQUE7RUFBQSxJQUFBVSxFQUFBO0VBQUEsSUFBQVYsQ0FBQSxRQUFBSyxLQUFBO0lBQ2xDSyxFQUFBLElBQUMsSUFBSSxDQUFPLEtBQU0sQ0FBTixNQUFNLENBQUVMLE1BQUksQ0FBRSxFQUF6QixJQUFJLENBQTRCO0lBQUFMLENBQUEsTUFBQUssS0FBQTtJQUFBTCxDQUFBLE1BQUFVLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFWLENBQUE7RUFBQTtFQUFBLElBQUFXLEVBQUE7RUFBQSxJQUFBWCxDQUFBLFFBQUFNLEVBQUEsSUFBQU4sQ0FBQSxRQUFBVSxFQUFBO0lBUG5DQyxFQUFBLElBQUMsR0FBRyxDQUNZLGFBQUssQ0FBTCxLQUFLLENBQ1IsU0FBaUIsQ0FBakIsQ0FBQUwsRUFBZ0IsQ0FBQyxDQUNaLGVBQTRCLENBQTVCLDRCQUE0QixDQUM5QixZQUFDLENBQUQsR0FBQyxDQUVmLENBQUFDLEVBQWlDLENBQ2pDLENBQUFHLEVBQWdDLENBQ2xDLEVBUkMsR0FBRyxDQVFFO0lBQUFWLENBQUEsTUFBQU0sRUFBQTtJQUFBTixDQUFBLE1BQUFVLEVBQUE7SUFBQVYsQ0FBQSxNQUFBVyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBWCxDQUFBO0VBQUE7RUFBQSxPQVJOVyxFQVFNO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
||||
54
components/messages/UserBashOutputMessage.tsx
Normal file
54
components/messages/UserBashOutputMessage.tsx
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import * as React from 'react';
|
||||
import BashToolResultMessage from '../../tools/BashTool/BashToolResultMessage.js';
|
||||
import { extractTag } from '../../utils/messages.js';
|
||||
export function UserBashOutputMessage(t0) {
|
||||
const $ = _c(10);
|
||||
const {
|
||||
content,
|
||||
verbose
|
||||
} = t0;
|
||||
let t1;
|
||||
if ($[0] !== content) {
|
||||
const rawStdout = extractTag(content, "bash-stdout") ?? "";
|
||||
t1 = extractTag(rawStdout, "persisted-output") ?? rawStdout;
|
||||
$[0] = content;
|
||||
$[1] = t1;
|
||||
} else {
|
||||
t1 = $[1];
|
||||
}
|
||||
const stdout = t1;
|
||||
let t2;
|
||||
if ($[2] !== content) {
|
||||
t2 = extractTag(content, "bash-stderr") ?? "";
|
||||
$[2] = content;
|
||||
$[3] = t2;
|
||||
} else {
|
||||
t2 = $[3];
|
||||
}
|
||||
const stderr = t2;
|
||||
let t3;
|
||||
if ($[4] !== stderr || $[5] !== stdout) {
|
||||
t3 = {
|
||||
stdout,
|
||||
stderr
|
||||
};
|
||||
$[4] = stderr;
|
||||
$[5] = stdout;
|
||||
$[6] = t3;
|
||||
} else {
|
||||
t3 = $[6];
|
||||
}
|
||||
const t4 = !!verbose;
|
||||
let t5;
|
||||
if ($[7] !== t3 || $[8] !== t4) {
|
||||
t5 = <BashToolResultMessage content={t3} verbose={t4} />;
|
||||
$[7] = t3;
|
||||
$[8] = t4;
|
||||
$[9] = t5;
|
||||
} else {
|
||||
t5 = $[9];
|
||||
}
|
||||
return t5;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkJhc2hUb29sUmVzdWx0TWVzc2FnZSIsImV4dHJhY3RUYWciLCJVc2VyQmFzaE91dHB1dE1lc3NhZ2UiLCJ0MCIsIiQiLCJfYyIsImNvbnRlbnQiLCJ2ZXJib3NlIiwidDEiLCJyYXdTdGRvdXQiLCJzdGRvdXQiLCJ0MiIsInN0ZGVyciIsInQzIiwidDQiLCJ0NSJdLCJzb3VyY2VzIjpbIlVzZXJCYXNoT3V0cHV0TWVzc2FnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgQmFzaFRvb2xSZXN1bHRNZXNzYWdlIGZyb20gJy4uLy4uL3Rvb2xzL0Jhc2hUb29sL0Jhc2hUb29sUmVzdWx0TWVzc2FnZS5qcydcbmltcG9ydCB7IGV4dHJhY3RUYWcgfSBmcm9tICcuLi8uLi91dGlscy9tZXNzYWdlcy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIFVzZXJCYXNoT3V0cHV0TWVzc2FnZSh7XG4gIGNvbnRlbnQsXG4gIHZlcmJvc2UsXG59OiB7XG4gIGNvbnRlbnQ6IHN0cmluZ1xuICB2ZXJib3NlPzogYm9vbGVhblxufSk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IHJhd1N0ZG91dCA9IGV4dHJhY3RUYWcoY29udGVudCwgJ2Jhc2gtc3Rkb3V0JykgPz8gJydcbiAgLy8gVW53cmFwIDxwZXJzaXN0ZWQtb3V0cHV0PiBpZiBwcmVzZW50IOKAlCBrZWVwIHRoZSBpbm5lciBjb250ZW50IChmaWxlIHBhdGggK1xuICAvLyBwcmV2aWV3KSBmb3IgdGhlIHVzZXI7IHRoZSB3cmFwcGVyIHRhZyBpdHNlbGYgaXMgbW9kZWwtZmFjaW5nIHNpZ25hbGluZy5cbiAgY29uc3Qgc3Rkb3V0ID0gZXh0cmFjdFRhZyhyYXdTdGRvdXQsICdwZXJzaXN0ZWQtb3V0cHV0JykgPz8gcmF3U3Rkb3V0XG4gIGNvbnN0IHN0ZGVyciA9IGV4dHJhY3RUYWcoY29udGVudCwgJ2Jhc2gtc3RkZXJyJykgPz8gJydcbiAgcmV0dXJuIChcbiAgICA8QmFzaFRvb2xSZXN1bHRNZXNzYWdlIGNvbnRlbnQ9e3sgc3Rkb3V0LCBzdGRlcnIgfX0gdmVyYm9zZT17ISF2ZXJib3NlfSAvPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLE9BQU9DLHFCQUFxQixNQUFNLCtDQUErQztBQUNqRixTQUFTQyxVQUFVLFFBQVEseUJBQXlCO0FBRXBELE9BQU8sU0FBQUMsc0JBQUFDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFBK0I7SUFBQUMsT0FBQTtJQUFBQztFQUFBLElBQUFKLEVBTXJDO0VBQUEsSUFBQUssRUFBQTtFQUFBLElBQUFKLENBQUEsUUFBQUUsT0FBQTtJQUNDLE1BQUFHLFNBQUEsR0FBa0JSLFVBQVUsQ0FBQ0ssT0FBTyxFQUFFLGFBQW1CLENBQUMsSUFBeEMsRUFBd0M7SUFHM0NFLEVBQUEsR0FBQVAsVUFBVSxDQUFDUSxTQUFTLEVBQUUsa0JBQStCLENBQUMsSUFBdERBLFNBQXNEO0lBQUFMLENBQUEsTUFBQUUsT0FBQTtJQUFBRixDQUFBLE1BQUFJLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFKLENBQUE7RUFBQTtFQUFyRSxNQUFBTSxNQUFBLEdBQWVGLEVBQXNEO0VBQUEsSUFBQUcsRUFBQTtFQUFBLElBQUFQLENBQUEsUUFBQUUsT0FBQTtJQUN0REssRUFBQSxHQUFBVixVQUFVLENBQUNLLE9BQU8sRUFBRSxhQUFtQixDQUFDLElBQXhDLEVBQXdDO0lBQUFGLENBQUEsTUFBQUUsT0FBQTtJQUFBRixDQUFBLE1BQUFPLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFQLENBQUE7RUFBQTtFQUF2RCxNQUFBUSxNQUFBLEdBQWVELEVBQXdDO0VBQUEsSUFBQUUsRUFBQTtFQUFBLElBQUFULENBQUEsUUFBQVEsTUFBQSxJQUFBUixDQUFBLFFBQUFNLE1BQUE7SUFFckJHLEVBQUE7TUFBQUgsTUFBQTtNQUFBRTtJQUFpQixDQUFDO0lBQUFSLENBQUEsTUFBQVEsTUFBQTtJQUFBUixDQUFBLE1BQUFNLE1BQUE7SUFBQU4sQ0FBQSxNQUFBUyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBVCxDQUFBO0VBQUE7RUFBVyxNQUFBVSxFQUFBLElBQUMsQ0FBQ1AsT0FBTztFQUFBLElBQUFRLEVBQUE7RUFBQSxJQUFBWCxDQUFBLFFBQUFTLEVBQUEsSUFBQVQsQ0FBQSxRQUFBVSxFQUFBO0lBQXRFQyxFQUFBLElBQUMscUJBQXFCLENBQVUsT0FBa0IsQ0FBbEIsQ0FBQUYsRUFBaUIsQ0FBQyxDQUFXLE9BQVMsQ0FBVCxDQUFBQyxFQUFRLENBQUMsR0FBSTtJQUFBVixDQUFBLE1BQUFTLEVBQUE7SUFBQVQsQ0FBQSxNQUFBVSxFQUFBO0lBQUFWLENBQUEsTUFBQVcsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQVgsQ0FBQTtFQUFBO0VBQUEsT0FBMUVXLEVBQTBFO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
||||
137
components/messages/UserChannelMessage.tsx
Normal file
137
components/messages/UserChannelMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
108
components/messages/UserCommandMessage.tsx
Normal file
108
components/messages/UserCommandMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
59
components/messages/UserImageMessage.tsx
Normal file
59
components/messages/UserImageMessage.tsx
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import * as React from 'react';
|
||||
import { pathToFileURL } from 'url';
|
||||
import Link from '../../ink/components/Link.js';
|
||||
import { supportsHyperlinks } from '../../ink/supports-hyperlinks.js';
|
||||
import { Box, Text } from '../../ink.js';
|
||||
import { getStoredImagePath } from '../../utils/imageStore.js';
|
||||
import { MessageResponse } from '../MessageResponse.js';
|
||||
type Props = {
|
||||
imageId?: number;
|
||||
addMargin?: boolean;
|
||||
};
|
||||
|
||||
/**
|
||||
* Renders an image attachment in user messages.
|
||||
* Shows as a clickable link if the image is stored and terminal supports hyperlinks.
|
||||
* Uses MessageResponse styling to appear connected to the message above,
|
||||
* unless addMargin is true (image starts a new user turn without text).
|
||||
*/
|
||||
export function UserImageMessage(t0) {
|
||||
const $ = _c(7);
|
||||
const {
|
||||
imageId,
|
||||
addMargin
|
||||
} = t0;
|
||||
const label = imageId ? `[Image #${imageId}]` : "[Image]";
|
||||
let t1;
|
||||
if ($[0] !== imageId || $[1] !== label) {
|
||||
const imagePath = imageId ? getStoredImagePath(imageId) : null;
|
||||
t1 = imagePath && supportsHyperlinks() ? <Link url={pathToFileURL(imagePath).href}><Text>{label}</Text></Link> : <Text>{label}</Text>;
|
||||
$[0] = imageId;
|
||||
$[1] = label;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
}
|
||||
const content = t1;
|
||||
if (addMargin) {
|
||||
let t2;
|
||||
if ($[3] !== content) {
|
||||
t2 = <Box marginTop={1}>{content}</Box>;
|
||||
$[3] = content;
|
||||
$[4] = t2;
|
||||
} else {
|
||||
t2 = $[4];
|
||||
}
|
||||
return t2;
|
||||
}
|
||||
let t2;
|
||||
if ($[5] !== content) {
|
||||
t2 = <MessageResponse>{content}</MessageResponse>;
|
||||
$[5] = content;
|
||||
$[6] = t2;
|
||||
} else {
|
||||
t2 = $[6];
|
||||
}
|
||||
return t2;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInBhdGhUb0ZpbGVVUkwiLCJMaW5rIiwic3VwcG9ydHNIeXBlcmxpbmtzIiwiQm94IiwiVGV4dCIsImdldFN0b3JlZEltYWdlUGF0aCIsIk1lc3NhZ2VSZXNwb25zZSIsIlByb3BzIiwiaW1hZ2VJZCIsImFkZE1hcmdpbiIsIlVzZXJJbWFnZU1lc3NhZ2UiLCJ0MCIsIiQiLCJfYyIsImxhYmVsIiwidDEiLCJpbWFnZVBhdGgiLCJocmVmIiwiY29udGVudCIsInQyIl0sInNvdXJjZXMiOlsiVXNlckltYWdlTWVzc2FnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAndXJsJ1xuaW1wb3J0IExpbmsgZnJvbSAnLi4vLi4vaW5rL2NvbXBvbmVudHMvTGluay5qcydcbmltcG9ydCB7IHN1cHBvcnRzSHlwZXJsaW5rcyB9IGZyb20gJy4uLy4uL2luay9zdXBwb3J0cy1oeXBlcmxpbmtzLmpzJ1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgZ2V0U3RvcmVkSW1hZ2VQYXRoIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW1hZ2VTdG9yZS5qcydcbmltcG9ydCB7IE1lc3NhZ2VSZXNwb25zZSB9IGZyb20gJy4uL01lc3NhZ2VSZXNwb25zZS5qcydcblxudHlwZSBQcm9wcyA9IHtcbiAgaW1hZ2VJZD86IG51bWJlclxuICBhZGRNYXJnaW4/OiBib29sZWFuXG59XG5cbi8qKlxuICogUmVuZGVycyBhbiBpbWFnZSBhdHRhY2htZW50IGluIHVzZXIgbWVzc2FnZXMuXG4gKiBTaG93cyBhcyBhIGNsaWNrYWJsZSBsaW5rIGlmIHRoZSBpbWFnZSBpcyBzdG9yZWQgYW5kIHRlcm1pbmFsIHN1cHBvcnRzIGh5cGVybGlua3MuXG4gKiBVc2VzIE1lc3NhZ2VSZXNwb25zZSBzdHlsaW5nIHRvIGFwcGVhciBjb25uZWN0ZWQgdG8gdGhlIG1lc3NhZ2UgYWJvdmUsXG4gKiB1bmxlc3MgYWRkTWFyZ2luIGlzIHRydWUgKGltYWdlIHN0YXJ0cyBhIG5ldyB1c2VyIHR1cm4gd2l0aG91dCB0ZXh0KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFVzZXJJbWFnZU1lc3NhZ2Uoe1xuICBpbWFnZUlkLFxuICBhZGRNYXJnaW4sXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IGxhYmVsID0gaW1hZ2VJZCA/IGBbSW1hZ2UgIyR7aW1hZ2VJZH1dYCA6ICdbSW1hZ2VdJ1xuICBjb25zdCBpbWFnZVBhdGggPSBpbWFnZUlkID8gZ2V0U3RvcmVkSW1hZ2VQYXRoKGltYWdlSWQpIDogbnVsbFxuXG4gIGNvbnN0IGNvbnRlbnQgPVxuICAgIGltYWdlUGF0aCAmJiBzdXBwb3J0c0h5cGVybGlua3MoKSA/IChcbiAgICAgIDxMaW5rIHVybD17cGF0aFRvRmlsZVVSTChpbWFnZVBhdGgpLmhyZWZ9PlxuICAgICAgICA8VGV4dD57bGFiZWx9PC9UZXh0PlxuICAgICAgPC9MaW5rPlxuICAgICkgOiAoXG4gICAgICA8VGV4dD57bGFiZWx9PC9UZXh0PlxuICAgIClcblxuICAvLyBXaGVuIHRoaXMgaW1hZ2Ugc3RhcnRzIGEgbmV3IHVzZXIgdHVybiAobm8gdGV4dCBiZWZvcmUgaXQpLFxuICAvLyBzaG93IHdpdGggbWFyZ2luIGluc3RlYWQgb2YgdGhlIGNvbm5lY3RlZCBsaW5lIHN0eWxlXG4gIGlmIChhZGRNYXJnaW4pIHtcbiAgICByZXR1cm4gPEJveCBtYXJnaW5Ub3A9ezF9Pntjb250ZW50fTwvQm94PlxuICB9XG5cbiAgcmV0dXJuIDxNZXNzYWdlUmVzcG9uc2U+e2NvbnRlbnR9PC9NZXNzYWdlUmVzcG9uc2U+XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLFNBQVNDLGFBQWEsUUFBUSxLQUFLO0FBQ25DLE9BQU9DLElBQUksTUFBTSw4QkFBOEI7QUFDL0MsU0FBU0Msa0JBQWtCLFFBQVEsa0NBQWtDO0FBQ3JFLFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLGNBQWM7QUFDeEMsU0FBU0Msa0JBQWtCLFFBQVEsMkJBQTJCO0FBQzlELFNBQVNDLGVBQWUsUUFBUSx1QkFBdUI7QUFFdkQsS0FBS0MsS0FBSyxHQUFHO0VBQ1hDLE9BQU8sQ0FBQyxFQUFFLE1BQU07RUFDaEJDLFNBQVMsQ0FBQyxFQUFFLE9BQU87QUFDckIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNBQUFDLGlCQUFBQyxFQUFBO0VBQUEsTUFBQUMsQ0FBQSxHQUFBQyxFQUFBO0VBQTBCO0lBQUFMLE9BQUE7SUFBQUM7RUFBQSxJQUFBRSxFQUd6QjtFQUNOLE1BQUFHLEtBQUEsR0FBY04sT0FBTyxHQUFQLFdBQXFCQSxPQUFPLEdBQWUsR0FBM0MsU0FBMkM7RUFBQSxJQUFBTyxFQUFBO0VBQUEsSUFBQUgsQ0FBQSxRQUFBSixPQUFBLElBQUFJLENBQUEsUUFBQUUsS0FBQTtJQUN6RCxNQUFBRSxTQUFBLEdBQWtCUixPQUFPLEdBQUdILGtCQUFrQixDQUFDRyxPQUFjLENBQUMsR0FBNUMsSUFBNEM7SUFHNURPLEVBQUEsR0FBQUMsU0FBaUMsSUFBcEJkLGtCQUFrQixDQUFDLENBTS9CLEdBTEMsQ0FBQyxJQUFJLENBQU0sR0FBNkIsQ0FBN0IsQ0FBQUYsYUFBYSxDQUFDZ0IsU0FBUyxDQUFDLENBQUFDLElBQUksQ0FBQyxDQUN0QyxDQUFDLElBQUksQ0FBRUgsTUFBSSxDQUFFLEVBQVosSUFBSSxDQUNQLEVBRkMsSUFBSSxDQUtOLEdBREMsQ0FBQyxJQUFJLENBQUVBLE1BQUksQ0FBRSxFQUFaLElBQUksQ0FDTjtJQUFBRixDQUFBLE1BQUFKLE9BQUE7SUFBQUksQ0FBQSxNQUFBRSxLQUFBO0lBQUFGLENBQUEsTUFBQUcsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQUgsQ0FBQTtFQUFBO0VBUEgsTUFBQU0sT0FBQSxHQUNFSCxFQU1DO0VBSUgsSUFBSU4sU0FBUztJQUFBLElBQUFVLEVBQUE7SUFBQSxJQUFBUCxDQUFBLFFBQUFNLE9BQUE7TUFDSkMsRUFBQSxJQUFDLEdBQUcsQ0FBWSxTQUFDLENBQUQsR0FBQyxDQUFHRCxRQUFNLENBQUUsRUFBM0IsR0FBRyxDQUE4QjtNQUFBTixDQUFBLE1BQUFNLE9BQUE7TUFBQU4sQ0FBQSxNQUFBTyxFQUFBO0lBQUE7TUFBQUEsRUFBQSxHQUFBUCxDQUFBO0lBQUE7SUFBQSxPQUFsQ08sRUFBa0M7RUFBQTtFQUMxQyxJQUFBQSxFQUFBO0VBQUEsSUFBQVAsQ0FBQSxRQUFBTSxPQUFBO0lBRU1DLEVBQUEsSUFBQyxlQUFlLENBQUVELFFBQU0sQ0FBRSxFQUF6QixlQUFlLENBQTRCO0lBQUFOLENBQUEsTUFBQU0sT0FBQTtJQUFBTixDQUFBLE1BQUFPLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFQLENBQUE7RUFBQTtFQUFBLE9BQTVDTyxFQUE0QztBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
167
components/messages/UserLocalCommandOutputMessage.tsx
Normal file
167
components/messages/UserLocalCommandOutputMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
75
components/messages/UserMemoryInputMessage.tsx
Normal file
75
components/messages/UserMemoryInputMessage.tsx
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import sample from 'lodash-es/sample.js';
|
||||
import * as React from 'react';
|
||||
import { useMemo } from 'react';
|
||||
import { Box, Text } from '../../ink.js';
|
||||
import { extractTag } from '../../utils/messages.js';
|
||||
import { MessageResponse } from '../MessageResponse.js';
|
||||
function getSavingMessage(): string {
|
||||
return sample(['Got it.', 'Good to know.', 'Noted.']);
|
||||
}
|
||||
type Props = {
|
||||
addMargin: boolean;
|
||||
text: string;
|
||||
};
|
||||
export function UserMemoryInputMessage(t0) {
|
||||
const $ = _c(10);
|
||||
const {
|
||||
text,
|
||||
addMargin
|
||||
} = t0;
|
||||
let t1;
|
||||
if ($[0] !== text) {
|
||||
t1 = extractTag(text, "user-memory-input");
|
||||
$[0] = text;
|
||||
$[1] = t1;
|
||||
} else {
|
||||
t1 = $[1];
|
||||
}
|
||||
const input = t1;
|
||||
let t2;
|
||||
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t2 = getSavingMessage();
|
||||
$[2] = t2;
|
||||
} else {
|
||||
t2 = $[2];
|
||||
}
|
||||
const savingText = t2;
|
||||
if (!input) {
|
||||
return null;
|
||||
}
|
||||
const t3 = addMargin ? 1 : 0;
|
||||
let t4;
|
||||
if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t4 = <Text color="remember" backgroundColor="memoryBackgroundColor">#</Text>;
|
||||
$[3] = t4;
|
||||
} else {
|
||||
t4 = $[3];
|
||||
}
|
||||
let t5;
|
||||
if ($[4] !== input) {
|
||||
t5 = <Box>{t4}<Text backgroundColor="memoryBackgroundColor" color="text">{" "}{input}{" "}</Text></Box>;
|
||||
$[4] = input;
|
||||
$[5] = t5;
|
||||
} else {
|
||||
t5 = $[5];
|
||||
}
|
||||
let t6;
|
||||
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t6 = <MessageResponse height={1}><Text dimColor={true}>{savingText}</Text></MessageResponse>;
|
||||
$[6] = t6;
|
||||
} else {
|
||||
t6 = $[6];
|
||||
}
|
||||
let t7;
|
||||
if ($[7] !== t3 || $[8] !== t5) {
|
||||
t7 = <Box flexDirection="column" marginTop={t3} width="100%">{t5}{t6}</Box>;
|
||||
$[7] = t3;
|
||||
$[8] = t5;
|
||||
$[9] = t7;
|
||||
} else {
|
||||
t7 = $[9];
|
||||
}
|
||||
return t7;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzYW1wbGUiLCJSZWFjdCIsInVzZU1lbW8iLCJCb3giLCJUZXh0IiwiZXh0cmFjdFRhZyIsIk1lc3NhZ2VSZXNwb25zZSIsImdldFNhdmluZ01lc3NhZ2UiLCJQcm9wcyIsImFkZE1hcmdpbiIsInRleHQiLCJVc2VyTWVtb3J5SW5wdXRNZXNzYWdlIiwidDAiLCIkIiwiX2MiLCJ0MSIsImlucHV0IiwidDIiLCJTeW1ib2wiLCJmb3IiLCJzYXZpbmdUZXh0IiwidDMiLCJ0NCIsInQ1IiwidDYiLCJ0NyJdLCJzb3VyY2VzIjpbIlVzZXJNZW1vcnlJbnB1dE1lc3NhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzYW1wbGUgZnJvbSAnbG9kYXNoLWVzL3NhbXBsZS5qcydcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgZXh0cmFjdFRhZyB9IGZyb20gJy4uLy4uL3V0aWxzL21lc3NhZ2VzLmpzJ1xuaW1wb3J0IHsgTWVzc2FnZVJlc3BvbnNlIH0gZnJvbSAnLi4vTWVzc2FnZVJlc3BvbnNlLmpzJ1xuXG5mdW5jdGlvbiBnZXRTYXZpbmdNZXNzYWdlKCk6IHN0cmluZyB7XG4gIHJldHVybiBzYW1wbGUoWydHb3QgaXQuJywgJ0dvb2QgdG8ga25vdy4nLCAnTm90ZWQuJ10pXG59XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGFkZE1hcmdpbjogYm9vbGVhblxuICB0ZXh0OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFVzZXJNZW1vcnlJbnB1dE1lc3NhZ2Uoe1xuICB0ZXh0LFxuICBhZGRNYXJnaW4sXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IGlucHV0ID0gZXh0cmFjdFRhZyh0ZXh0LCAndXNlci1tZW1vcnktaW5wdXQnKVxuICBjb25zdCBzYXZpbmdUZXh0ID0gdXNlTWVtbygoKSA9PiBnZXRTYXZpbmdNZXNzYWdlKCksIFtdKVxuXG4gIGlmICghaW5wdXQpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBtYXJnaW5Ub3A9e2FkZE1hcmdpbiA/IDEgOiAwfSB3aWR0aD1cIjEwMCVcIj5cbiAgICAgIDxCb3g+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwicmVtZW1iZXJcIiBiYWNrZ3JvdW5kQ29sb3I9XCJtZW1vcnlCYWNrZ3JvdW5kQ29sb3JcIj5cbiAgICAgICAgICAjXG4gICAgICAgIDwvVGV4dD5cbiAgICAgICAgPFRleHQgYmFja2dyb3VuZENvbG9yPVwibWVtb3J5QmFja2dyb3VuZENvbG9yXCIgY29sb3I9XCJ0ZXh0XCI+XG4gICAgICAgICAgeycgJ31cbiAgICAgICAgICB7aW5wdXR9eycgJ31cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9Cb3g+XG4gICAgICA8TWVzc2FnZVJlc3BvbnNlIGhlaWdodD17MX0+XG4gICAgICAgIDxUZXh0IGRpbUNvbG9yPntzYXZpbmdUZXh0fTwvVGV4dD5cbiAgICAgIDwvTWVzc2FnZVJlc3BvbnNlPlxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxNQUFNLE1BQU0scUJBQXFCO0FBQ3hDLE9BQU8sS0FBS0MsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsT0FBTyxRQUFRLE9BQU87QUFDL0IsU0FBU0MsR0FBRyxFQUFFQyxJQUFJLFFBQVEsY0FBYztBQUN4QyxTQUFTQyxVQUFVLFFBQVEseUJBQXlCO0FBQ3BELFNBQVNDLGVBQWUsUUFBUSx1QkFBdUI7QUFFdkQsU0FBU0MsZ0JBQWdCQSxDQUFBLENBQUUsRUFBRSxNQUFNLENBQUM7RUFDbEMsT0FBT1AsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN2RDtBQUVBLEtBQUtRLEtBQUssR0FBRztFQUNYQyxTQUFTLEVBQUUsT0FBTztFQUNsQkMsSUFBSSxFQUFFLE1BQU07QUFDZCxDQUFDO0FBRUQsT0FBTyxTQUFBQyx1QkFBQUMsRUFBQTtFQUFBLE1BQUFDLENBQUEsR0FBQUMsRUFBQTtFQUFnQztJQUFBSixJQUFBO0lBQUFEO0VBQUEsSUFBQUcsRUFHL0I7RUFBQSxJQUFBRyxFQUFBO0VBQUEsSUFBQUYsQ0FBQSxRQUFBSCxJQUFBO0lBQ1FLLEVBQUEsR0FBQVYsVUFBVSxDQUFDSyxJQUFJLEVBQUUsbUJBQW1CLENBQUM7SUFBQUcsQ0FBQSxNQUFBSCxJQUFBO0lBQUFHLENBQUEsTUFBQUUsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQUYsQ0FBQTtFQUFBO0VBQW5ELE1BQUFHLEtBQUEsR0FBY0QsRUFBcUM7RUFBQSxJQUFBRSxFQUFBO0VBQUEsSUFBQUosQ0FBQSxRQUFBSyxNQUFBLENBQUFDLEdBQUE7SUFDbEJGLEVBQUEsR0FBQVYsZ0JBQWdCLENBQUMsQ0FBQztJQUFBTSxDQUFBLE1BQUFJLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFKLENBQUE7RUFBQTtFQUFuRCxNQUFBTyxVQUFBLEdBQWlDSCxFQUFrQjtFQUVuRCxJQUFJLENBQUNELEtBQUs7SUFBQSxPQUNELElBQUk7RUFBQTtFQUk0QixNQUFBSyxFQUFBLEdBQUFaLFNBQVMsR0FBVCxDQUFpQixHQUFqQixDQUFpQjtFQUFBLElBQUFhLEVBQUE7RUFBQSxJQUFBVCxDQUFBLFFBQUFLLE1BQUEsQ0FBQUMsR0FBQTtJQUVwREcsRUFBQSxJQUFDLElBQUksQ0FBTyxLQUFVLENBQVYsVUFBVSxDQUFpQixlQUF1QixDQUF2Qix1QkFBdUIsQ0FBQyxDQUUvRCxFQUZDLElBQUksQ0FFRTtJQUFBVCxDQUFBLE1BQUFTLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFULENBQUE7RUFBQTtFQUFBLElBQUFVLEVBQUE7RUFBQSxJQUFBVixDQUFBLFFBQUFHLEtBQUE7SUFIVE8sRUFBQSxJQUFDLEdBQUcsQ0FDRixDQUFBRCxFQUVNLENBQ04sQ0FBQyxJQUFJLENBQWlCLGVBQXVCLENBQXZCLHVCQUF1QixDQUFPLEtBQU0sQ0FBTixNQUFNLENBQ3ZELElBQUUsQ0FDRk4sTUFBSSxDQUFHLElBQUUsQ0FDWixFQUhDLElBQUksQ0FJUCxFQVJDLEdBQUcsQ0FRRTtJQUFBSCxDQUFBLE1BQUFHLEtBQUE7SUFBQUgsQ0FBQSxNQUFBVSxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBVixDQUFBO0VBQUE7RUFBQSxJQUFBVyxFQUFBO0VBQUEsSUFBQVgsQ0FBQSxRQUFBSyxNQUFBLENBQUFDLEdBQUE7SUFDTkssRUFBQSxJQUFDLGVBQWUsQ0FBUyxNQUFDLENBQUQsR0FBQyxDQUN4QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQVIsS0FBTyxDQUFDLENBQUVKLFdBQVMsQ0FBRSxFQUExQixJQUFJLENBQ1AsRUFGQyxlQUFlLENBRUU7SUFBQVAsQ0FBQSxNQUFBVyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBWCxDQUFBO0VBQUE7RUFBQSxJQUFBWSxFQUFBO0VBQUEsSUFBQVosQ0FBQSxRQUFBUSxFQUFBLElBQUFSLENBQUEsUUFBQVUsRUFBQTtJQVpwQkUsRUFBQSxJQUFDLEdBQUcsQ0FBZSxhQUFRLENBQVIsUUFBUSxDQUFZLFNBQWlCLENBQWpCLENBQUFKLEVBQWdCLENBQUMsQ0FBUSxLQUFNLENBQU4sTUFBTSxDQUNwRSxDQUFBRSxFQVFLLENBQ0wsQ0FBQUMsRUFFaUIsQ0FDbkIsRUFiQyxHQUFHLENBYUU7SUFBQVgsQ0FBQSxNQUFBUSxFQUFBO0lBQUFSLENBQUEsTUFBQVUsRUFBQTtJQUFBVixDQUFBLE1BQUFZLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFaLENBQUE7RUFBQTtFQUFBLE9BYk5ZLEVBYU07QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
||||
42
components/messages/UserPlanMessage.tsx
Normal file
42
components/messages/UserPlanMessage.tsx
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import * as React from 'react';
|
||||
import { Box, Text } from '../../ink.js';
|
||||
import { Markdown } from '../Markdown.js';
|
||||
type Props = {
|
||||
addMargin: boolean;
|
||||
planContent: string;
|
||||
};
|
||||
export function UserPlanMessage(t0) {
|
||||
const $ = _c(6);
|
||||
const {
|
||||
addMargin,
|
||||
planContent
|
||||
} = t0;
|
||||
const t1 = addMargin ? 1 : 0;
|
||||
let t2;
|
||||
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t2 = <Box marginBottom={1}><Text bold={true} color="planMode">Plan to implement</Text></Box>;
|
||||
$[0] = t2;
|
||||
} else {
|
||||
t2 = $[0];
|
||||
}
|
||||
let t3;
|
||||
if ($[1] !== planContent) {
|
||||
t3 = <Markdown>{planContent}</Markdown>;
|
||||
$[1] = planContent;
|
||||
$[2] = t3;
|
||||
} else {
|
||||
t3 = $[2];
|
||||
}
|
||||
let t4;
|
||||
if ($[3] !== t1 || $[4] !== t3) {
|
||||
t4 = <Box flexDirection="column" borderStyle="round" borderColor="planMode" marginTop={t1} paddingX={1}>{t2}{t3}</Box>;
|
||||
$[3] = t1;
|
||||
$[4] = t3;
|
||||
$[5] = t4;
|
||||
} else {
|
||||
t4 = $[5];
|
||||
}
|
||||
return t4;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkJveCIsIlRleHQiLCJNYXJrZG93biIsIlByb3BzIiwiYWRkTWFyZ2luIiwicGxhbkNvbnRlbnQiLCJVc2VyUGxhbk1lc3NhZ2UiLCJ0MCIsIiQiLCJfYyIsInQxIiwidDIiLCJTeW1ib2wiLCJmb3IiLCJ0MyIsInQ0Il0sInNvdXJjZXMiOlsiVXNlclBsYW5NZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJveCwgVGV4dCB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB7IE1hcmtkb3duIH0gZnJvbSAnLi4vTWFya2Rvd24uanMnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIGFkZE1hcmdpbjogYm9vbGVhblxuICBwbGFuQ29udGVudDogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBVc2VyUGxhbk1lc3NhZ2Uoe1xuICBhZGRNYXJnaW4sXG4gIHBsYW5Db250ZW50LFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICByZXR1cm4gKFxuICAgIDxCb3hcbiAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgYm9yZGVyU3R5bGU9XCJyb3VuZFwiXG4gICAgICBib3JkZXJDb2xvcj1cInBsYW5Nb2RlXCJcbiAgICAgIG1hcmdpblRvcD17YWRkTWFyZ2luID8gMSA6IDB9XG4gICAgICBwYWRkaW5nWD17MX1cbiAgICA+XG4gICAgICA8Qm94IG1hcmdpbkJvdHRvbT17MX0+XG4gICAgICAgIDxUZXh0IGJvbGQgY29sb3I9XCJwbGFuTW9kZVwiPlxuICAgICAgICAgIFBsYW4gdG8gaW1wbGVtZW50XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvQm94PlxuICAgICAgPE1hcmtkb3duPntwbGFuQ29udGVudH08L01hcmtkb3duPlxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLGNBQWM7QUFDeEMsU0FBU0MsUUFBUSxRQUFRLGdCQUFnQjtBQUV6QyxLQUFLQyxLQUFLLEdBQUc7RUFDWEMsU0FBUyxFQUFFLE9BQU87RUFDbEJDLFdBQVcsRUFBRSxNQUFNO0FBQ3JCLENBQUM7QUFFRCxPQUFPLFNBQUFDLGdCQUFBQyxFQUFBO0VBQUEsTUFBQUMsQ0FBQSxHQUFBQyxFQUFBO0VBQXlCO0lBQUFMLFNBQUE7SUFBQUM7RUFBQSxJQUFBRSxFQUd4QjtFQU1TLE1BQUFHLEVBQUEsR0FBQU4sU0FBUyxHQUFULENBQWlCLEdBQWpCLENBQWlCO0VBQUEsSUFBQU8sRUFBQTtFQUFBLElBQUFILENBQUEsUUFBQUksTUFBQSxDQUFBQyxHQUFBO0lBRzVCRixFQUFBLElBQUMsR0FBRyxDQUFlLFlBQUMsQ0FBRCxHQUFDLENBQ2xCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSixLQUFHLENBQUMsQ0FBTyxLQUFVLENBQVYsVUFBVSxDQUFDLGlCQUU1QixFQUZDLElBQUksQ0FHUCxFQUpDLEdBQUcsQ0FJRTtJQUFBSCxDQUFBLE1BQUFHLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFILENBQUE7RUFBQTtFQUFBLElBQUFNLEVBQUE7RUFBQSxJQUFBTixDQUFBLFFBQUFILFdBQUE7SUFDTlMsRUFBQSxJQUFDLFFBQVEsQ0FBRVQsWUFBVSxDQUFFLEVBQXRCLFFBQVEsQ0FBeUI7SUFBQUcsQ0FBQSxNQUFBSCxXQUFBO0lBQUFHLENBQUEsTUFBQU0sRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQU4sQ0FBQTtFQUFBO0VBQUEsSUFBQU8sRUFBQTtFQUFBLElBQUFQLENBQUEsUUFBQUUsRUFBQSxJQUFBRixDQUFBLFFBQUFNLEVBQUE7SUFacENDLEVBQUEsSUFBQyxHQUFHLENBQ1ksYUFBUSxDQUFSLFFBQVEsQ0FDVixXQUFPLENBQVAsT0FBTyxDQUNQLFdBQVUsQ0FBVixVQUFVLENBQ1gsU0FBaUIsQ0FBakIsQ0FBQUwsRUFBZ0IsQ0FBQyxDQUNsQixRQUFDLENBQUQsR0FBQyxDQUVYLENBQUFDLEVBSUssQ0FDTCxDQUFBRyxFQUFpQyxDQUNuQyxFQWJDLEdBQUcsQ0FhRTtJQUFBTixDQUFBLE1BQUFFLEVBQUE7SUFBQUYsQ0FBQSxNQUFBTSxFQUFBO0lBQUFOLENBQUEsTUFBQU8sRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQVAsQ0FBQTtFQUFBO0VBQUEsT0FiTk8sRUFhTTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
80
components/messages/UserPromptMessage.tsx
Normal file
80
components/messages/UserPromptMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
121
components/messages/UserResourceUpdateMessage.tsx
Normal file
121
components/messages/UserResourceUpdateMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
206
components/messages/UserTeammateMessage.tsx
Normal file
206
components/messages/UserTeammateMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
275
components/messages/UserTextMessage.tsx
Normal file
275
components/messages/UserTextMessage.tsx
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,31 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import * as React from 'react';
|
||||
import { Markdown } from 'src/components/Markdown.js';
|
||||
import { MessageResponse } from 'src/components/MessageResponse.js';
|
||||
import { Box, Text } from '../../../ink.js';
|
||||
type Props = {
|
||||
plan: string;
|
||||
};
|
||||
export function RejectedPlanMessage(t0) {
|
||||
const $ = _c(3);
|
||||
const {
|
||||
plan
|
||||
} = t0;
|
||||
let t1;
|
||||
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t1 = <Text color="subtle">User rejected Claude's plan:</Text>;
|
||||
$[0] = t1;
|
||||
} else {
|
||||
t1 = $[0];
|
||||
}
|
||||
let t2;
|
||||
if ($[1] !== plan) {
|
||||
t2 = <MessageResponse><Box flexDirection="column">{t1}<Box borderStyle="round" borderColor="planMode" paddingX={1} overflow="hidden"><Markdown>{plan}</Markdown></Box></Box></MessageResponse>;
|
||||
$[1] = plan;
|
||||
$[2] = t2;
|
||||
} else {
|
||||
t2 = $[2];
|
||||
}
|
||||
return t2;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk1hcmtkb3duIiwiTWVzc2FnZVJlc3BvbnNlIiwiQm94IiwiVGV4dCIsIlByb3BzIiwicGxhbiIsIlJlamVjdGVkUGxhbk1lc3NhZ2UiLCJ0MCIsIiQiLCJfYyIsInQxIiwiU3ltYm9sIiwiZm9yIiwidDIiXSwic291cmNlcyI6WyJSZWplY3RlZFBsYW5NZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IE1hcmtkb3duIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvTWFya2Rvd24uanMnXG5pbXBvcnQgeyBNZXNzYWdlUmVzcG9uc2UgfSBmcm9tICdzcmMvY29tcG9uZW50cy9NZXNzYWdlUmVzcG9uc2UuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi8uLi8uLi9pbmsuanMnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIHBsYW46IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVqZWN0ZWRQbGFuTWVzc2FnZSh7IHBsYW4gfTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICByZXR1cm4gKFxuICAgIDxNZXNzYWdlUmVzcG9uc2U+XG4gICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgPFRleHQgY29sb3I9XCJzdWJ0bGVcIj5Vc2VyIHJlamVjdGVkIENsYXVkZSZhcG9zO3MgcGxhbjo8L1RleHQ+XG4gICAgICAgIDxCb3hcbiAgICAgICAgICBib3JkZXJTdHlsZT1cInJvdW5kXCJcbiAgICAgICAgICBib3JkZXJDb2xvcj1cInBsYW5Nb2RlXCJcbiAgICAgICAgICBwYWRkaW5nWD17MX1cbiAgICAgICAgICAvLyBOZWNlc3NhcnkgZm9yIFdpbmRvd3MgVGVybWluYWwgdG8gcmVuZGVyIHByb3Blcmx5XG4gICAgICAgICAgb3ZlcmZsb3c9XCJoaWRkZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgPE1hcmtkb3duPntwbGFufTwvTWFya2Rvd24+XG4gICAgICAgIDwvQm94PlxuICAgICAgPC9Cb3g+XG4gICAgPC9NZXNzYWdlUmVzcG9uc2U+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsUUFBUSxRQUFRLDRCQUE0QjtBQUNyRCxTQUFTQyxlQUFlLFFBQVEsbUNBQW1DO0FBQ25FLFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLGlCQUFpQjtBQUUzQyxLQUFLQyxLQUFLLEdBQUc7RUFDWEMsSUFBSSxFQUFFLE1BQU07QUFDZCxDQUFDO0FBRUQsT0FBTyxTQUFBQyxvQkFBQUMsRUFBQTtFQUFBLE1BQUFDLENBQUEsR0FBQUMsRUFBQTtFQUE2QjtJQUFBSjtFQUFBLElBQUFFLEVBQWU7RUFBQSxJQUFBRyxFQUFBO0VBQUEsSUFBQUYsQ0FBQSxRQUFBRyxNQUFBLENBQUFDLEdBQUE7SUFJM0NGLEVBQUEsSUFBQyxJQUFJLENBQU8sS0FBUSxDQUFSLFFBQVEsQ0FBQyw0QkFBaUMsRUFBckQsSUFBSSxDQUF3RDtJQUFBRixDQUFBLE1BQUFFLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFGLENBQUE7RUFBQTtFQUFBLElBQUFLLEVBQUE7RUFBQSxJQUFBTCxDQUFBLFFBQUFILElBQUE7SUFGakVRLEVBQUEsSUFBQyxlQUFlLENBQ2QsQ0FBQyxHQUFHLENBQWUsYUFBUSxDQUFSLFFBQVEsQ0FDekIsQ0FBQUgsRUFBNEQsQ0FDNUQsQ0FBQyxHQUFHLENBQ1UsV0FBTyxDQUFQLE9BQU8sQ0FDUCxXQUFVLENBQVYsVUFBVSxDQUNaLFFBQUMsQ0FBRCxHQUFDLENBRUYsUUFBUSxDQUFSLFFBQVEsQ0FFakIsQ0FBQyxRQUFRLENBQUVMLEtBQUcsQ0FBRSxFQUFmLFFBQVEsQ0FDWCxFQVJDLEdBQUcsQ0FTTixFQVhDLEdBQUcsQ0FZTixFQWJDLGVBQWUsQ0FhRTtJQUFBRyxDQUFBLE1BQUFILElBQUE7SUFBQUcsQ0FBQSxNQUFBSyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBTCxDQUFBO0VBQUE7RUFBQSxPQWJsQkssRUFha0I7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import * as React from 'react';
|
||||
import { Text } from '../../../ink.js';
|
||||
import { MessageResponse } from '../../MessageResponse.js';
|
||||
export function RejectedToolUseMessage() {
|
||||
const $ = _c(1);
|
||||
let t0;
|
||||
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t0 = <MessageResponse height={1}><Text dimColor={true}>Tool use rejected</Text></MessageResponse>;
|
||||
$[0] = t0;
|
||||
} else {
|
||||
t0 = $[0];
|
||||
}
|
||||
return t0;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRleHQiLCJNZXNzYWdlUmVzcG9uc2UiLCJSZWplY3RlZFRvb2xVc2VNZXNzYWdlIiwiJCIsIl9jIiwidDAiLCJTeW1ib2wiLCJmb3IiXSwic291cmNlcyI6WyJSZWplY3RlZFRvb2xVc2VNZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi8uLi9pbmsuanMnXG5pbXBvcnQgeyBNZXNzYWdlUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9NZXNzYWdlUmVzcG9uc2UuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBSZWplY3RlZFRvb2xVc2VNZXNzYWdlKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIHJldHVybiAoXG4gICAgPE1lc3NhZ2VSZXNwb25zZSBoZWlnaHQ9ezF9PlxuICAgICAgPFRleHQgZGltQ29sb3I+VG9vbCB1c2UgcmVqZWN0ZWQ8L1RleHQ+XG4gICAgPC9NZXNzYWdlUmVzcG9uc2U+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsSUFBSSxRQUFRLGlCQUFpQjtBQUN0QyxTQUFTQyxlQUFlLFFBQVEsMEJBQTBCO0FBRTFELE9BQU8sU0FBQUMsdUJBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFBQSxJQUFBQyxFQUFBO0VBQUEsSUFBQUYsQ0FBQSxRQUFBRyxNQUFBLENBQUFDLEdBQUE7SUFFSEYsRUFBQSxJQUFDLGVBQWUsQ0FBUyxNQUFDLENBQUQsR0FBQyxDQUN4QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQVIsS0FBTyxDQUFDLENBQUMsaUJBQWlCLEVBQS9CLElBQUksQ0FDUCxFQUZDLGVBQWUsQ0FFRTtJQUFBRixDQUFBLE1BQUFFLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFGLENBQUE7RUFBQTtFQUFBLE9BRmxCRSxFQUVrQjtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import * as React from 'react';
|
||||
import { InterruptedByUser } from 'src/components/InterruptedByUser.js';
|
||||
import { MessageResponse } from 'src/components/MessageResponse.js';
|
||||
export function UserToolCanceledMessage() {
|
||||
const $ = _c(1);
|
||||
let t0;
|
||||
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t0 = <MessageResponse height={1}><InterruptedByUser /></MessageResponse>;
|
||||
$[0] = t0;
|
||||
} else {
|
||||
t0 = $[0];
|
||||
}
|
||||
return t0;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkludGVycnVwdGVkQnlVc2VyIiwiTWVzc2FnZVJlc3BvbnNlIiwiVXNlclRvb2xDYW5jZWxlZE1lc3NhZ2UiLCIkIiwiX2MiLCJ0MCIsIlN5bWJvbCIsImZvciJdLCJzb3VyY2VzIjpbIlVzZXJUb29sQ2FuY2VsZWRNZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEludGVycnVwdGVkQnlVc2VyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvSW50ZXJydXB0ZWRCeVVzZXIuanMnXG5pbXBvcnQgeyBNZXNzYWdlUmVzcG9uc2UgfSBmcm9tICdzcmMvY29tcG9uZW50cy9NZXNzYWdlUmVzcG9uc2UuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBVc2VyVG9vbENhbmNlbGVkTWVzc2FnZSgpOiBSZWFjdC5SZWFjdE5vZGUge1xuICByZXR1cm4gKFxuICAgIDxNZXNzYWdlUmVzcG9uc2UgaGVpZ2h0PXsxfT5cbiAgICAgIDxJbnRlcnJ1cHRlZEJ5VXNlciAvPlxuICAgIDwvTWVzc2FnZVJlc3BvbnNlPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLFNBQVNDLGlCQUFpQixRQUFRLHFDQUFxQztBQUN2RSxTQUFTQyxlQUFlLFFBQVEsbUNBQW1DO0FBRW5FLE9BQU8sU0FBQUMsd0JBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFBQSxJQUFBQyxFQUFBO0VBQUEsSUFBQUYsQ0FBQSxRQUFBRyxNQUFBLENBQUFDLEdBQUE7SUFFSEYsRUFBQSxJQUFDLGVBQWUsQ0FBUyxNQUFDLENBQUQsR0FBQyxDQUN4QixDQUFDLGlCQUFpQixHQUNwQixFQUZDLGVBQWUsQ0FFRTtJQUFBRixDQUFBLE1BQUFFLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFGLENBQUE7RUFBQTtFQUFBLE9BRmxCRSxFQUVrQjtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
44
components/messages/UserToolResultMessage/utils.tsx
Normal file
44
components/messages/UserToolResultMessage/utils.tsx
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
import { c as _c } from "react/compiler-runtime";
|
||||
import type { ToolUseBlockParam } from '@anthropic-ai/sdk/resources/index.mjs';
|
||||
import { useMemo } from 'react';
|
||||
import { findToolByName, type Tool, type Tools } from '../../../Tool.js';
|
||||
import type { buildMessageLookups } from '../../../utils/messages.js';
|
||||
export function useGetToolFromMessages(toolUseID, tools, lookups) {
|
||||
const $ = _c(7);
|
||||
let t0;
|
||||
if ($[0] !== lookups.toolUseByToolUseID || $[1] !== toolUseID || $[2] !== tools) {
|
||||
bb0: {
|
||||
const toolUse = lookups.toolUseByToolUseID.get(toolUseID);
|
||||
if (!toolUse) {
|
||||
t0 = null;
|
||||
break bb0;
|
||||
}
|
||||
const tool = findToolByName(tools, toolUse.name);
|
||||
if (!tool) {
|
||||
t0 = null;
|
||||
break bb0;
|
||||
}
|
||||
let t1;
|
||||
if ($[4] !== tool || $[5] !== toolUse) {
|
||||
t1 = {
|
||||
tool,
|
||||
toolUse
|
||||
};
|
||||
$[4] = tool;
|
||||
$[5] = toolUse;
|
||||
$[6] = t1;
|
||||
} else {
|
||||
t1 = $[6];
|
||||
}
|
||||
t0 = t1;
|
||||
}
|
||||
$[0] = lookups.toolUseByToolUseID;
|
||||
$[1] = toolUseID;
|
||||
$[2] = tools;
|
||||
$[3] = t0;
|
||||
} else {
|
||||
t0 = $[3];
|
||||
}
|
||||
return t0;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUb29sVXNlQmxvY2tQYXJhbSIsInVzZU1lbW8iLCJmaW5kVG9vbEJ5TmFtZSIsIlRvb2wiLCJUb29scyIsImJ1aWxkTWVzc2FnZUxvb2t1cHMiLCJ1c2VHZXRUb29sRnJvbU1lc3NhZ2VzIiwidG9vbFVzZUlEIiwidG9vbHMiLCJsb29rdXBzIiwiJCIsIl9jIiwidDAiLCJ0b29sVXNlQnlUb29sVXNlSUQiLCJiYjAiLCJ0b29sVXNlIiwiZ2V0IiwidG9vbCIsIm5hbWUiLCJ0MSJdLCJzb3VyY2VzIjpbInV0aWxzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRvb2xVc2VCbG9ja1BhcmFtIH0gZnJvbSAnQGFudGhyb3BpYy1haS9zZGsvcmVzb3VyY2VzL2luZGV4Lm1qcydcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZpbmRUb29sQnlOYW1lLCB0eXBlIFRvb2wsIHR5cGUgVG9vbHMgfSBmcm9tICcuLi8uLi8uLi9Ub29sLmpzJ1xuaW1wb3J0IHR5cGUgeyBidWlsZE1lc3NhZ2VMb29rdXBzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbWVzc2FnZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VHZXRUb29sRnJvbU1lc3NhZ2VzKFxuICB0b29sVXNlSUQ6IHN0cmluZyxcbiAgdG9vbHM6IFRvb2xzLFxuICBsb29rdXBzOiBSZXR1cm5UeXBlPHR5cGVvZiBidWlsZE1lc3NhZ2VMb29rdXBzPixcbik6IHsgdG9vbDogVG9vbDsgdG9vbFVzZTogVG9vbFVzZUJsb2NrUGFyYW0gfSB8IG51bGwge1xuICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgdG9vbFVzZSA9IGxvb2t1cHMudG9vbFVzZUJ5VG9vbFVzZUlELmdldCh0b29sVXNlSUQpXG4gICAgaWYgKCF0b29sVXNlKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCB0b29sID0gZmluZFRvb2xCeU5hbWUodG9vbHMsIHRvb2xVc2UubmFtZSlcbiAgICBpZiAoIXRvb2wpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIHJldHVybiB7IHRvb2wsIHRvb2xVc2UgfVxuICB9LCBbdG9vbFVzZUlELCBsb29rdXBzLCB0b29sc10pXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxjQUFjQSxpQkFBaUIsUUFBUSx1Q0FBdUM7QUFDOUUsU0FBU0MsT0FBTyxRQUFRLE9BQU87QUFDL0IsU0FBU0MsY0FBYyxFQUFFLEtBQUtDLElBQUksRUFBRSxLQUFLQyxLQUFLLFFBQVEsa0JBQWtCO0FBQ3hFLGNBQWNDLG1CQUFtQixRQUFRLDRCQUE0QjtBQUVyRSxPQUFPLFNBQUFDLHVCQUFBQyxTQUFBLEVBQUFDLEtBQUEsRUFBQUMsT0FBQTtFQUFBLE1BQUFDLENBQUEsR0FBQUMsRUFBQTtFQUFBLElBQUFDLEVBQUE7RUFBQSxJQUFBRixDQUFBLFFBQUFELE9BQUEsQ0FBQUksa0JBQUEsSUFBQUgsQ0FBQSxRQUFBSCxTQUFBLElBQUFHLENBQUEsUUFBQUYsS0FBQTtJQUFBTSxHQUFBO01BTUgsTUFBQUMsT0FBQSxHQUFnQk4sT0FBTyxDQUFBSSxrQkFBbUIsQ0FBQUcsR0FBSSxDQUFDVCxTQUFTLENBQUM7TUFDekQsSUFBSSxDQUFDUSxPQUFPO1FBQ1ZILEVBQUEsR0FBTyxJQUFJO1FBQVgsTUFBQUUsR0FBQTtNQUFXO01BRWIsTUFBQUcsSUFBQSxHQUFhZixjQUFjLENBQUNNLEtBQUssRUFBRU8sT0FBTyxDQUFBRyxJQUFLLENBQUM7TUFDaEQsSUFBSSxDQUFDRCxJQUFJO1FBQ1BMLEVBQUEsR0FBTyxJQUFJO1FBQVgsTUFBQUUsR0FBQTtNQUFXO01BQ1osSUFBQUssRUFBQTtNQUFBLElBQUFULENBQUEsUUFBQU8sSUFBQSxJQUFBUCxDQUFBLFFBQUFLLE9BQUE7UUFDTUksRUFBQTtVQUFBRixJQUFBO1VBQUFGO1FBQWdCLENBQUM7UUFBQUwsQ0FBQSxNQUFBTyxJQUFBO1FBQUFQLENBQUEsTUFBQUssT0FBQTtRQUFBTCxDQUFBLE1BQUFTLEVBQUE7TUFBQTtRQUFBQSxFQUFBLEdBQUFULENBQUE7TUFBQTtNQUF4QkUsRUFBQSxHQUFPTyxFQUFpQjtJQUFBO0lBQUFULENBQUEsTUFBQUQsT0FBQSxDQUFBSSxrQkFBQTtJQUFBSCxDQUFBLE1BQUFILFNBQUE7SUFBQUcsQ0FBQSxNQUFBRixLQUFBO0lBQUFFLENBQUEsTUFBQUUsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQUYsQ0FBQTtFQUFBO0VBQUEsT0FUbkJFLEVBVXdCO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
||||
70
components/messages/nullRenderingAttachments.ts
Normal file
70
components/messages/nullRenderingAttachments.ts
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
import type { Attachment } from 'src/utils/attachments.js'
|
||||
import type { Message, NormalizedMessage } from '../../types/message.js'
|
||||
|
||||
/**
|
||||
* Attachment types that AttachmentMessage renders as `null` unconditionally
|
||||
* (no visible output regardless of runtime state). Messages.tsx filters these
|
||||
* out BEFORE the render cap / message count so invisible entries don't consume
|
||||
* the 200-message render budget (CC-724).
|
||||
*
|
||||
* Sync is enforced by TypeScript: AttachmentMessage's switch `default:` branch
|
||||
* asserts `attachment.type satisfies NullRenderingAttachmentType`. Adding a new
|
||||
* Attachment type without either a case or an entry here will fail typecheck.
|
||||
*/
|
||||
const NULL_RENDERING_TYPES = [
|
||||
'hook_success',
|
||||
'hook_additional_context',
|
||||
'hook_cancelled',
|
||||
'command_permissions',
|
||||
'agent_mention',
|
||||
'budget_usd',
|
||||
'critical_system_reminder',
|
||||
'edited_image_file',
|
||||
'edited_text_file',
|
||||
'opened_file_in_ide',
|
||||
'output_style',
|
||||
'plan_mode',
|
||||
'plan_mode_exit',
|
||||
'plan_mode_reentry',
|
||||
'structured_output',
|
||||
'team_context',
|
||||
'todo_reminder',
|
||||
'context_efficiency',
|
||||
'deferred_tools_delta',
|
||||
'mcp_instructions_delta',
|
||||
'companion_intro',
|
||||
'token_usage',
|
||||
'ultrathink_effort',
|
||||
'max_turns_reached',
|
||||
'task_reminder',
|
||||
'auto_mode',
|
||||
'auto_mode_exit',
|
||||
'output_token_usage',
|
||||
'pen_mode_enter',
|
||||
'pen_mode_exit',
|
||||
'verify_plan_reminder',
|
||||
'current_session_memory',
|
||||
'compaction_reminder',
|
||||
'date_change',
|
||||
] as const satisfies readonly Attachment['type'][]
|
||||
|
||||
export type NullRenderingAttachmentType = (typeof NULL_RENDERING_TYPES)[number]
|
||||
|
||||
const NULL_RENDERING_ATTACHMENT_TYPES: ReadonlySet<Attachment['type']> =
|
||||
new Set(NULL_RENDERING_TYPES)
|
||||
|
||||
/**
|
||||
* True when this message is an attachment that AttachmentMessage renders as
|
||||
* null with no visible output. Messages.tsx filters these out before counting
|
||||
* and before applying the 200-message render cap, so invisible hook
|
||||
* attachments (hook_success, hook_additional_context, hook_cancelled) don't
|
||||
* inflate the "N messages" count or eat into the render budget (CC-724).
|
||||
*/
|
||||
export function isNullRenderingAttachment(
|
||||
msg: Message | NormalizedMessage,
|
||||
): boolean {
|
||||
return (
|
||||
msg.type === 'attachment' &&
|
||||
NULL_RENDERING_ATTACHMENT_TYPES.has(msg.attachment.type)
|
||||
)
|
||||
}
|
||||
140
components/messages/teamMemCollapsed.tsx
Normal file
140
components/messages/teamMemCollapsed.tsx
Normal file
File diff suppressed because one or more lines are too long
19
components/messages/teamMemSaved.ts
Normal file
19
components/messages/teamMemSaved.ts
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
import type { SystemMemorySavedMessage } from '../../types/message.js'
|
||||
|
||||
/**
|
||||
* Returns the team-memory segment for the memory-saved UI, plus the count so
|
||||
* the caller can derive the private count without accessing teamCount itself.
|
||||
* Plain function (not a React component) so the React Compiler won't hoist
|
||||
* the teamCount property access for memoization. This module is only loaded
|
||||
* when feature('TEAMMEM') is true.
|
||||
*/
|
||||
export function teamMemSavedPart(
|
||||
message: SystemMemorySavedMessage,
|
||||
): { segment: string; count: number } | null {
|
||||
const count = message.teamCount ?? 0
|
||||
if (count === 0) return null
|
||||
return {
|
||||
segment: `${count} team ${count === 1 ? 'memory' : 'memories'}`,
|
||||
count,
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue