@versini/sassysaint-common 4.61.0 → 4.62.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/dist/index.d.ts CHANGED
@@ -24,13 +24,16 @@ export declare const ALL_MODELS: readonly ["gpt-6.1-sol", "gpt-6-luna", "claude-
24
24
  export declare const ALL_PROVIDERS: readonly ["OpenAI", "Anthropic", "Google"];
25
25
 
26
26
  /**
27
- * Despite the name, this list has exactly one consumer (isReasoningModel, read
28
- * by vercelEngine) and only affects Google: members get thinkingLevel, while
29
- * non-members get the older numeric thinkingBudget. The OpenAI entries are
30
- * inert because vercelEngine sets reasoningEffort unconditionally; the
31
- * Anthropic entries are inert because nothing reads them at all (there is no
32
- * anthropic key in that providerOptions object, so Anthropic extended thinking
33
- * is NOT enabled by listing a model here).
27
+ * Despite the name, this list is read through isReasoningModel by vercelEngine
28
+ * (and by Settings, to decide which providers get a Response Speed row). It
29
+ * affects Google and Anthropic. Google members get thinkingLevel, while
30
+ * non-members get the older numeric thinkingBudget. Anthropic members get an
31
+ * `effort`; non-members get none, because claude-haiku-4-5 rejects the
32
+ * parameter with a 400 ("This model does not support the effort parameter",
33
+ * probed 2026-10-04), so check that a new Anthropic model accepts effort before
34
+ * listing it. The OpenAI entries do not change what vercelEngine sends (it sets
35
+ * reasoningEffort unconditionally), but they decide whether Settings shows an
36
+ * OpenAI Response Speed row, so list every OpenAI chat model.
34
37
  *
35
38
  * Both Google models are listed because Google documents thinking_level for
36
39
  * both ids. This matters more than it looks: our explicit providerOptions
@@ -206,6 +209,20 @@ export declare type CSSVariables = Record<string, string>;
206
209
 
207
210
  export declare const DEFAULT_PROVIDER = "OpenAI";
208
211
 
212
+ /**
213
+ * What a user who never touched the setting gets. OpenAI and Google keep the
214
+ * `low` they were hard-coded to before the setting existed. Anthropic starts on
215
+ * medium: unchanged for Opus 5.5, whose API default is medium, and one step
216
+ * down from high for Sonnet 5.5, which Anthropic suggests for chat. Defaults
217
+ * are applied on read and never stored, so changing one here moves every user
218
+ * who has not picked a value.
219
+ */
220
+ export declare const DEFAULT_RESPONSE_SPEED: {
221
+ readonly OpenAI: "fast";
222
+ readonly Anthropic: "balanced";
223
+ readonly Google: "fast";
224
+ };
225
+
209
226
  export declare const DEFAULT_TOOL_LOADING_LABEL = "Using tools...";
210
227
 
211
228
  /**
@@ -856,6 +873,45 @@ export declare const PROVIDER_SUMMARY = "Summary";
856
873
  */
857
874
  export declare type RealProvider = typeof PROVIDER_OPENAI | typeof PROVIDER_ANTHROPIC | typeof PROVIDER_GOOGLE;
858
875
 
876
+ /**
877
+ * Resolve a stored Response Speed preference into a complete per-provider
878
+ * record. Missing providers and unknown values fall back to
879
+ * DEFAULT_RESPONSE_SPEED, so the result is always safe to map to a provider
880
+ * effort, whatever the DB or a client sent.
881
+ *
882
+ * @example
883
+ * ```ts
884
+ * resolveResponseSpeed({ Anthropic: "thorough", Google: "bogus" });
885
+ * // Returns: { OpenAI: "fast", Anthropic: "thorough", Google: "fast" }
886
+ * ```
887
+ *
888
+ */
889
+ export declare function resolveResponseSpeed(stored?: Partial<Record<string, unknown>> | null): Record<RealProvider, ResponseSpeed>;
890
+
891
+ export declare const RESPONSE_SPEED_BALANCED = "balanced";
892
+
893
+ /**
894
+ * Response Speed, a per-provider user preference (Settings > Model
895
+ * Customization). The stored values are ours, not a provider's: each one maps
896
+ * to the effort setting every provider names differently (OpenAI
897
+ * reasoningEffort, Anthropic effort, Gemini thinkingLevel), all of which accept
898
+ * low, medium and high on every model in ALL_REASONING_MODELS (probed
899
+ * 2026-10-04).
900
+ */
901
+ export declare const RESPONSE_SPEED_FAST = "fast";
902
+
903
+ export declare const RESPONSE_SPEED_THOROUGH = "thorough";
904
+
905
+ export declare const RESPONSE_SPEED_TO_EFFORT: {
906
+ readonly fast: "low";
907
+ readonly balanced: "medium";
908
+ readonly thorough: "high";
909
+ };
910
+
911
+ export declare const RESPONSE_SPEEDS: readonly ["fast", "balanced", "thorough"];
912
+
913
+ export declare type ResponseSpeed = (typeof RESPONSE_SPEEDS)[number];
914
+
859
915
  export declare const ROLE_ASSISTANT = "assistant";
860
916
 
861
917
  /**
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- let e=["preference","identity","constraint","habit","bio","device","location","finance","professional","interest","style","behavior","other"],t=["identity","bio","constraint","professional"],E=e=>t.includes(e);var n,r=((n={})[n.NewChat=0]="NewChat",n[n.Prompts=1]="Prompts",n[n.Attachment=2]="Attachment",n[n.PrivateChat=3]="PrivateChat",n[n.Send=4]="Send",n[n.Header=5]="Header",n[n.Provider=6]="Provider",n[n.Logo=7]="Logo",n[n.Placeholder=8]="Placeholder",n[n.Footer=9]="Footer",n);let i="system",O="user",a="assistant",s="OpenAI",o="Anthropic",_="Google",l="Summary",T="Memory",R="Perplexity",S=s,A=[s,o,_],I="gpt-6.1-sol",L="gpt-6-luna",u="claude-opus-5-5",M="claude-sonnet-5-5",g="claude-haiku-4-5",P="gemini-3.8-flash",c="gemini-3.5-flash-lite",N="sonar",h="sonar-pro",d="perplexity-search",D="openai/gpt-oss-20b:free",C="gpt-6-luna",p="gpt-6-luna",m="gemini-3.5-flash-lite",G="gemini-3.8-flash",f="gpt-6.1-sol",U="gpt-6-luna",H="gpt-5.6-luna",y="gemini-3.6-flash",b="text-embedding-3-small",w="gpt-image-2.5-flare",B="gpt-image-2.5-sunburst",Y=5,v=1e4,F=3e3,V={[I]:"GPT-6.1 Sol",[L]:"GPT-6 Luna",[u]:"Claude Opus 5.5",[M]:"Claude Sonnet 5.5",[g]:"Claude Haiku 4.5",[P]:"Gemini 3.8 Flash",[c]:"Gemini 3.5 Flash-Lite",[N]:"Sonar",[h]:"Sonar Pro",[d]:"Perplexity Search",[w]:"GPT Image 2.5 Flare",[B]:"GPT Image 2.5 Sunburst"},k=[I,L,u,M,g,c,P,w,B],W=[I,L,u,M,P,c],X={[s]:[I,L],[o]:[u,g,M],[_]:[c,P],[R]:[N,h,d]},x={[s]:[i,O,a],[o]:[O,a],[l]:[O,a],[T]:[O,a],[_]:[O,a],[R]:[O,a]},K={[o]:["claude-opus-5","claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-4","claude-3"],[s]:["gpt-","o3","o4"],[_]:["gemini"],[R]:["sonar"]},z="x-diggidy-chat-id",Z="x-diggidy-chat-timestamp",$="complete",j="timestamp",Q="tokenUsage",q="Diggidy",J="sassy:basic",ee="sassy:plus",et="sassy:advanced",eE={TOOL:{BARCODE:"getProductByBarcode",BUNDLESIZE:"getBundleSize",DATETIME:"getDateTime",GENERATE_IMAGE:"generateImage",IMAGES:"getImages",NUTRITION_FACTS:"getNutritionFacts",POLLUTION:"getAirPollution",WEATHER:"getWeather",URLCONTENTPARSER:"getUrlContent",MEMORIES:"getUserMemories",HUMANIZE:"humanize",WEBSEARCH:"getWebSearch",GITREPOSITORY:"getGitRepoDetails",HOTELS:"getHotelDetails",LOCAL_BUSINESSES:"getLocalBusinesses",PRODUCTS:"getProducts",REVIEW_TRUST:"getReviewTrust",STREAMING_PICKS:"getStreamingPicks",PRONUNCIATION:"getPronunciation",FRENCH_TEACHINGS:"getFrenchTeachings"},ADDON:{ATTACHMENTS:"addon:attachments",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},en={code_interpreter:"Running code...",web_search:"Searching the web...",[eE.TOOL.WEATHER]:"Checking the weather...",[eE.TOOL.POLLUTION]:"Fetching air pollution data...",[eE.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[eE.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[eE.TOOL.WEBSEARCH]:"Searching the web...",[eE.TOOL.GITREPOSITORY]:"Looking up repository...",[eE.TOOL.HOTELS]:"Searching for hotels...",[eE.TOOL.LOCAL_BUSINESSES]:"Searching for local businesses...",[eE.TOOL.PRODUCTS]:"Searching for products...",[eE.TOOL.REVIEW_TRUST]:"Checking reviews...",[eE.TOOL.STREAMING_PICKS]:"Finding movies to stream...",[eE.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[eE.TOOL.GENERATE_IMAGE]:"Generating image...",[eE.TOOL.BARCODE]:"Looking up product...",[eE.TOOL.PRONUNCIATION]:"Generating pronunciation...",[eE.TOOL.HUMANIZE]:"Rewriting text...",[eE.TOOL.IMAGES]:"Searching for images..."},er="Using tools...",ei=1e5,eO=8e5;function ea(e){return e===et?eO:ei}let es=16384,eo=4,e_=3,el=8388608,eT="context-compression-summary",eR="(?:an?\\s+|another\\s+)?",eS=RegExp(`^(?:(?:ok(?:ay)?|alright|right|hey|hi|hello|yes|yep|yeah|sure|thanks|thank you|please|claude|diggidy)[\\s,]+)*(?:(?:(?:let'?s\\s+|can you\\s+|could you\\s+|can we\\s+|please\\s+)?(?:start|begin|create|open)\\s+)?${eR}(?:new|fresh)\\s+(?:chat|conversation)|${eR}(?:new|fresh)\\s+(?:thread|session))(?:[\\s,]+(?:please|pls|plz|now|thanks|thank you|thx|ty))*$`),eA=/^[^\p{L}\p{N}]+/u,eI=/[^\p{L}\p{N}]+$/u;function eL(e){if(!e||e.length>120)return!1;let t=e.toLowerCase().replace(/’/g,"'").replace(/\s+/g," ").trim().replace(eA,"").replace(eI,"").trim();return""!==t&&eS.test(t)}let eu=new Set(["OpenAI",o,"Google"]);function eM(e){return"string"==typeof e&&eu.has(e)}let eg=/^auto \((.+)\)$/;function eP(e){let t=e.match(eg);return t?t[1]:e}let ec=e=>{for(let[t,E]of Object.entries(K))if(E.some(t=>e.startsWith(t)))return t;return null},eN=/image|embedding|tts|realtime|transcribe|audio/;function eh(e,{matchUnknownByPrefix:t=!1}){for(let[t,E]of Object.entries(X))if(E.includes(e))return eM(t)?t:null;if(!t||k.includes(e)||eN.test(e))return null;let E=ec(e);return eM(E)?E:null}let ed=(e,t={})=>{if(!e||0===e.length)return[];let E=new Set;for(let n of e){let e=eh(n,t);e&&E.add(e)}return A.filter(e=>E.has(e))},eD=(e,t={})=>{let E=new Map;if(!e||0===e.length)return E;for(let n of e){let e=eh(n,t);e&&(E.has(e)||E.set(e,[]),E.get(e)?.push(n))}return E},eC=(e,t={})=>{for(let E of eD(e,t).values())if(E.length>1)return!0;return!1},ep=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function em(e,t,E){if(!t||Array.isArray(t)&&0===t.length)return!0;let n=e instanceof Set?e:e?new Set(e):null;return!!n&&0!==n.size&&("string"==typeof t?n.has(t):E?.any===!0?t.some(e=>n.has(e)):t.every(e=>n.has(e)))}function eG(e){return W.includes(e)}export{k as ALL_MODELS,A as ALL_PROVIDERS,W as ALL_REASONING_MODELS,q as APPLICATION_NAME,K as APPROXIMATE_MODELS_PER_PROVIDER,eE as CAPABILITIES,$ as CHAT_COMPLETION_MARKER_KEY,ei as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD,eO as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD_PREMIUM,e_ as CONTEXT_COMPRESSION_KEEP_IMAGES,eo as CONTEXT_COMPRESSION_KEEP_RECENT,el as CONTEXT_COMPRESSION_MAX_DOCUMENT_BYTES,eT as CONTEXT_COMPRESSION_SUMMARY_ID,S as DEFAULT_PROVIDER,er as DEFAULT_TOOL_LOADING_LABEL,z as DIGGIDY_CHAT_ID_HEADER,Z as DIGGIDY_CHAT_TIMESTAMP_HEADER,t as HARD_CATEGORIES,es as MAX_OUTPUT_TOKENS,Y as MAX_SEARCH_QUERIES,e as MEMORY_CATEGORIES,X as MODELS_PER_PROVIDER,g as MODEL_ANTHROPIC_LOW,M as MODEL_ANTHROPIC_MEDIUM,u as MODEL_ANTHROPIC_TOP,p as MODEL_CHAT_SUMMARY,D as MODEL_DEV,V as MODEL_DISPLAY_NAMES,b as MODEL_EMBEDDING_TEXT,w as MODEL_GENERATE_IMAGE,B as MODEL_GENERATE_IMAGE_PRECISE,c as MODEL_GOOGLE_MEDIUM,P as MODEL_GOOGLE_TOP,f as MODEL_HUMANIZE_AUDIT,G as MODEL_HUMANIZE_REWRITE,C as MODEL_MEMORY_INFERENCE,U as MODEL_NUTRITION_SEARCH,L as MODEL_OPENAI_MEDIUM,I as MODEL_OPENAI_TOP,d as MODEL_PERPLEXITY_SEARCH,H as MODEL_REVIEW_TRUST_PANEL,y as MODEL_REVIEW_TRUST_PANEL_GOOGLE,m as MODEL_SEARCH_DECOMPOSER,N as MODEL_SONAR,h as MODEL_SONAR_PRO,J as PLAN_BASIC,ee as PLAN_PLUS,et as PLAN_PREMIUM,o as PROVIDER_ANTHROPIC,_ as PROVIDER_GOOGLE,T as PROVIDER_MEMORY,s as PROVIDER_OPENAI,R as PROVIDER_PERPLEXITY,x as PROVIDER_ROLE_MAP,l as PROVIDER_SUMMARY,a as ROLE_ASSISTANT,i as ROLE_SYSTEM,O as ROLE_USER,F as SEARCH_DECOMPOSE_TIMEOUT_MS,v as SEARCH_QUERY_TIMEOUT_MS,j as SORT_BY_TIMESTAMP,Q as SORT_BY_TOKEN_USAGE,en as TOOL_LOADING_LABELS,ec as findProvider,ea as getCompressionEmergencyThreshold,eD as getModelsGroupedByProvider,ed as getProvidersFromModels,eC as hasMultipleModelsPerProvider,em as isEntitled,eL as isExplicitNewChatRequest,E as isHardCategory,ep as isModelAllowedForPlan,eM as isRealProvider,eG as isReasoningModel,eP as stripAutoWrapper,r as ActionColor};
1
+ let e=["preference","identity","constraint","habit","bio","device","location","finance","professional","interest","style","behavior","other"],t=["identity","bio","constraint","professional"],E=e=>t.includes(e);var n,r=((n={})[n.NewChat=0]="NewChat",n[n.Prompts=1]="Prompts",n[n.Attachment=2]="Attachment",n[n.PrivateChat=3]="PrivateChat",n[n.Send=4]="Send",n[n.Header=5]="Header",n[n.Provider=6]="Provider",n[n.Logo=7]="Logo",n[n.Placeholder=8]="Placeholder",n[n.Footer=9]="Footer",n);let O="system",i="user",a="assistant",o="OpenAI",s="Anthropic",_="Google",l="Summary",R="Memory",T="Perplexity",S=o,A=[o,s,_],I="gpt-6.1-sol",u="gpt-6-luna",L="claude-opus-5-5",P="claude-sonnet-5-5",g="claude-haiku-4-5",M="gemini-3.8-flash",c="gemini-3.5-flash-lite",N="sonar",h="sonar-pro",d="perplexity-search",D="openai/gpt-oss-20b:free",p="gpt-6-luna",C="gpt-6-luna",m="gemini-3.5-flash-lite",G="gemini-3.8-flash",f="gpt-6.1-sol",U="gpt-6-luna",H="gpt-5.6-luna",y="gemini-3.6-flash",b="text-embedding-3-small",w="gpt-image-2.5-flare",B="gpt-image-2.5-sunburst",F=5,Y=1e4,v=3e3,V={[I]:"GPT-6.1 Sol",[u]:"GPT-6 Luna",[L]:"Claude Opus 5.5",[P]:"Claude Sonnet 5.5",[g]:"Claude Haiku 4.5",[M]:"Gemini 3.8 Flash",[c]:"Gemini 3.5 Flash-Lite",[N]:"Sonar",[h]:"Sonar Pro",[d]:"Perplexity Search",[w]:"GPT Image 2.5 Flare",[B]:"GPT Image 2.5 Sunburst"},k=[I,u,L,P,g,c,M,w,B],W=[I,u,L,P,M,c],X="fast",x="balanced",K="thorough",z=[X,x,K],Z={[X]:"low",[x]:"medium",[K]:"high"},$={[o]:X,[s]:x,[_]:X},j={[o]:[I,u],[s]:[L,g,P],[_]:[c,M],[T]:[N,h,d]},Q={[o]:[O,i,a],[s]:[i,a],[l]:[i,a],[R]:[i,a],[_]:[i,a],[T]:[i,a]},q={[s]:["claude-opus-5","claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-4","claude-3"],[o]:["gpt-","o3","o4"],[_]:["gemini"],[T]:["sonar"]},J="x-diggidy-chat-id",ee="x-diggidy-chat-timestamp",et="complete",eE="timestamp",en="tokenUsage",er="Diggidy",eO="sassy:basic",ei="sassy:plus",ea="sassy:advanced",eo={TOOL:{BARCODE:"getProductByBarcode",BUNDLESIZE:"getBundleSize",DATETIME:"getDateTime",GENERATE_IMAGE:"generateImage",IMAGES:"getImages",NUTRITION_FACTS:"getNutritionFacts",POLLUTION:"getAirPollution",WEATHER:"getWeather",URLCONTENTPARSER:"getUrlContent",MEMORIES:"getUserMemories",HUMANIZE:"humanize",WEBSEARCH:"getWebSearch",GITREPOSITORY:"getGitRepoDetails",HOTELS:"getHotelDetails",LOCAL_BUSINESSES:"getLocalBusinesses",PRODUCTS:"getProducts",REVIEW_TRUST:"getReviewTrust",STREAMING_PICKS:"getStreamingPicks",PRONUNCIATION:"getPronunciation",FRENCH_TEACHINGS:"getFrenchTeachings"},ADDON:{ATTACHMENTS:"addon:attachments",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},es={code_interpreter:"Running code...",web_search:"Searching the web...",[eo.TOOL.WEATHER]:"Checking the weather...",[eo.TOOL.POLLUTION]:"Fetching air pollution data...",[eo.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[eo.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[eo.TOOL.WEBSEARCH]:"Searching the web...",[eo.TOOL.GITREPOSITORY]:"Looking up repository...",[eo.TOOL.HOTELS]:"Searching for hotels...",[eo.TOOL.LOCAL_BUSINESSES]:"Searching for local businesses...",[eo.TOOL.PRODUCTS]:"Searching for products...",[eo.TOOL.REVIEW_TRUST]:"Checking reviews...",[eo.TOOL.STREAMING_PICKS]:"Finding movies to stream...",[eo.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[eo.TOOL.GENERATE_IMAGE]:"Generating image...",[eo.TOOL.BARCODE]:"Looking up product...",[eo.TOOL.PRONUNCIATION]:"Generating pronunciation...",[eo.TOOL.HUMANIZE]:"Rewriting text...",[eo.TOOL.IMAGES]:"Searching for images..."},e_="Using tools...",el=1e5,eR=8e5;function eT(e){return e===ea?eR:el}let eS=16384,eA=4,eI=3,eu=8388608,eL="context-compression-summary",eP="(?:an?\\s+|another\\s+)?",eg=RegExp(`^(?:(?:ok(?:ay)?|alright|right|hey|hi|hello|yes|yep|yeah|sure|thanks|thank you|please|claude|diggidy)[\\s,]+)*(?:(?:(?:let'?s\\s+|can you\\s+|could you\\s+|can we\\s+|please\\s+)?(?:start|begin|create|open)\\s+)?${eP}(?:new|fresh)\\s+(?:chat|conversation)|${eP}(?:new|fresh)\\s+(?:thread|session))(?:[\\s,]+(?:please|pls|plz|now|thanks|thank you|thx|ty))*$`),eM=/^[^\p{L}\p{N}]+/u,ec=/[^\p{L}\p{N}]+$/u;function eN(e){if(!e||e.length>120)return!1;let t=e.toLowerCase().replace(/’/g,"'").replace(/\s+/g," ").trim().replace(eM,"").replace(ec,"").trim();return""!==t&&eg.test(t)}let eh=new Set(["OpenAI",s,"Google"]);function ed(e){return"string"==typeof e&&eh.has(e)}let eD=/^auto \((.+)\)$/;function ep(e){let t=e.match(eD);return t?t[1]:e}let eC=e=>{for(let[t,E]of Object.entries(q))if(E.some(t=>e.startsWith(t)))return t;return null},em=/image|embedding|tts|realtime|transcribe|audio/;function eG(e,{matchUnknownByPrefix:t=!1}){for(let[t,E]of Object.entries(j))if(E.includes(e))return ed(t)?t:null;if(!t||k.includes(e)||em.test(e))return null;let E=eC(e);return ed(E)?E:null}let ef=(e,t={})=>{if(!e||0===e.length)return[];let E=new Set;for(let n of e){let e=eG(n,t);e&&E.add(e)}return A.filter(e=>E.has(e))},eU=(e,t={})=>{let E=new Map;if(!e||0===e.length)return E;for(let n of e){let e=eG(n,t);e&&(E.has(e)||E.set(e,[]),E.get(e)?.push(n))}return E},eH=(e,t={})=>{for(let E of eU(e,t).values())if(E.length>1)return!0;return!1},ey=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eb(e,t,E){if(!t||Array.isArray(t)&&0===t.length)return!0;let n=e instanceof Set?e:e?new Set(e):null;return!!n&&0!==n.size&&("string"==typeof t?n.has(t):E?.any===!0?t.some(e=>n.has(e)):t.every(e=>n.has(e)))}function ew(e){return W.includes(e)}function eB(e){let t=t=>{let E=e?.[t];return z.includes(E)?E:$[t]};return{OpenAI:t("OpenAI"),[s]:t(s),Google:t("Google")}}export{k as ALL_MODELS,A as ALL_PROVIDERS,W as ALL_REASONING_MODELS,er as APPLICATION_NAME,q as APPROXIMATE_MODELS_PER_PROVIDER,eo as CAPABILITIES,et as CHAT_COMPLETION_MARKER_KEY,el as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD,eR as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD_PREMIUM,eI as CONTEXT_COMPRESSION_KEEP_IMAGES,eA as CONTEXT_COMPRESSION_KEEP_RECENT,eu as CONTEXT_COMPRESSION_MAX_DOCUMENT_BYTES,eL as CONTEXT_COMPRESSION_SUMMARY_ID,S as DEFAULT_PROVIDER,$ as DEFAULT_RESPONSE_SPEED,e_ as DEFAULT_TOOL_LOADING_LABEL,J as DIGGIDY_CHAT_ID_HEADER,ee as DIGGIDY_CHAT_TIMESTAMP_HEADER,t as HARD_CATEGORIES,eS as MAX_OUTPUT_TOKENS,F as MAX_SEARCH_QUERIES,e as MEMORY_CATEGORIES,j as MODELS_PER_PROVIDER,g as MODEL_ANTHROPIC_LOW,P as MODEL_ANTHROPIC_MEDIUM,L as MODEL_ANTHROPIC_TOP,C as MODEL_CHAT_SUMMARY,D as MODEL_DEV,V as MODEL_DISPLAY_NAMES,b as MODEL_EMBEDDING_TEXT,w as MODEL_GENERATE_IMAGE,B as MODEL_GENERATE_IMAGE_PRECISE,c as MODEL_GOOGLE_MEDIUM,M as MODEL_GOOGLE_TOP,f as MODEL_HUMANIZE_AUDIT,G as MODEL_HUMANIZE_REWRITE,p as MODEL_MEMORY_INFERENCE,U as MODEL_NUTRITION_SEARCH,u as MODEL_OPENAI_MEDIUM,I as MODEL_OPENAI_TOP,d as MODEL_PERPLEXITY_SEARCH,H as MODEL_REVIEW_TRUST_PANEL,y as MODEL_REVIEW_TRUST_PANEL_GOOGLE,m as MODEL_SEARCH_DECOMPOSER,N as MODEL_SONAR,h as MODEL_SONAR_PRO,eO as PLAN_BASIC,ei as PLAN_PLUS,ea as PLAN_PREMIUM,s as PROVIDER_ANTHROPIC,_ as PROVIDER_GOOGLE,R as PROVIDER_MEMORY,o as PROVIDER_OPENAI,T as PROVIDER_PERPLEXITY,Q as PROVIDER_ROLE_MAP,l as PROVIDER_SUMMARY,z as RESPONSE_SPEEDS,x as RESPONSE_SPEED_BALANCED,X as RESPONSE_SPEED_FAST,K as RESPONSE_SPEED_THOROUGH,Z as RESPONSE_SPEED_TO_EFFORT,a as ROLE_ASSISTANT,O as ROLE_SYSTEM,i as ROLE_USER,v as SEARCH_DECOMPOSE_TIMEOUT_MS,Y as SEARCH_QUERY_TIMEOUT_MS,eE as SORT_BY_TIMESTAMP,en as SORT_BY_TOKEN_USAGE,es as TOOL_LOADING_LABELS,eC as findProvider,eT as getCompressionEmergencyThreshold,eU as getModelsGroupedByProvider,ef as getProvidersFromModels,eH as hasMultipleModelsPerProvider,eb as isEntitled,eN as isExplicitNewChatRequest,E as isHardCategory,ey as isModelAllowedForPlan,ed as isRealProvider,ew as isReasoningModel,eB as resolveResponseSpeed,ep as stripAutoWrapper,r as ActionColor};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint-common",
3
- "version": "4.61.0",
3
+ "version": "4.62.0",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {