@versini/sassysaint-common 4.34.1 → 4.36.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 CHANGED
@@ -120,6 +120,8 @@ export declare type CSSVariables = Record<string, string>;
120
120
 
121
121
  export declare const DEFAULT_PROVIDER = "OpenAI";
122
122
 
123
+ export declare const DEFAULT_TOOL_LOADING_LABEL = "Using tools...";
124
+
123
125
  /**
124
126
  * Header string for Diggidy Chat Id. Used to identify the chat in the server
125
127
  * when there is a client abort.
@@ -393,6 +395,8 @@ export declare function isReasoningModel(model: string): boolean;
393
395
  */
394
396
  export declare const MAX_OUTPUT_TOKENS = 16384;
395
397
 
398
+ export declare const MAX_SEARCH_QUERIES = 5;
399
+
396
400
  export declare const MODEL_CHAT_SUMMARY = "gpt-5.4-nano";
397
401
 
398
402
  export declare const MODEL_CLAUDE_HAIKU = "claude-haiku-4-5";
@@ -430,6 +434,8 @@ export declare const MODEL_GPT5_NANO = "gpt-5.4-nano";
430
434
 
431
435
  export declare const MODEL_MEMORY_INFERENCE = "gpt-5.4-nano";
432
436
 
437
+ export declare const MODEL_SEARCH_DECOMPOSER = "gpt-5.4-mini";
438
+
433
439
  export declare const MODEL_SONAR = "sonar";
434
440
 
435
441
  export declare const MODEL_SONAR_PRO = "sonar-pro";
@@ -503,6 +509,8 @@ export declare const ROLE_SYSTEM = "system";
503
509
 
504
510
  export declare const ROLE_USER = "user";
505
511
 
512
+ export declare const SEARCH_QUERY_TIMEOUT_MS = 10000;
513
+
506
514
  /**
507
515
  * Sort capabilities are shared across client and server.
508
516
  */
@@ -539,4 +547,12 @@ export declare interface ThemePalette {
539
547
  oled: Palette;
540
548
  }
541
549
 
