@versini/sassysaint-common 4.51.0 → 4.52.1

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
@@ -81,6 +81,7 @@ export declare const CAPABILITIES: {
81
81
  readonly HOTELS: "getHotelDetails";
82
82
  readonly LOCAL_BUSINESSES: "getLocalBusinesses";
83
83
  readonly PRODUCTS: "getProducts";
84
+ readonly REVIEW_TRUST: "getReviewTrust";
84
85
  readonly STREAMING_PICKS: "getStreamingPicks";
85
86
  readonly PRONUNCIATION: "getPronunciation";
86
87
  readonly FRENCH_TEACHINGS: "getFrenchTeachings";
@@ -295,11 +296,10 @@ export declare const getProvidersFromModels: (models: string[]) => Array<typeof
295
296
  /**
296
297
  * "Hard" categories — durable, high-trust attributes of the user (name/role,
297
298
  * demographics/family, requirements, profession) that the system has always
298
- * captured well. These auto-persist. Every other category is "soft" (vague
299
- * preferences, one-off interests, behavioral asides) and only persists on an
300
- * explicit "remember this" or after being seen in enough distinct chats — the
301
- * precision-first stance (see `isPersistable`). Subset of {@link
302
- * MEMORY_CATEGORIES}.
299
+ * captured well. These auto-persist regardless of confidence. Every other
300
+ * category is "soft" (vague preferences, one-off interests, behavioral asides)
301
+ * and persists on an explicit "remember this" or at/above the soft confidence
302
+ * floor (see `isPersistable`). Subset of {@link MEMORY_CATEGORIES}.
303
303
  */
304
304
  export declare const HARD_CATEGORIES: readonly ["identity", "bio", "constraint", "professional"];
305
305
 
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",s="Google",T="Summary",R="Memory",A="Perplexity",S=a,I=[a,_,s],M="gpt-5.6-terra",l="gpt-5.4-mini",L="gpt-5.4-nano",P="claude-opus-5",g="claude-sonnet-5",N="claude-haiku-4-5",c="gemini-3.6-flash",D="gemini-3.5-flash-lite",d="sonar",u="sonar-pro",C="perplexity-search",h="openai/gpt-oss-20b:free",p="gpt-5.4-mini",m="gpt-5.4-nano",G="gemini-3.5-flash-lite",H="gemini-3.6-flash",U="gpt-5.6-terra",f="gpt-5.4-mini",y="text-embedding-3-small",B="gemini-3-pro-image",Y=5,b=1e4,F=3e3,v={[M]:"GPT-5.6 Terra",[l]:"GPT-5.4 Mini",[L]:"GPT-5.4 Nano",[P]:"Claude Opus 5",[g]:"Claude Sonnet 5",[N]:"Claude Haiku 4.5",[c]:"Gemini 3.6 Flash",[D]:"Gemini 3.5 Flash-Lite",[d]:"Sonar",[u]:"Sonar Pro",[C]:"Perplexity Search",[B]:"Nano Banana 3 Pro"},w=[M,l,L,P,g,N,D,c,B],V=[M,l,L,P,g,c,D],X={[a]:[M,l,L],[_]:[P,N,g],[s]:[D,c],[A]:[d,u,C]},W={[a]:[r,i,o],[_]:[i,o],[T]:[i,o],[R]:[i,o],[s]:[i,o],[A]:[i,o]},k={[_]:["claude-opus-5","claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[s]:["gemini"],[A]:["sonar"]},x="x-diggidy-chat-id",K="x-diggidy-chat-timestamp",Z="complete",z="timestamp",j="tokenUsage",Q="Diggidy",$="sassy:basic",q="sassy:plus",J="sassy:advanced",ee={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",LOCAL_BUSINESSES:"getLocalBusinesses",PRODUCTS:"getProducts",STREAMING_PICKS:"getStreamingPicks",PRONUNCIATION:"getPronunciation",FRENCH_TEACHINGS:"getFrenchTeachings"},ADDON:{ATTACHMENTS:"addon:attachments",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},et={code_interpreter:"Running code...",web_search:"Searching the web...",[ee.TOOL.WEATHER]:"Checking the weather...",[ee.TOOL.POLLUTION]:"Fetching air pollution data...",[ee.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[ee.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[ee.TOOL.WEBSEARCH]:"Searching the web...",[ee.TOOL.GITREPOSITORY]:"Looking up repository...",[ee.TOOL.HOTELS]:"Searching for hotels...",[ee.TOOL.LOCAL_BUSINESSES]:"Searching for local businesses...",[ee.TOOL.PRODUCTS]:"Searching for products...",[ee.TOOL.STREAMING_PICKS]:"Finding movies to stream...",[ee.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[ee.TOOL.GENERATE_IMAGE]:"Generating image...",[ee.TOOL.BARCODE]:"Looking up product...",[ee.TOOL.PRONUNCIATION]:"Generating pronunciation...",[ee.TOOL.HUMANIZE]:"Rewriting text...",[ee.TOOL.IMAGES]:"Searching for images..."},eE="Using tools...",eO=5e4,en=1e5,er=8e5;function ei(e){return e===J?er:en}let eo=16384,ea=4,e_=3,es="context-compression-summary",eT=new Set(["OpenAI",_,"Google"]);function eR(e){return"string"==typeof e&&eT.has(e)}let eA=/^auto \((.+)\)$/;function eS(e){let t=e.match(eA);return t?t[1]:e}let eI=e=>{for(let[t,E]of Object.entries(k))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(X))O.includes(E)&&("OpenAI"===e||e===_||"Google"===e)&&t.add(e);return I.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(X))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},eP=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eg(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 eN(e){return V.includes(e)}export{w as ALL_MODELS,I as ALL_PROVIDERS,V as ALL_REASONING_MODELS,Q as APPLICATION_NAME,k as APPROXIMATE_MODELS_PER_PROVIDER,ee as CAPABILITIES,Z as CHAT_COMPLETION_MARKER_KEY,en as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD,er as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD_PREMIUM,e_ as CONTEXT_COMPRESSION_KEEP_IMAGES,ea as CONTEXT_COMPRESSION_KEEP_RECENT,es as CONTEXT_COMPRESSION_SUMMARY_ID,eO as CONTEXT_COMPRESSION_THRESHOLD,S as DEFAULT_PROVIDER,eE as DEFAULT_TOOL_LOADING_LABEL,x as DIGGIDY_CHAT_ID_HEADER,K as DIGGIDY_CHAT_TIMESTAMP_HEADER,t as HARD_CATEGORIES,eo as MAX_OUTPUT_TOKENS,Y as MAX_SEARCH_QUERIES,e as MEMORY_CATEGORIES,X 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,v as MODEL_DISPLAY_NAMES,y as MODEL_EMBEDDING_TEXT,B as MODEL_GENERATE_IMAGE,D as MODEL_GOOGLE_MEDIUM,c as MODEL_GOOGLE_TOP,U as MODEL_HUMANIZE_AUDIT,H as MODEL_HUMANIZE_REWRITE,p as MODEL_MEMORY_INFERENCE,f as MODEL_NUTRITION_SEARCH,L as MODEL_OPENAI_LOW,l as MODEL_OPENAI_MEDIUM,M as MODEL_OPENAI_TOP,C as MODEL_PERPLEXITY_SEARCH,G as MODEL_SEARCH_DECOMPOSER,d as MODEL_SONAR,u as MODEL_SONAR_PRO,$ as PLAN_BASIC,q as PLAN_PLUS,J as PLAN_PREMIUM,_ as PROVIDER_ANTHROPIC,s as PROVIDER_GOOGLE,R as PROVIDER_MEMORY,a as PROVIDER_OPENAI,A as PROVIDER_PERPLEXITY,W as PROVIDER_ROLE_MAP,T as PROVIDER_SUMMARY,o as ROLE_ASSISTANT,r as ROLE_SYSTEM,i as ROLE_USER,F as SEARCH_DECOMPOSE_TIMEOUT_MS,b as SEARCH_QUERY_TIMEOUT_MS,z as SORT_BY_TIMESTAMP,j as SORT_BY_TOKEN_USAGE,et as TOOL_LOADING_LABELS,eI as findProvider,ei as getCompressionEmergencyThreshold,el as getModelsGroupedByProvider,eM as getProvidersFromModels,eL as hasMultipleModelsPerProvider,eg as isEntitled,E as isHardCategory,eP as isModelAllowedForPlan,eR as isRealProvider,eN as isReasoningModel,eS 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",T="Anthropic",_="Google",s="Summary",R="Memory",S="Perplexity",A=a,I=[a,T,_],L="gpt-5.6-terra",M="gpt-5.4-mini",l="gpt-5.4-nano",P="claude-opus-5",g="claude-sonnet-5",N="claude-haiku-4-5",c="gemini-3.6-flash",D="gemini-3.5-flash-lite",d="sonar",u="sonar-pro",C="perplexity-search",h="openai/gpt-oss-20b:free",p="gpt-5.4-mini",m="gpt-5.4-nano",G="gemini-3.5-flash-lite",U="gemini-3.6-flash",H="gpt-5.6-terra",f="gpt-5.4-mini",y="text-embedding-3-small",B="gemini-3-pro-image",Y=5,b=1e4,v=3e3,F={[L]:"GPT-5.6 Terra",[M]:"GPT-5.4 Mini",[l]:"GPT-5.4 Nano",[P]:"Claude Opus 5",[g]:"Claude Sonnet 5",[N]:"Claude Haiku 4.5",[c]:"Gemini 3.6 Flash",[D]:"Gemini 3.5 Flash-Lite",[d]:"Sonar",[u]:"Sonar Pro",[C]:"Perplexity Search",[B]:"Nano Banana 3 Pro"},w=[L,M,l,P,g,N,D,c,B],V=[L,M,l,P,g,c,D],W={[a]:[L,M,l],[T]:[P,N,g],[_]:[D,c],[S]:[d,u,C]},X={[a]:[r,i,o],[T]:[i,o],[s]:[i,o],[R]:[i,o],[_]:[i,o],[S]:[i,o]},k={[T]:["claude-opus-5","claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[_]:["gemini"],[S]:["sonar"]},x="x-diggidy-chat-id",K="x-diggidy-chat-timestamp",Z="complete",z="timestamp",j="tokenUsage",Q="Diggidy",$="sassy:basic",q="sassy:plus",J="sassy:advanced",ee={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",LOCAL_BUSINESSES:"getLocalBusinesses",PRODUCTS:"getProducts",REVIEW_TRUST:"getReviewTrust",STREAMING_PICKS:"getStreamingPicks",PRONUNCIATION:"getPronunciation",FRENCH_TEACHINGS:"getFrenchTeachings"},ADDON:{ATTACHMENTS:"addon:attachments",CODEINTERPRETER:"addon:codeinterpreter",SHARE_CHAT:"addon:share-chat"}},et={code_interpreter:"Running code...",web_search:"Searching the web...",[ee.TOOL.WEATHER]:"Checking the weather...",[ee.TOOL.POLLUTION]:"Fetching air pollution data...",[ee.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[ee.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[ee.TOOL.WEBSEARCH]:"Searching the web...",[ee.TOOL.GITREPOSITORY]:"Looking up repository...",[ee.TOOL.HOTELS]:"Searching for hotels...",[ee.TOOL.LOCAL_BUSINESSES]:"Searching for local businesses...",[ee.TOOL.PRODUCTS]:"Searching for products...",[ee.TOOL.REVIEW_TRUST]:"Checking reviews...",[ee.TOOL.STREAMING_PICKS]:"Finding movies to stream...",[ee.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[ee.TOOL.GENERATE_IMAGE]:"Generating image...",[ee.TOOL.BARCODE]:"Looking up product...",[ee.TOOL.PRONUNCIATION]:"Generating pronunciation...",[ee.TOOL.HUMANIZE]:"Rewriting text...",[ee.TOOL.IMAGES]:"Searching for images..."},eE="Using tools...",eO=5e4,en=1e5,er=8e5;function ei(e){return e===J?er:en}let eo=16384,ea=4,eT=3,e_="context-compression-summary",es=new Set(["OpenAI",T,"Google"]);function eR(e){return"string"==typeof e&&es.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(k))if(E.some(t=>e.startsWith(t)))return t;return null},eL=e=>{if(!e||0===e.length)return[];let t=new Set;for(let E of e)for(let[e,O]of Object.entries(W))O.includes(E)&&("OpenAI"===e||e===T||"Google"===e)&&t.add(e);return I.filter(e=>t.has(e))},eM=e=>{let t=new Map;if(!e||0===e.length)return t;for(let E of e)for(let[e,O]of Object.entries(W))if(O.includes(E)){t.has(e)||t.set(e,[]),t.get(e)?.push(E);break}return t},el=e=>{for(let t of eM(e).values())if(t.length>1)return!0;return!1},eP=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eg(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 eN(e){return V.includes(e)}export{w as ALL_MODELS,I as ALL_PROVIDERS,V as ALL_REASONING_MODELS,Q as APPLICATION_NAME,k as APPROXIMATE_MODELS_PER_PROVIDER,ee as CAPABILITIES,Z as CHAT_COMPLETION_MARKER_KEY,en as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD,er as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD_PREMIUM,eT as CONTEXT_COMPRESSION_KEEP_IMAGES,ea as CONTEXT_COMPRESSION_KEEP_RECENT,e_ as CONTEXT_COMPRESSION_SUMMARY_ID,eO as CONTEXT_COMPRESSION_THRESHOLD,A as DEFAULT_PROVIDER,eE as DEFAULT_TOOL_LOADING_LABEL,x as DIGGIDY_CHAT_ID_HEADER,K as DIGGIDY_CHAT_TIMESTAMP_HEADER,t as HARD_CATEGORIES,eo as MAX_OUTPUT_TOKENS,Y as MAX_SEARCH_QUERIES,e as MEMORY_CATEGORIES,W 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,B as MODEL_GENERATE_IMAGE,D as MODEL_GOOGLE_MEDIUM,c as MODEL_GOOGLE_TOP,H as MODEL_HUMANIZE_AUDIT,U as MODEL_HUMANIZE_REWRITE,p as MODEL_MEMORY_INFERENCE,f as MODEL_NUTRITION_SEARCH,l as MODEL_OPENAI_LOW,M as MODEL_OPENAI_MEDIUM,L as MODEL_OPENAI_TOP,C as MODEL_PERPLEXITY_SEARCH,G as MODEL_SEARCH_DECOMPOSER,d as MODEL_SONAR,u as MODEL_SONAR_PRO,$ as PLAN_BASIC,q as PLAN_PLUS,J as PLAN_PREMIUM,T as PROVIDER_ANTHROPIC,_ as PROVIDER_GOOGLE,R as PROVIDER_MEMORY,a as PROVIDER_OPENAI,S as PROVIDER_PERPLEXITY,X as PROVIDER_ROLE_MAP,s as PROVIDER_SUMMARY,o as ROLE_ASSISTANT,r as ROLE_SYSTEM,i as ROLE_USER,v as SEARCH_DECOMPOSE_TIMEOUT_MS,b as SEARCH_QUERY_TIMEOUT_MS,z as SORT_BY_TIMESTAMP,j as SORT_BY_TOKEN_USAGE,et as TOOL_LOADING_LABELS,eI as findProvider,ei as getCompressionEmergencyThreshold,eM as getModelsGroupedByProvider,eL as getProvidersFromModels,el as hasMultipleModelsPerProvider,eg as isEntitled,E as isHardCategory,eP as isModelAllowedForPlan,eR as isRealProvider,eN 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.51.0",
3
+ "version": "4.52.1",
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": "03aa225d8eaf12129f7bb5a7a57286a94cc5cf1f"
35
+ "gitHead": "12e66b87e24d38af7c17cad02077bcbb5f171c8a"
36
36
  }