From dc1d250a6c8945cdaa3d64f6dccff3b02952fb66 Mon Sep 17 00:00:00 2001 From: samuel100 Date: Thu, 29 Jan 2026 16:51:20 +0000 Subject: [PATCH 01/10] javascript sdk_v2 examples --- .../js/audio-transcription-example/README.md | 45 ++++++++++ samples/js/audio-transcription-example/app.js | 42 ++++++++++ samples/js/hello-foundry-local/README.md | 15 ---- samples/js/hello-foundry-local/src/app.js | 41 ---------- .../langchain-integration-example/README.md | 47 +++++++++++ .../js/langchain-integration-example/app.js | 82 +++++++++++++++++++ samples/js/native-chat-completions/README.md | 44 ++++++++++ samples/js/native-chat-completions/app.js | 57 +++++++++++++ samples/js/web-server-example/README.md | 47 +++++++++++ samples/js/web-server-example/app.js | 58 +++++++++++++ 10 files changed, 422 insertions(+), 56 deletions(-) create mode 100644 samples/js/audio-transcription-example/README.md create mode 100644 samples/js/audio-transcription-example/app.js delete mode 100644 samples/js/hello-foundry-local/README.md delete mode 100644 samples/js/hello-foundry-local/src/app.js create mode 100644 samples/js/langchain-integration-example/README.md create mode 100644 samples/js/langchain-integration-example/app.js create mode 100644 samples/js/native-chat-completions/README.md create mode 100644 samples/js/native-chat-completions/app.js create mode 100644 samples/js/web-server-example/README.md create mode 100644 samples/js/web-server-example/app.js diff --git a/samples/js/audio-transcription-example/README.md b/samples/js/audio-transcription-example/README.md new file mode 100644 index 0000000..fa80ae1 --- /dev/null +++ b/samples/js/audio-transcription-example/README.md @@ -0,0 +1,45 @@ +# Audio transcription example + +This sample demonstrates how to use the audio transcription capabilities of the Foundry Local SDK with a local model. It initializes the SDK, selects an audio transcription model, and sends an audio file for transcription. + +## Prerequisites +- Ensure you have Node.js installed (version 20 or higher is recommended). + +## Setup project + +Navigate to the sample directory and install the Foundry Local SDK package. + +### Windows + +1. Navigate to the sample directory and set the project type to module: + ```bash + cd samples/js/audio-transcription-example + npm pkg set type=module + ``` +1. Install the Foundry Local package: + ```bash + npm install --winml foundry-local-sdk + ``` + > [!NOTE] + > The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. + +### MacOS and Linux + +1. Navigate to the sample directory and set the project type to module: + ```bash + cd samples/js/audio-transcription-example + npm pkg set type=module + ``` +1. Install the Foundry Local package: + ```bash + npm install foundry-local-sdk + ``` + +## Run the sample + +Run the sample script using Node.js: + +```bash +cd samples/js/audio-transcription-example +node app.js +``` \ No newline at end of file diff --git a/samples/js/audio-transcription-example/app.js b/samples/js/audio-transcription-example/app.js new file mode 100644 index 0000000..fd4ae3d --- /dev/null +++ b/samples/js/audio-transcription-example/app.js @@ -0,0 +1,42 @@ +import { FoundryLocalManager } from 'foundry-local-sdk'; + +// Initialize the Foundry Local SDK +console.log('Initializing Foundry Local SDK...'); + +const manager = FoundryLocalManager.create({ + appName: 'foundry_local_samples', + logLevel: 'info' +}); +console.log('✓ SDK initialized successfully'); + +// Get the model object +const modelAlias = 'whisper-tiny'; // Using an available model from the list above +let model = await manager.catalog.getModel(modelAlias); +console.log(`Using model: ${model.id}`); + +// Download the model +console.log(`\nDownloading model ${modelAlias}...`); +model.download(); +console.log('✓ Model downloaded'); + +// Load the model +console.log(`\nLoading model ${modelAlias}...`); +model.load(); +console.log('✓ Model loaded'); + +// Create audio client +console.log('\nCreating audio client...'); +const audioClient = model.createAudioClient(); +console.log('✓ Audio client created'); + +// Example audio transcription +console.log('\nTesting audio transcription...'); +const transcription = await audioClient.transcribe('./Recording.mp3'); + +console.log('\nAudio transcription result:'); +console.log(transcription.text); + +// Unload the model +console.log('Unloading model...'); +model.unload(); +console.log(`✓ Model unloaded`); diff --git a/samples/js/hello-foundry-local/README.md b/samples/js/hello-foundry-local/README.md deleted file mode 100644 index 24e60d3..0000000 --- a/samples/js/hello-foundry-local/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Sample: Hello Foundry Local! - -This is a simple example of how to use the Foundry Local SDK to run a model locally and make requests to it. The example demonstrates how to set up the SDK, initialize a model, and make a request to the model. - -Install the Foundry Local SDK and OpenAI packages using npm: - -```bash -npm install foundry-local-sdk openai -``` - -Run the application using Node.js: - -```bash -node src/app.js -``` diff --git a/samples/js/hello-foundry-local/src/app.js b/samples/js/hello-foundry-local/src/app.js deleted file mode 100644 index eb81e3e..0000000 --- a/samples/js/hello-foundry-local/src/app.js +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -import { OpenAI } from "openai"; -import { FoundryLocalManager } from "foundry-local-sdk"; - -// By using an alias, the most suitable model will be downloaded -// to your end-user's device. -// TIP: You can find a list of available models by running the -// following command in your terminal: `foundry model list`. -const alias = "qwen2.5-coder-0.5b"; - -// Create a FoundryLocalManager instance. This will start the Foundry -// Local service if it is not already running. -const foundryLocalManager = new FoundryLocalManager() - -// Initialize the manager with a model. This will download the model -// if it is not already present on the user's device. -const modelInfo = await foundryLocalManager.init(alias) -console.log("Model Info:", modelInfo) - -const openai = new OpenAI({ - baseURL: foundryLocalManager.endpoint, - apiKey: foundryLocalManager.apiKey, -}); - -async function streamCompletion() { - const stream = await openai.chat.completions.create({ - model: modelInfo.id, - messages: [{ role: "user", content: "What is the golden ratio?" }], - stream: true, - }); - - for await (const chunk of stream) { - if (chunk.choices[0]?.delta?.content) { - process.stdout.write(chunk.choices[0].delta.content); - } - } -} - -streamCompletion(); diff --git a/samples/js/langchain-integration-example/README.md b/samples/js/langchain-integration-example/README.md new file mode 100644 index 0000000..948e47f --- /dev/null +++ b/samples/js/langchain-integration-example/README.md @@ -0,0 +1,47 @@ +# LangChain integration example + +This sample demonstrates how to integrate the Foundry Local SDK with LangChain.js to create a simple application that uses local language models for text generation. + +## Prerequisites +- Ensure you have Node.js installed (version 20 or higher is recommended). + +## Setup project + +Navigate to the sample directory and install the Foundry Local and LangChain packages. + +### Windows + +1. Navigate to the sample directory and set the project type to module: + ```bash + cd samples/js/langchain-integration-example + npm pkg set type=module + ``` +1. Install the Foundry Local and LangChain packages: + ```bash + npm install --winml foundry-local-sdk + npm install @langchain/openai @langchain/core + ``` + > [!NOTE] + > The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. + +### MacOS and Linux + +1. Navigate to the sample directory and set the project type to module: + ```bash + cd samples/js/langchain-integration-example + npm pkg set type=module + ``` +1. Install the Foundry Local and LangChain packages: + ```bash + npm install foundry-local-sdk + npm install @langchain/openai @langchain/core + ``` + +## Run the sample + +Run the sample script using Node.js: + +```bash +cd samples/js/langchain-integration-example +node app.js +``` \ No newline at end of file diff --git a/samples/js/langchain-integration-example/app.js b/samples/js/langchain-integration-example/app.js new file mode 100644 index 0000000..0564150 --- /dev/null +++ b/samples/js/langchain-integration-example/app.js @@ -0,0 +1,82 @@ +import { ChatOpenAI } from "@langchain/openai"; +import { ChatPromptTemplate } from "@langchain/core/prompts"; +import { FoundryLocalManager } from 'foundry-local-sdk'; + +// Initialize the Foundry Local SDK +console.log('Initializing Foundry Local SDK...'); + +const endpointUrl = 'http://localhost:5764'; + +const manager = FoundryLocalManager.create({ + appName: 'foundry_local_samples', + logLevel: 'info', + webServiceUrls: endpointUrl +}); +console.log('✓ SDK initialized successfully'); + +// Get the model object +const modelAlias = 'qwen2.5-0.5b'; // Using an available model from the list above +const model = await manager.catalog.getModel(modelAlias); + +// Download the model +console.log(`\nDownloading model ${modelAlias}...`); +model.download(); +console.log('✓ Model downloaded'); + +// Load the model +console.log(`\nLoading model ${modelAlias}...`); +model.load(); +console.log('✓ Model loaded'); + +// Start the web service +console.log('\nStarting web service...'); +manager.startWebService(); +console.log('✓ Web service started'); + + +// Configure ChatOpenAI to use your locally-running model +const llm = new ChatOpenAI({ + model: model.id, + configuration: { + baseURL: endpointUrl + '/v1', + apiKey: 'notneeded' + }, + temperature: 0.6, + streaming: false +}); + +// Create a translation prompt template +const prompt = ChatPromptTemplate.fromMessages([ + { + role: "system", + content: "You are a helpful assistant that translates {input_language} to {output_language}." + }, + { + role: "user", + content: "{input}" + } +]); + +// Build a simple chain by connecting the prompt to the language model +const chain = prompt.pipe(llm); + +const input = "I love to code."; +console.log(`Translating '${input}' to French...`); + +// Run the chain with your inputs +await chain.invoke({ + input_language: "English", + output_language: "French", + input: input +}).then(aiMsg => { + // Print the result content + console.log(`Response: ${aiMsg.content}`); +}).catch(err => { + console.error("Error:", err); +}); + +// Tidy up +console.log('Unloading model and stopping web service...'); +model.unload(); +manager.stopWebService(); +console.log(`✓ Model unloaded and web service stopped`); \ No newline at end of file diff --git a/samples/js/native-chat-completions/README.md b/samples/js/native-chat-completions/README.md new file mode 100644 index 0000000..02fb6f7 --- /dev/null +++ b/samples/js/native-chat-completions/README.md @@ -0,0 +1,44 @@ +# Native chat completions with Foundry Local SDK + +This sample demonstrates how to use the Foundry Local SDK to perform native chat completions using a local model. It initializes the SDK, selects a model, and sends a chat completion request with a system prompt and user message. + +## Prerequisites +- Ensure you have Node.js installed (version 20 or higher is recommended). + +## Setup project + +Navigate to the sample directory and install the Foundry Local SDK package. + +### Windows + +1. Navigate to the sample directory and set the project type to module: + ```bash + cd samples/js/native-chat-completions + npm pkg set type=module + ``` +1. Install the Foundry Local SDK package: + ```bash + npm install --winml foundry-local-sdk + ``` + > [!NOTE] + > The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. + +### MacOS and Linux + +1. Navigate to the sample directory and set the project type to module: + ```bash + cd samples/js/native-chat-completions + npm pkg set type=module + ``` +1. Install the Foundry Local SDK package: + ```bash + npm install foundry-local-sdk + ``` + +## Run the sample + +Run the sample script using Node.js: + +```bash +node app.js +``` \ No newline at end of file diff --git a/samples/js/native-chat-completions/app.js b/samples/js/native-chat-completions/app.js new file mode 100644 index 0000000..5cea485 --- /dev/null +++ b/samples/js/native-chat-completions/app.js @@ -0,0 +1,57 @@ +import { FoundryLocalManager } from 'foundry-local-sdk'; + +// Initialize the Foundry Local SDK +console.log('Initializing Foundry Local SDK...'); + +const manager = FoundryLocalManager.create({ + appName: 'foundry_local_samples', + logLevel: 'info' +}); +console.log('✓ SDK initialized successfully'); + +// Get the model object +const modelAlias = 'qwen2.5-0.5b'; // Using an available model from the list above +const model = await manager.catalog.getModel(modelAlias); + +// Download the model +console.log(`\nDownloading model ${modelAlias}...`); +model.download(); +console.log('✓ Model downloaded'); + +// Load the model +console.log(`\nLoading model ${modelAlias}...`); +model.load(); +console.log('✓ Model loaded'); + +// Create chat client +console.log('\nCreating chat client...'); +const chatClient = model.createChatClient(); +console.log('✓ Chat client created'); + +// Example chat completion +console.log('\nTesting chat completion...'); +const completion = await chatClient.completeChat([ + { role: 'user', content: 'Why is the sky blue?' } +]); + +console.log('\nChat completion result:'); +console.log(completion.choices[0]?.message?.content); + +// Example streaming completion +console.log('\nTesting streaming completion...'); +await chatClient.completeStreamingChat( + [{ role: 'user', content: 'Write a short poem about programming.' }], + (chunk) => { + const content = chunk.choices?.[0]?.message?.content; + if (content) { + process.stdout.write(content); + } + } +); +console.log('\n'); + +// Unload the model +console.log('Unloading model...'); +model.unload(); +console.log(`✓ Model unloaded`); + \ No newline at end of file diff --git a/samples/js/web-server-example/README.md b/samples/js/web-server-example/README.md new file mode 100644 index 0000000..d66d7b9 --- /dev/null +++ b/samples/js/web-server-example/README.md @@ -0,0 +1,47 @@ +# Chat completions using an OpenAI-compatible web server + +This sample demonstrates how to use the Foundry Local SDK to perform chat completions using an OpenAI-compatible web server. It initializes the SDK with the server URL, selects a model, and sends a chat completion request with a system prompt and user message. + +## Prerequisites +- Ensure you have Node.js installed (version 20 or higher is recommended). + +## Setup project + +Navigate to the sample directory and install the required packages. + +### Windows + +1. Navigate to the sample directory and set the project type to module: + ```bash + cd samples/js/web-server-example + npm pkg set type=module + ``` +1. Install the Foundry Local and OpenAI packages: + ```bash + npm install --winml foundry-local-sdk + npm install openai + ``` + > [!NOTE] + > The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. + +### MacOS and Linux + +1. Navigate to the sample directory and set the project type to module: + ```bash + cd samples/js/web-server-example + npm pkg set type=module + ``` +1. Install the Foundry Local and OpenAI packages: + ```bash + npm install foundry-local-sdk + npm install openai + ``` + +## Run the sample + +Run the sample script using Node.js: + +```bash +cd samples/js/web-server-example +node app.js +``` \ No newline at end of file diff --git a/samples/js/web-server-example/app.js b/samples/js/web-server-example/app.js new file mode 100644 index 0000000..56a0782 --- /dev/null +++ b/samples/js/web-server-example/app.js @@ -0,0 +1,58 @@ +import { FoundryLocalManager } from 'foundry-local-sdk'; +import { OpenAI } from 'openai'; + +// Initialize the Foundry Local SDK +console.log('Initializing Foundry Local SDK...'); + +const endpointUrl = 'http://localhost:5764'; + +const manager = FoundryLocalManager.create({ + appName: 'foundry_local_samples', + logLevel: 'info', + webServiceUrls: endpointUrl +}); +console.log('✓ SDK initialized successfully'); + +// Get the model object +const modelAlias = 'qwen2.5-0.5b'; // Using an available model from the list above +const model = await manager.catalog.getModel(modelAlias); + +// Download the model +console.log(`\nDownloading model ${modelAlias}...`); +model.download(); +console.log('✓ Model downloaded'); + +// Load the model +console.log(`\nLoading model ${modelAlias}...`); +model.load(); +console.log('✓ Model loaded'); + +// Start the web service +console.log('\nStarting web service...'); +manager.startWebService(); +console.log('✓ Web service started'); + +const openai = new OpenAI({ + baseURL: endpointUrl + '/v1', + apiKey: 'notneeded', +}); + +// Example chat completion +console.log('\nTesting chat completion with OpenAI client...'); +const response = await openai.chat.completions.create({ + model: model.id, + messages: [ + { + role: "user", + content: "What is the golden ratio?", + }, + ], +}); + +console.log(response.choices[0].message.content); + +// Tidy up +console.log('Unloading model and stopping web service...'); +await model.unload(); +await manager.stopWebService(); +console.log(`✓ Model unloaded and web service stopped`); From 75d84d97e0e1b8eb3f4e6c2366428a5ce7cfaef3 Mon Sep 17 00:00:00 2001 From: samuel100 Date: Thu, 29 Jan 2026 16:53:34 +0000 Subject: [PATCH 02/10] fix note --- samples/js/audio-transcription-example/README.md | 5 +++-- samples/js/langchain-integration-example/README.md | 5 +++-- samples/js/native-chat-completions/README.md | 5 +++-- samples/js/web-server-example/README.md | 5 +++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/samples/js/audio-transcription-example/README.md b/samples/js/audio-transcription-example/README.md index fa80ae1..fcd72c4 100644 --- a/samples/js/audio-transcription-example/README.md +++ b/samples/js/audio-transcription-example/README.md @@ -20,8 +20,9 @@ Navigate to the sample directory and install the Foundry Local SDK package. ```bash npm install --winml foundry-local-sdk ``` - > [!NOTE] - > The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. + +> [!NOTE] +> The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. ### MacOS and Linux diff --git a/samples/js/langchain-integration-example/README.md b/samples/js/langchain-integration-example/README.md index 948e47f..6467c29 100644 --- a/samples/js/langchain-integration-example/README.md +++ b/samples/js/langchain-integration-example/README.md @@ -21,8 +21,9 @@ Navigate to the sample directory and install the Foundry Local and LangChain pac npm install --winml foundry-local-sdk npm install @langchain/openai @langchain/core ``` - > [!NOTE] - > The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. + +> [!NOTE] +> The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. ### MacOS and Linux diff --git a/samples/js/native-chat-completions/README.md b/samples/js/native-chat-completions/README.md index 02fb6f7..0e47530 100644 --- a/samples/js/native-chat-completions/README.md +++ b/samples/js/native-chat-completions/README.md @@ -20,8 +20,9 @@ Navigate to the sample directory and install the Foundry Local SDK package. ```bash npm install --winml foundry-local-sdk ``` - > [!NOTE] - > The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. + +> [!NOTE] +> The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. ### MacOS and Linux diff --git a/samples/js/web-server-example/README.md b/samples/js/web-server-example/README.md index d66d7b9..1161195 100644 --- a/samples/js/web-server-example/README.md +++ b/samples/js/web-server-example/README.md @@ -21,8 +21,9 @@ Navigate to the sample directory and install the required packages. npm install --winml foundry-local-sdk npm install openai ``` - > [!NOTE] - > The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. + +> [!NOTE] +> The `--winml` flag installs the Windows-specific package that uses Windows Machine Learning (WinML) for hardware acceleration on compatible devices. ### MacOS and Linux From d5eb183f6215974f3978a5290cbfe19aae2604c8 Mon Sep 17 00:00:00 2001 From: samuel100 Date: Fri, 30 Jan 2026 10:39:07 +0000 Subject: [PATCH 03/10] fix project init in js samples --- .../js/audio-transcription-example/README.md | 8 +++++--- .../audio-transcription-example/Recording.mp3 | Bin 0 -> 329760 bytes .../js/langchain-integration-example/README.md | 8 +++++--- samples/js/native-chat-completions/README.md | 9 ++++++--- samples/js/web-server-example/README.md | 8 +++++--- 5 files changed, 21 insertions(+), 12 deletions(-) create mode 100644 samples/js/audio-transcription-example/Recording.mp3 diff --git a/samples/js/audio-transcription-example/README.md b/samples/js/audio-transcription-example/README.md index fcd72c4..cdb0be3 100644 --- a/samples/js/audio-transcription-example/README.md +++ b/samples/js/audio-transcription-example/README.md @@ -7,13 +7,14 @@ This sample demonstrates how to use the audio transcription capabilities of the ## Setup project -Navigate to the sample directory and install the Foundry Local SDK package. +Navigate to the sample directory, setup the project, and install the Foundry Local SDK package. ### Windows -1. Navigate to the sample directory and set the project type to module: +1. Navigate to the sample directory and setup the project: ```bash cd samples/js/audio-transcription-example + npm init -y npm pkg set type=module ``` 1. Install the Foundry Local package: @@ -26,9 +27,10 @@ Navigate to the sample directory and install the Foundry Local SDK package. ### MacOS and Linux -1. Navigate to the sample directory and set the project type to module: +1. Navigate to the sample directory and set up the project: ```bash cd samples/js/audio-transcription-example + npm init -y npm pkg set type=module ``` 1. Install the Foundry Local package: diff --git a/samples/js/audio-transcription-example/Recording.mp3 b/samples/js/audio-transcription-example/Recording.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..deb38418bf5fde82fe380add4a999d513baa9536 GIT binary patch literal 329760 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μ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�Q|YFSfeVf->2k1hT0T>*2uc(r(94;W0E%@Q_l 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%0A? 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 Ie_=TOFVfIJ*Z=?k literal 0 HcmV?d00001 diff --git a/samples/js/langchain-integration-example/README.md b/samples/js/langchain-integration-example/README.md index 6467c29..60ed011 100644 --- a/samples/js/langchain-integration-example/README.md +++ b/samples/js/langchain-integration-example/README.md @@ -7,13 +7,14 @@ This sample demonstrates how to integrate the Foundry Local SDK with LangChain.j ## Setup project -Navigate to the sample directory and install the Foundry Local and LangChain packages. +Navigate to the sample directory, setup the project, and install the Foundry Local and LangChain packages. ### Windows -1. Navigate to the sample directory and set the project type to module: +1. Navigate to the sample directory and setup the project: ```bash cd samples/js/langchain-integration-example + npm init -y npm pkg set type=module ``` 1. Install the Foundry Local and LangChain packages: @@ -27,9 +28,10 @@ Navigate to the sample directory and install the Foundry Local and LangChain pac ### MacOS and Linux -1. Navigate to the sample directory and set the project type to module: +1. Navigate to the sample directory and setup the project: ```bash cd samples/js/langchain-integration-example + npm init -y npm pkg set type=module ``` 1. Install the Foundry Local and LangChain packages: diff --git a/samples/js/native-chat-completions/README.md b/samples/js/native-chat-completions/README.md index 0e47530..70cd7a8 100644 --- a/samples/js/native-chat-completions/README.md +++ b/samples/js/native-chat-completions/README.md @@ -7,13 +7,14 @@ This sample demonstrates how to use the Foundry Local SDK to perform native chat ## Setup project -Navigate to the sample directory and install the Foundry Local SDK package. +Navigate to the sample directory, setup the project, and install the Foundry Local SDK package. ### Windows -1. Navigate to the sample directory and set the project type to module: +1. Navigate to the sample directory and setup the project: ```bash cd samples/js/native-chat-completions + npm init -y npm pkg set type=module ``` 1. Install the Foundry Local SDK package: @@ -26,9 +27,10 @@ Navigate to the sample directory and install the Foundry Local SDK package. ### MacOS and Linux -1. Navigate to the sample directory and set the project type to module: +1. Navigate to the sample directory and setup the project: ```bash cd samples/js/native-chat-completions + npm init -y npm pkg set type=module ``` 1. Install the Foundry Local SDK package: @@ -41,5 +43,6 @@ Navigate to the sample directory and install the Foundry Local SDK package. Run the sample script using Node.js: ```bash +cd samples/js/native-chat-completions node app.js ``` \ No newline at end of file diff --git a/samples/js/web-server-example/README.md b/samples/js/web-server-example/README.md index 1161195..cb6e394 100644 --- a/samples/js/web-server-example/README.md +++ b/samples/js/web-server-example/README.md @@ -7,13 +7,14 @@ This sample demonstrates how to use the Foundry Local SDK to perform chat comple ## Setup project -Navigate to the sample directory and install the required packages. +Navigate to the sample directory, setup the project, and install the required packages. ### Windows -1. Navigate to the sample directory and set the project type to module: +1. Navigate to the sample directory and setup the project: ```bash cd samples/js/web-server-example + npm init -y npm pkg set type=module ``` 1. Install the Foundry Local and OpenAI packages: @@ -27,9 +28,10 @@ Navigate to the sample directory and install the required packages. ### MacOS and Linux -1. Navigate to the sample directory and set the project type to module: +1. Navigate to the sample directory and setup the project: ```bash cd samples/js/web-server-example + npm init -y npm pkg set type=module ``` 1. Install the Foundry Local and OpenAI packages: From 8dfb6d06d816d084ee7cc5edf220ba67e701d70f Mon Sep 17 00:00:00 2001 From: samuel100 Date: Fri, 30 Jan 2026 15:16:00 +0000 Subject: [PATCH 04/10] init refresh electron app --- samples/electron/foundry-chat/.gitignore | 9 - .../electron/foundry-chat/.vscode/launch.json | 36 - samples/electron/foundry-chat/Readme.md | 63 -- samples/electron/foundry-chat/chat.html | 448 -------- samples/electron/foundry-chat/main.js | 158 --- samples/electron/foundry-chat/package.json | 32 - samples/electron/foundry-chat/preload.cjs | 38 - .../js/electron-chat-application/README.md | 127 +++ .../foundry_local_color.svg | 40 + .../js/electron-chat-application/index.html | 139 +++ samples/js/electron-chat-application/main.js | 258 +++++ .../js/electron-chat-application/package.json | 26 + .../js/electron-chat-application/preload.js | 14 + .../js/electron-chat-application/renderer.js | 627 +++++++++++ .../js/electron-chat-application/styles.css | 971 ++++++++++++++++++ 15 files changed, 2202 insertions(+), 784 deletions(-) delete mode 100644 samples/electron/foundry-chat/.gitignore delete mode 100644 samples/electron/foundry-chat/.vscode/launch.json delete mode 100644 samples/electron/foundry-chat/Readme.md delete mode 100644 samples/electron/foundry-chat/chat.html delete mode 100644 samples/electron/foundry-chat/main.js delete mode 100644 samples/electron/foundry-chat/package.json delete mode 100644 samples/electron/foundry-chat/preload.cjs create mode 100644 samples/js/electron-chat-application/README.md create mode 100644 samples/js/electron-chat-application/foundry_local_color.svg create mode 100644 samples/js/electron-chat-application/index.html create mode 100644 samples/js/electron-chat-application/main.js create mode 100644 samples/js/electron-chat-application/package.json create mode 100644 samples/js/electron-chat-application/preload.js create mode 100644 samples/js/electron-chat-application/renderer.js create mode 100644 samples/js/electron-chat-application/styles.css diff --git a/samples/electron/foundry-chat/.gitignore b/samples/electron/foundry-chat/.gitignore deleted file mode 100644 index 1294fc6..0000000 --- a/samples/electron/foundry-chat/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -# Dependencies -node_modules/ -package-lock.json - - -# Build output -dist/ -build/ - diff --git a/samples/electron/foundry-chat/.vscode/launch.json b/samples/electron/foundry-chat/.vscode/launch.json deleted file mode 100644 index 7318f04..0000000 --- a/samples/electron/foundry-chat/.vscode/launch.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Debug Main Process", - "type": "node", - "request": "launch", - "cwd": "${workspaceFolder}", - "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", - "windows": { - "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd" - }, - "args": ["."], - "outputCapture": "std", - "console": "integratedTerminal" - }, - { - "name": "Debug Renderer Process", - "type": "chrome", - "request": "launch", - "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", - "windows": { - "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd" - }, - "runtimeArgs": [ - "${workspaceFolder}", - "--remote-debugging-port=9222" - ], - "webRoot": "${workspaceFolder}", - "timeout": 30000 - } - ] -} \ No newline at end of file diff --git a/samples/electron/foundry-chat/Readme.md b/samples/electron/foundry-chat/Readme.md deleted file mode 100644 index aea5913..0000000 --- a/samples/electron/foundry-chat/Readme.md +++ /dev/null @@ -1,63 +0,0 @@ -# Foundry Local Chat Demo - -A simple Electron Chat application that can chat with cloud and Foundry local models. - -## Prerequisites - -- Node.js (v16 or higher) - - To install Node.js on Windows, run: - ```powershell - winget install OpenJS.NodeJS - ``` - - npm comes bundled with Node.js - -## Setup Instructions -1. Download the latest Foundry .MSIX and install for your processor: - [Foundry Releases](https://github.com/microsoft/Foundry-Local/releases) - Then install it using the following powershell command. - ```powershell - add-appxpackage .msix - ``` - -2. Install dependencies: - ```powershell - npm install - ``` - -3. Set the following environment variables to your Cloud AI Service - ```powershell - YOUR_API_KEY - YOUR_ENDPOINT - YOUR_MODEL_NAME - ``` - -4. Start the application: - ```powershell - npm start - ``` - -## Building the Application (not necessary for testing) - -To build the application for your platform: -```powershell -# For all platforms -npm run build - -# For Windows specifically -npm run build:win -``` - -The built application will be available in the `dist` directory. - -## Project Structure - -- `main.js` - Main Electron process file -- `chat.html` - Main application window -- `preload.cjs` - Preload script for secure IPC communication - -## Dependencies - -- Electron - Cross-platform desktop application framework -- foundry-local-sdk - Local model integration -- OpenAI - Cloud model integration - diff --git a/samples/electron/foundry-chat/chat.html b/samples/electron/foundry-chat/chat.html deleted file mode 100644 index 9b70667..0000000 --- a/samples/electron/foundry-chat/chat.html +++ /dev/null @@ -1,448 +0,0 @@ - - - - - - Foundry Local - Chat Demo - - - -

