stacks-ai 0.2.8 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import{g}from"./index-Bu15JuLn.js";import{c as h,o as y,a as m}from"./index-DuyFZj1M.js";const r={},p=t=>{const e={anthropic:"anthropic-api-key",openai:"openai-api-key",google:"gemini-api-key"},a=localStorage.getItem(e[t]);return a||{anthropic:r==null?void 0:r.VITE_ANTHROPIC_API_KEY,openai:r==null?void 0:r.VITE_OPENAI_API_KEY,google:r==null?void 0:r.VITE_GEMINI_API_KEY}[t]||""},u=async t=>{const a=await(await fetch(t)).blob();return new Promise((o,l)=>{const n=new FileReader;n.onloadend=()=>{const c=n.result,[,s]=c.split(",");o({data:s,mimeType:a.type})},n.onerror=l,n.readAsDataURL(a)})},P=async(t,e)=>{const a=(e==null?void 0:e.provider)||localStorage.getItem("ai-provider")||"google",o=p(a);if(!o)throw new Error(`${a} API key not configured. Please add your API key in Settings → Providers.`);const{data:l,mimeType:n}=await u(t),c=localStorage.getItem("image-analysis-model");let s;switch(a){case"anthropic":s=m((e==null?void 0:e.model)||c||"claude-sonnet-4-5-20250929",{apiKey:o});break;case"openai":s=y((e==null?void 0:e.model)||c||"gpt-4o",{apiKey:o});break;case"google":{s=h({apiKey:o})((e==null?void 0:e.model)||c||"gemini-2.0-flash-exp");break}default:throw new Error(`Unknown provider: ${a}`)}const d=(await g({model:s,messages:[{role:"user",content:[{type:"image",image:`data:${n};base64,${l}`},{type:"text",text:`Analyze this image and provide:
1
+ import{g}from"./index-Bj1oZk28.js";import{c as h,o as y,a as m}from"./index-BeppnFcF.js";const r={},p=t=>{const e={anthropic:"anthropic-api-key",openai:"openai-api-key",google:"gemini-api-key"},a=localStorage.getItem(e[t]);return a||{anthropic:r==null?void 0:r.VITE_ANTHROPIC_API_KEY,openai:r==null?void 0:r.VITE_OPENAI_API_KEY,google:r==null?void 0:r.VITE_GEMINI_API_KEY}[t]||""},u=async t=>{const a=await(await fetch(t)).blob();return new Promise((o,l)=>{const n=new FileReader;n.onloadend=()=>{const c=n.result,[,s]=c.split(",");o({data:s,mimeType:a.type})},n.onerror=l,n.readAsDataURL(a)})},P=async(t,e)=>{const a=(e==null?void 0:e.provider)||localStorage.getItem("ai-provider")||"google",o=p(a);if(!o)throw new Error(`${a} API key not configured. Please add your API key in Settings → Providers.`);const{data:l,mimeType:n}=await u(t),c=localStorage.getItem("image-analysis-model");let s;switch(a){case"anthropic":s=m((e==null?void 0:e.model)||c||"claude-sonnet-4-5-20250929",{apiKey:o});break;case"openai":s=y((e==null?void 0:e.model)||c||"gpt-4o",{apiKey:o});break;case"google":{s=h({apiKey:o})((e==null?void 0:e.model)||c||"gemini-2.0-flash-exp");break}default:throw new Error(`Unknown provider: ${a}`)}const d=(await g({model:s,messages:[{role:"user",content:[{type:"image",image:`data:${n};base64,${l}`},{type:"text",text:`Analyze this image and provide:
2
2
  1. A one-sentence description of what you see
3
3
  2. The 6 most dominant colors as hex codes
4
4
 
package/dist/index.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
6
6
  <title>Stacks</title>
7
- <script type="module" crossorigin src="./assets/index-C28_FqqE.js"></script>
7
+ <script type="module" crossorigin src="./assets/index-BtJd96u-.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="./assets/index-BRmp9CJR.css">
9
9
  </head>
10
10
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stacks-ai",
3
- "version": "0.2.8",
3
+ "version": "0.2.9",
4
4
  "description": "Stacks - AI-powered infinite canvas for notes, images, and creative organization",
5
5
  "author": "Jason Kneen",
6
6
  "license": "MIT",