reviewflow 3.21.0 → 3.22.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 (96) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/dashboard/index.html +258 -44
  3. package/dist/dashboard/modules/animations.d.ts +164 -0
  4. package/dist/dashboard/modules/animations.d.ts.map +1 -0
  5. package/dist/dashboard/modules/animations.js +405 -0
  6. package/dist/dashboard/modules/animations.js.map +1 -0
  7. package/dist/dashboard/modules/cardCounters.d.ts +16 -1
  8. package/dist/dashboard/modules/cardCounters.d.ts.map +1 -1
  9. package/dist/dashboard/modules/cardCounters.js +36 -2
  10. package/dist/dashboard/modules/cardCounters.js.map +1 -1
  11. package/dist/dashboard/modules/i18n.d.ts.map +1 -1
  12. package/dist/dashboard/modules/i18n.js +20 -2
  13. package/dist/dashboard/modules/i18n.js.map +1 -1
  14. package/dist/dashboard/modules/settingsModal.d.ts.map +1 -1
  15. package/dist/dashboard/modules/settingsModal.js +28 -8
  16. package/dist/dashboard/modules/settingsModal.js.map +1 -1
  17. package/dist/dashboard/styles.css +731 -372
  18. package/dist/main/server.d.ts.map +1 -1
  19. package/dist/main/server.js +22 -0
  20. package/dist/main/server.js.map +1 -1
  21. package/dist/modules/claude-invocation/interface-adapters/gateways/reviewReport.fileSystem.gateway.d.ts +1 -0
  22. package/dist/modules/claude-invocation/interface-adapters/gateways/reviewReport.fileSystem.gateway.d.ts.map +1 -1
  23. package/dist/modules/claude-invocation/interface-adapters/gateways/reviewReport.fileSystem.gateway.js +26 -5
  24. package/dist/modules/claude-invocation/interface-adapters/gateways/reviewReport.fileSystem.gateway.js.map +1 -1
  25. package/dist/modules/cli-configuration/interface-adapters/controllers/http/repositories.routes.d.ts.map +1 -1
  26. package/dist/modules/cli-configuration/interface-adapters/controllers/http/repositories.routes.js +1 -0
  27. package/dist/modules/cli-configuration/interface-adapters/controllers/http/repositories.routes.js.map +1 -1
  28. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -1
  29. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js +3 -0
  30. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js.map +1 -1
  31. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.d.ts.map +1 -1
  32. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.js +3 -0
  33. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.js.map +1 -1
  34. package/dist/modules/review-execution/entities/reviewContext/reviewContext.gateway.d.ts +1 -0
  35. package/dist/modules/review-execution/entities/reviewContext/reviewContext.gateway.d.ts.map +1 -1
  36. package/dist/modules/review-execution/entities/reviewContext/reviewContext.schema.d.ts +10 -2
  37. package/dist/modules/review-execution/entities/reviewContext/reviewContext.schema.d.ts.map +1 -1
  38. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.factory.d.ts +11 -0
  39. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.factory.d.ts.map +1 -0
  40. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.factory.js +22 -0
  41. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.factory.js.map +1 -0
  42. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.guard.d.ts +10 -0
  43. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.guard.d.ts.map +1 -1
  44. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.schema.d.ts +31 -1
  45. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.schema.d.ts.map +1 -1
  46. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.schema.js +11 -1
  47. package/dist/modules/review-execution/entities/reviewContext/reviewContextResult.schema.js.map +1 -1
  48. package/dist/modules/review-execution/interface-adapters/gateways/reviewContext.fileSystem.gateway.d.ts +1 -0
  49. package/dist/modules/review-execution/interface-adapters/gateways/reviewContext.fileSystem.gateway.d.ts.map +1 -1
  50. package/dist/modules/review-execution/interface-adapters/gateways/reviewContext.fileSystem.gateway.js +27 -1
  51. package/dist/modules/review-execution/interface-adapters/gateways/reviewContext.fileSystem.gateway.js.map +1 -1
  52. package/dist/modules/review-execution/services/reviewRecovery.service.d.ts +33 -0
  53. package/dist/modules/review-execution/services/reviewRecovery.service.d.ts.map +1 -0
  54. package/dist/modules/review-execution/services/reviewRecovery.service.js +80 -0
  55. package/dist/modules/review-execution/services/reviewRecovery.service.js.map +1 -0
  56. package/dist/tests/acceptance/91-dashboard-multi-project-overview.acceptance.test.js +2 -0
  57. package/dist/tests/acceptance/91-dashboard-multi-project-overview.acceptance.test.js.map +1 -1
  58. package/dist/tests/stubs/reviewContextGateway.stub.d.ts +1 -0
  59. package/dist/tests/stubs/reviewContextGateway.stub.d.ts.map +1 -1
  60. package/dist/tests/stubs/reviewContextGateway.stub.js +3 -0
  61. package/dist/tests/stubs/reviewContextGateway.stub.js.map +1 -1
  62. package/dist/tests/units/dashboard/modules/animations.test.d.ts +10 -0
  63. package/dist/tests/units/dashboard/modules/animations.test.d.ts.map +1 -0
  64. package/dist/tests/units/dashboard/modules/animations.test.js +223 -0
  65. package/dist/tests/units/dashboard/modules/animations.test.js.map +1 -0
  66. package/dist/tests/units/dashboard/modules/cardCounters.test.js +56 -0
  67. package/dist/tests/units/dashboard/modules/cardCounters.test.js.map +1 -1
  68. package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.js +1 -0
  69. package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.js.map +1 -1
  70. package/dist/tests/units/entities/reviewContext/reviewContextResult.factory.test.d.ts +2 -0
  71. package/dist/tests/units/entities/reviewContext/reviewContextResult.factory.test.d.ts.map +1 -0
  72. package/dist/tests/units/entities/reviewContext/reviewContextResult.factory.test.js +43 -0
  73. package/dist/tests/units/entities/reviewContext/reviewContextResult.factory.test.js.map +1 -0
  74. package/dist/tests/units/entities/reviewContext/reviewContextResult.guard.test.js +7 -3
  75. package/dist/tests/units/entities/reviewContext/reviewContextResult.guard.test.js.map +1 -1
  76. package/dist/tests/units/entities/reviewContext/reviewContextResult.schema.test.js +12 -1
  77. package/dist/tests/units/entities/reviewContext/reviewContextResult.schema.test.js.map +1 -1
  78. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +57 -0
  79. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -1
  80. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +1 -0
  81. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -1
  82. package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.js +64 -4
  83. package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.js.map +1 -1
  84. package/dist/tests/units/modules/claude-invocation/interface-adapters/gateways/reviewReport.fileSystem.gateway.test.js +56 -0
  85. package/dist/tests/units/modules/claude-invocation/interface-adapters/gateways/reviewReport.fileSystem.gateway.test.js.map +1 -1
  86. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/repositories.routes.test.js +1 -1
  87. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/repositories.routes.test.js.map +1 -1
  88. package/dist/tests/units/services/reviewRecovery.service.test.d.ts +2 -0
  89. package/dist/tests/units/services/reviewRecovery.service.test.d.ts.map +1 -0
  90. package/dist/tests/units/services/reviewRecovery.service.test.js +49 -0
  91. package/dist/tests/units/services/reviewRecovery.service.test.js.map +1 -0
  92. package/dist/tests/units/services/runReviewRecovery.service.test.d.ts +2 -0
  93. package/dist/tests/units/services/runReviewRecovery.service.test.d.ts.map +1 -0
  94. package/dist/tests/units/services/runReviewRecovery.service.test.js +199 -0
  95. package/dist/tests/units/services/runReviewRecovery.service.test.js.map +1 -0
  96. package/package.json +1 -1
