@taico/taico 0.2.17 → 0.3.0

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 (70) hide show
  1. package/dist/agents/agent-template.catalog.js +20 -2
  2. package/dist/agents/agent-template.catalog.js.map +1 -1
  3. package/dist/app-init/agent/code-reviewer.agent.js +1 -1
  4. package/dist/app-init/agent/code-reviewer.agent.js.map +1 -1
  5. package/dist/app-init/agent/codex-dev.agent.js +2 -2
  6. package/dist/app-init/agent/codex-dev.agent.js.map +1 -1
  7. package/dist/authorization-server/dto/account-setup-status-request.dto.d.ts +3 -0
  8. package/dist/authorization-server/dto/account-setup-status-request.dto.js +24 -0
  9. package/dist/authorization-server/dto/account-setup-status-request.dto.js.map +1 -0
  10. package/dist/authorization-server/dto/account-setup-status-response.dto.d.ts +4 -0
  11. package/dist/authorization-server/dto/account-setup-status-response.dto.js +27 -0
  12. package/dist/authorization-server/dto/account-setup-status-response.dto.js.map +1 -0
  13. package/dist/authorization-server/dto/create-managed-user-request.dto.d.ts +5 -0
  14. package/dist/authorization-server/dto/create-managed-user-request.dto.js +31 -0
  15. package/dist/authorization-server/dto/create-managed-user-request.dto.js.map +1 -0
  16. package/dist/authorization-server/dto/managed-user-response.dto.d.ts +13 -0
  17. package/dist/authorization-server/dto/managed-user-response.dto.js +68 -0
  18. package/dist/authorization-server/dto/managed-user-response.dto.js.map +1 -0
  19. package/dist/authorization-server/dto/setup-managed-user-request.dto.d.ts +6 -0
  20. package/dist/authorization-server/dto/setup-managed-user-request.dto.js +45 -0
  21. package/dist/authorization-server/dto/setup-managed-user-request.dto.js.map +1 -0
  22. package/dist/authorization-server/web-auth.controller.d.ts +14 -0
  23. package/dist/authorization-server/web-auth.controller.js +165 -50
  24. package/dist/authorization-server/web-auth.controller.js.map +1 -1
  25. package/dist/authorization-server/web-auth.service.js +3 -2
  26. package/dist/authorization-server/web-auth.service.js.map +1 -1
  27. package/dist/executions/queue/task-execution-queue.service.js +1 -1
  28. package/dist/executions/queue/task-execution-queue.service.js.map +1 -1
  29. package/dist/executions/staleness/stale-active-task-execution-pruner.service.d.ts +3 -1
  30. package/dist/executions/staleness/stale-active-task-execution-pruner.service.js +20 -6
  31. package/dist/executions/staleness/stale-active-task-execution-pruner.service.js.map +1 -1
  32. package/dist/executions/staleness/stale-active-task-execution-pruner.service.spec.d.ts +1 -0
  33. package/dist/executions/staleness/stale-active-task-execution-pruner.service.spec.js +80 -0
  34. package/dist/executions/staleness/stale-active-task-execution-pruner.service.spec.js.map +1 -0
  35. package/dist/identity-provider/dto/service/identity-provider.service.types.d.ts +10 -0
  36. package/dist/identity-provider/identity-provider.service.d.ts +14 -1
  37. package/dist/identity-provider/identity-provider.service.js +119 -0
  38. package/dist/identity-provider/identity-provider.service.js.map +1 -1
  39. package/dist/meta/projects.service.js +5 -1
  40. package/dist/meta/projects.service.js.map +1 -1
  41. package/dist/tasks/dto/service/tasks.service.types.d.ts +1 -0
  42. package/dist/tasks/dto/task-list-response.dto.js +2 -2
  43. package/dist/tasks/dto/task-list-response.dto.js.map +1 -1
  44. package/dist/tasks/tasks.controller.js +1 -1
  45. package/dist/tasks/tasks.controller.js.map +1 -1
  46. package/dist/tasks/tasks.mcp.gateway.js +5 -2
  47. package/dist/tasks/tasks.mcp.gateway.js.map +1 -1
  48. package/dist/tasks/tasks.mcp.gateway.spec.d.ts +1 -0
  49. package/dist/tasks/tasks.mcp.gateway.spec.js +87 -0
  50. package/dist/tasks/tasks.mcp.gateway.spec.js.map +1 -0
  51. package/dist/tasks/tasks.service.create-task-in-thread.spec.js +4 -2
  52. package/dist/tasks/tasks.service.create-task-in-thread.spec.js.map +1 -1
  53. package/dist/tasks/tasks.service.d.ts +1 -0
  54. package/dist/tasks/tasks.service.js +56 -63
  55. package/dist/tasks/tasks.service.js.map +1 -1
  56. package/dist/threads/thread-task-assignment-projector.service.d.ts +7 -0
  57. package/dist/threads/thread-task-assignment-projector.service.js +48 -0
  58. package/dist/threads/thread-task-assignment-projector.service.js.map +1 -0
  59. package/dist/threads/thread-task-assignment-projector.service.spec.d.ts +1 -0
  60. package/dist/threads/thread-task-assignment-projector.service.spec.js +70 -0
  61. package/dist/threads/thread-task-assignment-projector.service.spec.js.map +1 -0
  62. package/dist/threads/threads.module.js +2 -0
  63. package/dist/threads/threads.module.js.map +1 -1
  64. package/dist/threads/threads.service.d.ts +2 -0
  65. package/dist/threads/threads.service.js +57 -3
  66. package/dist/threads/threads.service.js.map +1 -1
  67. package/dist/threads/threads.service.spec.js +135 -0
  68. package/dist/threads/threads.service.spec.js.map +1 -1
  69. package/dist/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +6 -6
