@versini/sassysaint-common 4.53.0 → 4.54.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 +24 -17
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -506,21 +506,27 @@ export declare const MODEL_ANTHROPIC_MEDIUM = "claude-sonnet-5";
|
|
|
506
506
|
export declare const MODEL_ANTHROPIC_TOP = "claude-opus-5";
|
|
507
507
|
|
|
508
508
|
/**
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
* callType is never persisted, so every slot sharing an id also shares one cost
|
|
512
|
-
* series. This job is the highest-volume role slot — it pays for chat titles,
|
|
513
|
-
* search summaries AND context compression on every long chat — so collapsing
|
|
514
|
-
* it into the Basic/Plus chat bucket would hide exactly the kind of per-job
|
|
515
|
-
* cost floor that surfaced the consolidation-cron re-billing in #3111/#3113.
|
|
516
|
-
* Keeping one id distinct is what preserves that signal.
|
|
509
|
+
* The highest-volume role slot: it pays for chat titles, search summaries AND
|
|
510
|
+
* context compression on every long chat.
|
|
517
511
|
*
|
|
518
|
-
*
|
|
519
|
-
*
|
|
520
|
-
*
|
|
512
|
+
* Bumped nano→luna. This slot was previously held off luna on purpose, and that
|
|
513
|
+
* tradeoff is now spent rather than solved. Usage rows are keyed by model id
|
|
514
|
+
* alone (`usageSchema.index({ email, date, model })`) and callType is never
|
|
515
|
+
* persisted, so every slot sharing an id also shares one cost series — a
|
|
516
|
+
* distinct id was what kept this job's per-job cost floor legible, the same
|
|
517
|
+
* signal that surfaced the consolidation-cron re-billing in #3111/#3113. Its
|
|
518
|
+
* spend now lands in the shared luna series alongside the Basic/Plus chat rung.
|
|
519
|
+
* To make it separable again, point this slot at an id nothing else holds; a
|
|
520
|
+
* per-job breakdown on a shared id would need usageSchema to persist callType
|
|
521
|
+
* first.
|
|
522
|
+
*
|
|
523
|
+
* Latency here is unmeasured against nano: the luna numbers in the block above
|
|
524
|
+
* were taken on memory extraction, not on this job, and this call is awaited on
|
|
525
|
+
* the critical path before time-to-first-token with no deadline. Watch
|
|
526
|
+
* time-to-first-token on long chats after deploying.
|
|
521
527
|
*
|
|
522
528
|
*/
|
|
523
|
-
export declare const MODEL_CHAT_SUMMARY = "gpt-5.
|
|
529
|
+
export declare const MODEL_CHAT_SUMMARY = "gpt-5.6-luna";
|
|
524
530
|
|
|
525
531
|
export declare const MODEL_DEV = "openai/gpt-oss-20b:free";
|
|
526
532
|
|
|
@@ -569,11 +575,12 @@ export declare const MODEL_HUMANIZE_REWRITE = "gemini-3.6-flash";
|
|
|
569
575
|
* tighter latency tail (max 25.8s against mini's 64.4s) and used ~15% fewer
|
|
570
576
|
* tokens.
|
|
571
577
|
*
|
|
572
|
-
* The OpenAI catalog bump then pointed MODEL_OPENAI_LOW at this same id.
|
|
573
|
-
* symbols now hold it — MODEL_OPENAI_LOW, this slot,
|
|
574
|
-
* MODEL_REVIEW_TRUST_PANEL — so an EXACT row prices
|
|
575
|
-
* ROLE_MODEL_PRICING is the net for whichever of
|
|
576
|
-
* restate that set here; modelPricing.ts owns the
|
|
578
|
+
* The OpenAI catalog bump then pointed MODEL_OPENAI_LOW at this same id. Five
|
|
579
|
+
* symbols now hold it — MODEL_OPENAI_LOW, this slot, MODEL_CHAT_SUMMARY,
|
|
580
|
+
* MODEL_NUTRITION_SEARCH and MODEL_REVIEW_TRUST_PANEL — so an EXACT row prices
|
|
581
|
+
* the id and the luna row in ROLE_MODEL_PRICING is the net for whichever of
|
|
582
|
+
* them moves first. Do not restate that set here; modelPricing.ts owns the
|
|
583
|
+
* count.
|
|
577
584
|
*
|
|
578
585
|
*/
|
|
579
586
|
export declare const MODEL_MEMORY_INFERENCE = "gpt-5.6-luna";
|
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",T="Google",s="Summary",R="Memory",S="Perplexity",A=a,I=[a,_,T],l="gpt-5.6-sol",L="gpt-5.6-terra",M="gpt-5.6-luna",P="claude-opus-5",g="claude-sonnet-5",N="claude-haiku-4-5",u="gemini-3.6-flash",c="gemini-3.5-flash-lite",D="sonar",d="sonar-pro",C="perplexity-search",h="openai/gpt-oss-20b:free",p="gpt-5.6-luna",U="gpt-5.
|
|
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",T="Google",s="Summary",R="Memory",S="Perplexity",A=a,I=[a,_,T],l="gpt-5.6-sol",L="gpt-5.6-terra",M="gpt-5.6-luna",P="claude-opus-5",g="claude-sonnet-5",N="claude-haiku-4-5",u="gemini-3.6-flash",c="gemini-3.5-flash-lite",D="sonar",d="sonar-pro",C="perplexity-search",h="openai/gpt-oss-20b:free",p="gpt-5.6-luna",U="gpt-5.6-luna",m="gemini-3.5-flash-lite",G="gemini-3.6-flash",H="gpt-5.6-terra",f="gpt-5.6-luna",y="gpt-5.6-luna",B="text-embedding-3-small",Y="gemini-3-pro-image",b=5,v=1e4,F=3e3,w={[l]:"GPT-5.6 Sol",[L]:"GPT-5.6 Terra",[M]:"GPT-5.6 Luna",[P]:"Claude Opus 5",[g]:"Claude Sonnet 5",[N]:"Claude Haiku 4.5",[u]:"Gemini 3.6 Flash",[c]:"Gemini 3.5 Flash-Lite",[D]:"Sonar",[d]:"Sonar Pro",[C]:"Perplexity Search",[Y]:"Nano Banana 3 Pro"},V=[l,L,M,P,g,N,c,u,Y],W=[l,L,M,P,g,u,c],X={[a]:[l,L,M],[_]:[P,N,g],[T]:[c,u],[S]:[D,d,C]},k={[a]:[r,i,o],[_]:[i,o],[s]:[i,o],[R]:[i,o],[T]:[i,o],[S]:[i,o]},x={[_]:["claude-opus-5","claude-opus-4","claude-sonnet-5","claude-sonnet-4","claude-haiku-4","claude-3"],[a]:["gpt-","o3","o4"],[T]:["gemini"],[S]:["sonar"]},K="x-diggidy-chat-id",Z="x-diggidy-chat-timestamp",z="complete",j="timestamp",Q="tokenUsage",$="Diggidy",q="sassy:basic",J="sassy:plus",ee="sassy:advanced",et={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"}},eE={code_interpreter:"Running code...",web_search:"Searching the web...",[et.TOOL.WEATHER]:"Checking the weather...",[et.TOOL.POLLUTION]:"Fetching air pollution data...",[et.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[et.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[et.TOOL.WEBSEARCH]:"Searching the web...",[et.TOOL.GITREPOSITORY]:"Looking up repository...",[et.TOOL.HOTELS]:"Searching for hotels...",[et.TOOL.LOCAL_BUSINESSES]:"Searching for local businesses...",[et.TOOL.PRODUCTS]:"Searching for products...",[et.TOOL.REVIEW_TRUST]:"Checking reviews...",[et.TOOL.STREAMING_PICKS]:"Finding movies to stream...",[et.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[et.TOOL.GENERATE_IMAGE]:"Generating image...",[et.TOOL.BARCODE]:"Looking up product...",[et.TOOL.PRONUNCIATION]:"Generating pronunciation...",[et.TOOL.HUMANIZE]:"Rewriting text...",[et.TOOL.IMAGES]:"Searching for images..."},eO="Using tools...",en=5e4,er=1e5,ei=8e5;function eo(e){return e===ee?ei:er}let ea=16384,e_=4,eT=3,es="context-compression-summary",eR=new Set(["OpenAI",_,"Google"]);function eS(e){return"string"==typeof e&&eR.has(e)}let eA=/^auto \((.+)\)$/;function eI(e){let t=e.match(eA);return t?t[1]:e}let el=e=>{for(let[t,E]of Object.entries(x))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(X))O.includes(E)&&("OpenAI"===e||e===_||"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(X))if(O.includes(E)){t.has(e)||t.set(e,[]),t.get(e)?.push(E);break}return t},eP=e=>{for(let t of eM(e).values())if(t.length>1)return!0;return!1},eg=(e,t)=>!!e&&!!t&&0!==t.length&&t.includes(e);function eN(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 eu(e){return W.includes(e)}export{V as ALL_MODELS,I as ALL_PROVIDERS,W as ALL_REASONING_MODELS,$ as APPLICATION_NAME,x as APPROXIMATE_MODELS_PER_PROVIDER,et as CAPABILITIES,z as CHAT_COMPLETION_MARKER_KEY,er as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD,ei as CONTEXT_COMPRESSION_EMERGENCY_THRESHOLD_PREMIUM,eT as CONTEXT_COMPRESSION_KEEP_IMAGES,e_ as CONTEXT_COMPRESSION_KEEP_RECENT,es as CONTEXT_COMPRESSION_SUMMARY_ID,en as CONTEXT_COMPRESSION_THRESHOLD,A as DEFAULT_PROVIDER,eO as DEFAULT_TOOL_LOADING_LABEL,K as DIGGIDY_CHAT_ID_HEADER,Z as DIGGIDY_CHAT_TIMESTAMP_HEADER,t as HARD_CATEGORIES,ea as MAX_OUTPUT_TOKENS,b 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,U as MODEL_CHAT_SUMMARY,h as MODEL_DEV,w as MODEL_DISPLAY_NAMES,B as MODEL_EMBEDDING_TEXT,Y as MODEL_GENERATE_IMAGE,c as MODEL_GOOGLE_MEDIUM,u as MODEL_GOOGLE_TOP,H as MODEL_HUMANIZE_AUDIT,G as MODEL_HUMANIZE_REWRITE,p as MODEL_MEMORY_INFERENCE,f as MODEL_NUTRITION_SEARCH,M as MODEL_OPENAI_LOW,L as MODEL_OPENAI_MEDIUM,l as MODEL_OPENAI_TOP,C as MODEL_PERPLEXITY_SEARCH,y as MODEL_REVIEW_TRUST_PANEL,m as MODEL_SEARCH_DECOMPOSER,D as MODEL_SONAR,d as MODEL_SONAR_PRO,q as PLAN_BASIC,J as PLAN_PLUS,ee as PLAN_PREMIUM,_ as PROVIDER_ANTHROPIC,T as PROVIDER_GOOGLE,R as PROVIDER_MEMORY,a as PROVIDER_OPENAI,S as PROVIDER_PERPLEXITY,k as PROVIDER_ROLE_MAP,s as PROVIDER_SUMMARY,o as ROLE_ASSISTANT,r as ROLE_SYSTEM,i as ROLE_USER,F as SEARCH_DECOMPOSE_TIMEOUT_MS,v as SEARCH_QUERY_TIMEOUT_MS,j as SORT_BY_TIMESTAMP,Q as SORT_BY_TOKEN_USAGE,eE as TOOL_LOADING_LABELS,el as findProvider,eo as getCompressionEmergencyThreshold,eM as getModelsGroupedByProvider,eL as getProvidersFromModels,eP as hasMultipleModelsPerProvider,eN as isEntitled,E as isHardCategory,eg as isModelAllowedForPlan,eS as isRealProvider,eu as isReasoningModel,eI as stripAutoWrapper,n as ActionColor};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@versini/sassysaint-common",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.54.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": "8e1f876e7bd0a6c494d9a0f02d9a72e1619dafcd"
|
|
36
36
|
}
|