briyah 1.0.6 → 1.0.7
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/README.md +1 -1
- package/dist/server/src/ai/LLM/anthropic.service.js +3 -7
- package/dist/server/src/ai/LLM/deepseek.service.js +3 -7
- package/dist/server/src/ai/LLM/fal.service.js +5 -10
- package/dist/server/src/ai/LLM/googleai.service.js +3 -7
- package/dist/server/src/ai/LLM/grok.service.js +3 -7
- package/dist/server/src/ai/LLM/mock.service.js +2 -5
- package/dist/server/src/ai/LLM/openai.service.js +3 -7
- package/dist/server/src/ai/LLM/together.service.js +4 -5
- package/dist/server/src/ai/LLM/vertexai.service.js +2 -5
- package/dist/server/src/ai/model_prices.d.ts +1 -2
- package/dist/server/src/ai/model_prices.js +15 -14
- package/dist/server/src/ai/published-agents.service.js +1 -1
- package/dist/server/src/auth/users.service.js +1 -1
- package/dist/server/src/config/configuration.service.js +1 -1
- package/dist/server/src/room/published-rooms.service.js +2 -1
- package/dist/server/src/sdk/briyah-config.js +1 -0
- package/dist/server/src/sdk/briyah.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,15 +8,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.AnthropicAiService = void 0;
|
|
16
13
|
const common_1 = require("@nestjs/common");
|
|
17
14
|
const sdk_1 = require("@anthropic-ai/sdk");
|
|
18
15
|
const base_ai_service_1 = require("./base-ai.service");
|
|
19
|
-
const model_prices_1 =
|
|
16
|
+
const model_prices_1 = require("../model_prices");
|
|
20
17
|
const errors_1 = require("../../common/errors");
|
|
21
18
|
let AnthropicAiService = class AnthropicAiService extends base_ai_service_1.BaseAiService {
|
|
22
19
|
anthropic;
|
|
@@ -25,7 +22,6 @@ let AnthropicAiService = class AnthropicAiService extends base_ai_service_1.Base
|
|
|
25
22
|
try {
|
|
26
23
|
const apiKey = process.env['ANTHROPIC_API_KEY'];
|
|
27
24
|
if (!apiKey) {
|
|
28
|
-
console.warn('ANTHROPIC_API_KEY environment variable not set. Anthropic service will not be available.');
|
|
29
25
|
this._isAvailable = false;
|
|
30
26
|
return;
|
|
31
27
|
}
|
|
@@ -193,7 +189,7 @@ let AnthropicAiService = class AnthropicAiService extends base_ai_service_1.Base
|
|
|
193
189
|
thinkingTokens = 2048;
|
|
194
190
|
else if (agent.reasoningEffort === 'high')
|
|
195
191
|
thinkingTokens = 4096;
|
|
196
|
-
const modelInfo = model_prices_1.
|
|
192
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
197
193
|
if (modelInfo && !modelInfo.supports_reasoning)
|
|
198
194
|
thinkingTokens = 0;
|
|
199
195
|
let maxOutputTokens;
|
|
@@ -292,7 +288,7 @@ let AnthropicAiService = class AnthropicAiService extends base_ai_service_1.Base
|
|
|
292
288
|
throw new Error(`Failed to get valid response after ${maxRetries} attempts. Last error: ${lastError?.message || 'Unknown error'}`);
|
|
293
289
|
}
|
|
294
290
|
computeMessageCost(agent, usage) {
|
|
295
|
-
const modelInfo = model_prices_1.
|
|
291
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
296
292
|
if (!modelInfo) {
|
|
297
293
|
console.error(`No price info found for model ${agent.modelName}`);
|
|
298
294
|
return 0;
|
|
@@ -8,9 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.DeepSeekAiService = void 0;
|
|
16
13
|
const common_1 = require("@nestjs/common");
|
|
@@ -18,7 +15,7 @@ const deepseek_1 = require("@ai-sdk/deepseek");
|
|
|
18
15
|
const ai_1 = require("ai");
|
|
19
16
|
const base_ai_service_1 = require("./base-ai.service");
|
|
20
17
|
const zod_1 = require("zod");
|
|
21
|
-
const model_prices_1 =
|
|
18
|
+
const model_prices_1 = require("../model_prices");
|
|
22
19
|
const errors_1 = require("../../common/errors");
|
|
23
20
|
let DeepSeekAiService = class DeepSeekAiService extends base_ai_service_1.BaseAiService {
|
|
24
21
|
deepseekClient;
|
|
@@ -27,7 +24,6 @@ let DeepSeekAiService = class DeepSeekAiService extends base_ai_service_1.BaseAi
|
|
|
27
24
|
try {
|
|
28
25
|
const apiKey = process.env['DEEPSEEK_API_KEY'];
|
|
29
26
|
if (!apiKey) {
|
|
30
|
-
console.warn('DEEPSEEK_API_KEY environment variable not set. DeepSeek service will not be available.');
|
|
31
27
|
this._isAvailable = false;
|
|
32
28
|
return;
|
|
33
29
|
}
|
|
@@ -245,9 +241,9 @@ let DeepSeekAiService = class DeepSeekAiService extends base_ai_service_1.BaseAi
|
|
|
245
241
|
const cachedTokens = usage.cachedInputTokens || 0;
|
|
246
242
|
const uncachedInputTokens = totalInputTokens - cachedTokens;
|
|
247
243
|
const outputTokens = usage.outputTokens || 0;
|
|
248
|
-
let modelInfo = model_prices_1.
|
|
244
|
+
let modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
249
245
|
if (!modelInfo && !agent.modelName.startsWith('deepseek/')) {
|
|
250
|
-
modelInfo = model_prices_1.
|
|
246
|
+
modelInfo = (0, model_prices_1.getModelPrices)()[`deepseek/${agent.modelName}`];
|
|
251
247
|
}
|
|
252
248
|
if (!modelInfo) {
|
|
253
249
|
console.error(`No price info found for model ${agent.modelName} or deepseek/${agent.modelName}`);
|
|
@@ -8,15 +8,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.FalAiService = void 0;
|
|
16
13
|
const common_1 = require("@nestjs/common");
|
|
17
14
|
const client_1 = require("@fal-ai/client");
|
|
18
15
|
const base_ai_service_1 = require("./base-ai.service");
|
|
19
|
-
const model_prices_1 =
|
|
16
|
+
const model_prices_1 = require("../model_prices");
|
|
20
17
|
const errors_1 = require("../../common/errors");
|
|
21
18
|
let FalAiService = class FalAiService extends base_ai_service_1.BaseAiService {
|
|
22
19
|
constructor() {
|
|
@@ -24,7 +21,6 @@ let FalAiService = class FalAiService extends base_ai_service_1.BaseAiService {
|
|
|
24
21
|
try {
|
|
25
22
|
const apiKey = process.env['FAL_API_KEY'];
|
|
26
23
|
if (!apiKey) {
|
|
27
|
-
console.warn('FAL_API_KEY environment variable not set. Fal AI service will not be available.');
|
|
28
24
|
this._isAvailable = false;
|
|
29
25
|
return;
|
|
30
26
|
}
|
|
@@ -46,7 +42,6 @@ let FalAiService = class FalAiService extends base_ai_service_1.BaseAiService {
|
|
|
46
42
|
try {
|
|
47
43
|
const apiKey = process.env['FAL_API_KEY'];
|
|
48
44
|
if (!apiKey) {
|
|
49
|
-
console.warn('FAL_API_KEY not set, cannot fetch models');
|
|
50
45
|
return [];
|
|
51
46
|
}
|
|
52
47
|
const response = await fetch('https://api.fal.ai/v1/models', {
|
|
@@ -193,9 +188,9 @@ let FalAiService = class FalAiService extends base_ai_service_1.BaseAiService {
|
|
|
193
188
|
computeMessageCost(agent, usage, estimatedInputTokens, estimatedOutputTokens) {
|
|
194
189
|
const inputTokens = usage?.prompt_tokens || estimatedInputTokens || 0;
|
|
195
190
|
const outputTokens = usage?.completion_tokens || estimatedOutputTokens || 0;
|
|
196
|
-
let modelInfo = model_prices_1.
|
|
191
|
+
let modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
197
192
|
if (!modelInfo && !agent.modelName.startsWith('fal_ai/')) {
|
|
198
|
-
modelInfo = model_prices_1.
|
|
193
|
+
modelInfo = (0, model_prices_1.getModelPrices)()[`fal_ai/${agent.modelName}`];
|
|
199
194
|
}
|
|
200
195
|
if (!modelInfo) {
|
|
201
196
|
console.warn(`No price info found for model ${agent.modelName}. Skipping cost tracking.`);
|
|
@@ -220,9 +215,9 @@ let FalAiService = class FalAiService extends base_ai_service_1.BaseAiService {
|
|
|
220
215
|
}
|
|
221
216
|
}
|
|
222
217
|
computeImageCost(agent) {
|
|
223
|
-
let modelInfo = model_prices_1.
|
|
218
|
+
let modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
224
219
|
if (!modelInfo && !agent.modelName.startsWith('fal_ai/')) {
|
|
225
|
-
modelInfo = model_prices_1.
|
|
220
|
+
modelInfo = (0, model_prices_1.getModelPrices)()[`fal_ai/${agent.modelName}`];
|
|
226
221
|
}
|
|
227
222
|
if (!modelInfo || !modelInfo.output_cost_per_image) {
|
|
228
223
|
console.warn(`No image price info found for ${agent.modelName}. Skipping cost tracking.`);
|
|
@@ -8,15 +8,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.GoogleAiService = void 0;
|
|
16
13
|
const common_1 = require("@nestjs/common");
|
|
17
14
|
const genai_1 = require("@google/genai");
|
|
18
15
|
const base_ai_service_1 = require("./base-ai.service");
|
|
19
|
-
const model_prices_1 =
|
|
16
|
+
const model_prices_1 = require("../model_prices");
|
|
20
17
|
const errors_1 = require("../../common/errors");
|
|
21
18
|
let GoogleAiService = class GoogleAiService extends base_ai_service_1.BaseAiService {
|
|
22
19
|
googleAI = null;
|
|
@@ -25,7 +22,6 @@ let GoogleAiService = class GoogleAiService extends base_ai_service_1.BaseAiServ
|
|
|
25
22
|
try {
|
|
26
23
|
const apiKey = process.env['GOOGLE_GENAI_API_KEY'];
|
|
27
24
|
if (!apiKey) {
|
|
28
|
-
console.warn('GOOGLE_GENAI_API_KEY environment variable not set. Google AI service will not be available.');
|
|
29
25
|
this._isAvailable = false;
|
|
30
26
|
return;
|
|
31
27
|
}
|
|
@@ -212,7 +208,7 @@ let GoogleAiService = class GoogleAiService extends base_ai_service_1.BaseAiServ
|
|
|
212
208
|
computeMessageCost(agent, usage) {
|
|
213
209
|
const inputTokens = usage.promptTokenCount || 0;
|
|
214
210
|
const outputTokens = usage.candidatesTokenCount || 0;
|
|
215
|
-
const modelInfo = model_prices_1.
|
|
211
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
216
212
|
if (!modelInfo) {
|
|
217
213
|
console.error(`No price info found for model ${agent.modelName}`);
|
|
218
214
|
return;
|
|
@@ -231,7 +227,7 @@ let GoogleAiService = class GoogleAiService extends base_ai_service_1.BaseAiServ
|
|
|
231
227
|
}
|
|
232
228
|
}
|
|
233
229
|
computeImageCost(agent, modelName) {
|
|
234
|
-
const modelInfo = model_prices_1.
|
|
230
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()[modelName];
|
|
235
231
|
if (!modelInfo || !modelInfo.output_cost_per_image) {
|
|
236
232
|
console.error(`No image price info found for model ${modelName}`);
|
|
237
233
|
return;
|
|
@@ -8,16 +8,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.GrokAiService = void 0;
|
|
16
13
|
const common_1 = require("@nestjs/common");
|
|
17
14
|
const openai_1 = require("openai");
|
|
18
15
|
const openai_2 = require("openai");
|
|
19
16
|
const base_ai_service_1 = require("./base-ai.service");
|
|
20
|
-
const model_prices_1 =
|
|
17
|
+
const model_prices_1 = require("../model_prices");
|
|
21
18
|
const errors_1 = require("../../common/errors");
|
|
22
19
|
let GrokAiService = class GrokAiService extends base_ai_service_1.BaseAiService {
|
|
23
20
|
openai;
|
|
@@ -26,7 +23,6 @@ let GrokAiService = class GrokAiService extends base_ai_service_1.BaseAiService
|
|
|
26
23
|
try {
|
|
27
24
|
const apiKey = process.env['XAI_API_KEY'];
|
|
28
25
|
if (!apiKey) {
|
|
29
|
-
console.warn('XAI_API_KEY environment variable not set. Grok service will not be available.');
|
|
30
26
|
this._isAvailable = false;
|
|
31
27
|
return;
|
|
32
28
|
}
|
|
@@ -229,9 +225,9 @@ let GrokAiService = class GrokAiService extends base_ai_service_1.BaseAiService
|
|
|
229
225
|
const cachedTokens = usage.prompt_tokens_details?.cached_tokens || 0;
|
|
230
226
|
const uncachedPromptTokens = totalPromptTokens - cachedTokens;
|
|
231
227
|
const completionTokens = usage.completion_tokens || 0;
|
|
232
|
-
let modelInfo = model_prices_1.
|
|
228
|
+
let modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
233
229
|
if (!modelInfo && !agent.modelName.startsWith('xai/')) {
|
|
234
|
-
modelInfo = model_prices_1.
|
|
230
|
+
modelInfo = (0, model_prices_1.getModelPrices)()[`xai/${agent.modelName}`];
|
|
235
231
|
}
|
|
236
232
|
if (!modelInfo) {
|
|
237
233
|
console.error(`No price info found for model ${agent.modelName} or xai/${agent.modelName}`);
|
|
@@ -41,15 +41,12 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
41
41
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
42
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
43
|
};
|
|
44
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
-
};
|
|
47
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
45
|
exports.MockAiService = void 0;
|
|
49
46
|
const common_1 = require("@nestjs/common");
|
|
50
47
|
const base_ai_service_1 = require("./base-ai.service");
|
|
51
48
|
const fs = __importStar(require("fs"));
|
|
52
|
-
const model_prices_1 =
|
|
49
|
+
const model_prices_1 = require("../model_prices");
|
|
53
50
|
let MockAiService = class MockAiService extends base_ai_service_1.BaseAiService {
|
|
54
51
|
constructor() {
|
|
55
52
|
super();
|
|
@@ -168,7 +165,7 @@ let MockAiService = class MockAiService extends base_ai_service_1.BaseAiService
|
|
|
168
165
|
async trackMockCosts(agent, prompt, response) {
|
|
169
166
|
const inputTokens = Math.max(100, Math.floor(prompt.length / 4));
|
|
170
167
|
const outputTokens = Math.max(50, Math.floor(response.length / 4));
|
|
171
|
-
const modelInfo = model_prices_1.
|
|
168
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()['mock-fast-v1'];
|
|
172
169
|
if (!modelInfo) {
|
|
173
170
|
console.warn('Mock model pricing not found in model_prices.ts');
|
|
174
171
|
return;
|
|
@@ -8,16 +8,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.OpenAiService = void 0;
|
|
16
13
|
const common_1 = require("@nestjs/common");
|
|
17
14
|
const openai_1 = require("openai");
|
|
18
15
|
const base_ai_service_1 = require("./base-ai.service");
|
|
19
16
|
const openai_2 = require("openai");
|
|
20
|
-
const model_prices_1 =
|
|
17
|
+
const model_prices_1 = require("../model_prices");
|
|
21
18
|
const errors_1 = require("../../common/errors");
|
|
22
19
|
let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService {
|
|
23
20
|
openai;
|
|
@@ -26,7 +23,6 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
|
|
|
26
23
|
try {
|
|
27
24
|
const apiKey = process.env['OPENAI_API_KEY'];
|
|
28
25
|
if (!apiKey) {
|
|
29
|
-
console.warn('OPENAI_API_KEY environment variable not set. OpenAI service will not be available.');
|
|
30
26
|
this._isAvailable = false;
|
|
31
27
|
return;
|
|
32
28
|
}
|
|
@@ -294,7 +290,7 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
|
|
|
294
290
|
const cachedTokens = usage.input_tokens_details?.cached_tokens || 0;
|
|
295
291
|
const uncachedInputTokens = totalInputTokens - cachedTokens;
|
|
296
292
|
const outputTokens = usage.output_tokens || 0;
|
|
297
|
-
const modelInfo = model_prices_1.
|
|
293
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
298
294
|
if (!modelInfo) {
|
|
299
295
|
console.error(`No price info found for model ${agent.modelName}`);
|
|
300
296
|
return;
|
|
@@ -318,7 +314,7 @@ let OpenAiService = class OpenAiService extends base_ai_service_1.BaseAiService
|
|
|
318
314
|
}
|
|
319
315
|
}
|
|
320
316
|
computeImageCost(agent, usage) {
|
|
321
|
-
const modelInfo = model_prices_1.
|
|
317
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
322
318
|
if (!modelInfo) {
|
|
323
319
|
console.error(`No price info found for model ${agent.modelName}`);
|
|
324
320
|
return;
|
|
@@ -16,7 +16,7 @@ exports.TogetherAiService = void 0;
|
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const together_ai_1 = __importDefault(require("together-ai"));
|
|
18
18
|
const base_ai_service_1 = require("./base-ai.service");
|
|
19
|
-
const model_prices_1 =
|
|
19
|
+
const model_prices_1 = require("../model_prices");
|
|
20
20
|
const errors_1 = require("../../common/errors");
|
|
21
21
|
let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAiService {
|
|
22
22
|
togetherClient;
|
|
@@ -25,7 +25,6 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
|
|
|
25
25
|
try {
|
|
26
26
|
const apiKey = process.env['TOGETHER_API_KEY'];
|
|
27
27
|
if (!apiKey) {
|
|
28
|
-
console.warn('TOGETHER_API_KEY environment variable not set. Together AI service will not be available.');
|
|
29
28
|
this._isAvailable = false;
|
|
30
29
|
return;
|
|
31
30
|
}
|
|
@@ -157,9 +156,9 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
|
|
|
157
156
|
computeMessageCost(agent, usage) {
|
|
158
157
|
const promptTokens = usage.prompt_tokens || 0;
|
|
159
158
|
const completionTokens = usage.completion_tokens || 0;
|
|
160
|
-
let modelInfo = model_prices_1.
|
|
159
|
+
let modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
161
160
|
if (!modelInfo && !agent.modelName.startsWith('together_ai/')) {
|
|
162
|
-
modelInfo = model_prices_1.
|
|
161
|
+
modelInfo = (0, model_prices_1.getModelPrices)()[`together_ai/${agent.modelName}`];
|
|
163
162
|
}
|
|
164
163
|
if (!modelInfo) {
|
|
165
164
|
console.error(`No price info found for model ${agent.modelName} or together_ai/${agent.modelName}`);
|
|
@@ -179,7 +178,7 @@ let TogetherAiService = class TogetherAiService extends base_ai_service_1.BaseAi
|
|
|
179
178
|
}
|
|
180
179
|
}
|
|
181
180
|
computeImageCost(agent, usage) {
|
|
182
|
-
const modelInfo = model_prices_1.
|
|
181
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
183
182
|
if (!modelInfo) {
|
|
184
183
|
console.error(`No price info found for model ${agent.modelName}`);
|
|
185
184
|
return;
|
|
@@ -8,9 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.VertexAiService = void 0;
|
|
16
13
|
const common_1 = require("@nestjs/common");
|
|
@@ -18,7 +15,7 @@ const vertexai_1 = require("@google-cloud/vertexai");
|
|
|
18
15
|
const storage_1 = require("@google-cloud/storage");
|
|
19
16
|
const crypto_1 = require("crypto");
|
|
20
17
|
const base_ai_service_1 = require("./base-ai.service");
|
|
21
|
-
const model_prices_1 =
|
|
18
|
+
const model_prices_1 = require("../model_prices");
|
|
22
19
|
const errors_1 = require("../../common/errors");
|
|
23
20
|
let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiService {
|
|
24
21
|
vertexAI = null;
|
|
@@ -213,7 +210,7 @@ let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiServ
|
|
|
213
210
|
computeMessageCost(agent, usage) {
|
|
214
211
|
const inputTokens = usage.promptTokenCount || 0;
|
|
215
212
|
const outputTokens = usage.candidatesTokenCount || 0;
|
|
216
|
-
const modelInfo = model_prices_1.
|
|
213
|
+
const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
|
|
217
214
|
if (!modelInfo) {
|
|
218
215
|
console.error(`No price info found for model ${agent.modelName}`);
|
|
219
216
|
return;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
declare
|
|
2
|
-
export default modelPrices;
|
|
1
|
+
export declare function getModelPrices(): any;
|
|
@@ -33,22 +33,23 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getModelPrices = getModelPrices;
|
|
36
37
|
const fs = __importStar(require("fs"));
|
|
37
38
|
const path = __importStar(require("path"));
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
let _modelPrices = null;
|
|
40
|
+
function getModelPrices() {
|
|
41
|
+
if (_modelPrices !== null)
|
|
42
|
+
return _modelPrices;
|
|
43
|
+
const dataDir = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
|
|
44
|
+
const pricesFilePath = path.join(dataDir, 'common', 'config', 'model_prices.json');
|
|
45
|
+
if (!fs.existsSync(pricesFilePath)) {
|
|
46
|
+
throw new Error(`Model prices file not found at ${pricesFilePath}. Cannot proceed without pricing data.`);
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
try {
|
|
49
|
+
_modelPrices = JSON.parse(fs.readFileSync(pricesFilePath, 'utf8'));
|
|
49
50
|
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
throw new Error(`Failed to load model prices from ${pricesFilePath}: ${error}`);
|
|
53
|
+
}
|
|
54
|
+
return _modelPrices;
|
|
50
55
|
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.error('Error loading model prices:', error);
|
|
53
|
-
}
|
|
54
|
-
exports.default = modelPrices;
|
|
@@ -50,7 +50,7 @@ let PublishedAgentsService = class PublishedAgentsService {
|
|
|
50
50
|
mapping = new Map();
|
|
51
51
|
mappingFile;
|
|
52
52
|
constructor() {
|
|
53
|
-
const dataPath = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'data');
|
|
53
|
+
const dataPath = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
|
|
54
54
|
const dataDir = path.resolve(dataPath, 'common');
|
|
55
55
|
if (!fs.existsSync(dataDir)) {
|
|
56
56
|
fs.mkdirSync(dataDir, { recursive: true });
|
|
@@ -51,7 +51,7 @@ let UsersService = class UsersService {
|
|
|
51
51
|
usersFilePath;
|
|
52
52
|
dataDir;
|
|
53
53
|
constructor() {
|
|
54
|
-
this.dataDir = path.resolve(process.cwd(), 'data');
|
|
54
|
+
this.dataDir = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
|
|
55
55
|
const commonDir = path.resolve(this.dataDir, 'common');
|
|
56
56
|
const usersDir = path.resolve(commonDir, 'users');
|
|
57
57
|
this.usersFilePath = path.resolve(usersDir, 'users.json');
|
|
@@ -49,7 +49,7 @@ class ConfigurationService {
|
|
|
49
49
|
userId;
|
|
50
50
|
constructor(userId, baseDataPath) {
|
|
51
51
|
this.userId = userId;
|
|
52
|
-
const dataPath = baseDataPath || process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'data');
|
|
52
|
+
const dataPath = baseDataPath || process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
|
|
53
53
|
this.dataDir = path.resolve(dataPath);
|
|
54
54
|
if (!fs.existsSync(this.dataDir)) {
|
|
55
55
|
fs.mkdirSync(this.dataDir, { recursive: true });
|
|
@@ -50,7 +50,8 @@ let PublishedRoomsService = class PublishedRoomsService {
|
|
|
50
50
|
mapping;
|
|
51
51
|
filePath;
|
|
52
52
|
constructor() {
|
|
53
|
-
|
|
53
|
+
const dataPath = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
|
|
54
|
+
this.filePath = path.join(dataPath, 'common', 'published-rooms.json');
|
|
54
55
|
this.mapping = new Map();
|
|
55
56
|
this.load();
|
|
56
57
|
}
|
|
@@ -10,6 +10,7 @@ class BriyahConfigService {
|
|
|
10
10
|
};
|
|
11
11
|
if (options?.dataPath) {
|
|
12
12
|
this.env.SERVER_DATA_PATH = options.dataPath;
|
|
13
|
+
process.env.SERVER_DATA_PATH = options.dataPath;
|
|
13
14
|
}
|
|
14
15
|
if (options?.userServiceCacheTimeoutMinutes !== undefined) {
|
|
15
16
|
this.env.USER_SERVICE_CACHE_TIMEOUT_MINUTES = String(options.userServiceCacheTimeoutMinutes);
|
|
@@ -123,7 +123,7 @@ class Briyah {
|
|
|
123
123
|
this.initialized = true;
|
|
124
124
|
}
|
|
125
125
|
seedCommonData() {
|
|
126
|
-
const dataPath = this.configService.get('SERVER_DATA_PATH') || path.resolve(process.cwd(), 'data');
|
|
126
|
+
const dataPath = this.configService.get('SERVER_DATA_PATH') || path.resolve(process.cwd(), 'briyah-data');
|
|
127
127
|
const userCommonDir = path.resolve(dataPath, 'common');
|
|
128
128
|
const packageCommonDir = path.resolve(__dirname, '../../../../data/common');
|
|
129
129
|
if (!fs.existsSync(packageCommonDir)) {
|