@@ -33,6 +33,7 @@ export declare class TasksService {
33
33
  assignTask(taskId: string, input: AssignTaskInput, actorId: string): Promise<TaskResult>;
34
34
  deleteTask(taskId: string, actorId: string): Promise<void>;
35
35
  listTasks(input: ListTasksInput): Promise<ListTasksResult>;
36
+ private createListTasksQuery;
36
37
  getTaskById(taskId: string): Promise<TaskResult>;
37
38
  addComment(taskId: string, input: CreateCommentInput): Promise<CommentResult>;
38
39
  addArtefact(taskId: string, input: CreateArtefactInput, actorId: string): Promise<ArtefactResult>;
@@ -168,7 +168,7 @@ let TasksService = TasksService_1 = class TasksService {
168
168
  parentTaskId,
169
169
  newTaskId: task.id,
170
170
  });
171
- thread = await this.threadsService.findThreadByTaskId(parentTaskId);
171
+ thread = await this.threadsService.findThreadByParentTaskId(parentTaskId);
172
172
  if (!thread) {
173
173
  throw error;
174
174
  }
@@ -366,57 +366,58 @@ let TasksService = TasksService_1 = class TasksService {
366
366
  limit: input.limit,
367
367
  });
368
368
  const skip = (input.page - 1) * input.limit;
