devchain-cli 0.6.1 → 0.7.1

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 (173) hide show
  1. package/dist/drizzle/0024_review_tables.sql +71 -0
  2. package/dist/drizzle/0025_reviews_mode_and_nullable_shas.sql +80 -0
  3. package/dist/drizzle/0026_review_comments_edited_at.sql +2 -0
  4. package/dist/drizzle/meta/_journal.json +22 -1
  5. package/dist/server/common/errors/error-types.d.ts +3 -0
  6. package/dist/server/common/errors/error-types.js +7 -1
  7. package/dist/server/common/errors/error-types.js.map +1 -1
  8. package/dist/server/common/validation/path-validation.d.ts +11 -0
  9. package/dist/server/common/validation/path-validation.js +197 -0
  10. package/dist/server/common/validation/path-validation.js.map +1 -0
  11. package/dist/server/modules/chat/dtos/chat.dto.d.ts +13 -13
  12. package/dist/server/modules/core/core.module.js +3 -2
  13. package/dist/server/modules/core/core.module.js.map +1 -1
  14. package/dist/server/modules/core/services/preflight.service.d.ts +1 -3
  15. package/dist/server/modules/core/services/preflight.service.js +2 -28
  16. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  17. package/dist/server/modules/core/services/provider-mcp-ensure.service.d.ts +26 -0
  18. package/dist/server/modules/core/services/provider-mcp-ensure.service.js +224 -0
  19. package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +1 -0
  20. package/dist/server/modules/epics/controllers/epics.controller.d.ts +3 -2
  21. package/dist/server/modules/epics/controllers/epics.controller.js +16 -6
  22. package/dist/server/modules/epics/controllers/epics.controller.js.map +1 -1
  23. package/dist/server/modules/events/catalog/epic.created.d.ts +2 -2
  24. package/dist/server/modules/events/catalog/index.d.ts +340 -2
  25. package/dist/server/modules/events/catalog/index.js +12 -0
  26. package/dist/server/modules/events/catalog/index.js.map +1 -1
  27. package/dist/server/modules/events/catalog/review.comment.created.d.ts +69 -0
  28. package/dist/server/modules/events/catalog/review.comment.created.js +30 -0
  29. package/dist/server/modules/events/catalog/review.comment.created.js.map +1 -0
  30. package/dist/server/modules/events/catalog/review.comment.deleted.d.ts +30 -0
  31. package/dist/server/modules/events/catalog/review.comment.deleted.js +17 -0
  32. package/dist/server/modules/events/catalog/review.comment.deleted.js.map +1 -0
  33. package/dist/server/modules/events/catalog/review.comment.resolved.d.ts +30 -0
  34. package/dist/server/modules/events/catalog/review.comment.resolved.js +17 -0
  35. package/dist/server/modules/events/catalog/review.comment.resolved.js.map +1 -0
  36. package/dist/server/modules/events/catalog/review.comment.updated.d.ts +39 -0
  37. package/dist/server/modules/events/catalog/review.comment.updated.js +20 -0
  38. package/dist/server/modules/events/catalog/review.comment.updated.js.map +1 -0
  39. package/dist/server/modules/events/catalog/review.created.d.ts +90 -0
  40. package/dist/server/modules/events/catalog/review.created.js +40 -0
  41. package/dist/server/modules/events/catalog/review.created.js.map +1 -0
  42. package/dist/server/modules/events/catalog/review.updated.d.ts +110 -0
  43. package/dist/server/modules/events/catalog/review.updated.js +35 -0
  44. package/dist/server/modules/events/catalog/review.updated.js.map +1 -0
  45. package/dist/server/modules/events/subscribers/index.js +4 -0
  46. package/dist/server/modules/events/subscribers/index.js.map +1 -1
  47. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.d.ts +16 -0
  48. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.js +163 -0
  49. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.js.map +1 -0
  50. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.d.ts +23 -0
  51. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js +217 -0
  52. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +1 -0
  53. package/dist/server/modules/git/controllers/git.controller.d.ts +24 -0
  54. package/dist/server/modules/git/controllers/git.controller.js +230 -0
  55. package/dist/server/modules/git/controllers/git.controller.js.map +1 -0
  56. package/dist/server/modules/git/dtos/git.dto.d.ts +86 -0
  57. package/dist/server/modules/git/dtos/git.dto.js +36 -0
  58. package/dist/server/modules/git/dtos/git.dto.js.map +1 -0
  59. package/dist/server/modules/git/git.module.d.ts +2 -0
  60. package/dist/server/modules/git/git.module.js +25 -0
  61. package/dist/server/modules/git/git.module.js.map +1 -0
  62. package/dist/server/modules/git/services/git.service.d.ts +71 -0
  63. package/dist/server/modules/git/services/git.service.js +550 -0
  64. package/dist/server/modules/git/services/git.service.js.map +1 -0
  65. package/dist/server/modules/mcp/controllers/mcp-http.controller.js +17 -562
  66. package/dist/server/modules/mcp/controllers/mcp-http.controller.js.map +1 -1
  67. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js +9 -568
  68. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js.map +1 -1
  69. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +226 -36
  70. package/dist/server/modules/mcp/dtos/mcp.dto.js +158 -50
  71. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  72. package/dist/server/modules/mcp/dtos/schema-registry.d.ts +7 -0
  73. package/dist/server/modules/mcp/dtos/schema-registry.js +56 -0
  74. package/dist/server/modules/mcp/dtos/schema-registry.js.map +1 -0
  75. package/dist/server/modules/mcp/mcp.module.js +2 -0
  76. package/dist/server/modules/mcp/mcp.module.js.map +1 -1
  77. package/dist/server/modules/mcp/services/mcp.service.d.ts +9 -1
  78. package/dist/server/modules/mcp/services/mcp.service.js +702 -33
  79. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  80. package/dist/server/modules/mcp/tool-definitions.d.ts +2438 -0
  81. package/dist/server/modules/mcp/tool-definitions.js +727 -0
  82. package/dist/server/modules/mcp/tool-definitions.js.map +1 -0
  83. package/dist/server/modules/mcp/utils/param-suggestion.d.ts +3 -0
  84. package/dist/server/modules/mcp/utils/param-suggestion.js +95 -0
  85. package/dist/server/modules/mcp/utils/param-suggestion.js.map +1 -0
  86. package/dist/server/modules/providers/controllers/providers.controller.d.ts +7 -6
  87. package/dist/server/modules/providers/controllers/providers.controller.js +12 -107
  88. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  89. package/dist/server/modules/reviews/controllers/reviews.controller.d.ts +28 -0
  90. package/dist/server/modules/reviews/controllers/reviews.controller.js +369 -0
  91. package/dist/server/modules/reviews/controllers/reviews.controller.js.map +1 -0
  92. package/dist/server/modules/reviews/dtos/review.dto.d.ts +195 -0
  93. package/dist/server/modules/reviews/dtos/review.dto.js +92 -0
  94. package/dist/server/modules/reviews/dtos/review.dto.js.map +1 -0
  95. package/dist/server/modules/reviews/reviews.module.d.ts +2 -0
  96. package/dist/server/modules/reviews/reviews.module.js +27 -0
  97. package/dist/server/modules/reviews/reviews.module.js.map +1 -0
  98. package/dist/server/modules/reviews/services/reviews.service.d.ts +86 -0
  99. package/dist/server/modules/reviews/services/reviews.service.js +464 -0
  100. package/dist/server/modules/reviews/services/reviews.service.js.map +1 -0
  101. package/dist/server/modules/reviews/utils/notification-formatter.d.ts +12 -0
  102. package/dist/server/modules/reviews/utils/notification-formatter.js +60 -0
  103. package/dist/server/modules/reviews/utils/notification-formatter.js.map +1 -0
  104. package/dist/server/modules/sessions/services/sessions.service.d.ts +3 -1
  105. package/dist/server/modules/sessions/services/sessions.service.js +32 -2
  106. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  107. package/dist/server/modules/storage/db/schema.d.ts +697 -0
  108. package/dist/server/modules/storage/db/schema.js +71 -1
  109. package/dist/server/modules/storage/db/schema.js.map +1 -1
  110. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +23 -1
  111. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  112. package/dist/server/modules/storage/local/local-storage.service.d.ts +15 -2
  113. package/dist/server/modules/storage/local/local-storage.service.js +396 -7
  114. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  115. package/dist/server/modules/storage/models/domain.models.d.ts +62 -0
  116. package/dist/server/templates/claude-claude-swe.json +148 -0
  117. package/dist/server/templates/claude-codex-advanced-swe.json +139 -0
  118. package/dist/server/templates/claude-codex-advanced.json +84 -84
  119. package/dist/server/templates/claude-opus.json +102 -101
  120. package/dist/server/templates/claude-swe-single.json +105 -0
  121. package/dist/server/templates/codex-claude-swe.json +148 -0
  122. package/dist/server/templates/simple-codex.json +74 -74
  123. package/dist/server/test-setup.js +45 -0
  124. package/dist/server/test-setup.js.map +1 -1
  125. package/dist/server/tsconfig.tsbuildinfo +1 -1
  126. package/dist/server/ui/assets/ReviewDetailPage-I54h-2L-.js +6 -0
  127. package/dist/server/ui/assets/ReviewsPage-B4ua5hiX.js +19 -0
  128. package/dist/server/ui/assets/index-CqcmnFBh.css +32 -0
  129. package/dist/server/ui/assets/index-JbUMpbg7.js +858 -0
  130. package/dist/server/ui/assets/useReviewSubscription-C0GEsiRw.js +83 -0
  131. package/dist/server/ui/assets/useReviewSubscription-T3uj2-aP.css +1 -0
  132. package/dist/server/ui/index.html +2 -2
  133. package/dist/templates/claude-claude-swe.json +148 -0
  134. package/dist/templates/claude-codex-advanced-swe.json +139 -0
  135. package/dist/templates/claude-codex-advanced.json +84 -84
  136. package/dist/templates/claude-opus.json +102 -101
  137. package/dist/templates/claude-swe-single.json +105 -0
  138. package/dist/templates/codex-claude-swe.json +148 -0
  139. package/dist/templates/simple-codex.json +74 -74
  140. package/package.json +15 -2
  141. package/prebuilds/node-pty/darwin-arm64/pty.node +0 -0
  142. package/prebuilds/node-pty/darwin-arm64/spawn-helper +0 -0
  143. package/prebuilds/node-pty/darwin-x64/pty.node +0 -0
  144. package/prebuilds/node-pty/darwin-x64/spawn-helper +0 -0
  145. package/prebuilds/node-pty/linux-arm64/pty.node +0 -0
  146. package/prebuilds/node-pty/linux-x64/pty.node +0 -0
  147. package/prebuilds/node-pty/win32-arm64/conpty/OpenConsole.exe +0 -0
  148. package/prebuilds/node-pty/win32-arm64/conpty/conpty.dll +0 -0
  149. package/prebuilds/node-pty/win32-arm64/conpty.node +0 -0
  150. package/prebuilds/node-pty/win32-arm64/conpty.pdb +0 -0
  151. package/prebuilds/node-pty/win32-arm64/conpty_console_list.node +0 -0
  152. package/prebuilds/node-pty/win32-arm64/conpty_console_list.pdb +0 -0
  153. package/prebuilds/node-pty/win32-arm64/pty.node +0 -0
  154. package/prebuilds/node-pty/win32-arm64/pty.pdb +0 -0
  155. package/prebuilds/node-pty/win32-arm64/winpty-agent.exe +0 -0
  156. package/prebuilds/node-pty/win32-arm64/winpty-agent.pdb +0 -0
  157. package/prebuilds/node-pty/win32-arm64/winpty.dll +0 -0
  158. package/prebuilds/node-pty/win32-arm64/winpty.pdb +0 -0
  159. package/prebuilds/node-pty/win32-x64/conpty/OpenConsole.exe +0 -0
  160. package/prebuilds/node-pty/win32-x64/conpty/conpty.dll +0 -0
  161. package/prebuilds/node-pty/win32-x64/conpty.node +0 -0
  162. package/prebuilds/node-pty/win32-x64/conpty.pdb +0 -0
  163. package/prebuilds/node-pty/win32-x64/conpty_console_list.node +0 -0
  164. package/prebuilds/node-pty/win32-x64/conpty_console_list.pdb +0 -0
  165. package/prebuilds/node-pty/win32-x64/pty.node +0 -0
  166. package/prebuilds/node-pty/win32-x64/pty.pdb +0 -0
  167. package/prebuilds/node-pty/win32-x64/winpty-agent.exe +0 -0
  168. package/prebuilds/node-pty/win32-x64/winpty-agent.pdb +0 -0
  169. package/prebuilds/node-pty/win32-x64/winpty.dll +0 -0
  170. package/prebuilds/node-pty/win32-x64/winpty.pdb +0 -0
  171. package/scripts/postinstall.js +51 -1
  172. package/dist/server/ui/assets/index-BoDZOB7c.css +0 -32
  173. package/dist/server/ui/assets/index-hB0e02VB.js +0 -735
