@mindexec/cli 0.2.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 (232) hide show
  1. package/README.md +275 -0
  2. package/codex-runtime.js +960 -0
  3. package/launch-bridge.cjs +162 -0
  4. package/package.json +61 -0
  5. package/port-guard.cjs +232 -0
  6. package/scripts/setup-tree-sitter-grammars.mjs +59 -0
  7. package/server.js +8422 -0
  8. package/start-bridge.bat +32 -0
  9. package/start-bridge.sh +81 -0
  10. package/tree-sitter-grammars/README.md +18 -0
  11. package/tree-sitter-grammars/tree-sitter-c_sharp.wasm +0 -0
  12. package/tree-sitter-grammars/tree-sitter-go.wasm +0 -0
  13. package/tree-sitter-grammars/tree-sitter-java.wasm +0 -0
  14. package/tree-sitter-grammars/tree-sitter-javascript.wasm +0 -0
  15. package/tree-sitter-grammars/tree-sitter-python.wasm +0 -0
  16. package/tree-sitter-grammars/tree-sitter-rust.wasm +0 -0
  17. package/tree-sitter-grammars/tree-sitter-tsx.wasm +0 -0
  18. package/tree-sitter-grammars/tree-sitter-typescript.wasm +0 -0
  19. package/wwwroot/MindExecution.Web.styles.css +3 -0
  20. package/wwwroot/_content/MindExecution.Plugins.Admin/css/admin-dashboard.css +546 -0
  21. package/wwwroot/_content/MindExecution.Plugins.Directory/MindExecution.Plugins.Directory.u7utcng611.bundle.scp.css +7 -0
  22. package/wwwroot/_content/MindExecution.Plugins.Directory/background.png +0 -0
  23. package/wwwroot/_content/MindExecution.Plugins.Directory/directory-manager.js +202 -0
  24. package/wwwroot/_content/MindExecution.Plugins.Directory/exampleJsInterop.js +6 -0
  25. package/wwwroot/_content/MindExecution.Plugins.YouTube/css/youtube-search.css +251 -0
  26. package/wwwroot/_content/MindExecution.Shared/MindExecution.Shared.wsano1j4wp.bundle.scp.css +4 -0
  27. package/wwwroot/_content/MindExecution.Shared/css/admin-dashboard.css +559 -0
  28. package/wwwroot/_content/MindExecution.Shared/css/app.css +1 -0
  29. package/wwwroot/_content/MindExecution.Shared/css/mind-map-overrides.css +2936 -0
  30. package/wwwroot/_content/MindExecution.Shared/fonts/NotoSansKR-Bold.ttf +0 -0
  31. package/wwwroot/_content/MindExecution.Shared/fonts/NotoSansKR-Regular.ttf +0 -0
  32. package/wwwroot/_content/MindExecution.Shared/js/agent-visualization.js +359 -0
  33. package/wwwroot/_content/MindExecution.Shared/js/background-themes.js +1721 -0
  34. package/wwwroot/_content/MindExecution.Shared/js/code-master.js +8316 -0
  35. package/wwwroot/_content/MindExecution.Shared/js/file-system-helper.js +639 -0
  36. package/wwwroot/_content/MindExecution.Shared/js/helpers/InfiniteGridHelper.js +109 -0
  37. package/wwwroot/_content/MindExecution.Shared/js/marked.min.js +69 -0
  38. package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +7982 -0
  39. package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js.backup +1059 -0
  40. package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +15803 -0
  41. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dev-guards.js +325 -0
  42. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dnd.js +1430 -0
  43. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dnd.js.bak +434 -0
  44. package/wwwroot/_content/MindExecution.Shared/js/mind-map-glow-shader.js +260 -0
  45. package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +7640 -0
  46. package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-plan-worker.js +160 -0
  47. package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-renderer.js +9923 -0
  48. package/wwwroot/_content/MindExecution.Shared/js/mind-map-logic-workers.js +977 -0
  49. package/wwwroot/_content/MindExecution.Shared/js/mind-map-menu-manager.js +1431 -0
  50. package/wwwroot/_content/MindExecution.Shared/js/mind-map-multi-select.js +1716 -0
  51. package/wwwroot/_content/MindExecution.Shared/js/mind-map-node-search-worker.js +553 -0
  52. package/wwwroot/_content/MindExecution.Shared/js/mind-map-nodes.js +4541 -0
  53. package/wwwroot/_content/MindExecution.Shared/js/mind-map-object-manager.js +489 -0
  54. package/wwwroot/_content/MindExecution.Shared/js/mind-map-object-manager.js.backup +372 -0
  55. package/wwwroot/_content/MindExecution.Shared/js/mind-map-pipeline.js +2075 -0
  56. package/wwwroot/_content/MindExecution.Shared/js/mind-map-text-lod-system.js +646 -0
  57. package/wwwroot/_content/MindExecution.Shared/js/mind-map-text-overlay-v2.js +4323 -0
  58. package/wwwroot/_content/MindExecution.Shared/js/mind-map-texture-factory.js +2260 -0
  59. package/wwwroot/_content/MindExecution.Shared/js/mind-map-texture-factory.js.backup +1258 -0
  60. package/wwwroot/_content/MindExecution.Shared/js/mind-map-visibility-worker.js +890 -0
  61. package/wwwroot/_content/MindExecution.Shared/js/mindmap-toolbar.js +594 -0
  62. package/wwwroot/_content/MindExecution.Shared/js/native-drop-handler.js +170 -0
  63. package/wwwroot/_content/MindExecution.Shared/js/plan-master.js +788 -0
  64. package/wwwroot/_content/MindExecution.Shared/js/renderers/CSS3DRenderer.js +50 -0
  65. package/wwwroot/_content/MindExecution.Shared/js/texture-worker-manager.js +188 -0
  66. package/wwwroot/_content/MindExecution.Shared/js/texture-worker.js +208 -0
  67. package/wwwroot/_content/MindExecution.Shared/js/three.min.js +6 -0
  68. package/wwwroot/_content/MindExecution.Shared/js/titlebar-handler.js +191 -0
  69. package/wwwroot/_content/MindExecution.Shared/js/token-manager.js +37 -0
  70. package/wwwroot/_content/MindExecution.Shared/js/token-worker.js +28 -0
  71. package/wwwroot/_content/MindExecution.Shared/js/troika-bundle.js +5626 -0
  72. package/wwwroot/_content/MindExecution.Shared/js/troika-bundle.js.map +7 -0
  73. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/css/all.min.css +9 -0
  74. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-brands-400.ttf +0 -0
  75. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-brands-400.woff2 +0 -0
  76. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-regular-400.ttf +0 -0
  77. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-regular-400.woff2 +0 -0
  78. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-solid-900.ttf +0 -0
  79. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-solid-900.woff2 +0 -0
  80. package/wwwroot/_content/MindExecution.Shared/models/all-MiniLM-L6-v2-quantized.onnx +0 -0
  81. package/wwwroot/_content/MindExecution.Shared/models/vocab.txt +30522 -0
  82. package/wwwroot/_framework/Google.Protobuf.9h59ukbel7.dll +0 -0
  83. package/wwwroot/_framework/Markdig.d1j7v41cl1.dll +0 -0
  84. package/wwwroot/_framework/MessagePack.Annotations.l6qv48kgpt.dll +0 -0
  85. package/wwwroot/_framework/MessagePack.eqoptzx9d5.dll +0 -0
  86. package/wwwroot/_framework/Microsoft.AspNetCore.Authorization.k7dsih5y5g.dll +0 -0
  87. package/wwwroot/_framework/Microsoft.AspNetCore.Components.6nyje9sa0g.dll +0 -0
  88. package/wwwroot/_framework/Microsoft.AspNetCore.Components.Authorization.iycd6unprw.dll +0 -0
  89. package/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.487u3twia4.dll +0 -0
  90. package/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.d0gcnmlxxz.dll +0 -0
  91. package/wwwroot/_framework/Microsoft.AspNetCore.Metadata.h4yevl9adi.dll +0 -0
  92. package/wwwroot/_framework/Microsoft.CSharp.qrvp77qmhs.dll +0 -0
  93. package/wwwroot/_framework/Microsoft.Data.Sqlite.jdlxgv2jtg.dll +0 -0
  94. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.4gjazp7kjf.dll +0 -0
  95. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.gocudnvz7b.dll +0 -0
  96. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.lt4rsvinuo.dll +0 -0
  97. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.69luj0fa9r.dll +0 -0
  98. package/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.364t4jh3zz.dll +0 -0
  99. package/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.izlxhpzosu.dll +0 -0
  100. package/wwwroot/_framework/Microsoft.Extensions.Configuration.8zq7hh41o7.dll +0 -0
  101. package/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.8if74zs6ea.dll +0 -0
  102. package/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.duvlngw8i0.dll +0 -0
  103. package/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.t2hh9kvx0o.dll +0 -0
  104. package/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.n4tg99oy8l.dll +0 -0
  105. package/wwwroot/_framework/Microsoft.Extensions.DependencyModel.h0d06ixk3e.dll +0 -0
  106. package/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.rl32bkx2sd.dll +0 -0
  107. package/wwwroot/_framework/Microsoft.Extensions.Logging.dlht1xei0t.dll +0 -0
  108. package/wwwroot/_framework/Microsoft.Extensions.Options.qeunebioml.dll +0 -0
  109. package/wwwroot/_framework/Microsoft.Extensions.Primitives.18cr6vnuuz.dll +0 -0
  110. package/wwwroot/_framework/Microsoft.IO.RecyclableMemoryStream.r915vovvw4.dll +0 -0
  111. package/wwwroot/_framework/Microsoft.IdentityModel.Abstractions.1ejljk3erv.dll +0 -0
  112. package/wwwroot/_framework/Microsoft.IdentityModel.JsonWebTokens.1596zr8gne.dll +0 -0
  113. package/wwwroot/_framework/Microsoft.IdentityModel.Logging.229uyvpgio.dll +0 -0
  114. package/wwwroot/_framework/Microsoft.IdentityModel.Tokens.9sibtajc9f.dll +0 -0
  115. package/wwwroot/_framework/Microsoft.JSInterop.17lq4j1j7g.dll +0 -0
  116. package/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.ryia5gxiad.dll +0 -0
  117. package/wwwroot/_framework/Microsoft.ML.OnnxRuntime.w9deo1m5ss.dll +0 -0
  118. package/wwwroot/_framework/Microsoft.ML.Tokenizers.cm2vuv2z61.dll +0 -0
  119. package/wwwroot/_framework/Microsoft.NET.StringTools.3qbrf4v2ki.dll +0 -0
  120. package/wwwroot/_framework/MimeMapping.og9ys58ylm.dll +0 -0
  121. package/wwwroot/_framework/MindExecution.Core.1q1trifbuu.dll +0 -0
  122. package/wwwroot/_framework/MindExecution.Kernel.gwwc40sc45.dll +0 -0
  123. package/wwwroot/_framework/MindExecution.Plugins.Admin.0jgrn1sckv.dll +0 -0
  124. package/wwwroot/_framework/MindExecution.Plugins.Business.13mme2qcag.dll +0 -0
  125. package/wwwroot/_framework/MindExecution.Plugins.Concept.dfp2mdt45q.dll +0 -0
  126. package/wwwroot/_framework/MindExecution.Plugins.Directory.3w4t6n3se0.dll +0 -0
  127. package/wwwroot/_framework/MindExecution.Plugins.PlanMaster.s0qpntz420.dll +0 -0
  128. package/wwwroot/_framework/MindExecution.Plugins.YouTube.iu11fq8d16.dll +0 -0
  129. package/wwwroot/_framework/MindExecution.Shared.7j27dcqnrc.dll +0 -0
  130. package/wwwroot/_framework/MindExecution.Web.pq1ty8ov2v.dll +0 -0
  131. package/wwwroot/_framework/Newtonsoft.Json.a56zs13vug.dll +0 -0
  132. package/wwwroot/_framework/SQLitePCLRaw.batteries_v2.rrd1nzawpp.dll +0 -0
  133. package/wwwroot/_framework/SQLitePCLRaw.core.1dxloztpfz.dll +0 -0
  134. package/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.oekyzl53i1.dll +0 -0
  135. package/wwwroot/_framework/Supabase.Core.s1pkj4aj0l.dll +0 -0
  136. package/wwwroot/_framework/Supabase.Functions.qz4nu782sg.dll +0 -0
  137. package/wwwroot/_framework/Supabase.Gotrue.twah27pkik.dll +0 -0
  138. package/wwwroot/_framework/Supabase.Postgrest.gmuuv369ih.dll +0 -0
  139. package/wwwroot/_framework/Supabase.Realtime.ox3kchdy3w.dll +0 -0
  140. package/wwwroot/_framework/Supabase.Storage.fnjnepaowr.dll +0 -0
  141. package/wwwroot/_framework/Supabase.azmaw5pgcz.dll +0 -0
  142. package/wwwroot/_framework/System.Collections.Concurrent.y1zmvuyipi.dll +0 -0
  143. package/wwwroot/_framework/System.Collections.Immutable.ug3j698qms.dll +0 -0
  144. package/wwwroot/_framework/System.Collections.NonGeneric.h66hj3863h.dll +0 -0
  145. package/wwwroot/_framework/System.Collections.Specialized.umr3y27ntj.dll +0 -0
  146. package/wwwroot/_framework/System.Collections.x53e19vfsj.dll +0 -0
  147. package/wwwroot/_framework/System.ComponentModel.Annotations.tz6gnt4ebt.dll +0 -0
  148. package/wwwroot/_framework/System.ComponentModel.Primitives.j7tiphu4rg.dll +0 -0
  149. package/wwwroot/_framework/System.ComponentModel.TypeConverter.ujlztox1gx.dll +0 -0
  150. package/wwwroot/_framework/System.ComponentModel.x9xz0ojfb6.dll +0 -0
  151. package/wwwroot/_framework/System.Console.ijzpqmj7ne.dll +0 -0
  152. package/wwwroot/_framework/System.Data.Common.1r0sqffq1p.dll +0 -0
  153. package/wwwroot/_framework/System.Diagnostics.DiagnosticSource.9upoqwq09o.dll +0 -0
  154. package/wwwroot/_framework/System.Diagnostics.Process.m99azzntjm.dll +0 -0
  155. package/wwwroot/_framework/System.Diagnostics.TraceSource.pl7wv26myr.dll +0 -0
  156. package/wwwroot/_framework/System.Diagnostics.Tracing.crlhfx6tut.dll +0 -0
  157. package/wwwroot/_framework/System.Drawing.Primitives.22e4y9ikq9.dll +0 -0
  158. package/wwwroot/_framework/System.Drawing.mi7d8hwowb.dll +0 -0
  159. package/wwwroot/_framework/System.Formats.Asn1.jx23sjiqnn.dll +0 -0
  160. package/wwwroot/_framework/System.IO.Compression.6fyoii3uej.dll +0 -0
  161. package/wwwroot/_framework/System.IO.Pipelines.vg77t4cd4d.dll +0 -0
  162. package/wwwroot/_framework/System.IdentityModel.Tokens.Jwt.t67es60z5b.dll +0 -0
  163. package/wwwroot/_framework/System.Linq.1bkoxlqgmq.dll +0 -0
  164. package/wwwroot/_framework/System.Linq.Expressions.24xqiypwdt.dll +0 -0
  165. package/wwwroot/_framework/System.Linq.Queryable.hvd01d6rsa.dll +0 -0
  166. package/wwwroot/_framework/System.Memory.8dx3lwgym4.dll +0 -0
  167. package/wwwroot/_framework/System.Net.Http.Json.3mhdm9l1rf.dll +0 -0
  168. package/wwwroot/_framework/System.Net.Http.eitrz660my.dll +0 -0
  169. package/wwwroot/_framework/System.Net.NetworkInformation.3pkuofcv9r.dll +0 -0
  170. package/wwwroot/_framework/System.Net.Ping.8clj5pklrp.dll +0 -0
  171. package/wwwroot/_framework/System.Net.Primitives.qrp4wcjz1p.dll +0 -0
  172. package/wwwroot/_framework/System.Net.WebSockets.Client.2u6pv01g69.dll +0 -0
  173. package/wwwroot/_framework/System.Net.WebSockets.qp6u31zvm5.dll +0 -0
  174. package/wwwroot/_framework/System.Numerics.Tensors.0c7z4mt3on.dll +0 -0
  175. package/wwwroot/_framework/System.Numerics.Vectors.kc7ufp2j4l.dll +0 -0
  176. package/wwwroot/_framework/System.ObjectModel.qv82fot1ib.dll +0 -0
  177. package/wwwroot/_framework/System.Private.CoreLib.rkafq04oma.dll +0 -0
  178. package/wwwroot/_framework/System.Private.Uri.t9542hmr6j.dll +0 -0
  179. package/wwwroot/_framework/System.Private.Xml.Linq.n8n3ptrbwu.dll +0 -0
  180. package/wwwroot/_framework/System.Private.Xml.rxd3tytisn.dll +0 -0
  181. package/wwwroot/_framework/System.Reactive.t3fuon548l.dll +0 -0
  182. package/wwwroot/_framework/System.Reflection.Emit.9tjhp6y0j3.dll +0 -0
  183. package/wwwroot/_framework/System.Reflection.Emit.ILGeneration.stxyk8zoo1.dll +0 -0
  184. package/wwwroot/_framework/System.Reflection.Emit.Lightweight.6xrd5v8vg0.dll +0 -0
  185. package/wwwroot/_framework/System.Reflection.Primitives.wgn8fpwwvv.dll +0 -0
  186. package/wwwroot/_framework/System.Runtime.InteropServices.JavaScript.sliym526xh.dll +0 -0
  187. package/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.oji7zut14z.dll +0 -0
  188. package/wwwroot/_framework/System.Runtime.InteropServices.te07xr2we9.dll +0 -0
  189. package/wwwroot/_framework/System.Runtime.Intrinsics.507y4h8nzq.dll +0 -0
  190. package/wwwroot/_framework/System.Runtime.Loader.v7gk4bse0k.dll +0 -0
  191. package/wwwroot/_framework/System.Runtime.Numerics.eqy5xjv3nd.dll +0 -0
  192. package/wwwroot/_framework/System.Runtime.Serialization.Formatters.zpkrub8lab.dll +0 -0
  193. package/wwwroot/_framework/System.Runtime.Serialization.Primitives.vhkpnbxjip.dll +0 -0
  194. package/wwwroot/_framework/System.Runtime.jn319d5nyg.dll +0 -0
  195. package/wwwroot/_framework/System.Security.Claims.0ztig1q9vo.dll +0 -0
  196. package/wwwroot/_framework/System.Security.Cryptography.vttizqc9ho.dll +0 -0
  197. package/wwwroot/_framework/System.Text.Encoding.Extensions.utdd47ny8f.dll +0 -0
  198. package/wwwroot/_framework/System.Text.Encodings.Web.wah8r1zoe0.dll +0 -0
  199. package/wwwroot/_framework/System.Text.Json.kxlfxj0wrs.dll +0 -0
  200. package/wwwroot/_framework/System.Text.RegularExpressions.dbqn58klox.dll +0 -0
  201. package/wwwroot/_framework/System.Threading.42ao9vi047.dll +0 -0
  202. package/wwwroot/_framework/System.Threading.Channels.hfa7j0uv2w.dll +0 -0
  203. package/wwwroot/_framework/System.Threading.Thread.caul0pdqul.dll +0 -0
  204. package/wwwroot/_framework/System.Transactions.Local.fimi2hamzo.dll +0 -0
  205. package/wwwroot/_framework/System.Web.HttpUtility.gq8yz50p2e.dll +0 -0
  206. package/wwwroot/_framework/System.Xml.Linq.kitin4zjoj.dll +0 -0
  207. package/wwwroot/_framework/System.Xml.ReaderWriter.kzvw3qgxb0.dll +0 -0
  208. package/wwwroot/_framework/System.Xml.XDocument.c539ki6cuq.dll +0 -0
  209. package/wwwroot/_framework/System.m05i39uvk9.dll +0 -0
  210. package/wwwroot/_framework/Websocket.Client.vapounvmnl.dll +0 -0
  211. package/wwwroot/_framework/blazor.boot.json +305 -0
  212. package/wwwroot/_framework/blazor.webassembly.js +1 -0
  213. package/wwwroot/_framework/dotnet.js +4 -0
  214. package/wwwroot/_framework/dotnet.native.vz0adxojrz.wasm +0 -0
  215. package/wwwroot/_framework/dotnet.native.xsn1d6x2kd.js +16 -0
  216. package/wwwroot/_framework/dotnet.runtime.dstopyvqzi.js +4 -0
  217. package/wwwroot/_framework/icudt_CJK.tjcz0u77k5.dat +0 -0
  218. package/wwwroot/_framework/icudt_EFIGS.tptq2av103.dat +0 -0
  219. package/wwwroot/_framework/icudt_no_CJK.lfu7j35m59.dat +0 -0
  220. package/wwwroot/_framework/netstandard.0xet7jg7ky.dll +0 -0
  221. package/wwwroot/_headers +40 -0
  222. package/wwwroot/_redirects +1 -0
  223. package/wwwroot/appsettings.json +71 -0
  224. package/wwwroot/icon-192.png +0 -0
  225. package/wwwroot/icon-512.png +0 -0
  226. package/wwwroot/index.html +710 -0
  227. package/wwwroot/js/marketing-tool.js +180 -0
  228. package/wwwroot/manifest.webmanifest +22 -0
  229. package/wwwroot/robots.txt +4 -0
  230. package/wwwroot/service-worker-assets.js +857 -0
  231. package/wwwroot/service-worker.js +33 -0
  232. package/wwwroot/sitemap.xml +27 -0
