@sjts/ai-shared 31.2.9 → 31.2.15

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.
Files changed (191) hide show
  1. package/dist/enums/AIModelName.d.ts +7 -11
  2. package/dist/enums/AIModelName.d.ts.map +1 -1
  3. package/dist/enums/AIModelName.js +7 -11
  4. package/dist/llms.d.ts.map +1 -1
  5. package/dist/llms.js +13 -15
  6. package/package.json +5 -5
  7. package/backend/LICENCE +0 -5
  8. package/backend/dist/_/amazon/_/getAmazonClient.d.ts +0 -4
  9. package/backend/dist/_/amazon/_/getAmazonClient.d.ts.map +0 -1
  10. package/backend/dist/_/amazon/_/getAmazonClient.js +0 -10
  11. package/backend/dist/_/amazon/_/index.d.ts +0 -2
  12. package/backend/dist/_/amazon/_/index.d.ts.map +0 -1
  13. package/backend/dist/_/amazon/_/index.js +0 -1
  14. package/backend/dist/_/amazon/index.d.ts +0 -2
  15. package/backend/dist/_/amazon/index.d.ts.map +0 -1
  16. package/backend/dist/_/amazon/index.js +0 -1
  17. package/backend/dist/_/amazon/makeAmazonQuickie.d.ts +0 -3
  18. package/backend/dist/_/amazon/makeAmazonQuickie.d.ts.map +0 -1
  19. package/backend/dist/_/amazon/makeAmazonQuickie.js +0 -65
  20. package/backend/dist/_/anthropic/_/aiEvent2AnthropicMessage.d.ts +0 -4
  21. package/backend/dist/_/anthropic/_/aiEvent2AnthropicMessage.d.ts.map +0 -1
  22. package/backend/dist/_/anthropic/_/aiEvent2AnthropicMessage.js +0 -59
  23. package/backend/dist/_/anthropic/_/aiTool2AnthropicTool.d.ts +0 -4
  24. package/backend/dist/_/anthropic/_/aiTool2AnthropicTool.d.ts.map +0 -1
  25. package/backend/dist/_/anthropic/_/aiTool2AnthropicTool.js +0 -11
  26. package/backend/dist/_/anthropic/_/compileAnthropicThought.d.ts +0 -7
  27. package/backend/dist/_/anthropic/_/compileAnthropicThought.d.ts.map +0 -1
  28. package/backend/dist/_/anthropic/_/compileAnthropicThought.js +0 -17
  29. package/backend/dist/_/anthropic/_/getAnthropicClient.d.ts +0 -4
  30. package/backend/dist/_/anthropic/_/getAnthropicClient.d.ts.map +0 -1
  31. package/backend/dist/_/anthropic/_/getAnthropicClient.js +0 -13
  32. package/backend/dist/_/anthropic/_/index.d.ts +0 -5
  33. package/backend/dist/_/anthropic/_/index.d.ts.map +0 -1
  34. package/backend/dist/_/anthropic/_/index.js +0 -4
  35. package/backend/dist/_/anthropic/index.d.ts +0 -4
  36. package/backend/dist/_/anthropic/index.d.ts.map +0 -1
  37. package/backend/dist/_/anthropic/index.js +0 -3
  38. package/backend/dist/_/anthropic/makeAnthropicQuickie.d.ts +0 -3
  39. package/backend/dist/_/anthropic/makeAnthropicQuickie.d.ts.map +0 -1
  40. package/backend/dist/_/anthropic/makeAnthropicQuickie.js +0 -53
  41. package/backend/dist/_/anthropic/makeAnthropicStream.d.ts +0 -3
  42. package/backend/dist/_/anthropic/makeAnthropicStream.d.ts.map +0 -1
  43. package/backend/dist/_/anthropic/makeAnthropicStream.js +0 -35
  44. package/backend/dist/_/anthropic/makeAnthropicThink.d.ts +0 -3
  45. package/backend/dist/_/anthropic/makeAnthropicThink.d.ts.map +0 -1
  46. package/backend/dist/_/anthropic/makeAnthropicThink.js +0 -84
  47. package/backend/dist/_/callAI.d.ts +0 -2
  48. package/backend/dist/_/callAI.d.ts.map +0 -1
  49. package/backend/dist/_/callAI.js +0 -10
  50. package/backend/dist/_/cerebras/_/aiEvent2CerebrasMessage.d.ts +0 -3
  51. package/backend/dist/_/cerebras/_/aiEvent2CerebrasMessage.d.ts.map +0 -1
  52. package/backend/dist/_/cerebras/_/aiEvent2CerebrasMessage.js +0 -47
  53. package/backend/dist/_/cerebras/_/getCerebrasClient.d.ts +0 -4
  54. package/backend/dist/_/cerebras/_/getCerebrasClient.d.ts.map +0 -1
  55. package/backend/dist/_/cerebras/_/getCerebrasClient.js +0 -8
  56. package/backend/dist/_/cerebras/_/index.d.ts +0 -3
  57. package/backend/dist/_/cerebras/_/index.d.ts.map +0 -1
  58. package/backend/dist/_/cerebras/_/index.js +0 -2
  59. package/backend/dist/_/cerebras/index.d.ts +0 -3
  60. package/backend/dist/_/cerebras/index.d.ts.map +0 -1
  61. package/backend/dist/_/cerebras/index.js +0 -2
  62. package/backend/dist/_/cerebras/makeCerebrasQuickie.d.ts +0 -3
  63. package/backend/dist/_/cerebras/makeCerebrasQuickie.d.ts.map +0 -1
  64. package/backend/dist/_/cerebras/makeCerebrasQuickie.js +0 -44
  65. package/backend/dist/_/cerebras/makeCerebrasThink.d.ts +0 -3
  66. package/backend/dist/_/cerebras/makeCerebrasThink.d.ts.map +0 -1
  67. package/backend/dist/_/cerebras/makeCerebrasThink.js +0 -32
  68. package/backend/dist/_/compileObject.d.ts +0 -12
  69. package/backend/dist/_/compileObject.d.ts.map +0 -1
  70. package/backend/dist/_/compileObject.js +0 -13
  71. package/backend/dist/_/compileParam.d.ts +0 -4
  72. package/backend/dist/_/compileParam.d.ts.map +0 -1
  73. package/backend/dist/_/compileParam.js +0 -80
  74. package/backend/dist/_/google/_/aiEvent2GoogleContent.d.ts +0 -4
  75. package/backend/dist/_/google/_/aiEvent2GoogleContent.d.ts.map +0 -1
  76. package/backend/dist/_/google/_/aiEvent2GoogleContent.js +0 -56
  77. package/backend/dist/_/google/_/aiTool2GoogleFunctionDeclaration.d.ts +0 -4
  78. package/backend/dist/_/google/_/aiTool2GoogleFunctionDeclaration.d.ts.map +0 -1
  79. package/backend/dist/_/google/_/aiTool2GoogleFunctionDeclaration.js +0 -12
  80. package/backend/dist/_/google/_/compileGoogleThought.d.ts +0 -8
  81. package/backend/dist/_/google/_/compileGoogleThought.d.ts.map +0 -1
  82. package/backend/dist/_/google/_/compileGoogleThought.js +0 -22
  83. package/backend/dist/_/google/_/getGoogleClient.d.ts +0 -4
  84. package/backend/dist/_/google/_/getGoogleClient.d.ts.map +0 -1
  85. package/backend/dist/_/google/_/getGoogleClient.js +0 -8
  86. package/backend/dist/_/google/_/getGoogleToolMode.d.ts +0 -3
  87. package/backend/dist/_/google/_/getGoogleToolMode.d.ts.map +0 -1
  88. package/backend/dist/_/google/_/getGoogleToolMode.js +0 -11
  89. package/backend/dist/_/google/_/index.d.ts +0 -6
  90. package/backend/dist/_/google/_/index.d.ts.map +0 -1
  91. package/backend/dist/_/google/_/index.js +0 -5
  92. package/backend/dist/_/google/index.d.ts +0 -3
  93. package/backend/dist/_/google/index.d.ts.map +0 -1
  94. package/backend/dist/_/google/index.js +0 -2
  95. package/backend/dist/_/google/makeGoogleQuickie.d.ts +0 -3
  96. package/backend/dist/_/google/makeGoogleQuickie.d.ts.map +0 -1
  97. package/backend/dist/_/google/makeGoogleQuickie.js +0 -52
  98. package/backend/dist/_/google/makeGoogleThink.d.ts +0 -3
  99. package/backend/dist/_/google/makeGoogleThink.d.ts.map +0 -1
  100. package/backend/dist/_/google/makeGoogleThink.js +0 -93
  101. package/backend/dist/_/index.d.ts +0 -13
  102. package/backend/dist/_/index.d.ts.map +0 -1
  103. package/backend/dist/_/index.js +0 -12
  104. package/backend/dist/_/logAI.d.ts +0 -3
  105. package/backend/dist/_/logAI.d.ts.map +0 -1
  106. package/backend/dist/_/logAI.js +0 -7
  107. package/backend/dist/_/mistral/_/aiEvent2MistralAIMessage.d.ts +0 -3
  108. package/backend/dist/_/mistral/_/aiEvent2MistralAIMessage.d.ts.map +0 -1
  109. package/backend/dist/_/mistral/_/aiEvent2MistralAIMessage.js +0 -47
  110. package/backend/dist/_/mistral/_/aiTool2MistralAITool.d.ts +0 -3
  111. package/backend/dist/_/mistral/_/aiTool2MistralAITool.d.ts.map +0 -1
  112. package/backend/dist/_/mistral/_/aiTool2MistralAITool.js +0 -14
  113. package/backend/dist/_/mistral/_/compileMistralAIThought.d.ts +0 -6
  114. package/backend/dist/_/mistral/_/compileMistralAIThought.d.ts.map +0 -1
  115. package/backend/dist/_/mistral/_/compileMistralAIThought.js +0 -15
  116. package/backend/dist/_/mistral/_/getMistralAIClient.d.ts +0 -4
  117. package/backend/dist/_/mistral/_/getMistralAIClient.d.ts.map +0 -1
  118. package/backend/dist/_/mistral/_/getMistralAIClient.js +0 -8
  119. package/backend/dist/_/mistral/_/index.d.ts +0 -5
  120. package/backend/dist/_/mistral/_/index.d.ts.map +0 -1
  121. package/backend/dist/_/mistral/_/index.js +0 -4
  122. package/backend/dist/_/mistral/index.d.ts +0 -3
  123. package/backend/dist/_/mistral/index.d.ts.map +0 -1
  124. package/backend/dist/_/mistral/index.js +0 -2
  125. package/backend/dist/_/mistral/makeMistralAIQuickie.d.ts +0 -3
  126. package/backend/dist/_/mistral/makeMistralAIQuickie.d.ts.map +0 -1
  127. package/backend/dist/_/mistral/makeMistralAIQuickie.js +0 -45
  128. package/backend/dist/_/mistral/makeMistralAIThink.d.ts +0 -3
  129. package/backend/dist/_/mistral/makeMistralAIThink.d.ts.map +0 -1
  130. package/backend/dist/_/mistral/makeMistralAIThink.js +0 -74
  131. package/backend/dist/_/openai/_/aiEvent2OpenAIMessage.d.ts +0 -4
  132. package/backend/dist/_/openai/_/aiEvent2OpenAIMessage.d.ts.map +0 -1
  133. package/backend/dist/_/openai/_/aiEvent2OpenAIMessage.js +0 -47
  134. package/backend/dist/_/openai/_/aiTool2OpenAITool.d.ts +0 -4
  135. package/backend/dist/_/openai/_/aiTool2OpenAITool.d.ts.map +0 -1
  136. package/backend/dist/_/openai/_/aiTool2OpenAITool.js +0 -14
  137. package/backend/dist/_/openai/_/compileOpenAIThought.d.ts +0 -7
  138. package/backend/dist/_/openai/_/compileOpenAIThought.d.ts.map +0 -1
  139. package/backend/dist/_/openai/_/compileOpenAIThought.js +0 -17
  140. package/backend/dist/_/openai/_/getOpenAIClient.d.ts +0 -4
  141. package/backend/dist/_/openai/_/getOpenAIClient.d.ts.map +0 -1
  142. package/backend/dist/_/openai/_/getOpenAIClient.js +0 -12
  143. package/backend/dist/_/openai/_/index.d.ts +0 -5
  144. package/backend/dist/_/openai/_/index.d.ts.map +0 -1
  145. package/backend/dist/_/openai/_/index.js +0 -4
  146. package/backend/dist/_/openai/index.d.ts +0 -4
  147. package/backend/dist/_/openai/index.d.ts.map +0 -1
  148. package/backend/dist/_/openai/index.js +0 -3
  149. package/backend/dist/_/openai/makeOpenAIEmbed.d.ts +0 -3
  150. package/backend/dist/_/openai/makeOpenAIEmbed.d.ts.map +0 -1
  151. package/backend/dist/_/openai/makeOpenAIEmbed.js +0 -15
  152. package/backend/dist/_/openai/makeOpenAIQuickie.d.ts +0 -3
  153. package/backend/dist/_/openai/makeOpenAIQuickie.d.ts.map +0 -1
  154. package/backend/dist/_/openai/makeOpenAIQuickie.js +0 -47
  155. package/backend/dist/_/openai/makeOpenAIThink.d.ts +0 -3
  156. package/backend/dist/_/openai/makeOpenAIThink.d.ts.map +0 -1
  157. package/backend/dist/_/openai/makeOpenAIThink.js +0 -75
  158. package/backend/dist/_/types/errors.d.ts +0 -4
  159. package/backend/dist/_/types/errors.d.ts.map +0 -1
  160. package/backend/dist/_/types/errors.js +0 -3
  161. package/backend/dist/_/types/index.d.ts +0 -2
  162. package/backend/dist/_/types/index.d.ts.map +0 -1
  163. package/backend/dist/_/types/index.js +0 -1
  164. package/backend/dist/_/voyageai/_/getVoyageAIClient.d.ts +0 -4
  165. package/backend/dist/_/voyageai/_/getVoyageAIClient.d.ts.map +0 -1
  166. package/backend/dist/_/voyageai/_/getVoyageAIClient.js +0 -7
  167. package/backend/dist/_/voyageai/_/index.d.ts +0 -2
  168. package/backend/dist/_/voyageai/_/index.d.ts.map +0 -1
  169. package/backend/dist/_/voyageai/_/index.js +0 -1
  170. package/backend/dist/_/voyageai/index.d.ts +0 -2
  171. package/backend/dist/_/voyageai/index.d.ts.map +0 -1
  172. package/backend/dist/_/voyageai/index.js +0 -1
  173. package/backend/dist/_/voyageai/makeVoyageAIEmbed.d.ts +0 -3
  174. package/backend/dist/_/voyageai/makeVoyageAIEmbed.d.ts.map +0 -1
  175. package/backend/dist/_/voyageai/makeVoyageAIEmbed.js +0 -13
  176. package/backend/dist/doEmbed.d.ts +0 -5
  177. package/backend/dist/doEmbed.d.ts.map +0 -1
  178. package/backend/dist/doEmbed.js +0 -17
  179. package/backend/dist/doQuickie.d.ts +0 -5
  180. package/backend/dist/doQuickie.d.ts.map +0 -1
  181. package/backend/dist/doQuickie.js +0 -39
  182. package/backend/dist/doStream.d.ts +0 -5
  183. package/backend/dist/doStream.d.ts.map +0 -1
  184. package/backend/dist/doStream.js +0 -14
  185. package/backend/dist/doThink.d.ts +0 -4
  186. package/backend/dist/doThink.d.ts.map +0 -1
  187. package/backend/dist/doThink.js +0 -33
  188. package/backend/dist/index.d.ts +0 -5
  189. package/backend/dist/index.d.ts.map +0 -1
  190. package/backend/dist/index.js +0 -4
  191. package/backend/package.json +0 -46
