@casual-simulation/aux-records 3.2.15 → 3.2.16

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.
@@ -87,8 +87,9 @@ export interface AIChatMessage {
87
87
  role: 'system' | 'user' | 'assistant' | 'function';
88
88
  /**
89
89
  * The contents of the message.
90
+ * This can be a string, an array of objects which represent the contents of the message.
90
91
  */
91
- content: string;
92
+ content: string | AIChatContent[];
92
93
  /**
93
94
  * The name of the author of the message.
94
95
  *
@@ -104,20 +105,106 @@ export interface AIChatMessage {
104
105
  */
105
106
  functionCall?: AIFunctionCall;
106
107
  }
108
+ /**
109
+ * Defines an interface that represents the contents of an AI chat message.
110
+ *
111
+ * @dochash types/ai
112
+ * @docname AIChatContent
113
+ */
114
+ export type AIChatContent = AITextContent | AIDataContent | AIUrlContent;
115
+ /**
116
+ * Defines an interface that represents text that is passed to an AI chat model.
117
+ *
118
+ * @dochash types/ai
119
+ * @docname AITextContent
120
+ */
121
+ export interface AITextContent {
122
+ /**
123
+ * The text of the content.
124
+ */
125
+ text: string;
126
+ }
127
+ /**
128
+ * Defines an interface that represents data that is passed to an AI chat model.
129
+ * This data can be used to represent images, videos, or other types of binary data that the model supports.
130
+ * Some models do not support this type of content.
131
+ *
132
+ * @dochash types/ai
133
+ * @docname AIDataContent
134
+ */
135
+ export interface AIDataContent {
136
+ /**
137
+ * The base 64 encoded data of the content.
138
+ */
139
+ base64: string;
140
+ /**
141
+ * The MIME type of the content.
142
+ */
143
+ mimeType: string;
144
+ }
145
+ /**
146
+ * Defines an interface that represents a URL that is passed to an AI chat model.
147
+ * This data can be used to represent images, videos, or other types of data that the model supports fetching.
148
+ * Some models do not support this type of content.
149
+ *
150
+ * @dochash types/ai
151
+ * @docname AIUrlContent
152
+ */
153
+ export interface AIUrlContent {
154
+ /**
155
+ * The URL that the content is available at.
156
+ */
157
+ url: string;
158
+ }
107
159
  /**
108
160
  * Defines a schema that represents an AI chat message.
109
161
  */
110
162
  export declare const AI_CHAT_MESSAGE_SCHEMA: z.ZodObject<{
111
163
  role: z.ZodUnion<[z.ZodLiteral<"system">, z.ZodLiteral<"user">, z.ZodLiteral<"assistant">, z.ZodLiteral<"function">]>;
112
- content: z.ZodString;
164
+ content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
165
+ text: z.ZodString;
166
+ }, "strip", z.ZodTypeAny, {
167
+ text?: string;
168
+ }, {
169
+ text?: string;
170
+ }>, z.ZodObject<{
171
+ base64: z.ZodString;
172
+ mimeType: z.ZodString;
173
+ }, "strip", z.ZodTypeAny, {
174
+ base64?: string;
175
+ mimeType?: string;
176
+ }, {
177
+ base64?: string;
178
+ mimeType?: string;
179
+ }>, z.ZodObject<{
180
+ url: z.ZodString;
181
+ }, "strip", z.ZodTypeAny, {
182
+ url?: string;
183
+ }, {
184
+ url?: string;
185
+ }>]>, "many">]>;
113
186
  author: z.ZodOptional<z.ZodString>;
114
187
  }, "strip", z.ZodTypeAny, {
115
188
  role?: "function" | "system" | "user" | "assistant";
116
- content?: string;
189
+ content?: string | ({
190
+ text?: string;
191
+ } | {
192
+ base64?: string;
193
+ mimeType?: string;
194
+ } | {
195
+ url?: string;
196
+ })[];
117
197
  author?: string;
118
198
  }, {
119
199
  role?: "function" | "system" | "user" | "assistant";
120
- content?: string;
200
+ content?: string | ({
201
+ text?: string;
202
+ } | {
203
+ base64?: string;
204
+ mimeType?: string;
205
+ } | {
206
+ url?: string;
207
+ })[];
121
208
  author?: string;
122
209
  }>;
