briyah 1.1.0 → 1.1.2

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 (239) hide show
  1. package/README.md +6 -4
  2. package/data/common/config/markup +1 -0
  3. package/data/common/config/model_prices.json +5153 -3680
  4. package/data/common/config/story_models.json +10 -2
  5. package/data/common/config/story_models_full.json +2 -2
  6. package/data/common/prompts/compact_agent.prompt +16 -0
  7. package/data/common/prompts/narrator/perceive.prompt +30 -28
  8. package/data/common/prompts/story_moderator/moderate.prompt +12 -8
  9. package/{dist → dist-sdk}/server/src/ai/LLM/anthropic.service.js +22 -12
  10. package/{dist → dist-sdk}/server/src/ai/LLM/base-ai.service.d.ts +1 -0
  11. package/{dist → dist-sdk}/server/src/ai/LLM/base-ai.service.js +8 -0
  12. package/{dist → dist-sdk}/server/src/ai/LLM/deepseek.service.d.ts +1 -0
  13. package/{dist → dist-sdk}/server/src/ai/LLM/deepseek.service.js +3 -0
  14. package/{dist → dist-sdk}/server/src/ai/LLM/fal.service.d.ts +1 -0
  15. package/{dist → dist-sdk}/server/src/ai/LLM/fal.service.js +3 -0
  16. package/{dist → dist-sdk}/server/src/ai/LLM/grok.service.d.ts +1 -0
  17. package/{dist → dist-sdk}/server/src/ai/LLM/grok.service.js +3 -0
  18. package/{dist → dist-sdk}/server/src/ai/LLM/together.service.d.ts +1 -0
  19. package/{dist → dist-sdk}/server/src/ai/LLM/together.service.js +3 -0
  20. package/{dist → dist-sdk}/server/src/ai/agent.d.ts +7 -0
  21. package/{dist → dist-sdk}/server/src/ai/agent.js +32 -0
  22. package/{dist → dist-sdk}/server/src/ai/ai-factory.module.js +0 -2
  23. package/{dist → dist-sdk}/server/src/ai/ai-factory.service.d.ts +1 -3
  24. package/{dist → dist-sdk}/server/src/ai/ai-factory.service.js +1 -8
  25. package/dist-sdk/server/src/ai/model_prices.d.ts +3 -0
  26. package/{dist → dist-sdk}/server/src/ai/model_prices.js +19 -1
  27. package/{dist → dist-sdk}/server/src/ai/published-agents.service.js +1 -1
  28. package/{dist → dist-sdk}/server/src/app/stripe.controller.d.ts +3 -0
  29. package/{dist → dist-sdk}/server/src/app/stripe.controller.js +13 -0
  30. package/{dist → dist-sdk}/server/src/app/stripe.service.d.ts +4 -0
  31. package/{dist → dist-sdk}/server/src/app/stripe.service.js +16 -0
  32. package/{dist → dist-sdk}/server/src/app.controller.d.ts +1 -0
  33. package/{dist → dist-sdk}/server/src/app.controller.js +41 -0
  34. package/{dist → dist-sdk}/server/src/app.service.d.ts +1 -0
  35. package/{dist → dist-sdk}/server/src/app.service.js +7 -0
  36. package/{dist → dist-sdk}/server/src/auth/users.service.js +1 -1
  37. package/{dist → dist-sdk}/server/src/config/configuration.service.d.ts +0 -2
  38. package/{dist → dist-sdk}/server/src/config/configuration.service.js +1 -9
  39. package/{dist → dist-sdk}/server/src/room/published-rooms.service.js +1 -1
  40. package/{dist → dist-sdk}/server/src/room/room.js +1 -0
  41. package/{dist → dist-sdk}/server/src/sdk/briyah-config.js +2 -2
  42. package/{dist → dist-sdk}/server/src/sdk/briyah.js +7 -9
  43. package/{dist → dist-sdk}/server/src/story/story-message.service.js +24 -32
  44. package/{dist → dist-sdk}/server/src/story/story.service.d.ts +1 -1
  45. package/{dist → dist-sdk}/server/src/story/story.service.js +103 -76
  46. package/{dist → dist-sdk}/shared/types/app.types.d.ts +1 -0
  47. package/docs/assets/hierarchy.js +1 -1
  48. package/docs/assets/search.js +1 -1
  49. package/docs/classes/Agent.html +18 -13
  50. package/docs/classes/Briyah.html +12 -12
  51. package/docs/classes/BriyahConfigService.html +5 -5
  52. package/docs/classes/Room.html +23 -23
  53. package/docs/classes/RoomMessage.html +10 -10
  54. package/docs/enums/MessageAction.html +3 -3
  55. package/docs/hierarchy.html +1 -1
  56. package/docs/index.html +7 -6
  57. package/docs/interfaces/AgentInfo.html +2 -2
  58. package/docs/interfaces/AgentMessagesResponse.html +2 -2
  59. package/docs/interfaces/AppService.html +150 -145
  60. package/docs/interfaces/Artifact.html +3 -3
  61. package/docs/interfaces/ArtifactMetadata.html +2 -2
  62. package/docs/interfaces/AttachDocumentResponse.html +2 -2
  63. package/docs/interfaces/BriyahConfigOptions.html +6 -6
  64. package/docs/interfaces/ChapterInfo.html +2 -2
  65. package/docs/interfaces/Character.html +2 -2
  66. package/docs/interfaces/CreateAgentResponse.html +2 -2
  67. package/docs/interfaces/CreateRoomResponse.html +2 -2
  68. package/docs/interfaces/CreateStoryResponse.html +2 -2
  69. package/docs/interfaces/FileList.html +2 -2
  70. package/docs/interfaces/LoggingOptions.html +5 -5
  71. package/docs/interfaces/Message.html +2 -2
  72. package/docs/interfaces/ModelInfo.html +2 -2
  73. package/docs/interfaces/PreparedPromptResponse.html +2 -2
  74. package/docs/interfaces/ProcessTextResponse.html +2 -2
  75. package/docs/interfaces/PromptFile.html +2 -2
  76. package/docs/interfaces/PromptFileContent.html +2 -2
  77. package/docs/interfaces/PromptFilesResponse.html +2 -2
  78. package/docs/interfaces/PromptFolder.html +2 -2
  79. package/docs/interfaces/PromptFoldersResponse.html +2 -2
  80. package/docs/interfaces/RoomDetails.html +2 -2
  81. package/docs/interfaces/RoomInfo.html +2 -2
  82. package/docs/interfaces/RoomMessagesResponse.html +2 -2
  83. package/docs/interfaces/StoryErrorEvent.html +3 -3
  84. package/docs/interfaces/StoryIdea.html +2 -2
  85. package/docs/interfaces/StoryInfo.html +6 -2
  86. package/docs/interfaces/StoryIntroduceCharacterEvent.html +3 -3
  87. package/docs/interfaces/StoryProgressChapterEvent.html +3 -3
  88. package/docs/interfaces/StoryState.html +5 -5
  89. package/docs/interfaces/StoryStateEvent.html +3 -3
  90. package/docs/interfaces/Transaction.html +2 -2
  91. package/docs/interfaces/TransactionHistoryResponse.html +2 -2
  92. package/docs/modules.html +1 -1
  93. package/docs/types/PromptScope.html +1 -1
  94. package/package.json +8 -11
  95. package/dist/server/src/ai/LLM/vertexai.module.d.ts +0 -2
  96. package/dist/server/src/ai/LLM/vertexai.module.js +0 -21
  97. package/dist/server/src/ai/LLM/vertexai.service.d.ts +0 -17
  98. package/dist/server/src/ai/LLM/vertexai.service.js +0 -321
  99. package/dist/server/src/ai/model_prices.d.ts +0 -1
  100. /package/data/common/prompts/character/{compact_story.json → compact_agent.json} +0 -0
  101. /package/data/common/prompts/character/{compact_story.prompt → compact_agent.prompt} +0 -0
  102. /package/data/common/prompts/narrator/{compact_story.json → compact_agent.json} +0 -0
  103. /package/data/common/prompts/narrator/{compact_story.prompt → compact_agent.prompt} +0 -0
  104. /package/{dist → dist-sdk}/server/src/ai/LLM/anthropic.module.d.ts +0 -0
  105. /package/{dist → dist-sdk}/server/src/ai/LLM/anthropic.module.js +0 -0
  106. /package/{dist → dist-sdk}/server/src/ai/LLM/anthropic.service.d.ts +0 -0
  107. /package/{dist → dist-sdk}/server/src/ai/LLM/deepseek.module.d.ts +0 -0
  108. /package/{dist → dist-sdk}/server/src/ai/LLM/deepseek.module.js +0 -0
  109. /package/{dist → dist-sdk}/server/src/ai/LLM/fal.module.d.ts +0 -0
  110. /package/{dist → dist-sdk}/server/src/ai/LLM/fal.module.js +0 -0
  111. /package/{dist → dist-sdk}/server/src/ai/LLM/googleai.module.d.ts +0 -0
  112. /package/{dist → dist-sdk}/server/src/ai/LLM/googleai.module.js +0 -0
  113. /package/{dist → dist-sdk}/server/src/ai/LLM/googleai.service.d.ts +0 -0
  114. /package/{dist → dist-sdk}/server/src/ai/LLM/googleai.service.js +0 -0
  115. /package/{dist → dist-sdk}/server/src/ai/LLM/grok.module.d.ts +0 -0
  116. /package/{dist → dist-sdk}/server/src/ai/LLM/grok.module.js +0 -0
  117. /package/{dist → dist-sdk}/server/src/ai/LLM/mock.module.d.ts +0 -0
  118. /package/{dist → dist-sdk}/server/src/ai/LLM/mock.module.js +0 -0
  119. /package/{dist → dist-sdk}/server/src/ai/LLM/mock.service.d.ts +0 -0
  120. /package/{dist → dist-sdk}/server/src/ai/LLM/mock.service.js +0 -0
  121. /package/{dist → dist-sdk}/server/src/ai/LLM/openai.module.d.ts +0 -0
  122. /package/{dist → dist-sdk}/server/src/ai/LLM/openai.module.js +0 -0
  123. /package/{dist → dist-sdk}/server/src/ai/LLM/openai.service.d.ts +0 -0
  124. /package/{dist → dist-sdk}/server/src/ai/LLM/openai.service.js +0 -0
  125. /package/{dist → dist-sdk}/server/src/ai/LLM/together.module.d.ts +0 -0
  126. /package/{dist → dist-sdk}/server/src/ai/LLM/together.module.js +0 -0
  127. /package/{dist → dist-sdk}/server/src/ai/agent-config.d.ts +0 -0
  128. /package/{dist → dist-sdk}/server/src/ai/agent-config.js +0 -0
  129. /package/{dist → dist-sdk}/server/src/ai/agent-factory.d.ts +0 -0
  130. /package/{dist → dist-sdk}/server/src/ai/agent-factory.js +0 -0
  131. /package/{dist → dist-sdk}/server/src/ai/agent-message.service.d.ts +0 -0
  132. /package/{dist → dist-sdk}/server/src/ai/agent-message.service.js +0 -0
  133. /package/{dist → dist-sdk}/server/src/ai/agent-store.module.d.ts +0 -0
  134. /package/{dist → dist-sdk}/server/src/ai/agent-store.module.js +0 -0
  135. /package/{dist → dist-sdk}/server/src/ai/agent-store.service.d.ts +0 -0
  136. /package/{dist → dist-sdk}/server/src/ai/agent-store.service.js +0 -0
  137. /package/{dist → dist-sdk}/server/src/ai/ai-factory.module.d.ts +0 -0
  138. /package/{dist → dist-sdk}/server/src/ai/artifact.module.d.ts +0 -0
  139. /package/{dist → dist-sdk}/server/src/ai/artifact.module.js +0 -0
  140. /package/{dist → dist-sdk}/server/src/ai/artifact.service.d.ts +0 -0
  141. /package/{dist → dist-sdk}/server/src/ai/artifact.service.js +0 -0
  142. /package/{dist → dist-sdk}/server/src/ai/attached-file.module.d.ts +0 -0
  143. /package/{dist → dist-sdk}/server/src/ai/attached-file.module.js +0 -0
  144. /package/{dist → dist-sdk}/server/src/ai/attached-file.service.d.ts +0 -0
  145. /package/{dist → dist-sdk}/server/src/ai/attached-file.service.js +0 -0
  146. /package/{dist → dist-sdk}/server/src/ai/published-agents.service.d.ts +0 -0
  147. /package/{dist → dist-sdk}/server/src/app/balance-message.service.d.ts +0 -0
  148. /package/{dist → dist-sdk}/server/src/app/balance-message.service.js +0 -0
  149. /package/{dist → dist-sdk}/server/src/app/balance.module.d.ts +0 -0
  150. /package/{dist → dist-sdk}/server/src/app/balance.module.js +0 -0
  151. /package/{dist → dist-sdk}/server/src/app/balance.service.d.ts +0 -0
  152. /package/{dist → dist-sdk}/server/src/app/balance.service.js +0 -0
  153. /package/{dist → dist-sdk}/server/src/app/stripe.module.d.ts +0 -0
  154. /package/{dist → dist-sdk}/server/src/app/stripe.module.js +0 -0
  155. /package/{dist → dist-sdk}/server/src/app/transaction.service.d.ts +0 -0
  156. /package/{dist → dist-sdk}/server/src/app/transaction.service.js +0 -0
  157. /package/{dist → dist-sdk}/server/src/app/user-service-factory.d.ts +0 -0
  158. /package/{dist → dist-sdk}/server/src/app/user-service-factory.js +0 -0
  159. /package/{dist → dist-sdk}/server/src/app/user-service-manager.d.ts +0 -0
  160. /package/{dist → dist-sdk}/server/src/app/user-service-manager.js +0 -0
  161. /package/{dist → dist-sdk}/server/src/app.module.d.ts +0 -0
  162. /package/{dist → dist-sdk}/server/src/app.module.js +0 -0
  163. /package/{dist → dist-sdk}/server/src/auth/agent-access.decorator.d.ts +0 -0
  164. /package/{dist → dist-sdk}/server/src/auth/agent-access.decorator.js +0 -0
  165. /package/{dist → dist-sdk}/server/src/auth/auth.controller.d.ts +0 -0
  166. /package/{dist → dist-sdk}/server/src/auth/auth.controller.js +0 -0
  167. /package/{dist → dist-sdk}/server/src/auth/auth.module.d.ts +0 -0
  168. /package/{dist → dist-sdk}/server/src/auth/auth.module.js +0 -0
  169. /package/{dist → dist-sdk}/server/src/auth/auth.service.d.ts +0 -0
  170. /package/{dist → dist-sdk}/server/src/auth/auth.service.js +0 -0
  171. /package/{dist → dist-sdk}/server/src/auth/dto/bot-login.dto.d.ts +0 -0
  172. /package/{dist → dist-sdk}/server/src/auth/dto/bot-login.dto.js +0 -0
  173. /package/{dist → dist-sdk}/server/src/auth/dto/password-reset.dto.d.ts +0 -0
  174. /package/{dist → dist-sdk}/server/src/auth/dto/password-reset.dto.js +0 -0
  175. /package/{dist → dist-sdk}/server/src/auth/dto/phone-login.dto.d.ts +0 -0
  176. /package/{dist → dist-sdk}/server/src/auth/dto/phone-login.dto.js +0 -0
  177. /package/{dist → dist-sdk}/server/src/auth/dto/phone-verification.dto.d.ts +0 -0
  178. /package/{dist → dist-sdk}/server/src/auth/dto/phone-verification.dto.js +0 -0
  179. /package/{dist → dist-sdk}/server/src/auth/jwt-auth.guard.d.ts +0 -0
  180. /package/{dist → dist-sdk}/server/src/auth/jwt-auth.guard.js +0 -0
  181. /package/{dist → dist-sdk}/server/src/auth/jwt.strategy.d.ts +0 -0
  182. /package/{dist → dist-sdk}/server/src/auth/jwt.strategy.js +0 -0
  183. /package/{dist → dist-sdk}/server/src/auth/phone-validation.service.d.ts +0 -0
  184. /package/{dist → dist-sdk}/server/src/auth/phone-validation.service.js +0 -0
  185. /package/{dist → dist-sdk}/server/src/auth/public.decorator.d.ts +0 -0
  186. /package/{dist → dist-sdk}/server/src/auth/public.decorator.js +0 -0
  187. /package/{dist → dist-sdk}/server/src/auth/rate-limit.service.d.ts +0 -0
  188. /package/{dist → dist-sdk}/server/src/auth/rate-limit.service.js +0 -0
  189. /package/{dist → dist-sdk}/server/src/auth/room-access.decorator.d.ts +0 -0
  190. /package/{dist → dist-sdk}/server/src/auth/room-access.decorator.js +0 -0
  191. /package/{dist → dist-sdk}/server/src/auth/scopes.decorator.d.ts +0 -0
  192. /package/{dist → dist-sdk}/server/src/auth/scopes.decorator.js +0 -0
  193. /package/{dist → dist-sdk}/server/src/auth/scopes.guard.d.ts +0 -0
  194. /package/{dist → dist-sdk}/server/src/auth/scopes.guard.js +0 -0
  195. /package/{dist → dist-sdk}/server/src/auth/session.guard.d.ts +0 -0
  196. /package/{dist → dist-sdk}/server/src/auth/session.guard.js +0 -0
  197. /package/{dist → dist-sdk}/server/src/auth/twilio.service.d.ts +0 -0
  198. /package/{dist → dist-sdk}/server/src/auth/twilio.service.js +0 -0
  199. /package/{dist → dist-sdk}/server/src/auth/users.service.d.ts +0 -0
  200. /package/{dist → dist-sdk}/server/src/common/errors.d.ts +0 -0
  201. /package/{dist → dist-sdk}/server/src/common/errors.js +0 -0
  202. /package/{dist → dist-sdk}/server/src/common/logger.d.ts +0 -0
  203. /package/{dist → dist-sdk}/server/src/common/logger.js +0 -0
  204. /package/{dist → dist-sdk}/server/src/config/configuration.module.d.ts +0 -0
  205. /package/{dist → dist-sdk}/server/src/config/configuration.module.js +0 -0
  206. /package/{dist → dist-sdk}/server/src/room/artifact-store.service.d.ts +0 -0
  207. /package/{dist → dist-sdk}/server/src/room/artifact-store.service.js +0 -0
  208. /package/{dist → dist-sdk}/server/src/room/artifact.d.ts +0 -0
  209. /package/{dist → dist-sdk}/server/src/room/artifact.js +0 -0
  210. /package/{dist → dist-sdk}/server/src/room/message.d.ts +0 -0
  211. /package/{dist → dist-sdk}/server/src/room/message.js +0 -0
  212. /package/{dist → dist-sdk}/server/src/room/published-rooms.service.d.ts +0 -0
  213. /package/{dist → dist-sdk}/server/src/room/room-config.d.ts +0 -0
  214. /package/{dist → dist-sdk}/server/src/room/room-config.js +0 -0
  215. /package/{dist → dist-sdk}/server/src/room/room-factory.d.ts +0 -0
  216. /package/{dist → dist-sdk}/server/src/room/room-factory.js +0 -0
  217. /package/{dist → dist-sdk}/server/src/room/room-message.module.d.ts +0 -0
  218. /package/{dist → dist-sdk}/server/src/room/room-message.module.js +0 -0
  219. /package/{dist → dist-sdk}/server/src/room/room-message.service.d.ts +0 -0
  220. /package/{dist → dist-sdk}/server/src/room/room-message.service.js +0 -0
  221. /package/{dist → dist-sdk}/server/src/room/room-store.module.d.ts +0 -0
  222. /package/{dist → dist-sdk}/server/src/room/room-store.module.js +0 -0
  223. /package/{dist → dist-sdk}/server/src/room/room-store.service.d.ts +0 -0
  224. /package/{dist → dist-sdk}/server/src/room/room-store.service.js +0 -0
  225. /package/{dist → dist-sdk}/server/src/room/room.d.ts +0 -0
  226. /package/{dist → dist-sdk}/server/src/sdk/briyah-config.d.ts +0 -0
  227. /package/{dist → dist-sdk}/server/src/sdk/briyah.d.ts +0 -0
  228. /package/{dist → dist-sdk}/server/src/sdk/index.d.ts +0 -0
  229. /package/{dist → dist-sdk}/server/src/sdk/index.js +0 -0
  230. /package/{dist → dist-sdk}/server/src/shared/shared.module.d.ts +0 -0
  231. /package/{dist → dist-sdk}/server/src/shared/shared.module.js +0 -0
  232. /package/{dist → dist-sdk}/server/src/story/story-message.service.d.ts +0 -0
  233. /package/{dist → dist-sdk}/server/src/story/story-progress.service.d.ts +0 -0
  234. /package/{dist → dist-sdk}/server/src/story/story-progress.service.js +0 -0
  235. /package/{dist → dist-sdk}/server/src/story/story-store.module.d.ts +0 -0
  236. /package/{dist → dist-sdk}/server/src/story/story-store.module.js +0 -0
  237. /package/{dist → dist-sdk}/server/src/story/story-store.service.d.ts +0 -0
  238. /package/{dist → dist-sdk}/server/src/story/story-store.service.js +0 -0
  239. /package/{dist → dist-sdk}/shared/types/app.types.js +0 -0
