@bpinhosilva/agent-orchestrator 1.0.0-alpha.11 → 1.0.0-alpha.12

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 (95) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/agents/entities/agent.entity.js +0 -8
  3. package/dist/agents/implementations/gemini.agent.js +12 -0
  4. package/dist/app.module.js +6 -0
  5. package/dist/common/common.module.js +21 -0
  6. package/dist/common/storage.service.js +78 -0
  7. package/dist/projects/dto/create-project.dto.js +2 -2
  8. package/dist/projects/dto/update-project.dto.js +15 -0
  9. package/dist/projects/entities/project.entity.js +3 -7
  10. package/dist/projects/projects.module.js +1 -0
  11. package/dist/projects/projects.service.js +8 -5
  12. package/dist/src/agents/entities/agent.entity.d.ts +0 -2
  13. package/dist/src/agents/entities/agent.entity.js +1 -10
  14. package/dist/src/agents/entities/agent.entity.js.map +1 -1
  15. package/dist/src/agents/implementations/gemini.agent.d.ts +3 -0
  16. package/dist/src/agents/implementations/gemini.agent.js +12 -0
  17. package/dist/src/agents/implementations/gemini.agent.js.map +1 -1
  18. package/dist/src/agents/interfaces/agent.interface.d.ts +1 -0
  19. package/dist/src/app.module.js +6 -0
  20. package/dist/src/app.module.js.map +1 -1
  21. package/dist/src/common/common.module.d.ts +2 -0
  22. package/dist/src/common/common.module.js +22 -0
  23. package/dist/src/common/common.module.js.map +1 -0
  24. package/dist/src/common/entities/artifact.entity.d.ts +7 -0
  25. package/dist/src/common/entities/artifact.entity.js +49 -0
  26. package/dist/src/common/entities/artifact.entity.js.map +1 -0
  27. package/dist/src/common/storage.service.d.ts +8 -0
  28. package/dist/src/common/storage.service.js +78 -0
  29. package/dist/src/common/storage.service.js.map +1 -0
  30. package/dist/src/projects/dto/create-project.dto.d.ts +1 -1
  31. package/dist/src/projects/dto/create-project.dto.js +5 -5
  32. package/dist/src/projects/dto/create-project.dto.js.map +1 -1
  33. package/dist/src/projects/dto/update-project.dto.d.ts +1 -0
  34. package/dist/src/projects/dto/update-project.dto.js +17 -1
  35. package/dist/src/projects/dto/update-project.dto.js.map +1 -1
  36. package/dist/src/projects/entities/project.entity.d.ts +1 -2
  37. package/dist/src/projects/entities/project.entity.js +6 -11
  38. package/dist/src/projects/entities/project.entity.js.map +1 -1
  39. package/dist/src/projects/projects.module.js +1 -0
  40. package/dist/src/projects/projects.module.js.map +1 -1
  41. package/dist/src/projects/projects.service.js +8 -5
  42. package/dist/src/projects/projects.service.js.map +1 -1
  43. package/dist/src/tasks/comments.controller.d.ts +12 -0
  44. package/dist/src/tasks/comments.controller.js +92 -0
  45. package/dist/src/tasks/comments.controller.js.map +1 -0
  46. package/dist/src/tasks/comments.service.d.ts +19 -0
  47. package/dist/src/tasks/comments.service.js +166 -0
  48. package/dist/src/tasks/comments.service.js.map +1 -0
  49. package/dist/src/tasks/dto/create-comment.dto.d.ts +13 -0
  50. package/dist/src/tasks/dto/create-comment.dto.js +51 -0
  51. package/dist/src/tasks/dto/create-comment.dto.js.map +1 -0
  52. package/dist/src/tasks/dto/create-task.dto.d.ts +1 -1
  53. package/dist/src/tasks/dto/create-task.dto.js +6 -3
  54. package/dist/src/tasks/dto/create-task.dto.js.map +1 -1
  55. package/dist/src/tasks/dto/update-comment.dto.d.ts +9 -0
  56. package/dist/src/tasks/dto/update-comment.dto.js +32 -0
  57. package/dist/src/tasks/dto/update-comment.dto.js.map +1 -0
  58. package/dist/src/tasks/entities/comment.entity.d.ts +23 -0
  59. package/dist/src/tasks/entities/comment.entity.js +91 -0
  60. package/dist/src/tasks/entities/comment.entity.js.map +1 -0
  61. package/dist/src/tasks/entities/task.entity.d.ts +4 -0
  62. package/dist/src/tasks/entities/task.entity.js +17 -1
  63. package/dist/src/tasks/entities/task.entity.js.map +1 -1
  64. package/dist/src/tasks/task-scheduler.service.d.ts +19 -0
  65. package/dist/src/tasks/task-scheduler.service.js +195 -0
  66. package/dist/src/tasks/task-scheduler.service.js.map +1 -0
  67. package/dist/src/tasks/tasks.controller.d.ts +5 -5
  68. package/dist/src/tasks/tasks.controller.js +26 -21
  69. package/dist/src/tasks/tasks.controller.js.map +1 -1
  70. package/dist/src/tasks/tasks.module.js +15 -3
  71. package/dist/src/tasks/tasks.module.js.map +1 -1
  72. package/dist/src/tasks/tasks.service.d.ts +4 -4
  73. package/dist/src/tasks/tasks.service.js +18 -12
  74. package/dist/src/tasks/tasks.service.js.map +1 -1
  75. package/dist/src/uploads/uploads.controller.d.ts +7 -0
  76. package/dist/src/uploads/uploads.controller.js +81 -0
  77. package/dist/src/uploads/uploads.controller.js.map +1 -0
  78. package/dist/src/uploads/uploads.module.d.ts +2 -0
  79. package/dist/src/uploads/uploads.module.js +20 -0
  80. package/dist/src/uploads/uploads.module.js.map +1 -0
  81. package/dist/tasks/comments.controller.js +84 -0
  82. package/dist/tasks/comments.service.js +161 -0
  83. package/dist/tasks/dto/create-comment.dto.js +41 -0
  84. package/dist/tasks/dto/create-task.dto.js +4 -1
  85. package/dist/tasks/dto/update-comment.dto.js +25 -0
  86. package/dist/tasks/entities/comment.entity.js +77 -0
  87. package/dist/tasks/entities/task.entity.js +13 -0
  88. package/dist/tasks/task-scheduler.service.js +207 -0
  89. package/dist/tasks/tasks.controller.js +26 -21
  90. package/dist/tasks/tasks.module.js +15 -3
  91. package/dist/tasks/tasks.service.js +18 -12
  92. package/dist/tsconfig.build.tsbuildinfo +1 -1
  93. package/dist/uploads/uploads.controller.js +77 -0
  94. package/dist/uploads/uploads.module.js +19 -0
  95. package/package.json +5 -4
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ # [1.0.0-alpha.12](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2026-03-24)
2
+
3
+
4
+ ### Features
5
+
6
+ * add .npmrc to enable legacy peer dependencies ([2f41a07](https://github.com/bpinhosilva/agent-orchestrator/commit/2f41a0747e3cc862241f90c24405c6ad0976557b))
7
+ * implement comprehensive project management, task comments with attachments ([10eb382](https://github.com/bpinhosilva/agent-orchestrator/commit/10eb38268d50ff9418a3e7af1788d55c759522a9))
8
+ * implement task detail view with comment polling, numeric priorities, and enhanced task card ([7a38155](https://github.com/bpinhosilva/agent-orchestrator/commit/7a38155ac796dbe528d48a340a0e6be7fa0150a3))
9
+ * introduce a task scheduler service for automated agent task assignment and execution ([d756f10](https://github.com/bpinhosilva/agent-orchestrator/commit/d756f10c441aadb3b31335a55926700b5518ec9e))
10
+
1
11
  # [1.0.0-alpha.11](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2026-03-24)
2
12
 
3
13
 
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AgentEntity = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const model_entity_1 = require("../../models/entities/model.entity");
15
- const project_entity_1 = require("../../projects/entities/project.entity");
16
15
  let AgentEntity = class AgentEntity {
17
16
  };
18
17
  exports.AgentEntity = AgentEntity;
@@ -52,13 +51,6 @@ __decorate([
52
51
  }),
53
52
  __metadata("design:type", model_entity_1.Model)
54
53
  ], AgentEntity.prototype, "model", void 0);
55
- __decorate([
56
- (0, typeorm_1.ManyToOne)(() => project_entity_1.Project, (project) => project.agents, {
57
- nullable: true,
58
- onDelete: 'SET NULL',
59
- }),
60
- __metadata("design:type", project_entity_1.Project)
61
- ], AgentEntity.prototype, "project", void 0);
62
54
  __decorate([
63
55
  (0, typeorm_1.CreateDateColumn)(),
64
56
  __metadata("design:type", Date)
@@ -157,6 +157,18 @@ let GeminiAgent = GeminiAgent_1 = class GeminiAgent {
157
157
  const hasExcludedSuffix = excludedSuffixes.some((s) => modelName.includes(s));
158
158
  return hasSupportedPrefix && !hasExcludedSuffix;
159
159
  }
160
+ async performTask(task, project) {
161
+ this.logger.debug(`Performing task: ${task.title} for project: ${project.title}`);
162
+ const prompt = `
163
+ Task: ${task.title}
164
+ Description: ${task.description}
165
+ Project: ${project.title}
166
+ Project Description: ${project.description}
167
+
168
+ Please perform the task and provide the output.
169
+ `;
170
+ return this.processText(prompt);
171
+ }
160
172
  };
161
173
  exports.GeminiAgent = GeminiAgent;
162
174
  exports.GeminiAgent = GeminiAgent = GeminiAgent_1 = __decorate([
@@ -19,12 +19,16 @@ const models_module_1 = require("./models/models.module");
19
19
  const tasks_module_1 = require("./tasks/tasks.module");
20
20
  const projects_module_1 = require("./projects/projects.module");
21
21
  const users_module_1 = require("./users/users.module");
22
+ const common_module_1 = require("./common/common.module");
23
+ const uploads_module_1 = require("./uploads/uploads.module");
24
+ const schedule_1 = require("@nestjs/schedule");
22
25
  let AppModule = class AppModule {
23
26
  };
24
27
  exports.AppModule = AppModule;
25
28
  exports.AppModule = AppModule = __decorate([
26
29
  (0, common_1.Module)({
27
30
  imports: [
31
+ schedule_1.ScheduleModule.forRoot(),
28
32
  typeorm_1.TypeOrmModule.forRoot({
29
33
  type: process.env.DATABASE_URL ? 'postgres' : 'sqlite',
30
34
  database: process.env.DATABASE_URL
@@ -37,6 +41,8 @@ exports.AppModule = AppModule = __decorate([
37
41
  serve_static_1.ServeStaticModule.forRoot({
38
42
  rootPath: (0, path_1.join)(__dirname, '..', '..', 'ui', 'dist'),
39
43
  }),
44
+ common_module_1.CommonModule,
45
+ uploads_module_1.UploadsModule,
40
46
  agents_module_1.AgentsModule,
41
47
  providers_module_1.ProvidersModule,
42
48
  models_module_1.ModelsModule,
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CommonModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const storage_service_1 = require("./storage.service");
12
+ let CommonModule = class CommonModule {
13
+ };
14
+ exports.CommonModule = CommonModule;
15
+ exports.CommonModule = CommonModule = __decorate([
16
+ (0, common_1.Global)(),
17
+ (0, common_1.Module)({
18
+ providers: [storage_service_1.StorageService],
19
+ exports: [storage_service_1.StorageService],
20
+ })
21
+ ], CommonModule);
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var StorageService_1;
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.StorageService = void 0;
47
+ const common_1 = require("@nestjs/common");
48
+ const os = __importStar(require("os"));
49
+ const path = __importStar(require("path"));
50
+ const fs = __importStar(require("fs"));
51
+ let StorageService = StorageService_1 = class StorageService {
52
+ constructor() {
53
+ this.logger = new common_1.Logger(StorageService_1.name);
54
+ this.baseDir = path.join(os.homedir(), '.agent-orchestrator');
55
+ this.ensureDir(this.baseDir);
56
+ this.ensureDir(path.join(this.baseDir, 'artifacts'));
57
+ }
58
+ ensureDir(dir) {
59
+ if (!fs.existsSync(dir)) {
60
+ fs.mkdirSync(dir, { recursive: true });
61
+ this.logger.log(`Created directory: ${dir}`);
62
+ }
63
+ }
64
+ getArtifactsPath() {
65
+ return path.join(this.baseDir, 'artifacts');
66
+ }
67
+ getFullPath(relativePath) {
68
+ // relativePath is like /uploads/artifacts/<uuid>.extension
69
+ // We only care about the filename part if the prefix is fixed
70
+ const filename = path.basename(relativePath);
71
+ return path.join(this.getArtifactsPath(), filename);
72
+ }
73
+ };
74
+ exports.StorageService = StorageService;
75
+ exports.StorageService = StorageService = StorageService_1 = __decorate([
76
+ (0, common_1.Injectable)(),
77
+ __metadata("design:paramtypes", [])
78
+ ], StorageService);
@@ -32,6 +32,6 @@ __decorate([
32
32
  ], CreateProjectDto.prototype, "status", void 0);
33
33
  __decorate([
34
34
  (0, class_validator_1.IsUUID)(),
35
- (0, class_validator_1.IsNotEmpty)(),
35
+ (0, class_validator_1.IsOptional)(),
36
36
  __metadata("design:type", String)
37
- ], CreateProjectDto.prototype, "defaultAgentId", void 0);
37
+ ], CreateProjectDto.prototype, "ownerAgentId", void 0);
@@ -1,8 +1,23 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.UpdateProjectDto = void 0;
4
13
  const swagger_1 = require("@nestjs/swagger");
5
14
  const create_project_dto_1 = require("./create-project.dto");
15
+ const class_validator_1 = require("class-validator");
6
16
  class UpdateProjectDto extends (0, swagger_1.PartialType)(create_project_dto_1.CreateProjectDto) {
7
17
  }
8
18
  exports.UpdateProjectDto = UpdateProjectDto;
19
+ __decorate([
20
+ (0, class_validator_1.IsUUID)(),
21
+ (0, class_validator_1.IsOptional)(),
22
+ __metadata("design:type", String)
23
+ ], UpdateProjectDto.prototype, "ownerAgentId", void 0);
@@ -43,18 +43,14 @@ __decorate([
43
43
  }),
44
44
  __metadata("design:type", String)
45
45
  ], Project.prototype, "status", void 0);
46
- __decorate([
47
- (0, typeorm_1.OneToMany)(() => agent_entity_1.AgentEntity, (agent) => agent.project),
48
- __metadata("design:type", Array)
49
- ], Project.prototype, "agents", void 0);
50
46
  __decorate([
51
47
  (0, typeorm_1.ManyToOne)(() => agent_entity_1.AgentEntity, {
52
- nullable: false,
48
+ nullable: true,
53
49
  eager: true,
54
- onDelete: 'RESTRICT',
50
+ onDelete: 'SET NULL',
55
51
  }),
56
52
  __metadata("design:type", agent_entity_1.AgentEntity)
57
- ], Project.prototype, "defaultAgent", void 0);
53
+ ], Project.prototype, "ownerAgent", void 0);
58
54
  __decorate([
59
55
  (0, typeorm_1.CreateDateColumn)(),
60
56
  __metadata("design:type", Date)
@@ -21,5 +21,6 @@ exports.ProjectsModule = ProjectsModule = __decorate([
21
21
  imports: [typeorm_1.TypeOrmModule.forFeature([project_entity_1.Project, agent_entity_1.AgentEntity])],
22
22
  controllers: [projects_controller_1.ProjectsController],
23
23
  providers: [projects_service_1.ProjectsService],
24
+ exports: [projects_service_1.ProjectsService],
24
25
  })
25
26
  ], ProjectsModule);
@@ -26,7 +26,9 @@ let ProjectsService = class ProjectsService {
26
26
  title: createProjectDto.title,
27
27
  description: createProjectDto.description,
28
28
  status: createProjectDto.status ?? project_entity_1.ProjectStatus.PLANNING,
29
- defaultAgent: { id: createProjectDto.defaultAgentId },
29
+ ownerAgent: createProjectDto.ownerAgentId
30
+ ? { id: createProjectDto.ownerAgentId }
31
+ : null,
30
32
  });
31
33
  return this.projectsRepository.save(project);
32
34
  }
@@ -48,10 +50,11 @@ let ProjectsService = class ProjectsService {
48
50
  project.description = updateProjectDto.description;
49
51
  if (updateProjectDto.status !== undefined)
50
52
  project.status = updateProjectDto.status;
51
- if (updateProjectDto.defaultAgentId !== undefined)
52
- project.defaultAgent = {
53
- id: updateProjectDto.defaultAgentId,
54
- };
53
+ if (updateProjectDto.ownerAgentId !== undefined) {
54
+ project.ownerAgent = updateProjectDto.ownerAgentId
55
+ ? { id: updateProjectDto.ownerAgentId }
56
+ : null;
57
+ }
55
58
  return this.projectsRepository.save(project);
56
59
  }
57
60
  async remove(id) {
@@ -1,5 +1,4 @@
1
1
  import { Model } from '../../models/entities/model.entity';
2
- import { Project } from '../../projects/entities/project.entity';
3
2
  export declare class AgentEntity {
4
3
  id: string;
5
4
  name: string;
@@ -9,7 +8,6 @@ export declare class AgentEntity {
9
8
  status: string | null;
10
9
  provider: string | null;
11
10
  model: Model | null;
12
- project: Project | null;
13
11
  createdAt: Date;
14
12
  updatedAt: Date;
15
13
  }
@@ -13,7 +13,6 @@ exports.AgentEntity = void 0;
13
13
  const openapi = require("@nestjs/swagger");
14
14
  const typeorm_1 = require("typeorm");
15
15
  const model_entity_1 = require("../../models/entities/model.entity");
16
- const project_entity_1 = require("../../projects/entities/project.entity");
17
16
  let AgentEntity = class AgentEntity {
18
17
  id;
19
18
  name;
@@ -23,11 +22,10 @@ let AgentEntity = class AgentEntity {
23
22
  status;
24
23
  provider;
25
24
  model;
26
- project;
27
25
  createdAt;
28
26
  updatedAt;
29
27
  static _OPENAPI_METADATA_FACTORY() {
30
- return { id: { required: true, type: () => String }, name: { required: true, type: () => String }, description: { required: true, type: () => String }, systemInstructions: { required: true, type: () => String }, role: { required: true, type: () => String, nullable: true }, status: { required: true, type: () => String, nullable: true }, provider: { required: true, type: () => String, nullable: true }, model: { required: true, type: () => require("../../models/entities/model.entity").Model, nullable: true }, project: { required: true, type: () => require("../../projects/entities/project.entity").Project, nullable: true }, createdAt: { required: true, type: () => Date }, updatedAt: { required: true, type: () => Date } };
28
+ return { id: { required: true, type: () => String }, name: { required: true, type: () => String }, description: { required: true, type: () => String }, systemInstructions: { required: true, type: () => String }, role: { required: true, type: () => String, nullable: true }, status: { required: true, type: () => String, nullable: true }, provider: { required: true, type: () => String, nullable: true }, model: { required: true, type: () => require("../../models/entities/model.entity").Model, nullable: true }, createdAt: { required: true, type: () => Date }, updatedAt: { required: true, type: () => Date } };
31
29
  }
32
30
  };
33
31
  exports.AgentEntity = AgentEntity;
@@ -67,13 +65,6 @@ __decorate([
67
65
  }),
68
66
  __metadata("design:type", Object)
69
67
  ], AgentEntity.prototype, "model", void 0);
70
- __decorate([
71
- (0, typeorm_1.ManyToOne)(() => project_entity_1.Project, (project) => project.agents, {
72
- nullable: true,
73
- onDelete: 'SET NULL',
74
- }),
75
- __metadata("design:type", Object)
76
- ], AgentEntity.prototype, "project", void 0);
77
68
  __decorate([
78
69
  (0, typeorm_1.CreateDateColumn)(),
79
70
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"agent.entity.js","sourceRoot":"","sources":["../../../../src/agents/entities/agent.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAOiB;AACjB,qEAA2D;AAC3D,2EAAiE;AAG1D,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEtB,EAAE,CAAS;IAGX,IAAI,CAAS;IAGb,WAAW,CAAS;IAGpB,kBAAkB,CAAS;IAG3B,IAAI,CAAgB;IAGpB,MAAM,CAAgB;IAGtB,QAAQ,CAAgB;IAOxB,KAAK,CAAe;IAMpB,OAAO,CAAiB;IAGxB,SAAS,CAAO;IAGhB,SAAS,CAAO;;;;CACjB,CAAA;AAxCY,kCAAW;AAEtB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;uCACpB;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;yCACZ;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACf;AAGpB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACR;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACrB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACnB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACjB;AAOxB;IALC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE;QAC/C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,UAAU;KACrB,CAAC;;0CACkB;AAMpB;IAJC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;QACrD,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,UAAU;KACrB,CAAC;;4CACsB;AAGxB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;8CAAC;AAGhB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;8CAAC;sBAvCL,WAAW;IADvB,IAAA,gBAAM,EAAC,QAAQ,CAAC;GACJ,WAAW,CAwCvB"}
1
+ {"version":3,"file":"agent.entity.js","sourceRoot":"","sources":["../../../../src/agents/entities/agent.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAOiB;AACjB,qEAA2D;AAGpD,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEtB,EAAE,CAAS;IAGX,IAAI,CAAS;IAGb,WAAW,CAAS;IAGpB,kBAAkB,CAAS;IAG3B,IAAI,CAAgB;IAGpB,MAAM,CAAgB;IAGtB,QAAQ,CAAgB;IAOxB,KAAK,CAAe;IAGpB,SAAS,CAAO;IAGhB,SAAS,CAAO;;;;CACjB,CAAA;AAlCY,kCAAW;AAEtB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;uCACpB;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;yCACZ;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACf;AAGpB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACR;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACrB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACnB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACjB;AAOxB;IALC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE;QAC/C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,UAAU;KACrB,CAAC;;0CACkB;AAGpB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;8CAAC;AAGhB;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;8CAAC;sBAjCL,WAAW;IADvB,IAAA,gBAAM,EAAC,QAAQ,CAAC;GACJ,WAAW,CAkCvB"}
@@ -1,4 +1,6 @@
1
1
  import { Agent, AgentResponse } from '../interfaces/agent.interface';
2
+ import { Task } from '../../tasks/entities/task.entity';
3
+ import { Project } from '../../projects/entities/project.entity';
2
4
  export declare class GeminiAgent implements Agent {
3
5
  private readonly logger;
4
6
  private genAI;
@@ -21,4 +23,5 @@ export declare class GeminiAgent implements Agent {
21
23
  isFeatureSupported(feature: string): boolean;
22
24
  private getTools;
23
25
  private isGroundingSupported;
26
+ performTask(task: Task, project: Project): Promise<AgentResponse>;
24
27
  }
@@ -162,6 +162,18 @@ let GeminiAgent = GeminiAgent_1 = class GeminiAgent {
162
162
  const hasExcludedSuffix = excludedSuffixes.some((s) => modelName.includes(s));
163
163
  return hasSupportedPrefix && !hasExcludedSuffix;
164
164
  }
165
+ async performTask(task, project) {
166
+ this.logger.debug(`Performing task: ${task.title} for project: ${project.title}`);
167
+ const prompt = `
168
+ Task: ${task.title}
169
+ Description: ${task.description}
170
+ Project: ${project.title}
171
+ Project Description: ${project.description}
172
+
173
+ Please perform the task and provide the output.
174
+ `;
175
+ return this.processText(prompt);
176
+ }
165
177
  };
166
178
  exports.GeminiAgent = GeminiAgent;
167
179
  exports.GeminiAgent = GeminiAgent = GeminiAgent_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.agent.js","sourceRoot":"","sources":["../../../../src/agents/implementations/gemini.agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.agent.js","sourceRoot":"","sources":["../../../../src/agents/implementations/gemini.agent.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ export interface Agent {
12
12
  getModel?(): string;
13
13
  updateConfig?(config: Record<string, any>): void;
14
14
  processText(input: string): Promise<AgentResponse>;
15
+ performTask?(task: any, project: any): Promise<AgentResponse>;
15
16
  }
@@ -19,12 +19,16 @@ const models_module_1 = require("./models/models.module");
19
19
  const tasks_module_1 = require("./tasks/tasks.module");
20
20
  const projects_module_1 = require("./projects/projects.module");
21
21
  const users_module_1 = require("./users/users.module");
22
+ const common_module_1 = require("./common/common.module");
23
+ const uploads_module_1 = require("./uploads/uploads.module");
24
+ const schedule_1 = require("@nestjs/schedule");
22
25
  let AppModule = class AppModule {
23
26
  };
24
27
  exports.AppModule = AppModule;
25
28
  exports.AppModule = AppModule = __decorate([
26
29
  (0, common_1.Module)({
27
30
  imports: [
31
+ schedule_1.ScheduleModule.forRoot(),
28
32
  typeorm_1.TypeOrmModule.forRoot({
29
33
  type: process.env.DATABASE_URL ? 'postgres' : 'sqlite',
30
34
  database: process.env.DATABASE_URL
@@ -37,6 +41,8 @@ exports.AppModule = AppModule = __decorate([
37
41
  serve_static_1.ServeStaticModule.forRoot({
38
42
  rootPath: (0, path_1.join)(__dirname, '..', '..', 'ui', 'dist'),
39
43
  }),
44
+ common_module_1.CommonModule,
45
+ uploads_module_1.UploadsModule,
40
46
  agents_module_1.AgentsModule,
41
47
  providers_module_1.ProvidersModule,
42
48
  models_module_1.ModelsModule,
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAyD;AACzD,6CAAgD;AAChD,+BAA4B;AAC5B,0DAAsD;AACtD,qDAAiD;AACjD,+CAA2C;AAC3C,mEAA+D;AAC/D,0DAAsD;AACtD,uDAAmD;AACnD,gEAA4D;AAC5D,uDAAmD;AA0B5C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAxBrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,OAAO,CAAC;gBACpB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;gBACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;oBAChC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC;gBACvC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;gBAC7B,gBAAgB,EAAE,IAAI;gBACtB,WAAW,EAAE,IAAI;aAClB,CAAC;YACF,gCAAiB,CAAC,OAAO,CAAC;gBACxB,QAAQ,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACpD,CAAC;YACF,4BAAY;YACZ,kCAAe;YACf,4BAAY;YACZ,0BAAW;YACX,gCAAc;YACd,0BAAW;SACZ;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAyD;AACzD,6CAAgD;AAChD,+BAA4B;AAC5B,0DAAsD;AACtD,qDAAiD;AACjD,+CAA2C;AAC3C,mEAA+D;AAC/D,0DAAsD;AACtD,uDAAmD;AACnD,gEAA4D;AAC5D,uDAAmD;AACnD,0DAAsD;AACtD,6DAAyD;AACzD,+CAAkD;AA6B3C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IA3BrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,OAAO,EAAE;YACxB,uBAAa,CAAC,OAAO,CAAC;gBACpB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;gBACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;oBAChC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC;gBACvC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;gBAC7B,gBAAgB,EAAE,IAAI;gBACtB,WAAW,EAAE,IAAI;aAClB,CAAC;YACF,gCAAiB,CAAC,OAAO,CAAC;gBACxB,QAAQ,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACpD,CAAC;YACF,4BAAY;YACZ,8BAAa;YACb,4BAAY;YACZ,kCAAe;YACf,4BAAY;YACZ,0BAAW;YACX,gCAAc;YACd,0BAAW;SACZ;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG"}
@@ -0,0 +1,2 @@
1
+ export declare class CommonModule {
2
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CommonModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const storage_service_1 = require("./storage.service");
12
+ let CommonModule = class CommonModule {
13
+ };
14
+ exports.CommonModule = CommonModule;
15
+ exports.CommonModule = CommonModule = __decorate([
16
+ (0, common_1.Global)(),
17
+ (0, common_1.Module)({
18
+ providers: [storage_service_1.StorageService],
19
+ exports: [storage_service_1.StorageService],
20
+ })
21
+ ], CommonModule);
22
+ //# sourceMappingURL=common.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.module.js","sourceRoot":"","sources":["../../../src/common/common.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,uDAAmD;AAO5C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IALxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,YAAY,CAAG"}
@@ -0,0 +1,7 @@
1
+ export declare class Artifact {
2
+ id: string;
3
+ originalName: string;
4
+ mimeType: string;
5
+ filePath: string;
6
+ metadata?: Record<string, any>;
7
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Artifact = void 0;
13
+ const openapi = require("@nestjs/swagger");
14
+ const typeorm_1 = require("typeorm");
15
+ let Artifact = class Artifact {
16
+ id;
17
+ originalName;
18
+ mimeType;
19
+ filePath;
20
+ metadata;
21
+ static _OPENAPI_METADATA_FACTORY() {
22
+ return { id: { required: true, type: () => String }, originalName: { required: true, type: () => String }, mimeType: { required: true, type: () => String }, filePath: { required: true, type: () => String }, metadata: { required: false, type: () => Object } };
23
+ }
24
+ };
25
+ exports.Artifact = Artifact;
26
+ __decorate([
27
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
28
+ __metadata("design:type", String)
29
+ ], Artifact.prototype, "id", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)(),
32
+ __metadata("design:type", String)
33
+ ], Artifact.prototype, "originalName", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)(),
36
+ __metadata("design:type", String)
37
+ ], Artifact.prototype, "mimeType", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)(),
40
+ __metadata("design:type", String)
41
+ ], Artifact.prototype, "filePath", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: 'simple-json', nullable: true }),
44
+ __metadata("design:type", Object)
45
+ ], Artifact.prototype, "metadata", void 0);
46
+ exports.Artifact = Artifact = __decorate([
47
+ (0, typeorm_1.Entity)('artifacts')
48
+ ], Artifact);
49
+ //# sourceMappingURL=artifact.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact.entity.js","sourceRoot":"","sources":["../../../../src/common/entities/artifact.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAAiE;AAG1D,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAEnB,EAAE,CAAS;IAGX,YAAY,CAAS;IAGrB,QAAQ,CAAS;IAGjB,QAAQ,CAAS;IAGjB,QAAQ,CAAuB;;;;CAChC,CAAA;AAfY,4BAAQ;AAEnB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;oCACpB;AAGX;IADC,IAAA,gBAAM,GAAE;;8CACY;AAGrB;IADC,IAAA,gBAAM,GAAE;;0CACQ;AAGjB;IADC,IAAA,gBAAM,GAAE;;0CACQ;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACjB;mBAdpB,QAAQ;IADpB,IAAA,gBAAM,EAAC,WAAW,CAAC;GACP,QAAQ,CAepB"}
@@ -0,0 +1,8 @@
1
+ export declare class StorageService {
2
+ private readonly logger;
3
+ private readonly baseDir;
4
+ constructor();
5
+ private ensureDir;
6
+ getArtifactsPath(): string;
7
+ getFullPath(relativePath: string): string;
8
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var StorageService_1;
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.StorageService = void 0;
47
+ const common_1 = require("@nestjs/common");
48
+ const os = __importStar(require("os"));
49
+ const path = __importStar(require("path"));
50
+ const fs = __importStar(require("fs"));
51
+ let StorageService = StorageService_1 = class StorageService {
52
+ logger = new common_1.Logger(StorageService_1.name);
53
+ baseDir;
54
+ constructor() {
55
+ this.baseDir = path.join(os.homedir(), '.agent-orchestrator');
56
+ this.ensureDir(this.baseDir);
57
+ this.ensureDir(path.join(this.baseDir, 'artifacts'));
58
+ }
59
+ ensureDir(dir) {
60
+ if (!fs.existsSync(dir)) {
61
+ fs.mkdirSync(dir, { recursive: true });
62
+ this.logger.log(`Created directory: ${dir}`);
63
+ }
64
+ }
65
+ getArtifactsPath() {
66
+ return path.join(this.baseDir, 'artifacts');
67
+ }
68
+ getFullPath(relativePath) {
69
+ const filename = path.basename(relativePath);
70
+ return path.join(this.getArtifactsPath(), filename);
71
+ }
72
+ };
73
+ exports.StorageService = StorageService;
74
+ exports.StorageService = StorageService = StorageService_1 = __decorate([
75
+ (0, common_1.Injectable)(),
76
+ __metadata("design:paramtypes", [])
77
+ ], StorageService);
78
+ //# sourceMappingURL=storage.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../../src/common/storage.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAGlB,IAAM,cAAc,sBAApB,MAAM,cAAc;IACR,MAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,CAAS;IAEjC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,YAAoB;QAG9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AA3BY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;;GACA,cAAc,CA2B1B"}
@@ -3,5 +3,5 @@ export declare class CreateProjectDto {
3
3
  title: string;
4
4
  description?: string;
5
5
  status?: ProjectStatus;
6
- defaultAgentId: string;
6
+ ownerAgentId?: string | null;
7
7
  }