@versini/sassysaint-common 4.60.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 +67 -11
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -19,18 +19,21 @@ 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-sol", "gpt-6-luna", "claude-opus-5-5", "claude-sonnet-5-5", "claude-haiku-4-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-4-5", "gemini-3.5-flash-lite", "gemini-3.8-flash", "gpt-image-2.5-flare", "gpt-image-2.5-sunburst"];
|
|
23
23
|
|
|
24
24
|
export declare const ALL_PROVIDERS: readonly ["OpenAI", "Anthropic", "Google"];
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
-
* Despite the name, this list
|
|
28
|
-
* by
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
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
|
/**
|
|
@@ -639,7 +656,7 @@ export declare const MODEL_GOOGLE_TOP = "gemini-3.8-flash";
|
|
|
639
656
|
* model for the careful, analytical edits it makes. Pinned rather than
|
|
640
657
|
* borrowing the OpenAI top tier, whose value moves on every catalog bump.
|
|
641
658
|
*/
|
|
642
|
-
export declare const MODEL_HUMANIZE_AUDIT = "gpt-6-sol";
|
|
659
|
+
export declare const MODEL_HUMANIZE_AUDIT = "gpt-6.1-sol";
|
|
643
660
|
|
|
644
661
|
/**
|
|
645
662
|
* The humanizer's rewrite pass needs a model that supports a high temperature
|
|
@@ -711,7 +728,7 @@ export declare const MODEL_OPENAI_MEDIUM = "gpt-6-luna";
|
|
|
711
728
|
* value can move.
|
|
712
729
|
*
|
|
713
730
|
*/
|
|
714
|
-
export declare const MODEL_OPENAI_TOP = "gpt-6-sol";
|
|
731
|
+
export declare const MODEL_OPENAI_TOP = "gpt-6.1-sol";
|
|
715
732
|
|
|
716
733
|
/**
|
|
717
734
|
* Pseudo-model id for the Perplexity Search API (getWebSearch). Deliberately
|
|
@@ -797,7 +814,7 @@ export declare interface ModelProviderMatchOptions {
|
|
|
797
814
|
*
|
|
798
815
|
*/
|
|
799
816
|
export declare const MODELS_PER_PROVIDER: {
|
|
800
|
-
readonly OpenAI: readonly ["gpt-6-sol", "gpt-6-luna"];
|
|
817
|
+
readonly OpenAI: readonly ["gpt-6.1-sol", "gpt-6-luna"];
|
|
801
818
|
readonly Anthropic: readonly ["claude-opus-5-5", "claude-haiku-4-5", "claude-sonnet-5-5"];
|
|
802
819
|
readonly Google: readonly ["gemini-3.5-flash-lite", "gemini-3.8-flash"];
|
|
803
820
|
readonly Perplexity: readonly ["sonar", "sonar-pro", "perplexity-search"];
|
|
@@ -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
|
|
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};
|