@mindexec/cli 0.2.429 → 0.2.430

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 (74) hide show
  1. package/package.json +1 -1
  2. package/remote-fast/osx-arm64/mindexec-remote-fast.dll +0 -0
  3. package/remote-fast/osx-x64/mindexec-remote-fast.dll +0 -0
  4. package/remote-fast/win-x64/mindexec-remote-fast.dll +0 -0
  5. package/wwwroot/_content/MindExecution.Shared/css/app.css +1 -1
  6. package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +280 -39
  7. package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +37 -9
  8. package/wwwroot/_content/MindExecution.Shared/js/mind-map-menu-manager.js +20 -1
  9. package/wwwroot/_content/MindExecution.Shared/js/mind-map-nodes.js +129 -1
  10. package/wwwroot/_framework/MessagePack.7vlan1azj0.dll +0 -0
  11. package/wwwroot/_framework/{MessagePack.Annotations.l6qv48kgpt.dll → MessagePack.Annotations.py0sy1kn1f.dll} +0 -0
  12. package/wwwroot/_framework/{Microsoft.AspNetCore.Authorization.k7dsih5y5g.dll → Microsoft.AspNetCore.Authorization.htf46vkphd.dll} +0 -0
  13. package/wwwroot/_framework/Microsoft.AspNetCore.Components.933rwrwkzt.dll +0 -0
  14. package/wwwroot/_framework/{Microsoft.AspNetCore.Components.Authorization.iycd6unprw.dll → Microsoft.AspNetCore.Components.Authorization.tt4qeyggd5.dll} +0 -0
  15. package/wwwroot/_framework/{Microsoft.AspNetCore.Components.Web.487u3twia4.dll → Microsoft.AspNetCore.Components.Web.2s8gqxkpdl.dll} +0 -0
  16. package/wwwroot/_framework/{Microsoft.AspNetCore.Components.WebAssembly.d0gcnmlxxz.dll → Microsoft.AspNetCore.Components.WebAssembly.sarmn45nm8.dll} +0 -0
  17. package/wwwroot/_framework/{Microsoft.AspNetCore.Metadata.h4yevl9adi.dll → Microsoft.AspNetCore.Metadata.6782hrb6zt.dll} +0 -0
  18. package/wwwroot/_framework/Microsoft.Data.Sqlite.0gpx20ox73.dll +0 -0
  19. package/wwwroot/_framework/{Microsoft.EntityFrameworkCore.Abstractions.gocudnvz7b.dll → Microsoft.EntityFrameworkCore.Abstractions.8kg0ha5f3s.dll} +0 -0
  20. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.iuncmsap8z.dll +0 -0
  21. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.vsalww6xiy.dll +0 -0
  22. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.xmbscya80j.dll +0 -0
  23. package/wwwroot/_framework/{Microsoft.Extensions.Caching.Abstractions.364t4jh3zz.dll → Microsoft.Extensions.Caching.Abstractions.6w6jliyj60.dll} +0 -0
  24. package/wwwroot/_framework/{Microsoft.Extensions.Caching.Memory.izlxhpzosu.dll → Microsoft.Extensions.Caching.Memory.puhvxafgju.dll} +0 -0
  25. package/wwwroot/_framework/{Microsoft.Extensions.Configuration.Json.duvlngw8i0.dll → Microsoft.Extensions.Configuration.Json.7fo28u9lzj.dll} +0 -0
  26. package/wwwroot/_framework/{Microsoft.Extensions.Configuration.8zq7hh41o7.dll → Microsoft.Extensions.Configuration.rczgmasvw2.dll} +0 -0
  27. package/wwwroot/_framework/{Microsoft.Extensions.DependencyInjection.n4tg99oy8l.dll → Microsoft.Extensions.DependencyInjection.8i0jefgzgz.dll} +0 -0
  28. package/wwwroot/_framework/{Microsoft.Extensions.DependencyInjection.Abstractions.t2hh9kvx0o.dll → Microsoft.Extensions.DependencyInjection.Abstractions.bmy2ykf9d2.dll} +0 -0
  29. package/wwwroot/_framework/{Microsoft.Extensions.DependencyModel.h0d06ixk3e.dll → Microsoft.Extensions.DependencyModel.y69407g5h0.dll} +0 -0
  30. package/wwwroot/_framework/{Microsoft.Extensions.Logging.Abstractions.rl32bkx2sd.dll → Microsoft.Extensions.Logging.Abstractions.xn41li608u.dll} +0 -0
  31. package/wwwroot/_framework/{Microsoft.Extensions.Logging.dlht1xei0t.dll → Microsoft.Extensions.Logging.sayb2u55jg.dll} +0 -0
  32. package/wwwroot/_framework/{Microsoft.Extensions.Options.qeunebioml.dll → Microsoft.Extensions.Options.iffq34v2x9.dll} +0 -0
  33. package/wwwroot/_framework/{Microsoft.JSInterop.WebAssembly.ryia5gxiad.dll → Microsoft.JSInterop.WebAssembly.rlz6wrl50x.dll} +0 -0
  34. package/wwwroot/_framework/{Microsoft.JSInterop.ew9vz9o332.dll → Microsoft.JSInterop.k3pogql4x4.dll} +0 -0
  35. package/wwwroot/_framework/{MindExecution.Core.fi1okngj1v.dll → MindExecution.Core.808jj176e1.dll} +0 -0
  36. package/wwwroot/_framework/{MindExecution.Kernel.88cfrq3n6f.dll → MindExecution.Kernel.75hxk08tt0.dll} +0 -0
  37. package/wwwroot/_framework/{MindExecution.Plugins.Admin.j8r53ny1yk.dll → MindExecution.Plugins.Admin.0zkmk8wahq.dll} +0 -0
  38. package/wwwroot/_framework/{MindExecution.Plugins.Business.dxnr51rpko.dll → MindExecution.Plugins.Business.vyw3769hrw.dll} +0 -0
  39. package/wwwroot/_framework/{MindExecution.Plugins.Concept.5wy4pksmui.dll → MindExecution.Plugins.Concept.hdpod01n2v.dll} +0 -0
  40. package/wwwroot/_framework/{MindExecution.Plugins.Directory.8on0qz60kp.dll → MindExecution.Plugins.Directory.jtw9q1dm9n.dll} +0 -0
  41. package/wwwroot/_framework/{MindExecution.Plugins.PlanMaster.0fb3d2by4x.dll → MindExecution.Plugins.PlanMaster.bcxkqs35nn.dll} +0 -0
  42. package/wwwroot/_framework/{MindExecution.Plugins.YouTube.8k0sthce42.dll → MindExecution.Plugins.YouTube.gg4bv7zo0e.dll} +0 -0
  43. package/wwwroot/_framework/{MindExecution.Shared.5azabuayvq.dll → MindExecution.Shared.acb35gyigd.dll} +0 -0
  44. package/wwwroot/_framework/{MindExecution.Web.d8y80arq4m.dll → MindExecution.Web.6grqlsq22z.dll} +0 -0
  45. package/wwwroot/_framework/SQLitePCLRaw.batteries_v2.sfbkwlzomg.dll +0 -0
  46. package/wwwroot/_framework/SQLitePCLRaw.core.uwwith8gy4.dll +0 -0
  47. package/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.48c2jqzyip.dll +0 -0
  48. package/wwwroot/_framework/{System.Memory.1k78n7wdxb.dll → System.Memory.l1cfybi1j0.dll} +0 -0
  49. package/wwwroot/_framework/{System.Numerics.Tensors.0c7z4mt3on.dll → System.Numerics.Tensors.dsa4b5t80k.dll} +0 -0
  50. package/wwwroot/_framework/System.Private.CoreLib.g6ztz7cmo2.dll +0 -0
  51. package/wwwroot/_framework/System.Runtime.v0r22684n1.dll +0 -0
  52. package/wwwroot/_framework/blazor.boot.json +91 -93
  53. package/wwwroot/_framework/blazor.webassembly.js +1 -1
  54. package/wwwroot/_framework/dotnet.native.566r55w3xu.js +16 -0
  55. package/wwwroot/_framework/dotnet.native.x6q5aixc38.wasm +0 -0
  56. package/wwwroot/_framework/netstandard.b50t77veor.dll +0 -0
  57. package/wwwroot/index.html +2 -2
  58. package/wwwroot/service-worker-assets.js +101 -105
  59. package/wwwroot/service-worker.js +1 -1
  60. package/wwwroot/_framework/MessagePack.eqoptzx9d5.dll +0 -0
  61. package/wwwroot/_framework/Microsoft.AspNetCore.Components.6nyje9sa0g.dll +0 -0
  62. package/wwwroot/_framework/Microsoft.Data.Sqlite.jdlxgv2jtg.dll +0 -0
  63. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.4gjazp7kjf.dll +0 -0
  64. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.lt4rsvinuo.dll +0 -0
  65. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.69luj0fa9r.dll +0 -0
  66. package/wwwroot/_framework/SQLitePCLRaw.batteries_v2.rrd1nzawpp.dll +0 -0
  67. package/wwwroot/_framework/SQLitePCLRaw.core.1dxloztpfz.dll +0 -0
  68. package/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.oekyzl53i1.dll +0 -0
  69. package/wwwroot/_framework/System.Private.CoreLib.c1dbswx1b2.dll +0 -0
  70. package/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.l5rk496q70.dll +0 -0
  71. package/wwwroot/_framework/System.Runtime.h9cduidfkh.dll +0 -0
  72. package/wwwroot/_framework/dotnet.native.boem75ye5i.wasm +0 -0
  73. package/wwwroot/_framework/dotnet.native.qc8g39g30v.js +0 -16
  74. package/wwwroot/_framework/netstandard.yvr3prsx0x.dll +0 -0
