@mindexec/cli 0.2.383 → 0.2.385

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 (267) hide show
  1. package/codex-runtime.js +31 -255
  2. package/package.json +1 -1
  3. package/remote-hub.js +2 -80
  4. package/scripts/remote-fast-live-rate-smoke.mjs +3 -19
  5. package/scripts/remote-fast-mdm-browser-smoke.mjs +2 -28
  6. package/scripts/remote-hub-smoke.mjs +2 -32
  7. package/scripts/setup-tree-sitter-grammars.mjs +5 -26
  8. package/server.js +33 -1811
  9. package/wwwroot/MindExecution.Web.styles.css +3 -0
  10. package/wwwroot/_content/MindExecution.Plugins.Admin/css/admin-dashboard.css +546 -0
  11. package/wwwroot/_content/MindExecution.Plugins.Directory/MindExecution.Plugins.Directory.u7utcng611.bundle.scp.css +7 -0
  12. package/wwwroot/_content/MindExecution.Plugins.Directory/background.png +0 -0
  13. package/wwwroot/_content/MindExecution.Plugins.Directory/directory-manager.js +202 -0
  14. package/wwwroot/_content/MindExecution.Plugins.Directory/exampleJsInterop.js +6 -0
  15. package/wwwroot/_content/MindExecution.Plugins.YouTube/css/youtube-search.css +251 -0
  16. package/wwwroot/_content/MindExecution.Shared/MindExecution.Shared.wsano1j4wp.bundle.scp.css +4 -0
  17. package/wwwroot/_content/MindExecution.Shared/css/admin-dashboard.css +559 -0
  18. package/wwwroot/_content/MindExecution.Shared/css/app.css +1 -0
  19. package/wwwroot/_content/MindExecution.Shared/css/mind-map-overrides.css +3705 -0
  20. package/wwwroot/_content/MindExecution.Shared/fonts/NotoSansKR-Bold.ttf +0 -0
  21. package/wwwroot/_content/MindExecution.Shared/fonts/NotoSansKR-Regular.ttf +0 -0
  22. package/wwwroot/_content/MindExecution.Shared/js/agent-visualization.js +359 -0
  23. package/wwwroot/_content/MindExecution.Shared/js/background-themes.js +1631 -0
  24. package/wwwroot/_content/MindExecution.Shared/js/code-master.js +8316 -0
  25. package/wwwroot/_content/MindExecution.Shared/js/file-system-helper.js +639 -0
  26. package/wwwroot/_content/MindExecution.Shared/js/helpers/InfiniteGridHelper.js +109 -0
  27. package/wwwroot/_content/MindExecution.Shared/js/marked.min.js +69 -0
  28. package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +9987 -0
  29. package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js.backup +1059 -0
  30. package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +24635 -0
  31. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dev-guards.js +325 -0
  32. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dnd.js +1491 -0
  33. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dnd.js.bak +434 -0
  34. package/wwwroot/_content/MindExecution.Shared/js/mind-map-glow-shader.js +260 -0
  35. package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +7821 -0
  36. package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-plan-worker.js +160 -0
  37. package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-renderer.js +10441 -0
  38. package/wwwroot/_content/MindExecution.Shared/js/mind-map-logic-workers.js +977 -0
  39. package/wwwroot/_content/MindExecution.Shared/js/mind-map-menu-manager.js +1531 -0
  40. package/wwwroot/_content/MindExecution.Shared/js/mind-map-multi-select.js +1716 -0
  41. package/wwwroot/_content/MindExecution.Shared/js/mind-map-node-search-worker.js +554 -0
  42. package/wwwroot/_content/MindExecution.Shared/js/mind-map-nodes.js +4578 -0
  43. package/wwwroot/_content/MindExecution.Shared/js/mind-map-object-manager.js +489 -0
  44. package/wwwroot/_content/MindExecution.Shared/js/mind-map-object-manager.js.backup +372 -0
  45. package/wwwroot/_content/MindExecution.Shared/js/mind-map-pipeline.js +2203 -0
  46. package/wwwroot/_content/MindExecution.Shared/js/mind-map-text-lod-system.js +646 -0
  47. package/wwwroot/_content/MindExecution.Shared/js/mind-map-text-overlay-v2.js +4735 -0
  48. package/wwwroot/_content/MindExecution.Shared/js/mind-map-texture-factory.js +2383 -0
  49. package/wwwroot/_content/MindExecution.Shared/js/mind-map-texture-factory.js.backup +1258 -0
  50. package/wwwroot/_content/MindExecution.Shared/js/mind-map-visibility-worker.js +890 -0
  51. package/wwwroot/_content/MindExecution.Shared/js/mindmap-toolbar.js +639 -0
  52. package/wwwroot/_content/MindExecution.Shared/js/native-drop-handler.js +170 -0
  53. package/wwwroot/_content/MindExecution.Shared/js/plan-master.js +788 -0
  54. package/wwwroot/_content/MindExecution.Shared/js/renderers/CSS3DRenderer.js +50 -0
  55. package/wwwroot/_content/MindExecution.Shared/js/texture-worker-manager.js +188 -0
  56. package/wwwroot/_content/MindExecution.Shared/js/texture-worker.js +208 -0
  57. package/wwwroot/_content/MindExecution.Shared/js/three.min.js +6 -0
  58. package/wwwroot/_content/MindExecution.Shared/js/titlebar-handler.js +191 -0
  59. package/wwwroot/_content/MindExecution.Shared/js/token-manager.js +37 -0
  60. package/wwwroot/_content/MindExecution.Shared/js/token-worker.js +28 -0
  61. package/wwwroot/_content/MindExecution.Shared/js/troika-bundle.js +5626 -0
  62. package/wwwroot/_content/MindExecution.Shared/js/troika-bundle.js.map +7 -0
  63. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/css/all.min.css +9 -0
  64. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-brands-400.ttf +0 -0
  65. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-brands-400.woff2 +0 -0
  66. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-regular-400.ttf +0 -0
  67. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-regular-400.woff2 +0 -0
  68. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-solid-900.ttf +0 -0
  69. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-solid-900.woff2 +0 -0
  70. package/wwwroot/_content/MindExecution.Shared/models/all-MiniLM-L6-v2-quantized.onnx +0 -0
  71. package/wwwroot/_content/MindExecution.Shared/models/vocab.txt +30522 -0
  72. package/wwwroot/_framework/Google.Protobuf.9h59ukbel7.dll +0 -0
  73. package/wwwroot/_framework/Markdig.d1j7v41cl1.dll +0 -0
  74. package/wwwroot/_framework/MessagePack.Annotations.l6qv48kgpt.dll +0 -0
  75. package/wwwroot/_framework/MessagePack.eqoptzx9d5.dll +0 -0
  76. package/wwwroot/_framework/Microsoft.AspNetCore.Authorization.k7dsih5y5g.dll +0 -0
  77. package/wwwroot/_framework/Microsoft.AspNetCore.Components.6nyje9sa0g.dll +0 -0
  78. package/wwwroot/_framework/Microsoft.AspNetCore.Components.Authorization.iycd6unprw.dll +0 -0
  79. package/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.487u3twia4.dll +0 -0
  80. package/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.d0gcnmlxxz.dll +0 -0
  81. package/wwwroot/_framework/Microsoft.AspNetCore.Metadata.h4yevl9adi.dll +0 -0
  82. package/wwwroot/_framework/Microsoft.CSharp.8bsm8vx6su.dll +0 -0
  83. package/wwwroot/_framework/Microsoft.Data.Sqlite.jdlxgv2jtg.dll +0 -0
  84. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.4gjazp7kjf.dll +0 -0
  85. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.gocudnvz7b.dll +0 -0
  86. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.lt4rsvinuo.dll +0 -0
  87. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.69luj0fa9r.dll +0 -0
  88. package/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.364t4jh3zz.dll +0 -0
  89. package/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.izlxhpzosu.dll +0 -0
  90. package/wwwroot/_framework/Microsoft.Extensions.Configuration.8zq7hh41o7.dll +0 -0
  91. package/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.8if74zs6ea.dll +0 -0
  92. package/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.duvlngw8i0.dll +0 -0
  93. package/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.t2hh9kvx0o.dll +0 -0
  94. package/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.n4tg99oy8l.dll +0 -0
  95. package/wwwroot/_framework/Microsoft.Extensions.DependencyModel.h0d06ixk3e.dll +0 -0
  96. package/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.rl32bkx2sd.dll +0 -0
  97. package/wwwroot/_framework/Microsoft.Extensions.Logging.dlht1xei0t.dll +0 -0
  98. package/wwwroot/_framework/Microsoft.Extensions.Options.qeunebioml.dll +0 -0
  99. package/wwwroot/_framework/Microsoft.Extensions.Primitives.18cr6vnuuz.dll +0 -0
  100. package/wwwroot/_framework/Microsoft.IO.RecyclableMemoryStream.r915vovvw4.dll +0 -0
  101. package/wwwroot/_framework/Microsoft.IdentityModel.Abstractions.1ejljk3erv.dll +0 -0
  102. package/wwwroot/_framework/Microsoft.IdentityModel.JsonWebTokens.1596zr8gne.dll +0 -0
  103. package/wwwroot/_framework/Microsoft.IdentityModel.Logging.229uyvpgio.dll +0 -0
  104. package/wwwroot/_framework/Microsoft.IdentityModel.Tokens.9sibtajc9f.dll +0 -0
  105. package/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.ryia5gxiad.dll +0 -0
  106. package/wwwroot/_framework/Microsoft.JSInterop.ew9vz9o332.dll +0 -0
  107. package/wwwroot/_framework/Microsoft.ML.OnnxRuntime.w9deo1m5ss.dll +0 -0
  108. package/wwwroot/_framework/Microsoft.ML.Tokenizers.cm2vuv2z61.dll +0 -0
  109. package/wwwroot/_framework/Microsoft.NET.StringTools.3qbrf4v2ki.dll +0 -0
  110. package/wwwroot/_framework/MimeMapping.og9ys58ylm.dll +0 -0
  111. package/wwwroot/_framework/MindExecution.Core.y7ffihhajj.dll +0 -0
  112. package/wwwroot/_framework/MindExecution.Kernel.l5y3qroa7p.dll +0 -0
  113. package/wwwroot/_framework/MindExecution.Plugins.Admin.uuf238xa0h.dll +0 -0
  114. package/wwwroot/_framework/MindExecution.Plugins.Business.nyr3v25v48.dll +0 -0
  115. package/wwwroot/_framework/MindExecution.Plugins.Concept.l9z9tx9svt.dll +0 -0
  116. package/wwwroot/_framework/MindExecution.Plugins.Directory.ju87t8h3zs.dll +0 -0
  117. package/wwwroot/_framework/MindExecution.Plugins.PlanMaster.krn3jgvjpa.dll +0 -0
  118. package/wwwroot/_framework/MindExecution.Plugins.YouTube.5m53srfud6.dll +0 -0
  119. package/wwwroot/_framework/MindExecution.Shared.ojp3psugsm.dll +0 -0
  120. package/wwwroot/_framework/MindExecution.Web.82k6ktlkfg.dll +0 -0
  121. package/wwwroot/_framework/Newtonsoft.Json.a56zs13vug.dll +0 -0
  122. package/wwwroot/_framework/SQLitePCLRaw.batteries_v2.rrd1nzawpp.dll +0 -0
  123. package/wwwroot/_framework/SQLitePCLRaw.core.1dxloztpfz.dll +0 -0
  124. package/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.oekyzl53i1.dll +0 -0
  125. package/wwwroot/_framework/Supabase.Core.s1pkj4aj0l.dll +0 -0
  126. package/wwwroot/_framework/Supabase.Functions.qz4nu782sg.dll +0 -0
  127. package/wwwroot/_framework/Supabase.Gotrue.twah27pkik.dll +0 -0
  128. package/wwwroot/_framework/Supabase.Postgrest.gmuuv369ih.dll +0 -0
  129. package/wwwroot/_framework/Supabase.Realtime.ox3kchdy3w.dll +0 -0
  130. package/wwwroot/_framework/Supabase.Storage.fnjnepaowr.dll +0 -0
  131. package/wwwroot/_framework/Supabase.azmaw5pgcz.dll +0 -0
  132. package/wwwroot/_framework/System.Collections.23yxgetbju.dll +0 -0
  133. package/wwwroot/_framework/System.Collections.Concurrent.vow3rm1dku.dll +0 -0
  134. package/wwwroot/_framework/System.Collections.Immutable.ap9596utv5.dll +0 -0
  135. package/wwwroot/_framework/System.Collections.NonGeneric.npjkaz40oc.dll +0 -0
  136. package/wwwroot/_framework/System.Collections.Specialized.ugkjbs6p02.dll +0 -0
  137. package/wwwroot/_framework/System.ComponentModel.Annotations.clwo0z2oyu.dll +0 -0
  138. package/wwwroot/_framework/System.ComponentModel.Primitives.end4v0xe2c.dll +0 -0
  139. package/wwwroot/_framework/System.ComponentModel.TypeConverter.tgtp5sm4iv.dll +0 -0
  140. package/wwwroot/_framework/System.ComponentModel.wupoltkk1t.dll +0 -0
  141. package/wwwroot/_framework/System.Console.9dik0wogo2.dll +0 -0
  142. package/wwwroot/_framework/System.Data.Common.4v8jejsiu0.dll +0 -0
  143. package/wwwroot/_framework/System.Diagnostics.DiagnosticSource.e2q75ondtq.dll +0 -0
  144. package/wwwroot/_framework/System.Diagnostics.Process.9736yjnxs8.dll +0 -0
  145. package/wwwroot/_framework/System.Diagnostics.TraceSource.h9al53gbbw.dll +0 -0
  146. package/wwwroot/_framework/System.Diagnostics.Tracing.h4bcp2fo98.dll +0 -0
  147. package/wwwroot/_framework/System.Drawing.64oovy8qts.dll +0 -0
  148. package/wwwroot/_framework/System.Drawing.Primitives.o6jiqpgbgl.dll +0 -0
  149. package/wwwroot/_framework/System.Formats.Asn1.rylx5ipd40.dll +0 -0
  150. package/wwwroot/_framework/System.IO.Compression.iceabaupns.dll +0 -0
  151. package/wwwroot/_framework/System.IO.Pipelines.uw8csd3mlz.dll +0 -0
  152. package/wwwroot/_framework/System.IdentityModel.Tokens.Jwt.t67es60z5b.dll +0 -0
  153. package/wwwroot/_framework/System.Linq.Expressions.ty95ava37f.dll +0 -0
  154. package/wwwroot/_framework/System.Linq.Queryable.hs2195jrwy.dll +0 -0
  155. package/wwwroot/_framework/System.Linq.hssodjwmlf.dll +0 -0
  156. package/wwwroot/_framework/System.Memory.1k78n7wdxb.dll +0 -0
  157. package/wwwroot/_framework/System.Net.Http.3br8rfql4c.dll +0 -0
  158. package/wwwroot/_framework/System.Net.Http.Json.860wbh17d8.dll +0 -0
  159. package/wwwroot/_framework/System.Net.NetworkInformation.e3wr00853o.dll +0 -0
  160. package/wwwroot/_framework/System.Net.Ping.r5cw4mf1a4.dll +0 -0
  161. package/wwwroot/_framework/System.Net.Primitives.ksxwiwlvhu.dll +0 -0
  162. package/wwwroot/_framework/System.Net.WebSockets.6rt3n3gl2q.dll +0 -0
  163. package/wwwroot/_framework/System.Net.WebSockets.Client.z3usrzo7rz.dll +0 -0
  164. package/wwwroot/_framework/System.Numerics.Tensors.0c7z4mt3on.dll +0 -0
  165. package/wwwroot/_framework/System.Numerics.Vectors.lbdzx8reja.dll +0 -0
  166. package/wwwroot/_framework/System.ObjectModel.yct1gdirzf.dll +0 -0
  167. package/wwwroot/_framework/System.Private.CoreLib.c1dbswx1b2.dll +0 -0
  168. package/wwwroot/_framework/System.Private.Uri.zp9kmg0z93.dll +0 -0
  169. package/wwwroot/_framework/System.Private.Xml.Linq.lgv2n0akl4.dll +0 -0
  170. package/wwwroot/_framework/System.Private.Xml.dpsk8g304y.dll +0 -0
  171. package/wwwroot/_framework/System.Reactive.t3fuon548l.dll +0 -0
  172. package/wwwroot/_framework/System.Reflection.Emit.ILGeneration.1tcuz2cmbk.dll +0 -0
  173. package/wwwroot/_framework/System.Reflection.Emit.Lightweight.ddt2wylovg.dll +0 -0
  174. package/wwwroot/_framework/System.Reflection.Emit.d8vkadiwhg.dll +0 -0
  175. package/wwwroot/_framework/System.Reflection.Primitives.cpsl71xd1z.dll +0 -0
  176. package/wwwroot/_framework/System.Runtime.InteropServices.31vjgsfk1o.dll +0 -0
  177. package/wwwroot/_framework/System.Runtime.InteropServices.JavaScript.pn2wvizzet.dll +0 -0
  178. package/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.l5rk496q70.dll +0 -0
  179. package/wwwroot/_framework/System.Runtime.Intrinsics.0zee9qcqfy.dll +0 -0
  180. package/wwwroot/_framework/System.Runtime.Loader.xw2jr9wl92.dll +0 -0
  181. package/wwwroot/_framework/System.Runtime.Numerics.ezj1dfyvbj.dll +0 -0
  182. package/wwwroot/_framework/System.Runtime.Serialization.Formatters.0y019e9zkr.dll +0 -0
  183. package/wwwroot/_framework/System.Runtime.Serialization.Primitives.bia5wb62c8.dll +0 -0
  184. package/wwwroot/_framework/System.Runtime.h9cduidfkh.dll +0 -0
  185. package/wwwroot/_framework/System.Security.Claims.2r18wim2rl.dll +0 -0
  186. package/wwwroot/_framework/System.Security.Cryptography.qqgybpoucx.dll +0 -0
  187. package/wwwroot/_framework/System.Text.Encoding.Extensions.9t3hs6kyll.dll +0 -0
  188. package/wwwroot/_framework/System.Text.Encodings.Web.wftjfh2crk.dll +0 -0
  189. package/wwwroot/_framework/System.Text.Json.0v0qgmri0w.dll +0 -0
  190. package/wwwroot/_framework/System.Text.RegularExpressions.cvkox11l6l.dll +0 -0
  191. package/wwwroot/_framework/System.Threading.Channels.419493szqu.dll +0 -0
  192. package/wwwroot/_framework/System.Threading.Thread.xhmys87xh5.dll +0 -0
  193. package/wwwroot/_framework/System.Threading.b66vzsz9g1.dll +0 -0
  194. package/wwwroot/_framework/System.Transactions.Local.7zfffdvnwf.dll +0 -0
  195. package/wwwroot/_framework/System.Web.HttpUtility.9up6xfbtuq.dll +0 -0
  196. package/wwwroot/_framework/System.Xml.Linq.n5rzv9nbf7.dll +0 -0
  197. package/wwwroot/_framework/System.Xml.ReaderWriter.ag8pilllob.dll +0 -0
  198. package/wwwroot/_framework/System.Xml.XDocument.sn51jas17n.dll +0 -0
  199. package/wwwroot/_framework/System.brmz7yk5qh.dll +0 -0
  200. package/wwwroot/_framework/Websocket.Client.vapounvmnl.dll +0 -0
  201. package/wwwroot/_framework/blazor.boot.json +305 -0
  202. package/wwwroot/_framework/blazor.webassembly.js +1 -0
  203. package/wwwroot/_framework/dotnet.js +4 -0
  204. package/wwwroot/_framework/dotnet.native.boem75ye5i.wasm +0 -0
  205. package/wwwroot/_framework/dotnet.native.qc8g39g30v.js +16 -0
  206. package/wwwroot/_framework/dotnet.runtime.opaiwunc3t.js +4 -0
  207. package/wwwroot/_framework/icudt_CJK.tjcz0u77k5.dat +0 -0
  208. package/wwwroot/_framework/icudt_EFIGS.tptq2av103.dat +0 -0
  209. package/wwwroot/_framework/icudt_no_CJK.lfu7j35m59.dat +0 -0
  210. package/wwwroot/_framework/netstandard.yvr3prsx0x.dll +0 -0
  211. package/wwwroot/_headers +17 -50
  212. package/wwwroot/appsettings.json +82 -82
  213. package/wwwroot/icon-192.png +0 -0
  214. package/wwwroot/icon-512.png +0 -0
  215. package/wwwroot/index.html +736 -22
  216. package/wwwroot/js/marketing-tool.js +180 -0
  217. package/wwwroot/manifest.webmanifest +21 -18
  218. package/wwwroot/robots.txt +1 -1
  219. package/wwwroot/service-worker-assets.js +857 -0
  220. package/wwwroot/service-worker.js +31 -5
  221. package/wwwroot/sitemap.xml +8 -20
  222. package/wwwroot/assets/AdminDashboardPage-3VUPNjhD.js +0 -1
  223. package/wwwroot/assets/AdminDashboardPage-B2vz2Px9.css +0 -1
  224. package/wwwroot/assets/AppSidebar-CiYpGRU4.js +0 -2
  225. package/wwwroot/assets/AuthPages-BmpDAK3N.js +0 -1
  226. package/wwwroot/assets/AuthPages-BrH6kRcv.css +0 -1
  227. package/wwwroot/assets/CodePage-Bncc352E.css +0 -1
  228. package/wwwroot/assets/CodePage-BrqCtiA1.js +0 -87
  229. package/wwwroot/assets/CompanyCorePage-ChBnq1ve.css +0 -1
  230. package/wwwroot/assets/CompanyCorePage-DZYu-7IF.js +0 -13
  231. package/wwwroot/assets/ExecutionModePage-AtB7HGoD.js +0 -18
  232. package/wwwroot/assets/ExecutionModePage-TLuld9l3.css +0 -1
  233. package/wwwroot/assets/LaunchLeadCapture-Bx9LM0IX.js +0 -1
  234. package/wwwroot/assets/LaunchLeadCapture-CiRI1shz.css +0 -1
  235. package/wwwroot/assets/MarketingHome-BsyerRpe.js +0 -1
  236. package/wwwroot/assets/MarketingHome-DPzaYzA_.css +0 -1
  237. package/wwwroot/assets/MindCanvas-BW9vO7KM.js +0 -49
  238. package/wwwroot/assets/MindCanvas-DtqOZnoW.css +0 -1
  239. package/wwwroot/assets/PlanMasterPage-CJ36rep-.css +0 -1
  240. package/wwwroot/assets/PlanMasterPage-DItAWGne.js +0 -4
  241. package/wwwroot/assets/PricingPage-CH6jDgJC.js +0 -1
  242. package/wwwroot/assets/PricingPage-Cg_0i_ZR.css +0 -1
  243. package/wwwroot/assets/ToolPages-CmY0jdlo.js +0 -28
  244. package/wwwroot/assets/ToolPages-DIB187pZ.css +0 -1
  245. package/wwwroot/assets/YouTubeSearchPage-CntpQkdZ.js +0 -4
  246. package/wwwroot/assets/YouTubeSearchPage-IPPa_BIH.css +0 -1
  247. package/wwwroot/assets/app-runtime-xD2Z3NdN.js +0 -1
  248. package/wwwroot/assets/canvas-runtime-Bc1G-FZ_.js +0 -44
  249. package/wwwroot/assets/code-agent-runtime-B5PPZd1t.js +0 -74
  250. package/wwwroot/assets/executionModeSettings-NJqurj-o.js +0 -1
  251. package/wwwroot/assets/index-qITXeJUr.js +0 -2
  252. package/wwwroot/assets/index-yNpEK-gp.css +0 -1
  253. package/wwwroot/assets/marketingTools-DN_rnHeB.js +0 -4
  254. package/wwwroot/assets/mindCanvasSearchWorker-BzPMsHOB.js +0 -1
  255. package/wwwroot/assets/mindexecution-mindcanvas.png +0 -0
  256. package/wwwroot/assets/mindexecution-prod-home-current.png +0 -0
  257. package/wwwroot/assets/mindexecution-prod-pricing-current.png +0 -0
  258. package/wwwroot/assets/pricingCheckoutShell-O-DnwmbU.js +0 -1
  259. package/wwwroot/assets/productionAdapterConfig-C5jfk6oG.js +0 -1
  260. package/wwwroot/assets/runtimeSettingsPersistenceProjection-BoNWmYjU.js +0 -1
  261. package/wwwroot/assets/storage-CbuZ97zN.js +0 -1
  262. package/wwwroot/assets/supabaseAuthAdapter-4HB3Xzco.js +0 -44
  263. package/wwwroot/assets/toolHandoff-D5e5f7t5.js +0 -4
  264. package/wwwroot/assets/vendor-icons-DE3gIReG.js +0 -681
  265. package/wwwroot/assets/vendor-msgpack-BE8aAsr3.js +0 -1
  266. package/wwwroot/assets/vendor-react-BXzpOyCS.js +0 -40
  267. package/wwwroot/favicon.svg +0 -7
