agkan 3.13.0 → 3.15.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 (94) hide show
  1. package/README.ja.md +47 -0
  2. package/README.md +47 -0
  3. package/dist/board/BulkRunService.d.ts.map +1 -1
  4. package/dist/board/BulkRunService.js +21 -5
  5. package/dist/board/BulkRunService.js.map +1 -1
  6. package/dist/board/boardRoutes.d.ts +4 -4
  7. package/dist/board/boardRoutes.d.ts.map +1 -1
  8. package/dist/board/boardRoutes.js +71 -122
  9. package/dist/board/boardRoutes.js.map +1 -1
  10. package/dist/board/boardStyles.d.ts +1 -1
  11. package/dist/board/boardStyles.d.ts.map +1 -1
  12. package/dist/board/boardStyles.js +5 -1
  13. package/dist/board/boardStyles.js.map +1 -1
  14. package/dist/board/client/main.js +228 -154
  15. package/dist/board/server.d.ts.map +1 -1
  16. package/dist/board/server.js +5 -2
  17. package/dist/board/server.js.map +1 -1
  18. package/dist/cli/commands/agent-guide.d.ts.map +1 -1
  19. package/dist/cli/commands/agent-guide.js +8 -1
  20. package/dist/cli/commands/agent-guide.js.map +1 -1
  21. package/dist/cli/commands/block/add.d.ts.map +1 -1
  22. package/dist/cli/commands/block/add.js +2 -0
  23. package/dist/cli/commands/block/add.js.map +1 -1
  24. package/dist/cli/commands/block/remove.d.ts.map +1 -1
  25. package/dist/cli/commands/block/remove.js +2 -0
  26. package/dist/cli/commands/block/remove.js.map +1 -1
  27. package/dist/cli/commands/config/get.d.ts +5 -0
  28. package/dist/cli/commands/config/get.d.ts.map +1 -0
  29. package/dist/cli/commands/config/get.js +97 -0
  30. package/dist/cli/commands/config/get.js.map +1 -0
  31. package/dist/cli/commands/init.d.ts.map +1 -1
  32. package/dist/cli/commands/init.js +9 -0
  33. package/dist/cli/commands/init.js.map +1 -1
  34. package/dist/cli/commands/meta/delete.d.ts.map +1 -1
  35. package/dist/cli/commands/meta/delete.js +6 -0
  36. package/dist/cli/commands/meta/delete.js.map +1 -1
  37. package/dist/cli/commands/meta/set.d.ts.map +1 -1
  38. package/dist/cli/commands/meta/set.js +7 -0
  39. package/dist/cli/commands/meta/set.js.map +1 -1
  40. package/dist/cli/commands/tag/attach.d.ts.map +1 -1
  41. package/dist/cli/commands/tag/attach.js +10 -19
  42. package/dist/cli/commands/tag/attach.js.map +1 -1
  43. package/dist/cli/commands/tag/delete.d.ts.map +1 -1
  44. package/dist/cli/commands/tag/delete.js +8 -20
  45. package/dist/cli/commands/tag/delete.js.map +1 -1
  46. package/dist/cli/commands/tag/detach.d.ts.map +1 -1
  47. package/dist/cli/commands/tag/detach.js +10 -19
  48. package/dist/cli/commands/tag/detach.js.map +1 -1
  49. package/dist/cli/commands/tag/rename.d.ts.map +1 -1
  50. package/dist/cli/commands/tag/rename.js +8 -20
  51. package/dist/cli/commands/tag/rename.js.map +1 -1
  52. package/dist/cli/commands/task/list.d.ts.map +1 -1
  53. package/dist/cli/commands/task/list.js +9 -13
  54. package/dist/cli/commands/task/list.js.map +1 -1
  55. package/dist/cli/commands/task/update.d.ts.map +1 -1
  56. package/dist/cli/commands/task/update.js +2 -0
  57. package/dist/cli/commands/task/update.js.map +1 -1
  58. package/dist/cli/index.js +4 -0
  59. package/dist/cli/index.js.map +1 -1
  60. package/dist/cli/utils/boardNotify.d.ts +2 -0
  61. package/dist/cli/utils/boardNotify.d.ts.map +1 -0
  62. package/dist/cli/utils/boardNotify.js +16 -0
  63. package/dist/cli/utils/boardNotify.js.map +1 -0
  64. package/dist/cli/utils/constants.d.ts +2 -0
  65. package/dist/cli/utils/constants.d.ts.map +1 -0
  66. package/dist/cli/utils/constants.js +5 -0
  67. package/dist/cli/utils/constants.js.map +1 -0
  68. package/dist/cli/utils/service-container.d.ts.map +1 -1
  69. package/dist/cli/utils/service-container.js +8 -1
  70. package/dist/cli/utils/service-container.js.map +1 -1
  71. package/dist/cli/utils/tag-resolver.d.ts +21 -0
  72. package/dist/cli/utils/tag-resolver.d.ts.map +1 -0
  73. package/dist/cli/utils/tag-resolver.js +22 -0
  74. package/dist/cli/utils/tag-resolver.js.map +1 -0
  75. package/dist/db/config.d.ts +8 -0
  76. package/dist/db/config.d.ts.map +1 -1
  77. package/dist/db/config.js +14 -0
  78. package/dist/db/config.js.map +1 -1
  79. package/dist/hooks/hook-stop.mjs +77 -32
  80. package/dist/services/BoardEventService.d.ts +9 -0
  81. package/dist/services/BoardEventService.d.ts.map +1 -0
  82. package/dist/services/BoardEventService.js +22 -0
  83. package/dist/services/BoardEventService.js.map +1 -0
  84. package/dist/services/ClaudeProcessService.d.ts.map +1 -1
  85. package/dist/services/ClaudeProcessService.js +3 -1
  86. package/dist/services/ClaudeProcessService.js.map +1 -1
  87. package/dist/services/TaskService.d.ts +3 -1
  88. package/dist/services/TaskService.d.ts.map +1 -1
  89. package/dist/services/TaskService.js +27 -15
  90. package/dist/services/TaskService.js.map +1 -1
  91. package/dist/terminal/PtySessionService.d.ts.map +1 -1
  92. package/dist/terminal/PtySessionService.js +13 -3
  93. package/dist/terminal/PtySessionService.js.map +1 -1
  94. package/package.json +1 -1
