@taico/taico 0.2.16 → 0.2.18

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 (153) 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/app.module.js +2 -0
  8. package/dist/app.module.js.map +1 -1
  9. package/dist/auth-journeys/auth-journeys.controller.js +3 -3
  10. package/dist/auth-journeys/auth-journeys.controller.js.map +1 -1
  11. package/dist/auth-journeys/auth-journeys.service.d.ts +5 -2
  12. package/dist/auth-journeys/auth-journeys.service.js +48 -1
  13. package/dist/auth-journeys/auth-journeys.service.js.map +1 -1
  14. package/dist/auth-journeys/dto/service/auth-journeys.service.types.d.ts +44 -0
  15. package/dist/authorization-server/client-registration.controller.js.map +1 -1
  16. package/dist/authorization-server/client-registration.service.d.ts +5 -3
  17. package/dist/authorization-server/client-registration.service.js +16 -4
  18. package/dist/authorization-server/client-registration.service.js.map +1 -1
  19. package/dist/authorization-server/dto/account-setup-status-request.dto.d.ts +3 -0
  20. package/dist/authorization-server/dto/account-setup-status-request.dto.js +24 -0
  21. package/dist/authorization-server/dto/account-setup-status-request.dto.js.map +1 -0
  22. package/dist/authorization-server/dto/account-setup-status-response.dto.d.ts +4 -0
  23. package/dist/authorization-server/dto/account-setup-status-response.dto.js +27 -0
  24. package/dist/authorization-server/dto/account-setup-status-response.dto.js.map +1 -0
  25. package/dist/authorization-server/dto/create-managed-user-request.dto.d.ts +5 -0
  26. package/dist/authorization-server/dto/create-managed-user-request.dto.js +31 -0
  27. package/dist/authorization-server/dto/create-managed-user-request.dto.js.map +1 -0
  28. package/dist/authorization-server/dto/managed-user-response.dto.d.ts +13 -0
  29. package/dist/authorization-server/dto/managed-user-response.dto.js +68 -0
  30. package/dist/authorization-server/dto/managed-user-response.dto.js.map +1 -0
  31. package/dist/authorization-server/dto/service/client-registration.service.types.d.ts +10 -0
  32. package/dist/authorization-server/dto/service/client-registration.service.types.js +3 -0
  33. package/dist/authorization-server/dto/service/client-registration.service.types.js.map +1 -0
  34. package/dist/authorization-server/dto/setup-managed-user-request.dto.d.ts +6 -0
  35. package/dist/authorization-server/dto/setup-managed-user-request.dto.js +45 -0
  36. package/dist/authorization-server/dto/setup-managed-user-request.dto.js.map +1 -0
  37. package/dist/authorization-server/web-auth.controller.d.ts +14 -0
  38. package/dist/authorization-server/web-auth.controller.js +165 -50
  39. package/dist/authorization-server/web-auth.controller.js.map +1 -1
  40. package/dist/authorization-server/web-auth.service.js +3 -2
  41. package/dist/authorization-server/web-auth.service.js.map +1 -1
  42. package/dist/executions/active/active-task-execution.controller.js +3 -2
  43. package/dist/executions/active/active-task-execution.controller.js.map +1 -1
  44. package/dist/executions/active/active-task-execution.service.d.ts +8 -9
  45. package/dist/executions/active/active-task-execution.service.js +62 -3
  46. package/dist/executions/active/active-task-execution.service.js.map +1 -1
  47. package/dist/executions/active/dto/http/active-task-execution-response.dto.d.ts +3 -3
  48. package/dist/executions/active/dto/http/active-task-execution-response.dto.js +15 -15
  49. package/dist/executions/active/dto/http/active-task-execution-response.dto.js.map +1 -1
  50. package/dist/executions/active/dto/http/update-execution-stats.dto.d.ts +1 -0
  51. package/dist/executions/active/dto/http/update-execution-stats.dto.js +15 -0
  52. package/dist/executions/active/dto/http/update-execution-stats.dto.js.map +1 -1
  53. package/dist/executions/dto/http/execution-stats-response.dto.d.ts +3 -2
  54. package/dist/executions/dto/http/execution-stats-response.dto.js +18 -7
  55. package/dist/executions/dto/http/execution-stats-response.dto.js.map +1 -1
  56. package/dist/executions/dto/service/execution-results.service.types.d.ts +71 -0
  57. package/dist/executions/dto/service/execution-results.service.types.js +3 -0
  58. package/dist/executions/dto/service/execution-results.service.types.js.map +1 -0
  59. package/dist/executions/executions-worker.gateway.d.ts +3 -2
  60. package/dist/executions/executions-worker.gateway.js +15 -7
  61. package/dist/executions/executions-worker.gateway.js.map +1 -1
  62. package/dist/executions/history/dto/http/task-execution-history-response.dto.d.ts +2 -2
  63. package/dist/executions/history/dto/http/task-execution-history-response.dto.js +15 -15
  64. package/dist/executions/history/dto/http/task-execution-history-response.dto.js.map +1 -1
  65. package/dist/executions/history/task-execution-history.controller.js +1 -1
  66. package/dist/executions/history/task-execution-history.service.d.ts +4 -6
  67. package/dist/executions/history/task-execution-history.service.js +35 -1
  68. package/dist/executions/history/task-execution-history.service.js.map +1 -1
  69. package/dist/executions/queue/dto/http/task-execution-queue-entry-response.dto.d.ts +0 -2
  70. package/dist/executions/queue/dto/http/task-execution-queue-entry-response.dto.js +0 -7
  71. package/dist/executions/queue/dto/http/task-execution-queue-entry-response.dto.js.map +1 -1
  72. package/dist/executions/queue/task-execution-queue.controller.d.ts +1 -0
  73. package/dist/executions/queue/task-execution-queue.controller.js +9 -3
  74. package/dist/executions/queue/task-execution-queue.controller.js.map +1 -1
  75. package/dist/executions/queue/task-execution-queue.service.d.ts +3 -6
  76. package/dist/executions/queue/task-execution-queue.service.js +14 -2
  77. package/dist/executions/queue/task-execution-queue.service.js.map +1 -1
  78. package/dist/executions/staleness/stale-active-task-execution-pruner.service.d.ts +3 -1
  79. package/dist/executions/staleness/stale-active-task-execution-pruner.service.js +20 -6
  80. package/dist/executions/staleness/stale-active-task-execution-pruner.service.js.map +1 -1
  81. package/dist/executions/staleness/stale-active-task-execution-pruner.service.spec.d.ts +1 -0
  82. package/dist/executions/staleness/stale-active-task-execution-pruner.service.spec.js +80 -0
  83. package/dist/executions/staleness/stale-active-task-execution-pruner.service.spec.js.map +1 -0
  84. package/dist/executions/stats/execution-stats.entity.d.ts +1 -0
  85. package/dist/executions/stats/execution-stats.entity.js +5 -0
  86. package/dist/executions/stats/execution-stats.entity.js.map +1 -1
  87. package/dist/identity-provider/dto/service/identity-provider.service.types.d.ts +10 -0
  88. package/dist/identity-provider/identity-provider.service.d.ts +14 -1
  89. package/dist/identity-provider/identity-provider.service.js +119 -0
  90. package/dist/identity-provider/identity-provider.service.js.map +1 -1
  91. package/dist/meta/dto/service/meta.service.types.d.ts +4 -0
  92. package/dist/meta/dto/version-response.dto.d.ts +4 -0
  93. package/dist/meta/dto/version-response.dto.js +33 -0
  94. package/dist/meta/dto/version-response.dto.js.map +1 -0
  95. package/dist/meta/meta.controller.d.ts +3 -0
  96. package/dist/meta/meta.controller.js +22 -0
  97. package/dist/meta/meta.controller.js.map +1 -1
  98. package/dist/meta/meta.service.d.ts +2 -1
  99. package/dist/meta/meta.service.js +36 -0
  100. package/dist/meta/meta.service.js.map +1 -1
  101. package/dist/meta/projects.service.js +5 -1
  102. package/dist/meta/projects.service.js.map +1 -1
  103. package/dist/migrations/1742700000000-AddWorkerVersionFields.d.ts +5 -0
  104. package/dist/migrations/1742700000000-AddWorkerVersionFields.js +27 -0
  105. package/dist/migrations/1742700000000-AddWorkerVersionFields.js.map +1 -0
  106. package/dist/public/assets/index-BeTge0cu.css +1 -0
  107. package/dist/public/assets/index-bd9bD2Gb.js +73 -0
  108. package/dist/public/beta/assets/{index-Bnn4h6Il.js → index-C4IlvkgW.js} +1 -1
  109. package/dist/public/beta/index.html +1 -1
  110. package/dist/public/index.html +2 -2
  111. package/dist/public/package.json +40 -0
  112. package/dist/tasks/dto/service/tasks.service.types.d.ts +1 -0
  113. package/dist/tasks/dto/task-list-response.dto.js +2 -2
  114. package/dist/tasks/dto/task-list-response.dto.js.map +1 -1
  115. package/dist/tasks/tasks.controller.js +1 -1
  116. package/dist/tasks/tasks.controller.js.map +1 -1
  117. package/dist/tasks/tasks.service.create-task-in-thread.spec.js +4 -2
  118. package/dist/tasks/tasks.service.create-task-in-thread.spec.js.map +1 -1
  119. package/dist/tasks/tasks.service.d.ts +1 -0
  120. package/dist/tasks/tasks.service.js +56 -63
  121. package/dist/tasks/tasks.service.js.map +1 -1
  122. package/dist/threads/thread-task-assignment-projector.service.d.ts +7 -0
  123. package/dist/threads/thread-task-assignment-projector.service.js +48 -0
  124. package/dist/threads/thread-task-assignment-projector.service.js.map +1 -0
  125. package/dist/threads/thread-task-assignment-projector.service.spec.d.ts +1 -0
  126. package/dist/threads/thread-task-assignment-projector.service.spec.js +70 -0
  127. package/dist/threads/thread-task-assignment-projector.service.spec.js.map +1 -0
  128. package/dist/threads/threads.module.js +2 -0
  129. package/dist/threads/threads.module.js.map +1 -1
  130. package/dist/threads/threads.service.d.ts +2 -0
  131. package/dist/threads/threads.service.js +57 -3
  132. package/dist/threads/threads.service.js.map +1 -1
  133. package/dist/threads/threads.service.spec.js +135 -0
  134. package/dist/threads/threads.service.spec.js.map +1 -1
  135. package/dist/tsconfig.tsbuildinfo +1 -1
  136. package/dist/workers/dto/http/worker-response.dto.d.ts +1 -2
  137. package/dist/workers/dto/http/worker-response.dto.js +5 -10
  138. package/dist/workers/dto/http/worker-response.dto.js.map +1 -1
  139. package/dist/workers/dto/service/workers.service.types.d.ts +10 -0
  140. package/dist/workers/worker.entity.d.ts +1 -0
  141. package/dist/workers/worker.entity.js +5 -0
  142. package/dist/workers/worker.entity.js.map +1 -1
  143. package/dist/workers/workers.controller.d.ts +1 -0
  144. package/dist/workers/workers.controller.js +12 -1
  145. package/dist/workers/workers.controller.js.map +1 -1
  146. package/dist/workers/workers.gateway.js +9 -2
  147. package/dist/workers/workers.gateway.js.map +1 -1
  148. package/dist/workers/workers.service.d.ts +3 -2
  149. package/dist/workers/workers.service.js +21 -1
  150. package/dist/workers/workers.service.js.map +1 -1
  151. package/package.json +6 -6
  152. package/dist/public/assets/index-Bqsni13H.css +0 -1
  153. package/dist/public/assets/index-CboWmVjp.js +0 -73
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"file":"threads.service.js","sourceRoot":"","sources":["../../src/threads/threads.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads.service.js","sourceRoot":"","sources":["../../src/threads/threads.service.ts"],"names":[],"mappings":"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"}
@@ -314,6 +314,34 @@ describe('ThreadsService - Parent Task ID', () => {
314
314
  expect(result).toBeNull();
315
315
  });