@@ -1,22 +1,736 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <meta
7
- name="description"
8
- content="MindExec React is a fast AI execution canvas for solo builders, notes, assets, and task graphs."
9
- />
10
- <meta name="build-version" content="hosted-bridge-loopback-access-2026-06-27" />
11
- <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
12
- <link rel="manifest" href="/manifest.webmanifest" />
13
- <title>MindExec React</title>
14
- <script type="module" crossorigin src="/assets/index-qITXeJUr.js"></script>
15
- <link rel="modulepreload" crossorigin href="/assets/vendor-react-BXzpOyCS.js">
16
- <link rel="modulepreload" crossorigin href="/assets/app-runtime-xD2Z3NdN.js">
17
- <link rel="stylesheet" crossorigin href="/assets/index-yNpEK-gp.css">
18
- </head>
19
- <body>
20
- <div id="root"></div>
21
- </body>
22
- </html>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="utf-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>MindExec | Business Execution OS for solo builders</title>
8
+ <meta name="description" content="MindExec is an AI business execution OS for solo builders who want to turn notes, research, assets, and repeatable execution Skills into revenue-producing work." />
9
+ <base href="/" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260627-blazor-ui-complete-v832" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260627-blazor-ui-complete-v832" />
12
+ <!-- ??좎뜦堉??Font Awesome (local) ??좎뜦堉??-->
13
+ <link rel="stylesheet" href="_content/MindExecution.Shared/lib/font-awesome/css/all.min.css" />
14
+ <!-- ??좎뜦堉??-->
15
+ <style>
16
+ #app {
17
+ min-height: 100vh;
18
+ }
19
+
20
+ .app-static-fallback {
21
+ width: min(960px, calc(100% - 32px));
22
+ margin: 0 auto;
23
+ padding: 56px 0 48px;
24
+ color: #0f172a;
25
+ line-height: 1.7;
26
+ }
27
+
28
+ .app-static-fallback__eyebrow {
29
+ display: inline-flex;
30
+ padding: 6px 10px;
31
+ border-radius: 999px;
32
+ background: rgba(255, 255, 255, 0.84);
33
+ border: 1px solid rgba(148, 163, 184, 0.25);
34
+ font-size: 12px;
35
+ font-weight: 700;
36
+ color: #334155;
37
+ }
38
+
39
+ .app-static-fallback h1 {
40
+ margin: 16px 0 0;
41
+ font-size: clamp(30px, 4vw, 48px);
42
+ line-height: 1.05;
43
+ font-weight: 800;
44
+ }
45
+
46
+ .app-static-fallback p {
47
+ max-width: 760px;
48
+ margin: 16px 0 0;
49
+ color: #475569;
50
+ }
51
+
52
+ .app-static-fallback a {
53
+ color: #0f172a;
54
+ font-weight: 700;
55
+ }
56
+
57
+ #blazor-error-ui {
58
+ display: none;
59
+ }
60
+
61
+ #blazor-error-ui.is-visible {
62
+ position: fixed;
63
+ right: 20px;
64
+ bottom: 20px;
65
+ z-index: 9999;
66
+ display: flex;
67
+ align-items: center;
68
+ gap: 12px;
69
+ max-width: 420px;
70
+ padding: 14px 16px;
71
+ border-radius: 14px;
72
+ background: rgba(15, 23, 42, 0.96);
73
+ color: #fff;
74
+ box-shadow: 0 18px 48px rgba(15, 23, 42, 0.28);
75
+ }
76
+
77
+ .blazor-error-ui__message {
78
+ flex: 1;
79
+ font-size: 14px;
80
+ line-height: 1.6;
81
+ }
82
+
83
+ #blazor-error-ui .reload,
84
+ #blazor-error-ui .dismiss {
85
+ color: #fff;
86
+ font-size: 13px;
87
+ font-weight: 700;
88
+ text-decoration: none;
89
+ cursor: pointer;
90
+ }
91
+ </style>
92
+ </head>
93
+
94
+ <body>
95
+ <div id="app-container">
96
+ <div id="app">
97
+ <article class="app-static-fallback" id="app-static-fallback">
98
+ <div class="app-static-fallback__eyebrow">MindExec</div>
99
+ <h1>MindExec</h1>
100
+ <p>Turn ideas into revenue execution. MindExec is a Business Execution OS that moves serious work into MindCanvas, where context, AI Tasks, execution Skills, media, and results stay connected.</p>
101
+ <p><a href="/mindcanvas">Open MindCanvas</a> | <a href="/pricing">See pricing</a> | <a href="/tools">Browse free tools</a></p>
102
+ <noscript>
103
+ <p>JavaScript is required for the interactive tool experience.</p>
104
+ </noscript>
105
+ </article>
106
+ </div>
107
+ </div>
108
+
109
+ <div id="three-js-container"
110
+ style="display: none; position: fixed; top:0; left:0; width:100%; height:100%; z-index:999; background-color: rgba(0,0,0,0.5);">
111
+ </div>
112
+
113
+ <!-- Selection rectangle overlay -->
114
+ <div id="selection-rectangle"
115
+ style="position: fixed; border:2px solid #1173d4; background-color: rgba(17, 115, 212, 0.15); pointer-events: none; display: none; z-index:100;">
116
+ </div>
117
+
118
+ <div id="blazor-error-ui" role="alert" aria-live="assertive">
119
+ <div class="blazor-error-ui__message"></div>
120
+ <a href="." class="reload">Reload</a>
121
+ <span class="dismiss">Dismiss</span>
122
+ </div>
123
+
124
+ <!-- Aggressively remove any existing service workers and caches so hosted deploys pick up new JS immediately -->
125
+ <script>
126
+ window.__swCleanup = (async () => {
127
+ try {
128
+ let hadAnything = false;
129
+ if ('serviceWorker' in navigator) {
130
+ const regs = await navigator.serviceWorker.getRegistrations();
131
+ hadAnything = hadAnything || regs.length > 0;
132
+ await Promise.allSettled(regs.map(r => r.unregister()));
133
+ }
134
+ if (window.caches) {
135
+ const keys = await caches.keys();
136
+ hadAnything = hadAnything || keys.length > 0;
137
+ await Promise.allSettled(keys.map(k => caches.delete(k)));
138
+ }
139
+ return hadAnything;
140
+ } catch (e) {
141
+ console.debug('SW cleanup skipped:', e);
142
+ return false;
143
+ }
144
+ })();
145
+ </script>
146
+
147
+ <!-- Blazor WASM loader (autostart disabled; we'll start after our scripts load) -->
148
+ <script src="_framework/blazor.webassembly.js" autostart="false"></script>
149
+
150
+ <!-- Global helpers and libraries -->
151
+ <script src="js/marketing-tool.js"></script>
152
+ <script>
153
+ window.showBlazorBootError = function (message) {
154
+ const errorUi = document.getElementById('blazor-error-ui');
155
+ if (!errorUi) return;
156
+
157
+ const messageElement = errorUi.querySelector('.blazor-error-ui__message');
158
+ if (messageElement) {
159
+ messageElement.textContent = message || 'This page could not finish loading.';
160
+ }
161
+
162
+ errorUi.classList.add('is-visible');
163
+ errorUi.removeAttribute('hidden');
164
+ };
165
+
166
+ window.hideBlazorBootError = function () {
167
+ const errorUi = document.getElementById('blazor-error-ui');
168
+ if (!errorUi) return;
169
+ errorUi.classList.remove('is-visible');
170
+ };
171
+
172
+ document.addEventListener('click', (event) => {
173
+ const target = event.target;
174
+ if (target instanceof HTMLElement && target.classList.contains('dismiss')) {
175
+ window.hideBlazorBootError();
176
+ }
177
+ });
178
+
179
+ // Global textarea handlers
180
+ function adjustTextareaHeight(element) {
181
+ if (!element) return;
182
+
183
+ // ??좎뜦堉??[Change] Add jitter-prevention logic ??좎뜦堉??
184
+ // Compare the previous text length. When content grows, skip the 'auto' reset.
185
+ // Only reset to 'auto' when shrinking (during deletion).
186
+ const currentLength = element.value.length;
187
+ const prevLength = parseInt(element.dataset.prevLength || '0');
188
+
189
+ if (currentLength < prevLength) {
190
+ element.style.height = 'auto'; // reset height when deleting to allow shrink
191
+ }
192
+
193
+ element.dataset.prevLength = currentLength; // store current length
194
+ // ??좎뜦堉??[Change] ??좎뜦堉??
195
+
196
+ const computedStyles = window.getComputedStyle(element);
197
+ const lineHeight = parseFloat(computedStyles.lineHeight || '24') || 24;
198
+ const paddingTop = parseFloat(computedStyles.paddingTop || '0') || 0;
199
+ const paddingBottom = parseFloat(computedStyles.paddingBottom || '0') || 0;
200
+ const verticalPadding = paddingTop + paddingBottom;
201
+ const maxLines = 6; // limit to 6 lines
202
+ const maxHeight = (lineHeight * maxLines) + verticalPadding;
203
+ const minHeightPx = Math.max(lineHeight + verticalPadding, 42);
204
+
205
+ const newHeight = Math.min(element.scrollHeight, maxHeight);
206
+
207
+ // Even if content didn't shrink, apply if scrollHeight grew
208
+ element.style.height = Math.max(newHeight, minHeightPx) + 'px';
209
+ element.style.overflowY = 'hidden';
210
+ }
211
+ function resetTextareaHeight(element) {
212
+ if (!element) return;
213
+ const computedStyles = window.getComputedStyle(element);
214
+ const lineHeight = parseFloat(computedStyles.lineHeight || '24') || 24;
215
+ const paddingTop = parseFloat(computedStyles.paddingTop || '0') || 0;
216
+ const paddingBottom = parseFloat(computedStyles.paddingBottom || '0') || 0;
217
+ const minHeightPx = Math.max(lineHeight + paddingTop + paddingBottom, 42);
218
+ element.style.height = minHeightPx + 'px';
219
+ element.style.overflowY = 'hidden';
220
+ }
221
+ function attachTextareaHandlers(element, dotNetRef) {
222
+ if (!element) return;
223
+
224
+ if (element.__mindexecEnterHandler) {
225
+ element.removeEventListener('keydown', element.__mindexecEnterHandler);
226
+ }
227
+
228
+ const handleKeyDown = (e) => {
229
+ if (e.key === 'Enter') {
230
+ if (e.shiftKey) {
231
+ return;
232
+ }
233
+
234
+ if (e.repeat || e.isComposing || e.keyCode === 229) {
235
+ return;
236
+ }
237
+
238
+ e.preventDefault();
239
+ const now = performance.now();
240
+ if (element.__mindexecLastEnterAt && now - element.__mindexecLastEnterAt < 650) {
241
+ return;
242
+ }
243
+
244
+ const promptSnapshot = element.value || '';
245
+ if (!promptSnapshot.trim()) {
246
+ return;
247
+ }
248
+
249
+ element.__mindexecLastEnterAt = now;
250
+ const submitId = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
251
+ element.value = '';
252
+ element.dispatchEvent(new Event('input', { bubbles: true }));
253
+ resetTextareaHeight(element);
254
+
255
+ if (dotNetRef && dotNetRef.invokeMethodAsync) {
256
+ dotNetRef.invokeMethodAsync('OnGlobalInputEnterPressed', promptSnapshot, submitId)
257
+ .catch((err) => console.warn('[GlobalInput] Enter submit failed:', err));
258
+ }
259
+ }
260
+ };
261
+
262
+ element.__mindexecEnterHandler = handleKeyDown;
263
+ element.addEventListener('keydown', handleKeyDown);
264
+ }
265
+ function blurElement(element) {
266
+ if (element) element.blur();
267
+ if (document && document.body) document.body.focus();
268
+ }
269
+
270
+ function focusGlobalTextarea() {
271
+ const textarea = document.getElementById('global-input-textarea');
272
+ if (textarea) {
273
+ textarea.focus();
274
+ textarea.setSelectionRange(textarea.value.length, textarea.value.length);
275
+ }
276
+ }
277
+
278
+ window.adjustTextareaHeight = adjustTextareaHeight;
279
+ window.resetTextareaHeight = resetTextareaHeight;
280
+ window.attachTextareaHandlers = attachTextareaHandlers;
281
+ window.blurElement = blurElement;
282
+ window.focusGlobalTextarea = focusGlobalTextarea;
283
+
284
+ // Prevent default page-level DnD behavior
285
+ document.addEventListener('dragover', (e) => {
286
+ e.preventDefault();
287
+ // ??좎뜦堉??[Change] Remove/avoid stopPropagation (do not disrupt event flow) ??좎뜦堉??
288
+ // e.stopPropagation();
289
+ // ??좎뜦堉??[Change] ??좎뜦堉??
290
+
291
+ // ??좎뜦堉??[Change] Default is 'none', but only apply when not handled by children ??좎뜦堉??
292
+ // (If MindMapDnD handles it, this code won't run or will be ignored)
293
+ // e.dataTransfer.dropEffect = 'none';
294
+ }, false);
295
+
296
+ document.addEventListener('dragleave', (e) => {
297
+ e.preventDefault();
298
+ // e.stopPropagation(); // removed
299
+ }, false);
300
+
301
+ document.addEventListener('drop', (e) => {
302
+ e.preventDefault();
303
+ // e.stopPropagation(); // removed
304
+ }, false);
305
+ </script>
306
+
307
+ <!-- Paddle.js -->
308
+ <script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script>
309
+
310
+ <!-- App scripts and libs REQUIRED before Blazor starts -->
311
+ <script>
312
+ window.mindExecutionStartupTiming = window.mindExecutionStartupTiming || (() => {
313
+ const perf = window.performance;
314
+ const now = () => perf && typeof perf.now === 'function'
315
+ ? perf.now()
316
+ : Date.now();
317
+ const marks = new Map();
318
+ const pageStart = now();
319
+ marks.set('page-start', pageStart);
320
+
321
+ function toDuration(value) {
322
+ return `${Math.round(value)}ms`;
323
+ }
324
+
325
+ function formatDetails(details) {
326
+ if (!details || typeof details !== 'object') {
327
+ return '';
328
+ }
329
+
330
+ const parts = Object.entries(details)
331
+ .filter(([, value]) => value !== undefined && value !== null && value !== '')
332
+ .map(([key, value]) => `${key}=${typeof value === 'number' ? Math.round(value) : value}`);
333
+
334
+ return parts.length > 0 ? ` | ${parts.join(', ')}` : '';
335
+ }
336
+
337
+ function elapsedSince(markName, currentNow) {
338
+ const startedAt = marks.get(markName);
339
+ return typeof startedAt === 'number' ? currentNow - startedAt : null;
340
+ }
341
+
342
+ return {
343
+ mark(stage, details) {
344
+ const currentNow = now();
345
+ marks.set(stage, currentNow);
346
+ const pageElapsed = elapsedSince('page-start', currentNow) ?? 0;
347
+ try {
348
+ window.dispatchEvent(new CustomEvent(`startup-timing:${stage}`, {
349
+ detail: {
350
+ stage,
351
+ elapsedMs: Math.round(pageElapsed),
352
+ details: details || null
353
+ }
354
+ }));
355
+ } catch { }
356
+ console.log(`[Startup Timing] ${stage}: ${toDuration(pageElapsed)} since page start${formatDetails(details)}`);
357
+ return Math.round(pageElapsed);
358
+ },
359
+ logMindCanvasReady(details) {
360
+ const currentNow = now();
361
+ marks.set('mindcanvas-ready', currentNow);
362
+
363
+ const segments = [];
364
+ const pageElapsed = elapsedSince('page-start', currentNow);
365
+ const scriptLoaderElapsed = elapsedSince('script-loader-start', currentNow);
366
+ const blazorElapsed = elapsedSince('blazor-start', currentNow);
367
+ const bootstrapElapsed = elapsedSince('mindcanvas-bootstrap-start', currentNow);
368
+ const boardElapsed = elapsedSince('mindcanvas-board-load-start', currentNow);
369
+
370
+ if (pageElapsed !== null) segments.push(`page=${toDuration(pageElapsed)}`);
371
+ if (scriptLoaderElapsed !== null) segments.push(`scriptLoader=${toDuration(scriptLoaderElapsed)}`);
372
+ if (blazorElapsed !== null) segments.push(`blazor=${toDuration(blazorElapsed)}`);
373
+ if (bootstrapElapsed !== null) segments.push(`bootstrap=${toDuration(bootstrapElapsed)}`);
374
+ if (boardElapsed !== null) segments.push(`board=${toDuration(boardElapsed)}`);
375
+
376
+ try {
377
+ window.dispatchEvent(new CustomEvent('startup-timing:mindcanvas-ready', {
378
+ detail: {
379
+ stage: 'mindcanvas-ready',
380
+ elapsedMs: Math.round(pageElapsed ?? 0),
381
+ details: details || null
382
+ }
383
+ }));
384
+ } catch { }
385
+
386
+ console.log(`[Startup Timing] MindCanvas ready: ${segments.join(' | ')}${formatDetails(details)}`);
387
+ return Math.round(pageElapsed ?? 0);
388
+ }
389
+ };
390
+ })();
391
+ window.mindExecutionStartupTiming.mark('index-html-ready', {
392
+ route: window.location.pathname || '/'
393
+ });
394
+
395
+ window.__marketingToolHosts = [
396
+ 'mdview.pages.dev', 'mdview.mindexec.io', 'markdown-viewer.pages.dev', 'markdown-viewer.mindexec.io',
397
+ 'bulkmd.pages.dev', 'bulkmd.mindexec.io', 'bulk-markdown-viewer.pages.dev', 'bulk-markdown-viewer.mindexec.io',
398
+ 'mdoutln.pages.dev', 'mdoutln.mindexec.io', 'markdown-outline.pages.dev', 'markdown-outline.mindexec.io',
399
+ 'mdtable.pages.dev', 'mdtable.mindexec.io', 'markdown-table-formatter.pages.dev', 'markdown-table-formatter.mindexec.io',
400
+ 'readme.pages.dev', 'readme.mindexec.io', 'readme-previewer.pages.dev', 'readme-previewer.mindexec.io',
401
+ 'md2html.pages.dev', 'md2html.mindexec.io', 'markdown-to-html.pages.dev', 'markdown-to-html.mindexec.io',
402
+ 'mdcheck.pages.dev', 'mdcheck.mindexec.io', 'markdown-link-checker.pages.dev', 'markdown-link-checker.mindexec.io',
403
+ 'quickpad.pages.dev', 'quickpad.mindexec.io', 'browser-notepad.pages.dev', 'browser-notepad.mindexec.io',
404
+ 'clipbrd.pages.dev', 'clipbrd.mindexec.io', 'clipboard-board.pages.dev', 'clipboard-board.mindexec.io'
405
+ ];
406
+
407
+ window.__matchesMarketingToolHost = function (configuredHost, runtimeHost) {
408
+ if (!configuredHost || !runtimeHost) {
409
+ return false;
410
+ }
411
+
412
+ const normalizedConfiguredHost = configuredHost.toLowerCase();
413
+ const normalizedRuntimeHost = runtimeHost.toLowerCase();
414
+ if (normalizedConfiguredHost === normalizedRuntimeHost) {
415
+ return true;
416
+ }
417
+
418
+ if (!normalizedConfiguredHost.endsWith('.pages.dev') || !normalizedRuntimeHost.endsWith('.pages.dev')) {
419
+ return false;
420
+ }
421
+
422
+ const configuredPrefix = normalizedConfiguredHost.slice(0, -'.pages.dev'.length);
423
+ const runtimePrefix = normalizedRuntimeHost.slice(0, -'.pages.dev'.length);
424
+ return runtimePrefix === configuredPrefix || runtimePrefix.startsWith(`${configuredPrefix}-`);
425
+ };
426
+
427
+ window.__isMarketingToolHost = window.__marketingToolHosts.some(host =>
428
+ window.__matchesMarketingToolHost(host, location.host || '')
429
+ );
430
+ </script>
431
+ <!-- ??좎뜦堉??[Upgrade] Three.js r168 via ESM ??좎뜦堉??-->
432
+ <script type="importmap">
433
+ {
434
+ "imports": {
435
+ "three": "https://cdn.jsdelivr.net/npm/three@0.168.0/build/three.module.js"
436
+ }
437
+ }
438
+ </script>
439
+ <script type="module">
440
+ if (!window.__isMarketingToolHost) {
441
+ const THREE = await import('three');
442
+
443
+ window.THREE = THREE;
444
+ globalThis.THREE = THREE;
445
+ console.log('[Three.js] r' + THREE.REVISION + ' loaded (ESM ??global)');
446
+
447
+ window.THREE_LOADED = true;
448
+ window.dispatchEvent(new Event('three-loaded'));
449
+ } else {
450
+ console.log('[Script Loader] Marketing tool host detected. Skipping Three.js preload.');
451
+ }
452
+ </script>
453
+ <!-- Wait for THREE then load dependent scripts -->
454
+ <script>
455
+ function loadScript(src, options = {}) {
456
+ const SCRIPT_LOAD_TIMEOUT_MS = 15000;
457
+ const SCRIPT_LOAD_SLOW_MS = 3000;
458
+ window.__mindExecutionScriptLoaderState = window.__mindExecutionScriptLoaderState || {
459
+ pending: {},
460
+ completed: [],
461
+ lastError: null
462
+ };
463
+
464
+ const label = options.label || src;
465
+ const startAt = performance.now();
466
+ window.__mindExecutionScriptLoaderState.pending[label] = {
467
+ src,
468
+ label,
469
+ startedAt: startAt
470
+ };
471
+
472
+ return new Promise((resolve, reject) => {
473
+ const s = document.createElement('script');
474
+ s.src = src;
475
+ if (options.ordered === true) {
476
+ // Ordered dynamic scripts still fetch in parallel, but execute in append order.
477
+ s.async = false;
478
+ }
479
+ if (options.fetchPriority) {
480
+ s.fetchPriority = options.fetchPriority;
481
+ }
482
+ let finished = false;
483
+ const complete = (kind, error = null) => {
484
+ if (finished) return;
485
+ finished = true;
486
+ clearTimeout(timeoutHandle);
487
+
488
+ const elapsedMs = Math.max(0, performance.now() - startAt);
489
+ delete window.__mindExecutionScriptLoaderState.pending[label];
490
+
491
+ if (kind === 'load') {
492
+ window.__mindExecutionScriptLoaderState.completed.push({
493
+ label,
494
+ elapsedMs: Math.round(elapsedMs),
495
+ loadedAt: Date.now()
496
+ });
497
+ if (elapsedMs >= SCRIPT_LOAD_SLOW_MS) {
498
+ console.warn(`[Script Loader] Slow script load: ${label} (${elapsedMs.toFixed(0)}ms)`);
499
+ }
500
+ resolve();
501
+ return;
502
+ }
503
+
504
+ const pendingLabels = Object.keys(window.__mindExecutionScriptLoaderState.pending || {});
505
+ const failure = error instanceof Error
506
+ ? error
507
+ : new Error(String(error || `Failed to load script: ${label}`));
508
+ window.__mindExecutionScriptLoaderState.lastError = {
509
+ label,
510
+ src,
511
+ kind,
512
+ elapsedMs: Math.round(elapsedMs),
513
+ pending: pendingLabels,
514
+ message: failure.message
515
+ };
516
+ reject(failure);
517
+ };
518
+
519
+ const timeoutHandle = setTimeout(() => {
520
+ const pendingLabels = Object.keys(window.__mindExecutionScriptLoaderState.pending || {});
521
+ complete('timeout', new Error(`[Script Loader] Timeout waiting for ${label} after ${SCRIPT_LOAD_TIMEOUT_MS}ms | pending=${pendingLabels.join(', ') || '-'}`));
522
+ }, options.timeoutMs || SCRIPT_LOAD_TIMEOUT_MS);
523
+
524
+ s.onload = () => complete('load');
525
+ s.onerror = () => complete('error', new Error(`[Script Loader] Failed to load ${label}`));
526
+ document.head.appendChild(s);
527
+ });
528
+ }
529
+
530
+ function loadScriptBatchOrdered(scripts, scriptUrl, onLoaded) {
531
+ const scriptPromises = [];
532
+
533
+ for (const script of scripts) {
534
+ const promise = loadScript(scriptUrl(script), {
535
+ ordered: true,
536
+ fetchPriority: 'high',
537
+ label: script
538
+ }).then(() => {
539
+ onLoaded?.(script);
540
+ });
541
+
542
+ scriptPromises.push(promise);
543
+ }
544
+
545
+ return Promise.all(scriptPromises);
546
+ }
547
+
548
+ async function loadDependentScripts() {
549
+ window.mindExecutionStartupTiming?.mark('script-loader-start', {
550
+ route: window.location.pathname || '/'
551
+ });
552
+
553
+ if (window.__isMarketingToolHost) {
554
+ console.log('[Script Loader] Marketing tool host detected. Skipping MindMap script bundle.');
555
+
556
+ try {
557
+ if (window.__swCleanup) {
558
+ const cleaned = await window.__swCleanup;
559
+ const flag = '__swCleanedOnce';
560
+ if (cleaned && !sessionStorage.getItem(flag)) {
561
+ sessionStorage.setItem(flag, '1');
562
+ location.reload();
563
+ return;
564
+ }
565
+ }
566
+ } catch { }
567
+
568
+ if (window.Blazor && Blazor.start) {
569
+ window.mindExecutionStartupTiming?.mark('blazor-start', { marketingToolHost: true });
570
+ await Blazor.start();
571
+ }
572
+
573
+ return;
574
+ }
575
+
576
+ // Wait for THREE to be available
577
+ if (!window.THREE_LOADED) {
578
+ await new Promise(r => window.addEventListener('three-loaded', r, { once: true }));
579
+ }
580
+
581
+ const base = '_content/MindExecution.Shared/js/';
582
+ const scriptVersion = '20260627-blazor-ui-complete-v832';
583
+ const scriptUrl = (script) => `${base}${script}?v=${scriptVersion}`;
584
+ console.log(`[Script Loader] Shared JS version: ${scriptVersion}`);
585
+ const criticalScripts = [
586
+ 'mind-map-dev-guards.js',
587
+ 'renderers/CSS3DRenderer.js',
588
+ 'helpers/InfiniteGridHelper.js',
589
+ 'marked.min.js',
590
+ 'background-themes.js',
591
+ 'mind-map-logic-workers.js',
592
+ // Troika removed
593
+ 'texture-worker-manager.js', // ??Web Worker ??좎럩?ゅ뜝???좎럩苑?
594
+ 'mind-map-texture-factory.js',
595
+ 'mind-map-glow-shader.js', // ??SDF Glow (no textures, GPU only)
596
+ 'mind-map-css3d-manager.js',
597
+ 'mind-map-text-overlay-v2.js',
598
+ 'mind-map-object-manager.js',
599
+ 'mind-map-pipeline.js',
600
+ 'mind-map-nodes.js',
601
+ 'mind-map-menu-manager.js',
602
+ 'mind-map-multi-select.js',
603
+ 'mind-map-interactions.js',
604
+ 'mind-map-dnd.js',
605
+ 'mind-map-lod-renderer.js',
606
+ 'mind-map-text-lod-system.js', // ??Text LOD ??좎럩???(??좎럩????좎럩?ゅ뜝???좎럩彛?
607
+ 'mind-map-core.js',
608
+ 'mindmap-toolbar.js',
609
+ 'token-manager.js',
610
+ 'file-system-helper.js'
611
+ ];
612
+ const routePath = (location.pathname || '/').toLowerCase();
613
+ const routeCriticalScripts = [];
614
+ if (routePath === '/code' || routePath === '/agent') {
615
+ routeCriticalScripts.push('code-master.js', 'agent-visualization.js');
616
+ }
617
+ if (routePath === '/planmaster' || routePath === '/planagent') {
618
+ routeCriticalScripts.push('plan-master.js');
619
+ }
620
+ const deferredScripts = ['plan-master.js', 'code-master.js', 'agent-visualization.js']
621
+ .filter(script => !routeCriticalScripts.includes(script));
622
+
623
+ function queueAgentSettings(globalName, pendingKey) {
624
+ if (window[globalName]) return;
625
+ window[globalName] = {
626
+ applySettings(settings) {
627
+ window[pendingKey] = Object.assign({}, window[pendingKey] || {}, settings || {});
628
+ }
629
+ };
630
+ }
631
+
632
+ function flushQueuedAgentSettings(script) {
633
+ const mappings = {
634
+ 'plan-master.js': ['planAgent', '__pendingPlanAgentSettings'],
635
+ 'code-master.js': ['codeAgent', '__pendingCodeAgentSettings']
636
+ };
637
+ const mapping = mappings[script];
638
+ if (!mapping) return;
639
+
640
+ const [globalName, pendingKey] = mapping;
641
+ const pending = window[pendingKey];
642
+ if (pending && window[globalName]?.applySettings) {
643
+ window[pendingKey] = null;
644
+ window[globalName].applySettings(pending);
645
+ }
646
+ }
647
+
648
+ queueAgentSettings('planAgent', '__pendingPlanAgentSettings');
649
+ queueAgentSettings('codeAgent', '__pendingCodeAgentSettings');
650
+
651
+ await loadScriptBatchOrdered(
652
+ [...criticalScripts, ...routeCriticalScripts],
653
+ scriptUrl,
654
+ flushQueuedAgentSettings
655
+ );
656
+
657
+ window.MindCanvasBuildInfo?.setRuntime?.('scriptVersion', scriptVersion);
658
+ window.MindCanvasBuildInfo?.validateRequiredParts?.(['devGuards', 'core', 'lodRenderer']);
659
+
660
+ console.log('[Script Loader] Critical scripts loaded, starting Blazor...');
661
+ window.mindExecutionStartupTiming?.mark('critical-scripts-loaded', {
662
+ criticalCount: criticalScripts.length + routeCriticalScripts.length
663
+ });
664
+
665
+ // SW cleanup
666
+ try {
667
+ if (window.__swCleanup) {
668
+ const cleaned = await window.__swCleanup;
669
+ const flag = '__swCleanedOnce';
670
+ if (cleaned && !sessionStorage.getItem(flag)) {
671
+ sessionStorage.setItem(flag, '1');
672
+ location.reload();
673
+ return;
674
+ }
675
+ }
676
+ } catch { }
677
+
678
+ // Start Blazor
679
+ if (window.Blazor && Blazor.start) {
680
+ window.mindExecutionStartupTiming?.mark('blazor-start', { marketingToolHost: false });
681
+ await Blazor.start();
682
+ }
683
+
684
+ const scheduleDeferredScripts = window.requestIdleCallback
685
+ ? ((callback) => window.requestIdleCallback(callback, { timeout: 1500 }))
686
+ : ((callback) => setTimeout(callback, 0));
687
+
688
+ const loadDeferredScriptsNow = () => {
689
+ scheduleDeferredScripts(() => {
690
+ (async () => {
691
+ await loadScriptBatchOrdered(
692
+ deferredScripts,
693
+ scriptUrl,
694
+ flushQueuedAgentSettings
695
+ );
696
+ console.log('[Script Loader] Deferred scripts loaded.');
697
+ window.mindExecutionStartupTiming?.mark('deferred-scripts-loaded', {
698
+ deferredCount: deferredScripts.length
699
+ });
700
+ })().catch(e => console.error('[Script Loader] Deferred load failed:', e));
701
+ });
702
+ };
703
+
704
+ if (routePath === '/mindcanvas' && deferredScripts.length > 0) {
705
+ let deferredStarted = false;
706
+ const startDeferredAfterMindCanvasReady = () => {
707
+ if (deferredStarted) return;
708
+ deferredStarted = true;
709
+ loadDeferredScriptsNow();
710
+ };
711
+
712
+ window.addEventListener('startup-timing:mindcanvas-ready', startDeferredAfterMindCanvasReady, { once: true });
713
+ setTimeout(startDeferredAfterMindCanvasReady, 20000);
714
+ } else {
715
+ loadDeferredScriptsNow();
716
+ }
717
+ }
718
+
719
+ // Start loading
720
+ loadDependentScripts().catch(e => {
721
+ console.error('[Script Loader] Failed:', e);
722
+ window.showBlazorBootError('The page could not finish loading. Reload and try again.');
723
+ });
724
+ </script>
725
+ <!-- ??좎뜦堉??[Upgrade] ??좎뜦堉??-->
726
+ </body>
727
+
728
+ </html>
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+