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
@@ -2,8 +2,53 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  process.env.NODE_ENV = 'test';
4
4
  require("@testing-library/jest-dom");
5
+ const jest_axe_1 = require("jest-axe");
5
6
  const util_1 = require("util");
6
7
  const common_1 = require("@nestjs/common");
8
+ HTMLCanvasElement.prototype.getContext = jest.fn(function (contextId) {
9
+ if (contextId === '2d') {
10
+ return {
11
+ fillRect: jest.fn(),
12
+ clearRect: jest.fn(),
13
+ getImageData: jest.fn(() => ({ data: new Array(4) })),
14
+ putImageData: jest.fn(),
15
+ createImageData: jest.fn(() => []),
16
+ setTransform: jest.fn(),
17
+ drawImage: jest.fn(),
18
+ save: jest.fn(),
19
+ restore: jest.fn(),
20
+ beginPath: jest.fn(),
21
+ moveTo: jest.fn(),
22
+ lineTo: jest.fn(),
23
+ closePath: jest.fn(),
24
+ stroke: jest.fn(),
25
+ fill: jest.fn(),
26
+ translate: jest.fn(),
27
+ scale: jest.fn(),
28
+ rotate: jest.fn(),
29
+ arc: jest.fn(),
30
+ measureText: jest.fn(() => ({ width: 0 })),
31
+ transform: jest.fn(),
32
+ rect: jest.fn(),
33
+ clip: jest.fn(),
34
+ fillText: jest.fn(),
35
+ strokeText: jest.fn(),
36
+ createLinearGradient: jest.fn(() => ({
37
+ addColorStop: jest.fn(),
38
+ })),
39
+ createRadialGradient: jest.fn(() => ({
40
+ addColorStop: jest.fn(),
41
+ })),
42
+ createPattern: jest.fn(),
43
+ canvas: this,
44
+ };
45
+ }
46
+ if (contextId === 'webgl' || contextId === 'webgl2') {
47
+ return null;
48
+ }
49
+ return null;
50
+ });
51
+ expect.extend(jest_axe_1.toHaveNoViolations);
7
52
  globalThis.IS_REACT_ACT_ENVIRONMENT = true;
8
53
  common_1.Logger.overrideLogger(false);
9
54
  if (!global.TextEncoder) {
@@ -1 +1 @@
1
- {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":";;AAEA,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;AAE9B,qCAAmC;AAEnC,+BAAgD;AAChD,2CAAwC;AAIxC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC;AAG3C,eAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAI7B,IAAI,CAAE,MAAc,CAAC,WAAW,EAAE,CAAC;IAEhC,MAAc,CAAC,WAAW,GAAG,kBAAW,CAAC;AAC5C,CAAC;AAGD,IAAI,CAAE,MAAc,CAAC,WAAW,EAAE,CAAC;IAEhC,MAAc,CAAC,WAAW,GAAG,kBAAuD,CAAC;AACxF,CAAC;AAID,IAAI,CAAE,MAAc,CAAC,YAAY,EAAE,CAAC;IAEjC,MAAc,CAAC,YAAY,GAAG,CAAC,EAA4B,EAAE,GAAG,IAAW,EAAE,EAAE,CAC9E,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/B,CAAC;AAeD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAC7B,OAAO,CAAC,OAAO,CAAC;IACd,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG;CACA,CAAC,CACf,CAAC;AACF,MAAM,CAAC,KAAK,GAAG,SAAoC,CAAC;AAIpD,SAAS,CAAC,GAAG,EAAE;IAEb,MAAM,CAAC,KAAK,GAAG,SAAoC,CAAC;IAEpD,SAAS,CAAC,SAAS,EAAE,CAAC;IAEtB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAChC,OAAO,CAAC,OAAO,CAAC;QACd,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG;KACA,CAAC,CACf,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"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"}