@versini/sassysaint-common 4.39.1 → 4.39.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
@@ -577,7 +577,14 @@ export declare const ROLE_SYSTEM = "system";
577
577
 
578
578
  export declare const ROLE_USER = "user";
579
579
 
580
- export declare const SEARCH_QUERY_TIMEOUT_MS = 10000;
580
+ /**
581
+ * Per-sub-query deadline for the parallel search fan-out. sonar-pro routinely
582
+ * takes 14-22s to answer a decomposed query (it runs its own search + synthesis
583
+ * with medium context), so a tighter bound kills every sub-query before the
584
+ * provider responds and the whole search reports a false failure. 30s leaves
585
+ * headroom over the observed tail while still bounding a genuinely hung request.
586
+ */
587
+ export declare const SEARCH_QUERY_TIMEOUT_MS = 30000;
581
588
 
582
589
  /**
583
590
  * Sort capabilities are shared across client and server.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var e,E=((e={})[e.NewChat=0]="NewChat",e[e.Prompts=1]="Prompts",e[e.Attachment=2]="Attachment",e[e.PrivateChat=3]="PrivateChat",e[e.Reasoning=4]="Reasoning",e[e.Send=5]="Send",e[e.Header=6]="Header",e[e.Provider=7]="Provider",e[e.Logo=8]="Logo",e[e.Placeholder=9]="Placeholder",e[e.Footer=10]="Footer",e);let O="user",t="assistant",_="OpenAI",r="Anthropic",n="Google",a="Summary",R="Perplexity",o="Mistral",i=[_,r,n],s="gpt-5.4",T="gpt-5.4-mini",A="gpt-5.4-nano",I="claude-opus-4-8",S="claude-sonnet-4-6",L="claude-haiku-4-5",M="gemini-3-flash-preview",P="gemini-3.1-pro-preview",N="sonar",D="sonar-pro",l="openai/gpt-oss-20b:free",g="mistral-large-latest",c="gpt-5.4-nano",d="gpt-5.4-nano",C="gpt-5.4-mini",u="text-embedding-3-small",U="gemini-3-pro-image",h=A,G=L,p=M,m=T,H=S,f=M,y={[s]:"GPT-5.4",[T]:"GPT-5.4 Mini",[A]:"GPT-5.4 Nano",[I]:"Claude Opus 4.8",[S]:"Claude Sonnet 4.6",[L]:"Claude Haiku 4.5",[P]:"Gemini 3.1 Pro",[M]:"Gemini 3 Flash",[N]:"Sonar",[D]:"Sonar Pro",[U]:"Nano Banana 3 Pro",[g]:"Mistral Large"},V=[s,T,A,I,S,L,M,P,U],B=[s,T,A,I,S,P],Y={[_]:[s,T,A],[r]:[I,L,S],[n]:[M,P],[R]:[N,D]},F={[_]:["system",O,t],[r]:[O,t],[a]:[O,t],Memory:[O,t],[n]:[O,t],[R]:[O,t],[o]:[O,t]},v={[r]:["claude-opus-4","claude-sonnet-4","claude-haiku-4","claude-3"],[_]:["gpt-","o3","o4"],[n]:["gemini"],[R]:["sonar"],[o]:["mistral"]},w="x-diggidy-chat-id",X="x-diggidy-chat-timestamp",b="timestamp",k="tokenUsage",K="Diggidy",x="sassy:basic",W="sassy:plus",z="sassy:advanced",Q={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",REASONING:"addon:reasoning",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},Z={code_interpreter:"Running code...",web_search:"Searching the web...",[Q.TOOL.WEATHER]:"Checking the weather...",[Q.TOOL.POLLUTION]:"Fetching air pollution data...",[Q.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[Q.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[Q.TOOL.WEBSEARCH]:"Searching the web...",[Q.TOOL.GITREPOSITORY]:"Looking up repository...",[Q.TOOL.HOTELS]:"Searching for hotels...",[Q.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[Q.TOOL.GENERATE_IMAGE]:"Generating image...",[Q.TOOL.BARCODE]:"Looking up product...",[Q.TOOL.PRONUNCIATION]:"Generating pronunciation...",[Q.TOOL.HUMANIZE]:"Rewriting text...",[Q.TOOL.IMAGES]:"Searching for images..."},j="Using tools...",q="context-compression-summary",J=new Set(["OpenAI",r,"Google",o]);function $(e){return"string"==typeof e&&J.has(e)}let ee=e=>{for(let[E,O]of Object.entries(v))if(O.some(E=>e.startsWith(E)))return E;return null},eE=e=>{if(!e||0===e.length)return[];let E=new Set;for(let O of e)for(let[e,t]of Object.entries(Y))t.includes(O)&&("OpenAI"===e||e===r||"Google"===e)&&E.add(e);return i.filter(e=>E.has(e))},eO=e=>{let E=new Map;if(!e||0===e.length)return E;for(let O of e)for(let[e,t]of Object.entries(Y))if(t.includes(O)){E.has(e)||E.set(e,[]),E.get(e)?.push(O);break}return E},et=e=>{for(let E of eO(e).values())if(E.length>1)return!0;return!1},e_=(e,E)=>!!e&&!!E&&0!==E.length&&E.includes(e);function er(e,E,O){if(!E||Array.isArray(E)&&0===E.length)return!0;let t=e instanceof Set?e:e?new Set(e):null;return!!t&&0!==t.size&&("string"==typeof E?t.has(E):O?.any===!0?E.some(e=>t.has(e)):E.every(e=>t.has(e)))}function en(e){return B.includes(e)}var ea=3,eR=4,eo=5e4,ei="OpenAI",es=16384,eT=5,eA="sonar",eI="Auto",eS="Google",eL="Memory",eM="OpenAI",eP="system",eN="user",eD=1e4;export{V as ALL_MODELS,i as ALL_PROVIDERS,B as ALL_REASONING_MODELS,K as APPLICATION_NAME,v as APPROXIMATE_MODELS_PER_PROVIDER,Q as CAPABILITIES,q as CONTEXT_COMPRESSION_SUMMARY_ID,j as DEFAULT_TOOL_LOADING_LABEL,w as DIGGIDY_CHAT_ID_HEADER,X as DIGGIDY_CHAT_TIMESTAMP_HEADER,Y as MODELS_PER_PROVIDER,H as MODEL_AUTO_RESPONDER_ANTHROPIC,f as MODEL_AUTO_RESPONDER_GOOGLE,m as MODEL_AUTO_RESPONDER_OPENAI,G as MODEL_AUTO_ROUTER_ANTHROPIC,p as MODEL_AUTO_ROUTER_GOOGLE,h as MODEL_AUTO_ROUTER_OPENAI,d as MODEL_CHAT_SUMMARY,L as MODEL_CLAUDE_HAIKU,I as MODEL_CLAUDE_OPUS,S as MODEL_CLAUDE_SONNET,l as MODEL_DEV,y as MODEL_DISPLAY_NAMES,u as MODEL_EMBEDDING_TEXT,M as MODEL_GEMINI_FLASH,P as MODEL_GEMINI_PRO,U as MODEL_GENERATE_IMAGE,s as MODEL_GPT5,T as MODEL_GPT5_MINI,A as MODEL_GPT5_NANO,c as MODEL_MEMORY_INFERENCE,C as MODEL_SEARCH_DECOMPOSER,D as MODEL_SONAR_PRO,g as MODEL_TEACHER,x as PLAN_BASIC,W as PLAN_PLUS,z as PLAN_PREMIUM,r as PROVIDER_ANTHROPIC,o as PROVIDER_MISTRAL,R as PROVIDER_PERPLEXITY,F as PROVIDER_ROLE_MAP,a as PROVIDER_SUMMARY,t as ROLE_ASSISTANT,b as SORT_BY_TIMESTAMP,k as SORT_BY_TOKEN_USAGE,Z as TOOL_LOADING_LABELS,ee as findProvider,eO as getModelsGroupedByProvider,eE as getProvidersFromModels,et as hasMultipleModelsPerProvider,er as isEntitled,e_ as isModelAllowedForPlan,$ as isRealProvider,en as isReasoningModel,ea as CONTEXT_COMPRESSION_KEEP_IMAGES,eR as CONTEXT_COMPRESSION_KEEP_RECENT,eo as CONTEXT_COMPRESSION_THRESHOLD,ei as DEFAULT_PROVIDER,es as MAX_OUTPUT_TOKENS,eT as MAX_SEARCH_QUERIES,eA as MODEL_SONAR,eI as PROVIDER_AUTO,eS as PROVIDER_GOOGLE,eL as PROVIDER_MEMORY,eM as PROVIDER_OPENAI,eP as ROLE_SYSTEM,eN as ROLE_USER,eD as SEARCH_QUERY_TIMEOUT_MS,E as ActionColor};
1
+ var e,E=((e={})[e.NewChat=0]="NewChat",e[e.Prompts=1]="Prompts",e[e.Attachment=2]="Attachment",e[e.PrivateChat=3]="PrivateChat",e[e.Reasoning=4]="Reasoning",e[e.Send=5]="Send",e[e.Header=6]="Header",e[e.Provider=7]="Provider",e[e.Logo=8]="Logo",e[e.Placeholder=9]="Placeholder",e[e.Footer=10]="Footer",e);let O="user",t="assistant",_="OpenAI",r="Anthropic",n="Google",a="Summary",R="Perplexity",o="Mistral",i=[_,r,n],s="gpt-5.4",T="gpt-5.4-mini",A="gpt-5.4-nano",I="claude-opus-4-8",S="claude-sonnet-4-6",L="claude-haiku-4-5",M="gemini-3-flash-preview",P="gemini-3.1-pro-preview",N="sonar",D="sonar-pro",l="openai/gpt-oss-20b:free",g="mistral-large-latest",c="gpt-5.4-nano",d="gpt-5.4-nano",C="gpt-5.4-mini",u="text-embedding-3-small",U="gemini-3-pro-image",h=A,G=L,p=M,m=T,H=S,f=M,y={[s]:"GPT-5.4",[T]:"GPT-5.4 Mini",[A]:"GPT-5.4 Nano",[I]:"Claude Opus 4.8",[S]:"Claude Sonnet 4.6",[L]:"Claude Haiku 4.5",[P]:"Gemini 3.1 Pro",[M]:"Gemini 3 Flash",[N]:"Sonar",[D]:"Sonar Pro",[U]:"Nano Banana 3 Pro",[g]:"Mistral Large"},V=[s,T,A,I,S,L,M,P,U],B=[s,T,A,I,S,P],Y={[_]:[s,T,A],[r]:[I,L,S],[n]:[M,P],[R]:[N,D]},F={[_]:["system",O,t],[r]:[O,t],[a]:[O,t],Memory:[O,t],[n]:[O,t],[R]:[O,t],[o]:[O,t]},v={[r]:["claude-opus-4","claude-sonnet-4","claude-haiku-4","claude-3"],[_]:["gpt-","o3","o4"],[n]:["gemini"],[R]:["sonar"],[o]:["mistral"]},w="x-diggidy-chat-id",X="x-diggidy-chat-timestamp",b="timestamp",k="tokenUsage",K="Diggidy",x="sassy:basic",W="sassy:plus",z="sassy:advanced",Q={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",REASONING:"addon:reasoning",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},Z={code_interpreter:"Running code...",web_search:"Searching the web...",[Q.TOOL.WEATHER]:"Checking the weather...",[Q.TOOL.POLLUTION]:"Fetching air pollution data...",[Q.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[Q.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[Q.TOOL.WEBSEARCH]:"Searching the web...",[Q.TOOL.GITREPOSITORY]:"Looking up repository...",[Q.TOOL.HOTELS]:"Searching for hotels...",[Q.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[Q.TOOL.GENERATE_IMAGE]:"Generating image...",[Q.TOOL.BARCODE]:"Looking up product...",[Q.TOOL.PRONUNCIATION]:"Generating pronunciation...",[Q.TOOL.HUMANIZE]:"Rewriting text...",[Q.TOOL.IMAGES]:"Searching for images..."},j="Using tools...",q="context-compression-summary",J=new Set(["OpenAI",r,"Google",o]);function $(e){return"string"==typeof e&&J.has(e)}let ee=e=>{for(let[E,O]of Object.entries(v))if(O.some(E=>e.startsWith(E)))return E;return null},eE=e=>{if(!e||0===e.length)return[];let E=new Set;for(let O of e)for(let[e,t]of Object.entries(Y))t.includes(O)&&("OpenAI"===e||e===r||"Google"===e)&&E.add(e);return i.filter(e=>E.has(e))},eO=e=>{let E=new Map;if(!e||0===e.length)return E;for(let O of e)for(let[e,t]of Object.entries(Y))if(t.includes(O)){E.has(e)||E.set(e,[]),E.get(e)?.push(O);break}return E},et=e=>{for(let E of eO(e).values())if(E.length>1)return!0;return!1},e_=(e,E)=>!!e&&!!E&&0!==E.length&&E.includes(e);function er(e,E,O){if(!E||Array.isArray(E)&&0===E.length)return!0;let t=e instanceof Set?e:e?new Set(e):null;return!!t&&0!==t.size&&("string"==typeof E?t.has(E):O?.any===!0?E.some(e=>t.has(e)):E.every(e=>t.has(e)))}function en(e){return B.includes(e)}var ea=3,eR=4,eo=5e4,ei="OpenAI",es=16384,eT=5,eA="sonar",eI="Auto",eS="Google",eL="Memory",eM="OpenAI",eP="system",eN="user",eD=3e4;export{V as ALL_MODELS,i as ALL_PROVIDERS,B as ALL_REASONING_MODELS,K as APPLICATION_NAME,v as APPROXIMATE_MODELS_PER_PROVIDER,Q as CAPABILITIES,q as CONTEXT_COMPRESSION_SUMMARY_ID,j as DEFAULT_TOOL_LOADING_LABEL,w as DIGGIDY_CHAT_ID_HEADER,X as DIGGIDY_CHAT_TIMESTAMP_HEADER,Y as MODELS_PER_PROVIDER,H as MODEL_AUTO_RESPONDER_ANTHROPIC,f as MODEL_AUTO_RESPONDER_GOOGLE,m as MODEL_AUTO_RESPONDER_OPENAI,G as MODEL_AUTO_ROUTER_ANTHROPIC,p as MODEL_AUTO_ROUTER_GOOGLE,h as MODEL_AUTO_ROUTER_OPENAI,d as MODEL_CHAT_SUMMARY,L as MODEL_CLAUDE_HAIKU,I as MODEL_CLAUDE_OPUS,S as MODEL_CLAUDE_SONNET,l as MODEL_DEV,y as MODEL_DISPLAY_NAMES,u as MODEL_EMBEDDING_TEXT,M as MODEL_GEMINI_FLASH,P as MODEL_GEMINI_PRO,U as MODEL_GENERATE_IMAGE,s as MODEL_GPT5,T as MODEL_GPT5_MINI,A as MODEL_GPT5_NANO,c as MODEL_MEMORY_INFERENCE,C as MODEL_SEARCH_DECOMPOSER,D as MODEL_SONAR_PRO,g as MODEL_TEACHER,x as PLAN_BASIC,W as PLAN_PLUS,z as PLAN_PREMIUM,r as PROVIDER_ANTHROPIC,o as PROVIDER_MISTRAL,R as PROVIDER_PERPLEXITY,F as PROVIDER_ROLE_MAP,a as PROVIDER_SUMMARY,t as ROLE_ASSISTANT,b as SORT_BY_TIMESTAMP,k as SORT_BY_TOKEN_USAGE,Z as TOOL_LOADING_LABELS,ee as findProvider,eO as getModelsGroupedByProvider,eE as getProvidersFromModels,et as hasMultipleModelsPerProvider,er as isEntitled,e_ as isModelAllowedForPlan,$ as isRealProvider,en as isReasoningModel,ea as CONTEXT_COMPRESSION_KEEP_IMAGES,eR as CONTEXT_COMPRESSION_KEEP_RECENT,eo as CONTEXT_COMPRESSION_THRESHOLD,ei as DEFAULT_PROVIDER,es as MAX_OUTPUT_TOKENS,eT as MAX_SEARCH_QUERIES,eA as MODEL_SONAR,eI as PROVIDER_AUTO,eS as PROVIDER_GOOGLE,eL as PROVIDER_MEMORY,eM as PROVIDER_OPENAI,eP as ROLE_SYSTEM,eN as ROLE_USER,eD as SEARCH_QUERY_TIMEOUT_MS,E as ActionColor};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint-common",
3
- "version": "4.39.1",
3
+ "version": "4.39.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": "ce9f47e834eb243e3ec479e71a11c56c59184655"
35
+ "gitHead": "1f3b3ec18b0bd7f2ba11763f639fb839d4de2b64"
36
36
  }