@messenger-box/platform-server 10.0.3-alpha.72 → 10.0.3-alpha.75

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 (98) hide show
  1. package/lib/config/env-config.d.ts +7 -0
  2. package/lib/config/env-config.js +20 -0
  3. package/lib/config/env-config.js.map +1 -1
  4. package/lib/containers/containers.js +6 -1
  5. package/lib/containers/containers.js.map +1 -1
  6. package/lib/containers/context-services-from-container.js +4 -2
  7. package/lib/containers/context-services-from-container.js.map +1 -1
  8. package/lib/graphql/resolvers/ai-fragment.d.ts +3 -0
  9. package/lib/graphql/resolvers/ai-fragment.js +276 -0
  10. package/lib/graphql/resolvers/ai-fragment.js.map +1 -0
  11. package/lib/graphql/resolvers/channel.js +29 -0
  12. package/lib/graphql/resolvers/channel.js.map +1 -1
  13. package/lib/graphql/resolvers/index.js +1 -1
  14. package/lib/graphql/resolvers/index.js.map +1 -1
  15. package/lib/graphql/resolvers/post.js +187 -14
  16. package/lib/graphql/resolvers/post.js.map +1 -1
  17. package/lib/graphql/schema/ai-fragment.graphql +311 -0
  18. package/lib/graphql/schema/ai-fragment.graphql.js +1 -0
  19. package/lib/graphql/schema/ai-fragment.graphql.js.map +1 -0
  20. package/lib/graphql/schema/channel.graphql +19 -0
  21. package/lib/graphql/schema/channel.graphql.js +1 -1
  22. package/lib/graphql/schema/index.js +2 -2
  23. package/lib/graphql/schema/index.js.map +1 -1
  24. package/lib/graphql/schema/post.graphql +76 -0
  25. package/lib/graphql/schema/post.graphql.js +1 -1
  26. package/lib/graphql/schema/services.graphql +19 -0
  27. package/lib/index.js.map +1 -1
  28. package/lib/inngest/factory.d.ts +20 -0
  29. package/lib/inngest/factory.js +4 -0
  30. package/lib/inngest/factory.js.map +1 -0
  31. package/lib/inngest/functions.d.ts +235 -0
  32. package/lib/inngest/functions.js +1385 -0
  33. package/lib/inngest/functions.js.map +1 -0
  34. package/lib/inngest/index.d.ts +3 -0
  35. package/lib/inngest/prompt.d.ts +6 -0
  36. package/lib/inngest/prompt.js +871 -0
  37. package/lib/inngest/prompt.js.map +1 -0
  38. package/lib/inngest/utils.d.ts +5 -0
  39. package/lib/inngest/utils.js +32 -0
  40. package/lib/inngest/utils.js.map +1 -0
  41. package/lib/module.js +10 -3
  42. package/lib/module.js.map +1 -1
  43. package/lib/plugins/ai-fragment-moleculer-service.d.ts +29 -0
  44. package/lib/plugins/ai-fragment-moleculer-service.js +516 -0
  45. package/lib/plugins/ai-fragment-moleculer-service.js.map +1 -0
  46. package/lib/plugins/channel-moleculer-service.js +9 -0
  47. package/lib/plugins/channel-moleculer-service.js.map +1 -1
  48. package/lib/plugins/index.d.ts +1 -0
  49. package/lib/plugins/post-moleculer-service.js +116 -0
  50. package/lib/plugins/post-moleculer-service.js.map +1 -1
  51. package/lib/services/ai-fragment-service.d.ts +195 -0
  52. package/lib/services/ai-fragment-service.js +631 -0
  53. package/lib/services/ai-fragment-service.js.map +1 -0
  54. package/lib/services/channel-service.d.ts +5 -2
  55. package/lib/services/channel-service.js +24 -2
  56. package/lib/services/channel-service.js.map +1 -1
  57. package/lib/services/index.d.ts +2 -0
  58. package/lib/services/post-service.d.ts +9 -2
  59. package/lib/services/post-service.js +225 -5
  60. package/lib/services/post-service.js.map +1 -1
  61. package/lib/services/proxy-services/ai-fragment-microservice.d.ts +23 -0
  62. package/lib/services/proxy-services/ai-fragment-microservice.js +78 -0
  63. package/lib/services/proxy-services/ai-fragment-microservice.js.map +1 -0
  64. package/lib/services/proxy-services/channel-microservice.d.ts +2 -1
  65. package/lib/services/proxy-services/channel-microservice.js +6 -0
  66. package/lib/services/proxy-services/channel-microservice.js.map +1 -1
  67. package/lib/services/proxy-services/index.d.ts +1 -0
  68. package/lib/services/proxy-services/post-microservice.d.ts +22 -1
  69. package/lib/services/proxy-services/post-microservice.js +80 -0
  70. package/lib/services/proxy-services/post-microservice.js.map +1 -1
  71. package/lib/services/sandbox-error-service.d.ts +23 -0
  72. package/lib/services/sandbox-error-service.js +422 -0
  73. package/lib/services/sandbox-error-service.js.map +1 -0
  74. package/lib/store/models/ai-fragment.d.ts +4 -0
  75. package/lib/store/models/ai-fragment.js +125 -0
  76. package/lib/store/models/ai-fragment.js.map +1 -0
  77. package/lib/store/models/channel.js +5 -0
  78. package/lib/store/models/channel.js.map +1 -1
  79. package/lib/store/models/index.d.ts +1 -0
  80. package/lib/store/repositories/ai-fragment-repository.d.ts +15 -0
  81. package/lib/store/repositories/ai-fragment-repository.js +69 -0
  82. package/lib/store/repositories/ai-fragment-repository.js.map +1 -0
  83. package/lib/store/repositories/channel-repository.js +1 -1
  84. package/lib/store/repositories/channel-repository.js.map +1 -1
  85. package/lib/store/repositories/index.d.ts +1 -0
  86. package/lib/store/repositories/post-repository.js +1 -1
  87. package/lib/store/repositories/post-repository.js.map +1 -1
  88. package/lib/store/repositories/post-thread-repository.js +1 -1
  89. package/lib/store/repositories/post-thread-repository.js.map +1 -1
  90. package/lib/store/repositories/reaction-repository.js +1 -1
  91. package/lib/store/repositories/reaction-repository.js.map +1 -1
  92. package/lib/templates/constants/SERVER_TYPES.ts.template +4 -1
  93. package/lib/templates/repositories/AiFragmentRepository.ts.template +4 -0
  94. package/lib/templates/services/AiFragmentService.ts.template +123 -0
  95. package/lib/templates/services/ChannelService.ts.template +11 -1
  96. package/lib/templates/services/PostService.ts.template +82 -1
  97. package/lib/templates/services/SandboxErrorService.ts.template +125 -0
  98. package/package.json +12 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-error-service.js","sources":["../../src/services/sandbox-error-service.ts"],"sourcesContent":[null],"names":["uuidv4"],"mappings":"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"}
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,125 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-fragment.js","sources":["../../../src/store/models/ai-fragment.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -151,6 +151,11 @@ import {Schema}from'mongoose';import {DB_COLL_NAMES,RoomType}from'common/server'
151
151
  default: 0,