316
316
  });
317
+ describe('3.4. Find Thread by Parent Task ID', () => {
318
+ it('should find a thread directly by parent task ID', async () => {
319
+ threadRepository.findOne.mockResolvedValue(mockThread);
320
+ const result = await service.findThreadByParentTaskId('parent-task-uuid');
321
+ expect(result).toBeDefined();
322
+ expect(result?.parentTaskId).toBe('parent-task-uuid');
323
+ expect(threadRepository.findOne).toHaveBeenCalledWith({
324
+ where: { parentTaskId: 'parent-task-uuid' },
325
+ relations: [
326
+ 'createdByActor',
327
+ 'tasks',
328
+ 'tasks.assigneeActor',
329
+ 'tasks.createdByActor',
330
+ 'tasks.tags',
331
+ 'tasks.comments',
332
+ 'tasks.inputRequests',
333
+ 'referencedContextBlocks',
334
+ 'tags',
335
+ 'participants',
336
+ ],
337
+ });
338
+ });
339
+ it('should return null when no thread exists for parent task ID', async () => {
340
+ threadRepository.findOne.mockResolvedValue(null);
341
+ const result = await service.findThreadByParentTaskId('non-existent-parent-task-uuid');
342
+ expect(result).toBeNull();
343
+ });
344
+ });
317
345
  });
