mirror of
https://github.com/andy-stack/vaultkeeper-ai.git
synced 2026-07-22 06:42:03 +00:00
- Add planning mode toggle and AskUserQuestion function for interactive planning - Fix Gemini cross-provider function call detection using toolId presence - Update OpenAI naming service to handle new response format - Improve system prompts by removing complexity gate, streamlining to action-first principle - Add InputDisplay component and question mode to ChatInput - Refactor execution plan error messages to show all incomplete steps - Update tests to reflect cross-provider function call format changes
64 lines
1.7 KiB
Svelte
64 lines
1.7 KiB
Svelte
<script lang="ts">
|
|
import { slide } from "svelte/transition";
|
|
|
|
export let editModeActive = false;
|
|
|
|
let displayItem: HTMLElement | undefined;
|
|
let contentDiv: HTMLDivElement;
|
|
|
|
export function setDisplayItem(element: HTMLElement) {
|
|
displayItem = element;
|
|
}
|
|
|
|
export function clearDisplayItem() {
|
|
displayItem = undefined;
|
|
}
|
|
|
|
$: if (contentDiv && displayItem) {
|
|
contentDiv.empty();
|
|
contentDiv.appendChild(displayItem);
|
|
}
|
|
</script>
|
|
|
|
{#if displayItem}
|
|
<div id="input-display-wrapper" transition:slide>
|
|
<div id="input-display-container" class:edit-mode={editModeActive} bind:this={contentDiv}>
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
|
|
<style>
|
|
#input-display-wrapper {
|
|
transition: height 0.2s ease-out;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#input-display-container {
|
|
display: flex;
|
|
overflow-y: auto;
|
|
scroll-behavior: smooth;
|
|
max-height: 15vh;
|
|
justify-content: center;
|
|
align-items: flex-start;
|
|
margin: var(--size-4-2) 0;
|
|
padding: var(--size-4-2);
|
|
border: solid;
|
|
border-radius: var(--radius-m);
|
|
border-width: var(--border-width);
|
|
border-color: var(--color-accent);
|
|
box-shadow: inset 0px 0px 2px 1px var(--color-accent);
|
|
font-size: var(--font-ui-medium);
|
|
font-family: var(--font-interface-theme);
|
|
transition: border-color 0.5s ease-out;
|
|
}
|
|
|
|
#input-display-container.edit-mode {
|
|
border-color: var(--alt-interactive-accent);
|
|
box-shadow: inset 0px 0px 2px 1px var(--alt-interactive-accent);
|
|
transition: border-color 0.5s ease-out;
|
|
}
|
|
|
|
#input-display-container::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
</style>
|