@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,75 +0,0 @@
|
|
|
1
|
-
import {__decorate,__param,__metadata}from'tslib';import {injectable,inject}from'inversify';import {ServiceBroker}from'moleculer';import'@cdm-logger/core';import {CommonType}from'@common-stack/core';import {MoleculerTopics,AiFragmentServiceCommands}from'common/server';import {BaseProxyService2}from'@common-stack/store-mongo';let AiFragmentProxyService = class AiFragmentProxyService extends BaseProxyService2 {
|
|
2
|
-
logger;
|
|
3
|
-
topic = MoleculerTopics.AiFragmentService;
|
|
4
|
-
constructor(broker, logger) {
|
|
5
|
-
super(broker, logger.child({
|
|
6
|
-
className: 'AiFragmentProxyService'
|
|
7
|
-
}));
|
|
8
|
-
this.logger = logger;
|
|
9
|
-
}
|
|
10
|
-
dispose() {
|
|
11
|
-
// Cleanup resources if needed
|
|
12
|
-
}
|
|
13
|
-
// AI Fragment specific methods
|
|
14
|
-
createFragment(input) {
|
|
15
|
-
return this.callAction(AiFragmentServiceCommands.CreateFragment, {
|
|
16
|
-
input
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
getFragmentByMessageId(messageId) {
|
|
20
|
-
return this.callAction(AiFragmentServiceCommands.GetFragmentByMessageId, {
|
|
21
|
-
messageId
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
getFragmentsByUser(orgName, owner, limit, skip) {
|
|
25
|
-
return this.callAction(AiFragmentServiceCommands.GetFragmentsByUser, {
|
|
26
|
-
orgName,
|
|
27
|
-
owner,
|
|
28
|
-
limit,
|
|
29
|
-
skip
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
updateFragmentFiles(messageId, files) {
|
|
33
|
-
return this.callAction(AiFragmentServiceCommands.UpdateFragmentFiles, {
|
|
34
|
-
messageId,
|
|
35
|
-
files
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
deleteFragment(id) {
|
|
39
|
-
return this.callAction(AiFragmentServiceCommands.DeleteFragment, {
|
|
40
|
-
id
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
deleteFragmentByMessageId(messageId) {
|
|
44
|
-
return this.callAction(AiFragmentServiceCommands.DeleteFragmentByMessageId, {
|
|
45
|
-
messageId
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
getFragmentById(fragmentId) {
|
|
49
|
-
return this.callAction(AiFragmentServiceCommands.GetFragmentById, {
|
|
50
|
-
fragmentId
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
updateSandboxUrl(fragmentId, newSandboxUrl) {
|
|
54
|
-
return this.callAction(AiFragmentServiceCommands.UpdateSandboxUrl, {
|
|
55
|
-
fragmentId,
|
|
56
|
-
newSandboxUrl
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
updateFileSync(fragmentId, fileVersions, syncStatus) {
|
|
60
|
-
return this.callAction(AiFragmentServiceCommands.UpdateFileSync, {
|
|
61
|
-
fragmentId,
|
|
62
|
-
fileVersions,
|
|
63
|
-
syncStatus
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
updateFilesAndSync(fragmentId, files, fileVersions, syncStatus) {
|
|
67
|
-
return this.callAction(AiFragmentServiceCommands.UpdateFilesAndSync, {
|
|
68
|
-
fragmentId,
|
|
69
|
-
files,
|
|
70
|
-
fileVersions,
|
|
71
|
-
syncStatus
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
AiFragmentProxyService = __decorate([injectable(), __param(0, inject(CommonType.MOLECULER_BROKER)), __param(1, inject('Logger')), __metadata("design:paramtypes", [ServiceBroker, Object])], AiFragmentProxyService);export{AiFragmentProxyService};//# sourceMappingURL=ai-fragment-microservice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-fragment-microservice.js","sources":["../../../src/services/proxy-services/ai-fragment-microservice.ts"],"sourcesContent":[null],"names":[],"mappings":"uUAqBO,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,iBAAmC,CAAA;AAOpD,EAAA,MAAA;AANvB,EAAA,KAAA,GAAK,eAAG,CAAA,iBAAgB;aAExB,CAAA,MAEI,EAAqB,MAEF,EAAyB;AAE5C,IAAA,KAAA,CAAA,MAAM,EAAA,MAAQ,CAAA,KAAO,CAAA;eAFF,EAAA;KAGtB,CAAA,CAAA;IAED,IAAA,CAAA,MAAO,GAAA,MAAA;;SAEN,GAAA;;AAID,EAAA;AACI;gBACH,CAAA,KAAA,EAAA;AAED,IAAA,OAAA,IAAA,CAAA,UAAsB,CAAC,yBAAiB,CAAA,cAAA,EAAA;AACpC,MAAA;KACH,CAAA;AAED,EAAA;AAMI,EAAA,sBAAY,CAAA,SAAW,EAAA;IAC3B,OAAC,IAAA,CAAA,UAAA,CAAA,yBAAA,CAAA,sBAAA,EAAA;MAED;AACI,KAAA,CAAA;;AAGJ,EAAA,kBAAe,CAAU,OAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA;AACrB,IAAA,OAAA,IAAO,CAAA,UAAK,CAAA,yBAAW,CAAA,kBAAwC,EAAE;MACpE,OAAA;AAED,MAAA,KAAA;AACI,MAAA,KAAA;MACH;AAED,KAAA,CAAA;AACI,EAAA;qBACH,CAAA,SAAA,EAAA,KAAA,EAAA;IAED,OAAA,IAAA,CAAA,UAAiB,CAAA,yBAAyC,CAAA,mBAAA,EAAA;AACtD,MAAA,SAAO;MACV;AAED,KAAA,CAAA;AAKI,EAAA;gBACH,CAAA,EAAA,EAAA;AAED,IAAA,OAAA,IAAA,CAAA,UACI,CAAA,yBAEA,CAAA,cACgC,EAAA;AAEhC,MAAA;;;2BAGgB,CAAA,SAAA,EAAA;eACZ,CAAA,UAAU,CAAA,yBAAA,CAAA,yBAAA,EAAA;AACb,MAAA;KACJ,CAAA;EACJ;AA5EY,EAAA,eAAA,CAAA,UAAsB,EAAA;AADlC,IAAA,OAAA,IAAU,CAAE,UAAA,CAAA,yBAAA,CAAA,eAAA,EAAA;AAKJ,MAAA;AAEA,KAAA,CAAA;;AANI,EAAA,gBAAA,CAAA,UA4EZ,EAAA,aAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import {Schema}from'mongoose';import {AiFragmentSyncStatus,AiFragmentTemplate}from'common/server';const aiFragmentModelSchema = new Schema({
|
|
2
|
-
messageId: {
|
|
3
|
-
type: Schema.Types.String,
|
|
4
|
-
required: true,
|
|
5
|
-
unique: true,
|
|
6
|
-
trim: true,
|
|
7
|
-
index: true
|
|
8
|
-
},
|
|
9
|
-
sandboxUrl: {
|
|
10
|
-
type: Schema.Types.String,
|
|
11
|
-
required: true,
|
|
12
|
-
trim: true
|
|
13
|
-
},
|
|
14
|
-
title: {
|
|
15
|
-
type: Schema.Types.String,
|
|
16
|
-
required: true,
|
|
17
|
-
trim: true
|
|
18
|
-
},
|
|
19
|
-
files: {
|
|
20
|
-
type: Schema.Types.Mixed,
|
|
21
|
-
required: true,
|
|
22
|
-
default: {}
|
|
23
|
-
},
|
|
24
|
-
template: {
|
|
25
|
-
type: Schema.Types.String,
|
|
26
|
-
enum: Object.values(AiFragmentTemplate),
|
|
27
|
-
default: AiFragmentTemplate.Nextjs
|
|
28
|
-
},
|
|
29
|
-
canvasLayers: {
|
|
30
|
-
type: Schema.Types.Mixed,
|
|
31
|
-
default: null
|
|
32
|
-
},
|
|
33
|
-
fileVersions: {
|
|
34
|
-
type: Schema.Types.Mixed,
|
|
35
|
-
default: {}
|
|
36
|
-
},
|
|
37
|
-
lastSyncAt: {
|
|
38
|
-
type: Schema.Types.Date,
|
|
39
|
-
index: true
|
|
40
|
-
},
|
|
41
|
-
syncStatus: {
|
|
42
|
-
type: Schema.Types.String,
|
|
43
|
-
enum: Object.values(AiFragmentSyncStatus),
|
|
44
|
-
default: AiFragmentSyncStatus.Synced,
|
|
45
|
-
index: true
|
|
46
|
-
},
|
|
47
|
-
owner: {
|
|
48
|
-
type: Schema.Types.String,
|
|
49
|
-
required: true,
|
|
50
|
-
trim: true,
|
|
51
|
-
index: true
|
|
52
|
-
},
|
|
53
|
-
orgName: {
|
|
54
|
-
type: Schema.Types.String,
|
|
55
|
-
required: true,
|
|
56
|
-
trim: true,
|
|
57
|
-
index: true
|
|
58
|
-
},
|
|
59
|
-
createdAt: {
|
|
60
|
-
type: Schema.Types.Date,
|
|
61
|
-
default: Date.now,
|
|
62
|
-
index: true
|
|
63
|
-
},
|
|
64
|
-
updatedAt: {
|
|
65
|
-
type: Schema.Types.Date,
|
|
66
|
-
default: Date.now
|
|
67
|
-
},
|
|
68
|
-
deletedAt: {
|
|
69
|
-
type: Schema.Types.Date,
|
|
70
|
-
index: true
|
|
71
|
-
}
|
|
72
|
-
}, {
|
|
73
|
-
timestamps: true,
|
|
74
|
-
collection: 'ai_fragments',
|
|
75
|
-
toJSON: {
|
|
76
|
-
virtuals: true
|
|
77
|
-
},
|
|
78
|
-
toObject: {
|
|
79
|
-
virtuals: true
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
// Virtual fields
|
|
83
|
-
aiFragmentModelSchema.virtual('id').get(function () {
|
|
84
|
-
return this._id.toHexString();
|
|
85
|
-
});
|
|
86
|
-
// Add compound indexes for better query performance
|
|
87
|
-
aiFragmentModelSchema.index({
|
|
88
|
-
owner: 1,
|
|
89
|
-
createdAt: -1
|
|
90
|
-
});
|
|
91
|
-
aiFragmentModelSchema.index({
|
|
92
|
-
orgName: 1,
|
|
93
|
-
createdAt: -1
|
|
94
|
-
});
|
|
95
|
-
aiFragmentModelSchema.index({
|
|
96
|
-
messageId: 1,
|
|
97
|
-
orgName: 1
|
|
98
|
-
});
|
|
99
|
-
aiFragmentModelSchema.index({
|
|
100
|
-
syncStatus: 1,
|
|
101
|
-
lastSyncAt: -1
|
|
102
|
-
});
|
|
103
|
-
aiFragmentModelSchema.index({
|
|
104
|
-
template: 1,
|
|
105
|
-
createdAt: -1
|
|
106
|
-
});
|
|
107
|
-
aiFragmentModelSchema.index({
|
|
108
|
-
createdAt: -1
|
|
109
|
-
});
|
|
110
|
-
aiFragmentModelSchema.index({
|
|
111
|
-
deletedAt: 1
|
|
112
|
-
});
|
|
113
|
-
// Pre-save middleware to update timestamps
|
|
114
|
-
aiFragmentModelSchema.pre('save', function (next) {
|
|
115
|
-
this.updatedAt = new Date();
|
|
116
|
-
next();
|
|
117
|
-
});
|
|
118
|
-
// Pre-update middleware
|
|
119
|
-
aiFragmentModelSchema.pre(['updateOne', 'findOneAndUpdate'], function (next) {
|
|
120
|
-
this.set({
|
|
121
|
-
updatedAt: new Date()
|
|
122
|
-
});
|
|
123
|
-
next();
|
|
124
|
-
});
|
|
125
|
-
const AiFragmentModelFunc = db => db.model('ai_fragments', aiFragmentModelSchema);export{AiFragmentModelFunc};//# sourceMappingURL=ai-fragment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-fragment.js","sources":["../../../src/store/models/ai-fragment.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { CdmLogger } from '@cdm-logger/core';
|
|
2
|
-
import mongoose from 'mongoose';
|
|
3
|
-
import { BaseMongoRepository } from '@common-stack/store-mongo';
|
|
4
|
-
import { IAiFragmentModel, IAiFragmentRepository } from 'common/server';
|
|
5
|
-
export declare class AiFragmentRepository extends BaseMongoRepository<IAiFragmentModel> implements IAiFragmentRepository {
|
|
6
|
-
constructor(db: mongoose.Connection, logger: CdmLogger.ILogger, options?: any);
|
|
7
|
-
findById(id: string): Promise<IAiFragmentModel | null>;
|
|
8
|
-
findByMessageId(messageId: string): Promise<IAiFragmentModel | null>;
|
|
9
|
-
findByOrgAndOwner(orgName: string, owner: string, limit?: number, skip?: number): Promise<IAiFragmentModel[]>;
|
|
10
|
-
updateFiles(messageId: string, files: Record<string, any>): Promise<IAiFragmentModel | null>;
|
|
11
|
-
deleteByMessageId(messageId: string): Promise<boolean>;
|
|
12
|
-
updateSandboxUrl(fragmentId: string, newSandboxUrl: string): Promise<IAiFragmentModel | null>;
|
|
13
|
-
updateFileSync(fragmentId: string, fileVersions: Record<string, number>, syncStatus: 'synced' | 'pending' | 'conflict' | 'error'): Promise<IAiFragmentModel | null>;
|
|
14
|
-
updateFilesAndSync(messageId: string, files: Record<string, any>, fileVersions: Record<string, number>, syncStatus: 'synced' | 'pending' | 'conflict' | 'error'): Promise<IAiFragmentModel | null>;
|
|
15
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import mongoose from'mongoose';import {BaseMongoRepository}from'@common-stack/store-mongo';import'../models/channel.js';import'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';import {AiFragmentModelFunc}from'../models/ai-fragment.js';let AiFragmentRepository = class AiFragmentRepository extends BaseMongoRepository {
|
|
2
|
-
constructor(db, logger, options) {
|
|
3
|
-
super(AiFragmentModelFunc, db, logger, options);
|
|
4
|
-
this.logger = logger.child({
|
|
5
|
-
className: 'AiFragmentRepository'
|
|
6
|
-
});
|
|
7
|
-
this.model = AiFragmentModelFunc(db);
|
|
8
|
-
}
|
|
9
|
-
async findById(id) {
|
|
10
|
-
return await this.model.findById(id);
|
|
11
|
-
}
|
|
12
|
-
async findByMessageId(messageId) {
|
|
13
|
-
return await this.model.findOne({
|
|
14
|
-
messageId
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
async findByOrgAndOwner(orgName, owner, limit = 20, skip = 0) {
|
|
18
|
-
return await this.model.find({
|
|
19
|
-
orgName,
|
|
20
|
-
owner
|
|
21
|
-
}).sort({
|
|
22
|
-
createdAt: -1
|
|
23
|
-
}).limit(limit).skip(skip);
|
|
24
|
-
}
|
|
25
|
-
async updateFiles(messageId, files) {
|
|
26
|
-
return await this.model.findOneAndUpdate({
|
|
27
|
-
messageId
|
|
28
|
-
}, {
|
|
29
|
-
files
|
|
30
|
-
}, {
|
|
31
|
-
new: true
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
async deleteByMessageId(messageId) {
|
|
35
|
-
const result = await this.model.findOneAndDelete({
|
|
36
|
-
messageId
|
|
37
|
-
});
|
|
38
|
-
return !!result;
|
|
39
|
-
}
|
|
40
|
-
async updateSandboxUrl(fragmentId, newSandboxUrl) {
|
|
41
|
-
return await this.model.findByIdAndUpdate(fragmentId, {
|
|
42
|
-
sandboxUrl: newSandboxUrl
|
|
43
|
-
}, {
|
|
44
|
-
new: true
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
async updateFileSync(fragmentId, fileVersions, syncStatus) {
|
|
48
|
-
return await this.model.findByIdAndUpdate(fragmentId, {
|
|
49
|
-
fileVersions,
|
|
50
|
-
syncStatus,
|
|
51
|
-
lastSyncAt: new Date()
|
|
52
|
-
}, {
|
|
53
|
-
new: true
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
async updateFilesAndSync(messageId, files, fileVersions, syncStatus) {
|
|
57
|
-
return await this.model.findOneAndUpdate({
|
|
58
|
-
messageId
|
|
59
|
-
}, {
|
|
60
|
-
files,
|
|
61
|
-
fileVersions,
|
|
62
|
-
syncStatus,
|
|
63
|
-
lastSyncAt: new Date()
|
|
64
|
-
}, {
|
|
65
|
-
new: true
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
AiFragmentRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('MongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [mongoose.Connection, Object, Object])], AiFragmentRepository);export{AiFragmentRepository};//# sourceMappingURL=ai-fragment-repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-fragment-repository.js","sources":["../../../src/store/repositories/ai-fragment-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"0ZASO,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mBAAqC,CAAA;AAC3E,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEvB,EAAyB,OAGzB,EAAa;SAEb,CAAA,uBAAyB,EAAE,MAAI,EAAA,OAAQ,CAAA;AACvC,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;AACrB,MAAA,SAAK,EAAA;KACR,CAAA;IAED,IAAA,CAAK,KAAC,GAAA,mBAAmB,CAAA,EAAA,CAAA;;QAExB,QAAA,CAAA,EAAA,EAAA;IAED,OAAM,MAAA,IAAA,CAAA,KAAgB,CAAA,QAAiB,CAAA,EAAA,CAAA;;QAEtC,eAAA,CAAA,SAAA,EAAA;IAED,OAAM,MAAA,IAAA,CAAA,KAAiB,CACnB,OAAe,CAAA;AAKf,MAAA;KACH,CAAA;AAED,EAAA;QACI,iBAAiB,CAAC,OAAM,EAAA,KAAA,EAAA,KAAA,KAAmB,EAAA,IAAA,GAAS,CAAE,EAAE;IAC5D,OAAC,MAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA;MAED,OAAM;AACF,MAAA;WACA,CAAA;MACH,SAAA,EAAA;AAED,KAAA,CAAA,CAAA,KAAM,CAAA,KAAA,CAAA,CAAA,IAAA,CAAA,IAAiB,CAAA;;QAEtB,WAAA,CAAA,SAAA,EAAA,KAAA,EAAA;AAED,IAAA,OAAM,MAAA,IAAA,CAAA,sBAEF,CAAA;;;;;AASK,MAAA,GAAA,EACD;KAEP,CAAA;;QAQG,iBAAiB,CAAC;gBAGV,GAAK,MAAA,IAAA,CAAA,KAAA,CAAA,gBAAA,CAAA;;;YAGL,CAAA,MAAA;AACH,EAAA;QAGR,gBAAA,CAAA,UAAA,EAAA,aAAA,EAAA;IACJ,OAAA,MAAA,IAAA,CAAA,KAAA,CAAA,iBAAA,CAAA,UAAA,EAAA;AA9EY,MAAA,UAAA,EAAA;AADZ,KAAA,EAAA;AAGQ,MAAA,GAAA,EAAA;AAEA,KAAA,CAAA;AAEA,EAAA;QACA,cAAA,CAAQ,UAAE,EAAA,YAAA,EAAA,UAAA,EAAA;AAJP,IAAA,OAAA,MAAA,IAAA,CAAA,KAAA,CAAA,iBAAQ,CAAC,UAAU,EAAA;AAHlB,MAAA,YAAA;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AI Fragment Service Interface
|
|
3
|
-
* ----------------------------
|
|
4
|
-
*
|
|
5
|
-
* This interface defines the business logic layer for AI fragment management within
|
|
6
|
-
* the messenger platform. It provides a comprehensive set of operations for
|
|
7
|
-
* handling AI-generated code fragments, sandbox management, and file synchronization.
|
|
8
|
-
*
|
|
9
|
-
* Key capabilities:
|
|
10
|
-
* - AI fragment creation and management
|
|
11
|
-
* - Sandbox URL management
|
|
12
|
-
* - File version control and synchronization
|
|
13
|
-
* - Canvas layer support
|
|
14
|
-
* - Template-based fragment generation
|
|
15
|
-
* - Organization and user-based fragment retrieval
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
import { IAiFragmentModel, IBaseService, AsDomainType, Disposable, IAiFragmentCreateInput, IAiFragmentUpdateInput, AiFragmentSyncStatus } from 'common/server';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
export interface AgentState {
|
|
23
|
-
summary: string;
|
|
24
|
-
files: { [path: string]: string };
|
|
25
|
-
canvasLayers?: any[];
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface IAiFragmentService extends IBaseService<IAiFragmentModel>, Disposable {
|
|
29
|
-
/**
|
|
30
|
-
* Creates a new AI fragment with the specified parameters
|
|
31
|
-
*
|
|
32
|
-
* @param {IAiFragmentCreateInput} input - The fragment creation data
|
|
33
|
-
* @returns {Promise<AsDomainType<IAiFragmentModel>>}
|
|
34
|
-
*/
|
|
35
|
-
createFragment(input: IAiFragmentCreateInput): Promise<AsDomainType<IAiFragmentModel>>;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Retrieves an AI fragment by its message ID
|
|
39
|
-
*
|
|
40
|
-
* @param {string} messageId - The message ID to search for
|
|
41
|
-
* @returns {Promise<AsDomainType<IAiFragmentModel> | null>}
|
|
42
|
-
*/
|
|
43
|
-
getFragmentByMessageId(messageId: string): Promise<AsDomainType<IAiFragmentModel> | null>;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Retrieves AI fragments for a specific user and organization
|
|
47
|
-
*
|
|
48
|
-
* @param {string} orgName - Organization name
|
|
49
|
-
* @param {string} owner - Owner identifier
|
|
50
|
-
* @param {number} [limit=20] - Maximum number of fragments to return
|
|
51
|
-
* @param {number} [skip=0] - Number of fragments to skip
|
|
52
|
-
* @returns {Promise<AsDomainType<IAiFragmentModel>[]>}
|
|
53
|
-
*/
|
|
54
|
-
getFragmentsByUser(orgName: string, owner: string, limit?: number, skip?: number): Promise<AsDomainType<IAiFragmentModel>[]>;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Updates the files associated with a fragment
|
|
58
|
-
*
|
|
59
|
-
* @param {string} messageId - The message ID of the fragment to update
|
|
60
|
-
* @param {Record<string, any>} files - The new files data
|
|
61
|
-
* @returns {Promise<AsDomainType<IAiFragmentModel> | null>}
|
|
62
|
-
*/
|
|
63
|
-
updateFragmentFiles(messageId: string, files: Record<string, any>): Promise<AsDomainType<IAiFragmentModel> | null>;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Deletes an AI fragment by its ID
|
|
67
|
-
*
|
|
68
|
-
* @param {string} id - The fragment ID to delete
|
|
69
|
-
* @returns {Promise<boolean>}
|
|
70
|
-
*/
|
|
71
|
-
deleteFragment(id: string): Promise<boolean>;
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Deletes an AI fragment by its message ID
|
|
75
|
-
*
|
|
76
|
-
* @param {string} messageId - The message ID of the fragment to delete
|
|
77
|
-
* @returns {Promise<boolean>}
|
|
78
|
-
*/
|
|
79
|
-
deleteFragmentByMessageId(messageId: string): Promise<boolean>;
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Retrieves an AI fragment by its ID
|
|
83
|
-
*
|
|
84
|
-
* @param {string} fragmentId - The fragment ID to retrieve
|
|
85
|
-
* @returns {Promise<AsDomainType<IAiFragmentModel> | null>}
|
|
86
|
-
*/
|
|
87
|
-
getFragmentById(fragmentId: string): Promise<AsDomainType<IAiFragmentModel> | null>;
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Updates the sandbox URL for a fragment
|
|
91
|
-
*
|
|
92
|
-
* @param {string} fragmentId - The fragment ID to update
|
|
93
|
-
* @param {string} newSandboxUrl - The new sandbox URL
|
|
94
|
-
* @returns {Promise<AsDomainType<IAiFragmentModel> | null>}
|
|
95
|
-
*/
|
|
96
|
-
updateSandboxUrl(fragmentId: string, newSandboxUrl: string): Promise<AsDomainType<IAiFragmentModel> | null>;
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Updates file synchronization status and versions
|
|
100
|
-
*
|
|
101
|
-
* @param {string} fragmentId - The fragment ID to update
|
|
102
|
-
* @param {Record<string, number>} fileVersions - File version mapping
|
|
103
|
-
* @param {AiFragmentSyncStatus} syncStatus - Current synchronization status
|
|
104
|
-
* @returns {Promise<AsDomainType<IAiFragmentModel> | null>}
|
|
105
|
-
*/
|
|
106
|
-
updateFileSync(fragmentId: string, fileVersions: Record<string, number>, syncStatus: AiFragmentSyncStatus): Promise<AsDomainType<IAiFragmentModel> | null>;
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Updates both files and synchronization status in a single operation
|
|
110
|
-
*
|
|
111
|
-
* @param {string} messageId - The message ID of the fragment to update
|
|
112
|
-
* @param {Record<string, any>} files - The new files data
|
|
113
|
-
* @param {Record<string, number>} fileVersions - File version mapping
|
|
114
|
-
* @param {AiFragmentSyncStatus} syncStatus - Current synchronization status
|
|
115
|
-
* @returns {Promise<AsDomainType<IAiFragmentModel> | null>}
|
|
116
|
-
*/
|
|
117
|
-
updateFilesAndSync(messageId: string, files: Record<string, any>, fileVersions: Record<string, number>, syncStatus: AiFragmentSyncStatus): Promise<AsDomainType<IAiFragmentModel> | null>;
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Disposes of resources used by the service
|
|
121
|
-
*/
|
|
122
|
-
dispose(): void;
|
|
123
|
-
}
|