@@ -1,52 +0,0 @@
1
- import { AIEventType, defaultAIConfig } from '@sjts/ai-shared';
2
- import { Logger } from '@sjts/lib-log';
3
- import { callAI } from '../callAI.js';
4
- import { getGoogleClient } from './_/getGoogleClient.js';
5
- import { aiEvent2GoogleContent } from './_/index.js';
6
- export function makeGoogleQuickie() {
7
- return async (ai, content, images = []) => {
8
- const response = await handleRequest(ai, content, images);
9
- return handleResponse(response);
10
- };
11
- }
12
- // ---------------
13
- // HANDLE REQUEST
14
- // ---------------
15
- async function handleRequest(ai, content, images = []) {
16
- try {
17
- const client = getGoogleClient(ai.api);
18
- const c = { ...defaultAIConfig, ...ai };
19
- const generationConfig = {
20
- maxOutputTokens: c.max_tokens,
21
- // temperature: c.temperature,
22
- // topP: c.top_p,
23
- };
24
- const genModel = client.getGenerativeModel({ model: c.llm.model, generationConfig });
25
- if (ai.jsonMode)
26
- generationConfig.responseMimeType = 'application/json';
27
- const request = {
28
- contents: [aiEvent2GoogleContent({ type: AIEventType.USER_CHAT, content, images })],
29
- generationConfig,
30
- };
31
- return callAI(async (r) => {
32
- const rsp = await genModel.generateContent(r);
33
- return rsp.response;
34
- }, request, c.timeout);
35
- }
36
- catch (e) {
37
- Logger.error('Problem processing AI Request', { message: e.message });
38
- throw e;
39
- }
40
- }
41
- // ---------------
42
- // HANDLE RESPONSE
43
- // ---------------
44
- async function handleResponse(response) {
45
- try {
46
- return response.candidates[0].content.parts[0].text;
47
- }
48
- catch (e) {
49
- Logger.error('Problem processing AI response', { message: e.message });
50
- throw e;
51
- }
52
- }
@@ -1,3 +0,0 @@
1
- import { AIConfig, AIThoughtInput, AIThoughtOutput } from '@sjts/ai-shared';
2
- export declare function makeGoogleThink(): (ai: AIConfig, input: AIThoughtInput) => Promise<AIThoughtOutput>;
3
- //# sourceMappingURL=makeGoogleThink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeGoogleThink.d.ts","sourceRoot":"","sources":["../../../src/_/google/makeGoogleThink.ts"],"names":[],"mappings":"AACA,OAAO,EACN,QAAQ,EAER,cAAc,EACd,eAAe,EAEf,MAAM,iBAAiB,CAAA;AAOxB,wBAAgB,eAAe,KAChB,IAAI,QAAQ,EAAE,OAAO,cAAc,KAAG,OAAO,CAAC,eAAe,CAAC,CAI5E"}
@@ -1,93 +0,0 @@
1
- import { AIEventType, defaultAIConfig, } from '@sjts/ai-shared';
2
- import { Logger } from '@sjts/lib-log';
3
- import * as uuid from 'uuid';
4
- import { callAI } from '../callAI.js';
5
- import { compileGoogleThought } from './_/compileGoogleThought.js';
6
- import { getGoogleClient } from './_/getGoogleClient.js';
7
- export function makeGoogleThink() {
8
- return async (ai, input) => {
9
- const response = await handleRequest(ai, input);
10
- return handleResponse(response);
11
- };
12
- }
13
- // ---------------
14
- // HANDLE REQUEST
15
- // ---------------
16
- async function handleRequest(ai, input) {
17
- try {
18
- // Initialize Gemini client
19
- const client = getGoogleClient(ai.api);
20
- const c = { ...defaultAIConfig, ...ai };
21
- const generationConfig = {
22
- maxOutputTokens: c.max_tokens,
23
- // temperature: c.temperature,
24
- // topP: c.top_p,
25
- };
26
- // Compile Gemini thought
27
- const v = await compileGoogleThought(input);
28
- const { contents, systemInstruction, functionDeclarations } = v;
29
- // Handle tools
30
- const hasFncs = !!functionDeclarations?.length;
31
- const tools = hasFncs ? [{ functionDeclarations }] : undefined;
32
- const toolConfig = !hasFncs
33
- ? undefined
34
- : {
35
- function_calling_config: { mode: 'ANY' },
36
- };
37
- const genModel = client.getGenerativeModel({ model: ai.llm.model });
38
- if (ai.jsonMode)
39
- generationConfig.responseMimeType = 'application/json';
40
- const request = {
41
- contents,
42
- systemInstruction,
43
- tools,
44
- toolConfig,
45
- generationConfig,
46
- };
47
- return callAI(async (r) => {
48
- const rsp = await genModel.generateContent(r);
49
- return rsp.response;
50
- }, request, c.timeout);
51
- }
52
- catch (e) {
53
- Logger.error('Problem processing AI Request', { message: e.message });
54
- throw e;
55
- }
56
- }
57
- // ---------------
58
- // HANDLE RESPONSE
59
- // ---------------
60
- async function handleResponse(response) {
61
- try {
62
- const parts = response.candidates?.[0].content.parts ?? [];
63
- const textParts = parts.map(p => p.text).filter(Boolean);
64
- const toolParts = parts.map(p => p.functionCall).filter(Boolean);
65
- //----------------
66
- // AI TOOL CALL MESSAGE
67
- //----------------
68
- if (toolParts?.length) {
69
- return {
70
- type: AIEventType.TOOL_REQUEST,
71
- content: textParts.join('\n\n'),
72
- toolCalls: toolParts.map(t => ({
73
- callId: uuid.v4(),
74
- tool: t?.name ?? '',
75
- params: t?.args ?? '',
76
- })),
77
- };
78
- }
79
- //----------------
80
- // AI CHAT MESSAGE
81
- //---------------
82
- else {
83
- return {
84
- type: AIEventType.AI_CHAT,
85
- content: textParts.join('\n\n'),
86
- };
87
- }
88
- }
89
- catch (e) {
90
- Logger.error('Problem processing AI response', { message: e.message });
91
- throw e;
92
- }
93
- }
@@ -1,13 +0,0 @@
1
- export * from './amazon/index.js';
2
- export * from './anthropic/index.js';
3
- export * from './callAI.js';
4
- export * from './cerebras/index.js';
5
- export * from './compileObject.js';
6
- export * from './compileParam.js';
7
- export * from './google/index.js';
8
- export * from './logAI.js';
9
- export * from './mistral/index.js';
10
- export * from './openai/index.js';
11
- export * from './types/index.js';
12
- export * from './voyageai/index.js';
13
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/_/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
@@ -1,12 +0,0 @@
1
- export * from './amazon/index.js';
2
- export * from './anthropic/index.js';
3
- export * from './callAI.js';
4
- export * from './cerebras/index.js';
5
- export * from './compileObject.js';
6
- export * from './compileParam.js';
7
- export * from './google/index.js';
8
- export * from './logAI.js';
9
- export * from './mistral/index.js';
10
- export * from './openai/index.js';
11
- export * from './types/index.js';
12
- export * from './voyageai/index.js';
@@ -1,3 +0,0 @@
1
- export declare function logAIRequest(request: any): void;
2
- export declare function logAIResponse(response: any): void;
3
- //# sourceMappingURL=logAI.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logAI.d.ts","sourceRoot":"","sources":["../../src/_/logAI.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,QAExC;AACD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,QAE1C"}
@@ -1,7 +0,0 @@
1
- import { Logger } from '@sjts/lib-log';
2
- export function logAIRequest(request) {
3
- Logger.debug('Request', JSON.stringify(request, null, 4));
4
- }
5
- export function logAIResponse(response) {
6
- Logger.debug('Response', JSON.stringify(response, null, 4));
7
- }
@@ -1,3 +0,0 @@
1
- import { AIEvent } from '@sjts/ai-shared';
2
- export declare function aiEvent2MistralAIMessage(event: AIEvent): any;
3
- //# sourceMappingURL=aiEvent2MistralAIMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aiEvent2MistralAIMessage.d.ts","sourceRoot":"","sources":["../../../../src/_/mistral/_/aiEvent2MistralAIMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAA;AAEtD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAmD5D"}
@@ -1,47 +0,0 @@
1
- import { AIEventType } from '@sjts/ai-shared';
2
- export function aiEvent2MistralAIMessage(event) {
3
- switch (event.type) {
4
- case AIEventType.USER_CHAT:
5
- // Include Images
6
- if (event.images?.length) {
7
- return {
8
- role: 'user',
9
- content: [
10
- { type: 'text', text: event.content },
11
- ...event.images.map(image => ({
12
- type: 'image_url',
13
- image_url: { url: `data:${image.mime};base64,${image.data}` },
14
- })),
15
- ],
16
- };
17
- }
18
- // Plain Text
19
- return {
20
- role: 'user',
21
- content: event.content,
22
- };
23
- case AIEventType.AI_CHAT:
24
- return {
25
- role: 'assistant',
26
- content: event.content,
27
- };
28
- case AIEventType.TOOL_REQUEST:
29
- return {
30
- role: 'assistant',
31
- tool_calls: event.toolCalls.map(tc => ({
32
- id: tc.callId,
33
- type: 'function',
34
- function: {
35
- name: tc.tool,
36
- arguments: JSON.stringify(tc.params),
37
- },
38
- })),
39
- };
40
- case AIEventType.TOOL_RESPONSE:
41
- return {
42
- role: 'tool',
43
- tool_call_id: event.callId,
44
- content: event.content,
45
- };
46
- }
47
- }
@@ -1,3 +0,0 @@
1
- import { AITool } from '@sjts/ai-shared';
2
- export declare function aiTool2MistralAITool(tool: AITool): any;
3
- //# sourceMappingURL=aiTool2MistralAITool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aiTool2MistralAITool.d.ts","sourceRoot":"","sources":["../../../../src/_/mistral/_/aiTool2MistralAITool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAYtD"}
@@ -1,14 +0,0 @@
1
- import { compileObject } from '../../compileObject.js';
2
- export function aiTool2MistralAITool(tool) {
3
- return {
4
- type: 'function',
5
- function: {
6
- name: tool.key,
7
- description: tool.description,
8
- parameters: {
9
- ...compileObject(tool.params),
10
- type: 'object',
11
- },
12
- },
13
- };
14
- }
@@ -1,6 +0,0 @@
1
- import { AIThoughtInput } from '@sjts/ai-shared';
2
- export declare function compileMistralAIThought(input: AIThoughtInput): {
3
- messages: any[];
4
- tools: any[];
5
- };
6
- //# sourceMappingURL=compileMistralAIThought.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compileMistralAIThought.d.ts","sourceRoot":"","sources":["../../../../src/_/mistral/_/compileMistralAIThought.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG;IAC/D,QAAQ,EAAE,GAAG,EAAE,CAAA;IACf,KAAK,EAAE,GAAG,EAAE,CAAA;CACZ,CAeA"}
@@ -1,15 +0,0 @@
1
- import { aiEvent2MistralAIMessage } from './aiEvent2MistralAIMessage.js';
2
- import { aiTool2MistralAITool } from './aiTool2MistralAITool.js';
3
- export function compileMistralAIThought(input) {
4
- const messages = [];
5
- if (input.context)
6
- messages.push({
7
- role: 'system',
8
- content: input.context,
9
- });
10
- const historyMessages = input.history.map(aiEvent2MistralAIMessage).filter(Boolean);
11
- if (historyMessages?.length)
12
- messages.push(...historyMessages);
13
- const tools = input?.tools?.map(aiTool2MistralAITool) ?? [];
14
- return { messages, tools };
15
- }
@@ -1,4 +0,0 @@
1
- import { Mistral } from '@mistralai/mistralai';
2
- import { APIConfig } from '@sjts/lib-utils';
3
- export declare function getMistralAIClient(cfg: APIConfig): Mistral;
4
- //# sourceMappingURL=getMistralAIClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getMistralAIClient.d.ts","sourceRoot":"","sources":["../../../../src/_/mistral/_/getMistralAIClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAK1D"}
@@ -1,8 +0,0 @@
1
- import { Mistral } from '@mistralai/mistralai';
2
- const _cache = { current: undefined };
3
- export function getMistralAIClient(cfg) {
4
- if (!_cache.current) {
5
- _cache.current = new Mistral({ apiKey: cfg.apiKey });
6
- }
7
- return _cache.current;
8
- }
@@ -1,5 +0,0 @@
1
- export * from './aiEvent2MistralAIMessage.js';
2
- export * from './aiTool2MistralAITool.js';
3
- export * from './compileMistralAIThought.js';
4
- export * from './getMistralAIClient.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_/mistral/_/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './aiEvent2MistralAIMessage.js';
2
- export * from './aiTool2MistralAITool.js';
3
- export * from './compileMistralAIThought.js';
4
- export * from './getMistralAIClient.js';
@@ -1,3 +0,0 @@
1
- export * from './makeMistralAIQuickie.js';
2
- export * from './makeMistralAIThink.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_/mistral/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './makeMistralAIQuickie.js';
2
- export * from './makeMistralAIThink.js';
@@ -1,3 +0,0 @@
1
- import { AIConfig, AIImage } from '@sjts/ai-shared';
2
- export declare function makeMistralAIQuickie(): (ai: AIConfig, content: string, images?: AIImage[]) => Promise<string>;
3
- //# sourceMappingURL=makeMistralAIQuickie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeMistralAIQuickie.d.ts","sourceRoot":"","sources":["../../../src/_/mistral/makeMistralAIQuickie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAe,OAAO,EAAmB,MAAM,iBAAiB,CAAA;AAMjF,wBAAgB,oBAAoB,KACrB,IAAI,QAAQ,EAAE,SAAS,MAAM,EAAE,SAAQ,OAAO,EAAO,KAAG,OAAO,CAAC,MAAM,CAAC,CAIrF"}
@@ -1,45 +0,0 @@
1
- import { AIEventType, defaultAIConfig } from '@sjts/ai-shared';
2
- import { Logger } from '@sjts/lib-log';
3
- import { callAI } from '../callAI.js';
4
- import { aiEvent2MistralAIMessage } from './_/aiEvent2MistralAIMessage.js';
5
- import { getMistralAIClient } from './_/getMistralAIClient.js';
6
- export function makeMistralAIQuickie() {
7
- return async (ai, content, images = []) => {
8
- const response = await handleRequest(ai, content, images);
9
- return handleResponse(response);
10
- };
11
- }
12
- // ---------------
13
- // HANDLE REQUEST
14
- // ---------------
15
- async function handleRequest(ai, content, images = []) {
16
- try {
17
- const client = getMistralAIClient(ai.api);
18
- const c = { ...defaultAIConfig, ...ai };
19
- const request = {
20
- messages: [aiEvent2MistralAIMessage({ type: AIEventType.USER_CHAT, content, images })],
21
- model: c.llm.model,
22
- max_tokens: c.max_tokens,
23
- // temperature: c.temperature,
24
- // frequency_penalty: c.frequency_penalty,
25
- response_format: ai.jsonMode ? { type: 'json_object' } : undefined,
26
- };
27
- return callAI(r => client.chat.complete(r), request, c.timeout);
28
- }
29
- catch (e) {
30
- Logger.error('Problem processing AI Request', { message: e.message });
31
- throw e;
32
- }
33
- }
34
- // ---------------
35
- // HANDLE RESPONSE
36
- // ---------------
37
- async function handleResponse(response) {
38
- try {
39
- return response.choices[0].message.content;
40
- }
41
- catch (e) {
42
- Logger.error('Problem processing AI response', { message: e.message });
43
- throw e;
44
- }
45
- }
@@ -1,3 +0,0 @@
1
- import { AIConfig, AIThoughtInput, AIThoughtOutput } from '@sjts/ai-shared';
2
- export declare function makeMistralAIThink(): (ai: AIConfig, input: AIThoughtInput) => Promise<AIThoughtOutput>;
3
- //# sourceMappingURL=makeMistralAIThink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeMistralAIThink.d.ts","sourceRoot":"","sources":["../../../src/_/mistral/makeMistralAIThink.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAER,cAAc,EACd,eAAe,EAGf,MAAM,iBAAiB,CAAA;AAMxB,wBAAgB,kBAAkB,KACnB,IAAI,QAAQ,EAAE,OAAO,cAAc,KAAG,OAAO,CAAC,eAAe,CAAC,CAI5E"}
@@ -1,74 +0,0 @@
1
- import { AIEventType, defaultAIConfig, parseJson, } from '@sjts/ai-shared';
2
- import { Logger } from '@sjts/lib-log';
3
- import { callAI } from '../callAI.js';
4
- import { compileMistralAIThought } from './_/compileMistralAIThought.js';
5
- import { getMistralAIClient } from './_/getMistralAIClient.js';
6
- export function makeMistralAIThink() {
7
- return async (ai, input) => {
8
- const response = await handleRequest(ai, input);
9
- return handleResponse(response);
10
- };
11
- }
12
- // ---------------
13
- // HANDLE REQUEST
14
- // ---------------
15
- async function handleRequest(ai, input) {
16
- try {
17
- const { messages, tools } = compileMistralAIThought(input);
18
- const hasTools = !!tools?.length;
19
- const client = getMistralAIClient(ai.api);
20
- const c = { ...defaultAIConfig, ...ai };
21
- const request = {
22
- messages,
23
- model: c.llm.model,
24
- tools: hasTools ? tools : undefined,
25
- tool_choice: hasTools ? c.tool_choice : undefined,
26
- max_tokens: c.max_tokens,
27
- // top_p: c.top_p,
28
- // temperature: c.temperature,
29
- // frequency_penalty: c.frequency_penalty,
30
- // presence_penalty: c.presence_penalty,
31
- response_format: ai.jsonMode ? { type: 'json_object' } : undefined,
32
- };
33
- return callAI(r => client.chat.complete(r), request, c.timeout);
34
- }
35
- catch (e) {
36
- Logger.error('Problem processing AI Request', { message: e.message });
37
- throw e;
38
- }
39
- }
40
- // ---------------
41
- // HANDLE RESPONSE
42
- // ---------------
43
- async function handleResponse(response) {
44
- try {
45
- const message = response.choices[0].message;
46
- //----------------
47
- // AI TOOL CALL MESSAGE
48
- //----------------
49
- if (message.tool_calls?.length) {
50
- return {
51
- type: AIEventType.TOOL_REQUEST,
52
- content: message.content ?? '',
53
- toolCalls: message.tool_calls.map(t => ({
54
- callId: t.id,
55
- tool: t.function.name,
56
- params: (parseJson(t.function.arguments) ?? []),
57
- })),
58
- };
59
- }
60
- //----------------
61
- // AI CHAT MESSAGE
62
- //----------------
63
- else {
64
- return {
65
- type: AIEventType.AI_CHAT,
66
- content: message.content ?? '',
67
- };
68
- }
69
- }
70
- catch (e) {
71
- Logger.error('Problem processing AI response', { message: e.message });
72
- throw e;
73
- }
74
- }
@@ -1,4 +0,0 @@
1
- import { AIEvent } from '@sjts/ai-shared';
2
- import OpenAI from 'openai';
3
- export declare function aiEvent2OpenAIMessage(event: AIEvent): OpenAI.ChatCompletionMessageParam | undefined;
4
- //# sourceMappingURL=aiEvent2OpenAIMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aiEvent2OpenAIMessage.d.ts","sourceRoot":"","sources":["../../../../src/_/openai/_/aiEvent2OpenAIMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAA;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,OAAO,GACZ,MAAM,CAAC,0BAA0B,GAAG,SAAS,CAmD/C"}
@@ -1,47 +0,0 @@
1
- import { AIEventType } from '@sjts/ai-shared';
2
- export function aiEvent2OpenAIMessage(event) {
3
- switch (event.type) {
4
- case AIEventType.USER_CHAT:
5
- // Include Images
6
- if (event.images?.length) {
7
- return {
8
- role: 'user',
9
- content: [
10
- { type: 'text', text: event.content },
11
- ...event.images.map(image => ({
12
- type: 'image_url',
13
- image_url: { url: `data:${image.mime};base64,${image.data}` },
14
- })),
15
- ],
16
- };
17
- }
18
- // Plain Text
19
- return {
20
- role: 'user',
21
- content: event.content,
22
- };
23
- case AIEventType.AI_CHAT:
24
- return {
25
- role: 'assistant',
26
- content: event.content,
27
- };
28
- case AIEventType.TOOL_REQUEST:
29
- return {
30
- role: 'assistant',
31
- tool_calls: event.toolCalls.map(tc => ({
32
- id: tc.callId,
33
- type: 'function',
34
- function: {
35
- name: tc.tool,
36
- arguments: JSON.stringify(tc.params),
37
- },
38
- })),
39
- };
40
- case AIEventType.TOOL_RESPONSE:
41
- return {
42
- role: 'tool',
43
- tool_call_id: event.callId,
44
- content: event.content,
45
- };
46
- }
47
- }
@@ -1,4 +0,0 @@
1
- import { AITool } from '@sjts/ai-shared';
2
- import OpenAI from 'openai';
3
- export declare function aiTool2OpenAITool(tool: AITool): OpenAI.ChatCompletionTool;
4
- //# sourceMappingURL=aiTool2OpenAITool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aiTool2OpenAITool.d.ts","sourceRoot":"","sources":["../../../../src/_/openai/_/aiTool2OpenAITool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAG3B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAYzE"}
@@ -1,14 +0,0 @@
1
- import { compileObject } from '../../compileObject.js';
2
- export function aiTool2OpenAITool(tool) {
3
- return {
4
- type: 'function',
5
- function: {
6
- name: tool.key,
7
- description: tool.description,
8
- parameters: {
9
- ...compileObject(tool.params),
10
- type: 'object',
11
- },
12
- },
13
- };
14
- }
@@ -1,7 +0,0 @@
1
- import { AIThoughtInput } from '@sjts/ai-shared';
2
- import OpenAI from 'openai';
3
- export declare function compileOpenAIThought(input: AIThoughtInput): {
4
- messages: OpenAI.ChatCompletionMessageParam[];
5
- tools: OpenAI.ChatCompletionTool[];
6
- };
7
- //# sourceMappingURL=compileOpenAIThought.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compileOpenAIThought.d.ts","sourceRoot":"","sources":["../../../../src/_/openai/_/compileOpenAIThought.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,MAAM,MAAM,QAAQ,CAAA;AAI3B,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG;IAC5D,QAAQ,EAAE,MAAM,CAAC,0BAA0B,EAAE,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAA;CAClC,CAiBA"}
@@ -1,17 +0,0 @@
1
- import { aiEvent2OpenAIMessage } from './aiEvent2OpenAIMessage.js';
2
- import { aiTool2OpenAITool } from './aiTool2OpenAITool.js';
3
- export function compileOpenAIThought(input) {
4
- const messages = [];
5
- if (input.context)
6
- messages.push({
7
- role: 'system',
8
- content: input.context,
9
- });
10
- const historyMessages = input.history
11
- .map(aiEvent2OpenAIMessage)
12
- .filter(Boolean);
13
- if (historyMessages?.length)
14
- messages.push(...historyMessages);
15
- const tools = input?.tools?.map(aiTool2OpenAITool) ?? [];
16
- return { messages, tools };
17
- }
@@ -1,4 +0,0 @@
1
- import { APIConfig } from '@sjts/lib-utils';
2
- import OpenAI from 'openai';
3
- export declare function getOpenAIClient(cfg: APIConfig, baseURL?: string): OpenAI;
4
- //# sourceMappingURL=getOpenAIClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getOpenAIClient.d.ts","sourceRoot":"","sources":["../../../../src/_/openai/_/getOpenAIClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,MAAM,MAAM,QAAQ,CAAA;AAI3B,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CASxE"}
@@ -1,12 +0,0 @@
1
- import OpenAI from 'openai';
2
- // const _cache: { current: OpenAI | undefined } = { current: undefined }
3
- export function getOpenAIClient(cfg, baseURL) {
4
- const options = {
5
- apiKey: cfg.apiKey,
6
- };
7
- if (!!baseURL)
8
- options.baseURL = baseURL;
9
- else if (!!cfg.customAPISettings?.organization)
10
- options.organization = cfg.customAPISettings.organization;
11
- return new OpenAI(options);
12
- }