@@ -0,0 +1,369 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ReviewsController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const zod_1 = require("zod");
18
+ const logger_1 = require("../../../common/logging/logger");
19
+ const error_types_1 = require("../../../common/errors/error-types");
20
+ const reviews_service_1 = require("../services/reviews.service");
21
+ const review_dto_1 = require("../dtos/review.dto");
22
+ const logger = (0, logger_1.createLogger)('ReviewsController');
23
+ function transformCommentForApi(comment) {
24
+ return {
25
+ ...comment,
26
+ side: (0, review_dto_1.mapSideFromStorage)(comment.side),
27
+ };
28
+ }
29
+ function transformCommentsForApi(result) {
30
+ return {
31
+ ...result,
32
+ items: result.items.map(transformCommentForApi),
33
+ };
34
+ }
35
+ function parseOrThrow(schema, data) {
36
+ try {
37
+ return schema.parse(data);
38
+ }
39
+ catch (error) {
40
+ if (error instanceof zod_1.ZodError) {
41
+ const messages = error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
42
+ throw new common_1.BadRequestException(`Validation failed: ${messages}`);
43
+ }
44
+ throw error;
45
+ }
46
+ }
47
+ function handleDomainError(error, resourceType, resourceId) {
48
+ if (error instanceof error_types_1.NotFoundError) {
49
+ throw new common_1.NotFoundException(`${resourceType} not found: ${resourceId}`);
50
+ }
51
+ if (error instanceof error_types_1.OptimisticLockError) {
52
+ throw new common_1.BadRequestException(`Version conflict: ${resourceType.toLowerCase()} has been modified`);
53
+ }
54
+ if (error instanceof error_types_1.ValidationError) {
55
+ throw new common_1.BadRequestException(error.message);
56
+ }
57
+ throw error;
58
+ }
59
+ let ReviewsController = class ReviewsController {
60
+ constructor(reviewsService) {
61
+ this.reviewsService = reviewsService;
62
+ }
63
+ async listReviews(projectId, status, epicId, limit, offset) {
64
+ logger.info({ projectId, status, limit, offset }, 'GET /api/reviews');
65
+ const query = parseOrThrow(review_dto_1.ListReviewsQuerySchema, {
66
+ projectId,
67
+ status,
68
+ epicId,
69
+ limit,
70
+ offset,
71
+ });
72
+ try {
73
+ return await this.reviewsService.listReviews(query.projectId, {
74
+ status: query.status,
75
+ epicId: query.epicId,
76
+ limit: query.limit,
77
+ offset: query.offset,
78
+ });
79
+ }
80
+ catch (error) {
81
+ handleDomainError(error, 'Project', query.projectId);
82
+ }
83
+ }
84
+ async createReview(body) {
85
+ logger.info({ body }, 'POST /api/reviews');
86
+ const data = parseOrThrow(review_dto_1.CreateReviewSchema, body);
87
+ try {
88
+ return await this.reviewsService.createReview({
89
+ projectId: data.projectId,
90
+ epicId: data.epicId,
91
+ title: data.title,
92
+ description: data.description,
93
+ status: data.status,
94
+ mode: data.mode,
95
+ baseRef: data.baseRef,
96
+ headRef: data.headRef,
97
+ baseSha: data.baseSha,
98
+ headSha: data.headSha,
99
+ createdBy: data.createdBy,
100
+ createdByAgentId: data.createdByAgentId,
101
+ });
102
+ }
103
+ catch (error) {
104
+ handleDomainError(error, 'Project', data.projectId);
105
+ }
106
+ }
107
+ async getActiveReview(projectId) {
108
+ logger.info({ projectId }, 'GET /api/reviews/active');
109
+ const query = parseOrThrow(review_dto_1.ActiveReviewQuerySchema, { projectId });
110
+ try {
111
+ const review = await this.reviewsService.getActiveReview(query.projectId);
112
+ return { review };
113
+ }
114
+ catch (error) {
115
+ handleDomainError(error, 'Project', query.projectId);
116
+ }
117
+ }
118
+ async getReview(id) {
119
+ logger.info({ id }, 'GET /api/reviews/:id');
120
+ try {
121
+ return await this.reviewsService.getReview(id);
122
+ }
123
+ catch (error) {
124
+ handleDomainError(error, 'Review', id);
125
+ }
126
+ }
127
+ async updateReview(id, body) {
128
+ logger.info({ id, body }, 'PUT /api/reviews/:id');
129
+ const data = parseOrThrow(review_dto_1.UpdateReviewSchema, body);
130
+ try {
131
+ return await this.reviewsService.updateReview(id, {
132
+ title: data.title,
133
+ description: data.description,
134
+ status: data.status,
135
+ headSha: data.headSha,
136
+ }, data.version);
137
+ }
138
+ catch (error) {
139
+ handleDomainError(error, 'Review', id);
140
+ }
141
+ }
142
+ async deleteReview(id) {
143
+ logger.info({ id }, 'DELETE /api/reviews/:id');
144
+ try {
145
+ await this.reviewsService.deleteReview(id);
146
+ }
147
+ catch (error) {
148
+ handleDomainError(error, 'Review', id);
149
+ }
150
+ }
151
+ async closeReview(id, body) {
152
+ logger.info({ id, body }, 'POST /api/reviews/:id/close');
153
+ const data = parseOrThrow(review_dto_1.CloseReviewSchema, body);
154
+ try {
155
+ return await this.reviewsService.closeReview(id, data.version);
156
+ }
157
+ catch (error) {
158
+ handleDomainError(error, 'Review', id);
159
+ }
160
+ }
161
+ async listComments(id, status, filePath, parentId, limit, offset) {
162
+ logger.info({ reviewId: id, status, filePath, limit, offset }, 'GET /api/reviews/:id/comments');
163
+ const query = parseOrThrow(review_dto_1.ListCommentsQuerySchema, {
164
+ status,
165
+ filePath,
166
+ parentId: parentId === 'null' ? null : parentId,
167
+ limit,
168
+ offset,
169
+ });
170
+ try {
171
+ const result = await this.reviewsService.listComments(id, {
172
+ status: query.status,
173
+ filePath: query.filePath,
174
+ parentId: query.parentId,
175
+ limit: query.limit,
176
+ offset: query.offset,
177
+ });
178
+ return transformCommentsForApi(result);
179
+ }
180
+ catch (error) {
181
+ handleDomainError(error, 'Review', id);
182
+ }
183
+ }
184
+ async createComment(id, body) {
185
+ logger.info({ reviewId: id, body }, 'POST /api/reviews/:id/comments');
186
+ const data = parseOrThrow(review_dto_1.CreateCommentSchema, body);
187
+ try {
188
+ const comment = await this.reviewsService.createComment(id, {
189
+ filePath: data.filePath,
190
+ parentId: data.parentId,
191
+ lineStart: data.lineStart,
192
+ lineEnd: data.lineEnd,
193
+ side: (0, review_dto_1.mapSideToStorage)(data.side ?? null),
194
+ content: data.content,
195
+ commentType: data.commentType,
196
+ status: data.status,
197
+ authorType: data.authorType,
198
+ authorAgentId: data.authorAgentId,
199
+ targetAgentIds: data.targetAgentIds,
200
+ });
201
+ return transformCommentForApi(comment);
202
+ }
203
+ catch (error) {
204
+ handleDomainError(error, 'Review', id);
205
+ }
206
+ }
207
+ async updateComment(id, commentId, body) {
208
+ logger.info({ reviewId: id, commentId, body }, 'PUT /api/reviews/:id/comments/:commentId');
209
+ const data = parseOrThrow(review_dto_1.UpdateCommentSchema, body);
210
+ try {
211
+ const comment = await this.reviewsService.updateComment(id, commentId, {
212
+ content: data.content,
213
+ status: data.status,
214
+ }, data.version);
215
+ return transformCommentForApi(comment);
216
+ }
217
+ catch (error) {
218
+ handleDomainError(error, 'Comment', commentId);
219
+ }
220
+ }
221
+ async deleteComment(id, commentId) {
222
+ logger.info({ reviewId: id, commentId }, 'DELETE /api/reviews/:id/comments/:commentId');
223
+ try {
224
+ await this.reviewsService.deleteComment(id, commentId);
225
+ }
226
+ catch (error) {
227
+ handleDomainError(error, 'Comment', commentId);
228
+ }
229
+ }
230
+ async resolveComment(id, commentId, body) {
231
+ logger.info({ reviewId: id, commentId, body }, 'PATCH /api/reviews/:id/comments/:commentId/resolve');
232
+ const data = parseOrThrow(review_dto_1.ResolveCommentSchema, body);
233
+ try {
234
+ const comment = await this.reviewsService.resolveComment(id, commentId, data.status, data.version);
235
+ return transformCommentForApi(comment);
236
+ }
237
+ catch (error) {
238
+ handleDomainError(error, 'Comment', commentId);
239
+ }
240
+ }
241
+ async getCommentTargets(id, commentId) {
242
+ logger.info({ reviewId: id, commentId }, 'GET /api/reviews/:id/comments/:commentId/targets');
243
+ try {
244
+ return await this.reviewsService.getCommentTargets(id, commentId);
245
+ }
246
+ catch (error) {
247
+ handleDomainError(error, 'Comment', commentId);
248
+ }
249
+ }
250
+ };
251
+ exports.ReviewsController = ReviewsController;
252
+ __decorate([
253
+ (0, common_1.Get)(),
254
+ __param(0, (0, common_1.Query)('projectId')),
255
+ __param(1, (0, common_1.Query)('status')),
256
+ __param(2, (0, common_1.Query)('epicId')),
257
+ __param(3, (0, common_1.Query)('limit')),
258
+ __param(4, (0, common_1.Query)('offset')),
259
+ __metadata("design:type", Function),
260
+ __metadata("design:paramtypes", [String, String, String, String, String]),
261
+ __metadata("design:returntype", Promise)
262
+ ], ReviewsController.prototype, "listReviews", null);
263
+ __decorate([
264
+ (0, common_1.Post)(),
265
+ (0, common_1.HttpCode)(common_1.HttpStatus.CREATED),
266
+ __param(0, (0, common_1.Body)()),
267
+ __metadata("design:type", Function),
268
+ __metadata("design:paramtypes", [Object]),
269
+ __metadata("design:returntype", Promise)
270
+ ], ReviewsController.prototype, "createReview", null);
271
+ __decorate([
272
+ (0, common_1.Get)('active'),
273
+ __param(0, (0, common_1.Query)('projectId')),
274
+ __metadata("design:type", Function),
275
+ __metadata("design:paramtypes", [String]),
276
+ __metadata("design:returntype", Promise)
277
+ ], ReviewsController.prototype, "getActiveReview", null);
278
+ __decorate([
279
+ (0, common_1.Get)(':id'),
280
+ __param(0, (0, common_1.Param)('id')),
281
+ __metadata("design:type", Function),
282
+ __metadata("design:paramtypes", [String]),
283
+ __metadata("design:returntype", Promise)
284
+ ], ReviewsController.prototype, "getReview", null);
285
+ __decorate([
286
+ (0, common_1.Put)(':id'),
287
+ __param(0, (0, common_1.Param)('id')),
288
+ __param(1, (0, common_1.Body)()),
289
+ __metadata("design:type", Function),
290
+ __metadata("design:paramtypes", [String, Object]),
291
+ __metadata("design:returntype", Promise)
292
+ ], ReviewsController.prototype, "updateReview", null);
293
+ __decorate([
294
+ (0, common_1.Delete)(':id'),
295
+ (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
296
+ __param(0, (0, common_1.Param)('id')),
297
+ __metadata("design:type", Function),
298
+ __metadata("design:paramtypes", [String]),
299
+ __metadata("design:returntype", Promise)
300
+ ], ReviewsController.prototype, "deleteReview", null);
301
+ __decorate([
302
+ (0, common_1.Post)(':id/close'),
303
+ __param(0, (0, common_1.Param)('id')),
304
+ __param(1, (0, common_1.Body)()),
305
+ __metadata("design:type", Function),
306
+ __metadata("design:paramtypes", [String, Object]),
307
+ __metadata("design:returntype", Promise)
308
+ ], ReviewsController.prototype, "closeReview", null);
309
+ __decorate([
310
+ (0, common_1.Get)(':id/comments'),
311
+ __param(0, (0, common_1.Param)('id')),
312
+ __param(1, (0, common_1.Query)('status')),
313
+ __param(2, (0, common_1.Query)('filePath')),
314
+ __param(3, (0, common_1.Query)('parentId')),
315
+ __param(4, (0, common_1.Query)('limit')),
316
+ __param(5, (0, common_1.Query)('offset')),
317
+ __metadata("design:type", Function),
318
+ __metadata("design:paramtypes", [String, String, String, String, String, String]),
319
+ __metadata("design:returntype", Promise)
320
+ ], ReviewsController.prototype, "listComments", null);
321
+ __decorate([
322
+ (0, common_1.Post)(':id/comments'),
323
+ (0, common_1.HttpCode)(common_1.HttpStatus.CREATED),
324
+ __param(0, (0, common_1.Param)('id')),
325
+ __param(1, (0, common_1.Body)()),
326
+ __metadata("design:type", Function),
327
+ __metadata("design:paramtypes", [String, Object]),
328
+ __metadata("design:returntype", Promise)
329
+ ], ReviewsController.prototype, "createComment", null);
330
+ __decorate([
331
+ (0, common_1.Put)(':id/comments/:commentId'),
332
+ __param(0, (0, common_1.Param)('id')),
333
+ __param(1, (0, common_1.Param)('commentId')),
334
+ __param(2, (0, common_1.Body)()),
335
+ __metadata("design:type", Function),
336
+ __metadata("design:paramtypes", [String, String, Object]),
337
+ __metadata("design:returntype", Promise)
338
+ ], ReviewsController.prototype, "updateComment", null);
339
+ __decorate([
340
+ (0, common_1.Delete)(':id/comments/:commentId'),
341
+ (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
342
+ __param(0, (0, common_1.Param)('id')),
343
+ __param(1, (0, common_1.Param)('commentId')),
344
+ __metadata("design:type", Function),
345
+ __metadata("design:paramtypes", [String, String]),
346
+ __metadata("design:returntype", Promise)
347
+ ], ReviewsController.prototype, "deleteComment", null);
348
+ __decorate([
349
+ (0, common_1.Patch)(':id/comments/:commentId/resolve'),
350
+ __param(0, (0, common_1.Param)('id')),
351
+ __param(1, (0, common_1.Param)('commentId')),
352
+ __param(2, (0, common_1.Body)()),
353
+ __metadata("design:type", Function),
354
+ __metadata("design:paramtypes", [String, String, Object]),
355
+ __metadata("design:returntype", Promise)
356
+ ], ReviewsController.prototype, "resolveComment", null);
357
+ __decorate([
358
+ (0, common_1.Get)(':id/comments/:commentId/targets'),
359
+ __param(0, (0, common_1.Param)('id')),
360
+ __param(1, (0, common_1.Param)('commentId')),
361
+ __metadata("design:type", Function),
362
+ __metadata("design:paramtypes", [String, String]),
363
+ __metadata("design:returntype", Promise)
364
+ ], ReviewsController.prototype, "getCommentTargets", null);
365
+ exports.ReviewsController = ReviewsController = __decorate([
366
+ (0, common_1.Controller)('api/reviews'),
367
+ __metadata("design:paramtypes", [reviews_service_1.ReviewsService])
368
+ ], ReviewsController);
369
+ //# sourceMappingURL=reviews.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviews.controller.js","sourceRoot":"","sources":["../../../../src/modules/reviews/controllers/reviews.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ import { z } from 'zod';
2
+ export declare const ReviewStatusSchema: z.ZodEnum<["draft", "pending", "changes_requested", "approved", "closed"]>;
3
+ export type ReviewStatusDto = z.infer<typeof ReviewStatusSchema>;
4
+ export declare const ReviewModeSchema: z.ZodEnum<["working_tree", "commit"]>;
5
+ export type ReviewModeDto = z.infer<typeof ReviewModeSchema>;
6
+ export declare const CommentStatusSchema: z.ZodEnum<["open", "resolved", "wont_fix"]>;
7
+ export type CommentStatusDto = z.infer<typeof CommentStatusSchema>;
8
+ export declare const CommentTypeSchema: z.ZodEnum<["comment", "suggestion", "issue", "approval"]>;
9
+ export type CommentTypeDto = z.infer<typeof CommentTypeSchema>;
10
+ export declare const AuthorTypeSchema: z.ZodEnum<["user", "agent"]>;
11
+ export type AuthorTypeDto = z.infer<typeof AuthorTypeSchema>;
12
+ export declare const DiffSideSchema: z.ZodEnum<["old", "new"]>;
13
+ export type DiffSideDto = z.infer<typeof DiffSideSchema>;
14
+ export declare function mapSideToStorage(side: DiffSideDto | null): 'left' | 'right' | null;
15
+ export declare function mapSideFromStorage(side: 'left' | 'right' | null): DiffSideDto | null;
16
+ export declare const CreateReviewSchema: z.ZodObject<{
17
+ projectId: z.ZodString;
18
+ epicId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ title: z.ZodString;
20
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["draft", "pending", "changes_requested", "approved", "closed"]>>>;
22
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["working_tree", "commit"]>>>;
23
+ baseRef: z.ZodString;
24
+ headRef: z.ZodString;
25
+ baseSha: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ headSha: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ createdBy: z.ZodDefault<z.ZodOptional<z.ZodEnum<["user", "agent"]>>>;
28
+ createdByAgentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ status: "draft" | "pending" | "changes_requested" | "approved" | "closed";
31
+ projectId: string;
32
+ title: string;
33
+ mode: "working_tree" | "commit";
34
+ baseRef: string;
35
+ headRef: string;
36
+ createdBy: "agent" | "user";
37
+ description?: string | null | undefined;
38
+ epicId?: string | null | undefined;
39
+ baseSha?: string | null | undefined;
40
+ headSha?: string | null | undefined;
41
+ createdByAgentId?: string | null | undefined;
42
+ }, {
43
+ projectId: string;
44
+ title: string;
45
+ baseRef: string;
46
+ headRef: string;
47
+ status?: "draft" | "pending" | "changes_requested" | "approved" | "closed" | undefined;
48
+ description?: string | null | undefined;
49
+ epicId?: string | null | undefined;
50
+ mode?: "working_tree" | "commit" | undefined;
51
+ baseSha?: string | null | undefined;
52
+ headSha?: string | null | undefined;
53
+ createdBy?: "agent" | "user" | undefined;
54
+ createdByAgentId?: string | null | undefined;
55
+ }>;
56
+ export type CreateReviewDto = z.infer<typeof CreateReviewSchema>;
57
+ export declare const UpdateReviewSchema: z.ZodObject<{
58
+ title: z.ZodOptional<z.ZodString>;
59
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
+ status: z.ZodOptional<z.ZodEnum<["draft", "pending", "changes_requested", "approved", "closed"]>>;
61
+ headSha: z.ZodOptional<z.ZodString>;
62
+ version: z.ZodNumber;
63
+ }, "strip", z.ZodTypeAny, {
64
+ version: number;
65
+ status?: "draft" | "pending" | "changes_requested" | "approved" | "closed" | undefined;
66
+ description?: string | null | undefined;
67
+ title?: string | undefined;
68
+ headSha?: string | undefined;
69
+ }, {
70
+ version: number;
71
+ status?: "draft" | "pending" | "changes_requested" | "approved" | "closed" | undefined;
72
+ description?: string | null | undefined;
73
+ title?: string | undefined;
74
+ headSha?: string | undefined;
75
+ }>;
76
+ export type UpdateReviewDto = z.infer<typeof UpdateReviewSchema>;
77
+ export declare const ListReviewsQuerySchema: z.ZodObject<{
78
+ projectId: z.ZodString;
79
+ status: z.ZodOptional<z.ZodEnum<["draft", "pending", "changes_requested", "approved", "closed"]>>;
80
+ epicId: z.ZodOptional<z.ZodString>;
81
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
82
+ offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ projectId: string;
85
+ limit: number;
86
+ offset: number;
87
+ status?: "draft" | "pending" | "changes_requested" | "approved" | "closed" | undefined;
88
+ epicId?: string | undefined;
89
+ }, {
90
+ projectId: string;
91
+ status?: "draft" | "pending" | "changes_requested" | "approved" | "closed" | undefined;
92
+ epicId?: string | undefined;
93
+ limit?: number | undefined;
94
+ offset?: number | undefined;
95
+ }>;
96
+ export type ListReviewsQueryDto = z.infer<typeof ListReviewsQuerySchema>;
97
+ export declare const CreateCommentSchema: z.ZodObject<{
98
+ filePath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
100
+ lineStart: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
101
+ lineEnd: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
102
+ side: z.ZodOptional<z.ZodNullable<z.ZodEnum<["old", "new"]>>>;
103
+ content: z.ZodString;
104
+ commentType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["comment", "suggestion", "issue", "approval"]>>>;
105
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["open", "resolved", "wont_fix"]>>>;
106
+ authorType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["user", "agent"]>>>;
107
+ authorAgentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
108
+ targetAgentIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ status: "open" | "resolved" | "wont_fix";
111
+ content: string;
112
+ commentType: "comment" | "suggestion" | "issue" | "approval";
113
+ authorType: "agent" | "user";
114
+ parentId?: string | null | undefined;
115
+ filePath?: string | null | undefined;
116
+ lineStart?: number | null | undefined;
117
+ lineEnd?: number | null | undefined;
118
+ side?: "old" | "new" | null | undefined;
119
+ authorAgentId?: string | null | undefined;
120
+ targetAgentIds?: string[] | undefined;
121
+ }, {
122
+ content: string;
123
+ status?: "open" | "resolved" | "wont_fix" | undefined;
124
+ parentId?: string | null | undefined;
125
+ filePath?: string | null | undefined;
126
+ lineStart?: number | null | undefined;
127
+ lineEnd?: number | null | undefined;
128
+ side?: "old" | "new" | null | undefined;
129
+ commentType?: "comment" | "suggestion" | "issue" | "approval" | undefined;
130
+ authorType?: "agent" | "user" | undefined;
131
+ authorAgentId?: string | null | undefined;
132
+ targetAgentIds?: string[] | undefined;
133
+ }>;
134
+ export type CreateCommentDto = z.infer<typeof CreateCommentSchema>;
135
+ export declare const UpdateCommentSchema: z.ZodObject<{
136
+ content: z.ZodOptional<z.ZodString>;
137
+ status: z.ZodOptional<z.ZodEnum<["open", "resolved", "wont_fix"]>>;
138
+ version: z.ZodNumber;
139
+ }, "strip", z.ZodTypeAny, {
140
+ version: number;
141
+ status?: "open" | "resolved" | "wont_fix" | undefined;
142
+ content?: string | undefined;
143
+ }, {
144
+ version: number;
145
+ status?: "open" | "resolved" | "wont_fix" | undefined;
146
+ content?: string | undefined;
147
+ }>;
148
+ export type UpdateCommentDto = z.infer<typeof UpdateCommentSchema>;
149
+ export declare const ResolveCommentSchema: z.ZodObject<{
150
+ status: z.ZodEnum<["resolved", "wont_fix"]>;
151
+ version: z.ZodNumber;
152
+ }, "strip", z.ZodTypeAny, {
153
+ status: "resolved" | "wont_fix";
154
+ version: number;
155
+ }, {
156
+ status: "resolved" | "wont_fix";
157
+ version: number;
158
+ }>;
159
+ export type ResolveCommentDto = z.infer<typeof ResolveCommentSchema>;
160
+ export declare const ListCommentsQuerySchema: z.ZodObject<{
161
+ status: z.ZodOptional<z.ZodEnum<["open", "resolved", "wont_fix"]>>;
162
+ filePath: z.ZodOptional<z.ZodString>;
163
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
164
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
165
+ offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
166
+ }, "strip", z.ZodTypeAny, {
167
+ limit: number;
168
+ offset: number;
169
+ status?: "open" | "resolved" | "wont_fix" | undefined;
170
+ parentId?: string | null | undefined;
171
+ filePath?: string | undefined;
172
+ }, {
173
+ status?: "open" | "resolved" | "wont_fix" | undefined;
174
+ parentId?: string | null | undefined;
175
+ filePath?: string | undefined;
176
+ limit?: number | undefined;
177
+ offset?: number | undefined;
178
+ }>;
179
+ export type ListCommentsQueryDto = z.infer<typeof ListCommentsQuerySchema>;
180
+ export declare const ActiveReviewQuerySchema: z.ZodObject<{
181
+ projectId: z.ZodString;
182
+ }, "strip", z.ZodTypeAny, {
183
+ projectId: string;
184
+ }, {
185
+ projectId: string;
186
+ }>;
187
+ export type ActiveReviewQueryDto = z.infer<typeof ActiveReviewQuerySchema>;
188
+ export declare const CloseReviewSchema: z.ZodObject<{
189
+ version: z.ZodNumber;
190
+ }, "strip", z.ZodTypeAny, {
191
+ version: number;
192
+ }, {
193
+ version: number;
194
+ }>;
195
+ export type CloseReviewDto = z.infer<typeof CloseReviewSchema>;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CloseReviewSchema = exports.ActiveReviewQuerySchema = exports.ListCommentsQuerySchema = exports.ResolveCommentSchema = exports.UpdateCommentSchema = exports.CreateCommentSchema = exports.ListReviewsQuerySchema = exports.UpdateReviewSchema = exports.CreateReviewSchema = exports.DiffSideSchema = exports.AuthorTypeSchema = exports.CommentTypeSchema = exports.CommentStatusSchema = exports.ReviewModeSchema = exports.ReviewStatusSchema = void 0;
4
+ exports.mapSideToStorage = mapSideToStorage;
5
+ exports.mapSideFromStorage = mapSideFromStorage;
6
+ const zod_1 = require("zod");
7
+ exports.ReviewStatusSchema = zod_1.z.enum([
8
+ 'draft',
9
+ 'pending',
10
+ 'changes_requested',
11
+ 'approved',
12
+ 'closed',
13
+ ]);
14
+ exports.ReviewModeSchema = zod_1.z.enum(['working_tree', 'commit']);
15
+ exports.CommentStatusSchema = zod_1.z.enum(['open', 'resolved', 'wont_fix']);
16
+ exports.CommentTypeSchema = zod_1.z.enum(['comment', 'suggestion', 'issue', 'approval']);
17
+ exports.AuthorTypeSchema = zod_1.z.enum(['user', 'agent']);
18
+ exports.DiffSideSchema = zod_1.z.enum(['old', 'new']);
19
+ function mapSideToStorage(side) {
20
+ if (side === null)
21
+ return null;
22
+ return side === 'old' ? 'left' : 'right';
23
+ }
24
+ function mapSideFromStorage(side) {
25
+ if (side === null)
26
+ return null;
27
+ return side === 'left' ? 'old' : 'new';
28
+ }
29
+ exports.CreateReviewSchema = zod_1.z.object({
30
+ projectId: zod_1.z.string().uuid(),
31
+ epicId: zod_1.z.string().uuid().nullable().optional(),
32
+ title: zod_1.z.string().min(1, 'Title is required'),
33
+ description: zod_1.z.string().nullable().optional(),
34
+ status: exports.ReviewStatusSchema.optional().default('draft'),
35
+ mode: exports.ReviewModeSchema.optional().default('working_tree'),
36
+ baseRef: zod_1.z.string().min(1, 'Base ref is required'),
37
+ headRef: zod_1.z.string().min(1, 'Head ref is required'),
38
+ baseSha: zod_1.z.string().min(1).nullable().optional(),
39
+ headSha: zod_1.z.string().min(1).nullable().optional(),
40
+ createdBy: exports.AuthorTypeSchema.optional().default('user'),
41
+ createdByAgentId: zod_1.z.string().uuid().nullable().optional(),
42
+ });
43
+ exports.UpdateReviewSchema = zod_1.z.object({
44
+ title: zod_1.z.string().min(1).optional(),
45
+ description: zod_1.z.string().nullable().optional(),
46
+ status: exports.ReviewStatusSchema.optional(),
47
+ headSha: zod_1.z.string().min(1).optional(),
48
+ version: zod_1.z.number().int().positive('Version must be a positive integer'),
49
+ });
50
+ exports.ListReviewsQuerySchema = zod_1.z.object({
51
+ projectId: zod_1.z.string().uuid(),
52
+ status: exports.ReviewStatusSchema.optional(),
53
+ epicId: zod_1.z.string().uuid().optional(),
54
+ limit: zod_1.z.coerce.number().int().positive().optional().default(100),
55
+ offset: zod_1.z.coerce.number().int().nonnegative().optional().default(0),
56
+ });
57
+ exports.CreateCommentSchema = zod_1.z.object({
58
+ filePath: zod_1.z.string().nullable().optional(),
59
+ parentId: zod_1.z.string().uuid().nullable().optional(),
60
+ lineStart: zod_1.z.number().int().positive().nullable().optional(),
61
+ lineEnd: zod_1.z.number().int().positive().nullable().optional(),
62
+ side: exports.DiffSideSchema.nullable().optional(),
63
+ content: zod_1.z.string().min(1, 'Content is required'),
64
+ commentType: exports.CommentTypeSchema.optional().default('comment'),
65
+ status: exports.CommentStatusSchema.optional().default('open'),
66
+ authorType: exports.AuthorTypeSchema.optional().default('user'),
67
+ authorAgentId: zod_1.z.string().uuid().nullable().optional(),
68
+ targetAgentIds: zod_1.z.array(zod_1.z.string().uuid()).optional(),
69
+ });
70
+ exports.UpdateCommentSchema = zod_1.z.object({
71
+ content: zod_1.z.string().min(1).optional(),
72
+ status: exports.CommentStatusSchema.optional(),
73
+ version: zod_1.z.number().int().positive('Version must be a positive integer'),
74
+ });
75
+ exports.ResolveCommentSchema = zod_1.z.object({
76
+ status: zod_1.z.enum(['resolved', 'wont_fix']),
77
+ version: zod_1.z.number().int().positive('Version must be a positive integer'),
78
+ });
79
+ exports.ListCommentsQuerySchema = zod_1.z.object({
80
+ status: exports.CommentStatusSchema.optional(),
81
+ filePath: zod_1.z.string().optional(),
82
+ parentId: zod_1.z.string().uuid().nullable().optional(),
83
+ limit: zod_1.z.coerce.number().int().positive().optional().default(100),
84
+ offset: zod_1.z.coerce.number().int().nonnegative().optional().default(0),
85
+ });
86
+ exports.ActiveReviewQuerySchema = zod_1.z.object({
87
+ projectId: zod_1.z.string().uuid(),
88
+ });
89
+ exports.CloseReviewSchema = zod_1.z.object({
90
+ version: zod_1.z.number().int().positive('Version must be a positive integer'),
91
+ });
92
+ //# sourceMappingURL=review.dto.js.map