webchat: bypass api key prompts in embedded mode

This commit is contained in:
Peter Steinberger
2025-12-07 17:53:44 +01:00
parent bdf3d60148
commit 4ff5004d7c
3 changed files with 17 additions and 0 deletions

View File

@@ -57,6 +57,8 @@ let ChatPanel = class ChatPanel extends LitElement {
this.agentInterface.enableModelSelector = false;
this.agentInterface.enableThinkingSelector = true;
this.agentInterface.showThemeToggle = false;
// In embedded mode, bypass API key prompts; native transport handles auth.
this.agentInterface.onApiKeyRequired = async () => true;
this.agentInterface.onApiKeyRequired = config?.onApiKeyRequired;
this.agentInterface.onBeforeSend = config?.onBeforeSend;
this.agentInterface.onCostClick = config?.onCostClick;

View File

@@ -109,6 +109,14 @@ const startChat = async () => {
);
setAppStorage(storage);
// Prepopulate a dummy API key so the UI does not block sends in embedded mode.
const defaultProvider = "anthropic";
try {
await providerKeysStore.set(defaultProvider, "embedded");
} catch (err) {
logStatus(`storage warn: could not seed provider key: ${err}`);
}
const agent = new Agent({
initialState: {
systemPrompt: "You are Clawd (primary session).",

View File

@@ -195306,6 +195306,7 @@ var init_ChatPanel = __esmMin((() => {
this.agentInterface.enableModelSelector = false;
this.agentInterface.enableThinkingSelector = true;
this.agentInterface.showThemeToggle = false;
this.agentInterface.onApiKeyRequired = async () => true;
this.agentInterface.onApiKeyRequired = config?.onApiKeyRequired;
this.agentInterface.onBeforeSend = config?.onBeforeSend;
this.agentInterface.onCostClick = config?.onCostClick;
@@ -195921,6 +195922,12 @@ const startChat = async () => {
}
const storage = new AppStorage$1(settingsStore, providerKeysStore, sessionsStore, customProvidersStore, backend);
setAppStorage$1(storage);
const defaultProvider = "anthropic";
try {
await providerKeysStore.set(defaultProvider, "embedded");
} catch (err) {
logStatus(`storage warn: could not seed provider key: ${err}`);
}
const agent = new Agent$1({
initialState: {
systemPrompt: "You are Clawd (primary session).",