- - - - \ No newline at end of file diff --git a/samples/electron/foundry-chat/main.js b/samples/electron/foundry-chat/main.js deleted file mode 100644 index 68c66aa..0000000 --- a/samples/electron/foundry-chat/main.js +++ /dev/null @@ -1,158 +0,0 @@ -import { app, BrowserWindow, Menu, ipcMain } from 'electron' -import { fileURLToPath } from 'url' -import path from 'path' -import OpenAI from 'openai' -import { FoundryLocalManager } from 'foundry-local-sdk' - - -// Global variables -let mainWindow -let aiClient = null -let currentModelType = 'cloud' // Add this to track current model type, default to cloud -let modelName = null -let endpoint = null -let apiKey = "" - -const cloudApiKey = process.env.YOUR_API_KEY // load cloude api key from environment variable -const cloudEndpoint = process.env.YOUR_ENDPOINT // load cloud endpoint from environment variable -const cloudModelName = process.env.YOUR_MODEL_NAME // load cloud model name from environment variable -// Check if all required environment variables are set -if (!cloudApiKey || !cloudEndpoint || !cloudModelName) { - console.error('Cloud API key, endpoint, or model name not set in environment variables, cloud mode will not work') - console.error('Please set YOUR_API_KEY, YOUR_ENDPOINT, and YOUR_MODEL_NAME') -} - -// Create and initialize the FoundryLocalManager and start the service -const foundryManager = new FoundryLocalManager() -if (!foundryManager.isServiceRunning()) { - console.error('Foundry Local service is not running') - app.quit() -} - -// Simplified IPC handlers -ipcMain.handle('send-message', (_, messages) => { - return sendMessage(messages) -}) - -// Add new IPC handler for getting local models -ipcMain.handle('get-local-models', async () => { - if (!foundryManager) { - return { success: false, error: 'Local manager not initialized' } - } - try { - const models = await foundryManager.listCachedModels() - return { success: true, models } - } catch (error) { - return { success: false, error: error.message } - } -}) - -// Add new IPC handler for switching models -ipcMain.handle('switch-model', async (_, modelId) => { - try { - if (modelId === 'cloud') { - console.log("Switching to cloud model") - currentModelType = 'cloud' - endpoint = cloudEndpoint - apiKey = cloudApiKey - modelName = cloudModelName - } else { - console.log("Switching to local model") - currentModelType = 'local' - modelName = (await foundryManager.init(modelId)).id - endpoint = foundryManager.endpoint - apiKey = foundryManager.apiKey - } - - aiClient = new OpenAI({ - apiKey: apiKey, - baseURL: endpoint - }) - - return { - success: true, - endpoint: endpoint, - modelName: modelName - } - } catch (error) { - return { success: false, error: error.message } - } -}) - -export async function sendMessage(messages) { - try { - if (!aiClient) { - throw new Error('Client not initialized') - } - - const stream = await aiClient.chat.completions.create({ - model: modelName, - messages: messages, - stream: true - }) - - for await (const chunk of stream) { - const content = chunk.choices[0]?.delta?.content - if (content) { - mainWindow.webContents.send('chat-chunk', content) - } - } - - mainWindow.webContents.send('chat-complete') - return { success: true } - } catch (error) { - return { success: false, error: error.message } - } -} - -// Window management -async function createWindow() { - // Dynamically import the preload script - const __filename = fileURLToPath(import.meta.url) - const __dirname = path.dirname(__filename) - const preloadPath = path.join(__dirname, 'preload.cjs') - - mainWindow = new BrowserWindow({ - width: 1024, - height: 768, - autoHideMenuBar: false, - webPreferences: { - allowRunningInsecureContent: true, - nodeIntegration: false, - contextIsolation: true, - preload: preloadPath, - enableRemoteModule: false, - sandbox: false - } - }) - - Menu.setApplicationMenu(null) - - console.log("Creating chat window") - mainWindow.loadFile('chat.html') - - // Send initial config to renderer - mainWindow.webContents.on('did-finish-load', () => { - // Initialize with cloud model after page loads - mainWindow.webContents.send('initialize-with-cloud') - }) - - return mainWindow -} - -// App lifecycle handlers -app.whenReady().then(() => { - createWindow() - - app.on('activate', () => { - if (BrowserWindow.getAllWindows().length === 0) { - createWindow() - } - }) -}) - -app.on('window-all-closed', () => { - if (process.platform !== 'darwin') { - app.quit() - } -}) diff --git a/samples/electron/foundry-chat/package.json b/samples/electron/foundry-chat/package.json deleted file mode 100644 index 92720f0..0000000 --- a/samples/electron/foundry-chat/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "foundry-local-chat-demo", - "version": "1.0.0", - "description": "A simple Electron Chat application that can chat with cloud and local models", - "main": "main.js", - "type": "module", - "scripts": { - "start": "electron .", - "build": "electron-builder", - "build:win": "electron-builder --win" - }, - "author": "", - "license": "ISC", - "devDependencies": { - "electron": "^28.1.0", - "electron-builder": "^24.9.1" - }, - "dependencies": { - "foundry-local-sdk": "^0.3.0", - "openai": "^4.98.0" - }, - "build": { - "appId": "com.microsoft.foundrylocalchatdemo", - "productName": "Foundry Local - Chat Demo", - "directories": { - "output": "dist" - }, - "win": { - "target": "nsis" - } - } -} diff --git a/samples/electron/foundry-chat/preload.cjs b/samples/electron/foundry-chat/preload.cjs deleted file mode 100644 index 294c03e..0000000 --- a/samples/electron/foundry-chat/preload.cjs +++ /dev/null @@ -1,38 +0,0 @@ -const { contextBridge, ipcRenderer } = require('electron'); - -console.log('Preload script starting...'); -console.log('Current directory:', __dirname); -console.log('Module paths:', module.paths); -console.log('contextBridge available:', !!contextBridge); -console.log('ipcRenderer available:', !!ipcRenderer); - -try { - console.log('Electron modules loaded'); - - contextBridge.exposeInMainWorld('versions', { - node: () => process.versions.node, - chrome: () => process.versions.chrome, - electron: () => process.versions.electron - }) - - console.log('Versions bridge exposed'); - - contextBridge.exposeInMainWorld('mainAPI', { - sendMessage: (messages) => ipcRenderer.invoke('send-message', messages), - onChatChunk: (callback) => ipcRenderer.on('chat-chunk', (_, chunk) => callback(chunk)), - onChatComplete: (callback) => ipcRenderer.on('chat-complete', () => callback()), - removeAllChatListeners: () => { - ipcRenderer.removeAllListeners('chat-chunk'); - ipcRenderer.removeAllListeners('chat-complete'); - }, - getLocalModels: () => ipcRenderer.invoke('get-local-models'), - switchModel: (modelId) => ipcRenderer.invoke('switch-model', modelId), - onInitializeWithCloud: (callback) => ipcRenderer.on('initialize-with-cloud', () => callback()) - }) - - console.log('mainAPI bridge exposed'); - console.log('Preload script completed successfully'); -} catch (error) { - console.error('Error in preload script:', error); - console.error('Error stack:', error.stack); -} \ No newline at end of file diff --git a/samples/js/electron-chat-application/README.md b/samples/js/electron-chat-application/README.md new file mode 100644 index 0000000..64fc56f --- /dev/null +++ b/samples/js/electron-chat-application/README.md @@ -0,0 +1,127 @@ +# Foundry Local Chat - Electron Application + +A modern, full-featured chat application built with Electron and the Foundry Local SDK. Chat with AI models running entirely on your local machine with complete privacy. + +![Foundry Local Chat](https://img.shields.io/badge/Electron-34.1.0-47848F?logo=electron) +![Node.js](https://img.shields.io/badge/Node.js-18+-339933?logo=node.js) + +## Features + +- **🔒 100% Private** - All AI inference runs locally on your machine +- **⚡ Low Latency** - Direct local inference with no network round trips +- **📊 Performance Metrics** - Real-time tokens/second and time-to-first-token stats +- **🎨 Modern UI** - Beautiful dark theme with smooth animations +- **💬 Markdown Support** - Code blocks with syntax highlighting and copy buttons +- **📦 Model Management** - Download and switch between models from the sidebar + +## Screenshots + +The app features a clean, modern interface with: +- Collapsible sidebar showing available models +- Downloaded models shown first with green indicator +- Chat area with message bubbles +- Performance stats (TTFT, tokens/sec) on each response +- Code blocks with copy functionality + +## Prerequisites + +- [Node.js](https://nodejs.org/) 18 or later +- [Foundry Local](https://github.com/microsoft/Foundry-Local) installed and running + +## Installation + +```bash +# Navigate to the sample directory +cd samples/js/electron-chat-application + +# Install dependencies +npm install + +# Start the application +npm start +``` + +## Usage + +1. **Start the app** - Run `npm start` to launch the Electron application +2. **Select a model** - Click on a downloaded model in the sidebar (green dot = downloaded) +3. **Download new models** - Click "Download" on any available model to download it +4. **Start chatting** - Type your message and press Enter to send +5. **View stats** - Each AI response shows performance metrics + +## Project Structure + +``` +electron-chat-application/ +├── main.js # Electron main process - SDK integration & IPC handlers +├── preload.js # Secure bridge between main and renderer +├── index.html # Main application UI +├── styles.css # Modern dark theme CSS +├── renderer.js # Chat UI logic and markdown rendering +├── package.json # Dependencies and scripts +└── README.md # This file +``` + +## Architecture + +- **Main Process** (`main.js`): Handles the Foundry Local SDK initialization, model management, and chat completions via IPC handlers +- **Preload Script** (`preload.js`): Exposes a secure API to the renderer via `contextBridge` +- **Renderer Process** (`renderer.js`): Manages the UI, message display, and user interactions + +## API Reference + +The renderer has access to these APIs via `window.foundryAPI`: + +```javascript +// Get all available models +const models = await foundryAPI.getModels(); + +// Download a model +await foundryAPI.downloadModel('model-alias'); + +// Load a model for chat +await foundryAPI.loadModel('model-alias'); + +// Send chat messages +const response = await foundryAPI.chat([ + { role: 'user', content: 'Hello!' } +]); + +// Listen for streaming chunks +foundryAPI.onChatChunk((data) => { + console.log(data.content); +}); +``` + +## Customization + +### Theming +Edit CSS variables in `styles.css`: +```css +:root { + --accent-primary: #6366f1; /* Change accent color */ + --bg-primary: #0f0f1a; /* Change background */ +} +``` + +### Model Settings +Configure chat settings in `main.js`: +```javascript +chatClient.settings.temperature = 0.7; +chatClient.settings.maxTokens = 2048; +``` + +## Troubleshooting + +**Models not loading?** +- Ensure Foundry Local core is running +- Check that models are compatible (chat models only) + +**Slow performance?** +- Try a smaller quantized model variant +- Ensure no other processes are using the GPU + +## License + +MIT + diff --git a/samples/js/electron-chat-application/foundry_local_color.svg b/samples/js/electron-chat-application/foundry_local_color.svg new file mode 100644 index 0000000..412a6fb --- /dev/null +++ b/samples/js/electron-chat-application/foundry_local_color.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/js/electron-chat-application/index.html b/samples/js/electron-chat-application/index.html new file mode 100644 index 0000000..5edb12d --- /dev/null +++ b/samples/js/electron-chat-application/index.html @@ -0,0 +1,139 @@ + + + + + + + Foundry Local Chat + + + +
+ + + + +
+
+ +
+

