diff --git a/postcss.config.js b/postcss.config.js
index 3b6bb01..44f65ec 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -23,6 +23,7 @@ export default {
case '.fa-desktop:before':
case '.fa-mouse-pointer:before':
case '.fa-hourglass-half:before':
+ case '.fa-hand:before':
case '.fa-keyboard:before':
case '.fa-brands:before':
case '.fa-solid:before':
diff --git a/src/lib/AnthropicTab.svelte b/src/lib/AnthropicTab.svelte
index 6681b4b..a83a809 100644
--- a/src/lib/AnthropicTab.svelte
+++ b/src/lib/AnthropicTab.svelte
@@ -1,8 +1,11 @@
Claude AI Integration
WebVM is integrated with Claude by Anthropic AI. You can prompt the AI to control the system.
@@ -116,6 +126,14 @@
{#if $apiState == "KEY_REQUIRED"}
+{:else if $aiActivity}
+ {#if stopRequested }
+
+
+ {:else}
+
+
+ {/if}
{:else}
{/if}
diff --git a/src/lib/anthropic.js b/src/lib/anthropic.js
index 90ab89c..c94c888 100644
--- a/src/lib/anthropic.js
+++ b/src/lib/anthropic.js
@@ -6,6 +6,7 @@ import Anthropic from '@anthropic-ai/sdk';
var client = null;
var messages = [];
+var stopFlag = false;
export function setApiKey(key)
{
@@ -45,6 +46,11 @@ async function sendMessages(handleTool)
tool_choice: {type: "auto", disable_parallel_tool_use: true},
betas: ["computer-use-2025-01-24"]
});
+ if(stopFlag)
+ {
+ aiActivity.set(false);
+ return;
+ }
// Remove all the image payloads, we don't want to send them over and over again
for(var i=0;i {
+ const unsubscribe = aiActivity.subscribe((value) => {
+ if (!value) {
+ unsubscribe();
+ stopFlag = false;
+ resolve();
+ }
+ });
+ });
+}
+
function initialize()
{
var savedApiKey = localStorage.getItem("anthropic-api-key");