@versini/sassysaint-common 4.38.0 → 4.39.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
@@ -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.4", "gpt-5.4-mini", "gpt-5.4-nano", "claude-opus-4-6", "claude-sonnet-4-6", "claude-haiku-4-5", "gemini-3-flash-preview", "gemini-3.1-pro-preview", "gemini-3-pro-image-preview"];
23
+ export declare const ALL_MODELS: readonly ["gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", "claude-opus-4-8", "claude-sonnet-4-6", "claude-haiku-4-5", "gemini-3-flash-preview", "gemini-3.1-pro-preview", "gemini-3-pro-image"];
24
24
 
25
25
  export declare const ALL_PROVIDERS: readonly ["OpenAI", "Anthropic", "Google"];
26
26
 
@@ -93,6 +93,16 @@ export declare type CapabilityInput = string | readonly string[];
93
93
  */
94
94
  export declare type ColorMap = Partial<Record<ActionColor, string>>;
95
95
 
96
+ /**
97
+ * Maximum number of the most recent images carried forward when older messages
98
+ * are compressed into a text summary. Compression flattens older turns into
99
+ * image-blind text; without this the original upload and every previously
100
+ * generated image would silently vanish from what the model can see, breaking
101
+ * iterative image editing and vision follow-ups. Bounded so a few images don't
102
+ * defeat the token savings compression exists to provide.
103
+ */
104
+ export declare const CONTEXT_COMPRESSION_KEEP_IMAGES = 3;
105
+
96
106
  /**
97
107
  * Number of recent messages to keep intact during compression (two
98
108
  * user-assistant exchanges). Ensures the model has enough immediate
@@ -217,11 +227,11 @@ export declare const getModelsGroupedByProvider: (models: string[]) => Map<strin
217
227
  * @example
218
228
  * ```ts
219
229
  * // User's plan includes GPT and Claude models:
220
- * getProvidersFromModels([MODEL_GPT4_NANO, MODEL_CLAUDE_HAIKU]);
230
+ * getProvidersFromModels([MODEL_GPT5_NANO, MODEL_CLAUDE_HAIKU]);
221
231
  * // Returns: [PROVIDER_OPENAI, PROVIDER_ANTHROPIC]
222
232
  *
223
233
  * // Gemini models removed from plan:
224
- * getProvidersFromModels([MODEL_GPT4_NANO, MODEL_CLAUDE_HAIKU]);
234
+ * getProvidersFromModels([MODEL_GPT5_NANO, MODEL_CLAUDE_HAIKU]);
225
235
  * // Returns: [PROVIDER_OPENAI, PROVIDER_ANTHROPIC]
226
236
  * // (PROVIDER_GOOGLE is excluded)
227
237
  *
@@ -406,6 +416,25 @@ export declare const MAX_OUTPUT_TOKENS = 16384;
406
416
 
407
417
  export declare const MAX_SEARCH_QUERIES = 5;
408
418
 
419
+ export declare const MODEL_AUTO_RESPONDER_ANTHROPIC = "claude-sonnet-4-6";
420
+
421
+ export declare const MODEL_AUTO_RESPONDER_GOOGLE = "gemini-3-flash-preview";
422
+
423
+ /**
424
+ * Responder models for the Auto router's lower ("cheap") tier. Distinct from
425
+ * the classifier models above: these are the models that actually answer the
426
+ * user, so they MUST be tool-capable. The minimal tier (nano / haiku) cannot
427
+ * call tools, which breaks tool continuity — once a conversation has used a
428
+ * tool, a tool-less follow-up model derails the flow. So the lower tier uses
429
+ * the provider's mid model instead of its smallest:
430
+ * - OpenAI: gpt-5.4-mini (premium tier stays gpt-5.4)
431
+ * - Anthropic: claude-sonnet (premium tier stays claude-opus)
432
+ * - Google: gemini-flash (premium tier stays gemini-pro; Google has no
433
+ * tier between Flash and Pro, and Flash is already tool-capable)
434
+ * The premium tier always falls through to the plan-default top model.
435
+ */
436
+ export declare const MODEL_AUTO_RESPONDER_OPENAI = "gpt-5.4-mini";
437
+
409
438
  export declare const MODEL_AUTO_ROUTER_ANTHROPIC = "claude-haiku-4-5";
410
439
 
411
440
  export declare const MODEL_AUTO_ROUTER_GOOGLE = "gemini-3-flash-preview";
