sliccy 5.0.1 → 5.2.0
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.
- package/README.md +1 -1
- package/dist/ui/assets/{account-store-BTIDJ0D4.js → account-store-B9L-iw3_.js} +2 -2
- package/dist/ui/assets/{account-store-CMUhavj7.js → account-store-J1i56LXB.js} +2 -2
- package/dist/ui/assets/{adobe-BJ8xXfgr.js → adobe-BE4O6RpW.js} +1 -1
- package/dist/ui/assets/{adobe-oauth-state-BKLNg5pX.js → adobe-oauth-state-BSzOZOb6.js} +1 -1
- package/dist/ui/assets/{adobe-Bfg41Sm0.js → adobe-uU9WScyf.js} +1 -1
- package/dist/ui/assets/{agent-message-to-chat-DfH2TOaj.js → agent-message-to-chat-BDsWz4XM.js} +1 -1
- package/dist/ui/assets/{apps-lJRD56s5.js → apps-D9vX8Iuh.js} +1 -1
- package/dist/ui/assets/{azure-openai-qyHZFjc5.js → azure-openai-BANs3KGr.js} +1 -1
- package/dist/ui/assets/{azure-openai-DLJjg2yI.js → azure-openai-D6toPyQ8.js} +1 -1
- package/dist/ui/assets/{browser-ukv9lM61.js → browser-D0vICVpZ.js} +50 -45
- package/dist/ui/assets/{cdp-z9uzg44m.js → cdp-Ds3-0d7E.js} +2 -2
- package/dist/ui/assets/{connect-surface-DCR9Fin6.js → connect-surface-DAC3CNei.js} +1 -1
- package/dist/ui/assets/dip-3VX86RoF.js +1 -0
- package/dist/ui/assets/{dist-DDGRY8xT.js → dist--TcGqpJG.js} +1 -1
- package/dist/ui/assets/{dist-Dh3Yf9I8.js → dist-BWYQOlqM.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-CZKsXlsO.js → ensure-speech-assets-B-pBwbKb.js} +1 -1
- package/dist/ui/assets/esp8266-DEulqnXg.js +1 -0
- package/dist/ui/assets/{esptool-operations-PEsKHcvX.js → esptool-operations-CP9wpmtB.js} +2 -2
- package/dist/ui/assets/extension-bridge-transport-B4WmKl7n.js +1 -0
- package/dist/ui/assets/follower-navigate-watcher-CnHWEu_l.js +1 -0
- package/dist/ui/assets/{fs-BFpCPBBZ.js → fs-BMm4juUO.js} +2 -2
- package/dist/ui/assets/{fs-BAgteKng.js → fs-CDxFmHhs.js} +1 -1
- package/dist/ui/assets/{github-DAbVUH3-.js → github-Bv3awCy-.js} +2 -2
- package/dist/ui/assets/{github-copilot-CznXozwK.js → github-copilot-Bo6St-mj.js} +1 -1
- package/dist/ui/assets/{github-copilot-7ZJcKEfr.js → github-copilot-EhpEoXT_.js} +1 -1
- package/dist/ui/assets/{github-CKJk6KAd.js → github-igAb2Tr3.js} +1 -1
- package/dist/ui/assets/handoff-link-ywwq4k0t.js +1 -0
- package/dist/ui/assets/{hear-DoOBx2IM.js → hear-CTBETRuZ.js} +1 -1
- package/dist/ui/assets/{kernel-worker-C3Zv0cFP.js → kernel-worker-DU2Lsjyz.js} +1103 -1094
- package/dist/ui/assets/{kokoro-engine-DvUa426X.js → kokoro-engine-qxvtO16S.js} +1 -1
- package/dist/ui/assets/lick-ws-bridge-CAy0-YSl.js +1 -0
- package/dist/ui/assets/lick-ws-bridge-D_Q0B4_w.js +1 -0
- package/dist/ui/assets/{local-llm-VxY6Rihr.js → local-llm-yvkTurpV.js} +1 -1
- package/dist/ui/assets/main-DYwi5YqO.js +24 -0
- package/dist/ui/assets/{main-cherry-BRV9Q0tu.js → main-cherry-CpYPaCCM.js} +1 -1
- package/dist/ui/assets/{mount-D4sVsAe9.js → mount-BMTmsC-u.js} +1 -1
- package/dist/ui/assets/{mount-DfhfmOn6.js → mount-C0n7eObT.js} +2 -2
- package/dist/ui/assets/navigation-watcher-BxAAD5To.js +1 -0
- package/dist/ui/assets/new-session-BgzUQaQk.js +2 -0
- package/dist/ui/assets/{oauth-bootstrap-B6gbcpSf.js → oauth-bootstrap-B35kl1hZ.js} +2 -2
- package/dist/ui/assets/{openai-codex-ChP4AOf5.js → openai-codex-BziCxD0k.js} +1 -1
- package/dist/ui/assets/{openai-codex-xhF7lncq.js → openai-codex-CNXAYokU.js} +1 -1
- package/dist/ui/assets/page-follower-tray-tXYeooU8.js +4 -0
- package/dist/ui/assets/{panel-rpc-handlers-B_UznVxB.js → panel-rpc-handlers-Cxg9OE7o.js} +1 -1
- package/dist/ui/assets/{provider-CvyNCTJa.js → provider-CzdDndd-.js} +2 -2
- package/dist/ui/assets/{provider-Co8OCo7w.js → provider-DOAeQgJY.js} +1 -1
- package/dist/ui/assets/provider-store-access-02kN2Pzi.js +1 -0
- package/dist/ui/assets/provider-store-access-DOOb1KbA.js +1 -0
- package/dist/ui/assets/{providers-CU0-WZx1.js → providers-Kx_BEFqJ.js} +1 -1
- package/dist/ui/assets/{quick-llm-Bsr48RSH.js → quick-llm-BW-brmSb.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-Qv9yhXQm.js → remote-terminal-view-DMnqOfIb.js} +1 -1
- package/dist/ui/assets/session-freezer-D6kbwY6i.js +1 -0
- package/dist/ui/assets/{speak-CCE3xUWF.js → speak-B8c3oh9Y.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-8YNPbXXp.js → sprinkle-manager-BpLedeCo.js} +1 -1
- package/dist/ui/assets/{store-Dd5SZXO7.js → store-Ccl5ODaE.js} +1 -1
- package/dist/ui/assets/{sudo-D-B_nWdG.js → sudo-D6_01n3k.js} +1 -1
- package/dist/ui/assets/{transformers-env-5eefnAKA.js → transformers-env-D2tn9gLL.js} +1 -1
- package/dist/ui/assets/tray-leader-DGFajpwM.js +1 -0
- package/dist/ui/assets/{tray-leave-runtime-5JqY7-Mf.js → tray-leave-runtime-taK1Ebp7.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-CpQEZh6h.js → upgrade-detection-DrfEt3Mi.js} +1 -1
- package/dist/ui/assets/{wc-attach-CJB9Bygt.js → wc-attach-DBF_z5mw.js} +2 -2
- package/dist/ui/assets/{wc-detached--iRc1rNo.js → wc-detached-Wt3lzK1R.js} +1 -1
- package/dist/ui/assets/{wc-extension-f-Y8gbFv.js → wc-extension-DfX8q6Ih.js} +2 -2
- package/dist/ui/assets/wc-follower-BVeqP5KF.js +2 -0
- package/dist/ui/assets/wc-live-DqgXrP0F.js +253 -0
- package/dist/ui/assets/wc-nav-6aYy7HCy.js +2 -0
- package/dist/ui/assets/{wc-onboarding-CdQ6tw8X.js → wc-onboarding-CEjOIdK5.js} +2 -2
- package/dist/ui/assets/{wc-permissions-mVh0SOdZ.js → wc-permissions-Wqap3kzM.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-DD8_MSOp.js → wc-placeholder-CHDb9Kuo.js} +3 -3
- package/dist/ui/assets/{wc-settings-7Kbtrg5p.js → wc-settings-qlpR6Q6T.js} +2 -2
- package/dist/ui/assets/{wc-shell-PklxeZ6D.js → wc-shell-DTsW2ra1.js} +4 -4
- package/dist/ui/assets/{wc-sprinkles-ClY0Bpba.js → wc-sprinkles-D_fwWOq8.js} +2 -2
- package/dist/ui/assets/wc-tray-2mdLomRm.js +2 -0
- package/dist/ui/assets/{whisper-engine-BonGdnOP.js → whisper-engine-CvJzjL-a.js} +1 -1
- package/dist/ui/assets/{xai-grok-x_rql0uW.js → xai-grok-BoTmSfDH.js} +1 -1
- package/dist/ui/assets/{xai-grok-Cpf3Hypg.js → xai-grok-U2afiu3-.js} +1 -1
- package/dist/ui/electron-overlay-entry.js +51 -51
- package/dist/ui/index.html +2 -2
- package/dist/ui/packages/webapp/index.html +2 -2
- package/package.json +1 -1
- package/dist/ui/assets/dip-B9XK8NtT.js +0 -1
- package/dist/ui/assets/esp8266-Cj1Ntxw5.js +0 -1
- package/dist/ui/assets/extension-bridge-transport-DYOF2OYC.js +0 -1
- package/dist/ui/assets/lick-ws-bridge-DodKv_gI.js +0 -1
- package/dist/ui/assets/main-BDgWldfd.js +0 -24
- package/dist/ui/assets/new-session-B2rDFglN.js +0 -2
- package/dist/ui/assets/provider-store-access-DXSPPtDF.js +0 -1
- package/dist/ui/assets/provider-store-access-DpQ0Ni0t.js +0 -1
- package/dist/ui/assets/session-freezer-C4fFg5qr.js +0 -1
- package/dist/ui/assets/wc-live-Cmyb8YU6.js +0 -253
- package/dist/ui/assets/wc-nav-Btf9Z40L.js +0 -2
- package/dist/ui/assets/wc-tray-MDjEKWqg.js +0 -5
package/dist/ui/assets/{agent-message-to-chat-DfH2TOaj.js → agent-message-to-chat-BDsWz4XM.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{D as e,E as t,T as n}from"./kernel-worker-
|
|
1
|
+
import{D as e,E as t,T as n}from"./kernel-worker-DU2Lsjyz.js";const r=new Set([`webhook`,`cron`,`sprinkle`,`fswatch`,`session-reload`,`navigate`,`upgrade`,`workflow`,`scoop-notify`,`scoop-idle`,`scoop-wait`,`sudo-request`]);function i(e){return e!=null&&r.has(e)}function a(t,n={}){let{source:r=`cone`,idSeed:i=g,hiddenToolNames:a=e}=n,f=[],p=null,m=new Set;for(let e of t)l(e)?(f.push(...o(e,i)),p=null):u(e)?(p=s(e,r,i,a,m),f.push(p)):d(e)&&c(e,p,m);return f}function o(e,t){let n=f(e.content);if(n.length===0)return[];let r=[];for(let i of v(n)){if(i.body.length===0&&i.sender==null)continue;let n=(i.sender?y(i.sender):null)??b(i.body),a={id:t(),role:`user`,content:i.body,timestamp:e.timestamp};n&&(a.source=`lick`,a.channel=n),r.push(a)}return r}function s(e,t,n,r,i){let a=[];for(let t of h(e))r.has(t.name)?i.add(t.id):a.push(t);let o={id:n(),role:`assistant`,content:f(e.content),timestamp:e.timestamp,source:t};return a.length>0&&(o.toolCalls=a),o}function c(e,t,r){if(r.has(e.toolCallId))return;let i=t?.toolCalls?.find(t=>t.id===e.toolCallId);i&&(i.result=n(f(e.content)),i.isError=e.isError)}function l(e){return e.role===`user`}function u(e){return e.role===`assistant`}function d(e){return e.role===`toolResult`}function f(e){if(typeof e==`string`)return e;if(!Array.isArray(e))return``;let t=[];for(let n of e)p(n)&&t.push(n.text);return t.join(``)}function p(e){return e.type===`text`}function m(e){return e.type===`toolCall`}function h(e){if(!Array.isArray(e.content))return[];let n=[];for(let r of e.content)m(r)&&n.push({id:r.id,name:r.name,input:t(r.arguments)});return n}function g(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function _(e){if(!e.startsWith(`[`))return null;let t=e.indexOf(`] `);if(t<=0||e.lastIndexOf(`
|
|
2
2
|
`,t)!==-1)return null;let n=e.slice(t+2);if(n.startsWith(`User: `))return{sender:`User`,body:n.slice(6)};for(let e of r){let t=`${e}:`;if(!n.startsWith(t))continue;let r=n.indexOf(`
|
|
3
3
|
`),i=r===-1?n.length:r,a=n.slice(0,i),o=-1,s=a.indexOf(`[`,t.length);if(s>t.length&&(o=a.lastIndexOf(`: `,s)),o<t.length&&(o=n.indexOf(`: `,t.length)),!(o<0||o>=i))return{sender:n.slice(0,o),body:n.slice(o+2)}}let i=n.indexOf(`
|
|
4
4
|
`),a=i===-1?n.length:i,o=n.indexOf(`: `);if(o<=0||o>=a)return null;let s=n.slice(0,o);return s.includes(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./types-idfTVsM8.js";import{m as n}from"./kernel-worker-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./types-idfTVsM8.js";import{m as n}from"./kernel-worker-DU2Lsjyz.js";const r=e(`mcp-apps`),i=`/workspace/.mcp/sprinkles`;async function a(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-CDxFmHhs.js`).then(e=>e.t);return await t.create({dbName:n})}function o(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64)||`app`}function s(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function c(e,t){let n=s(t.title??t.name),r=t.description?s(t.description):``,i=s(t.templateUri??`about:blank`),a=JSON.stringify(e),o=JSON.stringify(t.name);return`<div class="mcp-app" data-sprinkle-title="${n}" style="display:flex;flex-direction:column;height:100%;min-height:0;">
|
|
2
2
|
<header class="mcp-app__header" style="padding:8px 12px;border-bottom:1px solid var(--s2-border-subtle,#3a3a3a);">
|
|
3
3
|
<h2 style="font-size:14px;font-weight:600;margin:0;">${n}</h2>${r?`\n <p style="font-size:12px;margin:4px 0 0;color:var(--s2-content-secondary,#a0a0a0);">${r}</p>`:``}
|
|
4
4
|
</header>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e}from"./bedrock-camp-C1lmRgcD.js";import{o as t,r as n,s as r,t as i}from"./transform-messages-BjP6vDPY.js";import{c as a,d as o}from"./account-store-
|
|
1
|
+
import{b as e}from"./bedrock-camp-C1lmRgcD.js";import{o as t,r as n,s as r,t as i}from"./transform-messages-BjP6vDPY.js";import{c as a,d as o}from"./account-store-B9L-iw3_.js";import{t as s}from"./openai-i4HWKCeW.js";import"./kernel-worker-DU2Lsjyz.js";const c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let e=o(c);if(!e)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return t.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:t.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=i(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}const g=(e,n,i={})=>{let o=t();return(async()=>{let t={role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let u=i.apiKey;if(!u)throw Error(`Azure API key is required`);let d=e.baseUrl;if(!d)throw Error(`Azure endpoint is required`);let g=e.id,_={};e.headers&&Object.assign(_,e.headers),i.headers&&Object.assign(_,i.headers);let v=a(c)||l,y=new s({endpoint:d.replace(/\/+$/,``),apiKey:u,deployment:g,apiVersion:v,dangerouslyAllowBrowser:!0,defaultHeaders:_}),b=[...n.systemPrompt?[{role:`system`,content:n.systemPrompt}]:[],...f(n,e)],x=p(n.tools),S=await y.chat.completions.create({model:g,messages:b,stream:!0,stream_options:{include_usage:!0},...i.maxTokens?{max_completion_tokens:i.maxTokens}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...x?{tools:x}:{}});o.push({type:`start`,partial:t});for await(let n of S){n.usage&&(t.usage.input=n.usage.prompt_tokens??0,t.usage.output=n.usage.completion_tokens??0,t.usage.totalTokens=n.usage.total_tokens??0,r(e,t.usage));for(let e of n.choices??[]){let n=e.delta;if(n){if(n.content){let{block:e,index:r}=m(t);e.text===``&&o.push({type:`text_start`,contentIndex:r,partial:t}),e.text+=n.content,o.push({type:`text_delta`,contentIndex:r,delta:n.content,partial:t})}if(n.tool_calls)for(let e of n.tool_calls){let n=e.id?h(t,e.id):void 0;if(!n&&e.id&&(n={type:`toolCall`,id:e.id,name:e.function?.name??``,arguments:{},_partialJson:``},t.content.push(n),o.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t})),n&&e.function?.arguments){n._partialJson+=e.function.arguments;try{n.arguments=JSON.parse(n._partialJson)}catch{}o.push({type:`toolcall_delta`,contentIndex:t.content.indexOf(n),delta:e.function.arguments,partial:t})}}e.finish_reason&&(t.stopReason=e.finish_reason===`tool_calls`?`toolUse`:e.finish_reason===`length`?`length`:`stop`)}}}for(let e of t.content){let n=t.content.indexOf(e);if(e.type===`toolCall`){let r=e;try{r.arguments=JSON.parse(r._partialJson||`{}`)}catch{}delete r._partialJson,o.push({type:`toolcall_end`,contentIndex:n,toolCall:e,partial:t})}else e.type===`text`&&o.push({type:`text_end`,contentIndex:n,content:e.text,partial:t})}o.push({type:`done`,reason:t.stopReason,message:t}),o.end()}catch(e){t.stopReason=i.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:JSON.stringify(e),o.push({type:`error`,reason:t.stopReason,error:t}),o.end()}})(),o},_=(e,t,r)=>{let i=r?.apiKey;if(!i)throw Error(`Azure API key is required`);return g(e,t,{...n(e,r,i)})};function v(){e({api:`azure-openai-anthropic`,stream:g,streamSimple:_})}export{u as config,v as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as e}from"./dist-BmWy99kl.js";import{n as t,r as n}from"./event-stream-BJI_nGaK.js";import{b as r,g as i}from"./account-store-
|
|
1
|
+
import{u as e}from"./dist-BmWy99kl.js";import{n as t,r as n}from"./event-stream-BJI_nGaK.js";import{b as r,g as i}from"./account-store-J1i56LXB.js";import{r as a,t as o}from"./transform-messages-DzB_lMo-.js";import"./main-DYwi5YqO.js";import{t as s}from"./openai-Cn5LRPCm.js";var c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let e=r(c);if(!e)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return t.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:t.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=o(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}var g=(e,r,a={})=>{let o=t();return(async()=>{let t={role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let u=a.apiKey;if(!u)throw Error(`Azure API key is required`);let d=e.baseUrl;if(!d)throw Error(`Azure endpoint is required`);let g=e.id,_={};e.headers&&Object.assign(_,e.headers),a.headers&&Object.assign(_,a.headers);let v=i(c)||l,y=new s({endpoint:d.replace(/\/+$/,``),apiKey:u,deployment:g,apiVersion:v,dangerouslyAllowBrowser:!0,defaultHeaders:_}),b=[...r.systemPrompt?[{role:`system`,content:r.systemPrompt}]:[],...f(r,e)],x=p(r.tools),S=await y.chat.completions.create({model:g,messages:b,stream:!0,stream_options:{include_usage:!0},...a.maxTokens?{max_completion_tokens:a.maxTokens}:{},...a.temperature===void 0?{}:{temperature:a.temperature},...x?{tools:x}:{}});o.push({type:`start`,partial:t});for await(let r of S){r.usage&&(t.usage.input=r.usage.prompt_tokens??0,t.usage.output=r.usage.completion_tokens??0,t.usage.totalTokens=r.usage.total_tokens??0,n(e,t.usage));for(let e of r.choices??[]){let n=e.delta;if(n){if(n.content){let{block:e,index:r}=m(t);e.text===``&&o.push({type:`text_start`,contentIndex:r,partial:t}),e.text+=n.content,o.push({type:`text_delta`,contentIndex:r,delta:n.content,partial:t})}if(n.tool_calls)for(let e of n.tool_calls){let n=e.id?h(t,e.id):void 0;if(!n&&e.id&&(n={type:`toolCall`,id:e.id,name:e.function?.name??``,arguments:{},_partialJson:``},t.content.push(n),o.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t})),n&&e.function?.arguments){n._partialJson+=e.function.arguments;try{n.arguments=JSON.parse(n._partialJson)}catch{}o.push({type:`toolcall_delta`,contentIndex:t.content.indexOf(n),delta:e.function.arguments,partial:t})}}e.finish_reason&&(t.stopReason=e.finish_reason===`tool_calls`?`toolUse`:e.finish_reason===`length`?`length`:`stop`)}}}for(let e of t.content){let n=t.content.indexOf(e);if(e.type===`toolCall`){let r=e;try{r.arguments=JSON.parse(r._partialJson||`{}`)}catch{}delete r._partialJson,o.push({type:`toolcall_end`,contentIndex:n,toolCall:e,partial:t})}else e.type===`text`&&o.push({type:`text_end`,contentIndex:n,content:e.text,partial:t})}o.push({type:`done`,reason:t.stopReason,message:t}),o.end()}catch(e){t.stopReason=a.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:JSON.stringify(e),o.push({type:`error`,reason:t.stopReason,error:t}),o.end()}})(),o},_=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`Azure API key is required`);return g(e,t,{...a(e,n,r)})};function v(){e({api:`azure-openai-anthropic`,stream:g,streamSimple:_})}export{u as config,v as register};
|