@versini/sassysaint-common 4.64.0 → 4.64.1

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
@@ -19,7 +19,7 @@ export declare enum ActionColor {
19
19
  * List of all models available TODAY. This is used by the client to display the
20
20
  * list of models.
21
21
  */
22
- export declare const ALL_MODELS: readonly ["gpt-6.1-sol", "gpt-6-luna", "claude-opus-5-5", "claude-sonnet-5-5", "claude-haiku-5-5", "gemini-3.5-flash-lite", "gemini-3.8-flash", "gpt-image-2.5-flare", "gpt-image-2.5-sunburst"];
22
+ export declare const ALL_MODELS: readonly ["gpt-6.1-sol", "gpt-6-luna", "claude-opus-5-5", "claude-sonnet-5-5", "claude-haiku-5-5", "gemini-3.5-flash-lite", "gemini-3.8-flash", "gpt-image-2.5-sunburst"];
23
23
 
24
24
  export declare const ALL_PROVIDERS: readonly ["OpenAI", "Anthropic", "Google"];
25
25
 
@@ -640,13 +640,13 @@ export declare const MODEL_DISPLAY_NAMES: Record<string, string>;
640
640
  export declare const MODEL_EMBEDDING_TEXT = "text-embedding-3-small";
641
641
 
642
642
  /**
643
- * The generateImage tool picks between two OpenAI image models per call:
644
- * MODEL_GENERATE_IMAGE is the fast default, and MODEL_GENERATE_IMAGE_PRECISE is
645
- * the slower precision variant used for edits and detail-heavy requests.
643
+ * The generateImage tool uses one OpenAI image model for every call, new images
644
+ * and edits alike. gpt-image-2.5-flare used to make new images, and was dropped
645
+ * after a side-by-side on 2026-10-11: on "A pelican riding a bicycle" it drew a
646
+ * foot with no leg in 2 of 5 images, Sunburst in 0 of 5, at the same output
647
+ * tokens and about 15 seconds slower.
646
648
  */
647
- export declare const MODEL_GENERATE_IMAGE = "gpt-image-2.5-flare";
648
-
649
- export declare const MODEL_GENERATE_IMAGE_PRECISE = "gpt-image-2.5-sunburst";
649
+ export declare const MODEL_GENERATE_IMAGE = "gpt-image-2.5-sunburst";
650
650
 
651
651
  export declare const MODEL_GOOGLE_MEDIUM = "gemini-3.5-flash-lite";
652
652
 
@@ -731,11 +731,10 @@ export declare const MODEL_OPENAI_MEDIUM = "gpt-6-luna";
731
731
  * and not user-selectable, and the role-purpose slots (MODEL_MEMORY_INFERENCE,
732
732
  * MODEL_CHAT_SUMMARY, MODEL_SEARCH_DECOMPOSER, MODEL_HUMANIZE_REWRITE,
733
733
  * MODEL_HUMANIZE_AUDIT, MODEL_NUTRITION_SEARCH, MODEL_REVIEW_TRUST_PANEL,
734
- * MODEL_EMBEDDING_TEXT, MODEL_GENERATE_IMAGE, MODEL_GENERATE_IMAGE_PRECISE,
735
- * MODEL_DEV) are named for the job they do rather than a provider tier, so a
736
- * bump there never renames them either. Anything that needs a specific model
737
- * for a specific job belongs in that group, NOT pointed at a picker tier whose
738
- * value can move.
734
+ * MODEL_EMBEDDING_TEXT, MODEL_GENERATE_IMAGE, MODEL_DEV) are named for the job
735
+ * they do rather than a provider tier, so a bump there never renames them
736
+ * either. Anything that needs a specific model for a specific job belongs in
737
+ * that group, NOT pointed at a picker tier whose value can move.
739
738
  *
740
739
  */