152
152
  min: 0
153
153
  },
154
+ projectId: {
155
+ type: Schema.Types.ObjectId,
156
+ trim: true,
157
+ index: true
158
+ },
154
159
  createdAt: {
155
160
  type: Schema.Types.Date,
156
161
  default: Date.now,
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sources":["../../../src/store/models/channel.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.js","sources":["../../../src/store/models/channel.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@ export * from './post';
3
3
  export * from './post-thread';
4
4
  export * from './reaction';
5
5
  export * from './account-token-store';
6
+ export * from './ai-fragment';
@@ -0,0 +1,15 @@
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
+ }
@@ -0,0 +1,69 @@
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
@@ -0,0 +1 @@
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,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,uBAAoB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC9C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;AACrB,MAAA,SAAU,EAAA;KACb,CAAA;IAED,IAAK,CAAA,KAAS,GAAA,mBAAW,CAAA,EAAA,CAAA;;QAExB,QAAA,CAAA,EAAA,EAAA;IAED,OAAqB,MAAA,IAAA,CAAA,KAAkB,CAAA,QAAA,CAAA,EAAA,CAAA;;QAEtC,eAAA,CAAA,SAAA,EAAA;IAED,OAAuB,MAAA,IAAA,CAAA,KAAA,CACnB,OAAe,CAAA;AAKf,MAAA;KACH,CAAA;AAED;QACI,iBAAiB,CAAC,OAAsB,EAAA,KAAA,EAAA,KAAA,KAAY,EAAA,IAAA,GAAA,CAAE,EAAE;IAC5D,OAAC,MAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA;MAEI,OAAkB;AACnB,MAAA;WACO,CAAA;MACV,SAAA,EAAA;AAED,KAAA,CAAA,CAAA,KAAM,CAAA,KAAA,CAAA,CAAA,IAAA,CAAA,IAAiB,CAAA;;QAEtB,WAAA,CAAA,SAAA,EAAA,KAAA,EAAA;AAED,IAAA,OAAoB,MAAA,IAAA,CAAA,sBAEhB,CAAA;;;;;AASK,MAAA,GAAA,EACD;KAEP,CAAA;;QAQG,iBAAiB,CAAC;gBAGL,GAAA,MAAA,IAAA,CAAA,KAAA,CAAA,gBAAA,CAAA;;;YAGL,CAAU,MAAA;AACb;QAGR,gBAAA,CAAA,UAAA,EAAA,aAAA,EAAA;IACJ,OAAA,MAAA,IAAA,CAAA,KAAA,CAAA,iBAAA,CAAA,UAAA,EAAA;AA9EY,MAAoB,UAAA,EAAA;AADhC,KAAA,EAAA;AAGQ,MAAA,GAAA,EAAA;AAEA,KAAA,CAAA;AAEA;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 +1,4 @@
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 {ChannelModelFunc}from'../models/channel.js';import'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';let ChannelRepository = class ChannelRepository extends BaseMongoRepository {
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 {ChannelModelFunc}from'../models/channel.js';import'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';import'../models/ai-fragment.js';let ChannelRepository = class ChannelRepository extends BaseMongoRepository {
2
2
  constructor(db, logger, options) {
3
3
  super(ChannelModelFunc, db, logger, options);
4
4
  this.logger = logger.child({
@@ -1 +1 @@
1
- {"version":3,"file":"channel-repository.js","sources":["../../../src/store/repositories/channel-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"sXASO,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,mBAAkC,CAAA;AACrE,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,oBAAiB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC3C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,iBAAM,GAAA,UAAoB,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,iBAAA,CAAA"}
1
+ {"version":3,"file":"channel-repository.js","sources":["../../../src/store/repositories/channel-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"uZASO,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,mBAAkC,CAAA;AACrE,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,oBAAiB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC3C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,iBAAM,GAAA,UAAoB,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,iBAAA,CAAA"}
@@ -2,3 +2,4 @@ export * from './channel-repository';
2
2
  export * from './post-repository';
3
3
  export * from './post-thread-repository';
4
4
  export * from './reaction-repository';
5
+ export * from './ai-fragment-repository';
@@ -1,4 +1,4 @@
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 {PostModelFunc}from'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';let PostRepository = class PostRepository extends BaseMongoRepository {
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 {PostModelFunc}from'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';import'../models/ai-fragment.js';let PostRepository = class PostRepository extends BaseMongoRepository {
2
2
  constructor(db, logger, options) {
3
3
  super(PostModelFunc, db, logger, options);
4
4
  this.logger = logger.child({
@@ -1 +1 @@
1
- {"version":3,"file":"post-repository.js","sources":["../../../src/store/repositories/post-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"mXASO,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,mBAA+B,CAAA;AAC/D,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,iBAAc,EAAE,MAAU,EAAA,OAAS,CAAA;AACxC,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,cAAA,GAAM,UAAoB,CAAA,CAAA,UAAA,EAAA,EAAC,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,cAAA,CAAA"}
1
+ {"version":3,"file":"post-repository.js","sources":["../../../src/store/repositories/post-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"oZASO,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,mBAA+B,CAAA;AAC/D,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,iBAAc,EAAE,MAAU,EAAA,OAAS,CAAA;AACxC,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,cAAA,GAAM,UAAoB,CAAA,CAAA,UAAA,EAAA,EAAC,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,cAAA,CAAA"}
@@ -1,4 +1,4 @@
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 {PostThreadModelFunc}from'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';let PostThreadRepository = class PostThreadRepository extends BaseMongoRepository {
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 {PostThreadModelFunc}from'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';import'../models/ai-fragment.js';let PostThreadRepository = class PostThreadRepository extends BaseMongoRepository {
2
2
  constructor(db, logger, options) {
3
3
  super(PostThreadModelFunc, db, logger, options);
4
4
  this.logger = logger.child({
@@ -1 +1 @@
1
- {"version":3,"file":"post-thread-repository.js","sources":["../../../src/store/repositories/post-thread-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"yXASO,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mBAAqC,CAAA;AAC3E,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,uBAAoB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC9C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,oBAAM,GAAoB,UAAA,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,oBAAA,CAAA"}
1
+ {"version":3,"file":"post-thread-repository.js","sources":["../../../src/store/repositories/post-thread-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"0ZASO,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mBAAqC,CAAA;AAC3E,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,uBAAoB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC9C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,oBAAM,GAAoB,UAAA,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,oBAAA,CAAA"}
@@ -1,4 +1,4 @@
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 {ReactionModelFunc}from'../models/reaction.js';import'../models/account-token-store.js';let ReactionRepository = class ReactionRepository extends BaseMongoRepository {
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 {ReactionModelFunc}from'../models/reaction.js';import'../models/account-token-store.js';import'../models/ai-fragment.js';let ReactionRepository = class ReactionRepository extends BaseMongoRepository {
2
2
  constructor(db, logger, options) {
3
3
  super(ReactionModelFunc, db, logger, options);
4
4
  this.logger = logger.child({
@@ -1 +1 @@
1
- {"version":3,"file":"reaction-repository.js","sources":["../../../src/store/repositories/reaction-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"uXASO,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,mBAAmC,CAAA;AACvE,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,qBAAkB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC5C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,kBAAM,GAAA,UAAoB,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,kBAAA,CAAA"}
1
+ {"version":3,"file":"reaction-repository.js","sources":["../../../src/store/repositories/reaction-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"wZASO,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,mBAAmC,CAAA;AACvE,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,qBAAkB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC5C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,kBAAM,GAAA,UAAoB,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,kBAAA,CAAA"}
@@ -4,11 +4,14 @@ export const SERVER_TYPES = {
4
4
  PostRepository: Symbol('PostRepository'),
5
5
  PostThreadRepository: Symbol('PostThreadRepository'),
6
6
  ReactionRepository: Symbol('ReactionRepository'),
7
-
7
+ AiFragmentRepository: Symbol('AiFragmentRepository'),
8
8
  ChannelService: Symbol('ChannelService'),
9
9
  PostService: Symbol('PostService'),
10
10
  PostThreadService: Symbol('PostThreadService'),
11
11
  ReactionService: Symbol('ReactionService'),
12
12
  MessengerNotificationService: Symbol('MessengerNotificationService'),
13
13
  ExtendedTokenAccountService: Symbol('ExtendedTokenAccountService'),
14
+ InngestHandler: Symbol.for('InngestHandler'),
15
+ SandboxErrorService: Symbol.for('SandboxErrorService'),
16
+ AiFragmentService: Symbol.for('AiFragmentService'),
14
17
  }
@@ -0,0 +1,4 @@
1
+ import { IBaseMongoRepository,IAiFragmentModel } from 'common/server';
2
+
3
+
4
+ export type IAiFragmentRepository = IBaseMongoRepository<IAiFragmentModel>;
@@ -0,0 +1,123 @@
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
+ }
@@ -22,7 +22,7 @@
22
22
  */
23
23
 
24
24
 
25
- import { IChannelModel, RoomType, IChannelUnread, IPost, IUserAccount, Maybe, Scalars, Disposable, AsDomainType,IBaseService } from 'common/server';
25
+ import { IChannelModel, RoomType, IChannelUnread, IPost, IUserAccount, Maybe, Scalars, Disposable, AsDomainType,IBaseService, IChannelInput } from 'common/server';
26
26
 
27
27
  export interface INotificationProps {
28
28
  desktopNotifyProp: boolean;
@@ -53,6 +53,7 @@ export interface ISaveChannelParams extends Omit<IChannelModel, 'creator' | 'id'
53
53
  team: string;
54
54
  orgName: string;
55
55
  organization: any;
56
+ projectId?: any;
56
57
  }
57
58
 
58
59
  export interface IAddMemberParams extends Omit<IChannelModel, 'channelId' | 'memberId'> {
@@ -378,6 +379,15 @@ export interface IChannelService extends IBaseService<IChannelModel>, Disposable
378
379
  */
379
380
  viewChannel(id: string, user: string): Promise<boolean>;
380
381
 
382
+ /**
383
+ * Creates a channel with a project ID
384
+ *
385
+ * @param {string} projectId - The ID of the project
386
+ * @param {string} value - The value of the channel
387
+ * @returns {Promise<boolean>} - True if successful
388
+ */
389
+ createChannelWithProjectId(projectId: string, channelInput: IChannelInput): Promise<boolean>;
390
+
381
391
  /**
382
392
  * Disposes of resources used by the service
383
393
  */
@@ -32,9 +32,41 @@ import {
32
32
  IUploadedFileInput,
33
33
  Disposable,
34
34
  AsDomainType,
35
- IBaseService
35
+ IBaseService,
36
+ IFileUpdateResponse
36
37
  } from 'common/server';
37
38
 
39
+ /**
40
+ * Code Agent Request Interface
41
+ *
42
+ * @description Input parameters for code agent operations,
43
+ * containing project details and configuration.
44
+ */
45
+ export enum AiAgentMessageRole {
46
+ USER = 'USER',
47
+ ASSISTANT = 'ASSISTANT',
48
+ }
49
+
50
+ export enum AiAgentMessageType {
51
+ RESULT = 'RESULT',
52
+ ERROR = 'ERROR',
53
+ }
54
+
55
+ export interface ICodeAgentRequest {
56
+ /** The input value or prompt for the code agent */
57
+ value: string;
58
+ /** The unique identifier of the project */
59
+ projectId: string;
60
+ /** Optional message identifier */
61
+ messageId?: string;
62
+ /** Owner of the project */
63
+ owner: string;
64
+ /** Organization name */
65
+ orgName: string;
66
+ /** Optional model configuration */
67
+ modelConfig?: any;
68
+ }
69
+
38
70
  /**
39
71
  * Post Service Input Interface
40
72
  *
@@ -199,6 +231,55 @@ export interface IPostService extends IBaseService<IPostModel, IPostServiceInput
199
231
  */
200
232
  getLastMessage(channelId: string): Promise<AsDomainType<IPostModel> | Error>;
201
233
 
234
+ /**
235
+ * Retrieves previous messages from a channel
236
+ *
237
+ * @description Fetches a specified number of recent messages from a channel,
238
+ * formatted for display with associated file attachments. Returns messages
239
+ * in reverse chronological order (newest to oldest).
240
+ *
241
+ * @param {string} channelId - The unique identifier of the channel
242
+ * @param {number} limit - Maximum number of messages to retrieve (default: 5)
243
+ * @returns {Promise<Array<IPostModel> | Error>} - Array of formatted messages or error
244
+ */
245
+ getPreviousMessagesByProjectId(projectId: string, limit?: number): Promise<Array<IPostModel> | Error>;
246
+
247
+ /**
248
+ * Saves code agent result with comprehensive data
249
+ *
250
+ * @description Saves the result from a code agent operation including message creation,
251
+ * fragment generation, and project update publishing. Handles both success and error cases
252
+ * with proper message creation and fragment management.
253
+ *
254
+ * @param {ICodeAgentRequest} request - The code agent request containing project details
255
+ * @param {string} sandboxUrl - URL of the generated sandbox
256
+ * @param {string} fragmentTitle - Title for the generated fragment
257
+ * @param {string} responseContent - Content of the AI response
258
+ * @param {{ [path: string]: string }} files - Generated files with their paths and content
259
+ * @param {string} summary - Summary of the generated content
260
+ * @param {boolean} isError - Whether the operation resulted in an error
261
+ * @param {any[]} canvasLayers - Optional canvas layers for visual components
262
+ * @returns {Promise<any>} - Created message document or error
263
+ */
264
+ saveCodeAgentResult(
265
+ request: ICodeAgentRequest,
266
+ sandboxUrl: string,
267
+ fragmentTitle: string,
268
+ responseContent: string,
269
+ files: { [path: string]: string },
270
+ summary: string,
271
+ isError: boolean,
272
+ canvasLayers?: any[],
273
+ ): Promise<any>;
274
+
275
+
276
+ updateSandboxFile(
277
+ projectId: string,
278
+ messageId: string,
279
+ filePath: string,
280
+ content: string,
281
+ ): Promise<IFileUpdateResponse>;
282
+
202
283
  /**
203
284
  * Disposes of resources used by the service
204
285
  */