@@ -9252,6 +9252,13 @@ ${h2.join(`
9252
9252
  sendResize();
9253
9253
  };
9254
9254
  }
9255
+ function reattachTerminalForNewSession(taskId) {
9256
+ if (_currentTaskId !== taskId || !_terminal) return;
9257
+ const container = _terminal.element?.parentElement;
9258
+ if (!(container instanceof HTMLElement)) return;
9259
+ detachTerminal();
9260
+ attachTerminalToTab(taskId, container);
9261
+ }
9255
9262
  function fitTerminal() {
9256
9263
  _fitAddon?.fit();
9257
9264
  }
@@ -9264,6 +9271,125 @@ ${h2.join(`
9264
9271
  }
9265
9272
  }
9266
9273
 
9274
+ // src/board/client/connectionStatus.ts
9275
+ var streamStates = {
9276
+ board: "connecting",
9277
+ "run-logs": "connected"
9278
+ // Not always active; treated as connected when not in use
9279
+ };
9280
+ var activeRunLogs = false;
9281
+ var listeners = [];
9282
+ function computeOverallState() {
9283
+ const monitored = activeRunLogs ? ["board", "run-logs"] : ["board"];
9284
+ if (monitored.some((k) => streamStates[k] === "disconnected")) return "disconnected";
9285
+ if (monitored.some((k) => streamStates[k] === "connecting")) return "connecting";
9286
+ return "connected";
9287
+ }
9288
+ var lastEmitted = null;
9289
+ function notify() {
9290
+ const state = computeOverallState();
9291
+ if (state === lastEmitted) return;
9292
+ lastEmitted = state;
9293
+ listeners.forEach((fn2) => fn2(state));
9294
+ }
9295
+ function setStreamState(key, state) {
9296
+ streamStates[key] = state;
9297
+ notify();
9298
+ }
9299
+ function setRunLogsActive(active) {
9300
+ activeRunLogs = active;
9301
+ if (!active) streamStates["run-logs"] = "connected";
9302
+ notify();
9303
+ }
9304
+ function onConnectionStateChange(fn2) {
9305
+ listeners.push(fn2);
9306
+ fn2(computeOverallState());
9307
+ return () => {
9308
+ const idx = listeners.indexOf(fn2);
9309
+ if (idx !== -1) listeners.splice(idx, 1);
9310
+ };
9311
+ }
9312
+ var reconnectCallbacks = [];
9313
+ function registerReconnect(fn2) {
9314
+ reconnectCallbacks.push(fn2);
9315
+ return () => {
9316
+ const idx = reconnectCallbacks.indexOf(fn2);
9317
+ if (idx !== -1) reconnectCallbacks.splice(idx, 1);
9318
+ };
9319
+ }
9320
+ function triggerReconnectAll() {
9321
+ reconnectCallbacks.forEach((fn2) => fn2());
9322
+ }
9323
+
9324
+ // src/board/client/boardStream.ts
9325
+ var listeners2 = /* @__PURE__ */ new Map();
9326
+ var es2 = null;
9327
+ var stopped = false;
9328
+ var backoffMs = 1e3;
9329
+ var reconnectTimer = null;
9330
+ function getListeners(type) {
9331
+ if (!listeners2.has(type)) listeners2.set(type, []);
9332
+ return listeners2.get(type);
9333
+ }
9334
+ function dispatch(type, data) {
9335
+ getListeners(type).forEach((fn2) => fn2(data));
9336
+ }
9337
+ function connect() {
9338
+ es2 = new EventSource("/api/board/stream");
9339
+ setStreamState("board", "connecting");
9340
+ es2.addEventListener("open", () => {
9341
+ setStreamState("board", "connected");
9342
+ backoffMs = 1e3;
9343
+ });
9344
+ const boardEvents = ["board-update", "attention", "running-tasks", "confirm-complete"];
9345
+ boardEvents.forEach((type) => {
9346
+ es2.addEventListener(type, (event) => {
9347
+ try {
9348
+ dispatch(type, JSON.parse(event.data));
9349
+ } catch {
9350
+ }
9351
+ });
9352
+ });
9353
+ es2.onerror = () => {
9354
+ if (stopped) return;
9355
+ setStreamState("board", "disconnected");
9356
+ es2?.close();
9357
+ reconnectTimer = setTimeout(() => {
9358
+ backoffMs = Math.min(backoffMs * 2, 3e4);
9359
+ connect();
9360
+ }, backoffMs);
9361
+ };
9362
+ }
9363
+ function reconnectNow() {
9364
+ if (stopped) return;
9365
+ if (reconnectTimer !== null) {
9366
+ clearTimeout(reconnectTimer);
9367
+ reconnectTimer = null;
9368
+ }
9369
+ es2?.close();
9370
+ backoffMs = 1e3;
9371
+ connect();
9372
+ }
9373
+ function initBoardStream() {
9374
+ stopped = false;
9375
+ connect();
9376
+ const unregister = registerReconnect(reconnectNow);
9377
+ return () => {
9378
+ stopped = true;
9379
+ if (reconnectTimer !== null) clearTimeout(reconnectTimer);
9380
+ unregister();
9381
+ es2?.close();
9382
+ };
9383
+ }
9384
+ function addBoardStreamListener(type, fn2) {
9385
+ getListeners(type).push(fn2);
9386
+ return () => {
9387
+ const arr = getListeners(type);
9388
+ const idx = arr.indexOf(fn2);
9389
+ if (idx !== -1) arr.splice(idx, 1);
9390
+ };
9391
+ }
9392
+
9267
9393
  // src/board/client/claudeButton.ts
