@messenger-box/platform-server 10.0.3-alpha.95 → 10.0.3-alpha.97
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/containers/containers.js +1 -4
- package/lib/containers/containers.js.map +1 -1
- package/lib/containers/context-services-from-container.js +1 -2
- package/lib/containers/context-services-from-container.js.map +1 -1
- package/lib/graphql/resolvers/channel.js +2 -10
- package/lib/graphql/resolvers/channel.js.map +1 -1
- package/lib/graphql/resolvers/index.js +1 -1
- package/lib/graphql/resolvers/index.js.map +1 -1
- package/lib/graphql/resolvers/post.js +3 -30
- package/lib/graphql/resolvers/post.js.map +1 -1
- package/lib/graphql/schema/channel.graphql +17 -2
- 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.graphql +16 -2
- package/lib/graphql/schema/post.graphql.js +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/inngest/factory.js +2 -2
- package/lib/inngest/factory.js.map +1 -1
- package/lib/inngest/functions.d.ts +0 -96
- package/lib/inngest/functions.js +88 -815
- package/lib/inngest/functions.js.map +1 -1
- package/lib/module.d.ts +1 -1
- package/lib/module.js +8 -8
- package/lib/module.js.map +1 -1
- package/lib/plugins/index.d.ts +0 -1
- package/lib/preferences/permissions/inbox-permission-contribution.js +61 -22
- package/lib/preferences/permissions/inbox-permission-contribution.js.map +1 -1
- package/lib/preferences/permissions/inbox-roles-permission-overwrite.js +2 -2
- package/lib/preferences/permissions/inbox-roles-permission-overwrite.js.map +1 -1
- package/lib/services/channel-service.js +2 -2
- package/lib/services/channel-service.js.map +1 -1
- package/lib/services/index.d.ts +0 -1
- package/lib/services/post-service.d.ts +2 -3
- package/lib/services/post-service.js +9 -12
- package/lib/services/post-service.js.map +1 -1
- package/lib/services/proxy-services/index.d.ts +0 -1
- package/lib/store/models/index.d.ts +0 -1
- package/lib/store/repositories/channel-repository.js +1 -1
- package/lib/store/repositories/channel-repository.js.map +1 -1
- package/lib/store/repositories/index.d.ts +0 -1
- package/lib/store/repositories/post-repository.js +1 -1
- package/lib/store/repositories/post-repository.js.map +1 -1
- package/lib/store/repositories/post-thread-repository.js +1 -1
- package/lib/store/repositories/post-thread-repository.js.map +1 -1
- package/lib/store/repositories/reaction-repository.js +1 -1
- package/lib/store/repositories/reaction-repository.js.map +1 -1
- package/lib/templates/constants/SERVER_TYPES.ts.template +0 -3
- package/lib/templates/constants/WorkflowNamespace.ts.template +10 -0
- package/lib/templates/services/PostService.ts.template +8 -8
- package/package.json +6 -7
- package/lib/graphql/resolvers/ai-fragment.d.ts +0 -3
- package/lib/graphql/resolvers/ai-fragment.js +0 -276
- package/lib/graphql/resolvers/ai-fragment.js.map +0 -1
- package/lib/graphql/schema/ai-fragment.graphql +0 -311
- package/lib/graphql/schema/ai-fragment.graphql.js +0 -1
- package/lib/graphql/schema/ai-fragment.graphql.js.map +0 -1
- package/lib/plugins/ai-fragment-moleculer-service.d.ts +0 -29
- package/lib/plugins/ai-fragment-moleculer-service.js +0 -516
- package/lib/plugins/ai-fragment-moleculer-service.js.map +0 -1
- package/lib/services/ai-fragment-service.d.ts +0 -195
- package/lib/services/ai-fragment-service.js +0 -631
- package/lib/services/ai-fragment-service.js.map +0 -1
- package/lib/services/proxy-services/ai-fragment-microservice.d.ts +0 -23
- package/lib/services/proxy-services/ai-fragment-microservice.js +0 -75
- package/lib/services/proxy-services/ai-fragment-microservice.js.map +0 -1
- package/lib/store/models/ai-fragment.d.ts +0 -4
- package/lib/store/models/ai-fragment.js +0 -125
- package/lib/store/models/ai-fragment.js.map +0 -1
- package/lib/store/repositories/ai-fragment-repository.d.ts +0 -15
- package/lib/store/repositories/ai-fragment-repository.js +0 -69
- package/lib/store/repositories/ai-fragment-repository.js.map +0 -1
- package/lib/templates/repositories/AiFragmentRepository.ts.template +0 -4
- package/lib/templates/services/AiFragmentService.ts.template +0 -123
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
AiFragment: A code fragment with sandbox URL and file management
|
|
3
|
-
"""
|
|
4
|
-
type AiFragment implements IBaseRepo @entity {
|
|
5
|
-
"""
|
|
6
|
-
Unique identifier for the fragment
|
|
7
|
-
"""
|
|
8
|
-
id: String! @id
|
|
9
|
-
|
|
10
|
-
"""
|
|
11
|
-
Associated message ID
|
|
12
|
-
"""
|
|
13
|
-
messageId: String! @column
|
|
14
|
-
|
|
15
|
-
"""
|
|
16
|
-
Sandbox URL for the aiFragment
|
|
17
|
-
"""
|
|
18
|
-
sandboxUrl: String! @column
|
|
19
|
-
|
|
20
|
-
"""
|
|
21
|
-
AiFragment title
|
|
22
|
-
"""
|
|
23
|
-
title: String! @column
|
|
24
|
-
|
|
25
|
-
"""
|
|
26
|
-
Files associated with the aiFragment
|
|
27
|
-
"""
|
|
28
|
-
files: AnyObject! @column
|
|
29
|
-
|
|
30
|
-
"""
|
|
31
|
-
Template used for the aiFragment
|
|
32
|
-
"""
|
|
33
|
-
template: AiFragmentTemplate @column
|
|
34
|
-
|
|
35
|
-
"""
|
|
36
|
-
Canvas layers data
|
|
37
|
-
"""
|
|
38
|
-
canvasLayers: [AnyObject] @column
|
|
39
|
-
|
|
40
|
-
"""
|
|
41
|
-
File versions tracking
|
|
42
|
-
"""
|
|
43
|
-
fileVersions: AnyObject @column
|
|
44
|
-
|
|
45
|
-
"""
|
|
46
|
-
Last synchronization timestamp
|
|
47
|
-
"""
|
|
48
|
-
lastSyncAt: DateTime @column(overrideType: "Date")
|
|
49
|
-
|
|
50
|
-
"""
|
|
51
|
-
Synchronization status
|
|
52
|
-
"""
|
|
53
|
-
syncStatus: AiFragmentSyncStatus @column
|
|
54
|
-
|
|
55
|
-
"""
|
|
56
|
-
AiFragment owner
|
|
57
|
-
"""
|
|
58
|
-
owner: String @column
|
|
59
|
-
|
|
60
|
-
"""
|
|
61
|
-
Organization name
|
|
62
|
-
"""
|
|
63
|
-
orgName: String @column
|
|
64
|
-
|
|
65
|
-
"""
|
|
66
|
-
Creation timestamp
|
|
67
|
-
"""
|
|
68
|
-
createdAt: DateTime @column(overrideType: "Date")
|
|
69
|
-
|
|
70
|
-
"""
|
|
71
|
-
Last update timestamp
|
|
72
|
-
"""
|
|
73
|
-
updatedAt: DateTime @column(overrideType: "Date")
|
|
74
|
-
|
|
75
|
-
"""
|
|
76
|
-
Deletion timestamp
|
|
77
|
-
"""
|
|
78
|
-
deletedAt: DateTime @column(overrideType: "Date")
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
"""
|
|
82
|
-
AiFragment template types
|
|
83
|
-
"""
|
|
84
|
-
enum AiFragmentTemplate {
|
|
85
|
-
"""
|
|
86
|
-
Next.js template
|
|
87
|
-
"""
|
|
88
|
-
NEXTJS
|
|
89
|
-
|
|
90
|
-
"""
|
|
91
|
-
Vue template
|
|
92
|
-
"""
|
|
93
|
-
VUE
|
|
94
|
-
|
|
95
|
-
"""
|
|
96
|
-
Vite React template
|
|
97
|
-
"""
|
|
98
|
-
VITE_REACT
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
"""
|
|
102
|
-
AiFragment synchronization status
|
|
103
|
-
"""
|
|
104
|
-
enum AiFragmentSyncStatus {
|
|
105
|
-
"""
|
|
106
|
-
AiFragment is synced
|
|
107
|
-
"""
|
|
108
|
-
SYNCED
|
|
109
|
-
|
|
110
|
-
"""
|
|
111
|
-
AiFragment sync is pending
|
|
112
|
-
"""
|
|
113
|
-
PENDING
|
|
114
|
-
|
|
115
|
-
"""
|
|
116
|
-
AiFragment has sync conflicts
|
|
117
|
-
"""
|
|
118
|
-
CONFLICT
|
|
119
|
-
|
|
120
|
-
"""
|
|
121
|
-
AiFragment sync error
|
|
122
|
-
"""
|
|
123
|
-
ERROR
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
"""
|
|
127
|
-
AiFragment create input
|
|
128
|
-
"""
|
|
129
|
-
input AiFragmentCreateInput {
|
|
130
|
-
"""
|
|
131
|
-
Associated message ID
|
|
132
|
-
"""
|
|
133
|
-
messageId: String!
|
|
134
|
-
|
|
135
|
-
"""
|
|
136
|
-
Sandbox URL
|
|
137
|
-
"""
|
|
138
|
-
sandboxUrl: String!
|
|
139
|
-
|
|
140
|
-
"""
|
|
141
|
-
AiFragment title
|
|
142
|
-
"""
|
|
143
|
-
title: String!
|
|
144
|
-
|
|
145
|
-
"""
|
|
146
|
-
Files data
|
|
147
|
-
"""
|
|
148
|
-
files: AnyObject!
|
|
149
|
-
|
|
150
|
-
"""
|
|
151
|
-
Template type
|
|
152
|
-
"""
|
|
153
|
-
template: AiFragmentTemplate
|
|
154
|
-
|
|
155
|
-
"""
|
|
156
|
-
Canvas layers
|
|
157
|
-
"""
|
|
158
|
-
canvasLayers: [AnyObject]
|
|
159
|
-
|
|
160
|
-
"""
|
|
161
|
-
File versions
|
|
162
|
-
"""
|
|
163
|
-
fileVersions: AnyObject
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
"""
|
|
167
|
-
AiFragment update input
|
|
168
|
-
"""
|
|
169
|
-
input AiFragmentUpdateInput {
|
|
170
|
-
"""
|
|
171
|
-
AiFragment ID
|
|
172
|
-
"""
|
|
173
|
-
id: ID!
|
|
174
|
-
|
|
175
|
-
"""
|
|
176
|
-
Sandbox URL
|
|
177
|
-
"""
|
|
178
|
-
sandboxUrl: String
|
|
179
|
-
|
|
180
|
-
"""
|
|
181
|
-
AiFragment title
|
|
182
|
-
"""
|
|
183
|
-
title: String
|
|
184
|
-
|
|
185
|
-
"""
|
|
186
|
-
Files data
|
|
187
|
-
"""
|
|
188
|
-
files: AnyObject
|
|
189
|
-
|
|
190
|
-
"""
|
|
191
|
-
Template type
|
|
192
|
-
"""
|
|
193
|
-
template: AiFragmentTemplate
|
|
194
|
-
|
|
195
|
-
"""
|
|
196
|
-
Canvas layers
|
|
197
|
-
"""
|
|
198
|
-
canvasLayers: [AnyObject]
|
|
199
|
-
|
|
200
|
-
"""
|
|
201
|
-
File versions
|
|
202
|
-
"""
|
|
203
|
-
fileVersions: AnyObject
|
|
204
|
-
|
|
205
|
-
"""
|
|
206
|
-
Synchronization status
|
|
207
|
-
"""
|
|
208
|
-
syncStatus: AiFragmentSyncStatus
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
type FragmentUpdatePayload {
|
|
212
|
-
projectId: String!
|
|
213
|
-
fragmentId: String!
|
|
214
|
-
newSandboxUrl: String!
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
input ModelConfigInput {
|
|
218
|
-
provider: String!
|
|
219
|
-
model: String!
|
|
220
|
-
apiKey: String!
|
|
221
|
-
template: String!
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
type InngestEventResponse {
|
|
225
|
-
success: Boolean!
|
|
226
|
-
message: String!
|
|
227
|
-
eventId: String
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
extend type Query {
|
|
231
|
-
"""
|
|
232
|
-
Get aiFragment by ID
|
|
233
|
-
"""
|
|
234
|
-
aiFragment(id: ID!): AiFragment @addAccountContext @isAuthenticated
|
|
235
|
-
|
|
236
|
-
"""
|
|
237
|
-
Get aiFragment by message ID
|
|
238
|
-
"""
|
|
239
|
-
aiFragmentByMessageId(messageId: String!): AiFragment @addAccountContext @isAuthenticated
|
|
240
|
-
|
|
241
|
-
"""
|
|
242
|
-
Get aiFragments by owner
|
|
243
|
-
"""
|
|
244
|
-
aiFragmentsByOwner(
|
|
245
|
-
owner: String
|
|
246
|
-
limit: Int
|
|
247
|
-
skip: Int
|
|
248
|
-
sort: Sort
|
|
249
|
-
): [AiFragment] @addAccountContext @isAuthenticated
|
|
250
|
-
|
|
251
|
-
"""
|
|
252
|
-
Get aiFragments by organization
|
|
253
|
-
"""
|
|
254
|
-
aiFragmentsByOrg(
|
|
255
|
-
orgName: String
|
|
256
|
-
limit: Int
|
|
257
|
-
skip: Int
|
|
258
|
-
sort: Sort
|
|
259
|
-
): [AiFragment] @addAccountContext @isAuthenticated
|
|
260
|
-
|
|
261
|
-
"""
|
|
262
|
-
Get aiFragments with filtering
|
|
263
|
-
"""
|
|
264
|
-
aiFragments(
|
|
265
|
-
criteria: AnyObject
|
|
266
|
-
limit: Int
|
|
267
|
-
skip: Int
|
|
268
|
-
sort: Sort
|
|
269
|
-
): [AiFragment] @addAccountContext @isAuthenticated
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
extend type Mutation {
|
|
273
|
-
"""
|
|
274
|
-
Create a new aiFragment
|
|
275
|
-
"""
|
|
276
|
-
createAiFragment(input: AiFragmentCreateInput!): AiFragment @addAccountContext @isAuthenticated
|
|
277
|
-
|
|
278
|
-
"""
|
|
279
|
-
Update an existing aiFragment
|
|
280
|
-
"""
|
|
281
|
-
updateAiFragment(input: AiFragmentUpdateInput!): AiFragment @addAccountContext @isAuthenticated
|
|
282
|
-
|
|
283
|
-
"""
|
|
284
|
-
Delete an aiFragment
|
|
285
|
-
"""
|
|
286
|
-
deleteAiFragment(id: ID!): Boolean @isAuthenticated
|
|
287
|
-
|
|
288
|
-
"""
|
|
289
|
-
Update aiFragment sync status
|
|
290
|
-
"""
|
|
291
|
-
updateAiFragmentSyncStatus(
|
|
292
|
-
id: ID!
|
|
293
|
-
syncStatus: AiFragmentSyncStatus!
|
|
294
|
-
lastSyncAt: DateTime
|
|
295
|
-
): AiFragment @addAccountContext @isAuthenticated
|
|
296
|
-
|
|
297
|
-
"""
|
|
298
|
-
Sync aiFragment files
|
|
299
|
-
"""
|
|
300
|
-
syncAiFragmentFiles(
|
|
301
|
-
id: ID!
|
|
302
|
-
files: AnyObject!
|
|
303
|
-
fileVersions: AnyObject
|
|
304
|
-
): AiFragment @addAccountContext @isAuthenticated
|
|
305
|
-
|
|
306
|
-
generateCode(value: String!, modelConfig: ModelConfigInput): InngestEventResponse! @addAccountContext @isAuthenticated
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
extend type Subscription {
|
|
310
|
-
fragmentUpdated(projectId: String!): FragmentUpdatePayload!
|
|
311
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var aiFragmentSchema = "\"\"\"\nAiFragment: A code fragment with sandbox URL and file management\n\"\"\"\ntype AiFragment implements IBaseRepo @entity {\n \"\"\"\n Unique identifier for the fragment\n \"\"\"\n id: String! @id\n \n \"\"\"\n Associated message ID\n \"\"\"\n messageId: String! @column\n \n \"\"\"\n Sandbox URL for the aiFragment\n \"\"\"\n sandboxUrl: String! @column\n \n \"\"\"\n AiFragment title\n \"\"\"\n title: String! @column\n \n \"\"\"\n Files associated with the aiFragment\n \"\"\"\n files: AnyObject! @column\n \n \"\"\"\n Template used for the aiFragment\n \"\"\"\n template: AiFragmentTemplate @column\n \n \"\"\"\n Canvas layers data\n \"\"\"\n canvasLayers: [AnyObject] @column\n \n \"\"\"\n File versions tracking\n \"\"\"\n fileVersions: AnyObject @column\n \n \"\"\"\n Last synchronization timestamp\n \"\"\"\n lastSyncAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Synchronization status\n \"\"\"\n syncStatus: AiFragmentSyncStatus @column\n \n \"\"\"\n AiFragment owner\n \"\"\"\n owner: String @column\n \n \"\"\"\n Organization name\n \"\"\"\n orgName: String @column\n \n \"\"\"\n Creation timestamp\n \"\"\"\n createdAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Last update timestamp\n \"\"\"\n updatedAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Deletion timestamp\n \"\"\"\n deletedAt: DateTime @column(overrideType: \"Date\")\n}\n\n\"\"\"\nAiFragment template types\n\"\"\"\nenum AiFragmentTemplate {\n \"\"\"\n Next.js template\n \"\"\"\n NEXTJS\n \n \"\"\"\n Vue template\n \"\"\"\n VUE\n \n \"\"\"\n Vite React template\n \"\"\"\n VITE_REACT\n}\n\n\"\"\"\nAiFragment synchronization status\n\"\"\"\nenum AiFragmentSyncStatus {\n \"\"\"\n AiFragment is synced\n \"\"\"\n SYNCED\n \n \"\"\"\n AiFragment sync is pending\n \"\"\"\n PENDING\n \n \"\"\"\n AiFragment has sync conflicts\n \"\"\"\n CONFLICT\n \n \"\"\"\n AiFragment sync error\n \"\"\"\n ERROR\n}\n\n\"\"\"\nAiFragment create input\n\"\"\"\ninput AiFragmentCreateInput {\n \"\"\"\n Associated message ID\n \"\"\"\n messageId: String!\n \n \"\"\"\n Sandbox URL\n \"\"\"\n sandboxUrl: String!\n \n \"\"\"\n AiFragment title\n \"\"\"\n title: String!\n \n \"\"\"\n Files data\n \"\"\"\n files: AnyObject!\n \n \"\"\"\n Template type\n \"\"\"\n template: AiFragmentTemplate\n \n \"\"\"\n Canvas layers\n \"\"\"\n canvasLayers: [AnyObject]\n \n \"\"\"\n File versions\n \"\"\"\n fileVersions: AnyObject\n}\n\n\"\"\"\nAiFragment update input\n\"\"\"\ninput AiFragmentUpdateInput {\n \"\"\"\n AiFragment ID\n \"\"\"\n id: ID!\n \n \"\"\"\n Sandbox URL\n \"\"\"\n sandboxUrl: String\n \n \"\"\"\n AiFragment title\n \"\"\"\n title: String\n \n \"\"\"\n Files data\n \"\"\"\n files: AnyObject\n \n \"\"\"\n Template type\n \"\"\"\n template: AiFragmentTemplate\n \n \"\"\"\n Canvas layers\n \"\"\"\n canvasLayers: [AnyObject]\n \n \"\"\"\n File versions\n \"\"\"\n fileVersions: AnyObject\n \n \"\"\"\n Synchronization status\n \"\"\"\n syncStatus: AiFragmentSyncStatus\n}\n\ntype FragmentUpdatePayload {\n projectId: String!\n fragmentId: String!\n newSandboxUrl: String!\n}\n\ninput ModelConfigInput {\n provider: String!\n model: String!\n apiKey: String!\n template: String!\n}\n\n type InngestEventResponse {\n success: Boolean!\n message: String!\n eventId: String\n }\n\nextend type Query {\n \"\"\"\n Get aiFragment by ID\n \"\"\"\n aiFragment(id: ID!): AiFragment @addAccountContext @isAuthenticated\n \n \"\"\"\n Get aiFragment by message ID\n \"\"\"\n aiFragmentByMessageId(messageId: String!): AiFragment @addAccountContext @isAuthenticated\n \n \"\"\"\n Get aiFragments by owner\n \"\"\"\n aiFragmentsByOwner(\n owner: String\n limit: Int\n skip: Int\n sort: Sort\n ): [AiFragment] @addAccountContext @isAuthenticated\n \n \"\"\"\n Get aiFragments by organization\n \"\"\"\n aiFragmentsByOrg(\n orgName: String\n limit: Int\n skip: Int\n sort: Sort\n ): [AiFragment] @addAccountContext @isAuthenticated\n \n \"\"\"\n Get aiFragments with filtering\n \"\"\"\n aiFragments(\n criteria: AnyObject\n limit: Int\n skip: Int\n sort: Sort\n ): [AiFragment] @addAccountContext @isAuthenticated\n}\n\nextend type Mutation {\n \"\"\"\n Create a new aiFragment\n \"\"\"\n createAiFragment(input: AiFragmentCreateInput!): AiFragment @addAccountContext @isAuthenticated\n\n \"\"\"\n Update an existing aiFragment\n \"\"\"\n updateAiFragment(input: AiFragmentUpdateInput!): AiFragment @addAccountContext @isAuthenticated\n\n \"\"\"\n Delete an aiFragment\n \"\"\"\n deleteAiFragment(id: ID!): Boolean @isAuthenticated\n\n \"\"\"\n Update aiFragment sync status\n \"\"\"\n updateAiFragmentSyncStatus(\n id: ID!\n syncStatus: AiFragmentSyncStatus!\n lastSyncAt: DateTime\n ): AiFragment @addAccountContext @isAuthenticated\n\n \"\"\"\n Sync aiFragment files\n \"\"\"\n syncAiFragmentFiles(\n id: ID!\n files: AnyObject!\n fileVersions: AnyObject\n ): AiFragment @addAccountContext @isAuthenticated\n\n generateCode(value: String!, modelConfig: ModelConfigInput): InngestEventResponse! @addAccountContext @isAuthenticated\n}\n\nextend type Subscription {\n fragmentUpdated(projectId: String!): FragmentUpdatePayload!\n}";export{aiFragmentSchema as default};//# sourceMappingURL=ai-fragment.graphql.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-fragment.graphql.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Service, ServiceBroker } from 'moleculer';
|
|
2
|
-
import { Container } from 'inversify';
|
|
3
|
-
/**
|
|
4
|
-
* AI Fragment Moleculer Service
|
|
5
|
-
*
|
|
6
|
-
* This service exposes AI fragment management functionality through the Moleculer microservice framework,
|
|
7
|
-
* providing distributed access to AI fragment operations across the messenger platform.
|
|
8
|
-
*
|
|
9
|
-
* Key capabilities:
|
|
10
|
-
* - AI fragment creation and lifecycle management
|
|
11
|
-
* - Sandbox URL management and synchronization
|
|
12
|
-
* - File version control and conflict resolution
|
|
13
|
-
* - Canvas layer support for visual components
|
|
14
|
-
* - Template-based fragment generation
|
|
15
|
-
* - Organization and user-based fragment retrieval
|
|
16
|
-
* - Real-time file synchronization status tracking
|
|
17
|
-
* - Batch operations for fragment management
|
|
18
|
-
* - Cross-platform fragment compatibility
|
|
19
|
-
* - Event-driven architecture for fragment changes
|
|
20
|
-
* - Comprehensive error handling and logging
|
|
21
|
-
* - Service integration through Apollo GraphQL
|
|
22
|
-
*/
|
|
23
|
-
export declare class AiFragmentMoleculerService extends Service {
|
|
24
|
-
private readonly aiFragmentService;
|
|
25
|
-
private readonly container;
|
|
26
|
-
constructor(broker: ServiceBroker, { container, ...settings }: {
|
|
27
|
-
container: Container;
|
|
28
|
-
});
|
|
29
|
-
}
|