318
346
  describe('Thread Deletion Tests', () => {
319
347
  describe('2.2. Can Delete Thread Without Affecting Parent Task', () => {
@@ -396,6 +424,113 @@ describe('ThreadsService - Parent Task ID', () => {
396
424
  expect(result.parentTaskId).toBe('parent-task-uuid');
397
425
  expect(result.tasks.length).toBe(1);
398
426
  });
427
+ it('should add the attached task assignee as a participant', async () => {
428
+ const assignedActor = {
429
+ ...mockActor,
430
+ id: 'assigned-actor-uuid',
431
+ slug: 'assigned-actor',
432
+ displayName: 'Assigned Actor',
433
+ };
434
+ const assignedTask = {
435
+ ...mockParentTask,
436
+ id: 'assigned-task-uuid',
437
+ name: 'Assigned Task',
438
+ assigneeActorId: assignedActor.id,
439
+ };
440
+ const threadWithAssignedTask = {
441
+ ...mockThread,
442
+ tasks: [mockParentTask, assignedTask],
443
+ participants: [assignedActor],
444
+ };
445
+ const relationQueryBuilder = {
446
+ relation: jest.fn().mockReturnThis(),
447
+ of: jest.fn().mockReturnThis(),
448
+ add: jest.fn().mockResolvedValue(undefined),
449
+ };
450
+ const addParticipantSpy = jest
451
+ .spyOn(service, 'addParticipant')
452
+ .mockResolvedValue(threadWithAssignedTask);
453
+ threadRepository.createQueryBuilder.mockReturnValue(relationQueryBuilder);
454
+ threadRepository.findOne
455
+ .mockResolvedValueOnce(mockThread)
456
+ .mockResolvedValueOnce(threadWithAssignedTask);
457
+ taskRepository.findOne.mockResolvedValue(assignedTask);
458
+ const result = await service.attachTask('thread-uuid', 'assigned-task-uuid');
459
+ expect(addParticipantSpy).toHaveBeenCalledWith('thread-uuid', 'assigned-actor-uuid');
460
+ expect(result.participants).toEqual(expect.arrayContaining([
461
+ expect.objectContaining({ id: 'assigned-actor-uuid' }),
462
+ ]));
463
+ });
464
+ it('should not add the attached task assignee when already participating', async () => {
465
+ const assignedTask = {
466
+ ...mockParentTask,
467
+ id: 'assigned-task-uuid',
468
+ assigneeActorId: mockActor.id,
469
+ };
470
+ const threadWithParticipant = {
471
+ ...mockThread,
472
+ participants: [mockActor],
473
+ };
474
+ const relationQueryBuilder = {
475
+ relation: jest.fn().mockReturnThis(),
476
+ of: jest.fn().mockReturnThis(),
477
+ add: jest.fn().mockResolvedValue(undefined),
478
+ };
479
+ const addParticipantSpy = jest.spyOn(service, 'addParticipant');
480
+ threadRepository.createQueryBuilder.mockReturnValue(relationQueryBuilder);
481
+ threadRepository.findOne
482
+ .mockResolvedValueOnce(threadWithParticipant)
483
+ .mockResolvedValueOnce(threadWithParticipant);
484
+ taskRepository.findOne.mockResolvedValue(assignedTask);
485
+ await service.attachTask('thread-uuid', 'assigned-task-uuid');
486
+ expect(addParticipantSpy).not.toHaveBeenCalled();
487
+ });
488
+ });
489
+ describe('Participant Tests', () => {
490
+ it('should add participants through relation insert to avoid overwriting concurrent additions', async () => {
491
+ const threadWithParticipant = {
492
+ ...mockThread,
493
+ participants: [mockActor],
494
+ };
495
+ const relationQueryBuilder = {
496
+ relation: jest.fn().mockReturnThis(),
497
+ of: jest.fn().mockReturnThis(),
498
+ add: jest.fn().mockResolvedValue(undefined),
499
+ };
500
+ threadRepository.createQueryBuilder.mockReturnValue(relationQueryBuilder);
501
+ threadRepository.findOne
502
+ .mockResolvedValueOnce(mockThread)
503
+ .mockResolvedValueOnce(threadWithParticipant);
504
+ actorRepository.findOne.mockResolvedValue(mockActor);
505
+ const result = await service.addParticipant('thread-uuid', 'actor-uuid');
506
+ expect(relationQueryBuilder.relation).toHaveBeenCalledWith(thread_entity_1.ThreadEntity, 'participants');
507
+ expect(relationQueryBuilder.of).toHaveBeenCalledWith('thread-uuid');
508
+ expect(relationQueryBuilder.add).toHaveBeenCalledWith('actor-uuid');
509
+ expect(threadRepository.save).not.toHaveBeenCalled();
510
+ expect(result.participants).toEqual(expect.arrayContaining([expect.objectContaining({ id: 'actor-uuid' })]));
511
+ });
512
+ it('should treat duplicate participant relation insert as idempotent success', async () => {
513
+ const threadWithParticipant = {
514
+ ...mockThread,
515
+ participants: [mockActor],
516
+ };
517
+ const relationQueryBuilder = {
518
+ relation: jest.fn().mockReturnThis(),
519
+ of: jest.fn().mockReturnThis(),
520
+ add: jest.fn().mockRejectedValue(new typeorm_2.QueryFailedError('INSERT INTO thread_participants ...', [], {
521
+ code: 'SQLITE_CONSTRAINT',
522
+ message: 'UNIQUE constraint failed: thread_participants.thread_id, thread_participants.actor_id',
523
+ })),
524
+ };
525
+ threadRepository.createQueryBuilder.mockReturnValue(relationQueryBuilder);
526
+ threadRepository.findOne
527
+ .mockResolvedValueOnce(mockThread)
528
+ .mockResolvedValueOnce(threadWithParticipant);
529
+ actorRepository.findOne.mockResolvedValue(mockActor);
530
+ const result = await service.addParticipant('thread-uuid', 'actor-uuid');
531
+ expect(relationQueryBuilder.add).toHaveBeenCalledWith('actor-uuid');
532
+ expect(result.participants).toEqual(expect.arrayContaining([expect.objectContaining({ id: 'actor-uuid' })]));
533
+ });
399
534
  });
400
535
  });
401
536
  describe('Thread Update Tests', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"threads.service.spec.js","sourceRoot":"","sources":["../../src/threads/threads.service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads.service.spec.js","sourceRoot":"","sources":["../../src/threads/threads.service.spec.ts"],"names":[],"mappings":"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"}