buddy-workbench 0.1.74 → 0.1.75
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.
- package/package.json +1 -1
- package/server/repositories/settings.js +22 -2
- package/server/routes/branch-sync.js +1 -1
- package/server/routes/pr-review.js +466 -27
- package/server/routes/settings.js +15 -1
- package/ui/dist/assets/index-5ctU62nD.css +1 -0
- package/ui/dist/assets/{index-BqVFfTXR.js → index-Co1mqqSw.js} +170 -158
- package/ui/dist/index.html +2 -2
- package/ui/dist/sw.js +2 -2
- package/ui/dist/assets/index-CAdLVTJk.css +0 -1
package/package.json
CHANGED
|
@@ -11,6 +11,7 @@ export function settingsStatus() {
|
|
|
11
11
|
const settings = readSettings();
|
|
12
12
|
return {
|
|
13
13
|
domain: typeof settings.domain === 'string' ? settings.domain : '',
|
|
14
|
+
aiApiHost: typeof settings.aiApiHost === 'string' ? settings.aiApiHost : '',
|
|
14
15
|
jiraIssuePrefix: typeof settings.jiraIssuePrefix === 'string' ? settings.jiraIssuePrefix : '',
|
|
15
16
|
defaultEditor: typeof settings.defaultEditor === 'string' ? settings.defaultEditor : 'vscode',
|
|
16
17
|
defaultBrowser: typeof settings.defaultBrowser === 'string' ? settings.defaultBrowser : 'chrome',
|
|
@@ -26,6 +27,15 @@ export function settingsStatus() {
|
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
29
|
|
|
30
|
+
export function saveAiApiHost(aiApiHost) {
|
|
31
|
+
const settings = readSettings();
|
|
32
|
+
if (aiApiHost) settings.aiApiHost = aiApiHost;
|
|
33
|
+
else delete settings.aiApiHost;
|
|
34
|
+
mkdirSync(dirname(paths.settings), { recursive: true });
|
|
35
|
+
writeFileSync(paths.settings, JSON.stringify(settings, null, 2), { mode: 0o600 });
|
|
36
|
+
return settingsStatus();
|
|
37
|
+
}
|
|
38
|
+
|
|
29
39
|
export function saveDomain(domain) {
|
|
30
40
|
const settings = readSettings();
|
|
31
41
|
if (domain) settings.domain = domain;
|
|
@@ -112,7 +122,14 @@ export function readPrReviewCustomRules() {
|
|
|
112
122
|
return Array.isArray(settings.prReviewCustomRules) ? settings.prReviewCustomRules : [];
|
|
113
123
|
}
|
|
114
124
|
|
|
115
|
-
export function
|
|
125
|
+
export function readPrReviewFileFilters() {
|
|
126
|
+
const settings = readSettings();
|
|
127
|
+
return Array.isArray(settings.prReviewFileFilters)
|
|
128
|
+
? settings.prReviewFileFilters.filter((pattern) => typeof pattern === 'string' && pattern.trim()).map((pattern) => pattern.trim())
|
|
129
|
+
: [];
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export function savePrReviewRules(rules, customRules, fileFilters, defaultRules) {
|
|
116
133
|
const settings = readSettings();
|
|
117
134
|
const allowed = new Map(defaultRules.map((rule) => [rule.id, rule]));
|
|
118
135
|
settings.prReviewRules = {};
|
|
@@ -135,9 +152,12 @@ export function savePrReviewRules(rules, customRules, defaultRules) {
|
|
|
135
152
|
enabled: rule.enabled !== false,
|
|
136
153
|
severity: ['critical', 'warning', 'info'].includes(rule.severity) ? rule.severity : 'warning'
|
|
137
154
|
}));
|
|
155
|
+
settings.prReviewFileFilters = [...new Set((Array.isArray(fileFilters) ? fileFilters : [])
|
|
156
|
+
.filter((pattern) => typeof pattern === 'string' && pattern.trim())
|
|
157
|
+
.map((pattern) => pattern.trim().slice(0, 300)))].slice(0, 100);
|
|
138
158
|
mkdirSync(dirname(paths.settings), { recursive: true });
|
|
139
159
|
writeFileSync(paths.settings, JSON.stringify(settings, null, 2), { mode: 0o600 });
|
|
140
|
-
return { rules: readPrReviewRules(defaultRules), customRules: readPrReviewCustomRules() };
|
|
160
|
+
return { rules: readPrReviewRules(defaultRules), customRules: readPrReviewCustomRules(), fileFilters: readPrReviewFileFilters() };
|
|
141
161
|
}
|
|
142
162
|
|
|
143
163
|
const accessTokenFields = {
|
|
@@ -355,7 +355,7 @@ router.post('/create-pr', async (req, res) => {
|
|
|
355
355
|
|
|
356
356
|
const prPayload = {
|
|
357
357
|
title: title || `Merge ${sourceBranch} to ${targetBranch}`,
|
|
358
|
-
description: `Automated Pull Request created
|
|
358
|
+
description: `Automated Pull Request created.\n\nMerging \`${sourceBranch}\` into \`${targetBranch}\`.`,
|
|
359
359
|
fromRef: {
|
|
360
360
|
id: `refs/heads/${sourceBranch}`,
|
|
361
361
|
repository: {
|