@versini/sassysaint-common 4.19.0 → 4.21.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
@@ -20,7 +20,7 @@ export declare enum ActionColor {
20
20
  * List of all models available TODAY. This is used by the client to display the
21
21
  * list of models.
22
22
  */
23
- export declare const ALL_MODELS: readonly ["gpt-5.2", "gpt-5-mini", "gpt-5-nano", "claude-haiku-4-5", "claude-sonnet-4-5", "gemini-3-flash-preview", "gemini-3-pro-preview"];
23
+ export declare const ALL_MODELS: readonly ["gpt-5.2", "gpt-5-mini", "gpt-5-nano", "claude-haiku-4-5", "claude-sonnet-4-5", "gemini-3-flash-preview", "gemini-3-pro-preview", "gemini-3-pro-image-preview"];
24
24
 
25
25
  export declare const ALL_PROVIDERS: readonly ["OpenAI", "Anthropic", "Google"];
26
26
 
@@ -51,6 +51,7 @@ export declare const APPROXIMATE_MODELS_PER_PROVIDER: {
51
51
  export declare const CAPABILITIES: {
52
52
  readonly TOOL: {
53
53
  readonly DATETIME: "getDateTime";
54
+ readonly GENERATE_IMAGE: "generateImage";
54
55
  readonly IMAGES: "getImages";
55
56
  readonly POLLUTION: "getAirPollution";
56
57
  readonly WEATHER: "getWeather";
@@ -65,6 +66,7 @@ export declare const CAPABILITIES: {
65
66
  readonly ATTACHMENTS: "addon:attachments";
66
67
  readonly REASONING: "addon:reasoning";
67
68
  readonly CODEINTERPRETER: "addon:codeinterpreter";
69
+ readonly SHARE_CHAT: "addon:share-chat";
68
70
  };
69
71
  };
70
72
 
@@ -81,6 +83,7 @@ export declare type CapabilityInput = string | readonly string[];
81
83
  *
82
84
  * Partial mapping allows themes to define only the colors they want to
83
85
  * customize, while inheriting defaults for undefined colors.
86
+ *
84
87
  */
85
88
  export declare type ColorMap = Partial<Record<ActionColor, string>>;
86
89
 
@@ -336,9 +339,9 @@ declare interface IsEntitledOptions {
336
339
  export declare const isModelAllowedForPlan: (selectedModel: string | undefined | null, allowedModels: string[]) => boolean;
337
340
 
338
341
  /**
339
- * Checks if a given model is classified as a reasoning-capable model.
340
- * This function is used to determine if advanced reasoning features
341
- * should be enabled based on the selected AI model.
342
+ * Checks if a given model is classified as a reasoning-capable model. This
343
+ * function is used to determine if advanced reasoning features should be
344
+ * enabled based on the selected AI model.
342
345
  *
343
346
  * @param model - The model name to check.
344
347
  * @returns True if the model is in the list of reasoning models, false otherwise.
@@ -370,6 +373,8 @@ export declare const MODEL_GEMINI_FLASH = "gemini-3-flash-preview";
370
373
 
371
374
  export declare const MODEL_GEMINI_PRO = "gemini-3-pro-preview";
372
375
 
376
+ export declare const MODEL_GENERATE_IMAGE = "gemini-3-pro-image-preview";
377
+
373
378
  export declare const MODEL_GPT4_NANO = "gpt-4.1-nano";
374
379
 
375
380
  /**
@@ -480,6 +485,7 @@ export declare type ThemeMode = "standard" | "subtle";
480
485
  *
481
486
  * Both modes use Tailwind dark: prefixes for automatic color scheme adaptation
482
487
  * at runtime. The client does not need to index by color scheme.
488
+ *
483
489
  */
484
490
  export declare interface ThemePalette {
485
491
  normal: Palette;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- let e="standard";var t,r=((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 E="system",n="user",o="assistant",a="OpenAI",i="Anthropic",s="Google",O="Summary",_="Memory",l="Perplexity",P=a,R=[a,i,s],A="gpt-5.2",M="gpt-5-mini",d="gpt-5-nano",D="gpt-4.1-nano",L="claude-haiku-4-5",I="claude-sonnet-4-5",T="gemini-3-flash-preview",S="gemini-3-pro-preview",g="sonar",N="sonar-pro",u="openai/gpt-oss-20b:free",h="gpt-4o-mini",p="text-embedding-3-small",c={[A]:"GPT-5.2",[M]:"GPT-5 Mini",[d]:"GPT-5 Nano",[D]:"GPT-4.1 Nano",[L]:"Claude Haiku 4.5",[I]:"Claude Sonnet 4.5",[T]:"Gemini 3 Flash",[S]:"Gemini 3 Pro",[g]:"Sonar",[N]:"Sonar Pro"},m=[A,M,d,L,I,T,S],f=[A,M,d,I,S],G={[a]:[D,A,M,d],[i]:[L,I],[s]:[T,S],[l]:[g,N]},C={[a]:[E,n,o],[i]:[n,o],[O]:[n,o],[_]:[n,o],[s]:[n,o],[l]:[n,o]},H={[i]:["claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[s]:["gemini"],[l]:["sonar"]},U="x-diggidy-chat-id",y="timestamp",v="tokenUsage",V="Diggidy",b="sassy:basic",Y="sassy:plus",w="sassy:advanced",B={TOOL:{DATETIME:"getDateTime",IMAGES:"getImages",POLLUTION:"getAirPollution",WEATHER:"getWeather",URLCONTENTPARSER:"getUrlContent",MEMORIES:"getUserMemories",HUMANIZE:"humanize",WEBSEARCH:"getWebSearch",GITREPOSITORY:"getGitRepoDetails",HOTELS:"getHotelDetails"},ADDON:{ATTACHMENTS:"addon:attachments",REASONING:"addon:reasoning",CODEINTERPRETER:"addon:codeinterpreter"}},F=e=>{for(let[t,r]of Object.entries(H))if(r.some(t=>e.startsWith(t)))return t;return null},k=e=>{if(!e||0===e.length)return[];let t=new Set;for(let r of e)for(let[e,E]of Object.entries(G))E.includes(r)&&(e===a||e===i||e===s)&&t.add(e);return R.filter(e=>t.has(e))},x=e=>{let t=new Map;if(!e||0===e.length)return t;for(let r of e)for(let[e,E]of Object.entries(G))if(E.includes(r)){t.has(e)||t.set(e,[]),t.get(e)?.push(r);break}return t},W=e=>{for(let t of x(e).values())if(t.length>1)return!0;return!1},j=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function X(e,t,r){if(!t||Array.isArray(t)&&0===t.length)return!0;let E=e instanceof Set?e:e?new Set(e):null;return!!E&&0!==E.size&&("string"==typeof t?E.has(t):r?.any===!0?t.some(e=>E.has(e)):t.every(e=>E.has(e)))}function z(e){return f.includes(e)}var K="subtle";export{m as ALL_MODELS,R as ALL_PROVIDERS,f as ALL_REASONING_MODELS,V as APPLICATION_NAME,H as APPROXIMATE_MODELS_PER_PROVIDER,r as ActionColor,B as CAPABILITIES,P as DEFAULT_PROVIDER,U as DIGGIDY_CHAT_ID_HEADER,G as MODELS_PER_PROVIDER,L as MODEL_CLAUDE_HAIKU,I as MODEL_CLAUDE_SONNET,u as MODEL_DEV,c as MODEL_DISPLAY_NAMES,p as MODEL_EMBEDDING_TEXT,T as MODEL_GEMINI_FLASH,S as MODEL_GEMINI_PRO,D as MODEL_GPT4_NANO,A as MODEL_GPT5,M as MODEL_GPT5_MINI,d as MODEL_GPT5_NANO,h as MODEL_MEMORY_INFERENCE,g as MODEL_SONAR,N as MODEL_SONAR_PRO,b as PLAN_BASIC,Y as PLAN_PLUS,w as PLAN_PREMIUM,i as PROVIDER_ANTHROPIC,s as PROVIDER_GOOGLE,_ as PROVIDER_MEMORY,a as PROVIDER_OPENAI,l as PROVIDER_PERPLEXITY,C as PROVIDER_ROLE_MAP,O as PROVIDER_SUMMARY,o as ROLE_ASSISTANT,E as ROLE_SYSTEM,n as ROLE_USER,y as SORT_BY_TIMESTAMP,v as SORT_BY_TOKEN_USAGE,e as THEME_STANDARD,F as findProvider,x as getModelsGroupedByProvider,k as getProvidersFromModels,W as hasMultipleModelsPerProvider,X as isEntitled,j as isModelAllowedForPlan,z as isReasoningModel,K as THEME_SUBTLE};
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",n="user",o="assistant",a="OpenAI",i="Anthropic",s="Google",O="Summary",_="Memory",R="Perplexity",l=a,A=[a,i,s],P="gpt-5.2",M="gpt-5-mini",d="gpt-5-nano",I="gpt-4.1-nano",D="claude-haiku-4-5",L="claude-sonnet-4-5",T="gemini-3-flash-preview",S="gemini-3-pro-preview",g="sonar",N="sonar-pro",u="openai/gpt-oss-20b:free",h="gpt-4o-mini",m="text-embedding-3-small",c="gemini-3-pro-image-preview",p={[P]:"GPT-5.2",[M]:"GPT-5 Mini",[d]:"GPT-5 Nano",[I]:"GPT-4.1 Nano",[D]:"Claude Haiku 4.5",[L]:"Claude Sonnet 4.5",[T]:"Gemini 3 Flash",[S]:"Gemini 3 Pro",[g]:"Sonar",[N]:"Sonar Pro",[c]:"Nano Banana Pro"},G=[P,M,d,D,L,T,S,c],f=[P,M,d,L,S],C={[a]:[I,P,M,d],[i]:[D,L],[s]:[T,S],[R]:[g,N]},H={[a]:[r,n,o],[i]:[n,o],[O]:[n,o],[_]:[n,o],[s]:[n,o],[R]:[n,o]},U={[i]:["claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[s]:["gemini"],[R]:["sonar"]},v="x-diggidy-chat-id",y="timestamp",V="tokenUsage",B="Diggidy",Y="sassy:basic",b="sassy:plus",w="sassy:advanced",F={TOOL:{DATETIME:"getDateTime",GENERATE_IMAGE:"generateImage",IMAGES:"getImages",POLLUTION:"getAirPollution",WEATHER:"getWeather",URLCONTENTPARSER:"getUrlContent",MEMORIES:"getUserMemories",HUMANIZE:"humanize",WEBSEARCH:"getWebSearch",GITREPOSITORY:"getGitRepoDetails",HOTELS:"getHotelDetails"},ADDON:{ATTACHMENTS:"addon:attachments",REASONING:"addon:reasoning",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},k=e=>{for(let[t,E]of Object.entries(U))if(E.some(t=>e.startsWith(t)))return t;return null},W=e=>{if(!e||0===e.length)return[];let t=new Set;for(let E of e)for(let[e,r]of Object.entries(C))r.includes(E)&&(e===a||e===i||e===s)&&t.add(e);return A.filter(e=>t.has(e))},x=e=>{let t=new Map;if(!e||0===e.length)return t;for(let E of e)for(let[e,r]of Object.entries(C))if(r.includes(E)){t.has(e)||t.set(e,[]),t.get(e)?.push(E);break}return t},j=e=>{for(let t of x(e).values())if(t.length>1)return!0;return!1},X=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function z(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 K(e){return f.includes(e)}var Z="subtle";export{G as ALL_MODELS,A as ALL_PROVIDERS,f as ALL_REASONING_MODELS,B as APPLICATION_NAME,U as APPROXIMATE_MODELS_PER_PROVIDER,F as CAPABILITIES,l as DEFAULT_PROVIDER,v as DIGGIDY_CHAT_ID_HEADER,C as MODELS_PER_PROVIDER,D as MODEL_CLAUDE_HAIKU,L as MODEL_CLAUDE_SONNET,u as MODEL_DEV,p as MODEL_DISPLAY_NAMES,m as MODEL_EMBEDDING_TEXT,T as MODEL_GEMINI_FLASH,S as MODEL_GEMINI_PRO,c as MODEL_GENERATE_IMAGE,I as MODEL_GPT4_NANO,P as MODEL_GPT5,M as MODEL_GPT5_MINI,d as MODEL_GPT5_NANO,h as MODEL_MEMORY_INFERENCE,g as MODEL_SONAR,N as MODEL_SONAR_PRO,Y as PLAN_BASIC,b as PLAN_PLUS,w as PLAN_PREMIUM,i as PROVIDER_ANTHROPIC,s as PROVIDER_GOOGLE,_ as PROVIDER_MEMORY,a as PROVIDER_OPENAI,R as PROVIDER_PERPLEXITY,H as PROVIDER_ROLE_MAP,O as PROVIDER_SUMMARY,o as ROLE_ASSISTANT,r as ROLE_SYSTEM,n as ROLE_USER,y as SORT_BY_TIMESTAMP,V as SORT_BY_TOKEN_USAGE,e as THEME_STANDARD,k as findProvider,x as getModelsGroupedByProvider,W as getProvidersFromModels,j as hasMultipleModelsPerProvider,z as isEntitled,X as isModelAllowedForPlan,K as isReasoningModel,Z 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.19.0",
3
+ "version": "4.21.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": "f3d6f1df5a5f12d19d1147a0611883b46c0e30e8"
35
+ "gitHead": "ca5760465d96b9047194351698b65d2bd0f7e9f9"
36
36
  }