123
210
  /**
@@ -9,7 +9,21 @@ export const AI_CHAT_MESSAGE_SCHEMA = z.object({
9
9
  z.literal('assistant'),
10
10
  z.literal('function'),
11
11
  ]),
12
- content: z.string().nonempty(),
12
+ content: z.union([
13
+ z.string().nonempty(),
14
+ z.array(z.union([
15
+ z.object({
16
+ text: z.string().nonempty(),
17
+ }),
18
+ z.object({
19
+ base64: z.string().nonempty(),
20
+ mimeType: z.string().nonempty(),
21
+ }),
22
+ z.object({
23
+ url: z.string().url().nonempty(),
24
+ }),
25
+ ])),
26
+ ]),
13
27
  author: z.string().nonempty().optional(),
14
28
  });
15
29
  //# sourceMappingURL=AIChatInterface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIChatInterface.js","sourceRoot":"","sources":["AIChatInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4HxB;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QACV,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACtB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"AIChatInterface.js","sourceRoot":"","sources":["AIChatInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqLxB;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QACV,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACtB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;QACb,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrB,CAAC,CAAC,KAAK,CACH,CAAC,CAAC,KAAK,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC;gBACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC9B,CAAC;YACF,CAAC,CAAC,MAAM,CAAC;gBACL,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAClC,CAAC;YACF,CAAC,CAAC,MAAM,CAAC;gBACL,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;aACnC,CAAC;SACL,CAAC,CACL;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC"}
package/AIController.d.ts CHANGED
@@ -14,7 +14,7 @@ export interface AIConfiguration {
14
14
  policies: PolicyStore;
15
15
  }
16
16
  export interface AIChatConfiguration {
17
- interface: AIChatInterface;
17
+ interfaces: AIChatProviders;
18
18
  options: AIChatOptions;
19
19
  }
20
20
  export interface AIChatOptions {
@@ -22,10 +22,14 @@ export interface AIChatOptions {
22
22
  * The model that should be used when none is specified in a request.
23
23
  */
24
24
  defaultModel: string;
25
+ /**
26
+ * The provider for the default model.
27
+ */
28
+ defaultModelProvider: string;
25
29
  /**
26
30
  * The list of allowed models that are allowed to be used for chat.
27
31
  */
28
- allowedChatModels: string[];
32
+ allowedChatModels: AllowedAIChatModel[];
29
33
  /**
30
34
  * The list of subscription tiers that are allowed to be used for chat.
31
35
  *
@@ -34,6 +38,16 @@ export interface AIChatOptions {
34
38
  */
35
39
  allowedChatSubscriptionTiers: true | string[];
36
40
  }
