@versini/sassysaint-common 4.63.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 +39 -31
- package/dist/index.js +1 -1
- package/package.json +1 -1
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-
|
|
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
|
|
|
@@ -28,12 +28,14 @@ export declare const ALL_PROVIDERS: readonly ["OpenAI", "Anthropic", "Google"];
|
|
|
28
28
|
* (and by Settings, to decide which providers get a Response Speed row). It
|
|
29
29
|
* affects Google and Anthropic. Google members get thinkingLevel, while
|
|
30
30
|
* non-members get the older numeric thinkingBudget. Anthropic members get an
|
|
31
|
-
* `effort`; non-members get none
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
31
|
+
* `effort`; non-members get none. Every Anthropic catalog model is a member
|
|
32
|
+
* since claude-haiku-5-5 (low, medium and high probed 2026-10-08), but its
|
|
33
|
+
* predecessor claude-haiku-4-5 rejected the parameter with a 400 ("This model
|
|
34
|
+
* does not support the effort parameter", probed 2026-10-04), so check that a
|
|
35
|
+
* new Anthropic model accepts effort before listing it. The OpenAI entries do
|
|
36
|
+
* not change what vercelEngine sends (it sets reasoningEffort unconditionally),
|
|
37
|
+
* but they decide whether Settings shows an OpenAI Response Speed row, so list
|
|
38
|
+
* every OpenAI chat model.
|
|
37
39
|
*
|
|
38
40
|
* Both Google models are listed because Google documents thinking_level for
|
|
39
41
|
* both ids. This matters more than it looks: our explicit providerOptions
|
|
@@ -55,7 +57,7 @@ export declare const APPLICATION_NAME = "Diggidy";
|
|
|
55
57
|
* versions change over time.
|
|
56
58
|
*/
|
|
57
59
|
export declare const APPROXIMATE_MODELS_PER_PROVIDER: {
|
|
58
|
-
readonly Anthropic: readonly ["claude-opus-5", "claude-opus-4", "claude-sonnet-5", "claude-sonnet-4", "claude-haiku-4", "claude-3"];
|
|
60
|
+
readonly Anthropic: readonly ["claude-opus-5", "claude-opus-4", "claude-sonnet-5", "claude-sonnet-4", "claude-haiku-5", "claude-haiku-4", "claude-3"];
|
|
59
61
|
readonly OpenAI: readonly ["gpt-", "o3", "o4"];
|
|
60
62
|
readonly Google: readonly ["gemini"];
|
|
61
63
|
readonly Perplexity: readonly ["sonar"];
|
|
@@ -213,10 +215,10 @@ export declare const DEFAULT_PROVIDER = "OpenAI";
|
|
|
213
215
|
/**
|
|
214
216
|
* What a user who never touched the setting gets. OpenAI and Google keep the
|
|
215
217
|
* `low` they were hard-coded to before the setting existed. Anthropic starts on
|
|
216
|
-
* medium: unchanged for Opus 5.5, whose API default is medium,
|
|
217
|
-
* down from high for Sonnet 5.5, which Anthropic suggests for
|
|
218
|
-
* are applied on read and never stored, so changing one here
|
|
219
|
-
* who has not picked a value.
|
|
218
|
+
* medium: unchanged for Opus 5.5 and Haiku 5.5, whose API default is medium,
|
|
219
|
+
* and one step down from high for Sonnet 5.5, which Anthropic suggests for
|
|
220
|
+
* chat. Defaults are applied on read and never stored, so changing one here
|
|
221
|
+
* moves every user who has not picked a value.
|
|
220
222
|
*/
|
|
221
223
|
export declare const DEFAULT_RESPONSE_SPEED: {
|
|
222
224
|
readonly OpenAI: "fast";
|
|
@@ -598,7 +600,7 @@ export declare const MEMORY_CATEGORIES: readonly ["preference", "identity", "con
|
|
|
598
600
|
|
|
599
601
|
export declare type MemoryCategory = (typeof MEMORY_CATEGORIES)[number];
|
|
600
602
|
|
|
601
|
-
export declare const MODEL_ANTHROPIC_LOW = "claude-haiku-
|
|
603
|
+
export declare const MODEL_ANTHROPIC_LOW = "claude-haiku-5-5";
|
|
602
604
|
|
|
603
605
|
export declare const MODEL_ANTHROPIC_MEDIUM = "claude-sonnet-5-5";
|
|
604
606
|
|
|
@@ -638,13 +640,13 @@ export declare const MODEL_DISPLAY_NAMES: Record<string, string>;
|
|
|
638
640
|
export declare const MODEL_EMBEDDING_TEXT = "text-embedding-3-small";
|
|
639
641
|
|
|
640
642
|
/**
|
|
641
|
-
* The generateImage tool
|
|
642
|
-
*
|
|
643
|
-
*
|
|
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.
|
|
644
648
|
*/
|
|
645
|
-
export declare const MODEL_GENERATE_IMAGE = "gpt-image-2.5-
|
|
646
|
-
|
|
647
|
-
export declare const MODEL_GENERATE_IMAGE_PRECISE = "gpt-image-2.5-sunburst";
|
|
649
|
+
export declare const MODEL_GENERATE_IMAGE = "gpt-image-2.5-sunburst";
|
|
648
650
|
|
|
649
651
|
export declare const MODEL_GOOGLE_MEDIUM = "gemini-3.5-flash-lite";
|
|
650
652
|
|
|
@@ -682,14 +684,21 @@ export declare const MODEL_HUMANIZE_REWRITE = "gemini-3.8-flash";
|
|
|
682
684
|
* tokens.
|
|
683
685
|
*
|
|
684
686
|
* Bumped gpt-5.6-luna→gpt-6-luna alongside the OpenAI Luna picker tier, at half
|
|
685
|
-
* the price (0.10/0.50)
|
|
686
|
-
*
|
|
687
|
-
*
|
|
688
|
-
*
|
|
689
|
-
*
|
|
687
|
+
* the price (0.10/0.50), without re-measuring.
|
|
688
|
+
*
|
|
689
|
+
* Moved gpt-6-luna→claude-haiku-5-5 at the same per-token price for prompts of
|
|
690
|
+
* 100K tokens or fewer (see the MODEL_ANTHROPIC_LOW row in modelPricing.ts).
|
|
691
|
+
* gpt-6-luna found the facts but often wrote a role word ("current", "user")
|
|
692
|
+
* where the message id belongs, so validation rejected them. Measured on
|
|
693
|
+
* 2026-10-08: on 40 extractions of a one-line "remember" chat, Haiku stored the
|
|
694
|
+
* fact 40 times against luna's 30; on the salience eval it produced 66/66 valid
|
|
695
|
+
* message ids against luna's 15/63, at about a third of the latency, and used
|
|
696
|
+
* about the same total tokens (104K against 100K, since luna's misses were
|
|
697
|
+
* resampled). Consolidation runs on this slot too; there Haiku uses about twice
|
|
698
|
+
* luna's tokens per call.
|
|
690
699
|
*
|
|
691
700
|
*/
|
|
692
|
-
export declare const MODEL_MEMORY_INFERENCE = "
|
|
701
|
+
export declare const MODEL_MEMORY_INFERENCE = "claude-haiku-5-5";
|
|
693
702
|
|
|
694
703
|
/**
|
|
695
704
|
* The nutrition fallback runs a web-search-tool lookup for branded products FDC
|
|
@@ -722,11 +731,10 @@ export declare const MODEL_OPENAI_MEDIUM = "gpt-6-luna";
|
|
|
722
731
|
* and not user-selectable, and the role-purpose slots (MODEL_MEMORY_INFERENCE,
|
|
723
732
|
* MODEL_CHAT_SUMMARY, MODEL_SEARCH_DECOMPOSER, MODEL_HUMANIZE_REWRITE,
|
|
724
733
|
* MODEL_HUMANIZE_AUDIT, MODEL_NUTRITION_SEARCH, MODEL_REVIEW_TRUST_PANEL,
|
|
725
|
-
* MODEL_EMBEDDING_TEXT, MODEL_GENERATE_IMAGE,
|
|
726
|
-
*
|
|
727
|
-
*
|
|
728
|
-
*
|
|
729
|
-
* 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.
|
|
730
738
|
*
|
|
731
739
|
*/
|
|
732
740
|
export declare const MODEL_OPENAI_TOP = "gpt-6.1-sol";
|
|
@@ -816,7 +824,7 @@ export declare interface ModelProviderMatchOptions {
|
|
|
816
824
|
*/
|
|
817
825
|
export declare const MODELS_PER_PROVIDER: {
|
|
818
826
|
readonly OpenAI: readonly ["gpt-6.1-sol", "gpt-6-luna"];
|
|
819
|
-
readonly Anthropic: readonly ["claude-opus-5-5", "claude-haiku-
|
|
827
|
+
readonly Anthropic: readonly ["claude-opus-5-5", "claude-haiku-5-5", "claude-sonnet-5-5"];
|
|
820
828
|
readonly Google: readonly ["gemini-3.5-flash-lite", "gemini-3.8-flash"];
|
|
821
829
|
readonly Perplexity: readonly ["sonar", "sonar-pro", "perplexity-search"];
|
|
822
830
|
};
|
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",
|
|
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};
|