@@ -1,321 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.VertexAiService = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const vertexai_1 = require("@google-cloud/vertexai");
15
- const storage_1 = require("@google-cloud/storage");
16
- const crypto_1 = require("crypto");
17
- const base_ai_service_1 = require("./base-ai.service");
18
- const model_prices_1 = require("../model_prices");
19
- const errors_1 = require("../../common/errors");
20
- const logger_1 = require("../../common/logger");
21
- let VertexAiService = class VertexAiService extends base_ai_service_1.BaseAiService {
22
- vertexAI = null;
23
- constructor() {
24
- super();
25
- try {
26
- if (!process.env.GOOGLE_PROJECT_ID || !process.env.GOOGLE_CLOUD_LOCATION) {
27
- this._isAvailable = false;
28
- return;
29
- }
30
- this.vertexAI = new vertexai_1.VertexAI({
31
- project: process.env.GOOGLE_PROJECT_ID,
32
- location: process.env.GOOGLE_CLOUD_LOCATION,
33
- });
34
- logger_1.logger.debug('Vertex AI service initialized successfully');
35
- }
36
- catch (error) {
37
- logger_1.logger.error('Error initializing Vertex AI service:', error);
38
- this._isAvailable = false;
39
- }
40
- }
41
- getServiceName() {
42
- return 'Vertex AI';
43
- }
44
- async fetchModelsFromApi() {
45
- return [
46
- {
47
- name: 'gemini-3-pro-preview',
48
- description: 'gemini-3-pro-preview',
49
- model: 'gemini-3-pro-preview',
50
- service: 'Vertex AI',
51
- },
52
- {
53
- name: 'gemini-2.5-pro',
54
- description: 'gemini-2.5-pro',
55
- model: 'gemini-2.5-pro',
56
- service: 'Vertex AI',
57
- },
58
- {
59
- name: 'gemini-2.5-flash',
60
- description: 'gemini-2.5-flash',
61
- model: 'gemini-2.5-flash',
62
- service: 'Vertex AI',
63
- },
64
- {
65
- name: 'gemini-2.5-flash-lite',
66
- description: 'gemini-2.5-flash-lite',
67
- model: 'gemini-2.5-flash-lite',
68
- service: 'Vertex AI',
69
- },
70
- {
71
- name: 'gemini-2.0-flash-lite',
72
- description: 'gemini-2.0-flash-lite',
73
- model: 'gemini-2.0-flash-lite',
74
- service: 'Vertex AI',
75
- },
76
- {
77
- name: 'gemini-2.0-flash',
78
- description: 'gemini-2.0-flash',
79
- model: 'gemini-2.0-flash',
80
- service: 'Vertex AI',
81
- },
82
- ];
83
- }
84
- async uploadFile(fileContents) {
85
- let cloudStorage = new storage_1.Storage();
86
- let bucketName = process.env.GOOGLE_CLOUD_STORAGE_BUCKET;
87
- const bucket = cloudStorage.bucket(bucketName);
88
- const fileName = `${(0, crypto_1.randomUUID)()}.pdf`;
89
- const file = bucket.file(fileName);
90
- await file.save(Buffer.from(fileContents), {
91
- metadata: { contentType: 'application/octet-stream' },
92
- });
93
- logger_1.logger.log(`Successfully uploaded ${fileName} to ${bucketName}`);
94
- return `gs://${bucketName}/${fileName}`;
95
- }
96
- addToConversationHistory(agent, message, fromSelf = false) {
97
- if (!agent.history) {
98
- agent.history = [];
99
- }
100
- if (!message)
101
- return;
102
- agent.history.push({
103
- role: fromSelf ? 'model' : 'user',
104
- parts: [{ text: message }],
105
- });
106
- agent.trimHistoryIfNeeded();
107
- }
108
- async textPrompt(agent, prompt, jsonSchema = null, saveResponse = true, promptInstructions = null, _cacheConfig = null, maxOutputChars = 0) {
109
- if (agent.balanceService && !agent.disableBalanceCheck) {
110
- const hasSufficientBalance = agent.balanceService.hasSufficientBalance();
111
- if (!hasSufficientBalance) {
112
- throw new errors_1.InsufficientBalanceError('Insufficient balance. Please add funds to continue using AI services.');
113
- }
114
- }
115
- let generationConfig = {
116
- candidateCount: 1,
117
- maxOutputTokens: 16384,
118
- temperature: 0,
119
- };
120
- let instructions = promptInstructions || agent.systemInstruction;
121
- if (jsonSchema) {
122
- generationConfig.responseMimeType = 'application/json';
123
- if (jsonSchema.description) {
124
- instructions +=
125
- '\n\nPlease generate only valid JSON according to the schema.\n' +
126
- jsonSchema.description;
127
- }
128
- delete jsonSchema.name;
129
- delete jsonSchema.description;
130
- generationConfig.responseSchema = jsonSchema;
131
- }
132
- let generativeModel = this.vertexAI.getGenerativeModel({
133
- model: agent.modelName,
134
- generationConfig: generationConfig,
135
- systemInstruction: instructions,
136
- });
137
- const identity = `Your agent identity is ${agent.agentName}: ${agent.description}`;
138
- const messages = [{ role: 'user', parts: [{ text: identity }] }];
139
- if (agent.attachedFiles && agent.attachedFiles.length > 0) {
140
- for (const file of agent.attachedFiles) {
141
- if (file.serviceMetadata?.uri) {
142
- const ext = file.fileName.split('.').pop() || 'pdf';
143
- messages.push({
144
- role: 'user',
145
- parts: [
146
- {
147
- fileData: {
148
- mimeType: 'application/' + ext,
149
- fileUri: file.serviceMetadata.uri,
150
- },
151
- },
152
- {
153
- text: `This document will be referenced as ${file.fileName}.`,
154
- },
155
- ],
156
- });
157
- }
158
- else {
159
- const fileData = new Uint8Array(file.serviceMetadata.fileData);
160
- const textContent = Buffer.from(fileData).toString('utf-8');
161
- messages.push({
162
- role: 'user',
163
- parts: [{ text: textContent }],
164
- });
165
- }
166
- }
167
- }
168
- if (agent.attachedArtifacts && agent.attachedArtifacts.length > 0) {
169
- for (const artifactId of agent.attachedArtifacts) {
170
- const content = agent.artifactService.getArtifact(artifactId);
171
- if (content && typeof content === 'string') {
172
- const metadata = agent.artifactService.getArtifactMetadata(artifactId);
173
- const fileName = metadata ? `${metadata.name}.md` : 'artifact.md';
174
- messages.push({
175
- role: 'user',
176
- parts: [{ text: `Attached document: ${fileName}\n\n${content}` }],
177
- });
178
- }
179
- }
180
- }
181
- messages.push(...agent.history);
182
- if (prompt) {
183
- messages.push({ role: 'user', parts: [{ text: prompt }] });
184
- }
185
- let resp;
186
- try {
187
- resp = await generativeModel.generateContent({ contents: messages });
188
- }
189
- catch (error) {
190
- logger_1.logger.error(error);
191
- return error.message;
192
- }
193
- let responseText = resp.response.candidates[0].content.parts[0].text;
194
- if (jsonSchema) {
195
- responseText = this.trimToJson(responseText);
196
- responseText = this.sanitizeJsonString(responseText);
197
- }
198
- let usage = resp.response.usageMetadata;
199
- if (usage) {
200
- this.computeMessageCost(agent, usage);
201
- }
202
- if (saveResponse) {
203
- this.addToConversationHistory(agent, prompt, false);
204
- this.addToConversationHistory(agent, responseText, true);
205
- }
206
- if (jsonSchema) {
207
- return JSON.parse(responseText);
208
- }
209
- return responseText;
210
- }
211
- computeMessageCost(agent, usage) {
212
- const inputTokens = usage.promptTokenCount || 0;
213
- const outputTokens = usage.candidatesTokenCount || 0;
214
- const modelInfo = (0, model_prices_1.getModelPrices)()[agent.modelName];
215
- if (!modelInfo) {
216
- logger_1.logger.error(`No price info found for model ${agent.modelName}`);
217
- return;
218
- }
219
- const inputCost = inputTokens * modelInfo.input_cost_per_token;
220
- const outputCost = outputTokens * modelInfo.output_cost_per_token;
221
- const markup = agent.disableMarkup ? 0 : outputCost * agent.markupRate;
222
- const cost = inputCost + outputCost + markup;
223
- agent.totalInputTokens += inputTokens;
224
- agent.totalOutputTokens += outputTokens;
225
- agent.totalCost += cost;
226
- agent.totalMarkup += markup;
227
- logger_1.logger.log(`Cost for ${agent.agentName} message: ${cost} (markup: ${markup.toFixed(4)})`);
228
- if (agent.balanceService && cost > 0) {
229
- agent.balanceService.decrementBalance(cost, markup);
230
- }
231
- }
232
- async attachDocument(agent, fileName, fileData) {
233
- if (agent === null) {
234
- throw new Error('Shared document attachment not supported by Vertex AI service');
235
- }
236
- if (agent.fullContextFiles) {
237
- return super.attachDocument(agent, fileName, fileData);
238
- }
239
- let ext = fileName.split('.').pop();
240
- const existingMetadata = agent.attachedFiles.find((f) => f.fileName === fileName &&
241
- f.serviceMetadata?.serviceName === this.getServiceName() &&
242
- f.serviceMetadata?.uri);
243
- let gsUri;
244
- if (existingMetadata?.serviceMetadata?.uri) {
245
- gsUri = existingMetadata.serviceMetadata.uri;
246
- logger_1.logger.log(`Using existing Google Cloud Storage file: ${gsUri}`);
247
- }
248
- else {
249
- gsUri = await this.uploadFile(fileData);
250
- const additionalMetadata = {
251
- mimeType: 'application/' + ext,
252
- serviceMetadata: {
253
- serviceName: this.getServiceName(),
254
- uri: gsUri,
255
- },
256
- };
257
- const fileMetadataIndex = agent.attachedFiles.findIndex((f) => f.fileName === fileName);
258
- if (fileMetadataIndex >= 0) {
259
- agent.attachedFiles[fileMetadataIndex] = {
260
- ...agent.attachedFiles[fileMetadataIndex],
261
- ...additionalMetadata,
262
- };
263
- }
264
- }
265
- return existingMetadata?.serviceMetadata?.uri
266
- ? `Using existing file ${fileName} from Google Cloud Storage`
267
- : `Uploaded ${fileName} to Google Cloud Storage`;
268
- }
269
- formatMessage(message) {
270
- if (!message) {
271
- return 'No message';
272
- }
273
- if (message.role && message.parts) {
274
- const parts = message.parts
275
- .map((part) => {
276
- if (part.text) {
277
- return part.text;
278
- }
279
- else if (part.fileData) {
280
- return `[File: ${part.fileData.fileUri || 'attached file'}]`;
281
- }
282
- else {
283
- return JSON.stringify(part);
284
- }
285
- })
286
- .join('\n');
287
- return `${message.role}: ${parts}`;
288
- }
289
- return super.formatMessage(message);
290
- }
291
- async finishAgent(agent) {
292
- if (!agent)
293
- return;
294
- for (const metadata of agent.attachedFiles) {
295
- if (metadata.serviceMetadata?.serviceName === this.getServiceName() &&
296
- metadata.serviceMetadata?.uri) {
297
- try {
298
- const uri = metadata.serviceMetadata.uri;
299
- const match = uri.match(/gs:\/\/([^\/]+)\/(.+)/);
300
- if (match) {
301
- const bucketName = match[1];
302
- const fileName = match[2];
303
- const storage = new storage_1.Storage();
304
- const bucket = storage.bucket(bucketName);
305
- const file = bucket.file(fileName);
306
- await file.delete();
307
- logger_1.logger.log(`Deleted Google Cloud Storage file ${uri} for agent ${agent.id}`);
308
- }
309
- }
310
- catch (error) {
311
- logger_1.logger.error(`Error deleting Google Cloud Storage file ${metadata.serviceMetadata.uri}:`, error);
312
- }
313
- }
314
- }
315
- }
316
- };
317
- exports.VertexAiService = VertexAiService;
318
- exports.VertexAiService = VertexAiService = __decorate([
319
- (0, common_1.Injectable)(),
320
- __metadata("design:paramtypes", [])
321
- ], VertexAiService);
@@ -1 +0,0 @@
1
- export declare function getModelPrices(): any;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes