@versini/sassysaint-common 4.34.1 → 4.35.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.
@@ -539,4 +541,12 @@ export declare interface ThemePalette {
539
541
  oled: Palette;
540
542
  }
541
543
 
544
+ /**
545
+ * Static loading labels for tool activity display. Generator tools override
546
+ * these with contextual text (e.g., "Analyzing bundle size for lodash...").
547
+ * These serve as fallback labels and cover provider-native tools that cannot
548
+ * use the generator pattern.
549
+ */
550
+ export declare const TOOL_LOADING_LABELS: Record<string, string>;
551
+
542
552
  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",r="user",a="assistant",O="OpenAI",i="Anthropic",o="Google",T="Summary",s="Memory",_="Perplexity",R="Mistral",A=O,L=[O,i,o],l="gpt-5.4",I="gpt-5.4-mini",M="gpt-5.4-nano",P="gpt-4.1-nano",S="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",h="openai/gpt-oss-20b:free",C="mistral-large-latest",p="gpt-5.4-nano",G="gpt-5.4-nano",m="text-embedding-3-small",U="gemini-3-pro-image-preview",H={[l]:"GPT-5.4",[I]:"GPT-5.4 Mini",[M]:"GPT-5.4 Nano",[P]:"GPT-4.1 Nano",[S]:"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",[U]:"Nano Banana 3 Pro",[C]:"Mistral Large"},f=[l,I,M,S,g,N,D,d,U],y=[l,I,M,S,g,d],B={[O]:[P,l,I,M],[i]:[S,N,g],[o]:[D,d],[_]:[u,c]},v={[O]:[n,r,a],[i]:[r,a],[T]:[r,a],[s]:[r,a],[o]:[r,a],[_]:[r,a],[R]:[r,a]},F={[i]:["claude-opus-4","claude-sonnet-4","claude-haiku-4","claude-3"],[O]:["gpt-","o3","o4"],[o]:["gemini"],[_]:["sonar"],[R]:["mistral"]},w="x-diggidy-chat-id",b="x-diggidy-chat-timestamp",Y="timestamp",V="tokenUsage",k="Diggidy",x="sassy:basic",W="sassy:plus",X="sassy:advanced",z={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"}},K={web_search:"Searching the web...",code_interpreter:"Running code...",[z.TOOL.WEATHER]:"Checking the weather...",[z.TOOL.POLLUTION]:"Fetching air pollution data...",[z.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[z.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[z.TOOL.WEBSEARCH]:"Searching the web...",[z.TOOL.GITREPOSITORY]:"Looking up repository...",[z.TOOL.HOTELS]:"Searching for hotels...",[z.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[z.TOOL.GENERATE_IMAGE]:"Generating image...",[z.TOOL.BARCODE]:"Looking up product...",[z.TOOL.PRONUNCIATION]:"Generating pronunciation...",[z.TOOL.HUMANIZE]:"Rewriting text...",[z.TOOL.IMAGES]:"Searching for images..."},Z="Using tools...",j=5e4,q=16384,J=4,Q="context-compression-summary",$=e=>{for(let[t,E]of Object.entries(F))if(E.some(t=>e.startsWith(t)))return t;return null},ee=e=>{if(!e||0===e.length)return[];let t=new Set;for(let E of e)for(let[e,n]of Object.entries(B))n.includes(E)&&(e===O||e===i||e===o)&&t.add(e);return L.filter(e=>t.has(e))},et=e=>{let t=new Map;if(!e||0===e.length)return t;for(let E of e)for(let[e,n]of Object.entries(B))if(n.includes(E)){t.has(e)||t.set(e,[]),t.get(e)?.push(E);break}return t},eE=e=>{for(let t of et(e).values())if(t.length>1)return!0;return!1},en=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function er(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 ea(e){return y.includes(e)}var eO="subtle";export{f as ALL_MODELS,L as ALL_PROVIDERS,y as ALL_REASONING_MODELS,k as APPLICATION_NAME,F as APPROXIMATE_MODELS_PER_PROVIDER,z as CAPABILITIES,J as CONTEXT_COMPRESSION_KEEP_RECENT,Q as CONTEXT_COMPRESSION_SUMMARY_ID,j as CONTEXT_COMPRESSION_THRESHOLD,A as DEFAULT_PROVIDER,Z as DEFAULT_TOOL_LOADING_LABEL,w as DIGGIDY_CHAT_ID_HEADER,b as DIGGIDY_CHAT_TIMESTAMP_HEADER,q as MAX_OUTPUT_TOKENS,B as MODELS_PER_PROVIDER,G as MODEL_CHAT_SUMMARY,N as MODEL_CLAUDE_HAIKU,S as MODEL_CLAUDE_OPUS,g as MODEL_CLAUDE_SONNET,h as MODEL_DEV,H as MODEL_DISPLAY_NAMES,m as MODEL_EMBEDDING_TEXT,D as MODEL_GEMINI_FLASH,d as MODEL_GEMINI_PRO,U as MODEL_GENERATE_IMAGE,P as MODEL_GPT4_NANO,l as MODEL_GPT5,I as MODEL_GPT5_MINI,M as MODEL_GPT5_NANO,p as MODEL_MEMORY_INFERENCE,u as MODEL_SONAR,c as MODEL_SONAR_PRO,C as MODEL_TEACHER,x as PLAN_BASIC,W as PLAN_PLUS,X as PLAN_PREMIUM,i as PROVIDER_ANTHROPIC,o as PROVIDER_GOOGLE,s as PROVIDER_MEMORY,R as PROVIDER_MISTRAL,O as PROVIDER_OPENAI,_ as PROVIDER_PERPLEXITY,v as PROVIDER_ROLE_MAP,T as PROVIDER_SUMMARY,a as ROLE_ASSISTANT,n as ROLE_SYSTEM,r as ROLE_USER,Y as SORT_BY_TIMESTAMP,V as SORT_BY_TOKEN_USAGE,e as THEME_STANDARD,K as TOOL_LOADING_LABELS,$ as findProvider,et as getModelsGroupedByProvider,ee as getProvidersFromModels,eE as hasMultipleModelsPerProvider,er as isEntitled,en as isModelAllowedForPlan,ea as isReasoningModel,eO 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.35.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": "3ff37e3765908bb4a2a087ceb49234e25dd96546"
36
36
  }