@fungi.computer/grove 0.0.0-stage → 0.1.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.
Files changed (58) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +106 -2
  3. package/dist/assets/Effect-CxgtVs4O.js +76 -0
  4. package/dist/assets/MapleMono-VF-CCDrizxw.woff2 +0 -0
  5. package/dist/assets/Nunito-VF-8c6a9bb-cyrillic-BsWUdSU9.woff2 +0 -0
  6. package/dist/assets/Nunito-VF-8c6a9bb-cyrillic-ext-Cb1j0nGJ.woff2 +0 -0
  7. package/dist/assets/Nunito-VF-8c6a9bb-latin-BYs3GYNf.woff2 +0 -0
  8. package/dist/assets/Nunito-VF-8c6a9bb-latin-ext-0RvtKGDy.woff2 +0 -0
  9. package/dist/assets/Nunito-VF-8c6a9bb-vietnamese-cS2dauUA.woff2 +0 -0
  10. package/dist/assets/anthropic-messages-DVt3Yh9K.js +41 -0
  11. package/dist/assets/azure-openai-responses-QZaJy-8U.js +1 -0
  12. package/dist/assets/base-face-BaB6vmvy.js +1 -0
  13. package/dist/assets/burger-CoqBXzRV.js +1 -0
  14. package/dist/assets/cat-2dRm7fBw.js +1 -0
  15. package/dist/assets/cloudflare-workers-ai-system-one-Bq-3_D9p.js +1 -0
  16. package/dist/assets/compat-fz0ZcRJH.js +2 -0
  17. package/dist/assets/diagnostics-CmW2yJSB.js +1 -0
  18. package/dist/assets/document-D5hwZS3o.js +1 -0
  19. package/dist/assets/error-CJ3RHG07.js +1 -0
  20. package/dist/assets/error-body-pkrba6pf.js +1 -0
  21. package/dist/assets/extension-hook-0UB2lkEs.js +560 -0
  22. package/dist/assets/extensions-CAsZR9ky.js +1 -0
  23. package/dist/assets/github-copilot-headers-DRgtIyTm.js +1 -0
  24. package/dist/assets/google-generative-ai-DP-8xZvz.js +1 -0
  25. package/dist/assets/google-shared-Cs5udoZV.js +8 -0
  26. package/dist/assets/google-vertex-BJiAIGUd.js +1 -0
  27. package/dist/assets/hash-yQufAZII.js +1 -0
  28. package/dist/assets/headers-FK4rgixo.js +1 -0
  29. package/dist/assets/index-Bw6tV9qS.css +1 -0
  30. package/dist/assets/index-DRDNbHYF.js +171 -0
  31. package/dist/assets/json-parse-nqKewMRF.js +3 -0
  32. package/dist/assets/mistral-conversations-mRYg3mWw.js +4 -0
  33. package/dist/assets/models-CcNnosqL.js +1 -0
  34. package/dist/assets/mushroom-B9t9hgQE.js +1 -0
  35. package/dist/assets/node.browser-DFtqp6Hr.js +1 -0
  36. package/dist/assets/node.browser-hsQQ6fyG.js +1 -0
  37. package/dist/assets/openai-Cpe0uoXQ.js +19 -0
  38. package/dist/assets/openai-codex-responses-CA-ivUEd.js +9 -0
  39. package/dist/assets/openai-completions-BxBCgHHI.js +5 -0
  40. package/dist/assets/openai-prompt-cache-DXo9f3w5.js +1 -0
  41. package/dist/assets/openai-responses-cvwOEFWg.js +1 -0
  42. package/dist/assets/openai-responses-shared-DzD8B6NI.js +10 -0
  43. package/dist/assets/openrouter-images-DwousKhc.js +1 -0
  44. package/dist/assets/parakeet-conversation-COndlivb.css +1 -0
  45. package/dist/assets/parakeet-conversation-w0nznEs9.js +3 -0
  46. package/dist/assets/pi-messages-CfXPQ4jp.js +7 -0
  47. package/dist/assets/preload-helper-mbhLTglw.js +8 -0
  48. package/dist/assets/provider-env-CcCbsTJq.js +1 -0
  49. package/dist/assets/provider-retry-CSlu6hjs.js +1 -0
  50. package/dist/assets/renderer-s3PB0XrL.js +1 -0
  51. package/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
  52. package/dist/assets/runtime-core-GKyHklNK.js +2 -0
  53. package/dist/assets/sanitize-unicode-DmIE6hZJ.js +1 -0
  54. package/dist/assets/system-one-shared-CGF8IYMZ.js +1 -0
  55. package/dist/assets/transform-messages-CrQEqmfx.js +1 -0
  56. package/dist/assets/typesafe-system-one-CWcJw-Ys.js +1 -0
  57. package/dist/index.html +19 -0
  58. package/package.json +175 -3