@@ -414,8 +443,9 @@ export declare const MODEL_AUTO_ROUTER_GOOGLE = "gemini-3-flash-preview";
414
443
  * Classifier models used by the Auto routing feature. One per real provider
415
444
  * to preserve brand-loyalty (Anthropic-preferred users get an Anthropic
416
445
  * classifier, etc.) and to let provider-native prompt caching hit on the
417
- * classifier system prompt. Aliases of existing cheap models — adding
418
- * dedicated constants makes the intent explicit at the classifier call site.
446
+ * classifier system prompt. These are the cheapest models per provider the
447
+ * classifier only emits a small JSON object, so it never needs tools and the
448
+ * minimal tier keeps latency under the hard timeout and cost negligible.
419
449
  */
420
450
  export declare const MODEL_AUTO_ROUTER_OPENAI = "gpt-5.4-nano";
421
451
 
@@ -423,7 +453,7 @@ export declare const MODEL_CHAT_SUMMARY = "gpt-5.4-nano";
423
453
 
424
454
  export declare const MODEL_CLAUDE_HAIKU = "claude-haiku-4-5";
425
455
 
426
- export declare const MODEL_CLAUDE_OPUS = "claude-opus-4-6";
456
+ export declare const MODEL_CLAUDE_OPUS = "claude-opus-4-8";
427
457
 
428
458
  export declare const MODEL_CLAUDE_SONNET = "claude-sonnet-4-6";
429
459
 
@@ -441,9 +471,7 @@ export declare const MODEL_GEMINI_FLASH = "gemini-3-flash-preview";
441
471
 
442
472
  export declare const MODEL_GEMINI_PRO = "gemini-3.1-pro-preview";
443
473
 
444
- export declare const MODEL_GENERATE_IMAGE = "gemini-3-pro-image-preview";
445
-
446
- export declare const MODEL_GPT4_NANO = "gpt-4.1-nano";
474
+ export declare const MODEL_GENERATE_IMAGE = "gemini-3-pro-image";
447
475
 
448
476
  /**
449
477
  * List of available models TODAY.
@@ -468,8 +496,8 @@ export declare const MODEL_TEACHER = "mistral-large-latest";
468
496
  * List of models available according to the providers.
469
497
  */