550
+ /**
551
+ * Static loading labels for tool activity display. Generator tools override
552
+ * these with contextual text (e.g., "Analyzing bundle size for lodash...").
553
+ * These serve as fallback labels and cover provider-native tools that cannot
554
+ * use the generator pattern.
555
+ */
556
+ export declare const TOOL_LOADING_LABELS: Record<string, string>;
557
+
542
558
  export { }
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- let e="standard";var t,E=((t={})[t.NewChat=0]="NewChat",t[t.Prompts=1]="Prompts",t[t.Attachment=2]="Attachment",t[t.PrivateChat=3]="PrivateChat",t[t.Reasoning=4]="Reasoning",t[t.Send=5]="Send",t[t.Header=6]="Header",t[t.Provider=7]="Provider",t[t.Logo=8]="Logo",t[t.Placeholder=9]="Placeholder",t[t.Footer=10]="Footer",t);let r="system",a="user",n="assistant",o="OpenAI",i="Anthropic",s="Google",O="Summary",_="Memory",R="Perplexity",A="Mistral",M=o,l=[o,i,s],P="gpt-5.4",T="gpt-5.4-mini",I="gpt-5.4-nano",S="gpt-4.1-nano",D="claude-opus-4-6",d="claude-sonnet-4-6",N="claude-haiku-4-5",L="gemini-3-flash-preview",g="gemini-3.1-pro-preview",u="sonar",c="sonar-pro",C="openai/gpt-oss-20b:free",h="mistral-large-latest",m="gpt-5.4-nano",p="gpt-5.4-nano",G="text-embedding-3-small",H="gemini-3-pro-image-preview",f={[P]:"GPT-5.4",[T]:"GPT-5.4 Mini",[I]:"GPT-5.4 Nano",[S]:"GPT-4.1 Nano",[D]:"Claude Opus 4.6",[d]:"Claude Sonnet 4.6",[N]:"Claude Haiku 4.5",[g]:"Gemini 3.1 Pro",[L]:"Gemini 3 Flash",[u]:"Sonar",[c]:"Sonar Pro",[H]:"Nano Banana 3 Pro",[h]:"Mistral Large"},U=[P,T,I,D,d,N,L,g,H],y=[P,T,I,D,d,g],v={[o]:[S,P,T,I],[i]:[D,N,d],[s]:[L,g],[R]:[u,c]},B={[o]:[r,a,n],[i]:[a,n],[O]:[a,n],[_]:[a,n],[s]:[a,n],[R]:[a,n],[A]:[a,n]},V={[i]:["claude-opus-4","claude-sonnet-4","claude-haiku-4","claude-3"],[o]:["gpt-","o3","o4"],[s]:["gemini"],[R]:["sonar"],[A]:["mistral"]},Y="x-diggidy-chat-id",F="x-diggidy-chat-timestamp",b="timestamp",w="tokenUsage",X="Diggidy",x="sassy:basic",k="sassy:plus",W="sassy:advanced",K={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"}},j=5e4,z=16384,Z=4,q="context-compression-summary",J=e=>{for(let[t,E]of Object.entries(V))if(E.some(t=>e.startsWith(t)))return t;return null},Q=e=>{if(!e||0===e.length)return[];let t=new Set;for(let E of e)for(let[e,r]of Object.entries(v))r.includes(E)&&(e===o||e===i||e===s)&&t.add(e);return l.filter(e=>t.has(e))},$=e=>{let t=new Map;if(!e||0===e.length)return t;for(let E of e)for(let[e,r]of Object.entries(v))if(r.includes(E)){t.has(e)||t.set(e,[]),t.get(e)?.push(E);break}return t},ee=e=>{for(let t of $(e).values())if(t.length>1)return!0;return!1},et=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eE(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 er(e){return y.includes(e)}var ea="subtle";export{U as ALL_MODELS,l as ALL_PROVIDERS,y as ALL_REASONING_MODELS,X as APPLICATION_NAME,V as APPROXIMATE_MODELS_PER_PROVIDER,K as CAPABILITIES,Z as CONTEXT_COMPRESSION_KEEP_RECENT,q as CONTEXT_COMPRESSION_SUMMARY_ID,j as CONTEXT_COMPRESSION_THRESHOLD,M as DEFAULT_PROVIDER,Y as DIGGIDY_CHAT_ID_HEADER,F as DIGGIDY_CHAT_TIMESTAMP_HEADER,z as MAX_OUTPUT_TOKENS,v as MODELS_PER_PROVIDER,p as MODEL_CHAT_SUMMARY,N as MODEL_CLAUDE_HAIKU,D as MODEL_CLAUDE_OPUS,d as MODEL_CLAUDE_SONNET,C as MODEL_DEV,f as MODEL_DISPLAY_NAMES,G as MODEL_EMBEDDING_TEXT,L as MODEL_GEMINI_FLASH,g as MODEL_GEMINI_PRO,H as MODEL_GENERATE_IMAGE,S as MODEL_GPT4_NANO,P as MODEL_GPT5,T as MODEL_GPT5_MINI,I as MODEL_GPT5_NANO,m as MODEL_MEMORY_INFERENCE,u as MODEL_SONAR,c as MODEL_SONAR_PRO,h as MODEL_TEACHER,x as PLAN_BASIC,k as PLAN_PLUS,W as PLAN_PREMIUM,i as PROVIDER_ANTHROPIC,s as PROVIDER_GOOGLE,_ as PROVIDER_MEMORY,A as PROVIDER_MISTRAL,o as PROVIDER_OPENAI,R as PROVIDER_PERPLEXITY,B as PROVIDER_ROLE_MAP,O as PROVIDER_SUMMARY,n as ROLE_ASSISTANT,r as ROLE_SYSTEM,a as ROLE_USER,b as SORT_BY_TIMESTAMP,w as SORT_BY_TOKEN_USAGE,e as THEME_STANDARD,J as findProvider,$ as getModelsGroupedByProvider,Q as getProvidersFromModels,ee as hasMultipleModelsPerProvider,eE as isEntitled,et as isModelAllowedForPlan,er as isReasoningModel,ea as THEME_SUBTLE,E as ActionColor};
1
+ let e="standard";var t,E=((t={})[t.NewChat=0]="NewChat",t[t.Prompts=1]="Prompts",t[t.Attachment=2]="Attachment",t[t.PrivateChat=3]="PrivateChat",t[t.Reasoning=4]="Reasoning",t[t.Send=5]="Send",t[t.Header=6]="Header",t[t.Provider=7]="Provider",t[t.Logo=8]="Logo",t[t.Placeholder=9]="Placeholder",t[t.Footer=10]="Footer",t);let n="system",O="user",r="assistant",a="OpenAI",i="Anthropic",o="Google",T="Summary",_="Memory",R="Perplexity",s="Mistral",A=a,L=[a,i,o],M="gpt-5.4",I="gpt-5.4-mini",S="gpt-5.4-nano",l="gpt-4.1-nano",P="claude-opus-4-6",g="claude-sonnet-4-6",N="claude-haiku-4-5",D="gemini-3-flash-preview",d="gemini-3.1-pro-preview",u="sonar",c="sonar-pro",C="openai/gpt-oss-20b:free",h="mistral-large-latest",p="gpt-5.4-nano",m="gpt-5.4-nano",G="gpt-5.4-mini",U="text-embedding-3-small",H="gemini-3-pro-image-preview",f=5,y=1e4,B={[M]:"GPT-5.4",[I]:"GPT-5.4 Mini",[S]:"GPT-5.4 Nano",[l]:"GPT-4.1 Nano",[P]:"Claude Opus 4.6",[g]:"Claude Sonnet 4.6",[N]:"Claude Haiku 4.5",[d]:"Gemini 3.1 Pro",[D]:"Gemini 3 Flash",[u]:"Sonar",[c]:"Sonar Pro",[H]:"Nano Banana 3 Pro",[h]:"Mistral Large"},v=[M,I,S,P,g,N,D,d,H],F=[M,I,S,P,g,d],Y={[a]:[l,M,I,S],[i]:[P,N,g],[o]:[D,d],[R]:[u,c]},w={[a]:[n,O,r],[i]:[O,r],[T]:[O,r],[_]:[O,r],[o]:[O,r],[R]:[O,r],[s]:[O,r]},V={[i]:["claude-opus-4","claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[o]:["gemini"],[R]:["sonar"],[s]:["mistral"]},b="x-diggidy-chat-id",k="x-diggidy-chat-timestamp",X="timestamp",x="tokenUsage",W="Diggidy",z="sassy:basic",K="sassy:plus",Z="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",REASONING:"addon:reasoning",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},Q={code_interpreter:"Running code...",[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..."},q="Using tools...",J=5e4,$=16384,ee=4,et="context-compression-summary",eE=e=>{for(let[t,E]of Object.entries(V))if(E.some(t=>e.startsWith(t)))return t;return null},en=e=>{if(!e||0===e.length)return[];let t=new Set;for(let E of e)for(let[e,n]of Object.entries(Y))n.includes(E)&&(e===a||e===i||e===o)&&t.add(e);return L.filter(e=>t.has(e))},eO=e=>{let t=new Map;if(!e||0===e.length)return t;for(let E of e)for(let[e,n]of Object.entries(Y))if(n.includes(E)){t.has(e)||t.set(e,[]),t.get(e)?.push(E);break}return t},er=e=>{for(let t of eO(e).values())if(t.length>1)return!0;return!1},ea=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function ei(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 eo(e){return F.includes(e)}var eT="subtle";export{v as ALL_MODELS,L as ALL_PROVIDERS,F as ALL_REASONING_MODELS,W as APPLICATION_NAME,V as APPROXIMATE_MODELS_PER_PROVIDER,j as CAPABILITIES,ee as CONTEXT_COMPRESSION_KEEP_RECENT,et as CONTEXT_COMPRESSION_SUMMARY_ID,J as CONTEXT_COMPRESSION_THRESHOLD,A as DEFAULT_PROVIDER,q as DEFAULT_TOOL_LOADING_LABEL,b as DIGGIDY_CHAT_ID_HEADER,k as DIGGIDY_CHAT_TIMESTAMP_HEADER,$ as MAX_OUTPUT_TOKENS,f as MAX_SEARCH_QUERIES,Y as MODELS_PER_PROVIDER,m as MODEL_CHAT_SUMMARY,N as MODEL_CLAUDE_HAIKU,P as MODEL_CLAUDE_OPUS,g as MODEL_CLAUDE_SONNET,C as MODEL_DEV,B as MODEL_DISPLAY_NAMES,U as MODEL_EMBEDDING_TEXT,D as MODEL_GEMINI_FLASH,d as MODEL_GEMINI_PRO,H as MODEL_GENERATE_IMAGE,l as MODEL_GPT4_NANO,M as MODEL_GPT5,I as MODEL_GPT5_MINI,S as MODEL_GPT5_NANO,p as MODEL_MEMORY_INFERENCE,G as MODEL_SEARCH_DECOMPOSER,u as MODEL_SONAR,c as MODEL_SONAR_PRO,h as MODEL_TEACHER,z as PLAN_BASIC,K as PLAN_PLUS,Z as PLAN_PREMIUM,i as PROVIDER_ANTHROPIC,o as PROVIDER_GOOGLE,_ as PROVIDER_MEMORY,s as PROVIDER_MISTRAL,a as PROVIDER_OPENAI,R as PROVIDER_PERPLEXITY,w as PROVIDER_ROLE_MAP,T as PROVIDER_SUMMARY,r as ROLE_ASSISTANT,n as ROLE_SYSTEM,O as ROLE_USER,y as SEARCH_QUERY_TIMEOUT_MS,X as SORT_BY_TIMESTAMP,x as SORT_BY_TOKEN_USAGE,e as THEME_STANDARD,Q as TOOL_LOADING_LABELS,eE as findProvider,eO as getModelsGroupedByProvider,en as getProvidersFromModels,er as hasMultipleModelsPerProvider,ei as isEntitled,ea as isModelAllowedForPlan,eo as isReasoningModel,eT as THEME_SUBTLE,E as ActionColor};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint-common",
3
- "version": "4.34.1",
3
+ "version": "4.36.0",
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": "30b76679108a574d32fbc9002929a86ed4c8b2d7"
35
+ "gitHead": "90d016c91776113778176e373c316cf1f6e202f9"
36
36
  }