@versini/sassysaint-common 4.36.0 → 4.37.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 +38 -0
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -397,6 +397,19 @@ export declare const MAX_OUTPUT_TOKENS = 16384;
|
|
|
397
397
|
|
|
398
398
|
export declare const MAX_SEARCH_QUERIES = 5;
|
|
399
399
|
|
|
400
|
+
export declare const MODEL_AUTO_ROUTER_ANTHROPIC = "claude-haiku-4-5";
|
|
401
|
+
|
|
402
|
+
export declare const MODEL_AUTO_ROUTER_GOOGLE = "gemini-3-flash-preview";
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Classifier models used by the Auto routing feature. One per real provider
|
|
406
|
+
* to preserve brand-loyalty (Anthropic-preferred users get an Anthropic
|
|
407
|
+
* classifier, etc.) and to let provider-native prompt caching hit on the
|
|
408
|
+
* classifier system prompt. Aliases of existing cheap models — adding
|
|
409
|
+
* dedicated constants makes the intent explicit at the classifier call site.
|
|
410
|
+
*/
|
|
411
|
+
export declare const MODEL_AUTO_ROUTER_OPENAI = "gpt-5.4-nano";
|
|
412
|
+
|
|
400
413
|
export declare const MODEL_CHAT_SUMMARY = "gpt-5.4-nano";
|
|
401
414
|
|
|
402
415
|
export declare const MODEL_CLAUDE_HAIKU = "claude-haiku-4-5";
|
|
@@ -472,6 +485,15 @@ export declare const PLAN_PREMIUM = "sassy:advanced";
|
|
|
472
485
|
|
|
473
486
|
export declare const PROVIDER_ANTHROPIC = "Anthropic";
|
|
474
487
|
|
|
488
|
+
/**
|
|
489
|
+
* Pseudo-provider value exposed in the UI for the Auto routing feature. When
|
|
490
|
+
* a request carries `provider: "Auto"`, the server resolves it to a real
|
|
491
|
+
* provider via `resolveEffectiveProvider` BEFORE any enum-keyed lookup
|
|
492
|
+
* (`MODELS_PER_PROVIDER`, `PROVIDER_ROLE_MAP`, `getModel` branches). This
|
|
493
|
+
* value MUST NOT appear in those maps.
|
|
494
|
+
*/
|
|
495
|
+
export declare const PROVIDER_AUTO = "Auto";
|
|
496
|
+
|
|
475
497
|
export declare const PROVIDER_GOOGLE = "Google";
|
|
476
498
|
|
|
477
499
|
export declare const PROVIDER_MEMORY = "Memory";
|
|
@@ -500,6 +522,15 @@ export declare const PROVIDER_ROLE_MAP: {
|
|
|
500
522
|
|
|
501
523
|
export declare const PROVIDER_SUMMARY = "Summary";
|
|
502
524
|
|
|
525
|
+
/**
|
|
526
|
+
* Type of a real, SDK-instantiable provider. Use this as the parameter type on
|
|
527
|
+
* any function that performs enum-keyed lookups against `MODELS_PER_PROVIDER`,
|
|
528
|
+
* `PROVIDER_ROLE_MAP`, or provider-branched logic. The compiler rejects
|
|
529
|
+
* passing `PROVIDER_AUTO` here, preventing the pseudo-provider crash class at
|
|
530
|
+
* build time. Runtime guards stay as backup for any `as any` escape hatches.
|
|
531
|
+
*/
|
|
532
|
+
export declare type RealProvider = typeof PROVIDER_OPENAI | typeof PROVIDER_ANTHROPIC | typeof PROVIDER_GOOGLE | typeof PROVIDER_MISTRAL;
|
|
533
|
+
|
|
503
534
|
export declare const ROLE_ASSISTANT = "assistant";
|
|
504
535
|
|
|
505
536
|
/**
|
|
@@ -555,4 +586,11 @@ export declare interface ThemePalette {
|
|
|
555
586
|
*/
|
|
556
587
|
export declare const TOOL_LOADING_LABELS: Record<string, string>;
|
|
557
588
|
|
|
589
|
+
/**
|
|
590
|
+
* Type of a provider value as it may arrive from the client in a request body.
|
|
591
|
+
* Includes the Auto pseudo-value. `resolveEffectiveProvider` is the single
|
|
592
|
+
* authoritative function for mapping `UserFacingProvider` to `RealProvider`.
|
|
593
|
+
*/
|
|
594
|
+
export declare type UserFacingProvider = RealProvider | typeof PROVIDER_AUTO;
|
|
595
|
+
|
|
558
596
|
export { }
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let e="standard";var t
|
|
1
|
+
let e="standard";var E,t=((E={})[E.NewChat=0]="NewChat",E[E.Prompts=1]="Prompts",E[E.Attachment=2]="Attachment",E[E.PrivateChat=3]="PrivateChat",E[E.Reasoning=4]="Reasoning",E[E.Send=5]="Send",E[E.Header=6]="Header",E[E.Provider=7]="Provider",E[E.Logo=8]="Logo",E[E.Placeholder=9]="Placeholder",E[E.Footer=10]="Footer",E);let O="system",n="user",r="assistant",a="OpenAI",i="Anthropic",o="Google",_="Summary",T="Memory",R="Perplexity",A="Mistral",s="Auto",L=a,M=[a,i,o],I="gpt-5.4",P="gpt-5.4-mini",S="gpt-5.4-nano",l="gpt-4.1-nano",g="claude-opus-4-6",N="claude-sonnet-4-6",D="claude-haiku-4-5",d="gemini-3-flash-preview",u="gemini-3.1-pro-preview",c="sonar",C="sonar-pro",h="openai/gpt-oss-20b:free",p="mistral-large-latest",U="gpt-5.4-nano",G="gpt-5.4-nano",m="gpt-5.4-mini",H="text-embedding-3-small",f="gemini-3-pro-image-preview",y=S,B=D,v=d,F=5,Y=1e4,V={[I]:"GPT-5.4",[P]:"GPT-5.4 Mini",[S]:"GPT-5.4 Nano",[l]:"GPT-4.1 Nano",[g]:"Claude Opus 4.6",[N]:"Claude Sonnet 4.6",[D]:"Claude Haiku 4.5",[u]:"Gemini 3.1 Pro",[d]:"Gemini 3 Flash",[c]:"Sonar",[C]:"Sonar Pro",[f]:"Nano Banana 3 Pro",[p]:"Mistral Large"},w=[I,P,S,g,N,D,d,u,f],b=[I,P,S,g,N,u],k={[a]:[l,I,P,S],[i]:[g,D,N],[o]:[d,u],[R]:[c,C]},X={[a]:[O,n,r],[i]:[n,r],[_]:[n,r],[T]:[n,r],[o]:[n,r],[R]:[n,r],[A]:[n,r]},x={[i]:["claude-opus-4","claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[o]:["gemini"],[R]:["sonar"],[A]:["mistral"]},W="x-diggidy-chat-id",z="x-diggidy-chat-timestamp",K="timestamp",Z="tokenUsage",j="Diggidy",Q="sassy:basic",q="sassy:plus",J="sassy:advanced",$={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"}},ee={code_interpreter:"Running code...",[$.TOOL.WEATHER]:"Checking the weather...",[$.TOOL.POLLUTION]:"Fetching air pollution data...",[$.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[$.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[$.TOOL.WEBSEARCH]:"Searching the web...",[$.TOOL.GITREPOSITORY]:"Looking up repository...",[$.TOOL.HOTELS]:"Searching for hotels...",[$.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[$.TOOL.GENERATE_IMAGE]:"Generating image...",[$.TOOL.BARCODE]:"Looking up product...",[$.TOOL.PRONUNCIATION]:"Generating pronunciation...",[$.TOOL.HUMANIZE]:"Rewriting text...",[$.TOOL.IMAGES]:"Searching for images..."},eE="Using tools...",et=5e4,eO=16384,en=4,er="context-compression-summary",ea=e=>{for(let[E,t]of Object.entries(x))if(t.some(E=>e.startsWith(E)))return E;return null},ei=e=>{if(!e||0===e.length)return[];let E=new Set;for(let t of e)for(let[e,O]of Object.entries(k))O.includes(t)&&(e===a||e===i||e===o)&&E.add(e);return M.filter(e=>E.has(e))},eo=e=>{let E=new Map;if(!e||0===e.length)return E;for(let t of e)for(let[e,O]of Object.entries(k))if(O.includes(t)){E.has(e)||E.set(e,[]),E.get(e)?.push(t);break}return E},e_=e=>{for(let E of eo(e).values())if(E.length>1)return!0;return!1},eT=(e,E)=>!!e&&!!E&&0!==E.length&&E.includes(e);function eR(e,E,t){if(!E||Array.isArray(E)&&0===E.length)return!0;let O=e instanceof Set?e:e?new Set(e):null;return!!O&&0!==O.size&&("string"==typeof E?O.has(E):t?.any===!0?E.some(e=>O.has(e)):E.every(e=>O.has(e)))}function eA(e){return b.includes(e)}var es="subtle";export{w as ALL_MODELS,M as ALL_PROVIDERS,b as ALL_REASONING_MODELS,j as APPLICATION_NAME,x as APPROXIMATE_MODELS_PER_PROVIDER,$ as CAPABILITIES,en as CONTEXT_COMPRESSION_KEEP_RECENT,er as CONTEXT_COMPRESSION_SUMMARY_ID,et as CONTEXT_COMPRESSION_THRESHOLD,L as DEFAULT_PROVIDER,eE as DEFAULT_TOOL_LOADING_LABEL,W as DIGGIDY_CHAT_ID_HEADER,z as DIGGIDY_CHAT_TIMESTAMP_HEADER,eO as MAX_OUTPUT_TOKENS,F as MAX_SEARCH_QUERIES,k as MODELS_PER_PROVIDER,B as MODEL_AUTO_ROUTER_ANTHROPIC,v as MODEL_AUTO_ROUTER_GOOGLE,y as MODEL_AUTO_ROUTER_OPENAI,G as MODEL_CHAT_SUMMARY,D as MODEL_CLAUDE_HAIKU,g as MODEL_CLAUDE_OPUS,N as MODEL_CLAUDE_SONNET,h as MODEL_DEV,V as MODEL_DISPLAY_NAMES,H as MODEL_EMBEDDING_TEXT,d as MODEL_GEMINI_FLASH,u as MODEL_GEMINI_PRO,f as MODEL_GENERATE_IMAGE,l as MODEL_GPT4_NANO,I as MODEL_GPT5,P as MODEL_GPT5_MINI,S as MODEL_GPT5_NANO,U as MODEL_MEMORY_INFERENCE,m as MODEL_SEARCH_DECOMPOSER,c as MODEL_SONAR,C as MODEL_SONAR_PRO,p as MODEL_TEACHER,Q as PLAN_BASIC,q as PLAN_PLUS,J as PLAN_PREMIUM,i as PROVIDER_ANTHROPIC,s as PROVIDER_AUTO,o as PROVIDER_GOOGLE,T as PROVIDER_MEMORY,A as PROVIDER_MISTRAL,a as PROVIDER_OPENAI,R as PROVIDER_PERPLEXITY,X as PROVIDER_ROLE_MAP,_ as PROVIDER_SUMMARY,r as ROLE_ASSISTANT,O as ROLE_SYSTEM,n as ROLE_USER,Y as SEARCH_QUERY_TIMEOUT_MS,K as SORT_BY_TIMESTAMP,Z as SORT_BY_TOKEN_USAGE,e as THEME_STANDARD,ee as TOOL_LOADING_LABELS,ea as findProvider,eo as getModelsGroupedByProvider,ei as getProvidersFromModels,e_ as hasMultipleModelsPerProvider,eR as isEntitled,eT as isModelAllowedForPlan,eA as isReasoningModel,es as THEME_SUBTLE,t as ActionColor};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@versini/sassysaint-common",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.37.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": "
|
|
35
|
+
"gitHead": "dd86f2f0dc5b21ce341bdd32bc4a06e2c30dfeb2"
|
|
36
36
|
}
|