@@ -10,6 +10,7 @@
10
10
  */
11
11
 
12
12
  import { escapeHtml } from './html.js';
13
+ import { t } from './i18n.js';
13
14
 
14
15
  const EDITABLE_KEYS = [
15
16
  'language',
@@ -100,6 +101,23 @@ function renderModelOptions(viewModel) {
100
101
  .join('');
101
102
  }
102
103
 
104
+ /**
105
+ * Renders the UI language selector (changes the dashboard interface language,
106
+ * distinct from the project language used for Claude prompts).
107
+ * @returns {string}
108
+ */
109
+ function renderUiLanguageSelect() {
110
+ return `
111
+ <label class="settings-modal__field">
112
+ <span class="settings-modal__label">${escapeHtml(t('settings.uiLanguage'))}</span>
113
+ <select id="settings-modal-ui-language" class="settings-modal__select" onchange="changeLanguage(this.value)">
114
+ <option value="en">English</option>
115
+ <option value="fr">Français</option>
116
+ </select>
117
+ </label>
118
+ `.trim();
119
+ }
120
+
103
121
  /**
104
122
  * @param {SettingsModalViewModel} viewModel
105
123
  * @returns {string}
@@ -109,38 +127,40 @@ export function renderSettingsModalHtml(viewModel) {
109
127
  <form class="settings-modal__form" method="dialog">
110
128
  <h2 class="settings-modal__title" id="settings-modal-title">// SETTINGS — ${escapeHtml(viewModel.projectName)}</h2>
111
129
 
130
+ ${renderUiLanguageSelect()}
131
+
112
132
  <fieldset class="settings-modal__field">
113
- <legend class="settings-modal__legend">Langue</legend>
133
+ <legend class="settings-modal__legend">${escapeHtml(t('settings.claudePromptsLanguage'))}</legend>
114
134
  ${renderLanguageRadios(viewModel)}
115
135
  </fieldset>
116
136
 
117
137
  <label class="settings-modal__field">
118
- <span class="settings-modal__label">Modèle par défaut</span>
138
+ <span class="settings-modal__label">${escapeHtml(t('settings.defaultModel'))}</span>
119
139
  <select name="defaultModel" class="settings-modal__select">
120
140
  ${renderModelOptions(viewModel)}
121
141
  </select>
122
142
  </label>
123
143
 
124
144
  <label class="settings-modal__field">
125
- <span class="settings-modal__label">Skill de review</span>
145
+ <span class="settings-modal__label">${escapeHtml(t('settings.reviewSkill'))}</span>
126
146
  <input type="text" name="reviewSkill" value="${escapeHtml(viewModel.reviewSkill)}" class="settings-modal__input" />
127
147
  </label>
128
148
 
129
149
  <label class="settings-modal__field">
130
- <span class="settings-modal__label">Skill de review followup</span>
150
+ <span class="settings-modal__label">${escapeHtml(t('settings.reviewFollowupSkill'))}</span>
131
151
  <input type="text" name="reviewFollowupSkill" value="${escapeHtml(viewModel.reviewFollowupSkill)}" class="settings-modal__input" />
132
152
  </label>
133
153
 
134
154
  <label class="settings-modal__field">
135
- <span class="settings-modal__label">Lien externe (HTTPS)</span>
136
- <input type="url" name="externalLink" value="${escapeHtml(viewModel.externalLink)}" placeholder="https://notion.so/team/projet" class="settings-modal__input" />
155
+ <span class="settings-modal__label">${escapeHtml(t('settings.externalLink'))}</span>
156
+ <input type="url" name="externalLink" value="${escapeHtml(viewModel.externalLink)}" placeholder="${escapeHtml(t('settings.externalLinkPlaceholder'))}" class="settings-modal__input" />
137
157
  </label>
138
158
 
139
159
  <p class="settings-modal__error" aria-live="polite"></p>
140
160
 
141
161
  <div class="settings-modal__actions">
142
- <button type="button" class="settings-modal__cancel">Annuler</button>
143
- <button type="submit" class="settings-modal__submit">Enregistrer</button>
162
+ <button type="button" class="settings-modal__cancel">${escapeHtml(t('settings.cancel'))}</button>
163
+ <button type="submit" class="settings-modal__submit">${escapeHtml(t('settings.save'))}</button>
144
164
  </div>
145
165
  </form>
146
166
  `.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"settingsModal.js","sourceRoot":"","sources":["../../../src/dashboard/modules/settingsModal.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settingsModal.js","sourceRoot":"","sources":["../../../src/dashboard/modules/settingsModal.js"],"names":[],"mappings":"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"}