41
+ export interface AllowedAIChatModel {
42
+ /**
43
+ * The provider for the model.
44
+ */
45
+ provider: string;
46
+ /**
47
+ * The name of the model.
48
+ */
49
+ model: string;
50
+ }
37
51
  export interface AIGenerateSkyboxConfiguration {
38
52
  interface: AIGenerateSkyboxInterface;
39
53
  options: AIGenerateSkyboxConfigurationOptions;
@@ -99,13 +113,19 @@ export interface AIGenerateImageConfigurationOptions {
99
113
  export interface AIImageProviders {
100
114
  [provider: string]: AIImageInterface;
101
115
  }
116
+ export interface AIChatProviders {
117
+ [provider: string]: AIChatInterface;
118
+ }
102
119
  /**
103
120
  * Defines a class that is able to handle AI requests.
104
121
  */
105
122
  export declare class AIController {
106
- private _chat;
123
+ private _chatProviders;
107
124
  private _chatOptions;
108
125
  private _generateSkybox;
126
+ /**
127
+ * A map of model names to their providers
128
+ */
109
129
  private _allowedChatModels;
110
130
  private _allowedChatSubscriptionTiers;
111
131
  private _allowedGenerateSkyboxSubscriptionTiers;
package/AIController.js CHANGED
@@ -16,9 +16,11 @@ export class AIController {
16
16
  if (configuration.chat) {
17
17
  const chat = configuration.chat;
18
18
  const options = chat.options;
19
- this._chat = chat.interface;
19
+ this._chatProviders = chat.interfaces;
20
20
  this._chatOptions = options;
21
- this._allowedChatModels = new Set(options.allowedChatModels);
21
+ this._allowedChatModels = new Map(options.allowedChatModels.map((m) => typeof m === 'string'
22
+ ? [m, options.defaultModel]
23
+ : [m.model, m.provider]));
22
24
  this._allowedChatSubscriptionTiers =
23
25
  typeof options.allowedChatSubscriptionTiers === 'boolean'
24
26
  ? options.allowedChatSubscriptionTiers
@@ -52,10 +54,10 @@ export class AIController {
52
54
  this._policies = configuration.policies;
53
55
  }
54
56
  chat(request) {
55
- var _a;
57
+ var _a, _b;
56
58
  return __awaiter(this, void 0, void 0, function* () {
57
59
  try {
58
- if (!this._chat) {
60
+ if (!this._chatProviders) {
59
61
  return {
60
62
  success: false,
61
63
  errorCode: 'not_supported',
@@ -102,6 +104,20 @@ export class AIController {
102
104
  errorMessage: `The given model is not allowed for chats.`,
103
105
  };
104
106
  }
107
+ const model = (_a = request.model) !== null && _a !== void 0 ? _a : this._chatOptions.defaultModel;
108
+ const provider = (_b = this._allowedChatModels.get(request.model)) !== null && _b !== void 0 ? _b : this._chatOptions.defaultModelProvider;
109
+ const chat = this._chatProviders[provider];
110
+ if (!chat) {
111
+ console.error('[AIController] No chat provider found for model:', model);
112
+ return {
113
+ success: false,
114
+ errorCode: 'not_supported',
115
+ errorMessage: 'The given model is not supported.',
116
+ };
117
+ }
118
+ else {
119
+ console.log('[AIController] Using chat provider:', provider, 'for model:', model);
120
+ }
105
121
  const metrics = yield this._metrics.getSubscriptionAiChatMetrics({
106
122
  ownerId: request.userId,
107
123
  });
@@ -145,9 +161,9 @@ export class AIController {
145
161
  };
146
162
  }
147
163
  }
148
- const result = yield this._chat.chat({
164
+ const result = yield chat.chat({
149
165
  messages: request.messages,
150
- model: (_a = request.model) !== null && _a !== void 0 ? _a : this._chatOptions.defaultModel,
166
+ model: model,
151
167
  temperature: request.temperature,
152
168
  topP: request.topP,
153
169
  frequencyPenalty: request.frequencyPenalty,
@@ -1 +1 @@
1
- {"version":3,"file":"AIController.js","sourceRoot":"","sources":["AIController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIController.js","sourceRoot":"","sources":["AIController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { AIChatInterface, AIChatInterfaceRequest, AIChatInterfaceResponse } from './AIChatInterface';
2
+ export interface GoogleAIChatOptions {
3
+ /**
4
+ * The API key to use.
5
+ */
6
+ apiKey: string;
7
+ }
8
+ /**
9
+ * Defines a class that implements {@link AIChatInterface} using the Google Gemini API.
10
+ */
11
+ export declare class GoogleAIChatInterface implements AIChatInterface {
12
+ private _options;
13
+ private _genAI;
14
+ constructor(options: GoogleAIChatOptions);
15
+ chat(request: AIChatInterfaceRequest): Promise<AIChatInterfaceResponse>;
16
+ }
17
+ //# sourceMappingURL=GoogleAIChatInterface.d.ts.map
@@ -0,0 +1,124 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { GoogleGenerativeAI } from '@google/generative-ai';
11
+ /**
12
+ * Defines a class that implements {@link AIChatInterface} using the Google Gemini API.
13
+ */
14
+ export class GoogleAIChatInterface {
15
+ constructor(options) {
16
+ this._options = options;
17
+ this._genAI = new GoogleGenerativeAI(options.apiKey);
18
+ }
19
+ chat(request) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ try {
22
+ const model = this._genAI.getGenerativeModel({
23
+ model: request.model,
24
+ });
25
+ const messages = request.messages.map((m) => mapMessage(m));
26
+ const historyMessages = messages.slice(0, messages.length - 1);
27
+ const lastMessage = messages[messages.length - 1];
28
+ if (historyMessages.length > 0) {
29
+ if (lastMessage.role !== 'user' ||
30
+ historyMessages[historyMessages.length - 1].role !== 'model') {
31
+ return {
32
+ choices: [
33
+ {
34
+ role: 'system',
35
+ content: 'When using Google Gemini, the last message must be from the user and the second to last message (if provided) must be from the model.',
36
+ },
37
+ ],
38
+ totalTokens: 0,
39
+ };
40
+ }
41
+ }
42
+ if (lastMessage.role !== 'user') {
43
+ return {
44
+ choices: [
45
+ {
46
+ role: 'system',
47
+ content: 'When using Google Gemini, the last message must be from the user.',
48
+ },
49
+ ],
50
+ totalTokens: 0,
51
+ };
52
+ }
53
+ const chat = model.startChat({
54
+ history: historyMessages,
55
+ generationConfig: {
56
+ maxOutputTokens: request.maxTokens,
57
+ topP: request.topP,
58
+ temperature: request.temperature,
59
+ stopSequences: request.stopWords,
60
+ },
61
+ });
62
+ const result = yield chat.sendMessage(lastMessage.parts);
63
+ const response = result.response;
64
+ const chatContents = yield chat.getHistory();
65
+ const tokens = yield model.countTokens({
66
+ contents: chatContents,
67
+ });
68
+ return {
69
+ choices: [
70
+ {
71
+ role: 'assistant',
72
+ content: response.text(),
73
+ },
74
+ ],
75
+ totalTokens: tokens.totalTokens,
76
+ };
77
+ }
78
+ catch (err) {
79
+ if (err instanceof Error) {
80
+ console.error('[GoogleAIChatInterface] Error occurred while generating content.', err);
81
+ return {
82
+ choices: [
83
+ {
84
+ role: 'system',
85
+ content: `Error: ${err.message}`,
86
+ },
87
+ ],
88
+ totalTokens: 0,
89
+ };
90
+ }
91
+ throw err;
92
+ }
93
+ });
94
+ }
95
+ }
96
+ function mapMessage(message) {
97
+ return {
98
+ role: message.role === 'user' || message.role === 'system'
99
+ ? 'user'
100
+ : 'model',
101
+ parts: typeof message.content === 'string'
102
+ ? message.content
103
+ : mapParts(message.content),
104
+ };
105
+ }
106
+ function mapParts(content) {
107
+ return typeof content === 'string'
108
+ ? content
109
+ : content.map((c) => {
110
+ if ('text' in c) {
111
+ return c.text;
112
+ }
113
+ else if ('base64' in c) {
114
+ return {
115
+ inlineData: {
116
+ data: c.base64,
117
+ mimeType: c.mimeType,
118
+ },
119
+ };
120
+ }
121
+ throw new Error('URL content is not supported for Google Gemini models');
122
+ });
123
+ }
124
+ //# sourceMappingURL=GoogleAIChatInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoogleAIChatInterface.js","sourceRoot":"","sources":["GoogleAIChatInterface.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,27 @@ export class OpenAIChatInterface {
23
23
  model: request.model,
24
24
  messages: request.messages.map((m) => ({
25
25
  role: m.role,
26
- content: m.content,
26
+ content: typeof m.content === 'string'
27
+ ? m.content
28
+ : m.content.map((c) => 'text' in c
29
+ ? {
30
+ type: 'text',
31
+ text: c.text,
32
+ }
33
+ : 'url' in c
34
+ ? {
35
+ type: 'image_url',
36
+ image_url: {
37
+ url: c.url,
38
+ },
39
+ }
40
+ : {
41
+ type: 'image_url',
42
+ image_url: {
43
+ url: `data:${c.mimeType ||
44
+ 'image/png'};base64,${c.base64}`,
45
+ },
46
+ }),
27
47
  name: m.author,
28
48
  function_call: m.functionCall,
29
49
  })),
@@ -52,6 +72,20 @@ export class OpenAIChatInterface {
52
72
  };
53
73
  }
54
74
  catch (err) {
75
+ if (axios.isAxiosError(err)) {
76
+ if (err.response.status === 400) {
77
+ console.error(`[OpenAIChatInterface] [${request.userId}] [chat]: Bad request: ${err.response.data.error.message}`);
78
+ return {
79
+ choices: [
80
+ {
81
+ role: 'system',
82
+ content: `Error: ${err.response.data.error.message}`,
83
+ },
84
+ ],
85
+ totalTokens: 0,
86
+ };
87
+ }
88
+ }
55
89
  handleAxiosErrors(err);
56
90
  }
57
91
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIChatInterface.js","sourceRoot":"","sources":["OpenAIChatInterface.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAO5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAG5B,YAAY,OAA0B;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAEK,IAAI,CACN,OAA+B;;YAE/B,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAC3B,4CAA4C,EAC5C;oBACI,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,IAAI,EAAE,CAAC,CAAC,MAAM;wBACd,aAAa,EAAE,CAAC,CAAC,YAAY;qBAChC,CAAC,CAAC;oBACH,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,KAAK,EAAE,OAAO,CAAC,IAAI;oBACnB,gBAAgB,EAAE,OAAO,CAAC,eAAe;oBACzC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;oBAC3C,IAAI,EAAE,OAAO,CAAC,SAAS;oBACvB,IAAI,EAAE,OAAO,CAAC,MAAM;iBACvB,EACD;oBACI,OAAO,EAAE;wBACL,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;qBAClD;iBACJ,CACJ,CAAC;gBAEF,OAAO,CAAC,GAAG,CACP,0BAA0B,OAAO,CAAC,MAAM,2BAA2B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CACtG,CAAC;gBAEF,IAAI,OAAO,GAAoB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAClD,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC;oBAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;oBAC1B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;oBACtB,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa;oBACrC,YAAY,EAAE,CAAC,CAAC,YAAY;iBAC/B,CAAC,CACL,CAAC;gBAEF,OAAO;oBACH,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;iBAC9C,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,iBAAiB,CAAC,GAAG,CAAC,CAAC;aAC1B;QACL,CAAC;KAAA;CACJ"}
1
+ {"version":3,"file":"OpenAIChatInterface.js","sourceRoot":"","sources":["OpenAIChatInterface.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -24,6 +24,7 @@ export * from './BlockadeLabsGenerateSkyboxInterface';
24
24
  export * from './AIImageInterface';
25
25
  export * from './OpenAIImageInterface';
26
26
  export * from './StabilityAIImageInterface';
27
+ export * from './GoogleAIChatInterface';
27
28
  export * from './ConfigurationStore';
28
29
  export * from './SubscriptionConfiguration';
29
30
  export * from './MetricsStore';
package/index.js CHANGED
@@ -24,6 +24,7 @@ export * from './BlockadeLabsGenerateSkyboxInterface';
24
24
  export * from './AIImageInterface';
25
25
  export * from './OpenAIImageInterface';
26
26
  export * from './StabilityAIImageInterface';
27
+ export * from './GoogleAIChatInterface';
27
28
  export * from './ConfigurationStore';
28
29
  export * from './SubscriptionConfiguration';
29
30
  export * from './MetricsStore';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAE5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AAEtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAE1C,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAErC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AAExC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AAExB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAE5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AAEtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAExC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAE1C,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAErC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AAExC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AAExB,cAAc,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casual-simulation/aux-records",
3
- "version": "3.2.15",
3
+ "version": "3.2.16",
4
4
  "description": "Helpers and managers used by the CasualOS records system.",
5
5
  "keywords": [],
6
6
  "author": "Casual Simulation, Inc.",
@@ -37,11 +37,12 @@
37
37
  "access": "public"
38
38
  },
39
39
  "dependencies": {
40
- "@casual-simulation/aux-common": "^3.2.15",
40
+ "@casual-simulation/aux-common": "^3.2.16",
41
41
  "@casual-simulation/crypto": "^3.2.7",
42
42
  "@casual-simulation/fast-json-stable-stringify": "^3.1.11",
43
43
  "@casual-simulation/rate-limit-redis": "^3.2.7",
44
44
  "@casual-simulation/timesync": "^3.2.7",
45
+ "@google/generative-ai": "0.2.1",
45
46
  "axios": "1.6.2",
46
47
  "base64-js": "^1.5.1",
47
48
  "hash.js": "1.1.7",
@@ -54,5 +55,5 @@
54
55
  "yjs": "13.6.8",
55
56
  "zod": "3.22.4"
56
57
  },
57
- "gitHead": "ed91a060cb2996be3dd1a08693e45da39d2482e0"
58
+ "gitHead": "f4cd3294dc7b32a1844f6997be23eee7654131f7"
58
59
  }