470
498
  export declare const MODELS_PER_PROVIDER: {
471
- readonly OpenAI: readonly ["gpt-4.1-nano", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano"];
472
- readonly Anthropic: readonly ["claude-opus-4-6", "claude-haiku-4-5", "claude-sonnet-4-6"];
499
+ readonly OpenAI: readonly ["gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano"];
500
+ readonly Anthropic: readonly ["claude-opus-4-8", "claude-haiku-4-5", "claude-sonnet-4-6"];
473
501
  readonly Google: readonly ["gemini-3-flash-preview", "gemini-3.1-pro-preview"];
474
502
  readonly Perplexity: readonly ["sonar", "sonar-pro"];
475
503
  };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var e,E=((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="user",t="assistant",r="OpenAI",n="Anthropic",a="Google",_="Summary",o="Perplexity",i="Mistral",R=[r,n,a],s="gpt-5.4",T="gpt-5.4-mini",A="gpt-5.4-nano",I="gpt-4.1-nano",L="claude-opus-4-6",S="claude-sonnet-4-6",M="claude-haiku-4-5",P="gemini-3-flash-preview",l="gemini-3.1-pro-preview",N="sonar",g="sonar-pro",D="openai/gpt-oss-20b:free",c="mistral-large-latest",d="gpt-5.4-nano",u="gpt-5.4-nano",C="gpt-5.4-mini",h="text-embedding-3-small",p="gemini-3-pro-image-preview",U=A,G=M,m=P,H={[s]:"GPT-5.4",[T]:"GPT-5.4 Mini",[A]:"GPT-5.4 Nano",[I]:"GPT-4.1 Nano",[L]:"Claude Opus 4.6",[S]:"Claude Sonnet 4.6",[M]:"Claude Haiku 4.5",[l]:"Gemini 3.1 Pro",[P]:"Gemini 3 Flash",[N]:"Sonar",[g]:"Sonar Pro",[p]:"Nano Banana 3 Pro",[c]:"Mistral Large"},f=[s,T,A,L,S,M,P,l,p],y=[s,T,A,L,S,l],V={[r]:[I,s,T,A],[n]:[L,M,S],[a]:[P,l],[o]:[N,g]},B={[r]:["system",O,t],[n]:[O,t],[_]:[O,t],Memory:[O,t],[a]:[O,t],[o]:[O,t],[i]:[O,t]},Y={[n]:["claude-opus-4","claude-sonnet-4","claude-haiku-4","claude-3"],[r]:["gpt-","o3","o4"],[a]:["gemini"],[o]:["sonar"],[i]:["mistral"]},v="x-diggidy-chat-id",F="x-diggidy-chat-timestamp",w="timestamp",b="tokenUsage",X="Diggidy",k="sassy:basic",x="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"}},z={code_interpreter:"Running code...",web_search:"Searching the web...",[K.TOOL.WEATHER]:"Checking the weather...",[K.TOOL.POLLUTION]:"Fetching air pollution data...",[K.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[K.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[K.TOOL.WEBSEARCH]:"Searching the web...",[K.TOOL.GITREPOSITORY]:"Looking up repository...",[K.TOOL.HOTELS]:"Searching for hotels...",[K.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[K.TOOL.GENERATE_IMAGE]:"Generating image...",[K.TOOL.BARCODE]:"Looking up product...",[K.TOOL.PRONUNCIATION]:"Generating pronunciation...",[K.TOOL.HUMANIZE]:"Rewriting text...",[K.TOOL.IMAGES]:"Searching for images..."},Q="Using tools...",Z="context-compression-summary",j=new Set(["OpenAI",n,"Google",i]);function q(e){return"string"==typeof e&&j.has(e)}let J=e=>{for(let[E,O]of Object.entries(Y))if(O.some(E=>e.startsWith(E)))return E;return null},$=e=>{if(!e||0===e.length)return[];let E=new Set;for(let O of e)for(let[e,t]of Object.entries(V))t.includes(O)&&("OpenAI"===e||e===n||"Google"===e)&&E.add(e);return R.filter(e=>E.has(e))},ee=e=>{let E=new Map;if(!e||0===e.length)return E;for(let O of e)for(let[e,t]of Object.entries(V))if(t.includes(O)){E.has(e)||E.set(e,[]),E.get(e)?.push(O);break}return E},eE=e=>{for(let E of ee(e).values())if(E.length>1)return!0;return!1},eO=(e,E)=>!!e&&!!E&&0!==E.length&&E.includes(e);function et(e,E,O){if(!E||Array.isArray(E)&&0===E.length)return!0;let t=e instanceof Set?e:e?new Set(e):null;return!!t&&0!==t.size&&("string"==typeof E?t.has(E):O?.any===!0?E.some(e=>t.has(e)):E.every(e=>t.has(e)))}function er(e){return y.includes(e)}var en=4,ea=5e4,e_="OpenAI",eo=16384,ei=5,eR="sonar",es="Auto",eT="Google",eA="Memory",eI="OpenAI",eL="system",eS="user",eM=1e4;export{f as ALL_MODELS,R as ALL_PROVIDERS,y as ALL_REASONING_MODELS,X as APPLICATION_NAME,Y as APPROXIMATE_MODELS_PER_PROVIDER,K as CAPABILITIES,Z as CONTEXT_COMPRESSION_SUMMARY_ID,Q as DEFAULT_TOOL_LOADING_LABEL,v as DIGGIDY_CHAT_ID_HEADER,F as DIGGIDY_CHAT_TIMESTAMP_HEADER,V as MODELS_PER_PROVIDER,G as MODEL_AUTO_ROUTER_ANTHROPIC,m as MODEL_AUTO_ROUTER_GOOGLE,U as MODEL_AUTO_ROUTER_OPENAI,u as MODEL_CHAT_SUMMARY,M as MODEL_CLAUDE_HAIKU,L as MODEL_CLAUDE_OPUS,S as MODEL_CLAUDE_SONNET,D as MODEL_DEV,H as MODEL_DISPLAY_NAMES,h as MODEL_EMBEDDING_TEXT,P as MODEL_GEMINI_FLASH,l as MODEL_GEMINI_PRO,p as MODEL_GENERATE_IMAGE,I as MODEL_GPT4_NANO,s as MODEL_GPT5,T as MODEL_GPT5_MINI,A as MODEL_GPT5_NANO,d as MODEL_MEMORY_INFERENCE,C as MODEL_SEARCH_DECOMPOSER,g as MODEL_SONAR_PRO,c as MODEL_TEACHER,k as PLAN_BASIC,x as PLAN_PLUS,W as PLAN_PREMIUM,n as PROVIDER_ANTHROPIC,i as PROVIDER_MISTRAL,o as PROVIDER_PERPLEXITY,B as PROVIDER_ROLE_MAP,_ as PROVIDER_SUMMARY,t as ROLE_ASSISTANT,w as SORT_BY_TIMESTAMP,b as SORT_BY_TOKEN_USAGE,z as TOOL_LOADING_LABELS,J as findProvider,ee as getModelsGroupedByProvider,$ as getProvidersFromModels,eE as hasMultipleModelsPerProvider,et as isEntitled,eO as isModelAllowedForPlan,q as isRealProvider,er as isReasoningModel,en as CONTEXT_COMPRESSION_KEEP_RECENT,ea as CONTEXT_COMPRESSION_THRESHOLD,e_ as DEFAULT_PROVIDER,eo as MAX_OUTPUT_TOKENS,ei as MAX_SEARCH_QUERIES,eR as MODEL_SONAR,es as PROVIDER_AUTO,eT as PROVIDER_GOOGLE,eA as PROVIDER_MEMORY,eI as PROVIDER_OPENAI,eL as ROLE_SYSTEM,eS as ROLE_USER,eM as SEARCH_QUERY_TIMEOUT_MS,E as ActionColor};
1
+ var e,E=((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="user",t="assistant",_="OpenAI",r="Anthropic",n="Google",a="Summary",R="Perplexity",o="Mistral",i=[_,r,n],s="gpt-5.4",T="gpt-5.4-mini",A="gpt-5.4-nano",I="claude-opus-4-8",S="claude-sonnet-4-6",L="claude-haiku-4-5",M="gemini-3-flash-preview",P="gemini-3.1-pro-preview",N="sonar",D="sonar-pro",l="openai/gpt-oss-20b:free",g="mistral-large-latest",c="gpt-5.4-nano",d="gpt-5.4-nano",C="gpt-5.4-mini",u="text-embedding-3-small",U="gemini-3-pro-image",h=A,G=L,p=M,m=T,H=S,f=M,y={[s]:"GPT-5.4",[T]:"GPT-5.4 Mini",[A]:"GPT-5.4 Nano",[I]:"Claude Opus 4.8",[S]:"Claude Sonnet 4.6",[L]:"Claude Haiku 4.5",[P]:"Gemini 3.1 Pro",[M]:"Gemini 3 Flash",[N]:"Sonar",[D]:"Sonar Pro",[U]:"Nano Banana 3 Pro",[g]:"Mistral Large"},V=[s,T,A,I,S,L,M,P,U],B=[s,T,A,I,S,P],Y={[_]:[s,T,A],[r]:[I,L,S],[n]:[M,P],[R]:[N,D]},F={[_]:["system",O,t],[r]:[O,t],[a]:[O,t],Memory:[O,t],[n]:[O,t],[R]:[O,t],[o]:[O,t]},v={[r]:["claude-opus-4","claude-sonnet-4","claude-haiku-4","claude-3"],[_]:["gpt-","o3","o4"],[n]:["gemini"],[R]:["sonar"],[o]:["mistral"]},w="x-diggidy-chat-id",X="x-diggidy-chat-timestamp",b="timestamp",k="tokenUsage",K="Diggidy",x="sassy:basic",W="sassy:plus",z="sassy:advanced",Q={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={code_interpreter:"Running code...",web_search:"Searching the web...",[Q.TOOL.WEATHER]:"Checking the weather...",[Q.TOOL.POLLUTION]:"Fetching air pollution data...",[Q.TOOL.BUNDLESIZE]:"Analyzing bundle size...",[Q.TOOL.URLCONTENTPARSER]:"Reading a webpage...",[Q.TOOL.WEBSEARCH]:"Searching the web...",[Q.TOOL.GITREPOSITORY]:"Looking up repository...",[Q.TOOL.HOTELS]:"Searching for hotels...",[Q.TOOL.NUTRITION_FACTS]:"Fetching nutrition facts...",[Q.TOOL.GENERATE_IMAGE]:"Generating image...",[Q.TOOL.BARCODE]:"Looking up product...",[Q.TOOL.PRONUNCIATION]:"Generating pronunciation...",[Q.TOOL.HUMANIZE]:"Rewriting text...",[Q.TOOL.IMAGES]:"Searching for images..."},j="Using tools...",q="context-compression-summary",J=new Set(["OpenAI",r,"Google",o]);function $(e){return"string"==typeof e&&J.has(e)}let ee=e=>{for(let[E,O]of Object.entries(v))if(O.some(E=>e.startsWith(E)))return E;return null},eE=e=>{if(!e||0===e.length)return[];let E=new Set;for(let O of e)for(let[e,t]of Object.entries(Y))t.includes(O)&&("OpenAI"===e||e===r||"Google"===e)&&E.add(e);return i.filter(e=>E.has(e))},eO=e=>{let E=new Map;if(!e||0===e.length)return E;for(let O of e)for(let[e,t]of Object.entries(Y))if(t.includes(O)){E.has(e)||E.set(e,[]),E.get(e)?.push(O);break}return E},et=e=>{for(let E of eO(e).values())if(E.length>1)return!0;return!1},e_=(e,E)=>!!e&&!!E&&0!==E.length&&E.includes(e);function er(e,E,O){if(!E||Array.isArray(E)&&0===E.length)return!0;let t=e instanceof Set?e:e?new Set(e):null;return!!t&&0!==t.size&&("string"==typeof E?t.has(E):O?.any===!0?E.some(e=>t.has(e)):E.every(e=>t.has(e)))}function en(e){return B.includes(e)}var ea=3,eR=4,eo=5e4,ei="OpenAI",es=16384,eT=5,eA="sonar",eI="Auto",eS="Google",eL="Memory",eM="OpenAI",eP="system",eN="user",eD=1e4;export{V as ALL_MODELS,i as ALL_PROVIDERS,B as ALL_REASONING_MODELS,K as APPLICATION_NAME,v as APPROXIMATE_MODELS_PER_PROVIDER,Q as CAPABILITIES,q as CONTEXT_COMPRESSION_SUMMARY_ID,j as DEFAULT_TOOL_LOADING_LABEL,w as DIGGIDY_CHAT_ID_HEADER,X as DIGGIDY_CHAT_TIMESTAMP_HEADER,Y as MODELS_PER_PROVIDER,H as MODEL_AUTO_RESPONDER_ANTHROPIC,f as MODEL_AUTO_RESPONDER_GOOGLE,m as MODEL_AUTO_RESPONDER_OPENAI,G as MODEL_AUTO_ROUTER_ANTHROPIC,p as MODEL_AUTO_ROUTER_GOOGLE,h as MODEL_AUTO_ROUTER_OPENAI,d as MODEL_CHAT_SUMMARY,L as MODEL_CLAUDE_HAIKU,I as MODEL_CLAUDE_OPUS,S as MODEL_CLAUDE_SONNET,l as MODEL_DEV,y as MODEL_DISPLAY_NAMES,u as MODEL_EMBEDDING_TEXT,M as MODEL_GEMINI_FLASH,P as MODEL_GEMINI_PRO,U as MODEL_GENERATE_IMAGE,s as MODEL_GPT5,T as MODEL_GPT5_MINI,A as MODEL_GPT5_NANO,c as MODEL_MEMORY_INFERENCE,C as MODEL_SEARCH_DECOMPOSER,D as MODEL_SONAR_PRO,g as MODEL_TEACHER,x as PLAN_BASIC,W as PLAN_PLUS,z as PLAN_PREMIUM,r as PROVIDER_ANTHROPIC,o as PROVIDER_MISTRAL,R as PROVIDER_PERPLEXITY,F as PROVIDER_ROLE_MAP,a as PROVIDER_SUMMARY,t as ROLE_ASSISTANT,b as SORT_BY_TIMESTAMP,k as SORT_BY_TOKEN_USAGE,Z as TOOL_LOADING_LABELS,ee as findProvider,eO as getModelsGroupedByProvider,eE as getProvidersFromModels,et as hasMultipleModelsPerProvider,er as isEntitled,e_ as isModelAllowedForPlan,$ as isRealProvider,en as isReasoningModel,ea as CONTEXT_COMPRESSION_KEEP_IMAGES,eR as CONTEXT_COMPRESSION_KEEP_RECENT,eo as CONTEXT_COMPRESSION_THRESHOLD,ei as DEFAULT_PROVIDER,es as MAX_OUTPUT_TOKENS,eT as MAX_SEARCH_QUERIES,eA as MODEL_SONAR,eI as PROVIDER_AUTO,eS as PROVIDER_GOOGLE,eL as PROVIDER_MEMORY,eM as PROVIDER_OPENAI,eP as ROLE_SYSTEM,eN as ROLE_USER,eD as SEARCH_QUERY_TIMEOUT_MS,E as ActionColor};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint-common",
3
- "version": "4.38.0",
3
+ "version": "4.39.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": "16ea50569b2ac682d9341af446f5029dd3cdeb3b"
35
+ "gitHead": "ce9f47e834eb243e3ec479e71a11c56c59184655"
36
36
  }