741
740
  export declare const MODEL_OPENAI_TOP = "gpt-6.1-sol";
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 r,n=((r={})[r.NewChat=0]="NewChat",r[r.Prompts=1]="Prompts",r[r.Attachment=2]="Attachment",r[r.PrivateChat=3]="PrivateChat",r[r.Send=4]="Send",r[r.Header=5]="Header",r[r.Provider=6]="Provider",r[r.Logo=7]="Logo",r[r.Placeholder=8]="Placeholder",r[r.Footer=9]="Footer",r);let a="system",i="user",O="assistant",o="OpenAI",s="Anthropic",_="Google",l="Summary",R="Memory",T="Perplexity",S=o,A=[o,s,_],u="gpt-6.1-sol",P="gpt-6-luna",I="claude-opus-5-5",L="claude-sonnet-5-5",g="claude-haiku-5-5",M="gemini-3.8-flash",c="gemini-3.5-flash-lite",h="sonar",N="sonar-pro",d="perplexity-search",D="openai/gpt-oss-20b:free",p="claude-haiku-5-5",C="gpt-6-luna",m="gemini-3.5-flash-lite",f="gemini-3.8-flash",U="gpt-6.1-sol",G="gpt-6-luna",y="gpt-5.6-luna",H="gemini-3.6-flash",F="text-embedding-3-small",b="gpt-image-2.5-flare",w="gpt-image-2.5-sunburst",B=5,Y=1e4,v=3e3,k={[u]:"GPT-6.1 Sol",[P]:"GPT-6 Luna",[I]:"Claude Opus 5.5",[L]:"Claude Sonnet 5.5",[g]:"Claude Haiku 5.5",[M]:"Gemini 3.8 Flash",[c]:"Gemini 3.5 Flash-Lite",[h]:"Sonar",[N]:"Sonar Pro",[d]:"Perplexity Search",[b]:"GPT Image 2.5 Flare",[w]:"GPT Image 2.5 Sunburst"},V=[u,P,I,L,g,c,M,b,w],W=[u,P,I,L,g,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]:[u,P],[s]:[I,g,L],[_]:[c,M],[T]:[h,N,d]},Q={[o]:[a,i,O],[s]:[i,O],[l]:[i,O],[R]:[i,O],[_]:[i,O],[T]:[i,O]},q={[s]:["claude-opus-5","claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-5","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",er="tokenUsage",en="Diggidy",ea="sassy:basic",ei="sassy:plus",eO="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",PAST_CHATS:"searchPastChats"},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...",[eo.TOOL.PAST_CHATS]:"Searching your past chats..."},e_="Using tools...",el=1e5,eR=8e5;function eT(e){return e===eO?eR:el}let eS=16384,eA=4,eu=3,eP=8388608,eI="context-compression-summary",eL="data-urlRead",eg="[Note from the system: you read",eM="(?:an?\\s+|another\\s+)?",ec=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+)?${eM}(?:new|fresh)\\s+(?:chat|conversation)|${eM}(?:new|fresh)\\s+(?:thread|session))(?:[\\s,]+(?:please|pls|plz|now|thanks|thank you|thx|ty))*$`),eh=/^[^\p{L}\p{N}]+/u,eN=/[^\p{L}\p{N}]+$/u;function ed(e){if(!e||e.length>120)return!1;let t=e.toLowerCase().replace(/’/g,"'").replace(/\s+/g," ").trim().replace(eh,"").replace(eN,"").trim();return""!==t&&ec.test(t)}function eD(e){return{type:eL,data:e}}function ep(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e?.url).map(e=>eD({url:e.url,partial:!1!==e.partial})):[]}let eC=new Set(["OpenAI",s,"Google"]);function em(e){return"string"==typeof e&&eC.has(e)}let ef=/^auto \((.+)\)$/;function eU(e){let t=e.match(ef);return t?t[1]:e}let eG=e=>{for(let[t,E]of Object.entries(q))if(E.some(t=>e.startsWith(t)))return t;return null},ey=/image|embedding|tts|realtime|transcribe|audio/;function eH(e,{matchUnknownByPrefix:t=!1}){for(let[t,E]of Object.entries(j))if(E.includes(e))return em(t)?t:null;if(!t||V.includes(e)||ey.test(e))return null;let E=eG(e);return em(E)?E:null}let eF=(e,t={})=>{if(!e||0===e.length)return[];let E=new Set;for(let r of e){let e=eH(r,t);e&&E.add(e)}return A.filter(e=>E.has(e))},eb=(e,t={})=>{let E=new Map;if(!e||0===e.length)return E;for(let r of e){let e=eH(r,t);e&&(E.has(e)||E.set(e,[]),E.get(e)?.push(r))}return E},ew=(e,t={})=>{for(let E of eb(e,t).values())if(E.length>1)return!0;return!1},eB=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eY(e,t,E){if(!t||Array.isArray(t)&&0===t.length)return!0;let r=e instanceof Set?e:e?new Set(e):null;return!!r&&0!==r.size&&("string"==typeof t?r.has(t):E?.any===!0?t.some(e=>r.has(e)):t.every(e=>r.has(e)))}function ev(e){return W.includes(e)}function ek(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{V as ALL_MODELS,A as ALL_PROVIDERS,W as ALL_REASONING_MODELS,en 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,eu as CONTEXT_COMPRESSION_KEEP_IMAGES,eA as CONTEXT_COMPRESSION_KEEP_RECENT,eP as CONTEXT_COMPRESSION_MAX_DOCUMENT_BYTES,eI 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,B as MAX_SEARCH_QUERIES,e as MEMORY_CATEGORIES,j as MODELS_PER_PROVIDER,g as MODEL_ANTHROPIC_LOW,L as MODEL_ANTHROPIC_MEDIUM,I as MODEL_ANTHROPIC_TOP,C as MODEL_CHAT_SUMMARY,D as MODEL_DEV,k as MODEL_DISPLAY_NAMES,F as MODEL_EMBEDDING_TEXT,b as MODEL_GENERATE_IMAGE,w as MODEL_GENERATE_IMAGE_PRECISE,c as MODEL_GOOGLE_MEDIUM,M as MODEL_GOOGLE_TOP,U as MODEL_HUMANIZE_AUDIT,f as MODEL_HUMANIZE_REWRITE,p as MODEL_MEMORY_INFERENCE,G as MODEL_NUTRITION_SEARCH,P as MODEL_OPENAI_MEDIUM,u as MODEL_OPENAI_TOP,d as MODEL_PERPLEXITY_SEARCH,y as MODEL_REVIEW_TRUST_PANEL,H as MODEL_REVIEW_TRUST_PANEL_GOOGLE,m as MODEL_SEARCH_DECOMPOSER,h as MODEL_SONAR,N as MODEL_SONAR_PRO,ea as PLAN_BASIC,ei as PLAN_PLUS,eO 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,O as ROLE_ASSISTANT,a as ROLE_SYSTEM,i as ROLE_USER,v as SEARCH_DECOMPOSE_TIMEOUT_MS,Y as SEARCH_QUERY_TIMEOUT_MS,eE as SORT_BY_TIMESTAMP,er as SORT_BY_TOKEN_USAGE,es as TOOL_LOADING_LABELS,eg as URL_READ_NOTE_PREFIX,eL as URL_READ_PART_TYPE,eG as findProvider,eT as getCompressionEmergencyThreshold,eb as getModelsGroupedByProvider,eF as getProvidersFromModels,ew as hasMultipleModelsPerProvider,eY as isEntitled,ed as isExplicitNewChatRequest,E as isHardCategory,eB as isModelAllowedForPlan,em as isRealProvider,ev as isReasoningModel,ep as readUrlParts,ek as resolveResponseSpeed,eU as stripAutoWrapper,n as ActionColor,eD as toUrlReadPart};
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 r,n=((r={})[r.NewChat=0]="NewChat",r[r.Prompts=1]="Prompts",r[r.Attachment=2]="Attachment",r[r.PrivateChat=3]="PrivateChat",r[r.Send=4]="Send",r[r.Header=5]="Header",r[r.Provider=6]="Provider",r[r.Logo=7]="Logo",r[r.Placeholder=8]="Placeholder",r[r.Footer=9]="Footer",r);let a="system",i="user",O="assistant",o="OpenAI",s="Anthropic",_="Google",l="Summary",R="Memory",T="Perplexity",S=o,A=[o,s,_],u="gpt-6.1-sol",P="gpt-6-luna",L="claude-opus-5-5",I="claude-sonnet-5-5",g="claude-haiku-5-5",M="gemini-3.8-flash",c="gemini-3.5-flash-lite",h="sonar",d="sonar-pro",N="perplexity-search",D="openai/gpt-oss-20b:free",p="claude-haiku-5-5",C="gpt-6-luna",m="gemini-3.5-flash-lite",f="gemini-3.8-flash",U="gpt-6.1-sol",G="gpt-6-luna",y="gpt-5.6-luna",H="gemini-3.6-flash",b="text-embedding-3-small",w="gpt-image-2.5-sunburst",B=5,F=1e4,Y=3e3,v={[u]:"GPT-6.1 Sol",[P]:"GPT-6 Luna",[L]:"Claude Opus 5.5",[I]:"Claude Sonnet 5.5",[g]:"Claude Haiku 5.5",[M]:"Gemini 3.8 Flash",[c]:"Gemini 3.5 Flash-Lite",[h]:"Sonar",[d]:"Sonar Pro",[N]:"Perplexity Search",[w]:"GPT Image 2.5 Sunburst"},k=[u,P,L,I,g,c,M,w],V=[u,P,L,I,g,M,c],W="fast",X="balanced",x="thorough",K=[W,X,x],z={[W]:"low",[X]:"medium",[x]:"high"},Z={[o]:W,[s]:X,[_]:W},$={[o]:[u,P],[s]:[L,g,I],[_]:[c,M],[T]:[h,d,N]},j={[o]:[a,i,O],[s]:[i,O],[l]:[i,O],[R]:[i,O],[_]:[i,O],[T]:[i,O]},Q={[s]:["claude-opus-5","claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-5","claude-haiku-4","claude-3"],[o]:["gpt-","o3","o4"],[_]:["gemini"],[T]:["sonar"]},q="x-diggidy-chat-id",J="x-diggidy-chat-timestamp",ee="complete",et="timestamp",eE="tokenUsage",er="Diggidy",en="sassy:basic",ea="sassy:plus",ei="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",PAST_CHATS:"searchPastChats"},ADDON:{ATTACHMENTS:"addon:attachments",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},eo={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...",[eO.TOOL.PAST_CHATS]:"Searching your past chats..."},es="Using tools...",e_=1e5,el=8e5;function eR(e){return e===ei?el:e_}let eT=16384,eS=4,eA=3,eu=8388608,eP="context-compression-summary",eL="data-urlRead",eI="[Note from the system: you read",eg="(?:an?\\s+|another\\s+)?",eM=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+)?${eg}(?:new|fresh)\\s+(?:chat|conversation)|${eg}(?:new|fresh)\\s+(?:thread|session))(?:[\\s,]+(?:please|pls|plz|now|thanks|thank you|thx|ty))*$`),ec=/^[^\p{L}\p{N}]+/u,eh=/[^\p{L}\p{N}]+$/u;function ed(e){if(!e||e.length>120)return!1;let t=e.toLowerCase().replace(/’/g,"'").replace(/\s+/g," ").trim().replace(ec,"").replace(eh,"").trim();return""!==t&&eM.test(t)}function eN(e){return{type:eL,data:e}}function eD(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e?.url).map(e=>eN({url:e.url,partial:!1!==e.partial})):[]}let ep=new Set(["OpenAI",s,"Google"]);function eC(e){return"string"==typeof e&&ep.has(e)}let em=/^auto \((.+)\)$/;function ef(e){let t=e.match(em);return t?t[1]:e}let eU=e=>{for(let[t,E]of Object.entries(Q))if(E.some(t=>e.startsWith(t)))return t;return null},eG=/image|embedding|tts|realtime|transcribe|audio/;function ey(e,{matchUnknownByPrefix:t=!1}){for(let[t,E]of Object.entries($))if(E.includes(e))return eC(t)?t:null;if(!t||k.includes(e)||eG.test(e))return null;let E=eU(e);return eC(E)?E:null}let eH=(e,t={})=>{if(!e||0===e.length)return[];let E=new Set;for(let r of e){let e=ey(r,t);e&&E.add(e)}return A.filter(e=>E.has(e))},eb=(e,t={})=>{let E=new Map;if(!e||0===e.length)return E;for(let r of e){let e=ey(r,t);e&&(E.has(e)||E.set(e,[]),E.get(e)?.push(r))}return E},ew=(e,t={})=>{for(let E of eb(e,t).values())if(E.length>1)return!0;return!1},eB=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eF(e,t,E){if(!t||Array.isArray(t)&&0===t.length)return!0;let r=e instanceof Set?e:e?new Set(e):null;return!!r&&0!==r.size&&("string"==typeof t?r.has(t):E?.any===!0?t.some(e=>r.has(e)):t.every(e=>r.has(e)))}function eY(e){return V.includes(e)}function ev(e){let t=t=>{let E=e?.[t];return K.includes(E)?E:Z[t]};return{OpenAI:t("OpenAI"),[s]:t(s),Google:t("Google")}}export{k as ALL_MODELS,A as ALL_PROVIDERS,V as ALL_REASONING_MODELS,er as APPLICATION_NAME,Q as APPROXIMATE_MODELS_PER_PROVIDER,eO as CAPABILITIES,ee as CHAT_COMPLETION_MARKER_KEY,e_ as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD,el as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD_PREMIUM,eA as CONTEXT_COMPRESSION_KEEP_IMAGES,eS as CONTEXT_COMPRESSION_KEEP_RECENT,eu as CONTEXT_COMPRESSION_MAX_DOCUMENT_BYTES,eP as CONTEXT_COMPRESSION_SUMMARY_ID,S as DEFAULT_PROVIDER,Z as DEFAULT_RESPONSE_SPEED,es as DEFAULT_TOOL_LOADING_LABEL,q as DIGGIDY_CHAT_ID_HEADER,J as DIGGIDY_CHAT_TIMESTAMP_HEADER,t as HARD_CATEGORIES,eT as MAX_OUTPUT_TOKENS,B as MAX_SEARCH_QUERIES,e as MEMORY_CATEGORIES,$ as MODELS_PER_PROVIDER,g as MODEL_ANTHROPIC_LOW,I 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,c as MODEL_GOOGLE_MEDIUM,M as MODEL_GOOGLE_TOP,U as MODEL_HUMANIZE_AUDIT,f as MODEL_HUMANIZE_REWRITE,p as MODEL_MEMORY_INFERENCE,G as MODEL_NUTRITION_SEARCH,P as MODEL_OPENAI_MEDIUM,u as MODEL_OPENAI_TOP,N as MODEL_PERPLEXITY_SEARCH,y as MODEL_REVIEW_TRUST_PANEL,H as MODEL_REVIEW_TRUST_PANEL_GOOGLE,m as MODEL_SEARCH_DECOMPOSER,h as MODEL_SONAR,d as MODEL_SONAR_PRO,en as PLAN_BASIC,ea as PLAN_PLUS,ei as PLAN_PREMIUM,s as PROVIDER_ANTHROPIC,_ as PROVIDER_GOOGLE,R as PROVIDER_MEMORY,o as PROVIDER_OPENAI,T as PROVIDER_PERPLEXITY,j as PROVIDER_ROLE_MAP,l as PROVIDER_SUMMARY,K as RESPONSE_SPEEDS,X as RESPONSE_SPEED_BALANCED,W as RESPONSE_SPEED_FAST,x as RESPONSE_SPEED_THOROUGH,z as RESPONSE_SPEED_TO_EFFORT,O as ROLE_ASSISTANT,a as ROLE_SYSTEM,i as ROLE_USER,Y as SEARCH_DECOMPOSE_TIMEOUT_MS,F as SEARCH_QUERY_TIMEOUT_MS,et as SORT_BY_TIMESTAMP,eE as SORT_BY_TOKEN_USAGE,eo as TOOL_LOADING_LABELS,eI as URL_READ_NOTE_PREFIX,eL as URL_READ_PART_TYPE,eU as findProvider,eR as getCompressionEmergencyThreshold,eb as getModelsGroupedByProvider,eH as getProvidersFromModels,ew as hasMultipleModelsPerProvider,eF as isEntitled,ed as isExplicitNewChatRequest,E as isHardCategory,eB as isModelAllowedForPlan,eC as isRealProvider,eY as isReasoningModel,eD as readUrlParts,ev as resolveResponseSpeed,ef as stripAutoWrapper,n as ActionColor,eN as toUrlReadPart};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint-common",
3
- "version": "4.64.0",
3
+ "version": "4.64.1",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {