@@ -248,17 +222,9 @@ export default function MessageBubble({ message, assistantAvatar, onQuote, quote
)
}} />
- {message.interactions?.map((interaction) => interaction.kind === 'approval' ? inlineApprovalIds.has(interaction.id)
- ? interaction.error && !actionError ?
{interaction.error}
: null
- :
onRespond?.(id, { kind: 'approval', optionId: decision.optionId })}
- reject={(id) => {
- const option = interaction.options.find((item) => item.kind.startsWith('reject'))
- return option ? onRespond?.(id, { kind: 'approval', optionId: option.optionId }) : undefined
- }} /> : interaction.answer && !message.tools?.some((tool) => tool.id === interaction.toolCallId && tool.metadata?.questionAnswer) ? : null)}
+ {message.interactions?.map((interaction) => interaction.kind === 'question' && interaction.answer &&
+ !message.tools?.some((tool) => tool.id === interaction.toolCallId && tool.metadata?.questionAnswer)
+ ? : null)}
{streaming && }
diff --git a/src/renderer/src/workbuddy/composer/composer.css b/src/renderer/src/workbuddy/composer/composer.css
index d57a485..89d17c5 100644
--- a/src/renderer/src/workbuddy/composer/composer.css
+++ b/src/renderer/src/workbuddy/composer/composer.css
@@ -345,6 +345,177 @@
font-size: var(--yc-text-caption-size, 12px);
}
+.conversation-input-area__custom-floating {
+ width: 100%;
+ min-width: 0;
+ padding-bottom: 8px;
+}
+
+.conversation-input-area__custom-floating > * {
+ width: 100%;
+ max-width: 100%;
+}
+
+.conversation-high-credit-approval.permission-floating {
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ overflow: hidden;
+ border: 1px solid var(--cb-question-floating-card-border, var(--yc-border-primary, #e6e6e6));
+ border-radius: 24px;
+ background: var(--cb-question-floating-card-bg, var(--yc-bg-primary, #fff));
+ color: var(--cb-question-floating-text-primary, var(--yc-text-primary, #222));
+ box-shadow: 0 6px 16px #00000005, 0 1px 4px #00000008;
+ animation: permission-floating-in .2s ease-out;
+}
+
+.permission-floating .conversation-high-credit-approval__header {
+ display: flex;
+ flex-direction: column;
+ gap: 4px;
+ padding: 20px 24px 12px;
+}
+
+.permission-floating .conversation-high-credit-approval__title-row {
+ display: flex;
+ align-items: center;
+ min-width: 0;
+}
+
+.permission-floating .conversation-high-credit-approval__title {
+ min-width: 0;
+ overflow: hidden;
+ color: var(--cb-question-floating-text-primary, var(--yc-text-primary, #222));
+ font-size: 14px;
+ font-weight: 500;
+ line-height: 24px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.permission-floating .conversation-high-credit-approval__description {
+ margin: 0;
+ color: var(--cb-question-floating-text-secondary, var(--yc-text-secondary, #666));
+ font-size: 13px;
+ line-height: 20px;
+}
+
+.permission-floating .conversation-high-credit-approval__content {
+ display: flex;
+ flex-direction: column;
+ padding: 0 12px;
+}
+
+.permission-floating .conversation-high-credit-approval__option {
+ position: relative;
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ width: 100%;
+ height: 44px;
+ min-height: 44px;
+ padding: 8px 12px;
+ border: 0;
+ border-radius: 12px;
+ background: transparent;
+ color: inherit;
+ font: inherit;
+ text-align: left;
+ cursor: pointer;
+ transition: background-color .15s, opacity .15s;
+}
+
+.permission-floating .conversation-high-credit-approval__option:not(:last-child)::after {
+ position: absolute;
+ right: 12px;
+ bottom: 0;
+ left: 12px;
+ height: 1px;
+ background: var(--cb-question-floating-hover-bg, var(--yc-bg-hover, #f2f2f2));
+ content: "";
+ pointer-events: none;
+}
+
+.permission-floating .conversation-high-credit-approval__option:hover:not(:disabled),
+.permission-floating .conversation-high-credit-approval__option:focus-visible {
+ background: var(--cb-question-floating-hover-bg, var(--yc-bg-hover, #f2f2f2));
+ outline: none;
+}
+
+.permission-floating .conversation-high-credit-approval__option:disabled {
+ cursor: default;
+ opacity: .45;
+}
+
+.permission-floating .conversation-high-credit-approval__option-num {
+ display: inline-flex;
+ flex: none;
+ align-items: center;
+ justify-content: center;
+ width: 24px;
+ height: 24px;
+ border-radius: 8px;
+ background: var(--cb-question-floating-number-bg, var(--yc-bg-secondary, #f2f2f2));
+ font-size: 14px;
+ line-height: 14px;
+}
+
+.permission-floating .conversation-high-credit-approval__option-text {
+ flex: 1;
+ min-width: 0;
+ font-size: 14px;
+ line-height: 22px;
+}
+
+.permission-floating .conversation-high-credit-approval__option-arrow {
+ flex: none;
+ width: 16px;
+ height: 16px;
+ color: var(--cb-question-floating-text-secondary, var(--yc-text-secondary, #666));
+ opacity: 0;
+ transition: opacity .15s;
+}
+
+.permission-floating .conversation-high-credit-approval__option:hover .conversation-high-credit-approval__option-arrow {
+ opacity: 1;
+}
+
+.permission-floating .conversation-high-credit-approval__option--reject {
+ color: var(--yc-status-error, #cf222e);
+}
+
+.permission-floating .conversation-high-credit-approval__working {
+ padding: 0 24px 16px;
+ color: var(--cb-question-floating-text-secondary, var(--yc-text-secondary, #666));
+ font-size: 12px;
+ line-height: 20px;
+}
+
+.permission-floating .conversation-high-credit-approval__error {
+ margin: 0 24px 8px;
+ color: var(--yc-status-error, #cf222e);
+ font-size: 12px;
+ line-height: 20px;
+}
+
+@keyframes permission-floating-in {
+ from {
+ opacity: 0;
+ transform: translateY(8px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .conversation-high-credit-approval.permission-floating {
+ animation: none;
+ }
+}
+
@media (max-width: 480px) {
.wb-composer .cr-input-toolbar {
align-items: flex-start;