@versini/sassysaint-common 4.48.0 → 4.48.2

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
@@ -56,7 +56,6 @@ export declare const APPROXIMATE_MODELS_PER_PROVIDER: {
56
56
  readonly OpenAI: readonly ["gpt-", "o3", "o4"];
57
57
  readonly Google: readonly ["gemini"];
58
58
  readonly Perplexity: readonly ["sonar"];
59
- readonly Mistral: readonly ["mistral"];
60
59
  };
61
60
 
62
61
  /**
@@ -207,7 +206,7 @@ export declare const DIGGIDY_CHAT_TIMESTAMP_HEADER = "x-diggidy-chat-timestamp";
207
206
  * ```
208
207
  *
209
208
  */
210
- export declare const findProvider: (modelName: string) => null | typeof PROVIDER_ANTHROPIC | typeof PROVIDER_MISTRAL | typeof PROVIDER_OPENAI | typeof PROVIDER_GOOGLE;
209
+ export declare const findProvider: (modelName: string) => null | typeof PROVIDER_ANTHROPIC | typeof PROVIDER_OPENAI | typeof PROVIDER_GOOGLE;
211
210
 
212
211
  /**
213
212
  * Resolve the emergency compression floor for a plan. Premium gets the high
@@ -521,6 +520,15 @@ export declare const MODEL_GOOGLE_MEDIUM = "gemini-3.5-flash-lite";
521
520
 
522
521
  export declare const MODEL_GOOGLE_TOP = "gemini-3.6-flash";
523
522
 
523
+ /**
524
+ * The humanizer's audit pass deliberately runs on a different model FAMILY than
525
+ * its rewrite pass, so the two-pass output carries no single-model token
526
+ * distribution for detectors to fingerprint; it also wants a reasoning-grade
527
+ * model for the careful, analytical edits it makes. Pinned rather than
528
+ * borrowing the OpenAI top tier, whose value moves on every catalog bump.
529
+ */
530
+ export declare const MODEL_HUMANIZE_AUDIT = "gpt-5.6-terra";
531
+
524
532
  /**
525
533
  * The humanizer's rewrite pass needs a model that supports a high temperature
526
534
  * and is fast; the Lite tier is too weak for it. It gets its own slot rather
@@ -537,6 +545,13 @@ export declare const MODEL_HUMANIZE_REWRITE = "gemini-3.6-flash";
537
545
  */
538
546
  export declare const MODEL_MEMORY_INFERENCE = "gpt-5.4-mini";
539
547
 
548
+ /**
549
+ * The nutrition fallback runs a web-search-tool lookup for branded products FDC
550
+ * does not carry. It needs a mid-grade model with native web search, not
551
+ * whatever the OpenAI mid tier happens to point at.
552
+ */
553
+ export declare const MODEL_NUTRITION_SEARCH = "gpt-5.4-mini";
554
+
540
555
  export declare const MODEL_OPENAI_LOW = "gpt-5.4-nano";
541
556
 
542
557
  export declare const MODEL_OPENAI_MEDIUM = "gpt-5.4-mini";
@@ -555,10 +570,11 @@ export declare const MODEL_OPENAI_MEDIUM = "gpt-5.4-mini";
555
570
  * Two deliberate exceptions follow the catalog: the Perplexity ids are legacy
556
571
  * and not user-selectable, and the role-purpose slots (MODEL_MEMORY_INFERENCE,
557
572
  * MODEL_CHAT_SUMMARY, MODEL_SEARCH_DECOMPOSER, MODEL_HUMANIZE_REWRITE,
558
- * MODEL_EMBEDDING_TEXT, MODEL_GENERATE_IMAGE, MODEL_TEACHER, MODEL_DEV) are
559
- * named for the job they do rather than a provider tier, so a bump there never
560
- * renames them either. Anything that needs a specific model for a specific job
561
- * belongs in that group, NOT pointed at a picker tier whose value can move.
573
+ * MODEL_HUMANIZE_AUDIT, MODEL_NUTRITION_SEARCH, MODEL_EMBEDDING_TEXT,
574
+ * MODEL_GENERATE_IMAGE, MODEL_DEV) are named for the job they do rather than a
575
+ * provider tier, so a bump there never renames them either. Anything that needs
576
+ * a specific model for a specific job belongs in that group, NOT pointed at a
577
+ * picker tier whose value can move.
562
578
  *