9268
9394
  var _runningTaskIds = /* @__PURE__ */ new Set();
9269
9395
  var _planningTaskIds = /* @__PURE__ */ new Set();
@@ -9287,11 +9413,17 @@ ${h2.join(`
9287
9413
  const indicator = document.getElementById("header-running-indicator");
9288
9414
  if (indicator) {
9289
9415
  indicator.style.display = runningTaskIds.size > 0 ? "" : "none";
9416
+ if (runningTaskIds.size === 0) {
9417
+ closeRunningIndicatorDropdown();
9418
+ }
9290
9419
  }
9291
9420
  const terminalTaskId = getCurrentTerminalTaskId();
9292
9421
  if (terminalTaskId !== null && previousRunning.has(terminalTaskId) && !runningTaskIds.has(terminalTaskId)) {
9293
9422
  detachTerminal();
9294
9423
  }
9424
+ if (terminalTaskId !== null && !previousRunning.has(terminalTaskId) && runningTaskIds.has(terminalTaskId)) {
9425
+ reattachTerminalForNewSession(terminalTaskId);
9426
+ }
9295
9427
  document.querySelectorAll(".claude-run-split").forEach((split) => {
9296
9428
  const taskId = Number(split.dataset.taskId);
9297
9429
  if (runningTaskIds.has(taskId)) {
@@ -9527,18 +9659,19 @@ ${h2.join(`
9527
9659
  document.querySelectorAll(".column-body").forEach((body) => {
9528
9660
  attachClaudeButtonListeners(body);
9529
9661
  });
9662
+ initRunningIndicatorDropdown();
9530
9663
  document.addEventListener("click", () => {
9531
9664
  document.querySelectorAll(".claude-run-split.open").forEach((el2) => {
9532
9665
  el2.classList.remove("open");
9533
9666
  });
9667
+ closeRunningIndicatorDropdown();
9534
9668
  });
9535
- const es2 = new EventSource("/api/running-tasks/stream");
9536
- es2.addEventListener("update", (event) => {
9537
- const data = JSON.parse(event.data);
9669
+ addBoardStreamListener("running-tasks", (raw) => {
9670
+ const data = raw;
9538
9671
  handleRunningTasksUpdate(data.tasks);
9539
9672
  });
9540
- es2.addEventListener("confirm-complete", (event) => {
9541
- const data = JSON.parse(event.data);
9673
+ addBoardStreamListener("confirm-complete", (raw) => {
9674
+ const data = raw;
9542
9675
  const label = data.targetStatus === "done" ? "Done" : data.targetStatus === "review" ? "Review" : data.targetStatus;
9543
9676
  const confirmed = window.confirm(`Task #${data.taskId} completed successfully.
9544
9677
  Move task to "${label}"?`);
@@ -9551,6 +9684,49 @@ Move task to "${label}"?`);
9551
9684
  }
9552
9685
  });
9553
9686
  }
9687
+ function getTaskTitleById(taskId) {
9688
+ const card = document.querySelector(`.card[data-task-id="${taskId}"]`);
9689
+ if (card) {
9690
+ const titleEl = card.querySelector(".card-title");
9691
+ if (titleEl?.textContent) return titleEl.textContent.trim();
9692
+ }
9693
+ return `Task #${taskId}`;
9694
+ }
9695
+ function closeRunningIndicatorDropdown() {
9696
+ const dropdown = document.getElementById("running-indicator-dropdown");
9697
+ if (dropdown) dropdown.remove();
9698
+ }
9699
+ function initRunningIndicatorDropdown() {
9700
+ const indicator = document.getElementById("header-running-indicator");
9701
+ if (!indicator) return;
9702
+ indicator.style.cursor = "pointer";
9703
+ indicator.addEventListener("click", (e) => {
9704
+ e.stopPropagation();
9705
+ const existing = document.getElementById("running-indicator-dropdown");
9706
+ if (existing) {
9707
+ existing.remove();
9708
+ return;
9709
+ }
9710
+ const dropdown = document.createElement("div");
9711
+ dropdown.id = "running-indicator-dropdown";
9712
+ dropdown.className = "running-indicator-dropdown";
9713
+ for (const taskId of _runningTaskIds) {
9714
+ const item = document.createElement("div");
9715
+ item.className = "running-indicator-item";
9716
+ item.textContent = getTaskTitleById(taskId);
9717
+ item.addEventListener("click", async (ev) => {
9718
+ ev.stopPropagation();
9719
+ closeRunningIndicatorDropdown();
9720
+ await openTerminalTab(taskId);
9721
+ });
9722
+ dropdown.appendChild(item);
9723
+ }
9724
+ const wrapper = indicator.parentElement;
9725
+ if (wrapper) {
9726
+ wrapper.appendChild(dropdown);
9727
+ }
9728
+ });
9729
+ }
9554
9730
 
9555
9731
  // src/board/client/dragDrop.ts
9556
9732
  var _redrawDependencies = null;
@@ -9924,57 +10100,6 @@ Move task to "${label}"?`);
9924
10100
  renderPills();
9925
10101
  }
9926
10102
 
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
10103
  // src/board/client/boardPolling.ts
9979
10104
  var activeFilters = { tagIds: [], priorities: [], assignee: "", searchText: "" };
9980
10105
  function buildFilterParams() {
@@ -10129,43 +10254,10 @@ Move task to "${label}"?`);
10129
10254
  }
10130
10255
  }
10131
10256
  function initBoardPolling() {
10132
- let backoffMs = 1e3;
10133
- let reconnectTimer = null;
10134
- let es2;
10135
- let stopped = false;
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);
10257
+ addBoardStreamListener("board-update", () => {
10258
+ if (draggedCard !== null || isPendingStatusUpdate) return;
10259
+ refreshBoardCards();
10260
+ });
10169
10261
  }
10170
10262
 
10171
10263
  // src/board/client/addTaskModal.ts
@@ -10496,6 +10588,16 @@ Move task to "${label}"?`);
10496
10588
  await loadBranchSuggestions();
10497
10589
  renderBranchDropdown(branchDropdown, branchInput.value);
10498
10590
  });
10591
+ branchInput.addEventListener("keydown", (e) => {
10592
+ if (branchInput.readOnly && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) {
10593
+ e.preventDefault();
10594
+ branchInput.readOnly = false;
10595
+ branchInput.classList.remove("branch-auto-mode");
10596
+ branchInternalValue = e.key;
10597
+ branchInput.value = e.key;
10598
+ renderBranchDropdown(branchDropdown, e.key);
10599
+ }
10600
+ });
10499
10601
  branchInput.addEventListener("input", () => {
10500
10602
  if (branchInternalValue === BRANCH_AUTO_GENERATE) {
10501
10603
  branchInput.readOnly = false;
@@ -10648,11 +10750,11 @@ Move task to "${label}"?`);
10648
10750
  });
