briyah 1.0.7 → 1.0.8
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 +31 -21
- package/dist/server/src/ai/LLM/anthropic.service.js +16 -8
- package/dist/server/src/ai/LLM/base-ai.service.js +5 -4
- package/dist/server/src/ai/LLM/deepseek.service.js +8 -6
- package/dist/server/src/ai/LLM/fal.service.js +15 -14
- package/dist/server/src/ai/LLM/googleai.service.js +10 -8
- package/dist/server/src/ai/LLM/grok.service.js +9 -7
- package/dist/server/src/ai/LLM/mock.service.js +7 -6
- package/dist/server/src/ai/LLM/openai.service.js +15 -13
- package/dist/server/src/ai/LLM/together.service.js +10 -8
- package/dist/server/src/ai/LLM/vertexai.service.js +10 -9
- package/dist/server/src/ai/agent-store.service.js +12 -11
- package/dist/server/src/ai/artifact.service.js +7 -6
- package/dist/server/src/ai/attached-file.service.js +8 -7
- package/dist/server/src/ai/published-agents.service.js +5 -4
- package/dist/server/src/app/balance.service.js +7 -6
- package/dist/server/src/app/stripe.controller.js +12 -11
- package/dist/server/src/app/stripe.service.js +20 -19
- package/dist/server/src/app/transaction.service.js +6 -5
- package/dist/server/src/app/user-service-manager.js +6 -5
- package/dist/server/src/app.controller.js +95 -94
- package/dist/server/src/app.service.js +31 -30
- package/dist/server/src/auth/auth.controller.js +21 -20
- package/dist/server/src/auth/jwt-auth.guard.js +4 -3
- package/dist/server/src/auth/rate-limit.service.d.ts +0 -1
- package/dist/server/src/auth/rate-limit.service.js +6 -7
- package/dist/server/src/auth/twilio.service.js +4 -3
- package/dist/server/src/auth/users.service.js +5 -4
- package/dist/server/src/common/logger.d.ts +21 -0
- package/dist/server/src/common/logger.js +83 -0
- package/dist/server/src/room/artifact-store.service.d.ts +0 -1
- package/dist/server/src/room/artifact-store.service.js +16 -17
- package/dist/server/src/room/published-rooms.service.js +3 -2
- package/dist/server/src/room/room-store.service.js +17 -16
- package/dist/server/src/room/room.js +14 -13
- package/dist/server/src/sdk/briyah-config.d.ts +7 -0
- package/dist/server/src/sdk/briyah-config.js +1 -0
- package/dist/server/src/sdk/briyah.js +13 -4
- package/dist/server/src/sdk/index.d.ts +2 -1
- package/dist/server/src/story/story-progress.service.js +2 -1
- package/dist/server/src/story/story-store.service.js +28 -27
- package/dist/server/src/story/story.service.js +113 -112
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +106 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1633 -0
- package/docs/classes/Agent.html +87 -0
- package/docs/classes/Briyah.html +64 -0
- package/docs/classes/BriyahConfigService.html +12 -0
- package/docs/classes/Room.html +119 -0
- package/docs/enums/MessageAction.html +13 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +136 -0
- package/docs/interfaces/AgentInfo.html +17 -0
- package/docs/interfaces/AgentMessagesResponse.html +5 -0
- package/docs/interfaces/AppService.html +680 -0
- package/docs/interfaces/ArtifactMetadata.html +8 -0
- package/docs/interfaces/AttachDocumentResponse.html +3 -0
- package/docs/interfaces/BriyahConfigOptions.html +16 -0
- package/docs/interfaces/ChapterInfo.html +3 -0
- package/docs/interfaces/Character.html +7 -0
- package/docs/interfaces/CreateAgentResponse.html +2 -0
- package/docs/interfaces/CreateRoomResponse.html +3 -0
- package/docs/interfaces/CreateStoryResponse.html +2 -0
- package/docs/interfaces/FileList.html +2 -0
- package/docs/interfaces/LoggingOptions.html +9 -0
- package/docs/interfaces/Message.html +6 -0
- package/docs/interfaces/ModelInfo.html +5 -0
- package/docs/interfaces/PreparedPromptResponse.html +3 -0
- package/docs/interfaces/ProcessTextResponse.html +7 -0
- package/docs/interfaces/PromptFile.html +3 -0
- package/docs/interfaces/PromptFileContent.html +3 -0
- package/docs/interfaces/PromptFilesResponse.html +2 -0
- package/docs/interfaces/PromptFolder.html +3 -0
- package/docs/interfaces/PromptFoldersResponse.html +2 -0
- package/docs/interfaces/RoomDetails.html +9 -0
- package/docs/interfaces/RoomInfo.html +5 -0
- package/docs/interfaces/RoomMessagesResponse.html +3 -0
- package/docs/interfaces/StoryIdea.html +5 -0
- package/docs/interfaces/StoryInfo.html +21 -0
- package/docs/interfaces/StoryState.html +9 -0
- package/docs/modules.html +1 -0
- package/docs/types/PromptScope.html +1 -0
- package/package.json +6 -3
- package/data/common/config/story_ideas.txt +0 -6
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.StripeService = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const stripe_1 = __importDefault(require("stripe"));
|
|
18
|
+
const logger_1 = require("../common/logger");
|
|
18
19
|
let StripeService = class StripeService {
|
|
19
20
|
stripe;
|
|
20
21
|
minPaymentAmount;
|
|
@@ -68,7 +69,7 @@ let StripeService = class StripeService {
|
|
|
68
69
|
};
|
|
69
70
|
}
|
|
70
71
|
catch (error) {
|
|
71
|
-
|
|
72
|
+
logger_1.logger.error('Error creating Payment Intent:', error);
|
|
72
73
|
throw new common_1.InternalServerErrorException('Failed to create payment intent');
|
|
73
74
|
}
|
|
74
75
|
}
|
|
@@ -119,7 +120,7 @@ let StripeService = class StripeService {
|
|
|
119
120
|
};
|
|
120
121
|
}
|
|
121
122
|
catch (error) {
|
|
122
|
-
|
|
123
|
+
logger_1.logger.error('Error creating Checkout Session:', error);
|
|
123
124
|
throw new common_1.InternalServerErrorException('Failed to create checkout session');
|
|
124
125
|
}
|
|
125
126
|
}
|
|
@@ -133,44 +134,44 @@ let StripeService = class StripeService {
|
|
|
133
134
|
return this.stripe.webhooks.constructEvent(rawBody, signature, this.webhookSecret);
|
|
134
135
|
}
|
|
135
136
|
catch (error) {
|
|
136
|
-
|
|
137
|
+
logger_1.logger.error('Webhook signature verification failed:', error);
|
|
137
138
|
throw new common_1.BadRequestException('Invalid webhook signature');
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
async handlePaymentIntentSucceeded(paymentIntent, appService) {
|
|
141
142
|
try {
|
|
142
143
|
const userId = paymentIntent.metadata.userId;
|
|
143
|
-
|
|
144
|
+
logger_1.logger.log(`[Stripe Webhook] Processing payment_intent.succeeded for user ${userId}, payment ${paymentIntent.id}`);
|
|
144
145
|
if (!userId) {
|
|
145
|
-
|
|
146
|
+
logger_1.logger.error('Payment Intent missing userId in metadata:', paymentIntent.id);
|
|
146
147
|
return;
|
|
147
148
|
}
|
|
148
149
|
const amount = paymentIntent.amount / 100;
|
|
149
|
-
|
|
150
|
+
logger_1.logger.log(`[Stripe Webhook] Amount: $${amount.toFixed(2)}`);
|
|
150
151
|
const transactionService = appService.getTransactionService();
|
|
151
152
|
const existingTransaction = await transactionService.getTransactionByPaymentIntent(paymentIntent.id);
|
|
152
|
-
|
|
153
|
+
logger_1.logger.log(`[Stripe Webhook] Existing transaction:`, existingTransaction);
|
|
153
154
|
if (existingTransaction?.status === 'succeeded') {
|
|
154
|
-
|
|
155
|
+
logger_1.logger.log(`Transaction ${paymentIntent.id} already processed, skipping`);
|
|
155
156
|
return;
|
|
156
157
|
}
|
|
157
158
|
const balanceBefore = await appService.getBalance();
|
|
158
|
-
|
|
159
|
-
|
|
159
|
+
logger_1.logger.log(`[Stripe Webhook] Balance before: $${balanceBefore.toFixed(2)}`);
|
|
160
|
+
logger_1.logger.log(`[Stripe Webhook] Adding $${amount.toFixed(2)} to balance`);
|
|
160
161
|
await appService.addBalance(amount);
|
|
161
162
|
const balanceAfter = await appService.getBalance();
|
|
162
|
-
|
|
163
|
-
|
|
163
|
+
logger_1.logger.log(`[Stripe Webhook] Balance after: $${balanceAfter.toFixed(2)}`);
|
|
164
|
+
logger_1.logger.log(`[Stripe Webhook] Updating transaction status to 'succeeded'`);
|
|
164
165
|
await transactionService.updateTransactionStatus(paymentIntent.id, 'succeeded');
|
|
165
|
-
|
|
166
|
+
logger_1.logger.log(`[Stripe Webhook] Checking for paused stories to resume...`);
|
|
166
167
|
const resumedCount = await appService.resumePausedStories();
|
|
167
168
|
if (resumedCount > 0) {
|
|
168
|
-
|
|
169
|
+
logger_1.logger.log(`[Stripe Webhook] Resumed ${resumedCount} paused story/stories`);
|
|
169
170
|
}
|
|
170
|
-
|
|
171
|
+
logger_1.logger.log(`[Stripe Webhook] Payment succeeded: $${amount.toFixed(2)} added to user ${userId} (balance: ${balanceBefore.toFixed(2)} → ${balanceAfter.toFixed(2)})`);
|
|
171
172
|
}
|
|
172
173
|
catch (error) {
|
|
173
|
-
|
|
174
|
+
logger_1.logger.error('[Stripe Webhook] Error handling payment success:', error);
|
|
174
175
|
throw error;
|
|
175
176
|
}
|
|
176
177
|
}
|
|
@@ -178,15 +179,15 @@ let StripeService = class StripeService {
|
|
|
178
179
|
try {
|
|
179
180
|
const userId = paymentIntent.metadata.userId;
|
|
180
181
|
if (!userId) {
|
|
181
|
-
|
|
182
|
+
logger_1.logger.error('Payment Intent missing userId in metadata:', paymentIntent.id);
|
|
182
183
|
return;
|
|
183
184
|
}
|
|
184
185
|
const transactionService = appService.getTransactionService();
|
|
185
186
|
await transactionService.updateTransactionStatus(paymentIntent.id, 'failed');
|
|
186
|
-
|
|
187
|
+
logger_1.logger.log(`Payment failed for user ${userId}: ${paymentIntent.id}`);
|
|
187
188
|
}
|
|
188
189
|
catch (error) {
|
|
189
|
-
|
|
190
|
+
logger_1.logger.error('Error handling payment failure:', error);
|
|
190
191
|
throw error;
|
|
191
192
|
}
|
|
192
193
|
}
|
|
@@ -37,6 +37,7 @@ exports.TransactionService = void 0;
|
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
const zod_1 = require("zod");
|
|
40
|
+
const logger_1 = require("../common/logger");
|
|
40
41
|
class TransactionService {
|
|
41
42
|
userId;
|
|
42
43
|
configService;
|
|
@@ -69,7 +70,7 @@ class TransactionService {
|
|
|
69
70
|
return transaction;
|
|
70
71
|
}
|
|
71
72
|
catch (error) {
|
|
72
|
-
|
|
73
|
+
logger_1.logger.error(`Error recording transaction for user ${this.userId}:`, error);
|
|
73
74
|
throw error;
|
|
74
75
|
}
|
|
75
76
|
}
|
|
@@ -77,7 +78,7 @@ class TransactionService {
|
|
|
77
78
|
try {
|
|
78
79
|
const transaction = await this.getTransactionByPaymentIntent(paymentIntentId);
|
|
79
80
|
if (!transaction) {
|
|
80
|
-
|
|
81
|
+
logger_1.logger.error(`Transaction not found for payment intent ${paymentIntentId}`);
|
|
81
82
|
return;
|
|
82
83
|
}
|
|
83
84
|
transaction.status = status;
|
|
@@ -90,7 +91,7 @@ class TransactionService {
|
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
catch (error) {
|
|
93
|
-
|
|
94
|
+
logger_1.logger.error(`Error updating transaction status for ${paymentIntentId}:`, error);
|
|
94
95
|
throw error;
|
|
95
96
|
}
|
|
96
97
|
}
|
|
@@ -106,7 +107,7 @@ class TransactionService {
|
|
|
106
107
|
return JSON.parse(content);
|
|
107
108
|
}
|
|
108
109
|
catch (error) {
|
|
109
|
-
|
|
110
|
+
logger_1.logger.error(`Error getting transaction for payment intent ${paymentIntentId}:`, error);
|
|
110
111
|
return null;
|
|
111
112
|
}
|
|
112
113
|
}
|
|
@@ -131,7 +132,7 @@ class TransactionService {
|
|
|
131
132
|
};
|
|
132
133
|
}
|
|
133
134
|
catch (error) {
|
|
134
|
-
|
|
135
|
+
logger_1.logger.error(`Error getting transactions for user ${this.userId}:`, error);
|
|
135
136
|
return { transactions: [], total: 0 };
|
|
136
137
|
}
|
|
137
138
|
}
|
|
@@ -13,6 +13,7 @@ exports.UserServiceManager = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const config_1 = require("@nestjs/config");
|
|
15
15
|
const user_service_factory_1 = require("./user-service-factory");
|
|
16
|
+
const logger_1 = require("../common/logger");
|
|
16
17
|
let UserServiceManager = class UserServiceManager {
|
|
17
18
|
userServiceFactory;
|
|
18
19
|
configService;
|
|
@@ -36,7 +37,7 @@ let UserServiceManager = class UserServiceManager {
|
|
|
36
37
|
clearInterval(this.cleanupIntervalId);
|
|
37
38
|
this.cleanupIntervalId = null;
|
|
38
39
|
this.userServices.clear();
|
|
39
|
-
|
|
40
|
+
logger_1.logger.log('[UserServiceManager] Shutdown complete');
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
getAppService(userId) {
|
|
@@ -49,7 +50,7 @@ let UserServiceManager = class UserServiceManager {
|
|
|
49
50
|
return context.appService;
|
|
50
51
|
}
|
|
51
52
|
else {
|
|
52
|
-
|
|
53
|
+
logger_1.logger.log(`[UserServiceManager] Cache expired for user ${userId} (${ageMinutes.toFixed(1)}min old)`);
|
|
53
54
|
this.userServices.delete(userId);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
@@ -62,7 +63,7 @@ let UserServiceManager = class UserServiceManager {
|
|
|
62
63
|
}
|
|
63
64
|
removeUserService(userId) {
|
|
64
65
|
if (this.userServices.delete(userId)) {
|
|
65
|
-
|
|
66
|
+
logger_1.logger.log(`[UserServiceManager] Manually removed service for user ${userId}`);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
getCacheStats() {
|
|
@@ -86,11 +87,11 @@ let UserServiceManager = class UserServiceManager {
|
|
|
86
87
|
this.userServices.delete(userId);
|
|
87
88
|
removedCount++;
|
|
88
89
|
const ageMinutes = age / (60 * 1000);
|
|
89
|
-
|
|
90
|
+
logger_1.logger.log(`[UserServiceManager] Cleaned up service for user ${userId} (${ageMinutes.toFixed(1)}min inactive)`);
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
if (removedCount > 0) {
|
|
93
|
-
|
|
94
|
+
logger_1.logger.log(`[UserServiceManager] Cleanup complete: removed ${removedCount} inactive user(s), ${this.userServices.size} remaining`);
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
97
|
};
|