@versini/sassysaint-common 4.34.0 → 4.34.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
@@ -386,6 +386,13 @@ export declare const isModelAllowedForPlan: (selectedModel: string | undefined |
386
386
  */
387
387
  export declare function isReasoningModel(model: string): boolean;
388
388
 
389
+ /**
390
+ * Cap per-step output tokens for streamText(). 16,384 is generous enough
391
+ * for any normal response but prevents runaway generation that burns
392
+ * tokens silently when the model loops or hits provider limits.
393
+ */
394
+ export declare const MAX_OUTPUT_TOKENS = 16384;
395
+
389
396
  export declare const MODEL_CHAT_SUMMARY = "gpt-5.4-nano";
390
397
 
391
398
  export declare const MODEL_CLAUDE_HAIKU = "claude-haiku-4-5";
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",l=o,M=[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",L="claude-haiku-4-5",N="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",[L]:"Claude Haiku 4.5",[g]:"Gemini 3.1 Pro",[N]:"Gemini 3 Flash",[u]:"Sonar",[c]:"Sonar Pro",[H]:"Nano Banana 3 Pro",[h]:"Mistral Large"},U=[P,T,I,D,d,L,N,g,H],y=[P,T,I,D,d,g],v={[o]:[S,P,T,I],[i]:[D,L,d],[s]:[N,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",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"}},z=5e4,K=4,Z="context-compression-summary",q=e=>{for(let[t,E]of Object.entries(V))if(E.some(t=>e.startsWith(t)))return t;return null},J=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 M.filter(e=>t.has(e))},Q=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},$=e=>{for(let t of Q(e).values())if(t.length>1)return!0;return!1},ee=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function et(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 eE(e){return y.includes(e)}var er="subtle";export{U as ALL_MODELS,M as ALL_PROVIDERS,y as ALL_REASONING_MODELS,x as APPLICATION_NAME,V as APPROXIMATE_MODELS_PER_PROVIDER,j as CAPABILITIES,K as CONTEXT_COMPRESSION_KEEP_RECENT,Z as CONTEXT_COMPRESSION_SUMMARY_ID,z as CONTEXT_COMPRESSION_THRESHOLD,l as DEFAULT_PROVIDER,Y as DIGGIDY_CHAT_ID_HEADER,F as DIGGIDY_CHAT_TIMESTAMP_HEADER,v as MODELS_PER_PROVIDER,p as MODEL_CHAT_SUMMARY,L 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,N 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,q as findProvider,Q as getModelsGroupedByProvider,J as getProvidersFromModels,$ as hasMultipleModelsPerProvider,et as isEntitled,ee as isModelAllowedForPlan,eE as isReasoningModel,er 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 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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint-common",
3
- "version": "4.34.0",
3
+ "version": "4.34.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": "4165d84b0864d5c69e0571fbfe8f452ab8c703b4"
35
+ "gitHead": "30b76679108a574d32fbc9002929a86ed4c8b2d7"
36
36
  }