369
- if (input.tag) {
370
- const queryBuilder = this.taskRepository
371
- .createQueryBuilder('task')
372
- .leftJoinAndSelect('task.comments', 'comments')
373
- .leftJoinAndSelect('comments.commenterActor', 'commenterActor')
374
- .leftJoinAndSelect('task.artefacts', 'artefacts')
375
- .leftJoinAndSelect('task.inputRequests', 'inputRequests')
376
- .leftJoinAndSelect('task.tags', 'tags')
377
- .leftJoinAndSelect('task.assigneeActor', 'assigneeActor')
378
- .leftJoinAndSelect('task.createdByActor', 'createdByActor')
379
- .innerJoin('task.tags', 'filterTag')
380
- .where('filterTag.name = :tagName', { tagName: input.tag });
381
- if (input.assignee) {
382
- queryBuilder.andWhere('assigneeActor.slug = :assignee', {
383
- assignee: input.assignee,
384
- });
385
- }
369
+ const result = await this.taskRepository.manager.transaction(async (manager) => {
370
+ const taskRepository = manager.getRepository(task_entity_1.TaskEntity);
386
371
  if (input.status) {
387
- queryBuilder.andWhere('task.status = :status', {
388
- status: input.status,
389
- });
390
- }
391
- if (input.updatedAfter) {
392
- queryBuilder.andWhere('task.updatedAt >= :updatedAfter', {
393
- updatedAfter: input.updatedAfter,
394
- });
372
+ const queryBuilder = this.createListTasksQuery(taskRepository, input)
373
+ .orderBy('task.updatedAt', 'DESC')
374
+ .skip(skip)
375
+ .take(input.limit);
376
+ const [tasks, total] = await queryBuilder.getManyAndCount();
377
+ return {
378
+ tasks,
379
+ total,
380
+ totalPages: Math.ceil(total / input.limit),
381
+ };
395
382
  }
396
- if (input.sessionId) {
397
- queryBuilder.andWhere('task.sessionId = :sessionId', {
398
- sessionId: input.sessionId,
399
- });
383
+ const tasks = [];
384
+ const totalsByStatus = [];
385
+ for (const status of Object.values(enums_1.TaskStatus)) {
386
+ const count = await this.createListTasksQuery(taskRepository, input, status).getCount();
387
+ totalsByStatus.push(count);
388
+ if (count <= skip) {
389
+ continue;
390
+ }
391
+ const statusTasks = await this.createListTasksQuery(taskRepository, input, status)
392
+ .orderBy('task.updatedAt', 'DESC')
393
+ .skip(skip)
394
+ .take(input.limit)
395
+ .getMany();
396
+ tasks.push(...statusTasks);
400
397
  }
401
- queryBuilder
402
- .orderBy('task.updatedAt', 'DESC')
403
- .skip(skip)
404
- .take(input.limit);
405
- const [tasks, total] = await queryBuilder.getManyAndCount();
406
- this.logger.log({
407
- message: 'Tasks listed',
408
- count: tasks.length,
409
- total,
410
- page: input.page,
411
- });
398
+ tasks.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
412
399
  return {
413
- items: tasks.map((task) => this.mapTaskToResult(task)),
414
- total,
415
- page: input.page,
416
- limit: input.limit,
400
+ tasks,
401
+ total: totalsByStatus.reduce((sum, count) => sum + count, 0),
402
+ totalPages: Math.max(0, ...totalsByStatus.map((count) => Math.ceil(count / input.limit))),
417
403
  };
418
- }
419
- const queryBuilder = this.taskRepository
404
+ });
405
+ this.logger.log({
406
+ message: 'Tasks listed',
407
+ count: result.tasks.length,
408
+ total: result.total,
409
+ page: input.page,
410
+ });
411
+ return {
412
+ items: result.tasks.map((task) => this.mapTaskToResult(task)),
413
+ total: result.total,
414
+ page: input.page,
415
+ limit: input.limit,
416
+ totalPages: result.totalPages,
417
+ };
418
+ }
419
+ createListTasksQuery(taskRepository, input, status) {
420
+ const queryBuilder = taskRepository
420
421
  .createQueryBuilder('task')
421
422
  .leftJoinAndSelect('task.comments', 'comments')
422
423
  .leftJoinAndSelect('comments.commenterActor', 'commenterActor')
@@ -426,14 +427,19 @@ let TasksService = TasksService_1 = class TasksService {
426
427
  .leftJoinAndSelect('task.dependsOn', 'dependsOn')
427
428
  .leftJoinAndSelect('task.assigneeActor', 'assigneeActor')
428
429
  .leftJoinAndSelect('task.createdByActor', 'createdByActor');
430
+ if (input.tag) {
431
+ queryBuilder
432
+ .innerJoin('task.tags', 'filterTag')
433
+ .where('filterTag.name = :tagName', { tagName: input.tag });
434
+ }
429
435
  if (input.assignee) {
430
436
  queryBuilder.andWhere('assigneeActor.slug = :assignee', {
431
437
  assignee: input.assignee,
432
438
  });
433
439
  }
434
- if (input.status) {
440
+ if (status ?? input.status) {
435
441
  queryBuilder.andWhere('task.status = :status', {
436
- status: input.status,
442
+ status: status ?? input.status,
437
443
  });
438
444
  }
439
445
  if (input.updatedAfter) {
@@ -446,20 +452,7 @@ let TasksService = TasksService_1 = class TasksService {
446
452
  sessionId: input.sessionId,
447
453
  });
448
454
  }
449
- queryBuilder.orderBy('task.updatedAt', 'DESC').skip(skip).take(input.limit);
450
- const [tasks, total] = await queryBuilder.getManyAndCount();
451
- this.logger.log({
452
- message: 'Tasks listed',
453
- count: tasks.length,
454
- total,
455
- page: input.page,
456
- });
457
- return {
458
- items: tasks.map((task) => this.mapTaskToResult(task)),
459
- total,
460
- page: input.page,
461
- limit: input.limit,
462
- };
455
+ return queryBuilder;
463
456
  }
464
457
  async getTaskById(taskId) {
465
458
  const task = await this.taskRepository.findOne({
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.service.js","sourceRoot":"","sources":["../../src/tasks/tasks.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.service.js","sourceRoot":"","sources":["../../src/tasks/tasks.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TaskAssignedEvent } from '../tasks/events/tasks.events';
2
+ import { ThreadsService } from './threads.service';
3
+ export declare class ThreadTaskAssignmentProjectorService {
4
+ private readonly threadsService;
5
+ constructor(threadsService: ThreadsService);
6
+ onTaskAssigned(event: TaskAssignedEvent): Promise<void>;
7
+ }
@@ -0,0 +1,48 @@
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.ThreadTaskAssignmentProjectorService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const event_emitter_1 = require("@nestjs/event-emitter");
15
+ const tasks_events_1 = require("../tasks/events/tasks.events");
16
+ const threads_service_1 = require("./threads.service");
17
+ let ThreadTaskAssignmentProjectorService = class ThreadTaskAssignmentProjectorService {
18
+ threadsService;
19
+ constructor(threadsService) {
20
+ this.threadsService = threadsService;
21
+ }
22
+ async onTaskAssigned(event) {
23
+ const assigneeActorId = event.payload.assigneeActorId;
24
+ if (!assigneeActorId) {
25
+ return;
26
+ }
27
+ const thread = await this.threadsService.findThreadByTaskId(event.payload.id);
28
+ if (!thread) {
29
+ return;
30
+ }
31
+ if (thread.participants.some((participant) => participant.id === assigneeActorId)) {
32
+ return;
33
+ }
34
+ await this.threadsService.addParticipant(thread.id, assigneeActorId);
35
+ }
36
+ };
37
+ exports.ThreadTaskAssignmentProjectorService = ThreadTaskAssignmentProjectorService;
38
+ __decorate([
39
+ (0, event_emitter_1.OnEvent)(tasks_events_1.TaskAssignedEvent.INTERNAL),
40
+ __metadata("design:type", Function),
41
+ __metadata("design:paramtypes", [tasks_events_1.TaskAssignedEvent]),
42
+ __metadata("design:returntype", Promise)
43
+ ], ThreadTaskAssignmentProjectorService.prototype, "onTaskAssigned", null);
44
+ exports.ThreadTaskAssignmentProjectorService = ThreadTaskAssignmentProjectorService = __decorate([
45
+ (0, common_1.Injectable)(),
46
+ __metadata("design:paramtypes", [threads_service_1.ThreadsService])
47
+ ], ThreadTaskAssignmentProjectorService);
48
+ //# sourceMappingURL=thread-task-assignment-projector.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-task-assignment-projector.service.js","sourceRoot":"","sources":["../../src/threads/thread-task-assignment-projector.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAgD;AAChD,+DAAiE;AACjE,uDAAmD;AAG5C,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAClB;IAA7B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAGzD,AAAN,KAAK,CAAC,cAAc,CAAC,KAAwB;QAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QACtD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC;YAClF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;CACF,CAAA;AArBY,oFAAoC;AAIzC;IADL,IAAA,uBAAO,EAAC,gCAAiB,CAAC,QAAQ,CAAC;;qCACR,gCAAiB;;0EAgB5C;+CApBU,oCAAoC;IADhD,IAAA,mBAAU,GAAE;qCAEkC,gCAAc;GADhD,oCAAoC,CAqBhD"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tasks_events_1 = require("../tasks/events/tasks.events");
4
+ const enums_1 = require("../identity-provider/enums");
5
+ jest.mock('./threads.service', () => ({
6
+ ThreadsService: class ThreadsService {
7
+ },
8
+ }));
9
+ const thread_task_assignment_projector_service_1 = require("./thread-task-assignment-projector.service");
10
+ describe('ThreadTaskAssignmentProjectorService', () => {
11
+ let service;
12
+ let threadsService;
13
+ const assignedTask = {
14
+ id: 'task-1',
15
+ name: 'Assigned task',
16
+ assigneeActorId: 'actor-2',
17
+ };
18
+ const thread = {
19
+ id: 'thread-1',
20
+ participants: [
21
+ {
22
+ id: 'actor-1',
23
+ type: enums_1.ActorType.HUMAN,
24
+ slug: 'actor-1',
25
+ displayName: 'Actor One',
26
+ avatarUrl: null,
27
+ introduction: null,
28
+ },
29
+ ],
30
+ };
31
+ beforeEach(() => {
32
+ threadsService = {
33
+ findThreadByTaskId: jest.fn(),
34
+ addParticipant: jest.fn(),
35
+ };
36
+ service = new thread_task_assignment_projector_service_1.ThreadTaskAssignmentProjectorService(threadsService);
37
+ });
38
+ it('adds a newly assigned actor to the containing thread participants', async () => {
39
+ threadsService.findThreadByTaskId.mockResolvedValue(thread);
40
+ await service.onTaskAssigned(new tasks_events_1.TaskAssignedEvent({ id: 'actor-1' }, assignedTask));
41
+ expect(threadsService.findThreadByTaskId).toHaveBeenCalledWith('task-1');
42
+ expect(threadsService.addParticipant).toHaveBeenCalledWith('thread-1', 'actor-2');
43
+ });
44
+ it('does nothing when the assigned task is not in a thread', async () => {
45
+ threadsService.findThreadByTaskId.mockResolvedValue(null);
46
+ await service.onTaskAssigned(new tasks_events_1.TaskAssignedEvent({ id: 'actor-1' }, assignedTask));
47
+ expect(threadsService.findThreadByTaskId).toHaveBeenCalledWith('task-1');
48
+ expect(threadsService.addParticipant).not.toHaveBeenCalled();
49
+ });
50
+ it('does nothing when the assignee is already a thread participant', async () => {
51
+ threadsService.findThreadByTaskId.mockResolvedValue({
52
+ ...thread,
53
+ participants: [
54
+ ...thread.participants,
55
+ {
56
+ id: 'actor-2',
57
+ type: enums_1.ActorType.AGENT,
58
+ slug: 'actor-2',
59
+ displayName: 'Actor Two',
60
+ avatarUrl: null,
61
+ introduction: null,
62
+ },
63
+ ],
64
+ });
65
+ await service.onTaskAssigned(new tasks_events_1.TaskAssignedEvent({ id: 'actor-1' }, assignedTask));
66
+ expect(threadsService.findThreadByTaskId).toHaveBeenCalledWith('task-1');
67
+ expect(threadsService.addParticipant).not.toHaveBeenCalled();
68
+ });
69
+ });
70
+ //# sourceMappingURL=thread-task-assignment-projector.service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-task-assignment-projector.service.spec.js","sourceRoot":"","sources":["../../src/threads/thread-task-assignment-projector.service.spec.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ const openai_mcp_server_factory_service_1 = require("./openai-mcp-server-factory
30
30
  const thread_title_service_1 = require("./thread-title.service");
31
31
  const thread_state_reconciler_service_1 = require("./thread-state-reconciler.service");
32
32
  const chat_providers_module_1 = require("../chat-providers/chat-providers.module");
33
+ const thread_task_assignment_projector_service_1 = require("./thread-task-assignment-projector.service");
33
34
  let ThreadsModule = class ThreadsModule {
34
35
  };
35
36
  exports.ThreadsModule = ThreadsModule;
@@ -61,6 +62,7 @@ exports.ThreadsModule = ThreadsModule = __decorate([
61
62
  openai_mcp_server_factory_service_1.OpenAiMcpServerFactoryService,
62
63
  thread_title_service_1.ThreadTitleService,
63
64
  thread_state_reconciler_service_1.ThreadStateReconcilerService,
65
+ thread_task_assignment_projector_service_1.ThreadTaskAssignmentProjectorService,
64
66
  ],
65
67
  exports: [threads_service_1.ThreadsService],
66
68
  })
@@ -1 +1 @@
1
- {"version":3,"file":"threads.module.js","sourceRoot":"","sources":["../../src/threads/threads.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,mDAA+C;AAC/C,mEAA8D;AAC9D,uDAAmD;AACnD,6DAAyD;AACzD,uDAAmD;AACnD,0EAAqE;AACrE,sDAAkD;AAClD,0DAA6D;AAC7D,oEAAgE;AAChE,qDAAiD;AACjD,qEAAgE;AAChE,8DAA0D;AAC1D,iDAA6C;AAC7C,wDAAoD;AACpD,8DAA0D;AAC1D,2DAAwD;AACxD,qGAAiG;AACjG,2FAAoF;AACpF,iEAA4D;AAC5D,uFAAiF;AACjF,mFAA8E;AAgCvE,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IA9BzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,4BAAY;gBACZ,2CAAmB;gBACnB,wBAAU;gBACV,iCAAkB;gBAClB,0BAAW;gBACX,iCAAc;aACf,CAAC;YACF,4BAAY;YACZ,uDAAyB;YACzB,qCAAgB;YAChB,wBAAU;YACV,8BAAa;YACb,2CAAmB;SACpB;QACD,WAAW,EAAE,CAAC,sCAAiB,CAAC;QAChC,SAAS,EAAE;YACT,gCAAc;YACd,gCAAc;YACd,0BAAW;YACX,wBAAU;YACV,8BAAa;YACb,iEAA6B;YAC7B,yCAAkB;YAClB,8DAA4B;SAC7B;QACD,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
1
+ {"version":3,"file":"threads.module.js","sourceRoot":"","sources":["../../src/threads/threads.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,mDAA+C;AAC/C,mEAA8D;AAC9D,uDAAmD;AACnD,6DAAyD;AACzD,uDAAmD;AACnD,0EAAqE;AACrE,sDAAkD;AAClD,0DAA6D;AAC7D,oEAAgE;AAChE,qDAAiD;AACjD,qEAAgE;AAChE,8DAA0D;AAC1D,iDAA6C;AAC7C,wDAAoD;AACpD,8DAA0D;AAC1D,2DAAwD;AACxD,qGAAiG;AACjG,2FAAoF;AACpF,iEAA4D;AAC5D,uFAAiF;AACjF,mFAA8E;AAC9E,yGAAkG;AAiC3F,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IA/BzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,4BAAY;gBACZ,2CAAmB;gBACnB,wBAAU;gBACV,iCAAkB;gBAClB,0BAAW;gBACX,iCAAc;aACf,CAAC;YACF,4BAAY;YACZ,uDAAyB;YACzB,qCAAgB;YAChB,wBAAU;YACV,8BAAa;YACb,2CAAmB;SACpB;QACD,WAAW,EAAE,CAAC,sCAAiB,CAAC;QAChC,SAAS,EAAE;YACT,gCAAc;YACd,gCAAc;YACd,0BAAW;YACX,wBAAU;YACV,8BAAa;YACb,iEAA6B;YAC7B,yCAAkB;YAClB,8DAA4B;YAC5B,+EAAoC;SACrC;QACD,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
@@ -42,6 +42,7 @@ export declare class ThreadsService {
42
42
  addParticipant(threadId: string, actorId: string): Promise<ThreadResult>;
43
43
  findThreadByTaskId(taskId: string): Promise<ThreadResult | null>;
44
44
  findThreadsByParentTaskId(parentTaskId: string): Promise<ThreadResult[]>;
45
+ findThreadByParentTaskId(parentTaskId: string): Promise<ThreadResult | null>;
45
46
  findThreadsByStateBlockId(stateBlockId: string): Promise<ThreadResult[]>;
46
47
  getThreadState(threadId: string): Promise<string>;
47
48
  updateThreadState(threadId: string, content: string): Promise<string>;
@@ -53,6 +54,7 @@ export declare class ThreadsService {
53
54
  private mapThreadToResult;
54
55
  private isParentTaskThreadUniqueViolation;
55
56
  private isThreadTaskUniqueViolation;
57
+ private isThreadParticipantUniqueViolation;
56
58
  private mapActorToResult;
57
59
  private mapTagToResult;
58
60
  private mapTaskToSummary;
@@ -287,7 +287,7 @@ let ThreadsService = class ThreadsService {
287
287
  threadId,
288
288
  taskId,
289
289
  });
290
- await this.getThreadWithRelations(threadId);
290
+ const thread = await this.getThreadWithRelations(threadId);
291
291
  const task = await this.taskRepository.findOne({ where: { id: taskId } });
292
292
  if (!task) {
293
293
  throw new threads_errors_1.TaskNotFoundForThreadError(taskId);
@@ -314,6 +314,10 @@ let ThreadsService = class ThreadsService {
314
314
  taskId,
315
315
  });
316
316
  }
317
+ if (task.assigneeActorId &&
318
+ !thread.participants.some((participant) => participant.id === task.assigneeActorId)) {
319
+ await this.addParticipant(threadId, task.assigneeActorId);
320
+ }
317
321
  const updatedThread = await this.getThreadWithRelations(threadId);
318
322
  this.emitThreadUpdated(updatedThread);
319
323
  return await this.buildThreadResult(updatedThread);
@@ -433,8 +437,18 @@ let ThreadsService = class ThreadsService {
433
437
  throw new threads_errors_1.ActorNotFoundForThreadError(actorId);
434
438
  }
435
439
  if (!thread.participants.some((p) => p.id === actorId)) {
436
- thread.participants.push(actor);
437
- await this.threadRepository.save(thread);
440
+ try {
441
+ await this.threadRepository
442
+ .createQueryBuilder()
443
+ .relation(thread_entity_1.ThreadEntity, 'participants')
444
+ .of(threadId)
445
+ .add(actorId);
446
+ }
447
+ catch (error) {
448
+ if (!this.isThreadParticipantUniqueViolation(error)) {
449
+ throw error;
450
+ }
451
+ }
438
452
  this.logger.log({
439
453
  message: 'Participant added to thread',
440
454
  threadId,
@@ -491,6 +505,31 @@ let ThreadsService = class ThreadsService {
491
505
  });
492
506
  return threads.map((thread) => this.mapThreadToResult(thread));
493
507
  }
508
+ async findThreadByParentTaskId(parentTaskId) {
509
+ this.logger.log({
510
+ message: 'Finding thread by parent task ID',
511
+ parentTaskId,
512
+ });
513
+ const thread = await this.threadRepository.findOne({
514
+ where: { parentTaskId },
515
+ relations: [
516
+ 'createdByActor',
517
+ 'tasks',
518
+ 'tasks.assigneeActor',
519
+ 'tasks.createdByActor',
520
+ 'tasks.tags',
521
+ 'tasks.comments',
522
+ 'tasks.inputRequests',
523
+ 'referencedContextBlocks',
524
+ 'tags',
525
+ 'participants',
526
+ ],
527
+ });
528
+ if (!thread) {
529
+ return null;
530
+ }
531
+ return this.mapThreadToResult(thread);
532
+ }
494
533
  async findThreadsByStateBlockId(stateBlockId) {
495
534
  this.logger.log({
496
535
  message: 'Finding threads by state block ID',
@@ -688,6 +727,21 @@ let ThreadsService = class ThreadsService {
688
727
  && message.includes('thread_id')
689
728
  && message.includes('task_id'));
690
729
  }
730
+ isThreadParticipantUniqueViolation(error) {
731
+ if (!(error instanceof typeorm_2.QueryFailedError)) {
732
+ return false;
733
+ }
734
+ const driverError = error.driverError;
735
+ const code = driverError?.code;
736
+ const message = driverError?.message ?? '';
737
+ const isUniqueConstraintCode = code === 'SQLITE_CONSTRAINT' || code === '23505';
738
+ if (!isUniqueConstraintCode) {
739
+ return false;
740
+ }
741
+ return (message.includes('thread_participants')
742
+ && message.includes('thread_id')
743
+ && message.includes('actor_id'));
744
+ }
691
745
  mapActorToResult(actor) {
692
746
  return {
693
747
  id: actor.id,