563
579
  */
564
580
  export declare const MODEL_OPENAI_TOP = "gpt-5.6-terra";
@@ -579,16 +595,14 @@ export declare const MODEL_SONAR = "sonar";
579
595
 
580
596
  export declare const MODEL_SONAR_PRO = "sonar-pro";
581
597
 
582
- export declare const MODEL_TEACHER = "mistral-large-latest";
583
-
584
598
  /**
585
599
  * List of models available according to the providers.
586
600
  *
587
- * Array order is load-bearing and is NOT sorted by tier: index [0] is the
588
- * per-provider fallback default in getModelNameForPlan (server providers.ts).
589
- * Google deliberately defaults to MEDIUM, and Anthropic lists LOW before
590
- * MEDIUM. Re-sorting these to match the TOP/MEDIUM/LOW names would silently
591
- * change which model a user falls back to.
601
+ * Order is NOT sorted by tier (Google lists MEDIUM first, Anthropic lists LOW
602
+ * before MEDIUM) but is no longer load-bearing: index [0] used to be the
603
+ * per-provider fallback default in getModelNameForPlan (server providers.ts),
604
+ * which fell open and served it to plans entitled to none of the provider's
605
+ * models. Model choice now comes from the plan's own allowedModels order.
592
606
  *
593
607
  */