@@ -0,0 +1,325 @@
1
+ (function () {
2
+ 'use strict';
3
+
4
+ const DEV_GUARDS_BUILD_ID = '20260520-fullres-motion-optimization-v157';
5
+ const DEFAULT_TRACE_EVENT_LIMIT = 3000;
6
+ const STORAGE_KEYS = Object.freeze({
7
+ guardsEnabled: 'mindcanvas.devGuards.enabled',
8
+ guardsDisabled: 'mindcanvas.devGuards.disabled',
9
+ failFast: 'mindcanvas.devGuards.failFast',
10
+ traceEnabled: 'mindcanvas.trace.enabled',
11
+ traceConsole: 'mindcanvas.trace.console'
12
+ });
13
+
14
+ function readStorageBool(key) {
15
+ try {
16
+ const raw = localStorage.getItem(key);
17
+ if (raw == null) return null;
18
+ const normalized = String(raw).trim().toLowerCase();
19
+ if (normalized === '1' || normalized === 'true' || normalized === 'yes' || normalized === 'on') {
20
+ return true;
21
+ }
22
+ if (normalized === '0' || normalized === 'false' || normalized === 'no' || normalized === 'off') {
23
+ return false;
24
+ }
25
+ } catch { }
26
+
27
+ return null;
28
+ }
29
+
30
+ function sanitizeDetails(value, depth = 0) {
31
+ if (depth >= 3) {
32
+ return '[MaxDepth]';
33
+ }
34
+
35
+ if (value == null) {
36
+ return value;
37
+ }
38
+
39
+ const valueType = typeof value;
40
+ if (valueType === 'string' || valueType === 'number' || valueType === 'boolean') {
41
+ return value;
42
+ }
43
+
44
+ if (valueType === 'bigint') {
45
+ return Number(value);
46
+ }
47
+
48
+ if (valueType === 'function') {
49
+ return `[Function:${value.name || 'anonymous'}]`;
50
+ }
51
+
52
+ if (value instanceof Error) {
53
+ return {
54
+ name: value.name,
55
+ message: value.message,
56
+ stack: value.stack
57
+ };
58
+ }
59
+
60
+ if (Array.isArray(value)) {
61
+ return value.slice(0, 20).map(item => sanitizeDetails(item, depth + 1));
62
+ }
63
+
64
+ if (value instanceof Set) {
65
+ return Array.from(value).slice(0, 20).map(item => sanitizeDetails(item, depth + 1));
66
+ }
67
+
68
+ if (value instanceof Map) {
69
+ const mapObject = {};
70
+ let index = 0;
71
+ for (const [key, entryValue] of value.entries()) {
72
+ if (index >= 20) {
73
+ mapObject.__truncated__ = Math.max(0, value.size - 20);
74
+ break;
75
+ }
76
+ mapObject[String(key)] = sanitizeDetails(entryValue, depth + 1);
77
+ index++;
78
+ }
79
+ return mapObject;
80
+ }
81
+
82
+ if (valueType === 'object') {
83
+ const clone = {};
84
+ const keys = Object.keys(value);
85
+ const limitedKeys = keys.slice(0, 32);
86
+ for (let i = 0; i < limitedKeys.length; i++) {
87
+ const key = limitedKeys[i];
88
+ try {
89
+ clone[key] = sanitizeDetails(value[key], depth + 1);
90
+ } catch {
91
+ clone[key] = '[Unreadable]';
92
+ }
93
+ }
94
+ if (keys.length > limitedKeys.length) {
95
+ clone.__truncatedKeys__ = keys.length - limitedKeys.length;
96
+ }
97
+ return clone;
98
+ }
99
+
100
+ return String(value);
101
+ }
102
+
103
+ function getCurrentHost() {
104
+ try {
105
+ return String(location?.hostname || '').trim().toLowerCase();
106
+ } catch {
107
+ return '';
108
+ }
109
+ }
110
+
111
+ const currentHost = getCurrentHost();
112
+ const isLocalHost =
113
+ currentHost === 'localhost' ||
114
+ currentHost === '127.0.0.1' ||
115
+ currentHost === '0.0.0.0';
116
+
117
+ const globalGuardsEnabled =
118
+ typeof window.MINDCANVAS_DEV_GUARDS === 'boolean'
119
+ ? window.MINDCANVAS_DEV_GUARDS
120
+ : null;
121
+ const storageGuardsEnabled = readStorageBool(STORAGE_KEYS.guardsEnabled);
122
+ const storageGuardsDisabled = readStorageBool(STORAGE_KEYS.guardsDisabled);
123
+ const guardsEnabled = globalGuardsEnabled === true ||
124
+ (globalGuardsEnabled !== false &&
125
+ storageGuardsDisabled !== true &&
126
+ (storageGuardsEnabled === true || isLocalHost));
127
+
128
+ const failFast =
129
+ window.MINDCANVAS_FAIL_FAST === true ||
130
+ readStorageBool(STORAGE_KEYS.failFast) === true;
131
+
132
+ const traceConsole =
133
+ window.MINDCANVAS_TRACE_CONSOLE === true ||
134
+ readStorageBool(STORAGE_KEYS.traceConsole) === true;
135
+
136
+ const traceEnabled =
137
+ guardsEnabled === true ||
138
+ window.MINDCANVAS_TRACE_ENABLED === true ||
139
+ readStorageBool(STORAGE_KEYS.traceEnabled) === true ||
140
+ traceConsole === true;
141
+
142
+ const buildInfo = window.MindCanvasBuildInfo || {
143
+ parts: {},
144
+ runtime: {},
145
+ registerPart(partName, version, details = {}) {
146
+ const normalizedPart = String(partName || '').trim();
147
+ if (!normalizedPart) return null;
148
+
149
+ const snapshot = {
150
+ version: String(version || ''),
151
+ loadedAt: new Date().toISOString(),
152
+ ...sanitizeDetails(details)
153
+ };
154
+
155
+ this.parts[normalizedPart] = snapshot;
156
+ return snapshot;
157
+ },
158
+ setRuntime(key, value) {
159
+ const normalizedKey = String(key || '').trim();
160
+ if (!normalizedKey) return null;
161
+
162
+ this.runtime[normalizedKey] = sanitizeDetails(value);
163
+ return this.runtime[normalizedKey];
164
+ },
165
+ validateRequiredParts(requiredParts) {
166
+ const missing = [];
167
+ const parts = Array.isArray(requiredParts) ? requiredParts : [];
168
+ for (let i = 0; i < parts.length; i++) {
169
+ const partName = String(parts[i] || '').trim();
170
+ if (!partName) continue;
171
+ if (!this.parts[partName]) {
172
+ missing.push(partName);
173
+ }
174
+ }
175
+
176
+ if (missing.length > 0) {
177
+ console.warn('[MindCanvas BuildInfo] Missing required parts', {
178
+ missing,
179
+ registeredParts: Object.keys(this.parts || {})
180
+ });
181
+ return false;
182
+ }
183
+
184
+ return true;
185
+ },
186
+ dump() {
187
+ return {
188
+ parts: sanitizeDetails(this.parts),
189
+ runtime: sanitizeDetails(this.runtime)
190
+ };
191
+ }
192
+ };
193
+ window.MindCanvasBuildInfo = buildInfo;
194
+
195
+ const trace = window.MindCanvasTrace || {
196
+ enabled: traceEnabled === true,
197
+ consoleEnabled: traceConsole === true,
198
+ events: [],
199
+ maxEvents: DEFAULT_TRACE_EVENT_LIMIT,
200
+ emit(type, data = {}) {
201
+ if (this.enabled !== true && this.consoleEnabled !== true) {
202
+ return null;
203
+ }
204
+
205
+ const event = {
206
+ t: Number((typeof performance !== 'undefined' ? performance.now() : Date.now()).toFixed(3)),
207
+ type: String(type || 'unknown'),
208
+ ...sanitizeDetails(data)
209
+ };
210
+
211
+ this.events.push(event);
212
+ if (this.events.length > this.maxEvents) {
213
+ this.events.splice(0, this.events.length - this.maxEvents);
214
+ }
215
+
216
+ if (this.consoleEnabled === true) {
217
+ console.log('[MindCanvas Trace]', event);
218
+ }
219
+
220
+ return event;
221
+ },
222
+ dump() {
223
+ return this.events.slice();
224
+ },
225
+ clear() {
226
+ this.events.length = 0;
227
+ },
228
+ size() {
229
+ return this.events.length;
230
+ }
231
+ };
232
+ window.MindCanvasTrace = trace;
233
+
234
+ const guards = window.MindCanvasDevGuards || {
235
+ enabled: guardsEnabled === true,
236
+ failFast: failFast === true,
237
+ counts: {},
238
+ captureModuleState(module, details = {}) {
239
+ const activeBoardId = window.mindMap?.activeBoardId || null;
240
+ return {
241
+ boardId: activeBoardId,
242
+ phase: module?.canvasPhase || null,
243
+ isLoading: module?.isLoading === true,
244
+ isPanning: module?.isPanning === true,
245
+ isZooming: module?.isZooming === true,
246
+ isDraggingNode: module?.isDraggingNode === true,
247
+ isDraggingMultipleNodes: module?.isDraggingMultipleNodes === true,
248
+ forceUpdateFrames: Number(module?._forceUpdateFrames || 0),
249
+ ...sanitizeDetails(details)
250
+ };
251
+ },
252
+ _bump(name) {
253
+ const normalizedName = String(name || 'unknown').trim() || 'unknown';
254
+ this.counts[normalizedName] = Number(this.counts[normalizedName] || 0) + 1;
255
+ return this.counts[normalizedName];
256
+ },
257
+ assert(condition, name, details = {}) {
258
+ if (condition) {
259
+ return true;
260
+ }
261
+
262
+ const normalizedName = String(name || 'unknown').trim() || 'unknown';
263
+ this._bump(normalizedName);
264
+ const payload = sanitizeDetails(details);
265
+ trace.emit('guard.fail', {
266
+ name: normalizedName,
267
+ ...payload
268
+ });
269
+
270
+ const stack = new Error().stack;
271
+ console.error(`[MindCanvas invariant failed] ${normalizedName}`, payload, { stack });
272
+
273
+ if (this.failFast === true) {
274
+ throw new Error(`[MindCanvas invariant failed] ${normalizedName}`);
275
+ }
276
+
277
+ return false;
278
+ },
279
+ warn(name, details = {}) {
280
+ const normalizedName = String(name || 'unknown').trim() || 'unknown';
281
+ this._bump(normalizedName);
282
+ const payload = sanitizeDetails(details);
283
+ trace.emit('guard.warn', {
284
+ name: normalizedName,
285
+ ...payload
286
+ });
287
+ console.warn(`[MindCanvas guard warning] ${normalizedName}`, payload);
288
+ return false;
289
+ },
290
+ note(type, details = {}) {
291
+ trace.emit(type, sanitizeDetails(details));
292
+ return true;
293
+ },
294
+ getCounts() {
295
+ return { ...this.counts };
296
+ },
297
+ assertNoResidentFullRebuildDuringMotion(module, reason, details = {}) {
298
+ return this.assert(
299
+ !(module?.isPanning === true || module?.isZooming === true),
300
+ 'no-full-resident-rebuild-during-motion',
301
+ this.captureModuleState(module, {
302
+ reason,
303
+ ...details
304
+ })
305
+ );
306
+ }
307
+ };
308
+ window.MindCanvasDevGuards = guards;
309
+
310
+ buildInfo.registerPart('devGuards', DEV_GUARDS_BUILD_ID, {
311
+ enabled: guards.enabled === true,
312
+ failFast: guards.failFast === true,
313
+ traceEnabled: trace.enabled === true,
314
+ host: currentHost || null
315
+ });
316
+
317
+ if (guards.enabled === true) {
318
+ console.log('[MindCanvasDevGuards] enabled', {
319
+ build: DEV_GUARDS_BUILD_ID,
320
+ failFast: guards.failFast === true,
321
+ traceEnabled: trace.enabled === true,
322
+ host: currentHost || null
323
+ });
324
+ }
325
+ })();