@messenger-box/platform-server 10.0.3-alpha.95 → 10.0.3-alpha.96

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.
Files changed (68) hide show
  1. package/lib/containers/containers.js +1 -4
  2. package/lib/containers/containers.js.map +1 -1
  3. package/lib/containers/context-services-from-container.js +1 -2
  4. package/lib/containers/context-services-from-container.js.map +1 -1
  5. package/lib/graphql/resolvers/channel.js +2 -10
  6. package/lib/graphql/resolvers/channel.js.map +1 -1
  7. package/lib/graphql/resolvers/index.js +1 -1
  8. package/lib/graphql/resolvers/index.js.map +1 -1
  9. package/lib/graphql/resolvers/post.js +3 -30
  10. package/lib/graphql/resolvers/post.js.map +1 -1
  11. package/lib/graphql/schema/channel.graphql +17 -2
  12. package/lib/graphql/schema/channel.graphql.js +1 -1
  13. package/lib/graphql/schema/index.js +2 -2
  14. package/lib/graphql/schema/index.js.map +1 -1
  15. package/lib/graphql/schema/post.graphql +16 -2
  16. package/lib/graphql/schema/post.graphql.js +1 -1
  17. package/lib/inngest/factory.js +2 -2
  18. package/lib/inngest/factory.js.map +1 -1
  19. package/lib/inngest/functions.d.ts +0 -96
  20. package/lib/inngest/functions.js +88 -815
  21. package/lib/inngest/functions.js.map +1 -1
  22. package/lib/module.js +2 -2
  23. package/lib/module.js.map +1 -1
  24. package/lib/plugins/index.d.ts +0 -1
  25. package/lib/services/channel-service.js +2 -2
  26. package/lib/services/channel-service.js.map +1 -1
  27. package/lib/services/index.d.ts +0 -1
  28. package/lib/services/post-service.d.ts +2 -3
  29. package/lib/services/post-service.js +8 -10
  30. package/lib/services/post-service.js.map +1 -1
  31. package/lib/services/proxy-services/index.d.ts +0 -1
  32. package/lib/store/models/index.d.ts +0 -1
  33. package/lib/store/repositories/channel-repository.js +1 -1
  34. package/lib/store/repositories/channel-repository.js.map +1 -1
  35. package/lib/store/repositories/index.d.ts +0 -1
  36. package/lib/store/repositories/post-repository.js +1 -1
  37. package/lib/store/repositories/post-repository.js.map +1 -1
  38. package/lib/store/repositories/post-thread-repository.js +1 -1
  39. package/lib/store/repositories/post-thread-repository.js.map +1 -1
  40. package/lib/store/repositories/reaction-repository.js +1 -1
  41. package/lib/store/repositories/reaction-repository.js.map +1 -1
  42. package/lib/templates/constants/SERVER_TYPES.ts.template +0 -3
  43. package/lib/templates/constants/WorkflowNamespace.ts.template +10 -0
  44. package/lib/templates/services/PostService.ts.template +8 -8
  45. package/package.json +6 -7
  46. package/lib/graphql/resolvers/ai-fragment.d.ts +0 -3
  47. package/lib/graphql/resolvers/ai-fragment.js +0 -276
  48. package/lib/graphql/resolvers/ai-fragment.js.map +0 -1
  49. package/lib/graphql/schema/ai-fragment.graphql +0 -311
  50. package/lib/graphql/schema/ai-fragment.graphql.js +0 -1
  51. package/lib/graphql/schema/ai-fragment.graphql.js.map +0 -1
  52. package/lib/plugins/ai-fragment-moleculer-service.d.ts +0 -29
  53. package/lib/plugins/ai-fragment-moleculer-service.js +0 -516
  54. package/lib/plugins/ai-fragment-moleculer-service.js.map +0 -1
  55. package/lib/services/ai-fragment-service.d.ts +0 -195
  56. package/lib/services/ai-fragment-service.js +0 -631
  57. package/lib/services/ai-fragment-service.js.map +0 -1
  58. package/lib/services/proxy-services/ai-fragment-microservice.d.ts +0 -23
  59. package/lib/services/proxy-services/ai-fragment-microservice.js +0 -75
  60. package/lib/services/proxy-services/ai-fragment-microservice.js.map +0 -1
  61. package/lib/store/models/ai-fragment.d.ts +0 -4
  62. package/lib/store/models/ai-fragment.js +0 -125
  63. package/lib/store/models/ai-fragment.js.map +0 -1
  64. package/lib/store/repositories/ai-fragment-repository.d.ts +0 -15
  65. package/lib/store/repositories/ai-fragment-repository.js +0 -69
  66. package/lib/store/repositories/ai-fragment-repository.js.map +0 -1
  67. package/lib/templates/repositories/AiFragmentRepository.ts.template +0 -4
  68. 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,4 +0,0 @@
1
- import { Connection, Model } from 'mongoose';
2
- import { IAiFragmentModel } from 'common/server';
3
- export type AiFragmentModelType = Model<IAiFragmentModel>;
4
- export declare const AiFragmentModelFunc: (db: Connection) => AiFragmentModelType;
@@ -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,4 +0,0 @@
1
- import { IBaseMongoRepository,IAiFragmentModel } from 'common/server';
2
-
3
-
4
- export type IAiFragmentRepository = IBaseMongoRepository<IAiFragmentModel>;
@@ -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
- }