agkan 3.13.0 → 3.14.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.
- package/README.ja.md +18 -0
- package/README.md +18 -0
- package/dist/board/BulkRunService.d.ts.map +1 -1
- package/dist/board/BulkRunService.js +1 -1
- package/dist/board/BulkRunService.js.map +1 -1
- package/dist/board/boardRoutes.d.ts +4 -4
- package/dist/board/boardRoutes.d.ts.map +1 -1
- package/dist/board/boardRoutes.js +71 -122
- package/dist/board/boardRoutes.js.map +1 -1
- package/dist/board/boardStyles.d.ts +1 -1
- package/dist/board/boardStyles.d.ts.map +1 -1
- package/dist/board/boardStyles.js +5 -1
- package/dist/board/boardStyles.js.map +1 -1
- package/dist/board/client/board.js +2743 -0
- package/dist/board/client/main.js +214 -154
- package/dist/board/server.d.ts.map +1 -1
- package/dist/board/server.js +5 -2
- package/dist/board/server.js.map +1 -1
- package/dist/cli/commands/block/add.d.ts.map +1 -1
- package/dist/cli/commands/block/add.js +2 -0
- package/dist/cli/commands/block/add.js.map +1 -1
- package/dist/cli/commands/block/remove.d.ts.map +1 -1
- package/dist/cli/commands/block/remove.js +2 -0
- package/dist/cli/commands/block/remove.js.map +1 -1
- package/dist/cli/commands/config/get.d.ts +5 -0
- package/dist/cli/commands/config/get.d.ts.map +1 -0
- package/dist/cli/commands/config/get.js +97 -0
- package/dist/cli/commands/config/get.js.map +1 -0
- package/dist/cli/commands/meta/delete.d.ts.map +1 -1
- package/dist/cli/commands/meta/delete.js +6 -0
- package/dist/cli/commands/meta/delete.js.map +1 -1
- package/dist/cli/commands/meta/set.d.ts.map +1 -1
- package/dist/cli/commands/meta/set.js +7 -0
- package/dist/cli/commands/meta/set.js.map +1 -1
- package/dist/cli/commands/tag/attach.d.ts.map +1 -1
- package/dist/cli/commands/tag/attach.js +2 -0
- package/dist/cli/commands/tag/attach.js.map +1 -1
- package/dist/cli/commands/tag/detach.d.ts.map +1 -1
- package/dist/cli/commands/tag/detach.js +2 -0
- package/dist/cli/commands/tag/detach.js.map +1 -1
- package/dist/cli/commands/task/update.d.ts.map +1 -1
- package/dist/cli/commands/task/update.js +2 -0
- package/dist/cli/commands/task/update.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/boardNotify.d.ts +2 -0
- package/dist/cli/utils/boardNotify.d.ts.map +1 -0
- package/dist/cli/utils/boardNotify.js +16 -0
- package/dist/cli/utils/boardNotify.js.map +1 -0
- package/dist/cli/utils/constants.d.ts +2 -0
- package/dist/cli/utils/constants.d.ts.map +1 -0
- package/dist/cli/utils/constants.js +5 -0
- package/dist/cli/utils/constants.js.map +1 -0
- package/dist/cli/utils/response-formatter.d.ts +19 -0
- package/dist/cli/utils/response-formatter.d.ts.map +1 -0
- package/dist/cli/utils/response-formatter.js +43 -0
- package/dist/cli/utils/response-formatter.js.map +1 -0
- package/dist/cli/utils/service-container.d.ts.map +1 -1
- package/dist/cli/utils/service-container.js +8 -1
- package/dist/cli/utils/service-container.js.map +1 -1
- package/dist/hooks/hook-stop.mjs +44 -13
- package/dist/models/Attachment.d.ts +25 -0
- package/dist/models/Attachment.d.ts.map +1 -0
- package/dist/models/Attachment.js +7 -0
- package/dist/models/Attachment.js.map +1 -0
- package/dist/services/AttachmentService.d.ts +62 -0
- package/dist/services/AttachmentService.d.ts.map +1 -0
- package/dist/services/AttachmentService.js +95 -0
- package/dist/services/AttachmentService.js.map +1 -0
- package/dist/services/BoardEventService.d.ts +9 -0
- package/dist/services/BoardEventService.d.ts.map +1 -0
- package/dist/services/BoardEventService.js +22 -0
- package/dist/services/BoardEventService.js.map +1 -0
- package/dist/services/TaskService.d.ts +3 -1
- package/dist/services/TaskService.d.ts.map +1 -1
- package/dist/services/TaskService.js +27 -15
- package/dist/services/TaskService.js.map +1 -1
- package/dist/terminal/PtySessionService.js +1 -1
- package/package.json +30 -20
|
@@ -9264,6 +9264,125 @@ ${h2.join(`
|
|
|
9264
9264
|
}
|
|
9265
9265
|
}
|
|
9266
9266
|
|
|
9267
|
+
// src/board/client/connectionStatus.ts
|
|
9268
|
+
var streamStates = {
|
|
9269
|
+
board: "connecting",
|
|
9270
|
+
"run-logs": "connected"
|
|
9271
|
+
// Not always active; treated as connected when not in use
|
|
9272
|
+
};
|
|
9273
|
+
var activeRunLogs = false;
|
|
9274
|
+
var listeners = [];
|
|
9275
|
+
function computeOverallState() {
|
|
9276
|
+
const monitored = activeRunLogs ? ["board", "run-logs"] : ["board"];
|
|
9277
|
+
if (monitored.some((k) => streamStates[k] === "disconnected")) return "disconnected";
|
|
9278
|
+
if (monitored.some((k) => streamStates[k] === "connecting")) return "connecting";
|
|
9279
|
+
return "connected";
|
|
9280
|
+
}
|
|
9281
|
+
var lastEmitted = null;
|
|
9282
|
+
function notify() {
|
|
9283
|
+
const state = computeOverallState();
|
|
9284
|
+
if (state === lastEmitted) return;
|
|
9285
|
+
lastEmitted = state;
|
|
9286
|
+
listeners.forEach((fn2) => fn2(state));
|
|
9287
|
+
}
|
|
9288
|
+
function setStreamState(key, state) {
|
|
9289
|
+
streamStates[key] = state;
|
|
9290
|
+
notify();
|
|
9291
|
+
}
|
|
9292
|
+
function setRunLogsActive(active) {
|
|
9293
|
+
activeRunLogs = active;
|
|
9294
|
+
if (!active) streamStates["run-logs"] = "connected";
|
|
9295
|
+
notify();
|
|
9296
|
+
}
|
|
9297
|
+
function onConnectionStateChange(fn2) {
|
|
9298
|
+
listeners.push(fn2);
|
|
9299
|
+
fn2(computeOverallState());
|
|
9300
|
+
return () => {
|
|
9301
|
+
const idx = listeners.indexOf(fn2);
|
|
9302
|
+
if (idx !== -1) listeners.splice(idx, 1);
|
|
9303
|
+
};
|
|
9304
|
+
}
|
|
9305
|
+
var reconnectCallbacks = [];
|
|
9306
|
+
function registerReconnect(fn2) {
|
|
9307
|
+
reconnectCallbacks.push(fn2);
|
|
9308
|
+
return () => {
|
|
9309
|
+
const idx = reconnectCallbacks.indexOf(fn2);
|
|
9310
|
+
if (idx !== -1) reconnectCallbacks.splice(idx, 1);
|
|
9311
|
+
};
|
|
9312
|
+
}
|
|
9313
|
+
function triggerReconnectAll() {
|
|
9314
|
+
reconnectCallbacks.forEach((fn2) => fn2());
|
|
9315
|
+
}
|
|
9316
|
+
|
|
9317
|
+
// src/board/client/boardStream.ts
|
|
9318
|
+
var listeners2 = /* @__PURE__ */ new Map();
|
|
9319
|
+
var es2 = null;
|
|
9320
|
+
var stopped = false;
|
|
9321
|
+
var backoffMs = 1e3;
|
|
9322
|
+
var reconnectTimer = null;
|
|
9323
|
+
function getListeners(type) {
|
|
9324
|
+
if (!listeners2.has(type)) listeners2.set(type, []);
|
|
9325
|
+
return listeners2.get(type);
|
|
9326
|
+
}
|
|
9327
|
+
function dispatch(type, data) {
|
|
9328
|
+
getListeners(type).forEach((fn2) => fn2(data));
|
|
9329
|
+
}
|
|
9330
|
+
function connect() {
|
|
9331
|
+
es2 = new EventSource("/api/board/stream");
|
|
9332
|
+
setStreamState("board", "connecting");
|
|
9333
|
+
es2.addEventListener("open", () => {
|
|
9334
|
+
setStreamState("board", "connected");
|
|
9335
|
+
backoffMs = 1e3;
|
|
9336
|
+
});
|
|
9337
|
+
const boardEvents = ["board-update", "attention", "running-tasks", "confirm-complete"];
|
|
9338
|
+
boardEvents.forEach((type) => {
|
|
9339
|
+
es2.addEventListener(type, (event) => {
|
|
9340
|
+
try {
|
|
9341
|
+
dispatch(type, JSON.parse(event.data));
|
|
9342
|
+
} catch {
|
|
9343
|
+
}
|
|
9344
|
+
});
|
|
9345
|
+
});
|
|
9346
|
+
es2.onerror = () => {
|
|
9347
|
+
if (stopped) return;
|
|
9348
|
+
setStreamState("board", "disconnected");
|
|
9349
|
+
es2?.close();
|
|
9350
|
+
reconnectTimer = setTimeout(() => {
|
|
9351
|
+
backoffMs = Math.min(backoffMs * 2, 3e4);
|
|
9352
|
+
connect();
|
|
9353
|
+
}, backoffMs);
|
|
9354
|
+
};
|
|
9355
|
+
}
|
|
9356
|
+
function reconnectNow() {
|
|
9357
|
+
if (stopped) return;
|
|
9358
|
+
if (reconnectTimer !== null) {
|
|
9359
|
+
clearTimeout(reconnectTimer);
|
|
9360
|
+
reconnectTimer = null;
|
|
9361
|
+
}
|
|
9362
|
+
es2?.close();
|
|
9363
|
+
backoffMs = 1e3;
|
|
9364
|
+
connect();
|
|
9365
|
+
}
|
|
9366
|
+
function initBoardStream() {
|
|
9367
|
+
stopped = false;
|
|
9368
|
+
connect();
|
|
9369
|
+
const unregister = registerReconnect(reconnectNow);
|
|
9370
|
+
return () => {
|
|
9371
|
+
stopped = true;
|
|
9372
|
+
if (reconnectTimer !== null) clearTimeout(reconnectTimer);
|
|
9373
|
+
unregister();
|
|
9374
|
+
es2?.close();
|
|
9375
|
+
};
|
|
9376
|
+
}
|
|
9377
|
+
function addBoardStreamListener(type, fn2) {
|
|
9378
|
+
getListeners(type).push(fn2);
|
|
9379
|
+
return () => {
|
|
9380
|
+
const arr = getListeners(type);
|
|
9381
|
+
const idx = arr.indexOf(fn2);
|
|
9382
|
+
if (idx !== -1) arr.splice(idx, 1);
|
|
9383
|
+
};
|
|
9384
|
+
}
|
|
9385
|
+
|
|
9267
9386
|
// src/board/client/claudeButton.ts
|
|
9268
9387
|
var _runningTaskIds = /* @__PURE__ */ new Set();
|
|
9269
9388
|
var _planningTaskIds = /* @__PURE__ */ new Set();
|
|
@@ -9287,6 +9406,9 @@ ${h2.join(`
|
|
|
9287
9406
|
const indicator = document.getElementById("header-running-indicator");
|
|
9288
9407
|
if (indicator) {
|
|
9289
9408
|
indicator.style.display = runningTaskIds.size > 0 ? "" : "none";
|
|
9409
|
+
if (runningTaskIds.size === 0) {
|
|
9410
|
+
closeRunningIndicatorDropdown();
|
|
9411
|
+
}
|
|
9290
9412
|
}
|
|
9291
9413
|
const terminalTaskId = getCurrentTerminalTaskId();
|
|
9292
9414
|
if (terminalTaskId !== null && previousRunning.has(terminalTaskId) && !runningTaskIds.has(terminalTaskId)) {
|
|
@@ -9527,18 +9649,19 @@ ${h2.join(`
|
|
|
9527
9649
|
document.querySelectorAll(".column-body").forEach((body) => {
|
|
9528
9650
|
attachClaudeButtonListeners(body);
|
|
9529
9651
|
});
|
|
9652
|
+
initRunningIndicatorDropdown();
|
|
9530
9653
|
document.addEventListener("click", () => {
|
|
9531
9654
|
document.querySelectorAll(".claude-run-split.open").forEach((el2) => {
|
|
9532
9655
|
el2.classList.remove("open");
|
|
9533
9656
|
});
|
|
9657
|
+
closeRunningIndicatorDropdown();
|
|
9534
9658
|
});
|
|
9535
|
-
|
|
9536
|
-
|
|
9537
|
-
const data = JSON.parse(event.data);
|
|
9659
|
+
addBoardStreamListener("running-tasks", (raw) => {
|
|
9660
|
+
const data = raw;
|
|
9538
9661
|
handleRunningTasksUpdate(data.tasks);
|
|
9539
9662
|
});
|
|
9540
|
-
|
|
9541
|
-
const data =
|
|
9663
|
+
addBoardStreamListener("confirm-complete", (raw) => {
|
|
9664
|
+
const data = raw;
|
|
9542
9665
|
const label = data.targetStatus === "done" ? "Done" : data.targetStatus === "review" ? "Review" : data.targetStatus;
|
|
9543
9666
|
const confirmed = window.confirm(`Task #${data.taskId} completed successfully.
|
|
9544
9667
|
Move task to "${label}"?`);
|
|
@@ -9551,6 +9674,49 @@ Move task to "${label}"?`);
|
|
|
9551
9674
|
}
|
|
9552
9675
|
});
|
|
9553
9676
|
}
|
|
9677
|
+
function getTaskTitleById(taskId) {
|
|
9678
|
+
const card = document.querySelector(`.card[data-task-id="${taskId}"]`);
|
|
9679
|
+
if (card) {
|
|
9680
|
+
const titleEl = card.querySelector(".card-title");
|
|
9681
|
+
if (titleEl?.textContent) return titleEl.textContent.trim();
|
|
9682
|
+
}
|
|
9683
|
+
return `Task #${taskId}`;
|
|
9684
|
+
}
|
|
9685
|
+
function closeRunningIndicatorDropdown() {
|
|
9686
|
+
const dropdown = document.getElementById("running-indicator-dropdown");
|
|
9687
|
+
if (dropdown) dropdown.remove();
|
|
9688
|
+
}
|
|
9689
|
+
function initRunningIndicatorDropdown() {
|
|
9690
|
+
const indicator = document.getElementById("header-running-indicator");
|
|
9691
|
+
if (!indicator) return;
|
|
9692
|
+
indicator.style.cursor = "pointer";
|
|
9693
|
+
indicator.addEventListener("click", (e) => {
|
|
9694
|
+
e.stopPropagation();
|
|
9695
|
+
const existing = document.getElementById("running-indicator-dropdown");
|
|
9696
|
+
if (existing) {
|
|
9697
|
+
existing.remove();
|
|
9698
|
+
return;
|
|
9699
|
+
}
|
|
9700
|
+
const dropdown = document.createElement("div");
|
|
9701
|
+
dropdown.id = "running-indicator-dropdown";
|
|
9702
|
+
dropdown.className = "running-indicator-dropdown";
|
|
9703
|
+
for (const taskId of _runningTaskIds) {
|
|
9704
|
+
const item = document.createElement("div");
|
|
9705
|
+
item.className = "running-indicator-item";
|
|
9706
|
+
item.textContent = getTaskTitleById(taskId);
|
|
9707
|
+
item.addEventListener("click", async (ev) => {
|
|
9708
|
+
ev.stopPropagation();
|
|
9709
|
+
closeRunningIndicatorDropdown();
|
|
9710
|
+
await openTerminalTab(taskId);
|
|
9711
|
+
});
|
|
9712
|
+
dropdown.appendChild(item);
|
|
9713
|
+
}
|
|
9714
|
+
const wrapper = indicator.parentElement;
|
|
9715
|
+
if (wrapper) {
|
|
9716
|
+
wrapper.appendChild(dropdown);
|
|
9717
|
+
}
|
|
9718
|
+
});
|
|
9719
|
+
}
|
|
9554
9720
|
|
|
9555
9721
|
// src/board/client/dragDrop.ts
|
|
9556
9722
|
var _redrawDependencies = null;
|
|
@@ -9924,57 +10090,6 @@ Move task to "${label}"?`);
|
|
|
9924
10090
|
renderPills();
|
|
9925
10091
|
}
|
|
9926
10092
|
|
|
9927
|
-
// src/board/client/connectionStatus.ts
|
|
9928
|
-
var streamStates = {
|
|
9929
|
-
board: "connecting",
|
|
9930
|
-
attention: "connecting",
|
|
9931
|
-
"run-logs": "connected"
|
|
9932
|
-
// Not always active; treated as connected when not in use
|
|
9933
|
-
};
|
|
9934
|
-
var activeRunLogs = false;
|
|
9935
|
-
var listeners = [];
|
|
9936
|
-
function computeOverallState() {
|
|
9937
|
-
const monitored = activeRunLogs ? ["board", "attention", "run-logs"] : ["board", "attention"];
|
|
9938
|
-
if (monitored.some((k) => streamStates[k] === "disconnected")) return "disconnected";
|
|
9939
|
-
if (monitored.some((k) => streamStates[k] === "connecting")) return "connecting";
|
|
9940
|
-
return "connected";
|
|
9941
|
-
}
|
|
9942
|
-
var lastEmitted = null;
|
|
9943
|
-
function notify() {
|
|
9944
|
-
const state = computeOverallState();
|
|
9945
|
-
if (state === lastEmitted) return;
|
|
9946
|
-
lastEmitted = state;
|
|
9947
|
-
listeners.forEach((fn2) => fn2(state));
|
|
9948
|
-
}
|
|
9949
|
-
function setStreamState(key, state) {
|
|
9950
|
-
streamStates[key] = state;
|
|
9951
|
-
notify();
|
|
9952
|
-
}
|
|
9953
|
-
function setRunLogsActive(active) {
|
|
9954
|
-
activeRunLogs = active;
|
|
9955
|
-
if (!active) streamStates["run-logs"] = "connected";
|
|
9956
|
-
notify();
|
|
9957
|
-
}
|
|
9958
|
-
function onConnectionStateChange(fn2) {
|
|
9959
|
-
listeners.push(fn2);
|
|
9960
|
-
fn2(computeOverallState());
|
|
9961
|
-
return () => {
|
|
9962
|
-
const idx = listeners.indexOf(fn2);
|
|
9963
|
-
if (idx !== -1) listeners.splice(idx, 1);
|
|
9964
|
-
};
|
|
9965
|
-
}
|
|
9966
|
-
var reconnectCallbacks = [];
|
|
9967
|
-
function registerReconnect(fn2) {
|
|
9968
|
-
reconnectCallbacks.push(fn2);
|
|
9969
|
-
return () => {
|
|
9970
|
-
const idx = reconnectCallbacks.indexOf(fn2);
|
|
9971
|
-
if (idx !== -1) reconnectCallbacks.splice(idx, 1);
|
|
9972
|
-
};
|
|
9973
|
-
}
|
|
9974
|
-
function triggerReconnectAll() {
|
|
9975
|
-
reconnectCallbacks.forEach((fn2) => fn2());
|
|
9976
|
-
}
|
|
9977
|
-
|
|
9978
10093
|
// src/board/client/boardPolling.ts
|
|
9979
10094
|
var activeFilters = { tagIds: [], priorities: [], assignee: "", searchText: "" };
|
|
9980
10095
|
function buildFilterParams() {
|
|
@@ -10129,43 +10244,10 @@ Move task to "${label}"?`);
|
|
|
10129
10244
|
}
|
|
10130
10245
|
}
|
|
10131
10246
|
function initBoardPolling() {
|
|
10132
|
-
|
|
10133
|
-
|
|
10134
|
-
|
|
10135
|
-
|
|
10136
|
-
function connect() {
|
|
10137
|
-
es2 = new EventSource("/api/board/stream");
|
|
10138
|
-
setStreamState("board", "connecting");
|
|
10139
|
-
es2.addEventListener("open", () => {
|
|
10140
|
-
setStreamState("board", "connected");
|
|
10141
|
-
backoffMs = 1e3;
|
|
10142
|
-
});
|
|
10143
|
-
es2.addEventListener("update", () => {
|
|
10144
|
-
if (draggedCard !== null || isPendingStatusUpdate) return;
|
|
10145
|
-
refreshBoardCards();
|
|
10146
|
-
});
|
|
10147
|
-
es2.onerror = () => {
|
|
10148
|
-
if (stopped) return;
|
|
10149
|
-
setStreamState("board", "disconnected");
|
|
10150
|
-
es2.close();
|
|
10151
|
-
reconnectTimer = setTimeout(() => {
|
|
10152
|
-
backoffMs = Math.min(backoffMs * 2, 3e4);
|
|
10153
|
-
connect();
|
|
10154
|
-
}, backoffMs);
|
|
10155
|
-
};
|
|
10156
|
-
}
|
|
10157
|
-
function reconnectNow() {
|
|
10158
|
-
if (stopped) return;
|
|
10159
|
-
if (reconnectTimer !== null) {
|
|
10160
|
-
clearTimeout(reconnectTimer);
|
|
10161
|
-
reconnectTimer = null;
|
|
10162
|
-
}
|
|
10163
|
-
es2.close();
|
|
10164
|
-
backoffMs = 1e3;
|
|
10165
|
-
connect();
|
|
10166
|
-
}
|
|
10167
|
-
connect();
|
|
10168
|
-
registerReconnect(reconnectNow);
|
|
10247
|
+
addBoardStreamListener("board-update", () => {
|
|
10248
|
+
if (draggedCard !== null || isPendingStatusUpdate) return;
|
|
10249
|
+
refreshBoardCards();
|
|
10250
|
+
});
|
|
10169
10251
|
}
|
|
10170
10252
|
|
|
10171
10253
|
// src/board/client/addTaskModal.ts
|
|
@@ -10496,6 +10578,14 @@ Move task to "${label}"?`);
|
|
|
10496
10578
|
await loadBranchSuggestions();
|
|
10497
10579
|
renderBranchDropdown(branchDropdown, branchInput.value);
|
|
10498
10580
|
});
|
|
10581
|
+
branchInput.addEventListener("keydown", (e) => {
|
|
10582
|
+
if (branchInput.readOnly && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) {
|
|
10583
|
+
branchInput.readOnly = false;
|
|
10584
|
+
branchInput.classList.remove("branch-auto-mode");
|
|
10585
|
+
branchInternalValue = "";
|
|
10586
|
+
branchInput.value = "";
|
|
10587
|
+
}
|
|
10588
|
+
});
|
|
10499
10589
|
branchInput.addEventListener("input", () => {
|
|
10500
10590
|
if (branchInternalValue === BRANCH_AUTO_GENERATE) {
|
|
10501
10591
|
branchInput.readOnly = false;
|
|
@@ -10648,11 +10738,11 @@ Move task to "${label}"?`);
|
|
|
10648
10738
|
});
|
|
10649
10739
|
}
|
|
10650
10740
|
function subscribeRunLogs(taskId, onUpdate, onError) {
|
|
10651
|
-
const
|
|
10652
|
-
|
|
10741
|
+
const es3 = new EventSource("/api/claude/tasks/" + taskId + "/run-logs/stream");
|
|
10742
|
+
es3.addEventListener("open", () => {
|
|
10653
10743
|
setStreamState("run-logs", "connected");
|
|
10654
10744
|
});
|
|
10655
|
-
|
|
10745
|
+
es3.addEventListener("update", (event) => {
|
|
10656
10746
|
const msgEvent = event;
|
|
10657
10747
|
try {
|
|
10658
10748
|
const data = JSON.parse(msgEvent.data);
|
|
@@ -10660,11 +10750,11 @@ Move task to "${label}"?`);
|
|
|
10660
10750
|
} catch {
|
|
10661
10751
|
}
|
|
10662
10752
|
});
|
|
10663
|
-
|
|
10753
|
+
es3.onerror = () => {
|
|
10664
10754
|
setStreamState("run-logs", "disconnected");
|
|
10665
10755
|
onError();
|
|
10666
10756
|
};
|
|
10667
|
-
return
|
|
10757
|
+
return es3;
|
|
10668
10758
|
}
|
|
10669
10759
|
|
|
10670
10760
|
// src/board/client/detailPanelHtml.ts
|
|
@@ -11252,6 +11342,14 @@ Move task to "${label}"?`);
|
|
|
11252
11342
|
await loadDetailBranchSuggestions();
|
|
11253
11343
|
renderDetailBranchDropdown(branchDropdown, branchInput.value);
|
|
11254
11344
|
});
|
|
11345
|
+
branchInput.addEventListener("keydown", (e) => {
|
|
11346
|
+
if (branchInput.readOnly && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) {
|
|
11347
|
+
branchInput.readOnly = false;
|
|
11348
|
+
branchInput.classList.remove("branch-auto-mode");
|
|
11349
|
+
branchInternalValue2 = "";
|
|
11350
|
+
branchInput.value = "";
|
|
11351
|
+
}
|
|
11352
|
+
});
|
|
11255
11353
|
branchInput.addEventListener("input", () => {
|
|
11256
11354
|
if (branchInternalValue2 === BRANCH_AUTO_GENERATE3) {
|
|
11257
11355
|
branchInput.readOnly = false;
|
|
@@ -11457,7 +11555,12 @@ Move task to "${label}"?`);
|
|
|
11457
11555
|
});
|
|
11458
11556
|
document.addEventListener("keydown", (e) => {
|
|
11459
11557
|
if (e.key === "Escape" && detailPanel.classList.contains("open")) {
|
|
11460
|
-
|
|
11558
|
+
const addModal = document.getElementById("add-modal");
|
|
11559
|
+
if (addModal?.classList.contains("show")) {
|
|
11560
|
+
document.getElementById("add-cancel")?.click();
|
|
11561
|
+
} else {
|
|
11562
|
+
closeDetailPanel();
|
|
11563
|
+
}
|
|
11461
11564
|
}
|
|
11462
11565
|
});
|
|
11463
11566
|
document.getElementById("detail-tabs")?.addEventListener("click", (e) => {
|
|
@@ -12210,59 +12313,15 @@ Move task to "${label}"?`);
|
|
|
12210
12313
|
slot.classList.remove("is-active");
|
|
12211
12314
|
}
|
|
12212
12315
|
}
|
|
12213
|
-
function
|
|
12214
|
-
|
|
12215
|
-
|
|
12216
|
-
|
|
12217
|
-
|
|
12218
|
-
|
|
12219
|
-
|
|
12220
|
-
setStreamState("attention", "connecting");
|
|
12221
|
-
es2.addEventListener("open", () => {
|
|
12222
|
-
setStreamState("attention", "connected");
|
|
12223
|
-
backoffMs = 1e3;
|
|
12224
|
-
});
|
|
12225
|
-
es2.onmessage = (e) => {
|
|
12226
|
-
let msg;
|
|
12227
|
-
try {
|
|
12228
|
-
msg = JSON.parse(e.data);
|
|
12229
|
-
} catch {
|
|
12230
|
-
return;
|
|
12231
|
-
}
|
|
12232
|
-
if (msg.type === "snapshot") {
|
|
12233
|
-
msg.taskIds.forEach((id) => applyAttention(id, true));
|
|
12234
|
-
} else if (msg.type === "update") {
|
|
12235
|
-
applyAttention(msg.taskId, msg.needsAttention);
|
|
12236
|
-
}
|
|
12237
|
-
};
|
|
12238
|
-
es2.onerror = () => {
|
|
12239
|
-
if (stopped) return;
|
|
12240
|
-
setStreamState("attention", "disconnected");
|
|
12241
|
-
es2.close();
|
|
12242
|
-
reconnectTimer = setTimeout(() => {
|
|
12243
|
-
backoffMs = Math.min(backoffMs * 2, 3e4);
|
|
12244
|
-
connect();
|
|
12245
|
-
}, backoffMs);
|
|
12246
|
-
};
|
|
12247
|
-
}
|
|
12248
|
-
function reconnectNow() {
|
|
12249
|
-
if (stopped) return;
|
|
12250
|
-
if (reconnectTimer !== null) {
|
|
12251
|
-
clearTimeout(reconnectTimer);
|
|
12252
|
-
reconnectTimer = null;
|
|
12316
|
+
function initAttentionStream() {
|
|
12317
|
+
addBoardStreamListener("attention", (raw) => {
|
|
12318
|
+
const msg = raw;
|
|
12319
|
+
if (msg.type === "snapshot") {
|
|
12320
|
+
msg.taskIds.forEach((id) => applyAttention(id, true));
|
|
12321
|
+
} else if (msg.type === "update") {
|
|
12322
|
+
applyAttention(msg.taskId, msg.needsAttention);
|
|
12253
12323
|
}
|
|
12254
|
-
|
|
12255
|
-
backoffMs = 1e3;
|
|
12256
|
-
connect();
|
|
12257
|
-
}
|
|
12258
|
-
connect();
|
|
12259
|
-
const unregister = registerReconnect(reconnectNow);
|
|
12260
|
-
return () => {
|
|
12261
|
-
stopped = true;
|
|
12262
|
-
if (reconnectTimer !== null) clearTimeout(reconnectTimer);
|
|
12263
|
-
unregister();
|
|
12264
|
-
es2.close();
|
|
12265
|
-
};
|
|
12324
|
+
});
|
|
12266
12325
|
}
|
|
12267
12326
|
|
|
12268
12327
|
// src/board/client/bulkRunButton.ts
|
|
@@ -12351,14 +12410,15 @@ Move task to "${label}"?`);
|
|
|
12351
12410
|
document.addEventListener("click", () => {
|
|
12352
12411
|
split.classList.remove("open");
|
|
12353
12412
|
});
|
|
12354
|
-
const
|
|
12355
|
-
|
|
12413
|
+
const es3 = new EventSource("/api/claude/bulk-run/stream");
|
|
12414
|
+
es3.addEventListener("update", (event) => {
|
|
12356
12415
|
const data = JSON.parse(event.data);
|
|
12357
12416
|
setRunningState(data.mode === "running");
|
|
12358
12417
|
});
|
|
12359
12418
|
}
|
|
12360
12419
|
|
|
12361
12420
|
// src/board/client/main.ts
|
|
12421
|
+
initBoardStream();
|
|
12362
12422
|
initDragDrop();
|
|
12363
12423
|
initAutoScroll();
|
|
12364
12424
|
initAddTaskModal();
|
|
@@ -12375,7 +12435,7 @@ Move task to "${label}"?`);
|
|
|
12375
12435
|
});
|
|
12376
12436
|
initClaudeButton();
|
|
12377
12437
|
initBulkRunButton();
|
|
12378
|
-
|
|
12438
|
+
initAttentionStream();
|
|
12379
12439
|
})();
|
|
12380
12440
|
/*! Bundled license information:
|
|
12381
12441
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/board/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/board/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKlE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,wBAAgB,cAAc,CAC5B,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,cAAc,EAC/B,eAAe,CAAC,EAAE,eAAe,EACjC,EAAE,CAAC,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,UAAU,EACvB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,cAAc,EAC/B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,IAAI,CAkBN;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAgDxE"}
|
package/dist/board/server.js
CHANGED
|
@@ -18,6 +18,7 @@ const CommentService_1 = require("../services/CommentService");
|
|
|
18
18
|
const TaskBlockService_1 = require("../services/TaskBlockService");
|
|
19
19
|
const PtySessionService_1 = require("../terminal/PtySessionService");
|
|
20
20
|
const AttentionStateService_1 = require("../services/AttentionStateService");
|
|
21
|
+
const BoardEventService_1 = require("../services/BoardEventService");
|
|
21
22
|
const wsTerminalServer_1 = require("../terminal/wsTerminalServer");
|
|
22
23
|
const connection_1 = require("../db/connection");
|
|
23
24
|
const config_1 = require("../db/config");
|
|
@@ -44,6 +45,7 @@ function createBoardApp(taskService, taskTagService, metadataService, db, boardT
|
|
|
44
45
|
function startBoardServer(port, boardTitle) {
|
|
45
46
|
const resolvedDb = (0, connection_1.getStorageBackend)();
|
|
46
47
|
const attentionStateService = new AttentionStateService_1.AttentionStateService();
|
|
48
|
+
const boardEventService = new BoardEventService_1.BoardEventService();
|
|
47
49
|
const hookSettingsDataDir = process.env.AGKAN_DATA_DIR
|
|
48
50
|
? (0, path_2.join)(process.env.AGKAN_DATA_DIR, 'board-hooks')
|
|
49
51
|
: (0, path_2.join)((0, os_1.homedir)(), '.agkan', 'board-hooks');
|
|
@@ -55,7 +57,7 @@ function startBoardServer(port, boardTitle) {
|
|
|
55
57
|
hookSettingsDataDir,
|
|
56
58
|
});
|
|
57
59
|
const services = {
|
|
58
|
-
ts: new TaskService_1.TaskService(resolvedDb),
|
|
60
|
+
ts: new TaskService_1.TaskService(resolvedDb, boardEventService),
|
|
59
61
|
tts: new TaskTagService_1.TaskTagService(resolvedDb),
|
|
60
62
|
tags: new TagService_1.TagService(resolvedDb),
|
|
61
63
|
ms: new MetadataService_1.MetadataService(resolvedDb),
|
|
@@ -65,9 +67,10 @@ function startBoardServer(port, boardTitle) {
|
|
|
65
67
|
boardTitle,
|
|
66
68
|
configDir: resolvedConfigDir,
|
|
67
69
|
ptySessionService: ptyService,
|
|
70
|
+
boardEventService,
|
|
71
|
+
attentionStateService,
|
|
68
72
|
};
|
|
69
73
|
(0, boardRoutes_1.registerBoardRoutes)(app, services);
|
|
70
|
-
(0, boardRoutes_1.registerAttentionStreamRoute)(app, { attentionStateService });
|
|
71
74
|
(0, boardRoutes_1.registerHookRoutes)(app, { attentionStateService, ptySessionService: ptyService });
|
|
72
75
|
(0, boardRoutes_1.registerTestHookTokenRoute)(app);
|
|
73
76
|
const server = (0, node_server_1.serve)({ fetch: app.fetch, port }, (info) => {
|
package/dist/board/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/board/server.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/board/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/block/add.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/block/add.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiMpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAe3D"}
|
|
@@ -11,6 +11,7 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
11
11
|
const service_container_1 = require("../../utils/service-container");
|
|
12
12
|
const error_handler_1 = require("../../utils/error-handler");
|
|
13
13
|
const output_formatter_1 = require("../../utils/output-formatter");
|
|
14
|
+
const boardNotify_1 = require("../../utils/boardNotify");
|
|
14
15
|
/**
|
|
15
16
|
* Validate blocker and blocked task IDs
|
|
16
17
|
*/
|
|
@@ -155,6 +156,7 @@ async function handleBlockAdd(blockerId, blockedId, options) {
|
|
|
155
156
|
// Add blocking relationship
|
|
156
157
|
addBlockRelationship(taskBlockService, blockerTaskId, blockedTaskId, formatter);
|
|
157
158
|
outputBlockSuccess(formatter, blockerTask, blockedTask);
|
|
159
|
+
await (0, boardNotify_1.notifyBoard)();
|
|
158
160
|
}
|
|
159
161
|
catch (error) {
|
|
160
162
|
const msg = error instanceof Error ? error.message : 'An unknown error occurred';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/cli/commands/block/add.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/cli/commands/block/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/block/remove.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/block/remove.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8G9D"}
|
|
@@ -11,6 +11,7 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
11
11
|
const service_container_1 = require("../../utils/service-container");
|
|
12
12
|
const error_handler_1 = require("../../utils/error-handler");
|
|
13
13
|
const output_formatter_1 = require("../../utils/output-formatter");
|
|
14
|
+
const boardNotify_1 = require("../../utils/boardNotify");
|
|
14
15
|
function setupBlockRemoveCommand(program) {
|
|
15
16
|
const taskCommand = program.commands.find((cmd) => cmd.name() === 'task');
|
|
16
17
|
if (!taskCommand) {
|
|
@@ -99,6 +100,7 @@ function setupBlockRemoveCommand(program) {
|
|
|
99
100
|
console.log(`${chalk_1.default.bold('Blocked:')} ${chalk_1.default.cyan(`[${blockedTask.id}]`)} ${blockedTask.title}`);
|
|
100
101
|
console.log();
|
|
101
102
|
});
|
|
103
|
+
await (0, boardNotify_1.notifyBoard)();
|
|
102
104
|
}
|
|
103
105
|
catch (error) {
|
|
104
106
|
formatter.error(error instanceof Error ? error.message : 'An unknown error occurred', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/cli/commands/block/remove.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/cli/commands/block/remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/config/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAyC9B,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8D5D"}
|