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.
- package/README.md +6 -4
- package/data/common/config/markup +1 -0
- package/data/common/config/model_prices.json +5153 -3680
- package/data/common/config/story_models.json +10 -2
- package/data/common/config/story_models_full.json +2 -2
- package/data/common/prompts/compact_agent.prompt +16 -0
- package/data/common/prompts/narrator/perceive.prompt +30 -28
- package/data/common/prompts/story_moderator/moderate.prompt +12 -8
- package/{dist → dist-sdk}/server/src/ai/LLM/anthropic.service.js +22 -12
- package/{dist → dist-sdk}/server/src/ai/LLM/base-ai.service.d.ts +1 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/base-ai.service.js +8 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/deepseek.service.d.ts +1 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/deepseek.service.js +3 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/fal.service.d.ts +1 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/fal.service.js +3 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/grok.service.d.ts +1 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/grok.service.js +3 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/together.service.d.ts +1 -0
- package/{dist → dist-sdk}/server/src/ai/LLM/together.service.js +3 -0
- package/{dist → dist-sdk}/server/src/ai/agent.d.ts +7 -0
- package/{dist → dist-sdk}/server/src/ai/agent.js +32 -0
- package/{dist → dist-sdk}/server/src/ai/ai-factory.module.js +0 -2
- package/{dist → dist-sdk}/server/src/ai/ai-factory.service.d.ts +1 -3
- package/{dist → dist-sdk}/server/src/ai/ai-factory.service.js +1 -8
- package/dist-sdk/server/src/ai/model_prices.d.ts +3 -0
- package/{dist → dist-sdk}/server/src/ai/model_prices.js +19 -1
- package/{dist → dist-sdk}/server/src/ai/published-agents.service.js +1 -1
- package/{dist → dist-sdk}/server/src/app/stripe.controller.d.ts +3 -0
- package/{dist → dist-sdk}/server/src/app/stripe.controller.js +13 -0
- package/{dist → dist-sdk}/server/src/app/stripe.service.d.ts +4 -0
- package/{dist → dist-sdk}/server/src/app/stripe.service.js +16 -0
- package/{dist → dist-sdk}/server/src/app.controller.d.ts +1 -0
- package/{dist → dist-sdk}/server/src/app.controller.js +41 -0
- package/{dist → dist-sdk}/server/src/app.service.d.ts +1 -0
- package/{dist → dist-sdk}/server/src/app.service.js +7 -0
- package/{dist → dist-sdk}/server/src/auth/users.service.js +1 -1
- package/{dist → dist-sdk}/server/src/config/configuration.service.d.ts +0 -2
- package/{dist → dist-sdk}/server/src/config/configuration.service.js +1 -9
- package/{dist → dist-sdk}/server/src/room/published-rooms.service.js +1 -1
- package/{dist → dist-sdk}/server/src/room/room.js +1 -0
- package/{dist → dist-sdk}/server/src/sdk/briyah-config.js +2 -2
- package/{dist → dist-sdk}/server/src/sdk/briyah.js +7 -9
- package/{dist → dist-sdk}/server/src/story/story-message.service.js +24 -32
- package/{dist → dist-sdk}/server/src/story/story.service.d.ts +1 -1
- package/{dist → dist-sdk}/server/src/story/story.service.js +103 -76
- package/{dist → dist-sdk}/shared/types/app.types.d.ts +1 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Agent.html +18 -13
- package/docs/classes/Briyah.html +12 -12
- package/docs/classes/BriyahConfigService.html +5 -5
- package/docs/classes/Room.html +23 -23
- package/docs/classes/RoomMessage.html +10 -10
- package/docs/enums/MessageAction.html +3 -3
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +7 -6
- package/docs/interfaces/AgentInfo.html +2 -2
- package/docs/interfaces/AgentMessagesResponse.html +2 -2
- package/docs/interfaces/AppService.html +150 -145
- package/docs/interfaces/Artifact.html +3 -3
- package/docs/interfaces/ArtifactMetadata.html +2 -2
- package/docs/interfaces/AttachDocumentResponse.html +2 -2
- package/docs/interfaces/BriyahConfigOptions.html +6 -6
- package/docs/interfaces/ChapterInfo.html +2 -2
- package/docs/interfaces/Character.html +2 -2
- package/docs/interfaces/CreateAgentResponse.html +2 -2
- package/docs/interfaces/CreateRoomResponse.html +2 -2
- package/docs/interfaces/CreateStoryResponse.html +2 -2
- package/docs/interfaces/FileList.html +2 -2
- package/docs/interfaces/LoggingOptions.html +5 -5
- package/docs/interfaces/Message.html +2 -2
- package/docs/interfaces/ModelInfo.html +2 -2
- package/docs/interfaces/PreparedPromptResponse.html +2 -2
- package/docs/interfaces/ProcessTextResponse.html +2 -2
- package/docs/interfaces/PromptFile.html +2 -2
- package/docs/interfaces/PromptFileContent.html +2 -2
- package/docs/interfaces/PromptFilesResponse.html +2 -2
- package/docs/interfaces/PromptFolder.html +2 -2
- package/docs/interfaces/PromptFoldersResponse.html +2 -2
- package/docs/interfaces/RoomDetails.html +2 -2
- package/docs/interfaces/RoomInfo.html +2 -2
- package/docs/interfaces/RoomMessagesResponse.html +2 -2
- package/docs/interfaces/StoryErrorEvent.html +3 -3
- package/docs/interfaces/StoryIdea.html +2 -2
- package/docs/interfaces/StoryInfo.html +6 -2
- package/docs/interfaces/StoryIntroduceCharacterEvent.html +3 -3
- package/docs/interfaces/StoryProgressChapterEvent.html +3 -3
- package/docs/interfaces/StoryState.html +5 -5
- package/docs/interfaces/StoryStateEvent.html +3 -3
- package/docs/interfaces/Transaction.html +2 -2
- package/docs/interfaces/TransactionHistoryResponse.html +2 -2
- package/docs/modules.html +1 -1
- package/docs/types/PromptScope.html +1 -1
- package/package.json +8 -11
- package/dist/server/src/ai/LLM/vertexai.module.d.ts +0 -2
- package/dist/server/src/ai/LLM/vertexai.module.js +0 -21
- package/dist/server/src/ai/LLM/vertexai.service.d.ts +0 -17
- package/dist/server/src/ai/LLM/vertexai.service.js +0 -321
- package/dist/server/src/ai/model_prices.d.ts +0 -1
- /package/data/common/prompts/character/{compact_story.json → compact_agent.json} +0 -0
- /package/data/common/prompts/character/{compact_story.prompt → compact_agent.prompt} +0 -0
- /package/data/common/prompts/narrator/{compact_story.json → compact_agent.json} +0 -0
- /package/data/common/prompts/narrator/{compact_story.prompt → compact_agent.prompt} +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/anthropic.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/anthropic.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/anthropic.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/deepseek.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/deepseek.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/fal.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/fal.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/googleai.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/googleai.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/googleai.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/googleai.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/grok.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/grok.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/mock.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/mock.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/mock.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/mock.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/openai.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/openai.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/openai.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/openai.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/together.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/LLM/together.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-config.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-config.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-factory.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-factory.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-message.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-message.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-store.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-store.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-store.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/agent-store.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/ai-factory.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/artifact.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/artifact.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/artifact.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/artifact.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/attached-file.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/attached-file.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/attached-file.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/ai/attached-file.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/ai/published-agents.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app/balance-message.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app/balance-message.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/app/balance.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app/balance.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/app/balance.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app/balance.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/app/stripe.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app/stripe.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/app/transaction.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app/transaction.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/app/user-service-factory.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app/user-service-factory.js +0 -0
- /package/{dist → dist-sdk}/server/src/app/user-service-manager.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app/user-service-manager.js +0 -0
- /package/{dist → dist-sdk}/server/src/app.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/app.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/agent-access.decorator.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/agent-access.decorator.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/auth.controller.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/auth.controller.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/auth.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/auth.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/auth.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/auth.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/dto/bot-login.dto.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/dto/bot-login.dto.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/dto/password-reset.dto.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/dto/password-reset.dto.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/dto/phone-login.dto.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/dto/phone-login.dto.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/dto/phone-verification.dto.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/dto/phone-verification.dto.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/jwt-auth.guard.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/jwt-auth.guard.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/jwt.strategy.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/jwt.strategy.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/phone-validation.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/phone-validation.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/public.decorator.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/public.decorator.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/rate-limit.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/rate-limit.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/room-access.decorator.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/room-access.decorator.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/scopes.decorator.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/scopes.decorator.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/scopes.guard.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/scopes.guard.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/session.guard.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/session.guard.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/twilio.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/auth/twilio.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/auth/users.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/common/errors.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/common/errors.js +0 -0
- /package/{dist → dist-sdk}/server/src/common/logger.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/common/logger.js +0 -0
- /package/{dist → dist-sdk}/server/src/config/configuration.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/config/configuration.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/artifact-store.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/artifact-store.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/artifact.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/artifact.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/message.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/message.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/published-rooms.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-config.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-config.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-factory.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-factory.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-message.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-message.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-message.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-message.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-store.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-store.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-store.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/room/room-store.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/room/room.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/sdk/briyah-config.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/sdk/briyah.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/sdk/index.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/sdk/index.js +0 -0
- /package/{dist → dist-sdk}/server/src/shared/shared.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/shared/shared.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/story/story-message.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/story/story-progress.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/story/story-progress.service.js +0 -0
- /package/{dist → dist-sdk}/server/src/story/story-store.module.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/story/story-store.module.js +0 -0
- /package/{dist → dist-sdk}/server/src/story/story-store.service.d.ts +0 -0
- /package/{dist → dist-sdk}/server/src/story/story-store.service.js +0 -0
- /package/{dist → dist-sdk}/shared/types/app.types.js +0 -0
|
@@ -40,6 +40,11 @@ let StripeController = class StripeController {
|
|
|
40
40
|
const result = await this.stripeService.createCheckoutSession(userId, amount, appService);
|
|
41
41
|
return result;
|
|
42
42
|
}
|
|
43
|
+
async getCheckoutSessionBalance(sessionId) {
|
|
44
|
+
const { userId } = await this.stripeService.getCheckoutSessionUser(sessionId);
|
|
45
|
+
const appService = this.userServiceManager.getAppService(userId);
|
|
46
|
+
return { balance: appService.getBalance() };
|
|
47
|
+
}
|
|
43
48
|
async getStripeConfig() {
|
|
44
49
|
return this.stripeService.getStripeConfig();
|
|
45
50
|
}
|
|
@@ -114,6 +119,14 @@ __decorate([
|
|
|
114
119
|
__metadata("design:paramtypes", [Object, Object]),
|
|
115
120
|
__metadata("design:returntype", Promise)
|
|
116
121
|
], StripeController.prototype, "createCheckoutSession", null);
|
|
122
|
+
__decorate([
|
|
123
|
+
(0, public_decorator_1.Public)(),
|
|
124
|
+
(0, common_1.Get)('session/:sessionId/balance'),
|
|
125
|
+
__param(0, (0, common_1.Param)('sessionId')),
|
|
126
|
+
__metadata("design:type", Function),
|
|
127
|
+
__metadata("design:paramtypes", [String]),
|
|
128
|
+
__metadata("design:returntype", Promise)
|
|
129
|
+
], StripeController.prototype, "getCheckoutSessionBalance", null);
|
|
117
130
|
__decorate([
|
|
118
131
|
(0, common_1.Get)('config'),
|
|
119
132
|
__metadata("design:type", Function),
|
|
@@ -17,6 +17,10 @@ export declare class StripeService {
|
|
|
17
17
|
createCheckoutSession(userId: string, amount: number, appService: AppService): Promise<{
|
|
18
18
|
url: string;
|
|
19
19
|
}>;
|
|
20
|
+
getCheckoutSessionUser(sessionId: string): Promise<{
|
|
21
|
+
userId: string;
|
|
22
|
+
paymentStatus: string;
|
|
23
|
+
}>;
|
|
20
24
|
getStripeConfig(): {
|
|
21
25
|
publishableKey: string;
|
|
22
26
|
};
|
|
@@ -124,6 +124,22 @@ let StripeService = class StripeService {
|
|
|
124
124
|
throw new common_1.InternalServerErrorException('Failed to create checkout session');
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
+
async getCheckoutSessionUser(sessionId) {
|
|
128
|
+
try {
|
|
129
|
+
const session = await this.stripe.checkout.sessions.retrieve(sessionId);
|
|
130
|
+
const userId = session.metadata?.userId;
|
|
131
|
+
if (!userId) {
|
|
132
|
+
throw new common_1.BadRequestException('Session has no userId in metadata');
|
|
133
|
+
}
|
|
134
|
+
return { userId, paymentStatus: session.payment_status };
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
if (error instanceof common_1.BadRequestException)
|
|
138
|
+
throw error;
|
|
139
|
+
logger_1.logger.error('Error retrieving checkout session:', error);
|
|
140
|
+
throw new common_1.BadRequestException('Invalid or expired session ID');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
127
143
|
getStripeConfig() {
|
|
128
144
|
return {
|
|
129
145
|
publishableKey: this.publishableKey,
|
|
@@ -110,6 +110,7 @@ export declare class AppController {
|
|
|
110
110
|
updateAgent(req: ExpressRequest, agentId: string, updateData: UpdateAgentRequest): Promise<void>;
|
|
111
111
|
deleteAttachedFile(req: ExpressRequest, agentId: string, documentId: string): Promise<void>;
|
|
112
112
|
reloadAgent(req: ExpressRequest, agentId: string): Promise<void>;
|
|
113
|
+
compactAgentConversation(req: ExpressRequest, agentId: string): Promise<void>;
|
|
113
114
|
resetRoom(req: ExpressRequest, roomId: string): Promise<void>;
|
|
114
115
|
publishRoom(req: ExpressRequest, templateId: string, body: {
|
|
115
116
|
publishedName?: string;
|
|
@@ -827,6 +827,34 @@ let AppController = class AppController {
|
|
|
827
827
|
throw new common_1.HttpException('Failed to reload agent', common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
828
828
|
}
|
|
829
829
|
}
|
|
830
|
+
async compactAgentConversation(req, agentId) {
|
|
831
|
+
if (!agentId) {
|
|
832
|
+
throw new common_1.BadRequestException('Agent ID is required');
|
|
833
|
+
}
|
|
834
|
+
try {
|
|
835
|
+
const appService = this.getAppService(req, agentId);
|
|
836
|
+
if (req.user.type === 'agent-access') {
|
|
837
|
+
const agentDetails = await appService.getAgentDetails(agentId);
|
|
838
|
+
if (!agentDetails || !agentDetails.isPublished) {
|
|
839
|
+
throw new common_1.ForbiddenException('Agent is not published');
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
await appService.compactAgentConversation(agentId);
|
|
843
|
+
}
|
|
844
|
+
catch (error) {
|
|
845
|
+
logger_1.logger.error(`[${req.user?.sub}] Error compacting agent ${agentId}:`, error);
|
|
846
|
+
if (error instanceof errors_1.NotFoundError) {
|
|
847
|
+
throw new common_1.NotFoundException(error.message);
|
|
848
|
+
}
|
|
849
|
+
if (error instanceof errors_1.OperationFailedError) {
|
|
850
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
851
|
+
}
|
|
852
|
+
if (error instanceof common_1.ForbiddenException) {
|
|
853
|
+
throw error;
|
|
854
|
+
}
|
|
855
|
+
throw new common_1.HttpException('Failed to compact agent conversation', common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
856
|
+
}
|
|
857
|
+
}
|
|
830
858
|
async resetRoom(req, roomId) {
|
|
831
859
|
if (!roomId) {
|
|
832
860
|
throw new common_1.BadRequestException('Room ID is required');
|
|
@@ -1412,6 +1440,9 @@ let AppController = class AppController {
|
|
|
1412
1440
|
subscriber.next({
|
|
1413
1441
|
data: { type: 'connected', storyId },
|
|
1414
1442
|
});
|
|
1443
|
+
if (storyInfo.pendingSuggestion) {
|
|
1444
|
+
subscriber.next({ data: storyInfo.pendingSuggestion });
|
|
1445
|
+
}
|
|
1415
1446
|
const updateHandler = (data) => {
|
|
1416
1447
|
subscriber.next({ data });
|
|
1417
1448
|
};
|
|
@@ -2076,6 +2107,16 @@ __decorate([
|
|
|
2076
2107
|
__metadata("design:paramtypes", [Object, String]),
|
|
2077
2108
|
__metadata("design:returntype", Promise)
|
|
2078
2109
|
], AppController.prototype, "reloadAgent", null);
|
|
2110
|
+
__decorate([
|
|
2111
|
+
(0, agent_access_decorator_1.AgentAccess)(),
|
|
2112
|
+
(0, common_1.Post)('agents/:agentId/compact'),
|
|
2113
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
|
|
2114
|
+
__param(0, (0, common_1.Request)()),
|
|
2115
|
+
__param(1, (0, common_1.Param)('agentId')),
|
|
2116
|
+
__metadata("design:type", Function),
|
|
2117
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
2118
|
+
__metadata("design:returntype", Promise)
|
|
2119
|
+
], AppController.prototype, "compactAgentConversation", null);
|
|
2079
2120
|
__decorate([
|
|
2080
2121
|
(0, common_1.Post)('rooms/:roomId/reset'),
|
|
2081
2122
|
(0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
|
|
@@ -111,6 +111,7 @@ export declare class AppService {
|
|
|
111
111
|
deleteAttachedFile(agentId: string, fileName: string): Promise<void>;
|
|
112
112
|
deleteAttachedFileById(documentId: string): Promise<void>;
|
|
113
113
|
reloadAgent(agentId: string): Promise<void>;
|
|
114
|
+
compactAgentConversation(agentId: string): Promise<void>;
|
|
114
115
|
resetRoom(roomId: string): Promise<void>;
|
|
115
116
|
resetStory(storyId: string): Promise<void>;
|
|
116
117
|
createStory(name: string, idea: string, userCharacterDesc: string, otherCharactersDesc: string, storyModel?: string, isImport?: boolean, imageModelName?: string): Promise<StoryInfo>;
|
|
@@ -890,6 +890,13 @@ class AppService {
|
|
|
890
890
|
}
|
|
891
891
|
agent.save();
|
|
892
892
|
}
|
|
893
|
+
async compactAgentConversation(agentId) {
|
|
894
|
+
const agent = await this.agentStore.getAgent(agentId);
|
|
895
|
+
if (!agent) {
|
|
896
|
+
throw new errors_1.NotFoundError('Agent not found');
|
|
897
|
+
}
|
|
898
|
+
await agent.compact();
|
|
899
|
+
}
|
|
893
900
|
async resetRoom(roomId) {
|
|
894
901
|
const room = await this.roomStore.getRoom(roomId);
|
|
895
902
|
if (!room) {
|
|
@@ -52,7 +52,7 @@ let UsersService = class UsersService {
|
|
|
52
52
|
usersFilePath;
|
|
53
53
|
dataDir;
|
|
54
54
|
constructor() {
|
|
55
|
-
this.dataDir = process.env.
|
|
55
|
+
this.dataDir = process.env.BRIYAH_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
|
|
56
56
|
const commonDir = path.resolve(this.dataDir, 'common');
|
|
57
57
|
const usersDir = path.resolve(commonDir, 'users');
|
|
58
58
|
this.usersFilePath = path.resolve(usersDir, 'users.json');
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export declare class ConfigurationService {
|
|
2
2
|
private dataDir;
|
|
3
|
-
private credsDir;
|
|
4
3
|
private promptsDir;
|
|
5
4
|
private commonPromptsDir;
|
|
6
5
|
private userPromptsDir;
|
|
@@ -11,7 +10,6 @@ export declare class ConfigurationService {
|
|
|
11
10
|
private userId;
|
|
12
11
|
constructor(userId: string, baseDataPath?: string);
|
|
13
12
|
getDataDir(): string;
|
|
14
|
-
getCredsDir(): string;
|
|
15
13
|
getPromptsDir(): string;
|
|
16
14
|
getUploadDir(): string;
|
|
17
15
|
getUserConfigDir(): string;
|
|
@@ -38,7 +38,6 @@ const fs = __importStar(require("fs"));
|
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
class ConfigurationService {
|
|
40
40
|
dataDir;
|
|
41
|
-
credsDir;
|
|
42
41
|
promptsDir;
|
|
43
42
|
commonPromptsDir;
|
|
44
43
|
userPromptsDir;
|
|
@@ -49,16 +48,12 @@ class ConfigurationService {
|
|
|
49
48
|
userId;
|
|
50
49
|
constructor(userId, baseDataPath) {
|
|
51
50
|
this.userId = userId;
|
|
52
|
-
const dataPath = baseDataPath || process.env.
|
|
51
|
+
const dataPath = baseDataPath || process.env.BRIYAH_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
|
|
53
52
|
this.dataDir = path.resolve(dataPath);
|
|
54
53
|
if (!fs.existsSync(this.dataDir)) {
|
|
55
54
|
fs.mkdirSync(this.dataDir, { recursive: true });
|
|
56
55
|
}
|
|
57
56
|
const commonDir = path.resolve(this.dataDir, 'common');
|
|
58
|
-
this.credsDir = path.resolve(commonDir, 'creds');
|
|
59
|
-
if (!fs.existsSync(this.credsDir)) {
|
|
60
|
-
fs.mkdirSync(this.credsDir, { recursive: true });
|
|
61
|
-
}
|
|
62
57
|
this.commonConfigDir = path.resolve(commonDir, 'config');
|
|
63
58
|
if (!fs.existsSync(this.commonConfigDir)) {
|
|
64
59
|
fs.mkdirSync(this.commonConfigDir, { recursive: true });
|
|
@@ -85,9 +80,6 @@ class ConfigurationService {
|
|
|
85
80
|
getDataDir() {
|
|
86
81
|
return this.dataDir;
|
|
87
82
|
}
|
|
88
|
-
getCredsDir() {
|
|
89
|
-
return this.credsDir;
|
|
90
|
-
}
|
|
91
83
|
getPromptsDir() {
|
|
92
84
|
return this.promptsDir;
|
|
93
85
|
}
|
|
@@ -51,7 +51,7 @@ let PublishedRoomsService = class PublishedRoomsService {
|
|
|
51
51
|
mapping;
|
|
52
52
|
filePath;
|
|
53
53
|
constructor() {
|
|
54
|
-
const dataPath = process.env.
|
|
54
|
+
const dataPath = process.env.BRIYAH_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
|
|
55
55
|
this.filePath = path.join(dataPath, 'common', 'published-rooms.json');
|
|
56
56
|
this.mapping = new Map();
|
|
57
57
|
this.load();
|
|
@@ -272,6 +272,7 @@ class Room {
|
|
|
272
272
|
let response = await agent.instructedPrompt(prompt, 'perceive', variables, false, true, maxOutputChars);
|
|
273
273
|
answer = this.parseAgentResponse(agent, response);
|
|
274
274
|
agent.addToConversationHistory(response, true);
|
|
275
|
+
agent.save();
|
|
275
276
|
}
|
|
276
277
|
catch (e) {
|
|
277
278
|
if (e instanceof errors_1.InsufficientBalanceError) {
|
|
@@ -9,8 +9,8 @@ class BriyahConfigService {
|
|
|
9
9
|
...(options?.envOverrides || {}),
|
|
10
10
|
};
|
|
11
11
|
if (options?.dataPath) {
|
|
12
|
-
this.env.
|
|
13
|
-
process.env.
|
|
12
|
+
this.env.BRIYAH_DATA_PATH = options.dataPath;
|
|
13
|
+
process.env.BRIYAH_DATA_PATH = options.dataPath;
|
|
14
14
|
}
|
|
15
15
|
if (options?.userServiceCacheTimeoutMinutes !== undefined) {
|
|
16
16
|
this.env.USER_SERVICE_CACHE_TIMEOUT_MINUTES = String(options.userServiceCacheTimeoutMinutes);
|
|
@@ -40,7 +40,6 @@ const logger_1 = require("../common/logger");
|
|
|
40
40
|
const ai_factory_service_1 = require("../ai/ai-factory.service");
|
|
41
41
|
const openai_service_1 = require("../ai/LLM/openai.service");
|
|
42
42
|
const anthropic_service_1 = require("../ai/LLM/anthropic.service");
|
|
43
|
-
const vertexai_service_1 = require("../ai/LLM/vertexai.service");
|
|
44
43
|
const grok_service_1 = require("../ai/LLM/grok.service");
|
|
45
44
|
const deepseek_service_1 = require("../ai/LLM/deepseek.service");
|
|
46
45
|
const together_service_1 = require("../ai/LLM/together.service");
|
|
@@ -72,7 +71,7 @@ class Briyah {
|
|
|
72
71
|
initialized = false;
|
|
73
72
|
constructor(options) {
|
|
74
73
|
this.configService = new briyah_config_1.BriyahConfigService(options);
|
|
75
|
-
const dataPath = this.configService.get('
|
|
74
|
+
const dataPath = this.configService.get('BRIYAH_DATA_PATH') || path.resolve(process.cwd(), 'briyah-data');
|
|
76
75
|
logger_1.logger.configure({
|
|
77
76
|
enabled: options?.logging?.enabled !== false,
|
|
78
77
|
console: options?.logging?.console !== false,
|
|
@@ -85,14 +84,14 @@ class Briyah {
|
|
|
85
84
|
validateEnvironment() {
|
|
86
85
|
const hasAnyProvider = this.configService.get('ANTHROPIC_API_KEY') ||
|
|
87
86
|
this.configService.get('OPENAI_API_KEY') ||
|
|
88
|
-
this.configService.get('
|
|
87
|
+
this.configService.get('GOOGLE_GENAI_API_KEY') ||
|
|
89
88
|
this.configService.get('XAI_API_KEY') ||
|
|
90
89
|
this.configService.get('DEEPSEEK_API_KEY') ||
|
|
91
|
-
this.configService.get('TOGETHER_API_KEY')
|
|
92
|
-
|
|
90
|
+
this.configService.get('TOGETHER_API_KEY') ||
|
|
91
|
+
this.configService.get('FAL_API_KEY');
|
|
93
92
|
if (!hasAnyProvider) {
|
|
94
93
|
logger_1.logger.warn('[Briyah] No LLM provider API keys configured. Some features will not be available.');
|
|
95
|
-
logger_1.logger.warn('[Briyah] Set one or more of: ANTHROPIC_API_KEY, OPENAI_API_KEY,
|
|
94
|
+
logger_1.logger.warn('[Briyah] Set one or more of: ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_GENAI_API_KEY, XAI_API_KEY, DEEPSEEK_API_KEY, TOGETHER_API_KEY, FAL_API_KEY');
|
|
96
95
|
}
|
|
97
96
|
const startingBalance = this.configService.get('STARTING_BALANCE');
|
|
98
97
|
if (!startingBalance) {
|
|
@@ -102,14 +101,13 @@ class Briyah {
|
|
|
102
101
|
initializeSingletons(_baseDataPath) {
|
|
103
102
|
const openAiService = new openai_service_1.OpenAiService();
|
|
104
103
|
const anthropicService = new anthropic_service_1.AnthropicAiService();
|
|
105
|
-
const vertexService = new vertexai_service_1.VertexAiService();
|
|
106
104
|
const grokService = new grok_service_1.GrokAiService();
|
|
107
105
|
const deepseekService = new deepseek_service_1.DeepSeekAiService();
|
|
108
106
|
const togetherService = new together_service_1.TogetherAiService();
|
|
109
107
|
const mockService = new mock_service_1.MockAiService();
|
|
110
108
|
const googleAiService = new googleai_service_1.GoogleAiService();
|
|
111
109
|
const falAiService = new fal_service_1.FalAiService();
|
|
112
|
-
this.aiFactoryService = new ai_factory_service_1.AiFactoryService(openAiService, grokService,
|
|
110
|
+
this.aiFactoryService = new ai_factory_service_1.AiFactoryService(openAiService, grokService, anthropicService, deepseekService, togetherService, mockService, googleAiService, falAiService);
|
|
113
111
|
this.agentMessageService = new agent_message_service_1.AgentMessageService();
|
|
114
112
|
this.roomMessageService = new room_message_service_1.RoomMessageService();
|
|
115
113
|
this.storyProgressService = new story_progress_service_1.StoryProgressService();
|
|
@@ -131,7 +129,7 @@ class Briyah {
|
|
|
131
129
|
this.initialized = true;
|
|
132
130
|
}
|
|
133
131
|
seedCommonData() {
|
|
134
|
-
const dataPath = this.configService.get('
|
|
132
|
+
const dataPath = this.configService.get('BRIYAH_DATA_PATH') || path.resolve(process.cwd(), 'briyah-data');
|
|
135
133
|
const userCommonDir = path.resolve(dataPath, 'common');
|
|
136
134
|
const packageCommonDir = path.resolve(__dirname, '../../../../data/common');
|
|
137
135
|
if (!fs.existsSync(packageCommonDir)) {
|
|
@@ -23,44 +23,36 @@ let StoryMessageService = class StoryMessageService {
|
|
|
23
23
|
return this.messageEmitters.get(storyId);
|
|
24
24
|
}
|
|
25
25
|
emitStoryState(storyId, state) {
|
|
26
|
-
const emitter = this.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
emitter.emit('story-state', payload);
|
|
30
|
-
}
|
|
26
|
+
const emitter = this.getOrCreateEmitter(storyId);
|
|
27
|
+
const payload = { type: 'story-state', state, timestamp: Date.now() };
|
|
28
|
+
emitter.emit('story-state', payload);
|
|
31
29
|
}
|
|
32
30
|
emitIntroduceCharacter(storyId, characterName) {
|
|
33
|
-
const emitter = this.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
emitter.emit('suggest-introduce-character', payload);
|
|
41
|
-
}
|
|
31
|
+
const emitter = this.getOrCreateEmitter(storyId);
|
|
32
|
+
const payload = {
|
|
33
|
+
type: 'suggest-introduce-character',
|
|
34
|
+
characterName,
|
|
35
|
+
timestamp: Date.now(),
|
|
36
|
+
};
|
|
37
|
+
emitter.emit('suggest-introduce-character', payload);
|
|
42
38
|
}
|
|
43
39
|
emitProgressChapter(storyId) {
|
|
44
|
-
const emitter = this.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
emitter.emit('suggest-progress-chapter', payload);
|
|
51
|
-
}
|
|
40
|
+
const emitter = this.getOrCreateEmitter(storyId);
|
|
41
|
+
const payload = {
|
|
42
|
+
type: 'suggest-progress-chapter',
|
|
43
|
+
timestamp: Date.now(),
|
|
44
|
+
};
|
|
45
|
+
emitter.emit('suggest-progress-chapter', payload);
|
|
52
46
|
}
|
|
53
47
|
emitError(storyId, error) {
|
|
54
|
-
const emitter = this.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
emitter.emit('story-error', payload);
|
|
63
|
-
}
|
|
48
|
+
const emitter = this.getOrCreateEmitter(storyId);
|
|
49
|
+
const payload = {
|
|
50
|
+
type: 'story-error',
|
|
51
|
+
errorType: error.name,
|
|
52
|
+
message: error.message,
|
|
53
|
+
timestamp: Date.now(),
|
|
54
|
+
};
|
|
55
|
+
emitter.emit('story-error', payload);
|
|
64
56
|
}
|
|
65
57
|
cleanup(storyId) {
|
|
66
58
|
const emitter = this.messageEmitters.get(storyId);
|
|
@@ -20,6 +20,7 @@ export declare class StoryService {
|
|
|
20
20
|
private readonly agentFactory;
|
|
21
21
|
private readonly roomFactory;
|
|
22
22
|
private readonly storyArtifactServices;
|
|
23
|
+
private readonly chaptersInProgress;
|
|
23
24
|
constructor(storyStore: StoryStoreService, agentStore: AgentStoreService, roomStore: RoomStoreService, progressService: StoryProgressService, messageService: StoryMessageService, configService: ConfigurationService, agentFactory: AgentFactory, roomFactory: RoomFactory);
|
|
24
25
|
getProgressEmitter(storyId: string): import("node:events")<any>;
|
|
25
26
|
getMessageEmitter(storyId: string): import("node:events")<any>;
|
|
@@ -72,7 +73,6 @@ export declare class StoryService {
|
|
|
72
73
|
private progressStoryToNextChapterAsync;
|
|
73
74
|
private generateOpeningScene;
|
|
74
75
|
private compactAgentHistories;
|
|
75
|
-
private compactAgentHistory;
|
|
76
76
|
private extractMarkdownContent;
|
|
77
77
|
private updatePlotPlan;
|
|
78
78
|
private updateCharacterProfiles;
|