@messenger-box/platform-server 10.0.3-alpha.7 → 10.0.3-alpha.74
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/lib/config/env-config.d.ts +7 -0
- package/lib/config/env-config.js +20 -0
- package/lib/config/env-config.js.map +1 -1
- package/lib/containers/containers.js +9 -1
- package/lib/containers/containers.js.map +1 -1
- package/lib/containers/context-services-from-container.d.ts +1 -1
- package/lib/containers/context-services-from-container.js +4 -2
- package/lib/containers/context-services-from-container.js.map +1 -1
- package/lib/graphql/resolvers/ai-fragment.d.ts +3 -0
- package/lib/graphql/resolvers/ai-fragment.js +276 -0
- package/lib/graphql/resolvers/ai-fragment.js.map +1 -0
- package/lib/graphql/resolvers/channel-member.d.ts +3 -2
- package/lib/graphql/resolvers/channel-member.js +30 -5
- package/lib/graphql/resolvers/channel-member.js.map +1 -1
- package/lib/graphql/resolvers/channel.d.ts +3 -2
- package/lib/graphql/resolvers/channel.js +308 -53
- package/lib/graphql/resolvers/channel.js.map +1 -1
- package/lib/graphql/resolvers/extended-token-account.d.ts +3 -2
- package/lib/graphql/resolvers/extended-token-account.js +90 -23
- package/lib/graphql/resolvers/extended-token-account.js.map +1 -1
- package/lib/graphql/resolvers/index.d.ts +1 -1
- package/lib/graphql/resolvers/index.js +1 -1
- package/lib/graphql/resolvers/index.js.map +1 -1
- package/lib/graphql/resolvers/post-thread.d.ts +1 -1
- package/lib/graphql/resolvers/post-thread.js +294 -132
- package/lib/graphql/resolvers/post-thread.js.map +1 -1
- package/lib/graphql/resolvers/post.d.ts +2 -3
- package/lib/graphql/resolvers/post.js +874 -239
- package/lib/graphql/resolvers/post.js.map +1 -1
- package/lib/graphql/resolvers/reaction.d.ts +3 -2
- package/lib/graphql/resolvers/reaction.js +96 -14
- package/lib/graphql/resolvers/reaction.js.map +1 -1
- package/lib/graphql/schema/ai-fragment.graphql +311 -0
- package/lib/graphql/schema/ai-fragment.graphql.js +1 -0
- package/lib/graphql/schema/ai-fragment.graphql.js.map +1 -0
- package/lib/graphql/schema/channel-member.graphql +110 -21
- package/lib/graphql/schema/channel-member.graphql.js +1 -1
- package/lib/graphql/schema/channel.graphql +356 -38
- package/lib/graphql/schema/channel.graphql.js +1 -1
- package/lib/graphql/schema/index.js +2 -2
- package/lib/graphql/schema/index.js.map +1 -1
- package/lib/graphql/schema/post-thread.graphql +167 -21
- package/lib/graphql/schema/post-thread.graphql.js +1 -1
- package/lib/graphql/schema/post.graphql +360 -40
- package/lib/graphql/schema/post.graphql.js +1 -1
- package/lib/graphql/schema/reaction.graphql +71 -13
- package/lib/graphql/schema/reaction.graphql.js +1 -1
- package/lib/graphql/schema/services.graphql +21 -0
- package/lib/graphql/schema/users.graphql +76 -13
- package/lib/graphql/schema/users.graphql.js +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/inngest/factory.d.ts +20 -0
- package/lib/inngest/factory.js +4 -0
- package/lib/inngest/factory.js.map +1 -0
- package/lib/inngest/functions.d.ts +235 -0
- package/lib/inngest/functions.js +1385 -0
- package/lib/inngest/functions.js.map +1 -0
- package/lib/inngest/index.d.ts +3 -0
- package/lib/inngest/prompt.d.ts +6 -0
- package/lib/inngest/prompt.js +871 -0
- package/lib/inngest/prompt.js.map +1 -0
- package/lib/inngest/utils.d.ts +5 -0
- package/lib/inngest/utils.js +32 -0
- package/lib/inngest/utils.js.map +1 -0
- package/lib/interfaces/index.d.ts +0 -1
- package/lib/interfaces/services.d.ts +1 -1
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.d.ts +17 -0
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js +44 -0
- package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js.map +1 -0
- package/lib/migrations/dbMigrations/index.d.ts +1 -0
- package/lib/migrations/index.d.ts +1 -0
- package/lib/migrations/mail-template-migration.js +1 -1
- package/lib/migrations/message-notification-template-migration.d.ts +1 -1
- package/lib/migrations/message-notification-template-migration.js +1 -1
- package/lib/module.js +10 -3
- package/lib/module.js.map +1 -1
- package/lib/plugins/ai-fragment-moleculer-service.d.ts +29 -0
- package/lib/plugins/ai-fragment-moleculer-service.js +516 -0
- package/lib/plugins/ai-fragment-moleculer-service.js.map +1 -0
- package/lib/plugins/channel-moleculer-service.d.ts +21 -1
- package/lib/plugins/channel-moleculer-service.js +426 -115
- package/lib/plugins/channel-moleculer-service.js.map +1 -1
- package/lib/plugins/extended-token-account-moleculer-service.d.ts +25 -1
- package/lib/plugins/extended-token-account-moleculer-service.js +348 -22
- package/lib/plugins/extended-token-account-moleculer-service.js.map +1 -1
- package/lib/plugins/index.d.ts +1 -0
- package/lib/plugins/messenger-notification-moleculer-service.d.ts +27 -3
- package/lib/plugins/messenger-notification-moleculer-service.js +404 -58
- package/lib/plugins/messenger-notification-moleculer-service.js.map +1 -1
- package/lib/plugins/post-moleculer-service.d.ts +85 -21
- package/lib/plugins/post-moleculer-service.js +1102 -256
- package/lib/plugins/post-moleculer-service.js.map +1 -1
- package/lib/plugins/post-thread-moleculer-service.d.ts +33 -1
- package/lib/plugins/post-thread-moleculer-service.js +326 -8
- package/lib/plugins/post-thread-moleculer-service.js.map +1 -1
- package/lib/plugins/reaction-moleculer-service.js +1 -1
- package/lib/plugins/reaction-moleculer-service.js.map +1 -1
- package/lib/preferences/settings/post-settings.d.ts +2 -0
- package/lib/preferences/settings/post-settings.js +47 -9
- package/lib/preferences/settings/post-settings.js.map +1 -1
- package/lib/services/ai-fragment-service.d.ts +195 -0
- package/lib/services/ai-fragment-service.js +631 -0
- package/lib/services/ai-fragment-service.js.map +1 -0
- package/lib/services/channel-service.d.ts +181 -33
- package/lib/services/channel-service.js +842 -273
- package/lib/services/channel-service.js.map +1 -1
- package/lib/services/extended-token-account-service.d.ts +130 -14
- package/lib/services/extended-token-account-service.js +462 -52
- package/lib/services/extended-token-account-service.js.map +1 -1
- package/lib/services/index.d.ts +3 -0
- package/lib/services/messenger-notification-service.d.ts +106 -13
- package/lib/services/messenger-notification-service.js +824 -442
- package/lib/services/messenger-notification-service.js.map +1 -1
- package/lib/services/post-service.d.ts +189 -16
- package/lib/services/post-service.js +949 -113
- package/lib/services/post-service.js.map +1 -1
- package/lib/services/post-thread-service.d.ts +114 -5
- package/lib/services/post-thread-service.js +400 -13
- package/lib/services/post-thread-service.js.map +1 -1
- package/lib/services/proxy-services/ai-fragment-microservice.d.ts +23 -0
- package/lib/services/proxy-services/ai-fragment-microservice.js +78 -0
- package/lib/services/proxy-services/ai-fragment-microservice.js.map +1 -0
- package/lib/services/proxy-services/channel-microservice.d.ts +6 -3
- package/lib/services/proxy-services/channel-microservice.js +25 -10
- package/lib/services/proxy-services/channel-microservice.js.map +1 -1
- package/lib/services/proxy-services/index.d.ts +1 -0
- package/lib/services/proxy-services/messenger-notification-microservice.d.ts +128 -8
- package/lib/services/proxy-services/messenger-notification-microservice.js +324 -29
- package/lib/services/proxy-services/messenger-notification-microservice.js.map +1 -1
- package/lib/services/proxy-services/post-microservice.d.ts +207 -12
- package/lib/services/proxy-services/post-microservice.js +623 -54
- package/lib/services/proxy-services/post-microservice.js.map +1 -1
- package/lib/services/proxy-services/post-thread-microservice.d.ts +134 -3
- package/lib/services/proxy-services/post-thread-microservice.js +388 -6
- package/lib/services/proxy-services/post-thread-microservice.js.map +1 -1
- package/lib/services/proxy-services/reaction-microservice.d.ts +161 -3
- package/lib/services/proxy-services/reaction-microservice.js +474 -2
- package/lib/services/proxy-services/reaction-microservice.js.map +1 -1
- package/lib/services/reaction-service.d.ts +124 -4
- package/lib/services/reaction-service.js +415 -3
- package/lib/services/reaction-service.js.map +1 -1
- package/lib/services/redis-cache-manager.d.ts +18 -0
- package/lib/services/redis-cache-manager.js +83 -0
- package/lib/services/redis-cache-manager.js.map +1 -0
- package/lib/services/sandbox-error-service.d.ts +23 -0
- package/lib/services/sandbox-error-service.js +422 -0
- package/lib/services/sandbox-error-service.js.map +1 -0
- package/lib/store/models/account-token-store.d.ts +1 -1
- package/lib/store/models/account-token-store.js.map +1 -1
- package/lib/store/models/ai-fragment.d.ts +4 -0
- package/lib/store/models/ai-fragment.js +125 -0
- package/lib/store/models/ai-fragment.js.map +1 -0
- package/lib/store/models/channel.d.ts +2 -3
- package/lib/store/models/channel.js +185 -71
- package/lib/store/models/channel.js.map +1 -1
- package/lib/store/models/index.d.ts +1 -0
- package/lib/store/models/post-thread.d.ts +3 -3
- package/lib/store/models/post-thread.js +96 -14
- package/lib/store/models/post-thread.js.map +1 -1
- package/lib/store/models/post.d.ts +2 -3
- package/lib/store/models/post.js +143 -23
- package/lib/store/models/post.js.map +1 -1
- package/lib/store/models/reaction.d.ts +2 -3
- package/lib/store/models/reaction.js +67 -8
- package/lib/store/models/reaction.js.map +1 -1
- package/lib/store/repositories/__tests__/__fixtures__/team-repository.d.ts +3 -3
- package/lib/store/repositories/ai-fragment-repository.d.ts +15 -0
- package/lib/store/repositories/ai-fragment-repository.js +69 -0
- package/lib/store/repositories/ai-fragment-repository.js.map +1 -0
- package/lib/store/repositories/channel-repository.d.ts +6 -6
- package/lib/store/repositories/channel-repository.js +5 -2
- package/lib/store/repositories/channel-repository.js.map +1 -1
- package/lib/store/repositories/index.d.ts +1 -0
- package/lib/store/repositories/post-repository.d.ts +6 -6
- package/lib/store/repositories/post-repository.js +5 -2
- package/lib/store/repositories/post-repository.js.map +1 -1
- package/lib/store/repositories/post-thread-repository.d.ts +6 -6
- package/lib/store/repositories/post-thread-repository.js +5 -2
- package/lib/store/repositories/post-thread-repository.js.map +1 -1
- package/lib/store/repositories/reaction-repository.d.ts +6 -6
- package/lib/store/repositories/reaction-repository.js +5 -2
- package/lib/store/repositories/reaction-repository.js.map +1 -1
- package/lib/templates/constants/SERVER_TYPES.ts.template +4 -4
- package/lib/templates/repositories/AiFragmentRepository.ts.template +4 -0
- package/lib/templates/repositories/ChannelRepository.ts.template +3 -3
- package/lib/templates/repositories/PostRepository.ts.template +3 -3
- package/lib/templates/repositories/PostThreadRepository.ts.template +3 -3
- package/lib/templates/repositories/ReactionRepository.ts.template +3 -4
- package/lib/templates/services/AiFragmentService.ts.template +123 -0
- package/lib/templates/services/ChannelService.ts.template +290 -39
- package/lib/templates/services/ExtendedTokenAccountService.ts.template +104 -9
- package/lib/templates/services/MessengerNotificationService.ts.template +94 -19
- package/lib/templates/services/PostService.ts.template +265 -20
- package/lib/templates/services/PostThreadService.ts.template +151 -6
- package/lib/templates/services/ReactionService.ts.template +129 -3
- package/lib/templates/services/RedisCacheManager.ts.template +22 -0
- package/lib/templates/services/SandboxErrorService.ts.template +125 -0
- package/package.json +14 -7
- package/lib/interfaces/context.d.ts +0 -14
- package/lib/store/models/common-options.js +0 -20
- package/lib/store/models/common-options.js.map +0 -1
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
import {Service}from'moleculer';import {ApolloClientMixin}from'@adminide-stack/platform-server';import {MoleculerTopics,SERVER_TYPES,AiFragmentServiceCommands}from'common/server';import {BaseServiceMixin}from'@common-stack/store-mongo';import {logger}from'@common-stack/server-core';import {config}from'../config/env-config.js';/**
|
|
2
|
+
* AI Fragment Moleculer Service
|
|
3
|
+
*
|
|
4
|
+
* This service exposes AI fragment management functionality through the Moleculer microservice framework,
|
|
5
|
+
* providing distributed access to AI fragment operations across the messenger platform.
|
|
6
|
+
*
|
|
7
|
+
* Key capabilities:
|
|
8
|
+
* - AI fragment creation and lifecycle management
|
|
9
|
+
* - Sandbox URL management and synchronization
|
|
10
|
+
* - File version control and conflict resolution
|
|
11
|
+
* - Canvas layer support for visual components
|
|
12
|
+
* - Template-based fragment generation
|
|
13
|
+
* - Organization and user-based fragment retrieval
|
|
14
|
+
* - Real-time file synchronization status tracking
|
|
15
|
+
* - Batch operations for fragment management
|
|
16
|
+
* - Cross-platform fragment compatibility
|
|
17
|
+
* - Event-driven architecture for fragment changes
|
|
18
|
+
* - Comprehensive error handling and logging
|
|
19
|
+
* - Service integration through Apollo GraphQL
|
|
20
|
+
*/
|
|
21
|
+
class AiFragmentMoleculerService extends Service {
|
|
22
|
+
aiFragmentService;
|
|
23
|
+
container;
|
|
24
|
+
constructor(broker, {
|
|
25
|
+
container,
|
|
26
|
+
...settings
|
|
27
|
+
}) {
|
|
28
|
+
super(broker);
|
|
29
|
+
try {
|
|
30
|
+
this.container = container;
|
|
31
|
+
const topic = MoleculerTopics.AiFragmentService;
|
|
32
|
+
this.aiFragmentService = container.get(SERVER_TYPES.AiFragmentService);
|
|
33
|
+
logger.debug('Initializing AI Fragment Moleculer Service', {
|
|
34
|
+
topic
|
|
35
|
+
});
|
|
36
|
+
this.parseServiceSchema({
|
|
37
|
+
name: topic,
|
|
38
|
+
mixins: [ApolloClientMixin, BaseServiceMixin(this.aiFragmentService)],
|
|
39
|
+
settings: {
|
|
40
|
+
apolloClient: {
|
|
41
|
+
serverUri: config.GRAPHQL_URL
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
events: {
|
|
45
|
+
'aiFragment.created': {
|
|
46
|
+
handler: async ctx => {
|
|
47
|
+
try {
|
|
48
|
+
const {
|
|
49
|
+
event
|
|
50
|
+
} = ctx?.params || {};
|
|
51
|
+
logger.debug('AI Fragment created event received', {
|
|
52
|
+
fragmentId: event?.fragment?.id,
|
|
53
|
+
userId: event?.userId,
|
|
54
|
+
messageId: event?.fragment?.messageId
|
|
55
|
+
});
|
|
56
|
+
// Emit to notification service for fragment creation notifications
|
|
57
|
+
await ctx.emit('notification.aiFragment.created', {
|
|
58
|
+
event: {
|
|
59
|
+
fragment: event?.fragment,
|
|
60
|
+
userId: event?.userId
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
// Update organization fragment statistics if applicable
|
|
64
|
+
if (event?.fragment?.orgName) {
|
|
65
|
+
await ctx.emit('organization.fragment.added', {
|
|
66
|
+
event: {
|
|
67
|
+
orgName: event.fragment.orgName,
|
|
68
|
+
fragmentId: event.fragment.id
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
} catch (error) {
|
|
73
|
+
logger.error('Error handling AI fragment created event: %o', error);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
'aiFragment.updated': {
|
|
78
|
+
handler: async ctx => {
|
|
79
|
+
try {
|
|
80
|
+
const {
|
|
81
|
+
event
|
|
82
|
+
} = ctx?.params || {};
|
|
83
|
+
logger.debug('AI Fragment updated event received', {
|
|
84
|
+
fragmentId: event?.fragmentId,
|
|
85
|
+
messageId: event?.messageId,
|
|
86
|
+
updatedBy: event?.updatedBy
|
|
87
|
+
});
|
|
88
|
+
// Emit fragment update notification events
|
|
89
|
+
await ctx.emit('notification.aiFragment.updated', {
|
|
90
|
+
event: {
|
|
91
|
+
fragmentId: event?.fragmentId,
|
|
92
|
+
messageId: event?.messageId,
|
|
93
|
+
updatedBy: event?.updatedBy
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
} catch (error) {
|
|
97
|
+
logger.error('Error handling AI fragment updated event: %o', error);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
'aiFragment.deleted': {
|
|
102
|
+
handler: async ctx => {
|
|
103
|
+
try {
|
|
104
|
+
const {
|
|
105
|
+
event
|
|
106
|
+
} = ctx?.params || {};
|
|
107
|
+
logger.debug('AI Fragment deleted event received', {
|
|
108
|
+
fragmentId: event?.fragmentId,
|
|
109
|
+
messageId: event?.messageId,
|
|
110
|
+
orgName: event?.orgName
|
|
111
|
+
});
|
|
112
|
+
// Clean up related data
|
|
113
|
+
await ctx.emit('cleanup.aiFragment.deleted', {
|
|
114
|
+
event: {
|
|
115
|
+
fragmentId: event?.fragmentId,
|
|
116
|
+
orgName: event?.orgName
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
} catch (error) {
|
|
120
|
+
logger.error('Error handling AI fragment deleted event: %o', error);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
'aiFragment.syncStatusChanged': {
|
|
125
|
+
handler: async ctx => {
|
|
126
|
+
try {
|
|
127
|
+
const {
|
|
128
|
+
event
|
|
129
|
+
} = ctx?.params || {};
|
|
130
|
+
logger.debug('AI Fragment sync status changed event received', {
|
|
131
|
+
fragmentId: event?.fragmentId,
|
|
132
|
+
syncStatus: event?.syncStatus,
|
|
133
|
+
messageId: event?.messageId
|
|
134
|
+
});
|
|
135
|
+
// Emit sync status change notification
|
|
136
|
+
await ctx.emit('notification.aiFragment.syncStatusChanged', {
|
|
137
|
+
event: {
|
|
138
|
+
fragmentId: event?.fragmentId,
|
|
139
|
+
syncStatus: event?.syncStatus,
|
|
140
|
+
messageId: event?.messageId
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
} catch (error) {
|
|
144
|
+
logger.error('Error handling AI fragment sync status changed event: %o', error);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
actions: {
|
|
150
|
+
[AiFragmentServiceCommands.CreateFragment]: {
|
|
151
|
+
params: {
|
|
152
|
+
input: 'object'
|
|
153
|
+
},
|
|
154
|
+
handler: async ctx => {
|
|
155
|
+
try {
|
|
156
|
+
logger.debug('Creating AI fragment', {
|
|
157
|
+
messageId: ctx.params.input?.messageId,
|
|
158
|
+
title: ctx.params.input?.title,
|
|
159
|
+
owner: ctx.params.input?.owner,
|
|
160
|
+
orgName: ctx.params.input?.orgName
|
|
161
|
+
});
|
|
162
|
+
if (!ctx.params.input) {
|
|
163
|
+
throw new Error('Fragment input data is required');
|
|
164
|
+
}
|
|
165
|
+
const result = await this.aiFragmentService.createFragment(ctx.params.input);
|
|
166
|
+
if (result instanceof Error) {
|
|
167
|
+
logger.error('Failed to create AI fragment: %s', result.message);
|
|
168
|
+
throw result;
|
|
169
|
+
}
|
|
170
|
+
logger.debug('AI fragment created successfully', {
|
|
171
|
+
fragmentId: result.id,
|
|
172
|
+
messageId: ctx.params.input.messageId
|
|
173
|
+
});
|
|
174
|
+
// Emit fragment created event
|
|
175
|
+
await ctx.emit('aiFragment.created', {
|
|
176
|
+
event: {
|
|
177
|
+
fragment: result,
|
|
178
|
+
userId: ctx.params.input.owner
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
return result;
|
|
182
|
+
} catch (error) {
|
|
183
|
+
logger.error('Error in CreateFragment action: %o', error);
|
|
184
|
+
throw error;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
[AiFragmentServiceCommands.GetFragmentByMessageId]: {
|
|
189
|
+
params: {
|
|
190
|
+
messageId: 'string'
|
|
191
|
+
},
|
|
192
|
+
handler: async ctx => {
|
|
193
|
+
try {
|
|
194
|
+
logger.debug('Getting AI fragment by message ID', {
|
|
195
|
+
messageId: ctx.params.messageId
|
|
196
|
+
});
|
|
197
|
+
if (!ctx.params.messageId) {
|
|
198
|
+
throw new Error('Message ID is required');
|
|
199
|
+
}
|
|
200
|
+
const result = await this.aiFragmentService.getFragmentByMessageId(ctx.params.messageId);
|
|
201
|
+
logger.debug('AI fragment retrieved by message ID', {
|
|
202
|
+
messageId: ctx.params.messageId,
|
|
203
|
+
found: !!result
|
|
204
|
+
});
|
|
205
|
+
return result;
|
|
206
|
+
} catch (error) {
|
|
207
|
+
logger.error('Error in GetFragmentByMessageId action: %o', error);
|
|
208
|
+
throw error;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
[AiFragmentServiceCommands.GetFragmentsByUser]: {
|
|
213
|
+
params: {
|
|
214
|
+
orgName: 'string',
|
|
215
|
+
owner: 'string',
|
|
216
|
+
limit: 'number',
|
|
217
|
+
skip: 'number'
|
|
218
|
+
},
|
|
219
|
+
handler: async ctx => {
|
|
220
|
+
try {
|
|
221
|
+
logger.debug('Getting AI fragments by user', {
|
|
222
|
+
orgName: ctx.params.orgName,
|
|
223
|
+
owner: ctx.params.owner,
|
|
224
|
+
limit: ctx.params.limit,
|
|
225
|
+
skip: ctx.params.skip
|
|
226
|
+
});
|
|
227
|
+
if (!ctx.params.orgName || !ctx.params.owner) {
|
|
228
|
+
throw new Error('Organization name and owner are required');
|
|
229
|
+
}
|
|
230
|
+
const result = await this.aiFragmentService.getFragmentsByUser(ctx.params.orgName, ctx.params.owner, ctx.params.limit, ctx.params.skip);
|
|
231
|
+
logger.debug('AI fragments retrieved for user', {
|
|
232
|
+
orgName: ctx.params.orgName,
|
|
233
|
+
owner: ctx.params.owner,
|
|
234
|
+
count: result.length
|
|
235
|
+
});
|
|
236
|
+
return result;
|
|
237
|
+
} catch (error) {
|
|
238
|
+
logger.error('Error in GetFragmentsByUser action: %o', error);
|
|
239
|
+
throw error;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
[AiFragmentServiceCommands.UpdateFragmentFiles]: {
|
|
244
|
+
params: {
|
|
245
|
+
messageId: 'string',
|
|
246
|
+
files: 'object'
|
|
247
|
+
},
|
|
248
|
+
handler: async ctx => {
|
|
249
|
+
try {
|
|
250
|
+
logger.debug('Updating AI fragment files', {
|
|
251
|
+
messageId: ctx.params.messageId,
|
|
252
|
+
fileCount: Object.keys(ctx.params.files).length
|
|
253
|
+
});
|
|
254
|
+
if (!ctx.params.messageId || !ctx.params.files) {
|
|
255
|
+
throw new Error('Message ID and files data are required');
|
|
256
|
+
}
|
|
257
|
+
const result = await this.aiFragmentService.updateFragmentFiles(ctx.params.messageId, ctx.params.files);
|
|
258
|
+
if (result) {
|
|
259
|
+
logger.debug('AI fragment files updated successfully', {
|
|
260
|
+
fragmentId: result.id,
|
|
261
|
+
messageId: ctx.params.messageId
|
|
262
|
+
});
|
|
263
|
+
// Emit fragment updated event
|
|
264
|
+
await ctx.emit('aiFragment.updated', {
|
|
265
|
+
event: {
|
|
266
|
+
fragmentId: result.id,
|
|
267
|
+
messageId: ctx.params.messageId
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
} else {
|
|
271
|
+
logger.debug('No AI fragment found to update files', {
|
|
272
|
+
messageId: ctx.params.messageId
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
return result;
|
|
276
|
+
} catch (error) {
|
|
277
|
+
logger.error('Error in UpdateFragmentFiles action: %o', error);
|
|
278
|
+
throw error;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
[AiFragmentServiceCommands.DeleteFragment]: {
|
|
283
|
+
params: {
|
|
284
|
+
id: 'string'
|
|
285
|
+
},
|
|
286
|
+
handler: async ctx => {
|
|
287
|
+
try {
|
|
288
|
+
logger.debug('Deleting AI fragment', {
|
|
289
|
+
fragmentId: ctx.params.id
|
|
290
|
+
});
|
|
291
|
+
if (!ctx.params.id) {
|
|
292
|
+
throw new Error('Fragment ID is required');
|
|
293
|
+
}
|
|
294
|
+
const result = await this.aiFragmentService.deleteFragment(ctx.params.id);
|
|
295
|
+
if (result) {
|
|
296
|
+
logger.debug('AI fragment deleted successfully', {
|
|
297
|
+
fragmentId: ctx.params.id
|
|
298
|
+
});
|
|
299
|
+
// Emit fragment deleted event
|
|
300
|
+
await ctx.emit('aiFragment.deleted', {
|
|
301
|
+
event: {
|
|
302
|
+
fragmentId: ctx.params.id
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
} else {
|
|
306
|
+
logger.debug('No AI fragment found to delete', {
|
|
307
|
+
fragmentId: ctx.params.id
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
return result;
|
|
311
|
+
} catch (error) {
|
|
312
|
+
logger.error('Error in DeleteFragment action: %o', error);
|
|
313
|
+
throw error;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
[AiFragmentServiceCommands.DeleteFragmentByMessageId]: {
|
|
318
|
+
params: {
|
|
319
|
+
messageId: 'string'
|
|
320
|
+
},
|
|
321
|
+
handler: async ctx => {
|
|
322
|
+
try {
|
|
323
|
+
logger.debug('Deleting AI fragment by message ID', {
|
|
324
|
+
messageId: ctx.params.messageId
|
|
325
|
+
});
|
|
326
|
+
if (!ctx.params.messageId) {
|
|
327
|
+
throw new Error('Message ID is required');
|
|
328
|
+
}
|
|
329
|
+
const result = await this.aiFragmentService.deleteFragmentByMessageId(ctx.params.messageId);
|
|
330
|
+
if (result) {
|
|
331
|
+
logger.debug('AI fragment deleted by message ID successfully', {
|
|
332
|
+
messageId: ctx.params.messageId
|
|
333
|
+
});
|
|
334
|
+
// Emit fragment deleted event
|
|
335
|
+
await ctx.emit('aiFragment.deleted', {
|
|
336
|
+
event: {
|
|
337
|
+
messageId: ctx.params.messageId
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
} else {
|
|
341
|
+
logger.debug('No AI fragment found to delete by message ID', {
|
|
342
|
+
messageId: ctx.params.messageId
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
return result;
|
|
346
|
+
} catch (error) {
|
|
347
|
+
logger.error('Error in DeleteFragmentByMessageId action: %o', error);
|
|
348
|
+
throw error;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
},
|
|
352
|
+
[AiFragmentServiceCommands.GetFragmentById]: {
|
|
353
|
+
params: {
|
|
354
|
+
fragmentId: 'string'
|
|
355
|
+
},
|
|
356
|
+
handler: async ctx => {
|
|
357
|
+
try {
|
|
358
|
+
logger.debug('Getting AI fragment by ID', {
|
|
359
|
+
fragmentId: ctx.params.fragmentId
|
|
360
|
+
});
|
|
361
|
+
if (!ctx.params.fragmentId) {
|
|
362
|
+
throw new Error('Fragment ID is required');
|
|
363
|
+
}
|
|
364
|
+
const result = await this.aiFragmentService.getFragmentById(ctx.params.fragmentId);
|
|
365
|
+
logger.debug('AI fragment retrieved by ID', {
|
|
366
|
+
fragmentId: ctx.params.fragmentId,
|
|
367
|
+
found: !!result
|
|
368
|
+
});
|
|
369
|
+
return result;
|
|
370
|
+
} catch (error) {
|
|
371
|
+
logger.error('Error in GetFragmentById action: %o', error);
|
|
372
|
+
throw error;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
[AiFragmentServiceCommands.UpdateSandboxUrl]: {
|
|
377
|
+
params: {
|
|
378
|
+
fragmentId: 'string',
|
|
379
|
+
newSandboxUrl: 'string'
|
|
380
|
+
},
|
|
381
|
+
handler: async ctx => {
|
|
382
|
+
try {
|
|
383
|
+
logger.debug('Updating AI fragment sandbox URL', {
|
|
384
|
+
fragmentId: ctx.params.fragmentId,
|
|
385
|
+
newSandboxUrl: ctx.params.newSandboxUrl
|
|
386
|
+
});
|
|
387
|
+
if (!ctx.params.fragmentId || !ctx.params.newSandboxUrl) {
|
|
388
|
+
throw new Error('Fragment ID and new sandbox URL are required');
|
|
389
|
+
}
|
|
390
|
+
const result = await this.aiFragmentService.updateSandboxUrl(ctx.params.fragmentId, ctx.params.newSandboxUrl);
|
|
391
|
+
if (result) {
|
|
392
|
+
logger.debug('AI fragment sandbox URL updated successfully', {
|
|
393
|
+
fragmentId: ctx.params.fragmentId,
|
|
394
|
+
newSandboxUrl: ctx.params.newSandboxUrl
|
|
395
|
+
});
|
|
396
|
+
// Emit fragment updated event
|
|
397
|
+
await ctx.emit('aiFragment.updated', {
|
|
398
|
+
event: {
|
|
399
|
+
fragmentId: ctx.params.fragmentId
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
} else {
|
|
403
|
+
logger.debug('No AI fragment found to update sandbox URL', {
|
|
404
|
+
fragmentId: ctx.params.fragmentId
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
return result;
|
|
408
|
+
} catch (error) {
|
|
409
|
+
logger.error('Error in UpdateSandboxUrl action: %o', error);
|
|
410
|
+
throw error;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
[AiFragmentServiceCommands.UpdateFileSync]: {
|
|
415
|
+
params: {
|
|
416
|
+
fragmentId: 'string',
|
|
417
|
+
fileVersions: 'object',
|
|
418
|
+
syncStatus: 'string'
|
|
419
|
+
},
|
|
420
|
+
handler: async ctx => {
|
|
421
|
+
try {
|
|
422
|
+
logger.debug('Updating AI fragment file sync', {
|
|
423
|
+
fragmentId: ctx.params.fragmentId,
|
|
424
|
+
fileVersionCount: Object.keys(ctx.params.fileVersions).length,
|
|
425
|
+
syncStatus: ctx.params.syncStatus
|
|
426
|
+
});
|
|
427
|
+
if (!ctx.params.fragmentId || !ctx.params.fileVersions || !ctx.params.syncStatus) {
|
|
428
|
+
throw new Error('Fragment ID, file versions, and sync status are required');
|
|
429
|
+
}
|
|
430
|
+
const result = await this.aiFragmentService.updateFileSync(ctx.params.fragmentId, ctx.params.fileVersions, ctx.params.syncStatus);
|
|
431
|
+
if (result) {
|
|
432
|
+
logger.debug('AI fragment file sync updated successfully', {
|
|
433
|
+
fragmentId: ctx.params.fragmentId,
|
|
434
|
+
syncStatus: ctx.params.syncStatus
|
|
435
|
+
});
|
|
436
|
+
// Emit sync status changed event
|
|
437
|
+
await ctx.emit('aiFragment.syncStatusChanged', {
|
|
438
|
+
event: {
|
|
439
|
+
fragmentId: ctx.params.fragmentId,
|
|
440
|
+
syncStatus: ctx.params.syncStatus
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
} else {
|
|
444
|
+
logger.debug('No AI fragment found to update file sync', {
|
|
445
|
+
fragmentId: ctx.params.fragmentId
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
return result;
|
|
449
|
+
} catch (error) {
|
|
450
|
+
logger.error('Error in UpdateFileSync action: %o', error);
|
|
451
|
+
throw error;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
[AiFragmentServiceCommands.UpdateFilesAndSync]: {
|
|
456
|
+
params: {
|
|
457
|
+
messageId: 'string',
|
|
458
|
+
files: 'object',
|
|
459
|
+
fileVersions: 'object',
|
|
460
|
+
syncStatus: 'string'
|
|
461
|
+
},
|
|
462
|
+
handler: async ctx => {
|
|
463
|
+
try {
|
|
464
|
+
logger.debug('Updating AI fragment files and sync', {
|
|
465
|
+
messageId: ctx.params.messageId,
|
|
466
|
+
fileCount: Object.keys(ctx.params.files).length,
|
|
467
|
+
fileVersionCount: Object.keys(ctx.params.fileVersions).length,
|
|
468
|
+
syncStatus: ctx.params.syncStatus
|
|
469
|
+
});
|
|
470
|
+
if (!ctx.params.messageId || !ctx.params.files || !ctx.params.fileVersions || !ctx.params.syncStatus) {
|
|
471
|
+
throw new Error('Message ID, files, file versions, and sync status are required');
|
|
472
|
+
}
|
|
473
|
+
const result = await this.aiFragmentService.updateFilesAndSync(ctx.params.messageId, ctx.params.files, ctx.params.fileVersions, ctx.params.syncStatus);
|
|
474
|
+
if (result) {
|
|
475
|
+
logger.debug('AI fragment files and sync updated successfully', {
|
|
476
|
+
fragmentId: result.id,
|
|
477
|
+
messageId: ctx.params.messageId,
|
|
478
|
+
syncStatus: ctx.params.syncStatus
|
|
479
|
+
});
|
|
480
|
+
// Emit fragment updated and sync status changed events
|
|
481
|
+
await ctx.emit('aiFragment.updated', {
|
|
482
|
+
event: {
|
|
483
|
+
fragmentId: result.id,
|
|
484
|
+
messageId: ctx.params.messageId
|
|
485
|
+
}
|
|
486
|
+
});
|
|
487
|
+
await ctx.emit('aiFragment.syncStatusChanged', {
|
|
488
|
+
event: {
|
|
489
|
+
fragmentId: result.id,
|
|
490
|
+
syncStatus: ctx.params.syncStatus,
|
|
491
|
+
messageId: ctx.params.messageId
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
} else {
|
|
495
|
+
logger.debug('No AI fragment found to update files and sync', {
|
|
496
|
+
messageId: ctx.params.messageId
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
return result;
|
|
500
|
+
} catch (error) {
|
|
501
|
+
logger.error('Error in UpdateFilesAndSync action: %o', error);
|
|
502
|
+
throw error;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
logger.debug('AI Fragment Moleculer Service initialized successfully', {
|
|
509
|
+
topic
|
|
510
|
+
});
|
|
511
|
+
} catch (error) {
|
|
512
|
+
logger.error('Error initializing AI Fragment Moleculer Service: %o', error);
|
|
513
|
+
throw error;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}export{AiFragmentMoleculerService};//# sourceMappingURL=ai-fragment-moleculer-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-fragment-moleculer-service.js","sources":["../../src/plugins/ai-fragment-moleculer-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,27 @@
|
|
|
1
1
|
import { Service, ServiceBroker } from 'moleculer';
|
|
2
2
|
import { Container } from 'inversify';
|
|
3
|
+
/**
|
|
4
|
+
* Channel Moleculer Service
|
|
5
|
+
*
|
|
6
|
+
* This service exposes channel management functionality through the Moleculer microservice framework,
|
|
7
|
+
* providing distributed access to channel operations across the messenger platform.
|
|
8
|
+
*
|
|
9
|
+
* Key capabilities:
|
|
10
|
+
* - Channel lifecycle management (creation, updates, deletion)
|
|
11
|
+
* - Member management (adding, removing, role assignment)
|
|
12
|
+
* - Direct and public channel handling
|
|
13
|
+
* - Message and post management within channels
|
|
14
|
+
* - Channel visibility and access control
|
|
15
|
+
* - Notification and unread message tracking
|
|
16
|
+
* - Team-based channel organization
|
|
17
|
+
* - Channel discovery and filtering
|
|
18
|
+
* - Event-driven architecture for channel changes
|
|
19
|
+
* - Comprehensive error handling and logging
|
|
20
|
+
* - Service integration through Apollo GraphQL
|
|
21
|
+
*/
|
|
3
22
|
export declare class ChannelMoleculerService extends Service {
|
|
4
|
-
private channelService;
|
|
23
|
+
private readonly channelService;
|
|
24
|
+
private readonly container;
|
|
5
25
|
constructor(broker: ServiceBroker, { container, ...settings }: {
|
|
6
26
|
container: Container;
|
|
7
27
|
});
|