Initial commit: Hermes Chat v2

Svelte 5 + shadcn-svelte + Tailwind CSS v4 chat interface
for Hermes Agent with Monaco editor, file drag/drop,
artifacts, image preview, and real session management.

- SSE streaming via hermes CLI proxy
- File upload + drag/drop with image preview
- Code artifacts with Monaco editor
- Markdown + highlight.js syntax highlighting
- Full settings (model, provider, temp, system prompt)
- 12 shadcn UI components
- Dark/light theme
This commit is contained in:
2026-05-22 05:21:37 +02:00
commit 511793772a
80 changed files with 4637 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
<script lang="ts">
import { Tooltip as TooltipPrimitive } from "bits-ui";
import { cn } from "$lib/utils.ts";
let {
class: className = "",
children,
sideOffset = 4,
...restProps
}: {
class?: string;
children?: import("svelte").Snippet;
sideOffset?: number;
[key: string]: unknown;
} = $props();
</script>
<TooltipPrimitive.Content
{sideOffset}
class={cn(
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
className
)}
{...restProps}
>
{#if children}
{@render children()}
{/if}
</TooltipPrimitive.Content>