├── src
├── templates.js
├── app.pcss
├── vite-env.d.ts
├── main.js
├── svelte-marked
│ ├── markdown
│ │ ├── extensions
│ │ │ ├── index.ts
│ │ │ └── container.ts
│ │ ├── components
│ │ │ ├── MarkdownInlineKatex.svelte
│ │ │ ├── MarkdownBlockKatex.svelte
│ │ │ ├── MarkdownBr.svelte
│ │ │ ├── MarkdownHr.svelte
│ │ │ ├── MarkdownText.svelte
│ │ │ ├── MarkdownSpace.svelte
│ │ │ ├── MarkdownEm.svelte
│ │ │ ├── MarkdownDel.svelte
│ │ │ ├── MarkdownDfn.svelte
│ │ │ ├── MarkdownParagraph.svelte
│ │ │ ├── MarkdownStrong.svelte
│ │ │ ├── list
│ │ │ │ ├── MarkdownListItem.svelte
│ │ │ │ └── MarkdownList.svelte
│ │ │ ├── MarkdownBloquote.svelte
│ │ │ ├── code
│ │ │ │ ├── MarkdownCodeSpan.svelte
│ │ │ │ └── MarkdownCode.svelte
│ │ │ ├── MarkdownHtml.svelte
│ │ │ ├── MarkdownImage.svelte
│ │ │ ├── MarkdownLink.svelte
│ │ │ ├── MarkdownHeading.svelte
│ │ │ ├── table
│ │ │ │ └── MarkdownTable.svelte
│ │ │ └── index.ts
│ │ ├── suppressWarnings.ts
│ │ ├── MarkdownTokens.svelte
│ │ ├── MarkdownToken.svelte
│ │ ├── Markdown.svelte
│ │ └── markedConfiguration.ts
│ ├── utils
│ │ └── url.ts
│ └── index.ts
├── Tooltip.svelte
├── Icon.svelte
├── ToolPill.svelte
├── actions.js
├── Checkbox.svelte
├── date.js
├── Button.svelte
├── ClientTool.svelte
├── ToolcallButton.svelte
├── localstorage.js
├── share.js
├── MessageContent.svelte
├── Modal.svelte
├── FilePreview.svelte
├── stores.js
├── Choice.svelte
├── CompanyLogo.svelte
├── ReasoningEffortRangeDropdown.svelte
├── KnobsSidebar.svelte
├── util.js
├── marked-katex-extension
│ └── index.js
├── svelte-json-view
│ └── JsonView.svelte
├── tools.js
├── ToolDropdown.svelte
├── ModelSelector.svelte
├── tooltip.js
├── Toolcall.svelte
├── ClientToolSetting.svelte
├── sync.js
├── providers.js
├── convo.js
└── SettingsModal.svelte
├── public
├── ios
│ └── 180.png
├── logos
│ ├── cohere.png
│ ├── google.png
│ ├── groq.png
│ ├── meta.png
│ ├── nous.png
│ ├── openai.ico
│ ├── deepseek.ico
│ ├── mistral.png
│ ├── anthropic.jpeg
│ ├── qwen.svg
│ └── perplexity.svg
├── macos
│ └── icon.png
├── android
│ └── android-launchericon-512-512.png
├── manifest.json
├── convert-favicon-to-mac-icon.sh
└── llum5.svg
├── .vscode
└── extensions.json
├── svelte.config.js
├── .prettierignore
├── sync
├── go.mod
└── go.sum
├── postcss.config.cjs
├── .prettierrc
├── .gitignore
├── vite.config.js
├── index.html
├── server
├── go.mod
├── toolfns
│ ├── generated_toolfns.go
│ └── toolfns.go
├── release.sh
├── main.go
└── go.sum
├── package.json
├── jsconfig.json
├── LICENSE
├── generatefeathericons.sh
├── tailwind.config.cjs
└── README.md
/src/templates.js:
--------------------------------------------------------------------------------
1 | export const conversationTemplates = {};
2 |
--------------------------------------------------------------------------------
/public/ios/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/ios/180.png
--------------------------------------------------------------------------------
/src/app.pcss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["svelte.svelte-vscode"]
3 | }
4 |
--------------------------------------------------------------------------------
/public/logos/cohere.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/logos/cohere.png
--------------------------------------------------------------------------------
/public/logos/google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/logos/google.png
--------------------------------------------------------------------------------
/public/logos/groq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/logos/groq.png
--------------------------------------------------------------------------------
/public/logos/meta.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/logos/meta.png
--------------------------------------------------------------------------------
/public/logos/nous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/logos/nous.png
--------------------------------------------------------------------------------
/public/logos/openai.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/logos/openai.ico
--------------------------------------------------------------------------------
/public/macos/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/macos/icon.png
--------------------------------------------------------------------------------
/public/logos/deepseek.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/logos/deepseek.ico
--------------------------------------------------------------------------------
/public/logos/mistral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zakkor/llum/HEAD/public/logos/mistral.png
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
11 |
--------------------------------------------------------------------------------
/src/svelte-marked/markdown/components/MarkdownHr.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
11 |13 | -------------------------------------------------------------------------------- /src/svelte-marked/markdown/components/code/MarkdownCodeSpan.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 |12 |
{token.raw.slice(1, token.raw.length - 1)}
11 |
--------------------------------------------------------------------------------
/src/svelte-marked/markdown/suppressWarnings.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-console */
2 | import { onMount } from 'svelte'
3 |
4 | export function suppressWarnings() {
5 | const origWarn = console.warn
6 |
7 | console.warn = (message: string) => {
8 | if (message.includes('unknown prop')) return
9 | if (message.includes('unexpected slot')) return
10 | origWarn(message)
11 | }
12 |
13 | onMount(() => {
14 | console.warn = origWarn
15 | })
16 | }
17 |
--------------------------------------------------------------------------------
/src/svelte-marked/markdown/components/MarkdownHtml.svelte:
--------------------------------------------------------------------------------
1 |
9 |
10 | {token.text}
13 |
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "llum",
3 | "short_name": "llum",
4 | "start_url": "/",
5 | "display": "standalone",
6 | "background_color": "#ffffff",
7 | "theme_color": "#ffffff",
8 | "description": "A simple, lightweight, and open LLM playground.",
9 | "icons": [
10 | {
11 | "src": "macos/icon.png",
12 | "sizes": "512x512"
13 | },
14 | {
15 | "src": "android/android-launchericon-512-512.png",
16 | "sizes": "512x512"
17 | },
18 | {
19 | "src": "ios/180.png",
20 | "sizes": "180x180"
21 | }
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/src/svelte-marked/markdown/MarkdownTokens.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 | {#if tokens}
14 | {#each tokens as token}
15 | |
16 | |
18 | {/each}
19 |
|---|
|
26 | |
28 | {/each}
29 |
{definition.name}({'{ '}{definition.arguments.map(arg => `${arg.name}: ${arg.type}`).join(', ')}{' }'})
14 |
15 |
23 |
31 |