@@ -776,9 +776,17 @@ window.MindMapInteractions = (function () {
776
776
  return agentId !== undefined && agentId !== null && String(agentId) !== '';
777
777
  }
778
778
 
779
+ function isBusinessAutomationNode(target) {
780
+ return getNodeSemanticType(target) === 'BusinessAutomationNode';
781
+ }
782
+
779
783
  function isInlineEditableNode(target) {
780
784
  const contentType = getNodeContentType(target);
781
- return contentType === 'note' || contentType === 'memo' || contentType === 'code' || isAgentNode(target);
785
+ return contentType === 'note'
786
+ || contentType === 'memo'
787
+ || contentType === 'code'
788
+ || isAgentNode(target)
789
+ || isBusinessAutomationNode(target);
782
790
  }
783
791
 
784
792
  function isReadOnlyTextSelectionNode(target) {
@@ -2906,7 +2914,10 @@ window.MindMapInteractions = (function () {
2906
2914
  function getGuardedTargetNodeId(module, target, event) {
2907
2915
  const nodeId = getTargetNodeId(target);
2908
2916
  if (!nodeId || !event) {
2909
- return nodeId;
2917
+ const topCssHit = event
2918
+ ? findCssNodeHitAtClientPoint(module, event.clientX, event.clientY)
2919
+ : null;
2920
+ return topCssHit?.nodeId || nodeId;
2910
2921
  }
2911
2922
 
2912
2923
  const topCssHit = findCssNodeHitAtClientPoint(module, event.clientX, event.clientY);
@@ -4043,11 +4054,27 @@ window.MindMapInteractions = (function () {
4043
4054
  e.target.classList.contains('markdown-body') ||
4044
4055
  e.target.classList.contains('csv-table-scroll') ||
4045
4056
  e.target.classList.contains('csv-table-cell') ||
4057
+ e.target.classList.contains('map-node-memo__body-view') ||
4058
+ e.target.classList.contains('map-node-memo__body') ||
4059
+ e.target.classList.contains('map-node-memo__title') ||
4046
4060
  e.target.closest('.code-body') ||
4047
4061
  e.target.closest('.node-response') ||
4048
4062
  e.target.closest('.text-content') ||
4049
4063
  e.target.closest('.markdown-body') ||
4050
- e.target.closest('.csv-table-scroll');
4064
+ e.target.closest('.csv-table-scroll') ||
4065
+ e.target.closest('.map-node-memo__body-view') ||
4066
+ e.target.closest('.map-node-memo__body') ||
4067
+ e.target.closest('.map-node-memo__title');
4068
+
4069
+ if (supportsTextInteraction &&
4070
+ isInlineEditableNode(nodeEntry) &&
4071
+ isClickOnContent &&
4072
+ !isMultiModifier &&
4073
+ isSelected &&
4074
+ !canNativeTextSelectionStart(module, nodeEntry, clickedNodeId)) {
4075
+ startNodeDrag(module, e, clickedNodeId, nodeEntry, nodeEntry.cssObject || nodeEntry.glObject);
4076
+ return;
4077
+ }
4051
4078
 
4052
4079
  // ▼▼▼ [2-Stage Click] text-based 노드가 이미 편집 모드(CSS3D)인 경우에만 텍스트 선택 허용 ▼▼▼
4053
4080
  if (supportsTextInteraction && isClickOnContent && !isMultiModifier && isSelected) {
@@ -4557,12 +4584,12 @@ window.MindMapInteractions = (function () {
4557
4584
 
4558
4585
  module.isShiftClick = isMultiModifier;
4559
4586
 
4560
- // ▼▼▼ [2-Stage Click] 선택된 text-based 노드는 onMouseDown에서 CSS3D 전환하지 않음 ▼▼▼
4561
- // onMouseUp에서 2차 클릭 시에만 편집 모드(CSS3D)로 전환
4562
- const isAlreadySelected = (module.selectedNodeIdJs === nodeId);
4563
- const isTextBasedNode = contentType === 'code' || contentType === 'text' || contentType === 'markdown';
4564
- // (isAlreadySelected && isTextBasedNode 케이스는 아래 startNodeDrag로 진행하여 onMouseUp에서 처리)
4565
- // ▲▲▲ [2-Stage Click] ▲▲▲
4587
+ // ▼▼▼ [2-Stage Click] 선택된 text-based 노드는 onMouseDown에서 CSS3D 전환하지 않음 ▼▼▼
4588
+ // onMouseUp에서 2차 클릭 시에만 편집 모드(CSS3D)로 전환
4589
+ const isAlreadySelected = (module.selectedNodeIdJs === nodeId);
4590
+ const isTextBasedNode = contentType === 'code' || contentType === 'text' || contentType === 'markdown';
4591
+ // (isAlreadySelected && isTextBasedNode 케이스는 아래 startNodeDrag로 진행하여 onMouseUp에서 처리)
4592
+ // ▲▲▲ [2-Stage Click] ▲▲▲
4566
4593
 
4567
4594
  // ▼▼▼ [Fix] 다중 선택 상태에서 다른 노드 클릭 시 해제 (드래그 시작 전) ▼▼▼
4568
4595
  // 단, 다중 선택된 노드 중 하나를 클릭한 경우는 해제하지 않음 (다중 드래그 허용)
@@ -4610,6 +4637,7 @@ window.MindMapInteractions = (function () {
4610
4637
  e.preventDefault();
4611
4638
 
4612
4639
  module.isShiftClick = e.shiftKey || e.ctrlKey || e.metaKey;
4640
+
4613
4641
  beginOverlayNodeDrag(module, e, cssFallbackHit.nodeId);
4614
4642
  return;
4615
4643
  }
@@ -264,12 +264,31 @@
264
264
  return getNodeSemanticType(model) === BUSINESS_AUTOMATION_SEMANTIC_TYPE;
265
265
  }
266
266
 
267
+ function getBusinessAutomationNodeKind(model) {
268
+ const metadata = ensureMetadata(model);
269
+ return String(metadata.AutomationNodeKind || metadata.automationNodeKind || '').trim().toLowerCase();
270
+ }
271
+
272
+ function getBusinessAutomationNodeRole(model) {
273
+ const metadata = ensureMetadata(model);
274
+ return String(metadata.AutomationNodeRole || metadata.automationNodeRole || '').trim().toLowerCase();
275
+ }
276
+
277
+ function isBusinessAutomationRootAiTaskNode(model) {
278
+ if (!isBusinessAutomationNode(model) || getBusinessAutomationNodeKind(model) !== 'ai-task') {
279
+ return false;
280
+ }
281
+
282
+ const role = getBusinessAutomationNodeRole(model);
283
+ return role.length === 0 || role === 'root';
284
+ }
285
+
267
286
  function isRemoteFleetMonitorNode(model) {
268
287
  return getNodeSemanticType(model) === REMOTE_FLEET_SEMANTIC_TYPE;
269
288
  }
270
289
 
271
290
  function canRunExecutableNode(model) {
272
- return isBusinessAutomationNode(model);
291
+ return isBusinessAutomationRootAiTaskNode(model);
273
292
  }
274
293
 
275
294
  function isExecutableNodeRunning(model) {
@@ -38,6 +38,54 @@
38
38
  const NODE_TEXT_SELECTION_SELECTORS = '.node-response, .code-body, .text-content, .markdown-body, .csv-table-scroll, .csv-table-cell, textarea, .map-node-memo__title, .map-node-memo__body, .map-node-memo__body-view, .map-node-memo__body-view *';
39
39
  const NODE_INTERACTIVE_CONTENT_SELECTORS = `${NODE_TEXT_SELECTION_SELECTORS}, .embed-content, .embed-card, .embed-card *, .embed-action, .embed-play-button, iframe, .map-node-memo__icon-button, .map-node-memo__icon-option, .map-node-memo__icon-popover, .map-node-memo__agent-action, .map-node-memo__agent-result-link, .map-node-memo__agent-plan-panel, .map-node-memo__agent-plan-body, .map-node-memo__agent-plan-body *, .map-node-memo__agent-console-panel, .map-node-memo__agent-console-body, .map-node-memo__agent-console-body *, .map-node-memo__agent-console-resize, .map-node-memo__agent-console-resize *`;
40
40
  const MEMO_EDIT_ONLY_SELECTORS = '.map-node-memo__title, .map-node-memo__body, .map-node-memo__icon-button, .map-node-memo__icon-option, .map-node-memo__icon-popover';
41
+ const INLINE_EDITABLE_NODE_DRAG_EXCLUDED_SELECTOR = [
42
+ 'button',
43
+ 'a',
44
+ 'input',
45
+ 'textarea',
46
+ 'select',
47
+ '[contenteditable="true"]',
48
+ '.node-prompt-copy-button',
49
+ '.csv-table-header-button',
50
+ '.resize-handle',
51
+ '.css3d-resize-handle',
52
+ '.map-node-memo__icon-wrap',
53
+ '.map-node-memo__icon-button',
54
+ '.map-node-memo__icon-popover',
55
+ '.map-node-memo__icon-option',
56
+ '.map-node-memo__agent-role-select',
57
+ '.map-node-memo__agent-role-select-button',
58
+ '.map-node-memo__agent-role-menu',
59
+ '.map-node-memo__agent-role-option',
60
+ '.map-node-memo__agent-action',
61
+ '.map-node-memo__agent-actions',
62
+ '.map-node-memo__agent-plan-panel',
63
+ '.map-node-memo__agent-console-panel',
64
+ '.map-node-memo__agent-console-resize',
65
+ '.map-node-memo__agent-result-link',
66
+ '.map-node-memo__automation-pins',
67
+ '.map-node-memo__automation-pin',
68
+ '.map-node-memo__automation-pin-label',
69
+ '.map-node-memo__automation-pin-dot',
70
+ '.map-node-memo__automation-badges',
71
+ '.map-node-memo__automation-status',
72
+ '.map-node-memo__automation-intent'
73
+ ].join(', ');
74
+ const INLINE_EDITABLE_NODE_DRAG_SURFACE_SELECTOR = [
75
+ '.node-content-wrapper',
76
+ '.node-prompt-row',
77
+ '.node-prompt',
78
+ '.node-response',
79
+ '.note-content',
80
+ '.markdown-body',
81
+ '.code-body',
82
+ '.text-content',
83
+ '.map-node-memo',
84
+ '.map-node-memo__shell',
85
+ '.map-node-memo__header',
86
+ '.map-node-memo__title-wrap',
87
+ '.map-node-memo__body-view'
88
+ ].join(', ');
41
89
 
42
90
  function getNodeContentTypeLower(nodeModel) {
43
91
  return String(nodeModel?.contentType ?? nodeModel?.ContentType ?? '').trim().toLowerCase();
@@ -151,7 +199,11 @@
151
199
 
152
200
  function isInlineEditableNodeModel(nodeModel) {
153
201
  const contentType = String(nodeModel?.contentType ?? nodeModel?.ContentType ?? '').toLowerCase();
154
- return contentType === 'note' || contentType === 'memo' || contentType === 'code' || isAgentNodeModel(nodeModel);
202
+ return contentType === 'note'
203
+ || contentType === 'memo'
204
+ || contentType === 'code'
205
+ || isAgentNodeModel(nodeModel)
206
+ || getNodeSemanticType(nodeModel) === BUSINESS_AUTOMATION_SEMANTIC_TYPE;
155
207
  }
156
208
 
157
209
  function isReadOnlyTextSelectionNodeModel(nodeModel) {
@@ -159,6 +211,79 @@
159
211
  return (contentType === 'text' || contentType === 'markdown') && !isAgentNodeModel(nodeModel);
160
212
  }
161
213
 
214
+ function syncSelectedInlineEditableDomRouter(module, nodeId, entry, isSelected, isEditing) {
215
+ const cssElement = entry?.cssObject?.element || null;
216
+ const normalizedNodeId = String(nodeId || '').trim();
217
+ if (!cssElement || !normalizedNodeId) {
218
+ return;
219
+ }
220
+
221
+ const existingHandler = cssElement._selectedInlineEditableDomRouterHandler;
222
+ if (existingHandler &&
223
+ (cssElement._selectedInlineEditableDomRouterModule !== module ||
224
+ cssElement._selectedInlineEditableDomRouterNodeId !== normalizedNodeId)) {
225
+ cssElement.removeEventListener('mousedown', existingHandler, true);
226
+ cssElement._selectedInlineEditableDomRouterHandler = null;
227
+ }
228
+
229
+ const shouldAttach = !!isSelected && !isEditing && isInlineEditableNodeModel(entry?.model);
230
+ if (!shouldAttach) {
231
+ if (cssElement._selectedInlineEditableDomRouterHandler) {
232
+ cssElement.removeEventListener('mousedown', cssElement._selectedInlineEditableDomRouterHandler, true);
233
+ cssElement._selectedInlineEditableDomRouterHandler = null;
234
+ }
235
+ return;
236
+ }
237
+
238
+ if (cssElement._selectedInlineEditableDomRouterHandler) {
239
+ return;
240
+ }
241
+
242
+ const handler = event => {
243
+ if (!event || Number(event.button) !== 0 || event.defaultPrevented) {
244
+ return;
245
+ }
246
+
247
+ const target = event.target;
248
+ if (!(target instanceof Element) || !cssElement.contains(target)) {
249
+ return;
250
+ }
251
+
252
+ if (target.closest(INLINE_EDITABLE_NODE_DRAG_EXCLUDED_SELECTOR)) {
253
+ return;
254
+ }
255
+
256
+ const surface = target.closest(INLINE_EDITABLE_NODE_DRAG_SURFACE_SELECTOR);
257
+ if (!surface || !cssElement.contains(surface)) {
258
+ return;
259
+ }
260
+
261
+ const isStillSelected = String(module?.selectedNodeIdJs || '').trim() === normalizedNodeId ||
262
+ cssElement.classList?.contains?.('selected') === true ||
263
+ cssElement.querySelector?.('.map-node.selected, .map-node-note.selected, .map-node-memo.selected, .map-node-code.selected');
264
+ const isEditingDom = cssElement.classList?.contains?.('is-editing') === true ||
265
+ !!cssElement.querySelector?.('.is-editing');
266
+ if (!isStillSelected || isEditingDom) {
267
+ return;
268
+ }
269
+
270
+ const started = window.MindMapInteractions?.startNodeDragFromDom?.(
271
+ module,
272
+ event,
273
+ normalizedNodeId,
274
+ { source: 'selected-inline-editable-css3d' }
275
+ ) === true;
276
+ if (started) {
277
+ event.stopImmediatePropagation?.();
278
+ }
279
+ };
280
+
281
+ cssElement._selectedInlineEditableDomRouterModule = module;
282
+ cssElement._selectedInlineEditableDomRouterNodeId = normalizedNodeId;
283
+ cssElement._selectedInlineEditableDomRouterHandler = handler;
284
+ cssElement.addEventListener('mousedown', handler, true);
285
+ }
286
+
162
287
  function getSelectionBorderColorHex(nodeModel, isSelected) {
163
288
  if (String(nodeModel?.contentType ?? nodeModel?.ContentType ?? '').toLowerCase() !== 'memo') {
164
289
  return isSelected ? 0x7b7ff2 : 0x374151;
@@ -3631,6 +3756,9 @@
3631
3756
  }
3632
3757
  // ▲▲▲ [Fix] ▲▲▲
3633
3758
 
3759
+ const inlineEditableRouterEditing = !!(module.isEditingNote && module.selectedNodeIdJs === nodeId);
3760
+ syncSelectedInlineEditableDomRouter(module, nodeId, entry, isSelected, inlineEditableRouterEditing);
3761
+
3634
3762
  if (entry.isDeferredShell === true) {
3635
3763
  if (bringToFront && entry.cssObject) {
3636
3764
  bringNodeToFront(module, nodeId);