594
608
  export declare const MODELS_PER_PROVIDER: {
@@ -622,8 +636,6 @@ export declare const PROVIDER_GOOGLE = "Google";
622
636
 
623
637
  export declare const PROVIDER_MEMORY = "Memory";
624
638
 
625
- export declare const PROVIDER_MISTRAL = "Mistral";
626
-
627
639
  /**
628
640
  * List of available providers.
629
641
  */
@@ -641,7 +653,6 @@ export declare const PROVIDER_ROLE_MAP: {
641
653
  Memory: string[];
642
654
  Google: string[];
643
655
  Perplexity: string[];
644
- Mistral: string[];
645
656
  };
646
657
 
647
658
  export declare const PROVIDER_SUMMARY = "Summary";
@@ -652,7 +663,7 @@ export declare const PROVIDER_SUMMARY = "Summary";
652
663
  * `PROVIDER_ROLE_MAP`, or provider-branched logic. Runtime guards
653
664
  * (`isRealProvider`) stay as backup for any `as any` escape hatches.
654
665
  */
655
- export declare type RealProvider = typeof PROVIDER_OPENAI | typeof PROVIDER_ANTHROPIC | typeof PROVIDER_GOOGLE | typeof PROVIDER_MISTRAL;
666
+ export declare type RealProvider = typeof PROVIDER_OPENAI | typeof PROVIDER_ANTHROPIC | typeof PROVIDER_GOOGLE;
656
667
 
657
668
  export declare const ROLE_ASSISTANT = "assistant";
658
669
 
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 O,n=((O={})[O.NewChat=0]="NewChat",O[O.Prompts=1]="Prompts",O[O.Attachment=2]="Attachment",O[O.PrivateChat=3]="PrivateChat",O[O.Send=4]="Send",O[O.Header=5]="Header",O[O.Provider=6]="Provider",O[O.Logo=7]="Logo",O[O.Placeholder=8]="Placeholder",O[O.Footer=9]="Footer",O);let r="system",i="user",o="assistant",a="OpenAI",_="Anthropic",R="Google",s="Summary",T="Memory",A="Perplexity",l="Mistral",M=a,I=[a,_,R],L="gpt-5.6-terra",P="gpt-5.4-mini",S="gpt-5.4-nano",g="claude-opus-4-8",N="claude-sonnet-5",D="claude-haiku-4-5",d="gemini-3.6-flash",c="gemini-3.5-flash-lite",u="sonar",C="sonar-pro",h="perplexity-search",p="openai/gpt-oss-20b:free",m="mistral-large-latest",G="gpt-5.4-mini",H="gpt-5.4-nano",f="gpt-5.4-mini",U="gemini-3.6-flash",y="text-embedding-3-small",Y="gemini-3-pro-image",B=5,b=1e4,F={[L]:"GPT-5.6 Terra",[P]:"GPT-5.4 Mini",[S]:"GPT-5.4 Nano",[g]:"Claude Opus 4.8",[N]:"Claude Sonnet 5",[D]:"Claude Haiku 4.5",[d]:"Gemini 3.6 Flash",[c]:"Gemini 3.5 Flash-Lite",[u]:"Sonar",[C]:"Sonar Pro",[h]:"Perplexity Search",[Y]:"Nano Banana 3 Pro",[m]:"Mistral Large"},v=[L,P,S,g,N,D,c,d,Y],w=[L,P,S,g,N,d,c],V={[a]:[L,P,S],[_]:[g,D,N],[R]:[c,d],[A]:[u,C,h]},X={[a]:[r,i,o],[_]:[i,o],[s]:[i,o],[T]:[i,o],[R]:[i,o],[A]:[i,o],[l]:[i,o]},W={[_]:["claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[R]:["gemini"],[A]:["sonar"],[l]:["mistral"]},x="x-diggidy-chat-id",k="x-diggidy-chat-timestamp",K="complete",z="timestamp",Z="tokenUsage",j="Diggidy",Q="sassy:basic",$="sassy:plus",q="sassy:advanced",J={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",PRONUNCIATION:"getPronunciation",FRENCH_TEACHINGS:"getFrenchTeachings"},ADDON:{ATTACHMENTS:"addon:attachments",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},ee={code_interpreter:"Running code...",web_search:"Searching the web...",[J.TOOL.WEATHER]:"Checking the weather...",[J.TOOL.POLLUTION]:"Fetching air pollution data...",[J.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[J.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[J.TOOL.WEBSEARCH]:"Searching the web...",[J.TOOL.GITREPOSITORY]:"Looking up repository...",[J.TOOL.HOTELS]:"Searching for hotels...",[J.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[J.TOOL.GENERATE_IMAGE]:"Generating image...",[J.TOOL.BARCODE]:"Looking up product...",[J.TOOL.PRONUNCIATION]:"Generating pronunciation...",[J.TOOL.HUMANIZE]:"Rewriting text...",[J.TOOL.IMAGES]:"Searching for images..."},et="Using tools...",eE=5e4,eO=1e5,en=8e5;function er(e){return e===q?en:eO}let ei=16384,eo=4,ea=3,e_="context-compression-summary",eR=new Set(["OpenAI",_,"Google",l]);function es(e){return"string"==typeof e&&eR.has(e)}let eT=/^auto \((.+)\)$/;function eA(e){let t=e.match(eT);return t?t[1]:e}let el=e=>{for(let[t,E]of Object.entries(W))if(E.some(t=>e.startsWith(t)))return t;return null},eM=e=>{if(!e||0===e.length)return[];let t=new Set;for(let E of e)for(let[e,O]of Object.entries(V))O.includes(E)&&("OpenAI"===e||e===_||"Google"===e)&&t.add(e);return I.filter(e=>t.has(e))},eI=e=>{let t=new Map;if(!e||0===e.length)return t;for(let E of e)for(let[e,O]of Object.entries(V))if(O.includes(E)){t.has(e)||t.set(e,[]),t.get(e)?.push(E);break}return t},eL=e=>{for(let t of eI(e).values())if(t.length>1)return!0;return!1},eP=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eS(e,t,E){if(!t||Array.isArray(t)&&0===t.length)return!0;let O=e instanceof Set?e:e?new Set(e):null;return!!O&&0!==O.size&&("string"==typeof t?O.has(t):E?.any===!0?t.some(e=>O.has(e)):t.every(e=>O.has(e)))}function eg(e){return w.includes(e)}export{v as ALL_MODELS,I as ALL_PROVIDERS,w as ALL_REASONING_MODELS,j as APPLICATION_NAME,W as APPROXIMATE_MODELS_PER_PROVIDER,J as CAPABILITIES,K as CHAT_COMPLETION_MARKER_KEY,eO as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD,en as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD_PREMIUM,ea as CONTEXT_COMPRESSION_KEEP_IMAGES,eo as CONTEXT_COMPRESSION_KEEP_RECENT,e_ as CONTEXT_COMPRESSION_SUMMARY_ID,eE as CONTEXT_COMPRESSION_THRESHOLD,M as DEFAULT_PROVIDER,et as DEFAULT_TOOL_LOADING_LABEL,x as DIGGIDY_CHAT_ID_HEADER,k as DIGGIDY_CHAT_TIMESTAMP_HEADER,t as HARD_CATEGORIES,ei as MAX_OUTPUT_TOKENS,B as MAX_SEARCH_QUERIES,e as MEMORY_CATEGORIES,V as MODELS_PER_PROVIDER,D as MODEL_ANTHROPIC_LOW,N as MODEL_ANTHROPIC_MEDIUM,g as MODEL_ANTHROPIC_TOP,H as MODEL_CHAT_SUMMARY,p as MODEL_DEV,F as MODEL_DISPLAY_NAMES,y as MODEL_EMBEDDING_TEXT,Y as MODEL_GENERATE_IMAGE,c as MODEL_GOOGLE_MEDIUM,d as MODEL_GOOGLE_TOP,U as MODEL_HUMANIZE_REWRITE,G as MODEL_MEMORY_INFERENCE,S as MODEL_OPENAI_LOW,P as MODEL_OPENAI_MEDIUM,L as MODEL_OPENAI_TOP,h as MODEL_PERPLEXITY_SEARCH,f as MODEL_SEARCH_DECOMPOSER,u as MODEL_SONAR,C as MODEL_SONAR_PRO,m as MODEL_TEACHER,Q as PLAN_BASIC,$ as PLAN_PLUS,q as PLAN_PREMIUM,_ as PROVIDER_ANTHROPIC,R as PROVIDER_GOOGLE,T as PROVIDER_MEMORY,l as PROVIDER_MISTRAL,a as PROVIDER_OPENAI,A as PROVIDER_PERPLEXITY,X as PROVIDER_ROLE_MAP,s as PROVIDER_SUMMARY,o as ROLE_ASSISTANT,r as ROLE_SYSTEM,i as ROLE_USER,b as SEARCH_QUERY_TIMEOUT_MS,z as SORT_BY_TIMESTAMP,Z as SORT_BY_TOKEN_USAGE,ee as TOOL_LOADING_LABELS,el as findProvider,er as getCompressionEmergencyThreshold,eI as getModelsGroupedByProvider,eM as getProvidersFromModels,eL as hasMultipleModelsPerProvider,eS as isEntitled,E as isHardCategory,eP as isModelAllowedForPlan,es as isRealProvider,eg as isReasoningModel,eA as stripAutoWrapper,n 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 O,n=((O={})[O.NewChat=0]="NewChat",O[O.Prompts=1]="Prompts",O[O.Attachment=2]="Attachment",O[O.PrivateChat=3]="PrivateChat",O[O.Send=4]="Send",O[O.Header=5]="Header",O[O.Provider=6]="Provider",O[O.Logo=7]="Logo",O[O.Placeholder=8]="Placeholder",O[O.Footer=9]="Footer",O);let r="system",i="user",o="assistant",a="OpenAI",_="Anthropic",R="Google",T="Summary",s="Memory",A="Perplexity",I=a,M=[a,_,R],l="gpt-5.6-terra",L="gpt-5.4-mini",S="gpt-5.4-nano",P="claude-opus-4-8",g="claude-sonnet-5",N="claude-haiku-4-5",D="gemini-3.6-flash",d="gemini-3.5-flash-lite",c="sonar",u="sonar-pro",C="perplexity-search",h="openai/gpt-oss-20b:free",p="gpt-5.4-mini",m="gpt-5.4-nano",G="gpt-5.4-mini",H="gemini-3.6-flash",f="gpt-5.6-terra",U="gpt-5.4-mini",y="text-embedding-3-small",Y="gemini-3-pro-image",B=5,b=1e4,F={[l]:"GPT-5.6 Terra",[L]:"GPT-5.4 Mini",[S]:"GPT-5.4 Nano",[P]:"Claude Opus 4.8",[g]:"Claude Sonnet 5",[N]:"Claude Haiku 4.5",[D]:"Gemini 3.6 Flash",[d]:"Gemini 3.5 Flash-Lite",[c]:"Sonar",[u]:"Sonar Pro",[C]:"Perplexity Search",[Y]:"Nano Banana 3 Pro"},v=[l,L,S,P,g,N,d,D,Y],w=[l,L,S,P,g,D,d],V={[a]:[l,L,S],[_]:[P,N,g],[R]:[d,D],[A]:[c,u,C]},X={[a]:[r,i,o],[_]:[i,o],[T]:[i,o],[s]:[i,o],[R]:[i,o],[A]:[i,o]},W={[_]:["claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[R]:["gemini"],[A]:["sonar"]},x="x-diggidy-chat-id",k="x-diggidy-chat-timestamp",K="complete",Z="timestamp",z="tokenUsage",j="Diggidy",Q="sassy:basic",$="sassy:plus",q="sassy:advanced",J={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",PRONUNCIATION:"getPronunciation",FRENCH_TEACHINGS:"getFrenchTeachings"},ADDON:{ATTACHMENTS:"addon:attachments",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},ee={code_interpreter:"Running code...",web_search:"Searching the web...",[J.TOOL.WEATHER]:"Checking the weather...",[J.TOOL.POLLUTION]:"Fetching air pollution data...",[J.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[J.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[J.TOOL.WEBSEARCH]:"Searching the web...",[J.TOOL.GITREPOSITORY]:"Looking up repository...",[J.TOOL.HOTELS]:"Searching for hotels...",[J.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[J.TOOL.GENERATE_IMAGE]:"Generating image...",[J.TOOL.BARCODE]:"Looking up product...",[J.TOOL.PRONUNCIATION]:"Generating pronunciation...",[J.TOOL.HUMANIZE]:"Rewriting text...",[J.TOOL.IMAGES]:"Searching for images..."},et="Using tools...",eE=5e4,eO=1e5,en=8e5;function er(e){return e===q?en:eO}let ei=16384,eo=4,ea=3,e_="context-compression-summary",eR=new Set(["OpenAI",_,"Google"]);function eT(e){return"string"==typeof e&&eR.has(e)}let es=/^auto \((.+)\)$/;function eA(e){let t=e.match(es);return t?t[1]:e}let eI=e=>{for(let[t,E]of Object.entries(W))if(E.some(t=>e.startsWith(t)))return t;return null},eM=e=>{if(!e||0===e.length)return[];let t=new Set;for(let E of e)for(let[e,O]of Object.entries(V))O.includes(E)&&("OpenAI"===e||e===_||"Google"===e)&&t.add(e);return M.filter(e=>t.has(e))},el=e=>{let t=new Map;if(!e||0===e.length)return t;for(let E of e)for(let[e,O]of Object.entries(V))if(O.includes(E)){t.has(e)||t.set(e,[]),t.get(e)?.push(E);break}return t},eL=e=>{for(let t of el(e).values())if(t.length>1)return!0;return!1},eS=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eP(e,t,E){if(!t||Array.isArray(t)&&0===t.length)return!0;let O=e instanceof Set?e:e?new Set(e):null;return!!O&&0!==O.size&&("string"==typeof t?O.has(t):E?.any===!0?t.some(e=>O.has(e)):t.every(e=>O.has(e)))}function eg(e){return w.includes(e)}export{v as ALL_MODELS,M as ALL_PROVIDERS,w as ALL_REASONING_MODELS,j as APPLICATION_NAME,W as APPROXIMATE_MODELS_PER_PROVIDER,J as CAPABILITIES,K as CHAT_COMPLETION_MARKER_KEY,eO as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD,en as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD_PREMIUM,ea as CONTEXT_COMPRESSION_KEEP_IMAGES,eo as CONTEXT_COMPRESSION_KEEP_RECENT,e_ as CONTEXT_COMPRESSION_SUMMARY_ID,eE as CONTEXT_COMPRESSION_THRESHOLD,I as DEFAULT_PROVIDER,et as DEFAULT_TOOL_LOADING_LABEL,x as DIGGIDY_CHAT_ID_HEADER,k as DIGGIDY_CHAT_TIMESTAMP_HEADER,t as HARD_CATEGORIES,ei as MAX_OUTPUT_TOKENS,B as MAX_SEARCH_QUERIES,e as MEMORY_CATEGORIES,V as MODELS_PER_PROVIDER,N as MODEL_ANTHROPIC_LOW,g as MODEL_ANTHROPIC_MEDIUM,P as MODEL_ANTHROPIC_TOP,m as MODEL_CHAT_SUMMARY,h as MODEL_DEV,F as MODEL_DISPLAY_NAMES,y as MODEL_EMBEDDING_TEXT,Y as MODEL_GENERATE_IMAGE,d as MODEL_GOOGLE_MEDIUM,D as MODEL_GOOGLE_TOP,f as MODEL_HUMANIZE_AUDIT,H as MODEL_HUMANIZE_REWRITE,p as MODEL_MEMORY_INFERENCE,U as MODEL_NUTRITION_SEARCH,S as MODEL_OPENAI_LOW,L as MODEL_OPENAI_MEDIUM,l as MODEL_OPENAI_TOP,C as MODEL_PERPLEXITY_SEARCH,G as MODEL_SEARCH_DECOMPOSER,c as MODEL_SONAR,u as MODEL_SONAR_PRO,Q as PLAN_BASIC,$ as PLAN_PLUS,q as PLAN_PREMIUM,_ as PROVIDER_ANTHROPIC,R as PROVIDER_GOOGLE,s as PROVIDER_MEMORY,a as PROVIDER_OPENAI,A as PROVIDER_PERPLEXITY,X as PROVIDER_ROLE_MAP,T as PROVIDER_SUMMARY,o as ROLE_ASSISTANT,r as ROLE_SYSTEM,i as ROLE_USER,b as SEARCH_QUERY_TIMEOUT_MS,Z as SORT_BY_TIMESTAMP,z as SORT_BY_TOKEN_USAGE,ee as TOOL_LOADING_LABELS,eI as findProvider,er as getCompressionEmergencyThreshold,el as getModelsGroupedByProvider,eM as getProvidersFromModels,eL as hasMultipleModelsPerProvider,eP as isEntitled,E as isHardCategory,eS as isModelAllowedForPlan,eT as isRealProvider,eg as isReasoningModel,eA as stripAutoWrapper,n as ActionColor};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint-common",
3
- "version": "4.48.0",
3
+ "version": "4.48.2",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -32,5 +32,5 @@
32
32
  "test:watch": "vitest",
33
33
  "watch": "npm-run-all dev"
34
34
  },
35
- "gitHead": "17673edb51a6d532a5fd1d5018245fbbf16c8cb7"
35
+ "gitHead": "57e3767249413170e3ede4be10c7fa6adc8c3837"
36
36
  }