@@ -0,0 +1 @@
1
+ import{Sn as e}from"./Effect-CxgtVs4O.js";import{Aa as t,Br as n,Cn as r,Qr as i,Sn as a,Wr as o,Xr as s,c,i as l,on as u,wr as d,xn as f}from"./extension-hook-0UB2lkEs.js";Object.freeze({module:f,operation:a,gate:r}),n(u),o(s(u));var p=class extends e()(`@fungi.computer/shiitake/ExtensionRead`){},m=class extends e()(`@fungi.computer/shiitake/ExtensionTx`){},h=class extends t(`ExtensionStateError`){},g=class extends t(`AdmissionError`){},_=class extends t(`ExtensionCommandError`){},v=class extends t(`ExtensionStop`){};t(`ExtensionActivationError`),o(l),o(c),i(d);export{v as a,h as i,_ as n,m as o,p as r,g as t};
@@ -0,0 +1 @@
1
+ function e(e){let t=e[e.length-1];return t&&t.role!==`user`?`agent`:`user`}function t(e){return e.some(e=>e.role===`user`&&Array.isArray(e.content)||e.role===`toolResult`&&Array.isArray(e.content)?e.content.some(e=>e.type===`image`):!1)}function n(t){let n={"X-Initiator":e(t.messages),"Openai-Intent":`conversation-edits`};return t.hasImages&&(n[`Copilot-Vision-Request`]=`true`),n}export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import{_ as e,c as t,n,o as r}from"./preload-helper-mbhLTglw.js";import{a as i}from"./diagnostics-CmW2yJSB.js";import{n as a,t as o}from"./models-CcNnosqL.js";import{n as s}from"./headers-FK4rgixo.js";import{p as c,r as l}from"./transform-messages-CrQEqmfx.js";import{t as u}from"./sanitize-unicode-DmIE6hZJ.js";import{n as d,t as f}from"./error-body-pkrba6pf.js";import{a as p,c as m,d as h,f as g,i as _,l as v,m as y,n as b,o as x,p as S,r as C,s as w,t as T,u as E}from"./google-shared-Cs5udoZV.js";var D=0,O=(e,t,r)=>{let a=new i,s=n(t);return(async()=>{let t={role:`assistant`,content:[],api:`google-generative-ai`,provider:e.provider,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:`pending`,timestamp:Date.now()};try{if(r?.fetch&&r.fetch!==globalThis.fetch)throw Error(`Custom fetch is not supported by the Google Generative AI adapter`);let n=r?.apiKey;if(!n)throw Error(`No API key for provider: ${e.provider}`);let i=A(e,n,r?.headers),c=j(e,s,r),l=await r?.onPayload?.(c,e);l!==void 0&&(c=l);let u=await v(()=>i.models.generateContentStream(c),r);a.push({type:`start`,partial:t});let d=null,f=t.content,h=()=>f.length-1;for await(let n of u){await r?.onProviderStreamEvent?.(n,e),t.responseId||=n.responseId;let i=n.candidates?.[0];if(i?.content?.parts)for(let e of i.content.parts){if(e.text!==void 0){let n=_(e);(!d||n&&d.type!==`thinking`||!n&&d.type!==`text`)&&(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:f.length-1,content:d.text,partial:t}):a.push({type:`thinking_end`,contentIndex:h(),content:d.thinking,partial:t})),n?(d={type:`thinking`,thinking:``,thinkingSignature:void 0},t.content.push(d),a.push({type:`thinking_start`,contentIndex:h(),partial:t})):(d={type:`text`,text:``},t.content.push(d),a.push({type:`text_start`,contentIndex:h(),partial:t}))),d.type===`thinking`?(d.thinking+=e.text,d.thinkingSignature=m(d.thinkingSignature,e.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:h(),delta:e.text,partial:t})):(d.text+=e.text,d.textSignature=m(d.textSignature,e.thoughtSignature),a.push({type:`text_delta`,contentIndex:h(),delta:e.text,partial:t}))}if(e.functionCall){d&&=(d.type===`text`?a.push({type:`text_end`,contentIndex:h(),content:d.text,partial:t}):a.push({type:`thinking_end`,contentIndex:h(),content:d.thinking,partial:t}),null);let n=e.functionCall.id,r={type:`toolCall`,id:!n||t.content.some(e=>e.type===`toolCall`&&e.id===n)?`${e.functionCall.name}_${Date.now()}_${++D}`:n,name:e.functionCall.name||``,arguments:e.functionCall.args??{},...e.thoughtSignature&&{thoughtSignature:e.thoughtSignature}};t.content.push(r),a.push({type:`toolcall_start`,contentIndex:h(),partial:t}),a.push({type:`toolcall_delta`,contentIndex:h(),delta:JSON.stringify(r.arguments),partial:t}),a.push({type:`toolcall_end`,contentIndex:h(),toolCall:r,partial:t})}}i?.finishReason&&(t.rawStopReason=i.finishReason,t.stopReason=p(i.finishReason),t.content.some(e=>e.type===`toolCall`)&&t.stopReason===`stop`&&(t.stopReason=`toolUse`)),n.usageMetadata&&(t.usage={input:(n.usageMetadata.promptTokenCount||0)-(n.usageMetadata.cachedContentTokenCount||0),output:(n.usageMetadata.candidatesTokenCount||0)+(n.usageMetadata.thoughtsTokenCount||0),cacheRead:n.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:n.usageMetadata.thoughtsTokenCount||0,totalTokens:n.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},o(e,t.usage))}if(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:h(),content:d.text,partial:t}):a.push({type:`thinking_end`,contentIndex:h(),content:d.thinking,partial:t})),r?.signal?.aborted)throw Error(`Request was aborted`);if(t.stopReason===`pending`)throw Error(`Google stream ended without a finish reason`);if(t.stopReason===`aborted`||t.stopReason===`error`){let e=t.rawStopReason?`Provider stopped with: ${t.rawStopReason}`:`An unknown error occurred`;throw Error(e)}a.push({type:`done`,reason:t.stopReason,message:t}),a.end()}catch(e){for(let e of t.content)`index`in e&&delete e.index;t.stopReason=r?.signal?.aborted?`aborted`:`error`,t.errorMessage=f(d(e)),a.push({type:`error`,reason:t.stopReason,error:t}),a.end()}})(),a},k=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let i={...l(e,t,n,r),toolChoice:n?.toolChoice};if(!n?.reasoning)return O(e,t,{...i,thinking:{enabled:!1}});let o=a(e,n.reasoning);if(o===`off`)return O(e,t,{...i,thinking:{enabled:!1}});let s=w(e,o);return S(e)?O(e,t,{...i,thinking:{enabled:!0,level:g(s)}}):O(e,t,{...i,thinking:{enabled:!0,budgetTokens:M(e,s,n.thinkingBudgets)}})};function A(e,t,n){let r={};e.baseUrl&&(r.baseUrl=e.baseUrl,r.apiVersion=``);let i=s({"User-Agent":c(),...e.headers,...n});return i&&(r.headers=i),new y({apiKey:t,httpOptions:Object.keys(r).length>0?r:void 0})}function j(n,i,a={}){let o=T(n,i),s=t(i.messages),c=r(i.messages),l={};a.temperature!==void 0&&(l.temperature=a.temperature),a.maxTokens!==void 0&&(l.maxOutputTokens=a.maxTokens);let d=E(n.id),f=c.length>0?x(c,a.toolChoice,d):void 0,p=s?e(s):``,m={...Object.keys(l).length>0&&l,...p&&{systemInstruction:u(p)},...c.length>0&&{tools:b(c,!1,d)},...f!==void 0&&{toolConfig:{functionCallingConfig:{mode:f}}}};if(a.thinking?.enabled&&n.reasoning){let e={includeThoughts:!0};a.thinking.level===void 0?a.thinking.budgetTokens!==void 0&&(e.thinkingBudget=a.thinking.budgetTokens):e.thinkingLevel=h(a.thinking.level),m.thinkingConfig=e}else n.reasoning&&a.thinking&&!a.thinking.enabled&&(m.thinkingConfig=C(n));if(a.signal){if(a.signal.aborted)throw Error(`Request aborted`);m.abortSignal=a.signal}return{model:n.id,contents:o,config:m}}function M(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash-lite`)?{minimal:512,low:2048,medium:8192,high:24576}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{O as stream,k as streamSimple};