bosun 0.40.1 → 0.40.2
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/ui-server.mjs +9 -3
- package/ui/tabs/tasks.js +4 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bosun",
|
|
3
|
-
"version": "0.40.
|
|
3
|
+
"version": "0.40.2",
|
|
4
4
|
"description": "Bosun Autonomous Engineering — manages AI agent executors with failover, extremely powerful workflow builder, and a massive amount of included default workflow templates for autonomous engineering, creates PRs via Vibe-Kanban API, and sends Telegram notifications. Supports N executors with weighted distribution, multi-repo projects, and auto-setup.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
package/server/ui-server.mjs
CHANGED
|
@@ -278,6 +278,7 @@ const repoRoot = resolveRepoRoot();
|
|
|
278
278
|
const uiRootPreferred = resolve(__dirname, "..", "ui");
|
|
279
279
|
const uiRootFallback = resolve(__dirname, "..", "site", "ui");
|
|
280
280
|
const uiRoot = existsSync(uiRootPreferred) ? uiRootPreferred : uiRootFallback;
|
|
281
|
+
const sharedLibRoot = resolve(__dirname, "..", "lib");
|
|
281
282
|
const libraryInitAttemptedRoots = new Set();
|
|
282
283
|
const MAX_VISION_FRAME_BYTES = Math.max(
|
|
283
284
|
128_000,
|
|
@@ -14739,9 +14740,14 @@ async function handleStatic(req, res, url) {
|
|
|
14739
14740
|
return;
|
|
14740
14741
|
}
|
|
14741
14742
|
const pathname = rawPathname === "/" ? "/index.html" : rawPathname;
|
|
14742
|
-
const
|
|
14743
|
-
|
|
14744
|
-
|
|
14743
|
+
const isSharedLibRequest = pathname === "/lib" || pathname.startsWith("/lib/");
|
|
14744
|
+
const staticRoot = isSharedLibRequest ? sharedLibRoot : uiRoot;
|
|
14745
|
+
const staticPathname = isSharedLibRequest
|
|
14746
|
+
? pathname.slice(4) || "/"
|
|
14747
|
+
: pathname;
|
|
14748
|
+
const filePath = resolve(staticRoot, `.${staticPathname}`);
|
|
14749
|
+
|
|
14750
|
+
if (!filePath.startsWith(staticRoot)) {
|
|
14745
14751
|
textResponse(res, 403, "Forbidden");
|
|
14746
14752
|
return;
|
|
14747
14753
|
}
|
package/ui/tabs/tasks.js
CHANGED
|
@@ -450,6 +450,8 @@ function normalizeSprintOptions(raw) {
|
|
|
450
450
|
label: toText(entry.label || entry.title || entry.name, id),
|
|
451
451
|
status: toText(entry.status),
|
|
452
452
|
goal: toText(entry.goal),
|
|
453
|
+
executionMode: toText(entry.executionMode || entry.taskOrderMode || entry.sprintOrderMode || "parallel", "parallel"),
|
|
454
|
+
taskOrderMode: toText(entry.taskOrderMode || entry.executionMode || entry.sprintOrderMode || "parallel", "parallel"),
|
|
453
455
|
};
|
|
454
456
|
})
|
|
455
457
|
.filter(Boolean);
|
|
@@ -3555,7 +3557,7 @@ export function TasksTab() {
|
|
|
3555
3557
|
const nextGlobalGraph = normalizeDagGraph(globalSource, "DAG of DAGs");
|
|
3556
3558
|
|
|
3557
3559
|
const sprintMetaEntry = sprintOptions.find((entry) => entry.id === resolvedSprint) || null;
|
|
3558
|
-
setDagSprintOrderMode(toText(sprintMetaEntry?.sprintOrderMode || "parallel", "parallel"));
|
|
3560
|
+
setDagSprintOrderMode(toText(sprintMetaEntry?.executionMode || sprintMetaEntry?.taskOrderMode || sprintMetaEntry?.sprintOrderMode || "parallel", "parallel"));
|
|
3559
3561
|
setDagSprints(sprintOptions);
|
|
3560
3562
|
setDagSprintGraph(nextSprintGraph);
|
|
3561
3563
|
setDagGlobalGraph(nextGlobalGraph);
|
|
@@ -3912,7 +3914,7 @@ export function TasksTab() {
|
|
|
3912
3914
|
try {
|
|
3913
3915
|
await apiFetch(`/api/tasks/sprints/${encodeURIComponent(dagSelectedSprint)}`, {
|
|
3914
3916
|
method: "PATCH",
|
|
3915
|
-
body: JSON.stringify({ sprintOrderMode: nextMode }),
|
|
3917
|
+
body: JSON.stringify({ executionMode: nextMode, taskOrderMode: nextMode, sprintOrderMode: nextMode }),
|
|
3916
3918
|
});
|
|
3917
3919
|
showToast("Sprint execution mode updated", "success");
|
|
3918
3920
|
await loadDagViews();
|