Chat

+ Select a model to start +
+ +
+ +
+
+
+ + + +
+

Welcome to Foundry Local Chat

+

Select a model from the sidebar to start chatting with AI running locally on your machine.

+
+
+ + + + 100% Private +
+
+ + + + + Low Latency +
+
+ + + + + + Runs Locally +
+
+
+
+ +
+
+
+ + +
+
+ Press Enter to send, Shift+Enter for new line +
+
+
+
+
+ + +
+ + + + diff --git a/samples/js/electron-chat-application/main.js b/samples/js/electron-chat-application/main.js new file mode 100644 index 0000000..bae1ca7 --- /dev/null +++ b/samples/js/electron-chat-application/main.js @@ -0,0 +1,258 @@ +const { app, BrowserWindow, ipcMain } = require('electron'); +const path = require('path'); + +let mainWindow; + +function createWindow() { + mainWindow = new BrowserWindow({ + width: 1200, + height: 800, + minWidth: 800, + minHeight: 600, + webPreferences: { + preload: path.join(__dirname, 'preload.js'), + contextIsolation: true, + nodeIntegration: false + }, + titleBarStyle: 'hiddenInset', + backgroundColor: '#1a1a2e' + }); + + mainWindow.loadFile('index.html'); + + // Open DevTools in development + if (process.argv.includes('--enable-logging')) { + mainWindow.webContents.openDevTools(); + } +} + +app.whenReady().then(createWindow); + +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + app.quit(); + } +}); + +app.on('activate', () => { + if (BrowserWindow.getAllWindows().length === 0) { + createWindow(); + } +}); + +// SDK Management +let manager = null; +let currentModel = null; +let chatClient = null; +let webServiceStarted = false; +const SERVICE_PORT = 47392; +const SERVICE_URL = `http://127.0.0.1:${SERVICE_PORT}`; + +async function initializeSDK() { + if (manager) return manager; + + const { FoundryLocalManager } = await import('@prathikrao/foundry-local-sdk'); + manager = FoundryLocalManager.create({ + appName: 'foundry_local_electron_chat', + logLevel: 'info', + webServiceUrls: SERVICE_URL + }); + + return manager; +} + +function ensureWebServiceStarted() { + if (!webServiceStarted && manager) { + manager.startWebService(); + webServiceStarted = true; + } +} + +// IPC Handlers +ipcMain.handle('get-models', async () => { + try { + console.log('get-models: initializing SDK...'); + await initializeSDK(); + + console.log('get-models: fetching models from catalog...'); + const models = await manager.catalog.getModels(); + console.log(`get-models: found ${models.length} models`); + + const cachedVariants = await manager.catalog.getCachedModels(); + const cachedIds = new Set(cachedVariants.map(v => v.id)); + console.log(`get-models: ${cachedVariants.length} cached models`); + + const result = models.map(m => ({ + id: m.id, + alias: m.alias, + isCached: m.isCached, + variants: m.variants.map(v => ({ + id: v.id, + alias: v.alias, + displayName: v.modelInfo.displayName || v.alias, + isCached: cachedIds.has(v.id), + fileSizeMb: v.modelInfo.fileSizeMb, + modelType: v.modelInfo.modelType, + publisher: v.modelInfo.publisher + })) + })); + + console.log('get-models: returning', result.length, 'models'); + return result; + } catch (error) { + console.error('Error getting models:', error); + throw error; + } +}); + +ipcMain.handle('download-model', async (event, modelAlias) => { + try { + await initializeSDK(); + const model = await manager.catalog.getModel(modelAlias); + if (!model) throw new Error(`Model ${modelAlias} not found`); + + model.download(); + return { success: true }; + } catch (error) { + console.error('Error downloading model:', error); + throw error; + } +}); + +ipcMain.handle('load-model', async (event, modelAlias) => { + try { + await initializeSDK(); + + // Start web service for HTTP streaming (only once) + ensureWebServiceStarted(); + + // Unload current model if any + if (currentModel) { + try { + await currentModel.unload(); + } catch (e) { + // Ignore unload errors + } + chatClient = null; + } + + const model = await manager.catalog.getModel(modelAlias); + if (!model) throw new Error(`Model ${modelAlias} not found`); + + // Download if not cached + if (!model.isCached) { + model.download(); + } + + await model.load(); + + // Wait for model to be fully loaded before creating chat client + while (!(await model.isLoaded())) { + await new Promise(resolve => setTimeout(resolve, 100)); + } + + currentModel = model; + chatClient = model.createChatClient(); + + return { success: true, modelId: model.id }; + } catch (error) { + console.error('Error loading model:', error); + throw error; + } +}); + +ipcMain.handle('unload-model', async () => { + try { + if (currentModel) { + await currentModel.unload(); + currentModel = null; + chatClient = null; + } + return { success: true }; + } catch (error) { + console.error('Error unloading model:', error); + throw error; + } +}); + +ipcMain.handle('chat', async (event, messages) => { + if (!currentModel) throw new Error('No model loaded'); + + const startTime = performance.now(); + let firstTokenTime = null; + let tokenCount = 0; + let fullContent = ''; + + // Use HTTP streaming to avoid koffi callback issues with Electron + const response = await fetch('http://localhost:47392/v1/chat/completions', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + model: currentModel.id, + messages, + stream: true + }) + }); + + if (!response.ok) { + throw new Error(`HTTP error: ${response.status}`); + } + + const reader = response.body.getReader(); + const decoder = new TextDecoder(); + + while (true) { + const { done, value } = await reader.read(); + if (done) break; + + const chunk = decoder.decode(value, { stream: true }); + const lines = chunk.split('\n').filter(line => line.startsWith('data: ')); + + for (const line of lines) { + const data = line.slice(6); // Remove 'data: ' prefix + if (data === '[DONE]') continue; + + try { + const parsed = JSON.parse(data); + const content = parsed.choices?.[0]?.delta?.content; + if (content) { + if (firstTokenTime === null) { + firstTokenTime = performance.now(); + } + tokenCount++; + fullContent += content; + + mainWindow.webContents.send('chat-chunk', { + content, + tokenCount, + timeToFirstToken: firstTokenTime ? (firstTokenTime - startTime) : null + }); + } + } catch (e) { + // Skip invalid JSON chunks + } + } + } + + const endTime = performance.now(); + const totalTime = endTime - startTime; + const tokensPerSecond = tokenCount > 0 ? (tokenCount / (totalTime / 1000)).toFixed(2) : 0; + + return { + content: fullContent, + stats: { + tokenCount, + timeToFirstToken: firstTokenTime ? Math.round(firstTokenTime - startTime) : 0, + totalTime: Math.round(totalTime), + tokensPerSecond: parseFloat(tokensPerSecond) + } + }; +}); + +ipcMain.handle('get-loaded-model', async () => { + if (!currentModel) return null; + return { + id: currentModel.id, + alias: currentModel.alias + }; +}); diff --git a/samples/js/electron-chat-application/package.json b/samples/js/electron-chat-application/package.json new file mode 100644 index 0000000..6f3a100 --- /dev/null +++ b/samples/js/electron-chat-application/package.json @@ -0,0 +1,26 @@ +{ + "name": "foundry-local-chat", + "version": "1.0.0", + "description": "A modern chat application using Foundry Local SDK", + "main": "main.js", + "scripts": { + "start": "electron .", + "dev": "electron . --enable-logging" + }, + "keywords": [ + "electron", + "chat", + "foundry-local", + "ai" + ], + "author": "", + "license": "MIT", + "devDependencies": { + "electron": "^34.5.8" + }, + "dependencies": { + "@prathikrao/foundry-local-sdk": "^0.0.8", + "highlight.js": "^11.11.1", + "marked": "^15.0.6" + } +} diff --git a/samples/js/electron-chat-application/preload.js b/samples/js/electron-chat-application/preload.js new file mode 100644 index 0000000..095285f --- /dev/null +++ b/samples/js/electron-chat-application/preload.js @@ -0,0 +1,14 @@ +const { contextBridge, ipcRenderer } = require('electron'); + +contextBridge.exposeInMainWorld('foundryAPI', { + getModels: () => ipcRenderer.invoke('get-models'), + downloadModel: (modelAlias) => ipcRenderer.invoke('download-model', modelAlias), + loadModel: (modelAlias) => ipcRenderer.invoke('load-model', modelAlias), + unloadModel: () => ipcRenderer.invoke('unload-model'), + chat: (messages) => ipcRenderer.invoke('chat', messages), + getLoadedModel: () => ipcRenderer.invoke('get-loaded-model'), + onChatChunk: (callback) => { + ipcRenderer.on('chat-chunk', (event, data) => callback(data)); + return () => ipcRenderer.removeAllListeners('chat-chunk'); + } +}); diff --git a/samples/js/electron-chat-application/renderer.js b/samples/js/electron-chat-application/renderer.js new file mode 100644 index 0000000..a09dcd4 --- /dev/null +++ b/samples/js/electron-chat-application/renderer.js @@ -0,0 +1,627 @@ +// ===================================================== +// Foundry Local Chat - Renderer Process +// ===================================================== + +// Simple markdown parser with code block handling +const SimpleMarkdown = { + parse(text) { + if (!text) return ''; + + let html = this.escapeHtml(text); + + // Code blocks with language + html = html.replace(/```(\w*)\n([\s\S]*?)```/g, (match, lang, code) => { + const language = lang || 'plaintext'; + return `
+
+ ${language} + +
+
${code.trim()}
+
`; + }); + + // Inline code + html = html.replace(/`([^`]+)`/g, '$1'); + + // Bold + html = html.replace(/\*\*([^*]+)\*\*/g, '$1'); + + // Italic + html = html.replace(/\*([^*]+)\*/g, '$1'); + + // Links + html = html.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '
$1'); + + // Line breaks + html = html.replace(/\n/g, '
'); + + return html; + }, + + escapeHtml(text) { + const div = document.createElement('div'); + div.textContent = text; + return div.innerHTML; + } +}; + +// Copy code to clipboard +window.copyCode = async function(button) { + const codeBlock = button.closest('.code-block-wrapper').querySelector('code'); + const text = codeBlock.textContent; + + try { + await navigator.clipboard.writeText(text); + button.innerHTML = ` + + + + Copied! + `; + button.classList.add('copied'); + + setTimeout(() => { + button.innerHTML = ` + + + + + Copy + `; + button.classList.remove('copied'); + }, 2000); + } catch (err) { + console.error('Failed to copy:', err); + } +}; + +// State +let messages = []; +let currentModelAlias = null; +let isGenerating = false; + +// DOM Elements +const sidebar = document.getElementById('sidebar'); +const sidebarToggle = document.getElementById('sidebarToggle'); +const mobileMenuBtn = document.getElementById('mobileMenuBtn'); +const modelList = document.getElementById('modelList'); +const refreshModels = document.getElementById('refreshModels'); +const currentModelEl = document.getElementById('currentModel'); +const modelBadge = document.getElementById('modelBadge'); +const chatMessages = document.getElementById('chatMessages'); +const chatForm = document.getElementById('chatForm'); +const messageInput = document.getElementById('messageInput'); +const sendBtn = document.getElementById('sendBtn'); +const newChatBtn = document.getElementById('newChatBtn'); +const toastContainer = document.getElementById('toastContainer'); + +// Initialize +document.addEventListener('DOMContentLoaded', async () => { + setupEventListeners(); + setupSidebarResize(); + await loadModels(); + setupChatChunkListener(); +}); + +function setupSidebarResize() { + const resizeHandle = document.getElementById('sidebarResizeHandle'); + let isResizing = false; + + resizeHandle.addEventListener('mousedown', (e) => { + isResizing = true; + resizeHandle.classList.add('dragging'); + document.body.style.cursor = 'col-resize'; + document.body.style.userSelect = 'none'; + }); + + document.addEventListener('mousemove', (e) => { + if (!isResizing) return; + const newWidth = Math.min(Math.max(e.clientX, 240), 480); + sidebar.style.width = newWidth + 'px'; + }); + + document.addEventListener('mouseup', () => { + if (isResizing) { + isResizing = false; + resizeHandle.classList.remove('dragging'); + document.body.style.cursor = ''; + document.body.style.userSelect = ''; + } + }); +} + +function setupEventListeners() { + // Sidebar toggle + sidebarToggle.addEventListener('click', () => { + sidebar.classList.toggle('collapsed'); + }); + + mobileMenuBtn.addEventListener('click', () => { + sidebar.classList.toggle('open'); + }); + + // Refresh models + refreshModels.addEventListener('click', async () => { + refreshModels.classList.add('spinning'); + await loadModels(); + refreshModels.classList.remove('spinning'); + }); + + // Chat form + chatForm.addEventListener('submit', handleSendMessage); + + // Textarea auto-resize + messageInput.addEventListener('input', () => { + messageInput.style.height = 'auto'; + messageInput.style.height = Math.min(messageInput.scrollHeight, 150) + 'px'; + }); + + // Enter to send, Shift+Enter for new line + messageInput.addEventListener('keydown', (e) => { + if (e.key === 'Enter' && !e.shiftKey) { + e.preventDefault(); + chatForm.dispatchEvent(new Event('submit')); + } + }); + + // New chat + newChatBtn.addEventListener('click', clearChat); + + // Close sidebar on outside click (mobile) + document.addEventListener('click', (e) => { + if (window.innerWidth <= 768 && + sidebar.classList.contains('open') && + !sidebar.contains(e.target) && + !mobileMenuBtn.contains(e.target)) { + sidebar.classList.remove('open'); + } + }); +} + +function setupChatChunkListener() { + window.foundryAPI.onChatChunk((data) => { + if (data.content) { + appendToLastAssistantMessage(data.content); + } + }); +} + +// Model Management +async function loadModels() { + modelList.innerHTML = ` +
+
+ Loading models... +
+ `; + + try { + const models = await window.foundryAPI.getModels(); + + if (!models || models.length === 0) { + modelList.innerHTML = ` +
+ No models found +
+ `; + return; + } + + // Filter out whisper/audio models - only show chat models + const chatModels = models.filter(m => { + const alias = m.alias.toLowerCase(); + // Exclude whisper and other audio models + if (alias.includes('whisper')) return false; + return true; + }); + + const displayModels = chatModels; + + // Sort: cached first, then by name + displayModels.sort((a, b) => { + if (a.isCached && !b.isCached) return -1; + if (!a.isCached && b.isCached) return 1; + return a.alias.localeCompare(b.alias); + }); + + // Group by cached status + const cachedModels = displayModels.filter(m => m.isCached); + const availableModels = displayModels.filter(m => !m.isCached); + + modelList.innerHTML = ''; + + if (cachedModels.length > 0) { + const cachedGroup = document.createElement('div'); + cachedGroup.className = 'model-group'; + cachedGroup.innerHTML = ` +
+
+ Downloaded +
+ `; + cachedModels.forEach(model => { + cachedGroup.appendChild(createModelItem(model)); + }); + modelList.appendChild(cachedGroup); + } + + if (availableModels.length > 0) { + const availableGroup = document.createElement('div'); + availableGroup.className = 'model-group'; + availableGroup.innerHTML = ` +
+
+ Available +
+ `; + availableModels.forEach(model => { + availableGroup.appendChild(createModelItem(model)); + }); + modelList.appendChild(availableGroup); + } + + if (displayModels.length === 0) { + modelList.innerHTML = ` +
+ No models available +
+ `; + } + } catch (error) { + console.error('Failed to load models:', error); + modelList.innerHTML = ` +
+ Failed to load models + ${error.message || error} +
+ `; + showToast('Failed to load models: ' + error.message, 'error'); + } +} + +function createModelItem(model) { + const variant = model.variants[0]; + const item = document.createElement('div'); + item.className = 'model-item'; + if (model.alias === currentModelAlias) { + item.classList.add('active'); + } + + const sizeMb = variant?.fileSizeMb; + const sizeStr = sizeMb ? `${(sizeMb / 1024).toFixed(1)} GB` : ''; + + item.innerHTML = ` +
+ + + + + +
+
+
${variant?.displayName || model.alias}
+
${sizeStr}
+
+
+ ${model.isCached + ? '
' + : '' + } +
+ `; + + // Handle click to load model + if (model.isCached) { + item.addEventListener('click', () => loadModel(model.alias)); + } else { + const downloadBtn = item.querySelector('.download-btn'); + downloadBtn.addEventListener('click', async (e) => { + e.stopPropagation(); + await downloadModel(model.alias, item); + }); + } + + return item; +} + +async function downloadModel(alias, itemElement) { + const statusEl = itemElement.querySelector('.model-status'); + statusEl.innerHTML = '
'; + + try { + showToast(`Downloading ${alias}...`, 'warning'); + await window.foundryAPI.downloadModel(alias); + showToast(`Downloaded ${alias}. Loading...`, 'success'); + await loadModels(); + // Auto-load the model after download + await loadModel(alias); + } catch (error) { + console.error('Download failed:', error); + showToast('Download failed: ' + error.message, 'error'); + await loadModels(); + } +} + +async function loadModel(alias) { + if (isGenerating) { + showToast('Please wait for the current response to finish', 'warning'); + return; + } + + // Update UI to show loading + const items = modelList.querySelectorAll('.model-item'); + items.forEach(item => { + item.classList.remove('active'); + const nameEl = item.querySelector('.model-name'); + if (nameEl.textContent.includes(alias) || item.dataset.alias === alias) { + item.classList.add('loading'); + } + }); + + try { + showToast(`Loading ${alias}...`, 'warning'); + await window.foundryAPI.loadModel(alias); + currentModelAlias = alias; + + // Update UI + updateCurrentModelDisplay(alias); + enableChat(); + showToast(`Model ${alias} loaded`, 'success'); + + // Refresh model list to update active state + await loadModels(); + } catch (error) { + console.error('Failed to load model:', error); + showToast('Failed to load model: ' + error.message, 'error'); + await loadModels(); + } +} + +function updateCurrentModelDisplay(alias) { + currentModelEl.innerHTML = ` + Active: + ${alias} + `; + modelBadge.textContent = alias; +} + +function enableChat() { + messageInput.disabled = false; + sendBtn.disabled = false; + messageInput.placeholder = 'Type your message...'; + messageInput.focus(); +} + +function disableChat() { + messageInput.disabled = true; + sendBtn.disabled = true; + messageInput.placeholder = 'Select a model to start chatting...'; +} + +// Chat Management +async function handleSendMessage(e) { + e.preventDefault(); + + const content = messageInput.value.trim(); + if (!content || isGenerating || !currentModelAlias) return; + + // Clear welcome message if present + const welcomeMessage = chatMessages.querySelector('.welcome-message'); + if (welcomeMessage) { + welcomeMessage.remove(); + } + + // Add user message + messages.push({ role: 'user', content }); + addMessageToChat('user', content); + + // Clear input + messageInput.value = ''; + messageInput.style.height = 'auto'; + + // Disable send button + isGenerating = true; + sendBtn.disabled = true; + + // Add typing indicator + const typingEl = addTypingIndicator(); + + try { + // Make API call + const result = await window.foundryAPI.chat(messages); + + // Remove typing indicator + typingEl.remove(); + + // Add assistant message (content was already streamed, just add stats) + messages.push({ role: 'assistant', content: result.content }); + updateLastAssistantMessageStats(result.stats); + + } catch (error) { + console.error('Chat error:', error); + typingEl.remove(); + showToast('Chat error: ' + error.message, 'error'); + } finally { + isGenerating = false; + sendBtn.disabled = false; + messageInput.focus(); + } +} + +function addMessageToChat(role, content) { + const messageEl = document.createElement('div'); + messageEl.className = `message ${role}`; + + const avatar = role === 'user' ? 'U' : + ` + + `; + + messageEl.innerHTML = ` +
${avatar}
+
+
${role === 'user' ? SimpleMarkdown.escapeHtml(content) : SimpleMarkdown.parse(content)}
+ ${role === 'assistant' ? '
' : ''} +
+ `; + + chatMessages.appendChild(messageEl); + scrollToBottom(); + + return messageEl; +} + +function addTypingIndicator() { + const typingEl = document.createElement('div'); + typingEl.className = 'message assistant'; + typingEl.id = 'typing-indicator'; + typingEl.innerHTML = ` +
+ + + +
+
+
+ + + +
+
+ `; + chatMessages.appendChild(typingEl); + scrollToBottom(); + return typingEl; +} + +let currentAssistantMessage = null; +let currentAssistantContent = ''; + +function appendToLastAssistantMessage(content) { + // If there's a typing indicator, replace it with actual message + const typingIndicator = document.getElementById('typing-indicator'); + if (typingIndicator) { + typingIndicator.remove(); + currentAssistantMessage = addMessageToChat('assistant', ''); + currentAssistantContent = ''; + } + + if (!currentAssistantMessage) { + currentAssistantMessage = addMessageToChat('assistant', ''); + currentAssistantContent = ''; + } + + currentAssistantContent += content; + const bubble = currentAssistantMessage.querySelector('.message-bubble'); + bubble.innerHTML = SimpleMarkdown.parse(currentAssistantContent); + scrollToBottom(); +} + +function updateLastAssistantMessageStats(stats) { + if (!currentAssistantMessage) return; + + const statsEl = currentAssistantMessage.querySelector('.message-stats'); + if (statsEl && stats) { + statsEl.innerHTML = ` +
+ + + + + TTFT: ${stats.timeToFirstToken}ms +
+
+ + + + ${stats.tokensPerSecond} tok/s +
+
+ + + + + ${stats.tokenCount} tokens +
+ `; + } + + // Reset for next message + currentAssistantMessage = null; + currentAssistantContent = ''; +} + +function clearChat() { + messages = []; + currentAssistantMessage = null; + currentAssistantContent = ''; + + chatMessages.innerHTML = ` +
+
+ + + +
+

Welcome to Foundry Local Chat

+

Select a model from the sidebar to start chatting with AI running locally on your machine.

+
+
+ + + + 100% Private +
+
+ + + + + Low Latency +
+
+ + + + + + Runs Locally +
+
+
+ `; +} + +function scrollToBottom() { + chatMessages.scrollTop = chatMessages.scrollHeight; +} + +// Toast Notifications +function showToast(message, type = 'info') { + const toast = document.createElement('div'); + toast.className = `toast ${type}`; + toast.innerHTML = ` + + ${type === 'success' ? '' : + type === 'error' ? '' : + type === 'warning' ? '' : + '' + } + + ${message} + `; + + toastContainer.appendChild(toast); + + setTimeout(() => { + toast.style.animation = 'slideIn 0.3s ease reverse'; + setTimeout(() => toast.remove(), 300); + }, 3000); +} diff --git a/samples/js/electron-chat-application/styles.css b/samples/js/electron-chat-application/styles.css new file mode 100644 index 0000000..6ec8c3b --- /dev/null +++ b/samples/js/electron-chat-application/styles.css @@ -0,0 +1,971 @@ +/* ===================================================== + Foundry Local Chat - Modern Chat Interface Styles + ===================================================== */ + +:root { + /* Color Palette - Dark Theme */ + --bg-primary: #0f0f1a; + --bg-secondary: #1a1a2e; + --bg-tertiary: #16213e; + --bg-hover: #1f2b4d; + --bg-active: #2a3a5f; + + --text-primary: #e8e8e8; + --text-secondary: #a0a0b0; + --text-muted: #6b6b80; + + --accent-primary: #6366f1; + --accent-secondary: #818cf8; + --accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); + + --success: #22c55e; + --warning: #f59e0b; + --error: #ef4444; + + --border-color: #2a2a4a; + --border-subtle: rgba(255, 255, 255, 0.06); + + /* Sizing */ + --sidebar-width: 320px; + --sidebar-min-width: 240px; + --sidebar-max-width: 480px; + --header-height: 60px; + --input-height: 56px; + + /* Spacing */ + --space-xs: 4px; + --space-sm: 8px; + --space-md: 16px; + --space-lg: 24px; + --space-xl: 32px; + + /* Typography */ + --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; + --font-mono: 'SF Mono', 'Fira Code', 'Consolas', monospace; + + /* Transitions */ + --transition-fast: 150ms ease; + --transition-normal: 250ms ease; + + /* Shadows */ + --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); + --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3); + --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.4); + + /* Border Radius */ + --radius-sm: 6px; + --radius-md: 10px; + --radius-lg: 16px; + --radius-full: 9999px; +} + +/* ===================================================== + Reset & Base Styles + ===================================================== */ + +*, *::before, *::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html, body { + height: 100%; + overflow: hidden; +} + +body { + font-family: var(--font-family); + font-size: 14px; + line-height: 1.5; + color: var(--text-primary); + background: var(--bg-primary); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* ===================================================== + App Container + ===================================================== */ + +.app-container { + display: flex; + height: 100vh; + width: 100vw; + overflow: hidden; +} + +/* ===================================================== + Sidebar + ===================================================== */ + +.sidebar { + width: var(--sidebar-width); + min-width: var(--sidebar-min-width); + max-width: var(--sidebar-max-width); + height: 100%; + background: var(--bg-secondary); + border-right: 1px solid var(--border-color); + display: flex; + flex-direction: column; + transition: transform var(--transition-normal); + z-index: 100; + position: relative; +} + +.sidebar-resize-handle { + position: absolute; + top: 0; + right: 0; + width: 4px; + height: 100%; + cursor: col-resize; + background: transparent; + transition: background var(--transition-fast); + z-index: 10; +} + +.sidebar-resize-handle:hover, +.sidebar-resize-handle.dragging { + background: var(--accent-primary); +} + +.sidebar.collapsed { + width: 0; + min-width: 0; + transform: translateX(-100%); +} + +.sidebar-header { + padding: var(--space-md); + padding-top: 40px; /* Account for macOS title bar */ + display: flex; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid var(--border-color); + -webkit-app-region: drag; +} + +.logo { + display: flex; + align-items: center; + gap: var(--space-sm); + font-weight: 600; + font-size: 16px; + color: var(--text-primary); +} + +.logo svg { + color: var(--accent-primary); +} + +.sidebar-toggle { + background: transparent; + border: none; + color: var(--text-secondary); + cursor: pointer; + padding: var(--space-xs); + border-radius: var(--radius-sm); + transition: all var(--transition-fast); + -webkit-app-region: no-drag; +} + +.sidebar-toggle:hover { + background: var(--bg-hover); + color: var(--text-primary); +} + +.sidebar-content { + flex: 1; + overflow-y: auto; + padding: var(--space-md); +} + +.section-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: var(--space-md); +} + +.section-header h3 { + font-size: 12px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + color: var(--text-muted); +} + +.refresh-btn { + background: transparent; + border: none; + color: var(--text-muted); + cursor: pointer; + padding: var(--space-xs); + border-radius: var(--radius-sm); + transition: all var(--transition-fast); +} + +.refresh-btn:hover { + background: var(--bg-hover); + color: var(--text-primary); +} + +.refresh-btn.spinning svg { + animation: spin 1s linear infinite; +} + +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +/* Model List */ +.model-list { + display: flex; + flex-direction: column; + gap: var(--space-sm); +} + +.model-group { + margin-bottom: var(--space-md); +} + +.model-group-header { + display: flex; + align-items: center; + gap: var(--space-sm); + padding: var(--space-xs) 0; + margin-bottom: var(--space-xs); +} + +.model-group-header .status-dot { + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--text-muted); +} + +.model-group-header .status-dot.cached { + background: var(--success); +} + +.model-group-header span { + font-size: 11px; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.5px; + color: var(--text-muted); +} + +.model-item { + display: flex; + align-items: center; + padding: var(--space-sm) var(--space-md); + background: var(--bg-tertiary); + border: 1px solid var(--border-subtle); + border-radius: var(--radius-md); + cursor: pointer; + transition: all var(--transition-fast); + gap: var(--space-sm); +} + +.model-item:hover { + background: var(--bg-hover); + border-color: var(--border-color); +} + +.model-item.active { + background: var(--accent-primary); + border-color: var(--accent-primary); +} + +.model-item.active .model-name, +.model-item.active .model-size { + color: white; +} + +.model-item.loading { + pointer-events: none; + opacity: 0.7; +} + +.model-icon { + width: 32px; + height: 32px; + border-radius: var(--radius-sm); + background: var(--bg-primary); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.model-icon svg { + width: 18px; + height: 18px; + color: var(--accent-secondary); +} + +.model-info { + flex: 1; + min-width: 0; +} + +.model-name { + font-weight: 500; + font-size: 13px; + color: var(--text-primary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.model-size { + font-size: 11px; + color: var(--text-muted); +} + +.model-status { + display: flex; + align-items: center; + gap: var(--space-xs); +} + +.status-indicator { + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--text-muted); +} + +.status-indicator.cached { + background: var(--success); +} + +.status-indicator.loading { + background: var(--warning); + animation: pulse 1.5s ease-in-out infinite; +} + +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.5; } +} + +.download-btn { + padding: var(--space-xs) var(--space-sm); + font-size: 11px; + font-weight: 500; + background: var(--accent-primary); + color: white; + border: none; + border-radius: var(--radius-sm); + cursor: pointer; + transition: all var(--transition-fast); +} + +.download-btn:hover { + background: var(--accent-secondary); +} + +/* Sidebar Footer */ +.sidebar-footer { + padding: var(--space-md); + border-top: 1px solid var(--border-color); +} + +.current-model { + padding: var(--space-sm) var(--space-md); + background: var(--bg-tertiary); + border-radius: var(--radius-md); + display: flex; + align-items: center; + gap: var(--space-sm); +} + +.current-model .label { + font-size: 12px; + color: var(--text-secondary); +} + +.current-model .model-name { + font-weight: 500; + color: var(--accent-secondary); +} + +/* Loading Spinner */ +.loading-spinner { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: var(--space-xl); + gap: var(--space-md); + color: var(--text-muted); +} + +.spinner { + width: 24px; + height: 24px; + border: 2px solid var(--border-color); + border-top-color: var(--accent-primary); + border-radius: 50%; + animation: spin 0.8s linear infinite; +} + +/* ===================================================== + Chat Area + ===================================================== */ + +.chat-area { + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; + background: var(--bg-primary); +} + +.chat-header { + height: var(--header-height); + padding: 0 var(--space-lg); + padding-top: 20px; /* Account for macOS title bar */ + display: flex; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid var(--border-color); + background: var(--bg-secondary); + -webkit-app-region: drag; +} + +.mobile-menu-btn { + display: none; + background: transparent; + border: none; + color: var(--text-secondary); + cursor: pointer; + padding: var(--space-xs); + border-radius: var(--radius-sm); + -webkit-app-region: no-drag; +} + +.chat-title { + display: flex; + align-items: center; + gap: var(--space-md); +} + +.chat-title h1 { + font-size: 18px; + font-weight: 600; +} + +.model-badge { + font-size: 12px; + padding: var(--space-xs) var(--space-sm); + background: var(--bg-tertiary); + border-radius: var(--radius-full); + color: var(--text-secondary); +} + +.new-chat-btn { + background: transparent; + border: none; + color: var(--text-secondary); + cursor: pointer; + padding: var(--space-sm); + border-radius: var(--radius-sm); + transition: all var(--transition-fast); + -webkit-app-region: no-drag; +} + +.new-chat-btn:hover { + background: var(--bg-hover); + color: var(--text-primary); +} + +/* Chat Messages */ +.chat-messages { + flex: 1; + overflow-y: auto; + padding: var(--space-lg); + display: flex; + flex-direction: column; + gap: var(--space-lg); +} + +/* Welcome Message */ +.welcome-message { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + padding: var(--space-xl); + margin: auto; + max-width: 500px; +} + +.welcome-icon { + width: 80px; + height: 80px; + background: var(--accent-gradient); + border-radius: var(--radius-lg); + display: flex; + align-items: center; + justify-content: center; + margin-bottom: var(--space-lg); + color: white; +} + +.welcome-message h2 { + font-size: 24px; + font-weight: 600; + margin-bottom: var(--space-sm); +} + +.welcome-message p { + color: var(--text-secondary); + margin-bottom: var(--space-lg); +} + +.feature-highlights { + display: flex; + gap: var(--space-lg); + flex-wrap: wrap; + justify-content: center; +} + +.feature { + display: flex; + align-items: center; + gap: var(--space-sm); + color: var(--text-secondary); + font-size: 13px; +} + +.feature svg { + color: var(--accent-secondary); +} + +/* Message Bubbles */ +.message { + display: flex; + gap: var(--space-md); + max-width: 85%; + animation: fadeIn 0.3s ease; +} + +@keyframes fadeIn { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.message.user { + margin-left: auto; + flex-direction: row-reverse; +} + +.message-avatar { + width: 36px; + height: 36px; + border-radius: var(--radius-md); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + font-weight: 600; + font-size: 14px; +} + +.message.user .message-avatar { + background: var(--accent-gradient); + color: white; +} + +.message.assistant .message-avatar { + background: var(--bg-tertiary); + color: var(--accent-secondary); +} + +.message-content { + display: flex; + flex-direction: column; + gap: var(--space-xs); +} + +.message-bubble { + padding: var(--space-md); + border-radius: var(--radius-lg); + line-height: 1.6; +} + +.message.user .message-bubble { + background: var(--accent-gradient); + color: white; + border-bottom-right-radius: var(--radius-sm); +} + +.message.assistant .message-bubble { + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-bottom-left-radius: var(--radius-sm); +} + +/* Message Stats */ +.message-stats { + display: flex; + gap: var(--space-md); + font-size: 11px; + color: var(--text-muted); + padding: 0 var(--space-sm); +} + +.stat-item { + display: flex; + align-items: center; + gap: var(--space-xs); +} + +/* Code Blocks */ +.message-bubble pre { + margin: var(--space-sm) 0; + padding: var(--space-md); + background: var(--bg-primary); + border-radius: var(--radius-md); + overflow-x: auto; + position: relative; +} + +.message-bubble code { + font-family: var(--font-mono); + font-size: 13px; +} + +.message-bubble pre code { + display: block; +} + +.message-bubble :not(pre) > code { + background: var(--bg-tertiary); + padding: 2px 6px; + border-radius: var(--radius-sm); +} + +.code-block-wrapper { + position: relative; + margin: var(--space-sm) 0; +} + +.code-block-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--space-sm) var(--space-md); + background: var(--bg-tertiary); + border-radius: var(--radius-md) var(--radius-md) 0 0; + font-size: 12px; + color: var(--text-muted); +} + +.code-block-wrapper pre { + margin: 0; + border-radius: 0 0 var(--radius-md) var(--radius-md); +} + +.copy-btn { + display: flex; + align-items: center; + gap: var(--space-xs); + padding: var(--space-xs) var(--space-sm); + background: var(--bg-hover); + border: none; + border-radius: var(--radius-sm); + color: var(--text-secondary); + font-size: 12px; + cursor: pointer; + transition: all var(--transition-fast); +} + +.copy-btn:hover { + background: var(--bg-active); + color: var(--text-primary); +} + +.copy-btn.copied { + color: var(--success); +} + +/* Typing Indicator */ +.typing-indicator { + display: flex; + gap: 4px; + padding: var(--space-md); + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: var(--radius-lg); + border-bottom-left-radius: var(--radius-sm); + width: fit-content; +} + +.typing-indicator span { + width: 8px; + height: 8px; + background: var(--text-muted); + border-radius: 50%; + animation: typing 1.4s ease-in-out infinite; +} + +.typing-indicator span:nth-child(2) { + animation-delay: 0.2s; +} + +.typing-indicator span:nth-child(3) { + animation-delay: 0.4s; +} + +@keyframes typing { + 0%, 100% { transform: translateY(0); opacity: 0.5; } + 50% { transform: translateY(-4px); opacity: 1; } +} + +/* ===================================================== + Chat Input + ===================================================== */ + +.chat-input-container { + padding: var(--space-md) var(--space-lg) var(--space-lg); + background: var(--bg-primary); +} + +.chat-input-form { + max-width: 900px; + margin: 0 auto; +} + +.input-wrapper { + display: flex; + align-items: flex-end; + gap: var(--space-sm); + padding: var(--space-sm); + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: var(--radius-lg); + transition: all var(--transition-fast); +} + +.input-wrapper:focus-within { + border-color: var(--accent-primary); + box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); +} + +.input-wrapper textarea { + flex: 1; + background: transparent; + border: none; + outline: none; + color: var(--text-primary); + font-family: inherit; + font-size: 14px; + line-height: 1.5; + resize: none; + max-height: 150px; + padding: var(--space-sm); +} + +.input-wrapper textarea::placeholder { + color: var(--text-muted); +} + +.input-wrapper textarea:disabled { + cursor: not-allowed; +} + +.send-btn { + width: 40px; + height: 40px; + background: var(--accent-gradient); + border: none; + border-radius: var(--radius-md); + color: white; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all var(--transition-fast); + flex-shrink: 0; +} + +.send-btn:hover:not(:disabled) { + transform: scale(1.05); +} + +.send-btn:active:not(:disabled) { + transform: scale(0.95); +} + +.send-btn:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +.input-hint { + text-align: center; + font-size: 11px; + color: var(--text-muted); + margin-top: var(--space-sm); +} + +.input-hint kbd { + padding: 2px 6px; + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: var(--radius-sm); + font-family: var(--font-mono); + font-size: 10px; +} + +/* ===================================================== + Toast Notifications + ===================================================== */ + +.toast-container { + position: fixed; + bottom: var(--space-lg); + right: var(--space-lg); + display: flex; + flex-direction: column; + gap: var(--space-sm); + z-index: 1000; +} + +.toast { + padding: var(--space-md) var(--space-lg); + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + box-shadow: var(--shadow-lg); + display: flex; + align-items: center; + gap: var(--space-sm); + animation: slideIn 0.3s ease; + max-width: 350px; +} + +@keyframes slideIn { + from { + opacity: 0; + transform: translateX(100%); + } + to { + opacity: 1; + transform: translateX(0); + } +} + +.toast.success { + border-left: 3px solid var(--success); +} + +.toast.error { + border-left: 3px solid var(--error); +} + +.toast.warning { + border-left: 3px solid var(--warning); +} + +/* ===================================================== + Scrollbar + ===================================================== */ + +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: transparent; +} + +::-webkit-scrollbar-thumb { + background: var(--border-color); + border-radius: var(--radius-full); +} + +::-webkit-scrollbar-thumb:hover { + background: var(--text-muted); +} + +/* ===================================================== + Responsive + ===================================================== */ + +@media (max-width: 768px) { + .sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + transform: translateX(-100%); + box-shadow: var(--shadow-lg); + } + + .sidebar.open { + transform: translateX(0); + } + + .mobile-menu-btn { + display: block; + } + + .message { + max-width: 95%; + } + + .feature-highlights { + flex-direction: column; + align-items: center; + } +} + +/* ===================================================== + Syntax Highlighting (Basic) + ===================================================== */ + +.hljs-keyword, +.hljs-selector-tag, +.hljs-built_in { + color: #c792ea; +} + +.hljs-string, +.hljs-attr { + color: #c3e88d; +} + +.hljs-number, +.hljs-literal { + color: #f78c6c; +} + +.hljs-comment { + color: #546e7a; + font-style: italic; +} + +.hljs-function, +.hljs-title { + color: #82aaff; +} + +.hljs-variable, +.hljs-params { + color: #f07178; +} From a8ab82793c798513fa9799e97424b43c97b3e5da Mon Sep 17 00:00:00 2001 From: samuel100 Date: Fri, 30 Jan 2026 16:35:26 +0000 Subject: [PATCH 05/10] trancription added. --- .../js/electron-chat-application/index.html | 40 +- samples/js/electron-chat-application/main.js | 102 ++++ .../js/electron-chat-application/preload.js | 7 +- .../js/electron-chat-application/renderer.js | 482 ++++++++++++++++-- .../js/electron-chat-application/styles.css | 417 +++++++++++++-- 5 files changed, 951 insertions(+), 97 deletions(-) diff --git a/samples/js/electron-chat-application/index.html b/samples/js/electron-chat-application/index.html index 5edb12d..a497854 100644 --- a/samples/js/electron-chat-application/index.html +++ b/samples/js/electron-chat-application/index.html @@ -42,12 +42,6 @@

Models

- - @@ -116,6 +110,17 @@

Welcome to Foundry Local Chat

rows="1" disabled > + + + +
diff --git a/samples/js/electron-chat-application/main.js b/samples/js/electron-chat-application/main.js index bae1ca7..af67614 100644 --- a/samples/js/electron-chat-application/main.js +++ b/samples/js/electron-chat-application/main.js @@ -175,6 +175,27 @@ ipcMain.handle('unload-model', async () => { } }); +ipcMain.handle('delete-model', async (event, modelAlias) => { + try { + await initializeSDK(); + const model = await manager.catalog.getModel(modelAlias); + if (!model) throw new Error(`Model ${modelAlias} not found`); + + // Unload if currently loaded + if (currentModel && currentModel.alias === modelAlias) { + await currentModel.unload(); + currentModel = null; + chatClient = null; + } + + model.removeFromCache(); + return { success: true }; + } catch (error) { + console.error('Error deleting model:', error); + throw error; + } +}); + ipcMain.handle('chat', async (event, messages) => { if (!currentModel) throw new Error('No model loaded'); @@ -256,3 +277,84 @@ ipcMain.handle('get-loaded-model', async () => { alias: currentModel.alias }; }); + +// Transcription handlers +ipcMain.handle('get-whisper-models', async () => { + await initializeSDK(); + const models = await manager.catalog.getModels(); + return models + .filter(m => m.alias.toLowerCase().includes('whisper')) + .map(m => ({ + alias: m.alias, + isCached: m.isCached, + fileSizeMb: m.variants[0]?.modelInfo?.fileSizeMb + })); +}); + +ipcMain.handle('download-whisper-model', async (event, modelAlias) => { + await initializeSDK(); + const model = await manager.catalog.getModel(modelAlias); + if (!model) throw new Error(`Model ${modelAlias} not found`); + model.download(); + return { success: true }; +}); + +ipcMain.handle('transcribe-audio', async (event, audioFilePath, base64Data) => { + const fs = require('fs'); + const os = require('os'); + + await initializeSDK(); + ensureWebServiceStarted(); + + // Use OS temp directory + const tempDir = os.tmpdir(); + const tempFilePath = path.join(tempDir, `foundry_audio_${Date.now()}.wav`); + + // Write audio data to temp file + const audioBuffer = Buffer.from(base64Data, 'base64'); + fs.writeFileSync(tempFilePath, audioBuffer); + + try { + // Find a cached whisper model + const models = await manager.catalog.getModels(); + const whisperModels = models.filter(m => + m.alias.toLowerCase().includes('whisper') && m.isCached + ); + + if (whisperModels.length === 0) { + throw new Error('No whisper model downloaded'); + } + + // Use the smallest cached whisper model + const selectedModel = whisperModels.sort((a, b) => { + const sizeA = a.variants[0]?.modelInfo?.fileSizeMb || 0; + const sizeB = b.variants[0]?.modelInfo?.fileSizeMb || 0; + return sizeA - sizeB; + })[0]; + + // Load whisper model + const whisperModel = await manager.catalog.getModel(selectedModel.alias); + await whisperModel.load(); + + // Wait for model to be loaded + while (!(await whisperModel.isLoaded())) { + await new Promise(resolve => setTimeout(resolve, 100)); + } + + // Create audio client and transcribe + const audioClient = whisperModel.createAudioClient(); + const result = await audioClient.transcribe(tempFilePath); + + // Unload whisper model + await whisperModel.unload(); + + return result; + } finally { + // Clean up temp file + try { + fs.unlinkSync(tempFilePath); + } catch (e) { + // Ignore cleanup errors + } + } +}); diff --git a/samples/js/electron-chat-application/preload.js b/samples/js/electron-chat-application/preload.js index 095285f..b56c6eb 100644 --- a/samples/js/electron-chat-application/preload.js +++ b/samples/js/electron-chat-application/preload.js @@ -5,10 +5,15 @@ contextBridge.exposeInMainWorld('foundryAPI', { downloadModel: (modelAlias) => ipcRenderer.invoke('download-model', modelAlias), loadModel: (modelAlias) => ipcRenderer.invoke('load-model', modelAlias), unloadModel: () => ipcRenderer.invoke('unload-model'), + deleteModel: (modelAlias) => ipcRenderer.invoke('delete-model', modelAlias), chat: (messages) => ipcRenderer.invoke('chat', messages), getLoadedModel: () => ipcRenderer.invoke('get-loaded-model'), onChatChunk: (callback) => { ipcRenderer.on('chat-chunk', (event, data) => callback(data)); return () => ipcRenderer.removeAllListeners('chat-chunk'); - } + }, + // Transcription + getWhisperModels: () => ipcRenderer.invoke('get-whisper-models'), + downloadWhisperModel: (modelAlias) => ipcRenderer.invoke('download-whisper-model', modelAlias), + transcribeAudio: (filePath, base64Data) => ipcRenderer.invoke('transcribe-audio', filePath, base64Data) }); diff --git a/samples/js/electron-chat-application/renderer.js b/samples/js/electron-chat-application/renderer.js index a09dcd4..84b52ec 100644 --- a/samples/js/electron-chat-application/renderer.js +++ b/samples/js/electron-chat-application/renderer.js @@ -11,25 +11,32 @@ const SimpleMarkdown = { // Code blocks with language html = html.replace(/```(\w*)\n([\s\S]*?)```/g, (match, lang, code) => { - const language = lang || 'plaintext'; return `
-
- ${language} - -
-
${code.trim()}
+ +
${code.trim()}
`; }); - // Inline code + // Inline code (must come before other formatting) html = html.replace(/`([^`]+)`/g, '$1'); + // Headings (### before ## before #) + html = html.replace(/^### (.+)$/gm, '

$1

'); + html = html.replace(/^## (.+)$/gm, '

$1

'); + html = html.replace(/^# (.+)$/gm, '

$1

'); + + // Also handle headings after
tags (from previous newline conversion) + html = html.replace(/
### (.+?)(
|$)/g, '

$1

$2'); + html = html.replace(/
## (.+?)(
|$)/g, '

$1

$2'); + html = html.replace(/
# (.+?)(
|$)/g, '

$1

$2'); + + // Unordered lists + html = html.replace(/^- (.+)$/gm, '
  • $1
  • '); + html = html.replace(/(
  • .*<\/li>\n?)+/g, '
      $&
    '); + // Bold html = html.replace(/\*\*([^*]+)\*\*/g, '$1'); @@ -39,9 +46,15 @@ const SimpleMarkdown = { // Links html = html.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '$1'); - // Line breaks + // Line breaks (but not inside block elements) html = html.replace(/\n/g, '
    '); + // Clean up extra
    around block elements + html = html.replace(/
    ()/g, '$1'); + html = html.replace(/(<\/h[234]>)
    /g, '$1'); + html = html.replace(/
    (