10649
10751
  }
10650
10752
  function subscribeRunLogs(taskId, onUpdate, onError) {
10651
- const es2 = new EventSource("/api/claude/tasks/" + taskId + "/run-logs/stream");
10652
- es2.addEventListener("open", () => {
10753
+ const es3 = new EventSource("/api/claude/tasks/" + taskId + "/run-logs/stream");
10754
+ es3.addEventListener("open", () => {
10653
10755
  setStreamState("run-logs", "connected");
10654
10756
  });
10655
- es2.addEventListener("update", (event) => {
10757
+ es3.addEventListener("update", (event) => {
10656
10758
  const msgEvent = event;
10657
10759
  try {
10658
10760
  const data = JSON.parse(msgEvent.data);
@@ -10660,11 +10762,11 @@ Move task to "${label}"?`);
10660
10762
  } catch {
10661
10763
  }
10662
10764
  });
10663
- es2.onerror = () => {
10765
+ es3.onerror = () => {
10664
10766
  setStreamState("run-logs", "disconnected");
10665
10767
  onError();
10666
10768
  };
10667
- return es2;
10769
+ return es3;
10668
10770
  }
10669
10771
 
10670
10772
  // src/board/client/detailPanelHtml.ts
@@ -11252,6 +11354,16 @@ Move task to "${label}"?`);
11252
11354
  await loadDetailBranchSuggestions();
11253
11355
  renderDetailBranchDropdown(branchDropdown, branchInput.value);
11254
11356
  });
11357
+ branchInput.addEventListener("keydown", (e) => {
11358
+ if (branchInput.readOnly && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) {
11359
+ e.preventDefault();
11360
+ branchInput.readOnly = false;
11361
+ branchInput.classList.remove("branch-auto-mode");
11362
+ branchInternalValue2 = e.key;
11363
+ branchInput.value = e.key;
11364
+ renderDetailBranchDropdown(branchDropdown, e.key);
11365
+ }
11366
+ });
11255
11367
  branchInput.addEventListener("input", () => {
11256
11368
  if (branchInternalValue2 === BRANCH_AUTO_GENERATE3) {
11257
11369
  branchInput.readOnly = false;
@@ -11457,7 +11569,12 @@ Move task to "${label}"?`);
11457
11569
  });
11458
11570
  document.addEventListener("keydown", (e) => {
11459
11571
  if (e.key === "Escape" && detailPanel.classList.contains("open")) {
11460
- closeDetailPanel();
11572
+ const addModal = document.getElementById("add-modal");
11573
+ if (addModal?.classList.contains("show")) {
11574
+ document.getElementById("add-cancel")?.click();
11575
+ } else {
11576
+ closeDetailPanel();
11577
+ }
11461
11578
  }
11462
11579
  });
11463
11580
  document.getElementById("detail-tabs")?.addEventListener("click", (e) => {
@@ -12210,59 +12327,15 @@ Move task to "${label}"?`);
12210
12327
  slot.classList.remove("is-active");
12211
12328
  }
12212
12329
  }
12213
- function startAttentionStream() {
12214
- let backoffMs = 1e3;
12215
- let reconnectTimer = null;
12216
- let es2;
12217
- let stopped = false;
12218
- function connect() {
12219
- es2 = new EventSource("/api/attention/stream");
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;
12330
+ function initAttentionStream() {
12331
+ addBoardStreamListener("attention", (raw) => {
12332
+ const msg = raw;
12333
+ if (msg.type === "snapshot") {
12334
+ msg.taskIds.forEach((id) => applyAttention(id, true));
12335
+ } else if (msg.type === "update") {
12336
+ applyAttention(msg.taskId, msg.needsAttention);
12253
12337
  }
12254
- es2.close();
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
- };
12338
+ });
12266
12339
  }
12267
12340
 
12268
12341
  // src/board/client/bulkRunButton.ts
@@ -12351,14 +12424,15 @@ Move task to "${label}"?`);
12351
12424
  document.addEventListener("click", () => {
12352
12425
  split.classList.remove("open");
12353
12426
  });
12354
- const es2 = new EventSource("/api/claude/bulk-run/stream");
12355
- es2.addEventListener("update", (event) => {
12427
+ const es3 = new EventSource("/api/claude/bulk-run/stream");
12428
+ es3.addEventListener("update", (event) => {
12356
12429
  const data = JSON.parse(event.data);
12357
12430
  setRunningState(data.mode === "running");
12358
12431
  });
12359
12432
  }
12360
12433
 
12361
12434
  // src/board/client/main.ts
12435
+ initBoardStream();
12362
12436
  initDragDrop();
12363
12437
  initAutoScroll();
12364
12438
  initAddTaskModal();
@@ -12375,7 +12449,7 @@ Move task to "${label}"?`);
12375
12449
  });
12376
12450
  initClaudeButton();
12377
12451
  initBulkRunButton();
12378
- startAttentionStream();
12452
+ initAttentionStream();
12379
12453
  })();
12380
12454
  /*! Bundled license information:
12381
12455
 
@@ -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;AAIlE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAUxD,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,CA8CxE"}
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"}
@@ -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) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/board/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/board/server.ts"],"names":[],"mappings":";;;;;AAqBA,wCA6BC;AAED,4CAgDC;AApGD,+BAA4B;AAC5B,mDAA0C;AAE1C,gDAAwB;AACxB,2BAA6B;AAC7B,+BAA4B;AAC5B,yDAAsD;AACtD,+DAA4D;AAC5D,uDAAoD;AACpD,iEAA8D;AAC9D,+DAA4D;AAC5D,mEAAgE;AAChE,qEAAkE;AAClE,6EAA0E;AAC1E,qEAAkE;AAClE,mEAAsE;AACtE,iDAAqD;AAErD,yCAAiD;AACjD,+CAAmH;AAEnH,SAAgB,cAAc,CAC5B,WAAyB,EACzB,cAA+B,EAC/B,eAAiC,EACjC,EAAmB,EACnB,UAAmB,EACnB,UAAuB,EACvB,SAAkB,EAClB,cAA+B,EAC/B,gBAAmC,EACnC,iBAAqC;IAErC,MAAM,GAAG,GAAG,IAAI,WAAI,EAAE,CAAC;IACvB,MAAM,iBAAiB,GAAG,SAAS,IAAI,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,0BAAiB,GAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,EAAE,IAAI,IAAA,8BAAiB,GAAE,CAAC;IAC7C,MAAM,QAAQ,GAAkB;QAC9B,EAAE,EAAE,WAAW,IAAI,IAAI,yBAAW,CAAC,UAAU,CAAC;QAC9C,GAAG,EAAE,cAAc,IAAI,IAAI,+BAAc,CAAC,UAAU,CAAC;QACrD,IAAI,EAAE,UAAU,IAAI,IAAI,uBAAU,CAAC,UAAU,CAAC;QAC9C,EAAE,EAAE,eAAe,IAAI,IAAI,iCAAe,CAAC,UAAU,CAAC;QACtD,EAAE,EAAE,cAAc,IAAI,IAAI,+BAAc,CAAC,UAAU,CAAC;QACpD,GAAG,EAAE,gBAAgB,IAAI,IAAI,mCAAgB,CAAC,UAAU,CAAC;QACzD,QAAQ,EAAE,UAAU;QACpB,UAAU;QACV,SAAS,EAAE,iBAAiB;QAC5B,iBAAiB;KAClB,CAAC;IACF,IAAA,iCAAmB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAY,EAAE,UAAmB;IAChE,MAAM,UAAU,GAAG,IAAA,8BAAiB,GAAE,CAAC;IAEvC,MAAM,qBAAqB,GAAG,IAAI,6CAAqB,EAAE,CAAC;IAC1D,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;IAClD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc;QACpD,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC;QACjD,CAAC,CAAC,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,IAAI,WAAI,EAAE,CAAC;IACvB,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,0BAAiB,GAAE,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,UAAU,EAAE;QACnD,WAAW,EAAE,IAAI;QACjB,qBAAqB;QACrB,mBAAmB;KACpB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAkB;QAC9B,EAAE,EAAE,IAAI,yBAAW,CAAC,UAAU,EAAE,iBAAiB,CAAC;QAClD,GAAG,EAAE,IAAI,+BAAc,CAAC,UAAU,CAAC;QACnC,IAAI,EAAE,IAAI,uBAAU,CAAC,UAAU,CAAC;QAChC,EAAE,EAAE,IAAI,iCAAe,CAAC,UAAU,CAAC;QACnC,EAAE,EAAE,IAAI,+BAAc,CAAC,UAAU,CAAC;QAClC,GAAG,EAAE,IAAI,mCAAgB,CAAC,UAAU,CAAC;QACrC,QAAQ,EAAE,UAAU;QACpB,UAAU;QACV,SAAS,EAAE,iBAAiB;QAC5B,iBAAiB,EAAE,UAAU;QAC7B,iBAAiB;QACjB,qBAAqB;KACtB,CAAC;IAEF,IAAA,iCAAmB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnC,IAAA,gCAAkB,EAAC,GAAG,EAAE,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;IAClF,IAAA,wCAA0B,EAAC,GAAG,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,IAAA,mBAAK,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACxD,MAAM,WAAW,GAAG,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAElE,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEvC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,yCAAsB,EAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YACzC,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAW,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guide.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent-guide.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2TpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAe7D"}
1
+ {"version":3,"file":"agent-guide.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent-guide.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkUpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAe7D"}
@@ -308,10 +308,17 @@ agkan task list --tree
308
308
 
309
309
  ## Configuration
310
310
 
311
- Place \`.agkan.yml\` in the project root to customize the DB path:
311
+ Place \`.agkan.yml\` in the project root to customize agkan behavior:
312
312
 
313
313
  \`\`\`yaml
314
+ # Database path
314
315
  path: ./.agkan/data.db
316
+
317
+ # Permission mode for Claude CLI (default: auto)
318
+ # Valid values: auto | acceptEdits | bypassPermissions | default | dontAsk | plan | skipPermissions
319
+ # Note: skipPermissions maps to --dangerously-skip-permissions (legacy behavior).
320
+ # All other values use --permission-mode <value>.
321
+ permissionMode: auto
315
322
  \`\`\`
316
323
 
317
324
  Or use the environment variable: \`AGENT_KANBAN_DB_PATH=/custom/path/data.db\`
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guide.js","sourceRoot":"","sources":["../../../src/cli/commands/agent-guide.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA6TH,wDAeC;AAxUD,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuT3B,CAAC;AAEF,SAAgB,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gGAAgG,CAAC;SAClH,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE;QACtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACX,0IAA0I,CAC3I,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"agent-guide.js","sourceRoot":"","sources":["../../../src/cli/commands/agent-guide.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAoUH,wDAeC;AA/UD,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8T3B,CAAC;AAEF,SAAgB,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gGAAgG,CAAC;SAClH,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE;QACtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACX,0IAA0I,CAC3I,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -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;AA+LpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAe3D"}
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":"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"}
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;AAMpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6G9D"}
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"}