@newsails/veil-studio 1.0.0 → 2.0.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 (1620) hide show
  1. package/README.md +11 -1
  2. package/nuxt-app/.output/public/200.html +9 -6
  3. package/nuxt-app/.output/public/404.html +9 -6
  4. package/nuxt-app/.output/public/_nuxt/abap.DLDM7-KI.js +1 -0
  5. package/nuxt-app/.output/public/_nuxt/apex.DNDY2TF8.js +1 -0
  6. package/nuxt-app/.output/public/_nuxt/azcli.Y6nb8tq_.js +1 -0
  7. package/nuxt-app/.output/public/_nuxt/bat.BwHxbl9M.js +1 -0
  8. package/nuxt-app/.output/public/_nuxt/bicep.CFznDFnq.js +2 -0
  9. package/nuxt-app/.output/public/_nuxt/cameligo.Bf6VGUru.js +1 -0
  10. package/nuxt-app/.output/public/_nuxt/clojure.Dnu-v4kV.js +1 -0
  11. package/nuxt-app/.output/public/_nuxt/codicon.ngg6Pgfi.ttf +0 -0
  12. package/nuxt-app/.output/public/_nuxt/coffee.Bd8akH9Z.js +1 -0
  13. package/nuxt-app/.output/public/_nuxt/cpp.BbWJElDN.js +1 -0
  14. package/nuxt-app/.output/public/_nuxt/csharp.Co3qMtFm.js +1 -0
  15. package/nuxt-app/.output/public/_nuxt/csp.D-4FJmMZ.js +1 -0
  16. package/nuxt-app/.output/public/_nuxt/css.DdJfP1eB.js +3 -0
  17. package/nuxt-app/.output/public/_nuxt/css.worker-V_k7FkW4.js +93 -0
  18. package/nuxt-app/.output/public/_nuxt/cssMode.Cn3v6mN5.js +1 -0
  19. package/nuxt-app/.output/public/_nuxt/cursor-editorTextHighlight.kG3uUOwL.svg +8 -0
  20. package/nuxt-app/.output/public/_nuxt/cypher.cTPe9QuQ.js +1 -0
  21. package/nuxt-app/.output/public/_nuxt/dart.BOtBlQCF.js +1 -0
  22. package/nuxt-app/.output/public/_nuxt/dockerfile.BG73LgW2.js +1 -0
  23. package/nuxt-app/.output/public/_nuxt/ecl.BEgZUVRK.js +1 -0
  24. package/nuxt-app/.output/public/_nuxt/editor.j6bgW0Rn.css +1 -0
  25. package/nuxt-app/.output/public/_nuxt/editor.main.BXnwZDNv.js +913 -0
  26. package/nuxt-app/.output/public/_nuxt/elixir.BkW5O-1t.js +1 -0
  27. package/nuxt-app/.output/public/_nuxt/entry.BTBLr2_9.js +178 -0
  28. package/nuxt-app/.output/public/_nuxt/entry.Bi330XvK.css +1 -0
  29. package/nuxt-app/.output/public/_nuxt/{error-404.BbdzCaXe.js → error-404.BtcTx28A.js} +1 -1
  30. package/nuxt-app/.output/public/_nuxt/{error-500.DbOlBIIY.js → error-500.DOSB4mL7.js} +1 -1
  31. package/nuxt-app/.output/public/_nuxt/flow9.BeJ5waoc.js +1 -0
  32. package/nuxt-app/.output/public/_nuxt/freemarker2.DTkTX0AV.js +3 -0
  33. package/nuxt-app/.output/public/_nuxt/fsharp.PahG7c26.js +1 -0
  34. package/nuxt-app/.output/public/_nuxt/go.acbASCJo.js +1 -0
  35. package/nuxt-app/.output/public/_nuxt/graphql.BxJiqAUM.js +1 -0
  36. package/nuxt-app/.output/public/_nuxt/handlebars.1jygEZpg.js +1 -0
  37. package/nuxt-app/.output/public/_nuxt/hcl.DtV1sZF8.js +1 -0
  38. package/nuxt-app/.output/public/_nuxt/html.BpM62ame.js +1 -0
  39. package/nuxt-app/.output/public/_nuxt/html.worker-CAp20DN1.js +470 -0
  40. package/nuxt-app/.output/public/_nuxt/htmlMode.Cy5jAJfq.js +1 -0
  41. package/nuxt-app/.output/public/_nuxt/index.BLgiPK1n.js +415 -0
  42. package/nuxt-app/.output/public/_nuxt/index.DgMzrTGH.css +1 -0
  43. package/nuxt-app/.output/public/_nuxt/ini.Kd9XrMLS.js +1 -0
  44. package/nuxt-app/.output/public/_nuxt/java.CXBNlu9o.js +1 -0
  45. package/nuxt-app/.output/public/_nuxt/javascript.BUf38kZw.js +1 -0
  46. package/nuxt-app/.output/public/_nuxt/json.worker-6D_tMdcV.js +58 -0
  47. package/nuxt-app/.output/public/_nuxt/jsonMode.C0IX_rGY.js +7 -0
  48. package/nuxt-app/.output/public/_nuxt/julia.cl7-CwDS.js +1 -0
  49. package/nuxt-app/.output/public/_nuxt/kotlin.s7OhZKlX.js +1 -0
  50. package/nuxt-app/.output/public/_nuxt/less.9HpZscsL.js +2 -0
  51. package/nuxt-app/.output/public/_nuxt/lexon.OrD6JF1K.js +1 -0
  52. package/nuxt-app/.output/public/_nuxt/liquid.DL96V_07.js +1 -0
  53. package/nuxt-app/.output/public/_nuxt/lspLanguageFeatures.xehlwcr0.js +4 -0
  54. package/nuxt-app/.output/public/_nuxt/lua.Cyyb5UIc.js +1 -0
  55. package/nuxt-app/.output/public/_nuxt/m3.B8OfTtLu.js +1 -0
  56. package/nuxt-app/.output/public/_nuxt/markdown.BFxVWTOG.js +1 -0
  57. package/nuxt-app/.output/public/_nuxt/mdx.BNt0FFnz.js +1 -0
  58. package/nuxt-app/.output/public/_nuxt/mips.CiqrrVzr.js +1 -0
  59. package/nuxt-app/.output/public/_nuxt/msdax.DmeGPVcC.js +1 -0
  60. package/nuxt-app/.output/public/_nuxt/mysql.C_tMU-Nz.js +1 -0
  61. package/nuxt-app/.output/public/_nuxt/objective-c.BDtDVThU.js +1 -0
  62. package/nuxt-app/.output/public/_nuxt/pascal.vHIfCaH5.js +1 -0
  63. package/nuxt-app/.output/public/_nuxt/pascaligo.DtZ0uQbO.js +1 -0
  64. package/nuxt-app/.output/public/_nuxt/perl.Ub6l9XKa.js +1 -0
  65. package/nuxt-app/.output/public/_nuxt/pgsql.BlNEE0v7.js +1 -0
  66. package/nuxt-app/.output/public/_nuxt/php.BBUBE1dy.js +1 -0
  67. package/nuxt-app/.output/public/_nuxt/pla.DSh2-awV.js +1 -0
  68. package/nuxt-app/.output/public/_nuxt/postiats.CocnycG-.js +1 -0
  69. package/nuxt-app/.output/public/_nuxt/powerquery.tScXyioY.js +1 -0
  70. package/nuxt-app/.output/public/_nuxt/powershell.COWaemsV.js +1 -0
  71. package/nuxt-app/.output/public/_nuxt/protobuf.Brw8urJB.js +2 -0
  72. package/nuxt-app/.output/public/_nuxt/pug.8SOpv6rk.js +1 -0
  73. package/nuxt-app/.output/public/_nuxt/python.DjrP6G10.js +1 -0
  74. package/nuxt-app/.output/public/_nuxt/qsharp.Bw9ernYp.js +1 -0
  75. package/nuxt-app/.output/public/_nuxt/r.j7ic8hl3.js +1 -0
  76. package/nuxt-app/.output/public/_nuxt/razor.Du9jUt14.js +1 -0
  77. package/nuxt-app/.output/public/_nuxt/redis.Bu5POkcn.js +1 -0
  78. package/nuxt-app/.output/public/_nuxt/redshift.Bs9aos_-.js +1 -0
  79. package/nuxt-app/.output/public/_nuxt/restructuredtext.CqXO7rUv.js +1 -0
  80. package/nuxt-app/.output/public/_nuxt/ruby.zBfavPgS.js +1 -0
  81. package/nuxt-app/.output/public/_nuxt/rust.BzKRNQWT.js +1 -0
  82. package/nuxt-app/.output/public/_nuxt/sb.BBc9UKZt.js +1 -0
  83. package/nuxt-app/.output/public/_nuxt/scala.D9hQfWCl.js +1 -0
  84. package/nuxt-app/.output/public/_nuxt/scheme.BPhDTwHR.js +1 -0
  85. package/nuxt-app/.output/public/_nuxt/scss.CBJaRo0y.js +3 -0
  86. package/nuxt-app/.output/public/_nuxt/shell.DiJ1NA_G.js +1 -0
  87. package/nuxt-app/.output/public/_nuxt/solidity.Db0IVjzk.js +1 -0
  88. package/nuxt-app/.output/public/_nuxt/sophia.CnS9iZB_.js +1 -0
  89. package/nuxt-app/.output/public/_nuxt/sparql.CJmd_6j2.js +1 -0
  90. package/nuxt-app/.output/public/_nuxt/sql.ClhHkBeG.js +1 -0
  91. package/nuxt-app/.output/public/_nuxt/st.CHwy0fLd.js +1 -0
  92. package/nuxt-app/.output/public/_nuxt/swift.Bqt4WxQ4.js +3 -0
  93. package/nuxt-app/.output/public/_nuxt/systemverilog.Bs9z6M-B.js +1 -0
  94. package/nuxt-app/.output/public/_nuxt/tcl.Dm6ycUr_.js +1 -0
  95. package/nuxt-app/.output/public/_nuxt/ts.worker-B0yERHG1.js +67731 -0
  96. package/nuxt-app/.output/public/_nuxt/tsMode.BSdAUy8X.js +11 -0
  97. package/nuxt-app/.output/public/_nuxt/twig.Csy3S7wG.js +1 -0
  98. package/nuxt-app/.output/public/_nuxt/typescript.DGCEyVS5.js +1 -0
  99. package/nuxt-app/.output/public/_nuxt/typespec.Btyra-wh.js +1 -0
  100. package/nuxt-app/.output/public/_nuxt/vb.Db0cS2oM.js +1 -0
  101. package/nuxt-app/.output/public/_nuxt/{vue.-sixQ7xP.BlWffD__.js → vue.-sixQ7xP.BPDPwbEb.js} +1 -1
  102. package/nuxt-app/.output/public/_nuxt/wgsl.BTesnYfV.js +298 -0
  103. package/nuxt-app/.output/public/_nuxt/xml.B1Yz6scE.js +1 -0
  104. package/nuxt-app/.output/public/_nuxt/yaml.DyJuxYw-.js +1 -0
  105. package/nuxt-app/.output/public/icons/default_file.svg +1 -0
  106. package/nuxt-app/.output/public/icons/default_folder.svg +54 -0
  107. package/nuxt-app/.output/public/icons/default_folder_opened.svg +58 -0
  108. package/nuxt-app/.output/public/icons/default_root_folder.svg +1 -0
  109. package/nuxt-app/.output/public/icons/default_root_folder_opened.svg +1 -0
  110. package/nuxt-app/.output/public/icons/file_type_access.svg +1 -0
  111. package/nuxt-app/.output/public/icons/file_type_access2.svg +1 -0
  112. package/nuxt-app/.output/public/icons/file_type_actionscript.svg +1 -0
  113. package/nuxt-app/.output/public/icons/file_type_actionscript2.svg +1 -0
  114. package/nuxt-app/.output/public/icons/file_type_ada.svg +1 -0
  115. package/nuxt-app/.output/public/icons/file_type_advpl.svg +1 -0
  116. package/nuxt-app/.output/public/icons/file_type_affectscript.svg +1 -0
  117. package/nuxt-app/.output/public/icons/file_type_affinity.svg +1 -0
  118. package/nuxt-app/.output/public/icons/file_type_affinitydesigner.svg +1 -0
  119. package/nuxt-app/.output/public/icons/file_type_affinityphoto.svg +1 -0
  120. package/nuxt-app/.output/public/icons/file_type_affinitypublisher.svg +1 -0
  121. package/nuxt-app/.output/public/icons/file_type_agda.svg +1 -0
  122. package/nuxt-app/.output/public/icons/file_type_agents.svg +1 -0
  123. package/nuxt-app/.output/public/icons/file_type_ai.svg +1 -0
  124. package/nuxt-app/.output/public/icons/file_type_ai2.svg +1 -0
  125. package/nuxt-app/.output/public/icons/file_type_al.svg +1 -0
  126. package/nuxt-app/.output/public/icons/file_type_al_dal.svg +11 -0
  127. package/nuxt-app/.output/public/icons/file_type_alchemy.svg +1 -0
  128. package/nuxt-app/.output/public/icons/file_type_allcontributors.svg +1 -0
  129. package/nuxt-app/.output/public/icons/file_type_alloy.svg +1 -0
  130. package/nuxt-app/.output/public/icons/file_type_allure.svg +49 -0
  131. package/nuxt-app/.output/public/icons/file_type_angular.svg +1 -0
  132. package/nuxt-app/.output/public/icons/file_type_ansible.svg +1 -0
  133. package/nuxt-app/.output/public/icons/file_type_antlers_html.svg +1 -0
  134. package/nuxt-app/.output/public/icons/file_type_antlr.svg +1 -0
  135. package/nuxt-app/.output/public/icons/file_type_anyscript.svg +1 -0
  136. package/nuxt-app/.output/public/icons/file_type_apache.svg +1 -0
  137. package/nuxt-app/.output/public/icons/file_type_apex.svg +1 -0
  138. package/nuxt-app/.output/public/icons/file_type_api_extractor.svg +1 -0
  139. package/nuxt-app/.output/public/icons/file_type_apib.svg +1 -0
  140. package/nuxt-app/.output/public/icons/file_type_apib2.svg +1 -0
  141. package/nuxt-app/.output/public/icons/file_type_apl.svg +1 -0
  142. package/nuxt-app/.output/public/icons/file_type_applescript.svg +1 -0
  143. package/nuxt-app/.output/public/icons/file_type_appscript.svg +1 -0
  144. package/nuxt-app/.output/public/icons/file_type_appsemble.svg +1 -0
  145. package/nuxt-app/.output/public/icons/file_type_appveyor.svg +1 -0
  146. package/nuxt-app/.output/public/icons/file_type_arduino.svg +1 -0
  147. package/nuxt-app/.output/public/icons/file_type_asciidoc.svg +1 -0
  148. package/nuxt-app/.output/public/icons/file_type_aseprite.svg +1 -0
  149. package/nuxt-app/.output/public/icons/file_type_asp.svg +1 -0
  150. package/nuxt-app/.output/public/icons/file_type_aspx.svg +1 -0
  151. package/nuxt-app/.output/public/icons/file_type_assembly.svg +1 -0
  152. package/nuxt-app/.output/public/icons/file_type_assembly_script.svg +1 -0
  153. package/nuxt-app/.output/public/icons/file_type_astro.svg +1 -0
  154. package/nuxt-app/.output/public/icons/file_type_astroconfig.svg +1 -0
  155. package/nuxt-app/.output/public/icons/file_type_atom.svg +1 -0
  156. package/nuxt-app/.output/public/icons/file_type_ats.svg +1 -0
  157. package/nuxt-app/.output/public/icons/file_type_attw.svg +1 -0
  158. package/nuxt-app/.output/public/icons/file_type_audio.svg +1 -0
  159. package/nuxt-app/.output/public/icons/file_type_aurelia.svg +1 -0
  160. package/nuxt-app/.output/public/icons/file_type_autohotkey.svg +1 -0
  161. package/nuxt-app/.output/public/icons/file_type_autoit.svg +1 -0
  162. package/nuxt-app/.output/public/icons/file_type_avif.svg +1 -0
  163. package/nuxt-app/.output/public/icons/file_type_avro.svg +1 -0
  164. package/nuxt-app/.output/public/icons/file_type_awk.svg +1 -0
  165. package/nuxt-app/.output/public/icons/file_type_aws.svg +1 -0
  166. package/nuxt-app/.output/public/icons/file_type_azure.svg +1 -0
  167. package/nuxt-app/.output/public/icons/file_type_azurepipelines.svg +1 -0
  168. package/nuxt-app/.output/public/icons/file_type_babel.svg +1 -0
  169. package/nuxt-app/.output/public/icons/file_type_babel2.svg +1 -0
  170. package/nuxt-app/.output/public/icons/file_type_bak.svg +1 -0
  171. package/nuxt-app/.output/public/icons/file_type_ballerina.svg +1 -0
  172. package/nuxt-app/.output/public/icons/file_type_bat.svg +1 -0
  173. package/nuxt-app/.output/public/icons/file_type_bats.svg +1 -0
  174. package/nuxt-app/.output/public/icons/file_type_bazaar.svg +1 -0
  175. package/nuxt-app/.output/public/icons/file_type_bazel.svg +1 -0
  176. package/nuxt-app/.output/public/icons/file_type_bazel_ignore.svg +1 -0
  177. package/nuxt-app/.output/public/icons/file_type_bazel_version.svg +1 -0
  178. package/nuxt-app/.output/public/icons/file_type_befunge.svg +1 -0
  179. package/nuxt-app/.output/public/icons/file_type_bicep.svg +1 -0
  180. package/nuxt-app/.output/public/icons/file_type_biml.svg +1 -0
  181. package/nuxt-app/.output/public/icons/file_type_binary.svg +1 -0
  182. package/nuxt-app/.output/public/icons/file_type_biome.svg +1 -0
  183. package/nuxt-app/.output/public/icons/file_type_bitbucketpipeline.svg +1 -0
  184. package/nuxt-app/.output/public/icons/file_type_bithound.svg +1 -0
  185. package/nuxt-app/.output/public/icons/file_type_blade.svg +1 -0
  186. package/nuxt-app/.output/public/icons/file_type_blender.svg +1 -0
  187. package/nuxt-app/.output/public/icons/file_type_blitzbasic.svg +1 -0
  188. package/nuxt-app/.output/public/icons/file_type_bolt.svg +1 -0
  189. package/nuxt-app/.output/public/icons/file_type_bosque.svg +1 -0
  190. package/nuxt-app/.output/public/icons/file_type_bower.svg +1 -0
  191. package/nuxt-app/.output/public/icons/file_type_bower2.svg +1 -0
  192. package/nuxt-app/.output/public/icons/file_type_browserslist.svg +1 -0
  193. package/nuxt-app/.output/public/icons/file_type_bruno.svg +1 -0
  194. package/nuxt-app/.output/public/icons/file_type_buckbuild.svg +1 -0
  195. package/nuxt-app/.output/public/icons/file_type_buf.svg +1 -0
  196. package/nuxt-app/.output/public/icons/file_type_bun.svg +1 -0
  197. package/nuxt-app/.output/public/icons/file_type_bundlemon.svg +1 -0
  198. package/nuxt-app/.output/public/icons/file_type_bundler.svg +1 -0
  199. package/nuxt-app/.output/public/icons/file_type_bunfig.svg +1 -0
  200. package/nuxt-app/.output/public/icons/file_type_c.svg +1 -0
  201. package/nuxt-app/.output/public/icons/file_type_c2.svg +1 -0
  202. package/nuxt-app/.output/public/icons/file_type_c3.svg +1 -0
  203. package/nuxt-app/.output/public/icons/file_type_c_al.svg +1 -0
  204. package/nuxt-app/.output/public/icons/file_type_cabal.svg +1 -0
  205. package/nuxt-app/.output/public/icons/file_type_caddy.svg +1 -0
  206. package/nuxt-app/.output/public/icons/file_type_cake.svg +1 -0
  207. package/nuxt-app/.output/public/icons/file_type_cakephp.svg +1 -0
  208. package/nuxt-app/.output/public/icons/file_type_capacitor.svg +1 -0
  209. package/nuxt-app/.output/public/icons/file_type_capnp.svg +1 -0
  210. package/nuxt-app/.output/public/icons/file_type_cargo.svg +1 -0
  211. package/nuxt-app/.output/public/icons/file_type_casc.svg +1 -0
  212. package/nuxt-app/.output/public/icons/file_type_cddl.svg +1 -0
  213. package/nuxt-app/.output/public/icons/file_type_cert.svg +1 -0
  214. package/nuxt-app/.output/public/icons/file_type_ceylon.svg +1 -0
  215. package/nuxt-app/.output/public/icons/file_type_cf.svg +1 -0
  216. package/nuxt-app/.output/public/icons/file_type_cf2.svg +1 -0
  217. package/nuxt-app/.output/public/icons/file_type_cfc.svg +1 -0
  218. package/nuxt-app/.output/public/icons/file_type_cfc2.svg +1 -0
  219. package/nuxt-app/.output/public/icons/file_type_cfm.svg +1 -0
  220. package/nuxt-app/.output/public/icons/file_type_cfm2.svg +1 -0
  221. package/nuxt-app/.output/public/icons/file_type_changie.svg +1 -0
  222. package/nuxt-app/.output/public/icons/file_type_cheader.svg +1 -0
  223. package/nuxt-app/.output/public/icons/file_type_chef.svg +1 -0
  224. package/nuxt-app/.output/public/icons/file_type_chef_cookbook.svg +1 -0
  225. package/nuxt-app/.output/public/icons/file_type_circleci.svg +1 -0
  226. package/nuxt-app/.output/public/icons/file_type_circom.svg +1 -0
  227. package/nuxt-app/.output/public/icons/file_type_class.svg +1 -0
  228. package/nuxt-app/.output/public/icons/file_type_claude.svg +1 -0
  229. package/nuxt-app/.output/public/icons/file_type_clojure.svg +1 -0
  230. package/nuxt-app/.output/public/icons/file_type_clojurescript.svg +1 -0
  231. package/nuxt-app/.output/public/icons/file_type_cloudflare.svg +1 -0
  232. package/nuxt-app/.output/public/icons/file_type_cloudfoundry.svg +1 -0
  233. package/nuxt-app/.output/public/icons/file_type_cmake.svg +1 -0
  234. package/nuxt-app/.output/public/icons/file_type_cobol.svg +1 -0
  235. package/nuxt-app/.output/public/icons/file_type_codacy.svg +1 -0
  236. package/nuxt-app/.output/public/icons/file_type_codeclimate.svg +1 -0
  237. package/nuxt-app/.output/public/icons/file_type_codecov.svg +1 -0
  238. package/nuxt-app/.output/public/icons/file_type_codekit.svg +1 -0
  239. package/nuxt-app/.output/public/icons/file_type_codemagic.svg +1 -0
  240. package/nuxt-app/.output/public/icons/file_type_codeowners.svg +1 -0
  241. package/nuxt-app/.output/public/icons/file_type_codeql.svg +1 -0
  242. package/nuxt-app/.output/public/icons/file_type_coderabbit.svg +1 -0
  243. package/nuxt-app/.output/public/icons/file_type_coffeelint.svg +1 -0
  244. package/nuxt-app/.output/public/icons/file_type_coffeescript.svg +1 -0
  245. package/nuxt-app/.output/public/icons/file_type_commitizen.svg +1 -0
  246. package/nuxt-app/.output/public/icons/file_type_commitlint.svg +1 -0
  247. package/nuxt-app/.output/public/icons/file_type_compass.svg +1 -0
  248. package/nuxt-app/.output/public/icons/file_type_composer.svg +1 -0
  249. package/nuxt-app/.output/public/icons/file_type_conan.svg +1 -0
  250. package/nuxt-app/.output/public/icons/file_type_conda.svg +1 -0
  251. package/nuxt-app/.output/public/icons/file_type_config.svg +1 -0
  252. package/nuxt-app/.output/public/icons/file_type_confluence.svg +1 -0
  253. package/nuxt-app/.output/public/icons/file_type_copilot.svg +1 -0
  254. package/nuxt-app/.output/public/icons/file_type_coverage.svg +1 -0
  255. package/nuxt-app/.output/public/icons/file_type_coveralls.svg +1 -0
  256. package/nuxt-app/.output/public/icons/file_type_cpp.svg +1 -0
  257. package/nuxt-app/.output/public/icons/file_type_cpp2.svg +1 -0
  258. package/nuxt-app/.output/public/icons/file_type_cpp3.svg +1 -0
  259. package/nuxt-app/.output/public/icons/file_type_cppheader.svg +1 -0
  260. package/nuxt-app/.output/public/icons/file_type_craco.svg +1 -0
  261. package/nuxt-app/.output/public/icons/file_type_crowdin.svg +1 -0
  262. package/nuxt-app/.output/public/icons/file_type_crystal.svg +1 -0
  263. package/nuxt-app/.output/public/icons/file_type_csharp.svg +1 -0
  264. package/nuxt-app/.output/public/icons/file_type_csharp2.svg +1 -0
  265. package/nuxt-app/.output/public/icons/file_type_cspell.svg +1 -0
  266. package/nuxt-app/.output/public/icons/file_type_csproj.svg +1 -0
  267. package/nuxt-app/.output/public/icons/file_type_css.svg +1 -0
  268. package/nuxt-app/.output/public/icons/file_type_css2.svg +1 -0
  269. package/nuxt-app/.output/public/icons/file_type_css2map.svg +1 -0
  270. package/nuxt-app/.output/public/icons/file_type_csscomb.svg +1 -0
  271. package/nuxt-app/.output/public/icons/file_type_csslint.svg +1 -0
  272. package/nuxt-app/.output/public/icons/file_type_cssmap.svg +8 -0
  273. package/nuxt-app/.output/public/icons/file_type_cucumber.svg +1 -0
  274. package/nuxt-app/.output/public/icons/file_type_cuda.svg +1 -0
  275. package/nuxt-app/.output/public/icons/file_type_cursorrules.svg +1 -0
  276. package/nuxt-app/.output/public/icons/file_type_cvs.svg +1 -0
  277. package/nuxt-app/.output/public/icons/file_type_cypress.svg +1 -0
  278. package/nuxt-app/.output/public/icons/file_type_cypress_spec.svg +1 -0
  279. package/nuxt-app/.output/public/icons/file_type_cython.svg +1 -0
  280. package/nuxt-app/.output/public/icons/file_type_dal.svg +1 -0
  281. package/nuxt-app/.output/public/icons/file_type_darcs.svg +1 -0
  282. package/nuxt-app/.output/public/icons/file_type_dartlang.svg +1 -0
  283. package/nuxt-app/.output/public/icons/file_type_dartlang_generated.svg +1 -0
  284. package/nuxt-app/.output/public/icons/file_type_dartlang_ignore.svg +1 -0
  285. package/nuxt-app/.output/public/icons/file_type_datadog.svg +1 -0
  286. package/nuxt-app/.output/public/icons/file_type_db.svg +1 -0
  287. package/nuxt-app/.output/public/icons/file_type_debian.svg +1 -0
  288. package/nuxt-app/.output/public/icons/file_type_delphi.svg +1 -0
  289. package/nuxt-app/.output/public/icons/file_type_deno.svg +1 -0
  290. package/nuxt-app/.output/public/icons/file_type_denoify.svg +1 -0
  291. package/nuxt-app/.output/public/icons/file_type_dependabot.svg +1 -0
  292. package/nuxt-app/.output/public/icons/file_type_dependencies.svg +1 -0
  293. package/nuxt-app/.output/public/icons/file_type_design_tokens.svg +1 -0
  294. package/nuxt-app/.output/public/icons/file_type_devcontainer.svg +1 -0
  295. package/nuxt-app/.output/public/icons/file_type_devvit.svg +1 -0
  296. package/nuxt-app/.output/public/icons/file_type_dhall.svg +1 -0
  297. package/nuxt-app/.output/public/icons/file_type_diff.svg +1 -0
  298. package/nuxt-app/.output/public/icons/file_type_django.svg +1 -0
  299. package/nuxt-app/.output/public/icons/file_type_dlang.svg +1 -0
  300. package/nuxt-app/.output/public/icons/file_type_docker.svg +1 -0
  301. package/nuxt-app/.output/public/icons/file_type_docker2.svg +1 -0
  302. package/nuxt-app/.output/public/icons/file_type_dockertest.svg +1 -0
  303. package/nuxt-app/.output/public/icons/file_type_dockertest2.svg +1 -0
  304. package/nuxt-app/.output/public/icons/file_type_docpad.svg +1 -0
  305. package/nuxt-app/.output/public/icons/file_type_docusaurus.svg +1 -0
  306. package/nuxt-app/.output/public/icons/file_type_docz.svg +1 -0
  307. package/nuxt-app/.output/public/icons/file_type_dojo.svg +1 -0
  308. package/nuxt-app/.output/public/icons/file_type_doppler.svg +1 -0
  309. package/nuxt-app/.output/public/icons/file_type_dotenv.svg +1 -0
  310. package/nuxt-app/.output/public/icons/file_type_dotjs.svg +1 -0
  311. package/nuxt-app/.output/public/icons/file_type_doxygen.svg +1 -0
  312. package/nuxt-app/.output/public/icons/file_type_drawio.svg +1 -0
  313. package/nuxt-app/.output/public/icons/file_type_drone.svg +1 -0
  314. package/nuxt-app/.output/public/icons/file_type_drools.svg +1 -0
  315. package/nuxt-app/.output/public/icons/file_type_dtd.svg +1 -0
  316. package/nuxt-app/.output/public/icons/file_type_dune.svg +1 -0
  317. package/nuxt-app/.output/public/icons/file_type_dustjs.svg +1 -0
  318. package/nuxt-app/.output/public/icons/file_type_dvc.svg +1 -0
  319. package/nuxt-app/.output/public/icons/file_type_dylan.svg +1 -0
  320. package/nuxt-app/.output/public/icons/file_type_earthly.svg +1 -0
  321. package/nuxt-app/.output/public/icons/file_type_eas-metadata.svg +1 -0
  322. package/nuxt-app/.output/public/icons/file_type_edge.svg +1 -0
  323. package/nuxt-app/.output/public/icons/file_type_edge2.svg +1 -0
  324. package/nuxt-app/.output/public/icons/file_type_editorconfig.svg +1 -0
  325. package/nuxt-app/.output/public/icons/file_type_eex.svg +1 -0
  326. package/nuxt-app/.output/public/icons/file_type_ejs.svg +1 -0
  327. package/nuxt-app/.output/public/icons/file_type_elastic.svg +1 -0
  328. package/nuxt-app/.output/public/icons/file_type_elasticbeanstalk.svg +1 -0
  329. package/nuxt-app/.output/public/icons/file_type_electron.svg +1 -0
  330. package/nuxt-app/.output/public/icons/file_type_eleventy.svg +1 -0
  331. package/nuxt-app/.output/public/icons/file_type_eleventy2.svg +1 -0
  332. package/nuxt-app/.output/public/icons/file_type_elixir.svg +1 -0
  333. package/nuxt-app/.output/public/icons/file_type_elm.svg +1 -0
  334. package/nuxt-app/.output/public/icons/file_type_elm2.svg +1 -0
  335. package/nuxt-app/.output/public/icons/file_type_emacs.svg +1 -0
  336. package/nuxt-app/.output/public/icons/file_type_ember.svg +1 -0
  337. package/nuxt-app/.output/public/icons/file_type_ensime.svg +1 -0
  338. package/nuxt-app/.output/public/icons/file_type_eps.svg +1 -0
  339. package/nuxt-app/.output/public/icons/file_type_epub.svg +1 -0
  340. package/nuxt-app/.output/public/icons/file_type_erb.svg +1 -0
  341. package/nuxt-app/.output/public/icons/file_type_erlang.svg +1 -0
  342. package/nuxt-app/.output/public/icons/file_type_erlang2.svg +1 -0
  343. package/nuxt-app/.output/public/icons/file_type_esbuild.svg +1 -0
  344. package/nuxt-app/.output/public/icons/file_type_eslint.svg +1 -0
  345. package/nuxt-app/.output/public/icons/file_type_eslint2.svg +1 -0
  346. package/nuxt-app/.output/public/icons/file_type_esphome.svg +1 -0
  347. package/nuxt-app/.output/public/icons/file_type_excalidraw.svg +1 -0
  348. package/nuxt-app/.output/public/icons/file_type_excel.svg +1 -0
  349. package/nuxt-app/.output/public/icons/file_type_excel2.svg +1 -0
  350. package/nuxt-app/.output/public/icons/file_type_expo.svg +1 -0
  351. package/nuxt-app/.output/public/icons/file_type_falcon.svg +1 -0
  352. package/nuxt-app/.output/public/icons/file_type_fantasticon.svg +1 -0
  353. package/nuxt-app/.output/public/icons/file_type_fastly.svg +1 -0
  354. package/nuxt-app/.output/public/icons/file_type_fauna.svg +1 -0
  355. package/nuxt-app/.output/public/icons/file_type_favicon.svg +1 -0
  356. package/nuxt-app/.output/public/icons/file_type_fbx.svg +1 -0
  357. package/nuxt-app/.output/public/icons/file_type_firebase.svg +1 -0
  358. package/nuxt-app/.output/public/icons/file_type_firebasehosting.svg +1 -0
  359. package/nuxt-app/.output/public/icons/file_type_firebasestorage.svg +1 -0
  360. package/nuxt-app/.output/public/icons/file_type_firestore.svg +1 -0
  361. package/nuxt-app/.output/public/icons/file_type_fitbit.svg +1 -0
  362. package/nuxt-app/.output/public/icons/file_type_fla.svg +1 -0
  363. package/nuxt-app/.output/public/icons/file_type_flareact.svg +1 -0
  364. package/nuxt-app/.output/public/icons/file_type_flash.svg +1 -0
  365. package/nuxt-app/.output/public/icons/file_type_floobits.svg +1 -0
  366. package/nuxt-app/.output/public/icons/file_type_flow.svg +1 -0
  367. package/nuxt-app/.output/public/icons/file_type_flutter.svg +1 -0
  368. package/nuxt-app/.output/public/icons/file_type_flutter_package.svg +1 -0
  369. package/nuxt-app/.output/public/icons/file_type_flyio.svg +1 -0
  370. package/nuxt-app/.output/public/icons/file_type_font.svg +1 -0
  371. package/nuxt-app/.output/public/icons/file_type_formkit.svg +1 -0
  372. package/nuxt-app/.output/public/icons/file_type_fortran.svg +1 -0
  373. package/nuxt-app/.output/public/icons/file_type_fossa.svg +1 -0
  374. package/nuxt-app/.output/public/icons/file_type_fossil.svg +1 -0
  375. package/nuxt-app/.output/public/icons/file_type_freemarker.svg +1 -0
  376. package/nuxt-app/.output/public/icons/file_type_frontcommerce.svg +1 -0
  377. package/nuxt-app/.output/public/icons/file_type_fsharp.svg +1 -0
  378. package/nuxt-app/.output/public/icons/file_type_fsharp2.svg +1 -0
  379. package/nuxt-app/.output/public/icons/file_type_fsproj.svg +1 -0
  380. package/nuxt-app/.output/public/icons/file_type_fthtml.svg +1 -0
  381. package/nuxt-app/.output/public/icons/file_type_funding.svg +1 -0
  382. package/nuxt-app/.output/public/icons/file_type_fusebox.svg +1 -0
  383. package/nuxt-app/.output/public/icons/file_type_galen.svg +1 -0
  384. package/nuxt-app/.output/public/icons/file_type_galen2.svg +1 -0
  385. package/nuxt-app/.output/public/icons/file_type_gamemaker.svg +1 -0
  386. package/nuxt-app/.output/public/icons/file_type_gamemaker2.svg +1 -0
  387. package/nuxt-app/.output/public/icons/file_type_gamemaker81.svg +1 -0
  388. package/nuxt-app/.output/public/icons/file_type_gatsby.svg +1 -0
  389. package/nuxt-app/.output/public/icons/file_type_gcloud.svg +1 -0
  390. package/nuxt-app/.output/public/icons/file_type_gcode.svg +1 -0
  391. package/nuxt-app/.output/public/icons/file_type_gdscript.svg +1 -0
  392. package/nuxt-app/.output/public/icons/file_type_gduid.svg +1 -0
  393. package/nuxt-app/.output/public/icons/file_type_gemini.svg +1 -0
  394. package/nuxt-app/.output/public/icons/file_type_genstat.svg +1 -0
  395. package/nuxt-app/.output/public/icons/file_type_geojson.svg +1 -0
  396. package/nuxt-app/.output/public/icons/file_type_gimp.svg +1 -0
  397. package/nuxt-app/.output/public/icons/file_type_git.svg +1 -0
  398. package/nuxt-app/.output/public/icons/file_type_git2.svg +1 -0
  399. package/nuxt-app/.output/public/icons/file_type_gitlab.svg +1 -0
  400. package/nuxt-app/.output/public/icons/file_type_gitpod.svg +1 -0
  401. package/nuxt-app/.output/public/icons/file_type_gleam.svg +1 -0
  402. package/nuxt-app/.output/public/icons/file_type_gleamconfig.svg +1 -0
  403. package/nuxt-app/.output/public/icons/file_type_glide.svg +1 -0
  404. package/nuxt-app/.output/public/icons/file_type_glimmer.svg +1 -0
  405. package/nuxt-app/.output/public/icons/file_type_glitter.svg +1 -0
  406. package/nuxt-app/.output/public/icons/file_type_glsl.svg +1 -0
  407. package/nuxt-app/.output/public/icons/file_type_gltf.svg +1 -0
  408. package/nuxt-app/.output/public/icons/file_type_glyphs.svg +1 -0
  409. package/nuxt-app/.output/public/icons/file_type_gnu.svg +1 -0
  410. package/nuxt-app/.output/public/icons/file_type_gnuplot.svg +1 -0
  411. package/nuxt-app/.output/public/icons/file_type_go.svg +1 -0
  412. package/nuxt-app/.output/public/icons/file_type_go_aqua.svg +1 -0
  413. package/nuxt-app/.output/public/icons/file_type_go_black.svg +1 -0
  414. package/nuxt-app/.output/public/icons/file_type_go_fuchsia.svg +1 -0
  415. package/nuxt-app/.output/public/icons/file_type_go_gopher.svg +1 -0
  416. package/nuxt-app/.output/public/icons/file_type_go_lightblue.svg +1 -0
  417. package/nuxt-app/.output/public/icons/file_type_go_package.svg +1 -0
  418. package/nuxt-app/.output/public/icons/file_type_go_white.svg +1 -0
  419. package/nuxt-app/.output/public/icons/file_type_go_work.svg +1 -0
  420. package/nuxt-app/.output/public/icons/file_type_go_yellow.svg +1 -0
  421. package/nuxt-app/.output/public/icons/file_type_goctl.svg +1 -0
  422. package/nuxt-app/.output/public/icons/file_type_godot.svg +1 -0
  423. package/nuxt-app/.output/public/icons/file_type_gpg.svg +1 -0
  424. package/nuxt-app/.output/public/icons/file_type_gradle.svg +1 -0
  425. package/nuxt-app/.output/public/icons/file_type_gradle2.svg +1 -0
  426. package/nuxt-app/.output/public/icons/file_type_grain.svg +1 -0
  427. package/nuxt-app/.output/public/icons/file_type_graphql.svg +1 -0
  428. package/nuxt-app/.output/public/icons/file_type_graphql_config.svg +1 -0
  429. package/nuxt-app/.output/public/icons/file_type_graphviz.svg +1 -0
  430. package/nuxt-app/.output/public/icons/file_type_greenkeeper.svg +1 -0
  431. package/nuxt-app/.output/public/icons/file_type_gridsome.svg +1 -0
  432. package/nuxt-app/.output/public/icons/file_type_grit.svg +1 -0
  433. package/nuxt-app/.output/public/icons/file_type_groovy.svg +1 -0
  434. package/nuxt-app/.output/public/icons/file_type_groovy2.svg +1 -0
  435. package/nuxt-app/.output/public/icons/file_type_grunt.svg +1 -0
  436. package/nuxt-app/.output/public/icons/file_type_gulp.svg +1 -0
  437. package/nuxt-app/.output/public/icons/file_type_haml.svg +1 -0
  438. package/nuxt-app/.output/public/icons/file_type_handlebars.svg +1 -0
  439. package/nuxt-app/.output/public/icons/file_type_handlebars2.svg +1 -0
  440. package/nuxt-app/.output/public/icons/file_type_harbour.svg +1 -0
  441. package/nuxt-app/.output/public/icons/file_type_hardhat.svg +1 -0
  442. package/nuxt-app/.output/public/icons/file_type_hashicorp.svg +1 -0
  443. package/nuxt-app/.output/public/icons/file_type_haskell.svg +1 -0
  444. package/nuxt-app/.output/public/icons/file_type_haskell2.svg +1 -0
  445. package/nuxt-app/.output/public/icons/file_type_haxe.svg +1 -0
  446. package/nuxt-app/.output/public/icons/file_type_haxecheckstyle.svg +1 -0
  447. package/nuxt-app/.output/public/icons/file_type_haxedevelop.svg +1 -0
  448. package/nuxt-app/.output/public/icons/file_type_helix.svg +1 -0
  449. package/nuxt-app/.output/public/icons/file_type_helm.svg +1 -0
  450. package/nuxt-app/.output/public/icons/file_type_histoire.svg +1 -0
  451. package/nuxt-app/.output/public/icons/file_type_hjson.svg +1 -0
  452. package/nuxt-app/.output/public/icons/file_type_hlsl.svg +1 -0
  453. package/nuxt-app/.output/public/icons/file_type_homeassistant.svg +1 -0
  454. package/nuxt-app/.output/public/icons/file_type_horusec.svg +1 -0
  455. package/nuxt-app/.output/public/icons/file_type_host.svg +1 -0
  456. package/nuxt-app/.output/public/icons/file_type_html.svg +1 -0
  457. package/nuxt-app/.output/public/icons/file_type_htmlhint.svg +1 -0
  458. package/nuxt-app/.output/public/icons/file_type_htmlvalidate.svg +1 -0
  459. package/nuxt-app/.output/public/icons/file_type_http.svg +1 -0
  460. package/nuxt-app/.output/public/icons/file_type_hugo.svg +1 -0
  461. package/nuxt-app/.output/public/icons/file_type_humanstxt.svg +1 -0
  462. package/nuxt-app/.output/public/icons/file_type_hunspell.svg +1 -0
  463. package/nuxt-app/.output/public/icons/file_type_husky.svg +1 -0
  464. package/nuxt-app/.output/public/icons/file_type_hy.svg +1 -0
  465. package/nuxt-app/.output/public/icons/file_type_hygen.svg +1 -0
  466. package/nuxt-app/.output/public/icons/file_type_hypr.svg +1 -0
  467. package/nuxt-app/.output/public/icons/file_type_icl.svg +1 -0
  468. package/nuxt-app/.output/public/icons/file_type_idris.svg +1 -0
  469. package/nuxt-app/.output/public/icons/file_type_idrisbin.svg +1 -0
  470. package/nuxt-app/.output/public/icons/file_type_idrispkg.svg +1 -0
  471. package/nuxt-app/.output/public/icons/file_type_image.svg +1 -0
  472. package/nuxt-app/.output/public/icons/file_type_imba.svg +1 -0
  473. package/nuxt-app/.output/public/icons/file_type_inc.svg +1 -0
  474. package/nuxt-app/.output/public/icons/file_type_infopath.svg +1 -0
  475. package/nuxt-app/.output/public/icons/file_type_informix.svg +1 -0
  476. package/nuxt-app/.output/public/icons/file_type_ini.svg +1 -0
  477. package/nuxt-app/.output/public/icons/file_type_ink.svg +1 -0
  478. package/nuxt-app/.output/public/icons/file_type_innosetup.svg +1 -0
  479. package/nuxt-app/.output/public/icons/file_type_io.svg +1 -0
  480. package/nuxt-app/.output/public/icons/file_type_iodine.svg +1 -0
  481. package/nuxt-app/.output/public/icons/file_type_ionic.svg +1 -0
  482. package/nuxt-app/.output/public/icons/file_type_jake.svg +1 -0
  483. package/nuxt-app/.output/public/icons/file_type_janet.svg +1 -0
  484. package/nuxt-app/.output/public/icons/file_type_jar.svg +1 -0
  485. package/nuxt-app/.output/public/icons/file_type_jasmine.svg +1 -0
  486. package/nuxt-app/.output/public/icons/file_type_java.svg +1 -0
  487. package/nuxt-app/.output/public/icons/file_type_jbuilder.svg +1 -0
  488. package/nuxt-app/.output/public/icons/file_type_jekyll.svg +1 -0
  489. package/nuxt-app/.output/public/icons/file_type_jenkins.svg +1 -0
  490. package/nuxt-app/.output/public/icons/file_type_jest.svg +1 -0
  491. package/nuxt-app/.output/public/icons/file_type_jest_snapshot.svg +1 -0
  492. package/nuxt-app/.output/public/icons/file_type_jetbrains.svg +1 -0
  493. package/nuxt-app/.output/public/icons/file_type_jinja.svg +1 -0
  494. package/nuxt-app/.output/public/icons/file_type_jpm.svg +1 -0
  495. package/nuxt-app/.output/public/icons/file_type_js.svg +1 -0
  496. package/nuxt-app/.output/public/icons/file_type_js_official.svg +1 -0
  497. package/nuxt-app/.output/public/icons/file_type_jsbeautify.svg +1 -0
  498. package/nuxt-app/.output/public/icons/file_type_jsconfig.svg +1 -0
  499. package/nuxt-app/.output/public/icons/file_type_jscpd.svg +1 -0
  500. package/nuxt-app/.output/public/icons/file_type_jshint.svg +1 -0
  501. package/nuxt-app/.output/public/icons/file_type_jsmap.svg +1 -0
  502. package/nuxt-app/.output/public/icons/file_type_json.svg +1 -0
  503. package/nuxt-app/.output/public/icons/file_type_json2.svg +1 -0
  504. package/nuxt-app/.output/public/icons/file_type_json5.svg +1 -0
  505. package/nuxt-app/.output/public/icons/file_type_json_official.svg +1 -0
  506. package/nuxt-app/.output/public/icons/file_type_json_schema.svg +1 -0
  507. package/nuxt-app/.output/public/icons/file_type_jsonld.svg +1 -0
  508. package/nuxt-app/.output/public/icons/file_type_jsonnet.svg +1 -0
  509. package/nuxt-app/.output/public/icons/file_type_jsp.svg +1 -0
  510. package/nuxt-app/.output/public/icons/file_type_jsr.svg +1 -0
  511. package/nuxt-app/.output/public/icons/file_type_jss.svg +1 -0
  512. package/nuxt-app/.output/public/icons/file_type_juice.svg +1 -0
  513. package/nuxt-app/.output/public/icons/file_type_julia.svg +1 -0
  514. package/nuxt-app/.output/public/icons/file_type_julia2.svg +1 -0
  515. package/nuxt-app/.output/public/icons/file_type_jupyter.svg +1 -0
  516. package/nuxt-app/.output/public/icons/file_type_just.svg +1 -0
  517. package/nuxt-app/.output/public/icons/file_type_k.svg +1 -0
  518. package/nuxt-app/.output/public/icons/file_type_karma.svg +1 -0
  519. package/nuxt-app/.output/public/icons/file_type_key.svg +1 -0
  520. package/nuxt-app/.output/public/icons/file_type_kitchenci.svg +1 -0
  521. package/nuxt-app/.output/public/icons/file_type_kite.svg +1 -0
  522. package/nuxt-app/.output/public/icons/file_type_kivy.svg +1 -0
  523. package/nuxt-app/.output/public/icons/file_type_knip.svg +1 -0
  524. package/nuxt-app/.output/public/icons/file_type_kos.svg +1 -0
  525. package/nuxt-app/.output/public/icons/file_type_kotlin.svg +1 -0
  526. package/nuxt-app/.output/public/icons/file_type_kusto.svg +1 -0
  527. package/nuxt-app/.output/public/icons/file_type_language_configuration.svg +1 -0
  528. package/nuxt-app/.output/public/icons/file_type_lark.svg +1 -0
  529. package/nuxt-app/.output/public/icons/file_type_latino.svg +1 -0
  530. package/nuxt-app/.output/public/icons/file_type_layout.svg +1 -0
  531. package/nuxt-app/.output/public/icons/file_type_lean.svg +1 -0
  532. package/nuxt-app/.output/public/icons/file_type_leanconfig.svg +1 -0
  533. package/nuxt-app/.output/public/icons/file_type_lefthook.svg +1 -0
  534. package/nuxt-app/.output/public/icons/file_type_lemon.svg +1 -0
  535. package/nuxt-app/.output/public/icons/file_type_lerna.svg +1 -0
  536. package/nuxt-app/.output/public/icons/file_type_less.svg +1 -0
  537. package/nuxt-app/.output/public/icons/file_type_lex.svg +1 -0
  538. package/nuxt-app/.output/public/icons/file_type_liara.svg +1 -0
  539. package/nuxt-app/.output/public/icons/file_type_libreoffice_base.svg +1 -0
  540. package/nuxt-app/.output/public/icons/file_type_libreoffice_calc.svg +1 -0
  541. package/nuxt-app/.output/public/icons/file_type_libreoffice_draw.svg +1 -0
  542. package/nuxt-app/.output/public/icons/file_type_libreoffice_impress.svg +1 -0
  543. package/nuxt-app/.output/public/icons/file_type_libreoffice_math.svg +1 -0
  544. package/nuxt-app/.output/public/icons/file_type_libreoffice_writer.svg +1 -0
  545. package/nuxt-app/.output/public/icons/file_type_license.svg +1 -0
  546. package/nuxt-app/.output/public/icons/file_type_licensebat.svg +1 -0
  547. package/nuxt-app/.output/public/icons/file_type_light_actionscript2.svg +1 -0
  548. package/nuxt-app/.output/public/icons/file_type_light_ada.svg +1 -0
  549. package/nuxt-app/.output/public/icons/file_type_light_agda.svg +1 -0
  550. package/nuxt-app/.output/public/icons/file_type_light_agents.svg +1 -0
  551. package/nuxt-app/.output/public/icons/file_type_light_apl.svg +1 -0
  552. package/nuxt-app/.output/public/icons/file_type_light_astro.svg +1 -0
  553. package/nuxt-app/.output/public/icons/file_type_light_astroconfig.svg +1 -0
  554. package/nuxt-app/.output/public/icons/file_type_light_babel.svg +1 -0
  555. package/nuxt-app/.output/public/icons/file_type_light_babel2.svg +1 -0
  556. package/nuxt-app/.output/public/icons/file_type_light_cabal.svg +1 -0
  557. package/nuxt-app/.output/public/icons/file_type_light_circleci.svg +1 -0
  558. package/nuxt-app/.output/public/icons/file_type_light_cloudfoundry.svg +1 -0
  559. package/nuxt-app/.output/public/icons/file_type_light_codacy.svg +1 -0
  560. package/nuxt-app/.output/public/icons/file_type_light_codeclimate.svg +1 -0
  561. package/nuxt-app/.output/public/icons/file_type_light_codeowners.svg +1 -0
  562. package/nuxt-app/.output/public/icons/file_type_light_config.svg +1 -0
  563. package/nuxt-app/.output/public/icons/file_type_light_copilot.svg +1 -0
  564. package/nuxt-app/.output/public/icons/file_type_light_crystal.svg +1 -0
  565. package/nuxt-app/.output/public/icons/file_type_light_cypress.svg +1 -0
  566. package/nuxt-app/.output/public/icons/file_type_light_cypress_spec.svg +1 -0
  567. package/nuxt-app/.output/public/icons/file_type_light_db.svg +1 -0
  568. package/nuxt-app/.output/public/icons/file_type_light_dhall.svg +1 -0
  569. package/nuxt-app/.output/public/icons/file_type_light_docpad.svg +1 -0
  570. package/nuxt-app/.output/public/icons/file_type_light_drone.svg +1 -0
  571. package/nuxt-app/.output/public/icons/file_type_light_eas-metadata.svg +1 -0
  572. package/nuxt-app/.output/public/icons/file_type_light_eleventy.svg +1 -0
  573. package/nuxt-app/.output/public/icons/file_type_light_eleventy2.svg +1 -0
  574. package/nuxt-app/.output/public/icons/file_type_light_esphome.svg +1 -0
  575. package/nuxt-app/.output/public/icons/file_type_light_expo.svg +1 -0
  576. package/nuxt-app/.output/public/icons/file_type_light_firebasehosting.svg +1 -0
  577. package/nuxt-app/.output/public/icons/file_type_light_fla.svg +1 -0
  578. package/nuxt-app/.output/public/icons/file_type_light_font.svg +1 -0
  579. package/nuxt-app/.output/public/icons/file_type_light_gamemaker2.svg +1 -0
  580. package/nuxt-app/.output/public/icons/file_type_light_gradle.svg +1 -0
  581. package/nuxt-app/.output/public/icons/file_type_light_hashicorp.svg +1 -0
  582. package/nuxt-app/.output/public/icons/file_type_light_hjson.svg +1 -0
  583. package/nuxt-app/.output/public/icons/file_type_light_ini.svg +1 -0
  584. package/nuxt-app/.output/public/icons/file_type_light_io.svg +1 -0
  585. package/nuxt-app/.output/public/icons/file_type_light_js.svg +1 -0
  586. package/nuxt-app/.output/public/icons/file_type_light_jsconfig.svg +1 -0
  587. package/nuxt-app/.output/public/icons/file_type_light_jsmap.svg +1 -0
  588. package/nuxt-app/.output/public/icons/file_type_light_json.svg +1 -0
  589. package/nuxt-app/.output/public/icons/file_type_light_json5.svg +1 -0
  590. package/nuxt-app/.output/public/icons/file_type_light_json_schema.svg +1 -0
  591. package/nuxt-app/.output/public/icons/file_type_light_jsonld.svg +1 -0
  592. package/nuxt-app/.output/public/icons/file_type_light_kite.svg +1 -0
  593. package/nuxt-app/.output/public/icons/file_type_light_lark.svg +1 -0
  594. package/nuxt-app/.output/public/icons/file_type_light_lean.svg +1 -0
  595. package/nuxt-app/.output/public/icons/file_type_light_leanconfig.svg +1 -0
  596. package/nuxt-app/.output/public/icons/file_type_light_lerna.svg +1 -0
  597. package/nuxt-app/.output/public/icons/file_type_light_mailing.svg +1 -0
  598. package/nuxt-app/.output/public/icons/file_type_light_markuplint.svg +1 -0
  599. package/nuxt-app/.output/public/icons/file_type_light_mcp.svg +1 -0
  600. package/nuxt-app/.output/public/icons/file_type_light_mdx-components.svg +1 -0
  601. package/nuxt-app/.output/public/icons/file_type_light_mdx.svg +1 -0
  602. package/nuxt-app/.output/public/icons/file_type_light_mlang.svg +1 -0
  603. package/nuxt-app/.output/public/icons/file_type_light_mustache.svg +1 -0
  604. package/nuxt-app/.output/public/icons/file_type_light_mypy.svg +1 -0
  605. package/nuxt-app/.output/public/icons/file_type_light_neo4j.svg +1 -0
  606. package/nuxt-app/.output/public/icons/file_type_light_netlify.svg +1 -0
  607. package/nuxt-app/.output/public/icons/file_type_light_next.svg +1 -0
  608. package/nuxt-app/.output/public/icons/file_type_light_nim.svg +1 -0
  609. package/nuxt-app/.output/public/icons/file_type_light_nx.svg +1 -0
  610. package/nuxt-app/.output/public/icons/file_type_light_objidconfig.svg +1 -0
  611. package/nuxt-app/.output/public/icons/file_type_light_openHAB.svg +1 -0
  612. package/nuxt-app/.output/public/icons/file_type_light_oxc.svg +1 -0
  613. package/nuxt-app/.output/public/icons/file_type_light_packship.svg +4 -0
  614. package/nuxt-app/.output/public/icons/file_type_light_pcl.svg +1 -0
  615. package/nuxt-app/.output/public/icons/file_type_light_pnpm.svg +1 -0
  616. package/nuxt-app/.output/public/icons/file_type_light_prettier.svg +1 -0
  617. package/nuxt-app/.output/public/icons/file_type_light_prisma.svg +1 -0
  618. package/nuxt-app/.output/public/icons/file_type_light_purescript.svg +1 -0
  619. package/nuxt-app/.output/public/icons/file_type_light_quasar.svg +1 -0
  620. package/nuxt-app/.output/public/icons/file_type_light_railway.svg +1 -0
  621. package/nuxt-app/.output/public/icons/file_type_light_raku.svg +1 -0
  622. package/nuxt-app/.output/public/icons/file_type_light_razzle.svg +1 -0
  623. package/nuxt-app/.output/public/icons/file_type_light_reactrouter.svg +1 -0
  624. package/nuxt-app/.output/public/icons/file_type_light_rehype.svg +1 -0
  625. package/nuxt-app/.output/public/icons/file_type_light_remark.svg +1 -0
  626. package/nuxt-app/.output/public/icons/file_type_light_replit.svg +1 -0
  627. package/nuxt-app/.output/public/icons/file_type_light_retext.svg +1 -0
  628. package/nuxt-app/.output/public/icons/file_type_light_rolldown.svg +1 -0
  629. package/nuxt-app/.output/public/icons/file_type_light_rome.svg +1 -0
  630. package/nuxt-app/.output/public/icons/file_type_light_rubocop.svg +1 -0
  631. package/nuxt-app/.output/public/icons/file_type_light_rust.svg +1 -0
  632. package/nuxt-app/.output/public/icons/file_type_light_rust_toolchain.svg +1 -0
  633. package/nuxt-app/.output/public/icons/file_type_light_safetensors.svg +1 -0
  634. package/nuxt-app/.output/public/icons/file_type_light_shadcn.svg +1 -0
  635. package/nuxt-app/.output/public/icons/file_type_light_shaderlab.svg +1 -0
  636. package/nuxt-app/.output/public/icons/file_type_light_skill.svg +1 -0
  637. package/nuxt-app/.output/public/icons/file_type_light_solidity.svg +1 -0
  638. package/nuxt-app/.output/public/icons/file_type_light_spin.svg +1 -0
  639. package/nuxt-app/.output/public/icons/file_type_light_stylelint.svg +1 -0
  640. package/nuxt-app/.output/public/icons/file_type_light_stylus.svg +1 -0
  641. package/nuxt-app/.output/public/icons/file_type_light_symfony.svg +1 -0
  642. package/nuxt-app/.output/public/icons/file_type_light_systemd.svg +1 -0
  643. package/nuxt-app/.output/public/icons/file_type_light_systemverilog.svg +1 -0
  644. package/nuxt-app/.output/public/icons/file_type_light_testcafe.svg +1 -0
  645. package/nuxt-app/.output/public/icons/file_type_light_testjs.svg +1 -0
  646. package/nuxt-app/.output/public/icons/file_type_light_tex.svg +1 -0
  647. package/nuxt-app/.output/public/icons/file_type_light_tm.svg +141 -0
  648. package/nuxt-app/.output/public/icons/file_type_light_tmux.svg +1 -0
  649. package/nuxt-app/.output/public/icons/file_type_light_todo.svg +1 -0
  650. package/nuxt-app/.output/public/icons/file_type_light_toit.svg +1 -0
  651. package/nuxt-app/.output/public/icons/file_type_light_toml.svg +1 -0
  652. package/nuxt-app/.output/public/icons/file_type_light_toon.svg +1 -0
  653. package/nuxt-app/.output/public/icons/file_type_light_tree.svg +1 -0
  654. package/nuxt-app/.output/public/icons/file_type_light_turbo.svg +1 -0
  655. package/nuxt-app/.output/public/icons/file_type_light_unibeautify.svg +1 -0
  656. package/nuxt-app/.output/public/icons/file_type_light_vash.svg +1 -0
  657. package/nuxt-app/.output/public/icons/file_type_light_vercel.svg +1 -0
  658. package/nuxt-app/.output/public/icons/file_type_light_vite.svg +1 -0
  659. package/nuxt-app/.output/public/icons/file_type_light_vitest.svg +1 -0
  660. package/nuxt-app/.output/public/icons/file_type_light_vsix.svg +1 -0
  661. package/nuxt-app/.output/public/icons/file_type_light_vsixmanifest.svg +1 -0
  662. package/nuxt-app/.output/public/icons/file_type_light_xfl.svg +1 -0
  663. package/nuxt-app/.output/public/icons/file_type_light_xorg.svg +1 -0
  664. package/nuxt-app/.output/public/icons/file_type_light_yaml.svg +1 -0
  665. package/nuxt-app/.output/public/icons/file_type_light_yaml_official.svg +1 -0
  666. package/nuxt-app/.output/public/icons/file_type_lighthouse.svg +1 -0
  667. package/nuxt-app/.output/public/icons/file_type_lilypond.svg +1 -0
  668. package/nuxt-app/.output/public/icons/file_type_lime.svg +1 -0
  669. package/nuxt-app/.output/public/icons/file_type_lintstagedrc.svg +1 -0
  670. package/nuxt-app/.output/public/icons/file_type_liquid.svg +1 -0
  671. package/nuxt-app/.output/public/icons/file_type_lisp.svg +1 -0
  672. package/nuxt-app/.output/public/icons/file_type_livescript.svg +1 -0
  673. package/nuxt-app/.output/public/icons/file_type_lnk.svg +1 -0
  674. package/nuxt-app/.output/public/icons/file_type_locale.svg +1 -0
  675. package/nuxt-app/.output/public/icons/file_type_log.svg +1 -0
  676. package/nuxt-app/.output/public/icons/file_type_lolcode.svg +1 -0
  677. package/nuxt-app/.output/public/icons/file_type_lsl.svg +1 -0
  678. package/nuxt-app/.output/public/icons/file_type_lua.svg +1 -0
  679. package/nuxt-app/.output/public/icons/file_type_luau.svg +1 -0
  680. package/nuxt-app/.output/public/icons/file_type_lync.svg +1 -0
  681. package/nuxt-app/.output/public/icons/file_type_mailing.svg +1 -0
  682. package/nuxt-app/.output/public/icons/file_type_manifest.svg +1 -0
  683. package/nuxt-app/.output/public/icons/file_type_manifest_bak.svg +1 -0
  684. package/nuxt-app/.output/public/icons/file_type_manifest_skip.svg +1 -0
  685. package/nuxt-app/.output/public/icons/file_type_map.svg +1 -0
  686. package/nuxt-app/.output/public/icons/file_type_mariadb.svg +1 -0
  687. package/nuxt-app/.output/public/icons/file_type_markdown.svg +65 -0
  688. package/nuxt-app/.output/public/icons/file_type_markdownlint.svg +1 -0
  689. package/nuxt-app/.output/public/icons/file_type_markdownlint_ignore.svg +1 -0
  690. package/nuxt-app/.output/public/icons/file_type_marko.svg +1 -0
  691. package/nuxt-app/.output/public/icons/file_type_markojs.svg +1 -0
  692. package/nuxt-app/.output/public/icons/file_type_markuplint.svg +1 -0
  693. package/nuxt-app/.output/public/icons/file_type_master-co.svg +1 -0
  694. package/nuxt-app/.output/public/icons/file_type_matlab.svg +1 -0
  695. package/nuxt-app/.output/public/icons/file_type_maven.svg +1 -0
  696. package/nuxt-app/.output/public/icons/file_type_maxscript.svg +1 -0
  697. package/nuxt-app/.output/public/icons/file_type_maya.svg +1 -0
  698. package/nuxt-app/.output/public/icons/file_type_mcp.svg +1 -0
  699. package/nuxt-app/.output/public/icons/file_type_mdx-components.svg +1 -0
  700. package/nuxt-app/.output/public/icons/file_type_mdx.svg +1 -0
  701. package/nuxt-app/.output/public/icons/file_type_mdxlint.svg +1 -0
  702. package/nuxt-app/.output/public/icons/file_type_mediawiki.svg +1 -0
  703. package/nuxt-app/.output/public/icons/file_type_mercurial.svg +1 -0
  704. package/nuxt-app/.output/public/icons/file_type_mermaid.svg +1 -0
  705. package/nuxt-app/.output/public/icons/file_type_meson.svg +1 -0
  706. package/nuxt-app/.output/public/icons/file_type_metal.svg +1 -0
  707. package/nuxt-app/.output/public/icons/file_type_meteor.svg +1 -0
  708. package/nuxt-app/.output/public/icons/file_type_minecraft.svg +1 -0
  709. package/nuxt-app/.output/public/icons/file_type_mise.svg +1 -0
  710. package/nuxt-app/.output/public/icons/file_type_mivascript.svg +1 -0
  711. package/nuxt-app/.output/public/icons/file_type_mjml.svg +1 -0
  712. package/nuxt-app/.output/public/icons/file_type_mlang.svg +1 -0
  713. package/nuxt-app/.output/public/icons/file_type_mocha.svg +1 -0
  714. package/nuxt-app/.output/public/icons/file_type_modernizr.svg +1 -0
  715. package/nuxt-app/.output/public/icons/file_type_mojo.svg +1 -0
  716. package/nuxt-app/.output/public/icons/file_type_mojolicious.svg +1 -0
  717. package/nuxt-app/.output/public/icons/file_type_moleculer.svg +1 -0
  718. package/nuxt-app/.output/public/icons/file_type_mondoo.svg +1 -0
  719. package/nuxt-app/.output/public/icons/file_type_mongo.svg +1 -0
  720. package/nuxt-app/.output/public/icons/file_type_monotone.svg +1 -0
  721. package/nuxt-app/.output/public/icons/file_type_motif.svg +1 -0
  722. package/nuxt-app/.output/public/icons/file_type_mson.svg +1 -0
  723. package/nuxt-app/.output/public/icons/file_type_mustache.svg +1 -0
  724. package/nuxt-app/.output/public/icons/file_type_mvt.svg +1 -0
  725. package/nuxt-app/.output/public/icons/file_type_mvtcss.svg +1 -0
  726. package/nuxt-app/.output/public/icons/file_type_mvtjs.svg +1 -0
  727. package/nuxt-app/.output/public/icons/file_type_mypy.svg +1 -0
  728. package/nuxt-app/.output/public/icons/file_type_mysql.svg +1 -0
  729. package/nuxt-app/.output/public/icons/file_type_n64.svg +1 -0
  730. package/nuxt-app/.output/public/icons/file_type_nanostaged.svg +1 -0
  731. package/nuxt-app/.output/public/icons/file_type_ndst.svg +7 -0
  732. package/nuxt-app/.output/public/icons/file_type_nearly.svg +1 -0
  733. package/nuxt-app/.output/public/icons/file_type_neo4j.svg +1 -0
  734. package/nuxt-app/.output/public/icons/file_type_nest_adapter_js.svg +1 -0
  735. package/nuxt-app/.output/public/icons/file_type_nest_adapter_ts.svg +1 -0
  736. package/nuxt-app/.output/public/icons/file_type_nest_controller_js.svg +1 -0
  737. package/nuxt-app/.output/public/icons/file_type_nest_controller_ts.svg +1 -0
  738. package/nuxt-app/.output/public/icons/file_type_nest_decorator_js.svg +1 -0
  739. package/nuxt-app/.output/public/icons/file_type_nest_decorator_ts.svg +1 -0
  740. package/nuxt-app/.output/public/icons/file_type_nest_filter_js.svg +1 -0
  741. package/nuxt-app/.output/public/icons/file_type_nest_filter_ts.svg +1 -0
  742. package/nuxt-app/.output/public/icons/file_type_nest_gateway_js.svg +1 -0
  743. package/nuxt-app/.output/public/icons/file_type_nest_gateway_ts.svg +1 -0
  744. package/nuxt-app/.output/public/icons/file_type_nest_guard_js.svg +1 -0
  745. package/nuxt-app/.output/public/icons/file_type_nest_guard_ts.svg +1 -0
  746. package/nuxt-app/.output/public/icons/file_type_nest_interceptor_js.svg +1 -0
  747. package/nuxt-app/.output/public/icons/file_type_nest_interceptor_ts.svg +1 -0
  748. package/nuxt-app/.output/public/icons/file_type_nest_middleware_js.svg +1 -0
  749. package/nuxt-app/.output/public/icons/file_type_nest_middleware_ts.svg +1 -0
  750. package/nuxt-app/.output/public/icons/file_type_nest_module_js.svg +1 -0
  751. package/nuxt-app/.output/public/icons/file_type_nest_module_ts.svg +1 -0
  752. package/nuxt-app/.output/public/icons/file_type_nest_pipe_js.svg +1 -0
  753. package/nuxt-app/.output/public/icons/file_type_nest_pipe_ts.svg +1 -0
  754. package/nuxt-app/.output/public/icons/file_type_nest_service_js.svg +1 -0
  755. package/nuxt-app/.output/public/icons/file_type_nest_service_ts.svg +1 -0
  756. package/nuxt-app/.output/public/icons/file_type_nestjs.svg +1 -0
  757. package/nuxt-app/.output/public/icons/file_type_netlify.svg +1 -0
  758. package/nuxt-app/.output/public/icons/file_type_next.svg +1 -0
  759. package/nuxt-app/.output/public/icons/file_type_nextflow.svg +1 -0
  760. package/nuxt-app/.output/public/icons/file_type_ng_component_css.svg +1 -0
  761. package/nuxt-app/.output/public/icons/file_type_ng_component_dart.svg +1 -0
  762. package/nuxt-app/.output/public/icons/file_type_ng_component_html.svg +1 -0
  763. package/nuxt-app/.output/public/icons/file_type_ng_component_js.svg +1 -0
  764. package/nuxt-app/.output/public/icons/file_type_ng_component_js2.svg +1 -0
  765. package/nuxt-app/.output/public/icons/file_type_ng_component_less.svg +1 -0
  766. package/nuxt-app/.output/public/icons/file_type_ng_component_sass.svg +1 -0
  767. package/nuxt-app/.output/public/icons/file_type_ng_component_scss.svg +1 -0
  768. package/nuxt-app/.output/public/icons/file_type_ng_component_ts.svg +1 -0
  769. package/nuxt-app/.output/public/icons/file_type_ng_component_ts2.svg +1 -0
  770. package/nuxt-app/.output/public/icons/file_type_ng_controller_js.svg +1 -0
  771. package/nuxt-app/.output/public/icons/file_type_ng_controller_ts.svg +1 -0
  772. package/nuxt-app/.output/public/icons/file_type_ng_directive_dart.svg +1 -0
  773. package/nuxt-app/.output/public/icons/file_type_ng_directive_js.svg +1 -0
  774. package/nuxt-app/.output/public/icons/file_type_ng_directive_js2.svg +1 -0
  775. package/nuxt-app/.output/public/icons/file_type_ng_directive_ts.svg +1 -0
  776. package/nuxt-app/.output/public/icons/file_type_ng_directive_ts2.svg +1 -0
  777. package/nuxt-app/.output/public/icons/file_type_ng_guard_dart.svg +1 -0
  778. package/nuxt-app/.output/public/icons/file_type_ng_guard_js.svg +1 -0
  779. package/nuxt-app/.output/public/icons/file_type_ng_guard_ts.svg +1 -0
  780. package/nuxt-app/.output/public/icons/file_type_ng_interceptor_dart.svg +1 -0
  781. package/nuxt-app/.output/public/icons/file_type_ng_interceptor_js.svg +1 -0
  782. package/nuxt-app/.output/public/icons/file_type_ng_interceptor_ts.svg +1 -0
  783. package/nuxt-app/.output/public/icons/file_type_ng_module_dart.svg +1 -0
  784. package/nuxt-app/.output/public/icons/file_type_ng_module_js.svg +1 -0
  785. package/nuxt-app/.output/public/icons/file_type_ng_module_js2.svg +1 -0
  786. package/nuxt-app/.output/public/icons/file_type_ng_module_ts.svg +1 -0
  787. package/nuxt-app/.output/public/icons/file_type_ng_module_ts2.svg +1 -0
  788. package/nuxt-app/.output/public/icons/file_type_ng_pipe_dart.svg +1 -0
  789. package/nuxt-app/.output/public/icons/file_type_ng_pipe_js.svg +1 -0
  790. package/nuxt-app/.output/public/icons/file_type_ng_pipe_js2.svg +1 -0
  791. package/nuxt-app/.output/public/icons/file_type_ng_pipe_ts.svg +1 -0
  792. package/nuxt-app/.output/public/icons/file_type_ng_pipe_ts2.svg +1 -0
  793. package/nuxt-app/.output/public/icons/file_type_ng_routing_dart.svg +1 -0
  794. package/nuxt-app/.output/public/icons/file_type_ng_routing_js.svg +1 -0
  795. package/nuxt-app/.output/public/icons/file_type_ng_routing_js2.svg +1 -0
  796. package/nuxt-app/.output/public/icons/file_type_ng_routing_ts.svg +1 -0
  797. package/nuxt-app/.output/public/icons/file_type_ng_routing_ts2.svg +1 -0
  798. package/nuxt-app/.output/public/icons/file_type_ng_service_dart.svg +1 -0
  799. package/nuxt-app/.output/public/icons/file_type_ng_service_js.svg +1 -0
  800. package/nuxt-app/.output/public/icons/file_type_ng_service_js2.svg +1 -0
  801. package/nuxt-app/.output/public/icons/file_type_ng_service_ts.svg +1 -0
  802. package/nuxt-app/.output/public/icons/file_type_ng_service_ts2.svg +1 -0
  803. package/nuxt-app/.output/public/icons/file_type_ng_smart_component_dart.svg +1 -0
  804. package/nuxt-app/.output/public/icons/file_type_ng_smart_component_js.svg +1 -0
  805. package/nuxt-app/.output/public/icons/file_type_ng_smart_component_js2.svg +1 -0
  806. package/nuxt-app/.output/public/icons/file_type_ng_smart_component_ts.svg +1 -0
  807. package/nuxt-app/.output/public/icons/file_type_ng_smart_component_ts2.svg +1 -0
  808. package/nuxt-app/.output/public/icons/file_type_ng_tailwind.svg +1 -0
  809. package/nuxt-app/.output/public/icons/file_type_nginx.svg +1 -0
  810. package/nuxt-app/.output/public/icons/file_type_nim.svg +1 -0
  811. package/nuxt-app/.output/public/icons/file_type_nimble.svg +1 -0
  812. package/nuxt-app/.output/public/icons/file_type_ninja.svg +1 -0
  813. package/nuxt-app/.output/public/icons/file_type_nix.svg +1 -0
  814. package/nuxt-app/.output/public/icons/file_type_njsproj.svg +1 -0
  815. package/nuxt-app/.output/public/icons/file_type_noc.svg +1 -0
  816. package/nuxt-app/.output/public/icons/file_type_node.svg +1 -0
  817. package/nuxt-app/.output/public/icons/file_type_node2.svg +1 -0
  818. package/nuxt-app/.output/public/icons/file_type_nodemon.svg +1 -0
  819. package/nuxt-app/.output/public/icons/file_type_npm.svg +1 -0
  820. package/nuxt-app/.output/public/icons/file_type_npmpackagejsonlint.svg +1 -0
  821. package/nuxt-app/.output/public/icons/file_type_nsi.svg +1 -0
  822. package/nuxt-app/.output/public/icons/file_type_nsri-integrity.svg +1 -0
  823. package/nuxt-app/.output/public/icons/file_type_nsri.svg +1 -0
  824. package/nuxt-app/.output/public/icons/file_type_nuget.svg +1 -0
  825. package/nuxt-app/.output/public/icons/file_type_numpy.svg +1 -0
  826. package/nuxt-app/.output/public/icons/file_type_nunjucks.svg +1 -0
  827. package/nuxt-app/.output/public/icons/file_type_nushell.svg +1 -0
  828. package/nuxt-app/.output/public/icons/file_type_nuxt.svg +1 -0
  829. package/nuxt-app/.output/public/icons/file_type_nx.svg +1 -0
  830. package/nuxt-app/.output/public/icons/file_type_nyc.svg +1 -0
  831. package/nuxt-app/.output/public/icons/file_type_objectivec.svg +1 -0
  832. package/nuxt-app/.output/public/icons/file_type_objectivecpp.svg +1 -0
  833. package/nuxt-app/.output/public/icons/file_type_objidconfig.svg +1 -0
  834. package/nuxt-app/.output/public/icons/file_type_ocaml.svg +1 -0
  835. package/nuxt-app/.output/public/icons/file_type_ocaml_intf.svg +1 -0
  836. package/nuxt-app/.output/public/icons/file_type_ogone.svg +1 -0
  837. package/nuxt-app/.output/public/icons/file_type_onenote.svg +1 -0
  838. package/nuxt-app/.output/public/icons/file_type_opam.svg +1 -0
  839. package/nuxt-app/.output/public/icons/file_type_openHAB.svg +1 -0
  840. package/nuxt-app/.output/public/icons/file_type_opencl.svg +1 -0
  841. package/nuxt-app/.output/public/icons/file_type_openscad.svg +1 -0
  842. package/nuxt-app/.output/public/icons/file_type_opentofu.svg +1 -0
  843. package/nuxt-app/.output/public/icons/file_type_org.svg +1 -0
  844. package/nuxt-app/.output/public/icons/file_type_outlook.svg +1 -0
  845. package/nuxt-app/.output/public/icons/file_type_ovpn.svg +1 -0
  846. package/nuxt-app/.output/public/icons/file_type_oxc.svg +1 -0
  847. package/nuxt-app/.output/public/icons/file_type_package.svg +1 -0
  848. package/nuxt-app/.output/public/icons/file_type_packship.svg +4 -0
  849. package/nuxt-app/.output/public/icons/file_type_paket.svg +1 -0
  850. package/nuxt-app/.output/public/icons/file_type_pandacss.svg +1 -0
  851. package/nuxt-app/.output/public/icons/file_type_patch.svg +1 -0
  852. package/nuxt-app/.output/public/icons/file_type_pcl.svg +1 -0
  853. package/nuxt-app/.output/public/icons/file_type_pddl.svg +1 -0
  854. package/nuxt-app/.output/public/icons/file_type_pddl_happenings.svg +1 -0
  855. package/nuxt-app/.output/public/icons/file_type_pddl_plan.svg +1 -0
  856. package/nuxt-app/.output/public/icons/file_type_pdf.svg +1 -0
  857. package/nuxt-app/.output/public/icons/file_type_pdf2.svg +1 -0
  858. package/nuxt-app/.output/public/icons/file_type_pdm.svg +1 -0
  859. package/nuxt-app/.output/public/icons/file_type_peeky.svg +1 -0
  860. package/nuxt-app/.output/public/icons/file_type_perl.svg +1 -0
  861. package/nuxt-app/.output/public/icons/file_type_perl2.svg +1 -0
  862. package/nuxt-app/.output/public/icons/file_type_perl6.svg +1 -0
  863. package/nuxt-app/.output/public/icons/file_type_pgsql.svg +1 -0
  864. package/nuxt-app/.output/public/icons/file_type_photoshop.svg +1 -0
  865. package/nuxt-app/.output/public/icons/file_type_photoshop2.svg +1 -0
  866. package/nuxt-app/.output/public/icons/file_type_php.svg +1 -0
  867. package/nuxt-app/.output/public/icons/file_type_php2.svg +1 -0
  868. package/nuxt-app/.output/public/icons/file_type_php3.svg +1 -0
  869. package/nuxt-app/.output/public/icons/file_type_phpcsfixer.svg +1 -0
  870. package/nuxt-app/.output/public/icons/file_type_phpstan.svg +1 -0
  871. package/nuxt-app/.output/public/icons/file_type_phpunit.svg +1 -0
  872. package/nuxt-app/.output/public/icons/file_type_phraseapp.svg +1 -0
  873. package/nuxt-app/.output/public/icons/file_type_pine.svg +1 -0
  874. package/nuxt-app/.output/public/icons/file_type_pip.svg +1 -0
  875. package/nuxt-app/.output/public/icons/file_type_pipeline.svg +3 -0
  876. package/nuxt-app/.output/public/icons/file_type_plantuml.svg +1 -0
  877. package/nuxt-app/.output/public/icons/file_type_platformio.svg +1 -0
  878. package/nuxt-app/.output/public/icons/file_type_playwright.svg +1 -0
  879. package/nuxt-app/.output/public/icons/file_type_plsql.svg +1 -0
  880. package/nuxt-app/.output/public/icons/file_type_plsql_package.svg +1 -0
  881. package/nuxt-app/.output/public/icons/file_type_plsql_package_body.svg +1 -0
  882. package/nuxt-app/.output/public/icons/file_type_plsql_package_header.svg +1 -0
  883. package/nuxt-app/.output/public/icons/file_type_plsql_package_spec.svg +1 -0
  884. package/nuxt-app/.output/public/icons/file_type_pm2.svg +1 -0
  885. package/nuxt-app/.output/public/icons/file_type_pnpm.svg +1 -0
  886. package/nuxt-app/.output/public/icons/file_type_poedit.svg +1 -0
  887. package/nuxt-app/.output/public/icons/file_type_poetry.svg +1 -0
  888. package/nuxt-app/.output/public/icons/file_type_polyglot.svg +1 -0
  889. package/nuxt-app/.output/public/icons/file_type_polymer.svg +1 -0
  890. package/nuxt-app/.output/public/icons/file_type_pony.svg +1 -0
  891. package/nuxt-app/.output/public/icons/file_type_postcss.svg +1 -0
  892. package/nuxt-app/.output/public/icons/file_type_postcssconfig.svg +1 -0
  893. package/nuxt-app/.output/public/icons/file_type_postman.svg +1 -0
  894. package/nuxt-app/.output/public/icons/file_type_postscript.svg +1 -0
  895. package/nuxt-app/.output/public/icons/file_type_powerpoint.svg +1 -0
  896. package/nuxt-app/.output/public/icons/file_type_powerpoint2.svg +1 -0
  897. package/nuxt-app/.output/public/icons/file_type_powershell.svg +1 -0
  898. package/nuxt-app/.output/public/icons/file_type_powershell2.svg +1 -0
  899. package/nuxt-app/.output/public/icons/file_type_powershell_format.svg +1 -0
  900. package/nuxt-app/.output/public/icons/file_type_powershell_psd.svg +1 -0
  901. package/nuxt-app/.output/public/icons/file_type_powershell_psd2.svg +1 -0
  902. package/nuxt-app/.output/public/icons/file_type_powershell_psm.svg +1 -0
  903. package/nuxt-app/.output/public/icons/file_type_powershell_psm2.svg +1 -0
  904. package/nuxt-app/.output/public/icons/file_type_powershell_types.svg +1 -0
  905. package/nuxt-app/.output/public/icons/file_type_preact.svg +1 -0
  906. package/nuxt-app/.output/public/icons/file_type_precommit.svg +1 -0
  907. package/nuxt-app/.output/public/icons/file_type_prettier.svg +1 -0
  908. package/nuxt-app/.output/public/icons/file_type_prisma.svg +1 -0
  909. package/nuxt-app/.output/public/icons/file_type_prismaconfig.svg +1 -0
  910. package/nuxt-app/.output/public/icons/file_type_processinglang.svg +1 -0
  911. package/nuxt-app/.output/public/icons/file_type_procfile.svg +1 -0
  912. package/nuxt-app/.output/public/icons/file_type_progress.svg +1 -0
  913. package/nuxt-app/.output/public/icons/file_type_prolog.svg +1 -0
  914. package/nuxt-app/.output/public/icons/file_type_prometheus.svg +1 -0
  915. package/nuxt-app/.output/public/icons/file_type_protobuf.svg +9 -0
  916. package/nuxt-app/.output/public/icons/file_type_protractor.svg +1 -0
  917. package/nuxt-app/.output/public/icons/file_type_publiccode.svg +1 -0
  918. package/nuxt-app/.output/public/icons/file_type_publisher.svg +1 -0
  919. package/nuxt-app/.output/public/icons/file_type_pug.svg +1 -0
  920. package/nuxt-app/.output/public/icons/file_type_pulumi.svg +1 -0
  921. package/nuxt-app/.output/public/icons/file_type_puppet.svg +1 -0
  922. package/nuxt-app/.output/public/icons/file_type_purescript.svg +1 -0
  923. package/nuxt-app/.output/public/icons/file_type_purgecss.svg +1 -0
  924. package/nuxt-app/.output/public/icons/file_type_pyenv.svg +1 -0
  925. package/nuxt-app/.output/public/icons/file_type_pypi.svg +1 -0
  926. package/nuxt-app/.output/public/icons/file_type_pyret.svg +1 -0
  927. package/nuxt-app/.output/public/icons/file_type_pyscript.svg +1 -0
  928. package/nuxt-app/.output/public/icons/file_type_pytest.svg +1 -0
  929. package/nuxt-app/.output/public/icons/file_type_python.svg +1 -0
  930. package/nuxt-app/.output/public/icons/file_type_pythowo.svg +1 -0
  931. package/nuxt-app/.output/public/icons/file_type_pytyped.svg +1 -0
  932. package/nuxt-app/.output/public/icons/file_type_pyup.svg +1 -0
  933. package/nuxt-app/.output/public/icons/file_type_q.svg +1 -0
  934. package/nuxt-app/.output/public/icons/file_type_qbs.svg +1 -0
  935. package/nuxt-app/.output/public/icons/file_type_qlikview.svg +1 -0
  936. package/nuxt-app/.output/public/icons/file_type_qml.svg +1 -0
  937. package/nuxt-app/.output/public/icons/file_type_qmldir.svg +1 -0
  938. package/nuxt-app/.output/public/icons/file_type_qsharp.svg +1 -0
  939. package/nuxt-app/.output/public/icons/file_type_quasar.svg +1 -0
  940. package/nuxt-app/.output/public/icons/file_type_r.svg +1 -0
  941. package/nuxt-app/.output/public/icons/file_type_ra_syntax_tree.svg +1 -0
  942. package/nuxt-app/.output/public/icons/file_type_racket.svg +1 -0
  943. package/nuxt-app/.output/public/icons/file_type_rails.svg +1 -0
  944. package/nuxt-app/.output/public/icons/file_type_railway.svg +1 -0
  945. package/nuxt-app/.output/public/icons/file_type_rake.svg +1 -0
  946. package/nuxt-app/.output/public/icons/file_type_raku.svg +1 -0
  947. package/nuxt-app/.output/public/icons/file_type_raml.svg +1 -0
  948. package/nuxt-app/.output/public/icons/file_type_razor.svg +1 -0
  949. package/nuxt-app/.output/public/icons/file_type_razzle.svg +1 -0
  950. package/nuxt-app/.output/public/icons/file_type_reactjs.svg +1 -0
  951. package/nuxt-app/.output/public/icons/file_type_reactrouter.svg +1 -0
  952. package/nuxt-app/.output/public/icons/file_type_reacttemplate.svg +1 -0
  953. package/nuxt-app/.output/public/icons/file_type_reactts.svg +1 -0
  954. package/nuxt-app/.output/public/icons/file_type_reason.svg +1 -0
  955. package/nuxt-app/.output/public/icons/file_type_red.svg +1 -0
  956. package/nuxt-app/.output/public/icons/file_type_registry.svg +1 -0
  957. package/nuxt-app/.output/public/icons/file_type_rego.svg +1 -0
  958. package/nuxt-app/.output/public/icons/file_type_rehype.svg +1 -0
  959. package/nuxt-app/.output/public/icons/file_type_remark.svg +1 -0
  960. package/nuxt-app/.output/public/icons/file_type_renovate.svg +1 -0
  961. package/nuxt-app/.output/public/icons/file_type_replit.svg +1 -0
  962. package/nuxt-app/.output/public/icons/file_type_rescript.svg +1 -0
  963. package/nuxt-app/.output/public/icons/file_type_rest.svg +1 -0
  964. package/nuxt-app/.output/public/icons/file_type_retext.svg +1 -0
  965. package/nuxt-app/.output/public/icons/file_type_rexx.svg +1 -0
  966. package/nuxt-app/.output/public/icons/file_type_riot.svg +1 -0
  967. package/nuxt-app/.output/public/icons/file_type_ripple.svg +4 -0
  968. package/nuxt-app/.output/public/icons/file_type_rmd.svg +1 -0
  969. package/nuxt-app/.output/public/icons/file_type_rnc.svg +1 -0
  970. package/nuxt-app/.output/public/icons/file_type_robotframework.svg +1 -0
  971. package/nuxt-app/.output/public/icons/file_type_robots.svg +1 -0
  972. package/nuxt-app/.output/public/icons/file_type_rolldown.svg +1 -0
  973. package/nuxt-app/.output/public/icons/file_type_rollup.svg +1 -0
  974. package/nuxt-app/.output/public/icons/file_type_rome.svg +1 -0
  975. package/nuxt-app/.output/public/icons/file_type_ron.svg +1 -0
  976. package/nuxt-app/.output/public/icons/file_type_rproj.svg +1 -0
  977. package/nuxt-app/.output/public/icons/file_type_rspec.svg +1 -0
  978. package/nuxt-app/.output/public/icons/file_type_rss.svg +1 -0
  979. package/nuxt-app/.output/public/icons/file_type_rubocop.svg +1 -0
  980. package/nuxt-app/.output/public/icons/file_type_ruby.svg +1 -0
  981. package/nuxt-app/.output/public/icons/file_type_rust.svg +1 -0
  982. package/nuxt-app/.output/public/icons/file_type_rust_toolchain.svg +1 -0
  983. package/nuxt-app/.output/public/icons/file_type_s-lang.svg +1 -0
  984. package/nuxt-app/.output/public/icons/file_type_safetensors.svg +1 -0
  985. package/nuxt-app/.output/public/icons/file_type_sails.svg +1 -0
  986. package/nuxt-app/.output/public/icons/file_type_saltstack.svg +1 -0
  987. package/nuxt-app/.output/public/icons/file_type_san.svg +1 -0
  988. package/nuxt-app/.output/public/icons/file_type_sapphire_framework_cli.svg +1 -0
  989. package/nuxt-app/.output/public/icons/file_type_sas.svg +1 -0
  990. package/nuxt-app/.output/public/icons/file_type_sass.svg +1 -0
  991. package/nuxt-app/.output/public/icons/file_type_sbt.svg +1 -0
  992. package/nuxt-app/.output/public/icons/file_type_scala.svg +1 -0
  993. package/nuxt-app/.output/public/icons/file_type_scilab.svg +1 -0
  994. package/nuxt-app/.output/public/icons/file_type_script.svg +1 -0
  995. package/nuxt-app/.output/public/icons/file_type_scss.svg +1 -0
  996. package/nuxt-app/.output/public/icons/file_type_scss2.svg +1 -0
  997. package/nuxt-app/.output/public/icons/file_type_sdlang.svg +1 -0
  998. package/nuxt-app/.output/public/icons/file_type_search_result.svg +1 -0
  999. package/nuxt-app/.output/public/icons/file_type_seedkit.svg +1 -0
  1000. package/nuxt-app/.output/public/icons/file_type_sentry.svg +1 -0
  1001. package/nuxt-app/.output/public/icons/file_type_sequelize.svg +1 -0
  1002. package/nuxt-app/.output/public/icons/file_type_serverless.svg +1 -0
  1003. package/nuxt-app/.output/public/icons/file_type_shadcn.svg +1 -0
  1004. package/nuxt-app/.output/public/icons/file_type_shaderlab.svg +1 -0
  1005. package/nuxt-app/.output/public/icons/file_type_shell.svg +1 -0
  1006. package/nuxt-app/.output/public/icons/file_type_shellcheck.svg +1 -0
  1007. package/nuxt-app/.output/public/icons/file_type_shuttle.svg +1 -0
  1008. package/nuxt-app/.output/public/icons/file_type_silverstripe.svg +1 -0
  1009. package/nuxt-app/.output/public/icons/file_type_sino.svg +1 -0
  1010. package/nuxt-app/.output/public/icons/file_type_sitemap.svg +1 -0
  1011. package/nuxt-app/.output/public/icons/file_type_siyuan.svg +1 -0
  1012. package/nuxt-app/.output/public/icons/file_type_sketch.svg +1 -0
  1013. package/nuxt-app/.output/public/icons/file_type_skill.svg +1 -0
  1014. package/nuxt-app/.output/public/icons/file_type_skipper.svg +1 -0
  1015. package/nuxt-app/.output/public/icons/file_type_slang.svg +1 -0
  1016. package/nuxt-app/.output/public/icons/file_type_slashup.svg +1 -0
  1017. package/nuxt-app/.output/public/icons/file_type_slice.svg +1 -0
  1018. package/nuxt-app/.output/public/icons/file_type_slim.svg +1 -0
  1019. package/nuxt-app/.output/public/icons/file_type_slint.svg +1 -0
  1020. package/nuxt-app/.output/public/icons/file_type_sln.svg +1 -0
  1021. package/nuxt-app/.output/public/icons/file_type_sln2.svg +1 -0
  1022. package/nuxt-app/.output/public/icons/file_type_smarty.svg +1 -0
  1023. package/nuxt-app/.output/public/icons/file_type_smithery.svg +1 -0
  1024. package/nuxt-app/.output/public/icons/file_type_snakemake.svg +1 -0
  1025. package/nuxt-app/.output/public/icons/file_type_snapcraft.svg +1 -0
  1026. package/nuxt-app/.output/public/icons/file_type_snaplet.svg +1 -0
  1027. package/nuxt-app/.output/public/icons/file_type_snort.svg +1 -0
  1028. package/nuxt-app/.output/public/icons/file_type_snyk.svg +1 -0
  1029. package/nuxt-app/.output/public/icons/file_type_solidarity.svg +1 -0
  1030. package/nuxt-app/.output/public/icons/file_type_solidity.svg +1 -0
  1031. package/nuxt-app/.output/public/icons/file_type_source.svg +1 -0
  1032. package/nuxt-app/.output/public/icons/file_type_spacengine.svg +1 -0
  1033. package/nuxt-app/.output/public/icons/file_type_sparql.svg +1 -0
  1034. package/nuxt-app/.output/public/icons/file_type_spin.svg +1 -0
  1035. package/nuxt-app/.output/public/icons/file_type_sqf.svg +1 -0
  1036. package/nuxt-app/.output/public/icons/file_type_sql.svg +1 -0
  1037. package/nuxt-app/.output/public/icons/file_type_sqlite.svg +1 -0
  1038. package/nuxt-app/.output/public/icons/file_type_squirrel.svg +1 -0
  1039. package/nuxt-app/.output/public/icons/file_type_sss.svg +1 -0
  1040. package/nuxt-app/.output/public/icons/file_type_sst.svg +1 -0
  1041. package/nuxt-app/.output/public/icons/file_type_stackblitz.svg +1 -0
  1042. package/nuxt-app/.output/public/icons/file_type_stan.svg +1 -0
  1043. package/nuxt-app/.output/public/icons/file_type_stata.svg +1 -0
  1044. package/nuxt-app/.output/public/icons/file_type_stencil.svg +1 -0
  1045. package/nuxt-app/.output/public/icons/file_type_storyboard.svg +1 -0
  1046. package/nuxt-app/.output/public/icons/file_type_storybook.svg +1 -0
  1047. package/nuxt-app/.output/public/icons/file_type_stryker.svg +1 -0
  1048. package/nuxt-app/.output/public/icons/file_type_stylable.svg +1 -0
  1049. package/nuxt-app/.output/public/icons/file_type_style.svg +1 -0
  1050. package/nuxt-app/.output/public/icons/file_type_styled.svg +1 -0
  1051. package/nuxt-app/.output/public/icons/file_type_stylelint.svg +1 -0
  1052. package/nuxt-app/.output/public/icons/file_type_stylish_haskell.svg +1 -0
  1053. package/nuxt-app/.output/public/icons/file_type_stylus.svg +1 -0
  1054. package/nuxt-app/.output/public/icons/file_type_sublime.svg +1 -0
  1055. package/nuxt-app/.output/public/icons/file_type_subversion.svg +1 -0
  1056. package/nuxt-app/.output/public/icons/file_type_svelte.svg +1 -0
  1057. package/nuxt-app/.output/public/icons/file_type_svelteconfig.svg +1 -0
  1058. package/nuxt-app/.output/public/icons/file_type_svg.svg +1 -0
  1059. package/nuxt-app/.output/public/icons/file_type_svgo.svg +1 -0
  1060. package/nuxt-app/.output/public/icons/file_type_swagger.svg +1 -0
  1061. package/nuxt-app/.output/public/icons/file_type_swc.svg +1 -0
  1062. package/nuxt-app/.output/public/icons/file_type_swift.svg +1 -0
  1063. package/nuxt-app/.output/public/icons/file_type_swig.svg +1 -0
  1064. package/nuxt-app/.output/public/icons/file_type_symfony.svg +1 -0
  1065. package/nuxt-app/.output/public/icons/file_type_syncpack.svg +1 -0
  1066. package/nuxt-app/.output/public/icons/file_type_systemd.svg +1 -0
  1067. package/nuxt-app/.output/public/icons/file_type_systemverilog.svg +1 -0
  1068. package/nuxt-app/.output/public/icons/file_type_t4tt.svg +1 -0
  1069. package/nuxt-app/.output/public/icons/file_type_tailwind.svg +1 -0
  1070. package/nuxt-app/.output/public/icons/file_type_tamagui.svg +1 -0
  1071. package/nuxt-app/.output/public/icons/file_type_taplo.svg +1 -0
  1072. package/nuxt-app/.output/public/icons/file_type_taskfile.svg +1 -0
  1073. package/nuxt-app/.output/public/icons/file_type_tauri.svg +1 -0
  1074. package/nuxt-app/.output/public/icons/file_type_tcl.svg +1 -0
  1075. package/nuxt-app/.output/public/icons/file_type_teal.svg +1 -0
  1076. package/nuxt-app/.output/public/icons/file_type_templ.svg +1 -0
  1077. package/nuxt-app/.output/public/icons/file_type_tera.svg +1 -0
  1078. package/nuxt-app/.output/public/icons/file_type_terraform.svg +1 -0
  1079. package/nuxt-app/.output/public/icons/file_type_test.svg +1 -0
  1080. package/nuxt-app/.output/public/icons/file_type_testcafe.svg +1 -0
  1081. package/nuxt-app/.output/public/icons/file_type_testjs.svg +1 -0
  1082. package/nuxt-app/.output/public/icons/file_type_testplane.svg +1 -0
  1083. package/nuxt-app/.output/public/icons/file_type_testts.svg +1 -0
  1084. package/nuxt-app/.output/public/icons/file_type_tex.svg +1 -0
  1085. package/nuxt-app/.output/public/icons/file_type_text.svg +1 -0
  1086. package/nuxt-app/.output/public/icons/file_type_textile.svg +1 -0
  1087. package/nuxt-app/.output/public/icons/file_type_tfs.svg +1 -0
  1088. package/nuxt-app/.output/public/icons/file_type_tiltfile.svg +1 -0
  1089. package/nuxt-app/.output/public/icons/file_type_tm.svg +1 -0
  1090. package/nuxt-app/.output/public/icons/file_type_tmux.svg +1 -0
  1091. package/nuxt-app/.output/public/icons/file_type_todo.svg +1 -0
  1092. package/nuxt-app/.output/public/icons/file_type_toit.svg +1 -0
  1093. package/nuxt-app/.output/public/icons/file_type_toml.svg +1 -0
  1094. package/nuxt-app/.output/public/icons/file_type_toon.svg +1 -0
  1095. package/nuxt-app/.output/public/icons/file_type_tox.svg +1 -0
  1096. package/nuxt-app/.output/public/icons/file_type_travis.svg +1 -0
  1097. package/nuxt-app/.output/public/icons/file_type_tree.svg +1 -0
  1098. package/nuxt-app/.output/public/icons/file_type_tres.svg +1 -0
  1099. package/nuxt-app/.output/public/icons/file_type_truffle.svg +1 -0
  1100. package/nuxt-app/.output/public/icons/file_type_trunk.svg +1 -0
  1101. package/nuxt-app/.output/public/icons/file_type_tsbuildinfo.svg +1 -0
  1102. package/nuxt-app/.output/public/icons/file_type_tscn.svg +1 -0
  1103. package/nuxt-app/.output/public/icons/file_type_tsconfig.svg +1 -0
  1104. package/nuxt-app/.output/public/icons/file_type_tsconfig_official.svg +1 -0
  1105. package/nuxt-app/.output/public/icons/file_type_tsdoc.svg +1 -0
  1106. package/nuxt-app/.output/public/icons/file_type_tsdown.svg +2 -0
  1107. package/nuxt-app/.output/public/icons/file_type_tslint.svg +1 -0
  1108. package/nuxt-app/.output/public/icons/file_type_tt.svg +1 -0
  1109. package/nuxt-app/.output/public/icons/file_type_ttcn.svg +1 -0
  1110. package/nuxt-app/.output/public/icons/file_type_tuc.svg +1 -0
  1111. package/nuxt-app/.output/public/icons/file_type_turbo.svg +1 -0
  1112. package/nuxt-app/.output/public/icons/file_type_twig.svg +1 -0
  1113. package/nuxt-app/.output/public/icons/file_type_typedoc.svg +1 -0
  1114. package/nuxt-app/.output/public/icons/file_type_typescript.svg +1 -0
  1115. package/nuxt-app/.output/public/icons/file_type_typescript_official.svg +1 -0
  1116. package/nuxt-app/.output/public/icons/file_type_typescriptdef.svg +1 -0
  1117. package/nuxt-app/.output/public/icons/file_type_typescriptdef_official.svg +1 -0
  1118. package/nuxt-app/.output/public/icons/file_type_typo3.svg +1 -0
  1119. package/nuxt-app/.output/public/icons/file_type_uiua.svg +1 -0
  1120. package/nuxt-app/.output/public/icons/file_type_unibeautify.svg +1 -0
  1121. package/nuxt-app/.output/public/icons/file_type_unison.svg +1 -0
  1122. package/nuxt-app/.output/public/icons/file_type_unlicense.svg +1 -0
  1123. package/nuxt-app/.output/public/icons/file_type_unocss.svg +1 -0
  1124. package/nuxt-app/.output/public/icons/file_type_uv.svg +1 -0
  1125. package/nuxt-app/.output/public/icons/file_type_vagrant.svg +1 -0
  1126. package/nuxt-app/.output/public/icons/file_type_vala.svg +1 -0
  1127. package/nuxt-app/.output/public/icons/file_type_vanilla_extract.svg +1 -0
  1128. package/nuxt-app/.output/public/icons/file_type_vapi.svg +1 -0
  1129. package/nuxt-app/.output/public/icons/file_type_vapor.svg +1 -0
  1130. package/nuxt-app/.output/public/icons/file_type_vash.svg +1 -0
  1131. package/nuxt-app/.output/public/icons/file_type_vb.svg +1 -0
  1132. package/nuxt-app/.output/public/icons/file_type_vba.svg +1 -0
  1133. package/nuxt-app/.output/public/icons/file_type_vbhtml.svg +1 -0
  1134. package/nuxt-app/.output/public/icons/file_type_vbproj.svg +1 -0
  1135. package/nuxt-app/.output/public/icons/file_type_vcxproj.svg +1 -0
  1136. package/nuxt-app/.output/public/icons/file_type_velocity.svg +1 -0
  1137. package/nuxt-app/.output/public/icons/file_type_vento.svg +1 -0
  1138. package/nuxt-app/.output/public/icons/file_type_vercel.svg +1 -0
  1139. package/nuxt-app/.output/public/icons/file_type_verilog.svg +1 -0
  1140. package/nuxt-app/.output/public/icons/file_type_vhdl.svg +1 -0
  1141. package/nuxt-app/.output/public/icons/file_type_video.svg +1 -0
  1142. package/nuxt-app/.output/public/icons/file_type_view.svg +1 -0
  1143. package/nuxt-app/.output/public/icons/file_type_vim.svg +1 -0
  1144. package/nuxt-app/.output/public/icons/file_type_vite.svg +1 -0
  1145. package/nuxt-app/.output/public/icons/file_type_vitest.svg +1 -0
  1146. package/nuxt-app/.output/public/icons/file_type_vlang.svg +1 -0
  1147. package/nuxt-app/.output/public/icons/file_type_volt.svg +1 -0
  1148. package/nuxt-app/.output/public/icons/file_type_vroom.svg +1 -0
  1149. package/nuxt-app/.output/public/icons/file_type_vscode-insiders.svg +1 -0
  1150. package/nuxt-app/.output/public/icons/file_type_vscode.svg +1 -0
  1151. package/nuxt-app/.output/public/icons/file_type_vscode2.svg +1 -0
  1152. package/nuxt-app/.output/public/icons/file_type_vscode3.svg +1 -0
  1153. package/nuxt-app/.output/public/icons/file_type_vscode_test.svg +1 -0
  1154. package/nuxt-app/.output/public/icons/file_type_vsix.svg +1 -0
  1155. package/nuxt-app/.output/public/icons/file_type_vsixmanifest.svg +1 -0
  1156. package/nuxt-app/.output/public/icons/file_type_vue.svg +1 -0
  1157. package/nuxt-app/.output/public/icons/file_type_vueconfig.svg +1 -0
  1158. package/nuxt-app/.output/public/icons/file_type_vvvvvv.svg +1 -0
  1159. package/nuxt-app/.output/public/icons/file_type_vyper.svg +3 -0
  1160. package/nuxt-app/.output/public/icons/file_type_wallaby.svg +1 -0
  1161. package/nuxt-app/.output/public/icons/file_type_wally.svg +1 -0
  1162. package/nuxt-app/.output/public/icons/file_type_wasm.svg +1 -0
  1163. package/nuxt-app/.output/public/icons/file_type_watchmanconfig.svg +1 -0
  1164. package/nuxt-app/.output/public/icons/file_type_wdio.svg +1 -0
  1165. package/nuxt-app/.output/public/icons/file_type_weblate.svg +1 -0
  1166. package/nuxt-app/.output/public/icons/file_type_webpack.svg +1 -0
  1167. package/nuxt-app/.output/public/icons/file_type_wenyan.svg +1 -0
  1168. package/nuxt-app/.output/public/icons/file_type_wercker.svg +1 -0
  1169. package/nuxt-app/.output/public/icons/file_type_wgsl.svg +86 -0
  1170. package/nuxt-app/.output/public/icons/file_type_wikitext.svg +1 -0
  1171. package/nuxt-app/.output/public/icons/file_type_windi.svg +1 -0
  1172. package/nuxt-app/.output/public/icons/file_type_wit.svg +1 -0
  1173. package/nuxt-app/.output/public/icons/file_type_wolfram.svg +1 -0
  1174. package/nuxt-app/.output/public/icons/file_type_word.svg +1 -0
  1175. package/nuxt-app/.output/public/icons/file_type_word2.svg +1 -0
  1176. package/nuxt-app/.output/public/icons/file_type_wpml.svg +1 -0
  1177. package/nuxt-app/.output/public/icons/file_type_wurst.svg +1 -0
  1178. package/nuxt-app/.output/public/icons/file_type_wxml.svg +1 -0
  1179. package/nuxt-app/.output/public/icons/file_type_wxss.svg +1 -0
  1180. package/nuxt-app/.output/public/icons/file_type_wxt.svg +1 -0
  1181. package/nuxt-app/.output/public/icons/file_type_xaml.svg +1 -0
  1182. package/nuxt-app/.output/public/icons/file_type_xcode.svg +1 -0
  1183. package/nuxt-app/.output/public/icons/file_type_xfl.svg +1 -0
  1184. package/nuxt-app/.output/public/icons/file_type_xib.svg +1 -0
  1185. package/nuxt-app/.output/public/icons/file_type_xliff.svg +1 -0
  1186. package/nuxt-app/.output/public/icons/file_type_xmake.svg +1 -0
  1187. package/nuxt-app/.output/public/icons/file_type_xml.svg +1 -0
  1188. package/nuxt-app/.output/public/icons/file_type_xo.svg +1 -0
  1189. package/nuxt-app/.output/public/icons/file_type_xorg.svg +1 -0
  1190. package/nuxt-app/.output/public/icons/file_type_xquery.svg +1 -0
  1191. package/nuxt-app/.output/public/icons/file_type_xsl.svg +1 -0
  1192. package/nuxt-app/.output/public/icons/file_type_yacc.svg +1 -0
  1193. package/nuxt-app/.output/public/icons/file_type_yaml.svg +1 -0
  1194. package/nuxt-app/.output/public/icons/file_type_yaml_official.svg +1 -0
  1195. package/nuxt-app/.output/public/icons/file_type_yamllint.svg +1 -0
  1196. package/nuxt-app/.output/public/icons/file_type_yandex.svg +1 -0
  1197. package/nuxt-app/.output/public/icons/file_type_yang.svg +1 -0
  1198. package/nuxt-app/.output/public/icons/file_type_yarn.svg +1 -0
  1199. package/nuxt-app/.output/public/icons/file_type_yeoman.svg +1 -0
  1200. package/nuxt-app/.output/public/icons/file_type_zig.svg +1 -0
  1201. package/nuxt-app/.output/public/icons/file_type_zip.svg +1 -0
  1202. package/nuxt-app/.output/public/icons/file_type_zip2.svg +1 -0
  1203. package/nuxt-app/.output/public/icons/folder_type_android.svg +1 -0
  1204. package/nuxt-app/.output/public/icons/folder_type_android_opened.svg +1 -0
  1205. package/nuxt-app/.output/public/icons/folder_type_angular.svg +1 -0
  1206. package/nuxt-app/.output/public/icons/folder_type_angular_opened.svg +1 -0
  1207. package/nuxt-app/.output/public/icons/folder_type_apache.svg +1 -0
  1208. package/nuxt-app/.output/public/icons/folder_type_apache_opened.svg +1 -0
  1209. package/nuxt-app/.output/public/icons/folder_type_api.svg +1 -0
  1210. package/nuxt-app/.output/public/icons/folder_type_api_opened.svg +1 -0
  1211. package/nuxt-app/.output/public/icons/folder_type_app.svg +1 -0
  1212. package/nuxt-app/.output/public/icons/folder_type_app_opened.svg +1 -0
  1213. package/nuxt-app/.output/public/icons/folder_type_arangodb.svg +1 -0
  1214. package/nuxt-app/.output/public/icons/folder_type_arangodb_opened.svg +1 -0
  1215. package/nuxt-app/.output/public/icons/folder_type_asset.svg +1 -0
  1216. package/nuxt-app/.output/public/icons/folder_type_asset_opened.svg +1 -0
  1217. package/nuxt-app/.output/public/icons/folder_type_astro.svg +1 -0
  1218. package/nuxt-app/.output/public/icons/folder_type_astro_opened.svg +1 -0
  1219. package/nuxt-app/.output/public/icons/folder_type_audio.svg +1 -0
  1220. package/nuxt-app/.output/public/icons/folder_type_audio_opened.svg +1 -0
  1221. package/nuxt-app/.output/public/icons/folder_type_aurelia.svg +1 -0
  1222. package/nuxt-app/.output/public/icons/folder_type_aurelia_opened.svg +1 -0
  1223. package/nuxt-app/.output/public/icons/folder_type_aws.svg +1 -0
  1224. package/nuxt-app/.output/public/icons/folder_type_aws_opened.svg +1 -0
  1225. package/nuxt-app/.output/public/icons/folder_type_azure.svg +1 -0
  1226. package/nuxt-app/.output/public/icons/folder_type_azure_opened.svg +1 -0
  1227. package/nuxt-app/.output/public/icons/folder_type_azurepipelines.svg +1 -0
  1228. package/nuxt-app/.output/public/icons/folder_type_azurepipelines_opened.svg +1 -0
  1229. package/nuxt-app/.output/public/icons/folder_type_binary.svg +1 -0
  1230. package/nuxt-app/.output/public/icons/folder_type_binary_opened.svg +1 -0
  1231. package/nuxt-app/.output/public/icons/folder_type_bloc.svg +1 -0
  1232. package/nuxt-app/.output/public/icons/folder_type_bloc_opened.svg +1 -0
  1233. package/nuxt-app/.output/public/icons/folder_type_blueprint.svg +1 -0
  1234. package/nuxt-app/.output/public/icons/folder_type_blueprint_opened.svg +1 -0
  1235. package/nuxt-app/.output/public/icons/folder_type_bot.svg +1 -0
  1236. package/nuxt-app/.output/public/icons/folder_type_bot_opened.svg +1 -0
  1237. package/nuxt-app/.output/public/icons/folder_type_bower.svg +1 -0
  1238. package/nuxt-app/.output/public/icons/folder_type_bower_opened.svg +1 -0
  1239. package/nuxt-app/.output/public/icons/folder_type_buildkite.svg +1 -0
  1240. package/nuxt-app/.output/public/icons/folder_type_buildkite_opened.svg +1 -0
  1241. package/nuxt-app/.output/public/icons/folder_type_cake.svg +1 -0
  1242. package/nuxt-app/.output/public/icons/folder_type_cake_opened.svg +1 -0
  1243. package/nuxt-app/.output/public/icons/folder_type_cargo.svg +1 -0
  1244. package/nuxt-app/.output/public/icons/folder_type_cargo_opened.svg +1 -0
  1245. package/nuxt-app/.output/public/icons/folder_type_certificate.svg +1 -0
  1246. package/nuxt-app/.output/public/icons/folder_type_certificate_opened.svg +1 -0
  1247. package/nuxt-app/.output/public/icons/folder_type_changesets.svg +1 -0
  1248. package/nuxt-app/.output/public/icons/folder_type_changesets_opened.svg +1 -0
  1249. package/nuxt-app/.output/public/icons/folder_type_chef.svg +1 -0
  1250. package/nuxt-app/.output/public/icons/folder_type_chef_opened.svg +1 -0
  1251. package/nuxt-app/.output/public/icons/folder_type_circleci.svg +1 -0
  1252. package/nuxt-app/.output/public/icons/folder_type_circleci_opened.svg +1 -0
  1253. package/nuxt-app/.output/public/icons/folder_type_claude.svg +1 -0
  1254. package/nuxt-app/.output/public/icons/folder_type_claude_opened.svg +1 -0
  1255. package/nuxt-app/.output/public/icons/folder_type_cli.svg +1 -0
  1256. package/nuxt-app/.output/public/icons/folder_type_cli_opened.svg +1 -0
  1257. package/nuxt-app/.output/public/icons/folder_type_client.svg +1 -0
  1258. package/nuxt-app/.output/public/icons/folder_type_client_opened.svg +1 -0
  1259. package/nuxt-app/.output/public/icons/folder_type_cloudflare.svg +1 -0
  1260. package/nuxt-app/.output/public/icons/folder_type_cloudflare_opened.svg +1 -0
  1261. package/nuxt-app/.output/public/icons/folder_type_cmake.svg +1 -0
  1262. package/nuxt-app/.output/public/icons/folder_type_cmake_opened.svg +1 -0
  1263. package/nuxt-app/.output/public/icons/folder_type_common.svg +1 -0
  1264. package/nuxt-app/.output/public/icons/folder_type_common_opened.svg +1 -0
  1265. package/nuxt-app/.output/public/icons/folder_type_component.svg +1 -0
  1266. package/nuxt-app/.output/public/icons/folder_type_component_opened.svg +1 -0
  1267. package/nuxt-app/.output/public/icons/folder_type_composer.svg +1 -0
  1268. package/nuxt-app/.output/public/icons/folder_type_composer_opened.svg +1 -0
  1269. package/nuxt-app/.output/public/icons/folder_type_config.svg +1 -0
  1270. package/nuxt-app/.output/public/icons/folder_type_config_opened.svg +1 -0
  1271. package/nuxt-app/.output/public/icons/folder_type_controller.svg +1 -0
  1272. package/nuxt-app/.output/public/icons/folder_type_controller_opened.svg +1 -0
  1273. package/nuxt-app/.output/public/icons/folder_type_coverage.svg +1 -0
  1274. package/nuxt-app/.output/public/icons/folder_type_coverage_opened.svg +1 -0
  1275. package/nuxt-app/.output/public/icons/folder_type_css.svg +1 -0
  1276. package/nuxt-app/.output/public/icons/folder_type_css2.svg +1 -0
  1277. package/nuxt-app/.output/public/icons/folder_type_css2_opened.svg +1 -0
  1278. package/nuxt-app/.output/public/icons/folder_type_css_opened.svg +1 -0
  1279. package/nuxt-app/.output/public/icons/folder_type_cubit.svg +1 -0
  1280. package/nuxt-app/.output/public/icons/folder_type_cubit_opened.svg +1 -0
  1281. package/nuxt-app/.output/public/icons/folder_type_cursor.svg +1 -0
  1282. package/nuxt-app/.output/public/icons/folder_type_cursor_opened.svg +1 -0
  1283. package/nuxt-app/.output/public/icons/folder_type_cypress.svg +1 -0
  1284. package/nuxt-app/.output/public/icons/folder_type_cypress_opened.svg +1 -0
  1285. package/nuxt-app/.output/public/icons/folder_type_dapr.svg +1 -0
  1286. package/nuxt-app/.output/public/icons/folder_type_dapr_opened.svg +1 -0
  1287. package/nuxt-app/.output/public/icons/folder_type_dart.svg +1 -0
  1288. package/nuxt-app/.output/public/icons/folder_type_dart_opened.svg +1 -0
  1289. package/nuxt-app/.output/public/icons/folder_type_datadog.svg +66 -0
  1290. package/nuxt-app/.output/public/icons/folder_type_datadog_opened.svg +1 -0
  1291. package/nuxt-app/.output/public/icons/folder_type_db.svg +1 -0
  1292. package/nuxt-app/.output/public/icons/folder_type_db_opened.svg +1 -0
  1293. package/nuxt-app/.output/public/icons/folder_type_debian.svg +1 -0
  1294. package/nuxt-app/.output/public/icons/folder_type_debian_opened.svg +1 -0
  1295. package/nuxt-app/.output/public/icons/folder_type_dependabot.svg +1 -0
  1296. package/nuxt-app/.output/public/icons/folder_type_dependabot_opened.svg +1 -0
  1297. package/nuxt-app/.output/public/icons/folder_type_devcontainer.svg +1 -0
  1298. package/nuxt-app/.output/public/icons/folder_type_devcontainer_opened.svg +1 -0
  1299. package/nuxt-app/.output/public/icons/folder_type_dist.svg +1 -0
  1300. package/nuxt-app/.output/public/icons/folder_type_dist_opened.svg +1 -0
  1301. package/nuxt-app/.output/public/icons/folder_type_docker.svg +1 -0
  1302. package/nuxt-app/.output/public/icons/folder_type_docker_opened.svg +1 -0
  1303. package/nuxt-app/.output/public/icons/folder_type_docs.svg +1 -0
  1304. package/nuxt-app/.output/public/icons/folder_type_docs_opened.svg +1 -0
  1305. package/nuxt-app/.output/public/icons/folder_type_e2e.svg +1 -0
  1306. package/nuxt-app/.output/public/icons/folder_type_e2e_opened.svg +1 -0
  1307. package/nuxt-app/.output/public/icons/folder_type_elasticbeanstalk.svg +1 -0
  1308. package/nuxt-app/.output/public/icons/folder_type_elasticbeanstalk_opened.svg +1 -0
  1309. package/nuxt-app/.output/public/icons/folder_type_electron.svg +1 -0
  1310. package/nuxt-app/.output/public/icons/folder_type_electron_opened.svg +1 -0
  1311. package/nuxt-app/.output/public/icons/folder_type_expo.svg +1 -0
  1312. package/nuxt-app/.output/public/icons/folder_type_expo_opened.svg +1 -0
  1313. package/nuxt-app/.output/public/icons/folder_type_favicon.svg +1 -0
  1314. package/nuxt-app/.output/public/icons/folder_type_favicon_opened.svg +1 -0
  1315. package/nuxt-app/.output/public/icons/folder_type_flow.svg +1 -0
  1316. package/nuxt-app/.output/public/icons/folder_type_flow_opened.svg +1 -0
  1317. package/nuxt-app/.output/public/icons/folder_type_flutter.svg +1 -0
  1318. package/nuxt-app/.output/public/icons/folder_type_flutter_opened.svg +1 -0
  1319. package/nuxt-app/.output/public/icons/folder_type_fonts.svg +1 -0
  1320. package/nuxt-app/.output/public/icons/folder_type_fonts_opened.svg +1 -0
  1321. package/nuxt-app/.output/public/icons/folder_type_frontcommerce.svg +1 -0
  1322. package/nuxt-app/.output/public/icons/folder_type_frontcommerce_opened.svg +1 -0
  1323. package/nuxt-app/.output/public/icons/folder_type_gcp.svg +1 -0
  1324. package/nuxt-app/.output/public/icons/folder_type_gcp_opened.svg +1 -0
  1325. package/nuxt-app/.output/public/icons/folder_type_gemini.svg +1 -0
  1326. package/nuxt-app/.output/public/icons/folder_type_gemini_opened.svg +1 -0
  1327. package/nuxt-app/.output/public/icons/folder_type_git.svg +1 -0
  1328. package/nuxt-app/.output/public/icons/folder_type_git_opened.svg +1 -0
  1329. package/nuxt-app/.output/public/icons/folder_type_github.svg +1 -0
  1330. package/nuxt-app/.output/public/icons/folder_type_github_opened.svg +1 -0
  1331. package/nuxt-app/.output/public/icons/folder_type_gitlab.svg +1 -0
  1332. package/nuxt-app/.output/public/icons/folder_type_gitlab_opened.svg +1 -0
  1333. package/nuxt-app/.output/public/icons/folder_type_godot.svg +1 -0
  1334. package/nuxt-app/.output/public/icons/folder_type_godot_opened.svg +1 -0
  1335. package/nuxt-app/.output/public/icons/folder_type_gradle.svg +1 -0
  1336. package/nuxt-app/.output/public/icons/folder_type_gradle_opened.svg +1 -0
  1337. package/nuxt-app/.output/public/icons/folder_type_graphql.svg +1 -0
  1338. package/nuxt-app/.output/public/icons/folder_type_graphql_opened.svg +1 -0
  1339. package/nuxt-app/.output/public/icons/folder_type_grunt.svg +1 -0
  1340. package/nuxt-app/.output/public/icons/folder_type_grunt_opened.svg +1 -0
  1341. package/nuxt-app/.output/public/icons/folder_type_gulp.svg +1 -0
  1342. package/nuxt-app/.output/public/icons/folder_type_gulp_opened.svg +1 -0
  1343. package/nuxt-app/.output/public/icons/folder_type_haxelib.svg +1 -0
  1344. package/nuxt-app/.output/public/icons/folder_type_haxelib_opened.svg +1 -0
  1345. package/nuxt-app/.output/public/icons/folder_type_helper.svg +1 -0
  1346. package/nuxt-app/.output/public/icons/folder_type_helper_opened.svg +1 -0
  1347. package/nuxt-app/.output/public/icons/folder_type_histoire.svg +1 -0
  1348. package/nuxt-app/.output/public/icons/folder_type_histoire_opened.svg +1 -0
  1349. package/nuxt-app/.output/public/icons/folder_type_hook.svg +1 -0
  1350. package/nuxt-app/.output/public/icons/folder_type_hook_opened.svg +1 -0
  1351. package/nuxt-app/.output/public/icons/folder_type_husky.svg +1 -0
  1352. package/nuxt-app/.output/public/icons/folder_type_husky_opened.svg +1 -0
  1353. package/nuxt-app/.output/public/icons/folder_type_idea.svg +1 -0
  1354. package/nuxt-app/.output/public/icons/folder_type_idea_opened.svg +1 -0
  1355. package/nuxt-app/.output/public/icons/folder_type_images.svg +1 -0
  1356. package/nuxt-app/.output/public/icons/folder_type_images_opened.svg +1 -0
  1357. package/nuxt-app/.output/public/icons/folder_type_include.svg +1 -0
  1358. package/nuxt-app/.output/public/icons/folder_type_include_opened.svg +1 -0
  1359. package/nuxt-app/.output/public/icons/folder_type_interfaces.svg +1 -0
  1360. package/nuxt-app/.output/public/icons/folder_type_interfaces_opened.svg +1 -0
  1361. package/nuxt-app/.output/public/icons/folder_type_ios.svg +1 -0
  1362. package/nuxt-app/.output/public/icons/folder_type_ios_opened.svg +1 -0
  1363. package/nuxt-app/.output/public/icons/folder_type_js.svg +1 -0
  1364. package/nuxt-app/.output/public/icons/folder_type_js_opened.svg +1 -0
  1365. package/nuxt-app/.output/public/icons/folder_type_json.svg +1 -0
  1366. package/nuxt-app/.output/public/icons/folder_type_json_official.svg +1 -0
  1367. package/nuxt-app/.output/public/icons/folder_type_json_official_opened.svg +1 -0
  1368. package/nuxt-app/.output/public/icons/folder_type_json_opened.svg +1 -0
  1369. package/nuxt-app/.output/public/icons/folder_type_junie.svg +1 -0
  1370. package/nuxt-app/.output/public/icons/folder_type_junie_opened.svg +1 -0
  1371. package/nuxt-app/.output/public/icons/folder_type_kotlin.svg +1 -0
  1372. package/nuxt-app/.output/public/icons/folder_type_kotlin_opened.svg +1 -0
  1373. package/nuxt-app/.output/public/icons/folder_type_kubernetes.svg +1 -0
  1374. package/nuxt-app/.output/public/icons/folder_type_kubernetes_opened.svg +1 -0
  1375. package/nuxt-app/.output/public/icons/folder_type_less.svg +1 -0
  1376. package/nuxt-app/.output/public/icons/folder_type_less_opened.svg +1 -0
  1377. package/nuxt-app/.output/public/icons/folder_type_library.svg +1 -0
  1378. package/nuxt-app/.output/public/icons/folder_type_library_opened.svg +1 -0
  1379. package/nuxt-app/.output/public/icons/folder_type_light_cursor.svg +1 -0
  1380. package/nuxt-app/.output/public/icons/folder_type_light_cursor_opened.svg +1 -0
  1381. package/nuxt-app/.output/public/icons/folder_type_light_cypress.svg +1 -0
  1382. package/nuxt-app/.output/public/icons/folder_type_light_cypress_opened.svg +1 -0
  1383. package/nuxt-app/.output/public/icons/folder_type_light_electron.svg +1 -0
  1384. package/nuxt-app/.output/public/icons/folder_type_light_electron_opened.svg +1 -0
  1385. package/nuxt-app/.output/public/icons/folder_type_light_expo.svg +1 -0
  1386. package/nuxt-app/.output/public/icons/folder_type_light_expo_opened.svg +1 -0
  1387. package/nuxt-app/.output/public/icons/folder_type_light_fonts.svg +1 -0
  1388. package/nuxt-app/.output/public/icons/folder_type_light_fonts_opened.svg +1 -0
  1389. package/nuxt-app/.output/public/icons/folder_type_light_gradle.svg +1 -0
  1390. package/nuxt-app/.output/public/icons/folder_type_light_gradle_opened.svg +1 -0
  1391. package/nuxt-app/.output/public/icons/folder_type_light_meteor.svg +1 -0
  1392. package/nuxt-app/.output/public/icons/folder_type_light_meteor_opened.svg +1 -0
  1393. package/nuxt-app/.output/public/icons/folder_type_light_mypy.svg +1 -0
  1394. package/nuxt-app/.output/public/icons/folder_type_light_mypy_opened.svg +1 -0
  1395. package/nuxt-app/.output/public/icons/folder_type_light_mysql.svg +1 -0
  1396. package/nuxt-app/.output/public/icons/folder_type_light_mysql_opened.svg +1 -0
  1397. package/nuxt-app/.output/public/icons/folder_type_light_node.svg +1 -0
  1398. package/nuxt-app/.output/public/icons/folder_type_light_node_opened.svg +1 -0
  1399. package/nuxt-app/.output/public/icons/folder_type_light_redux.svg +1 -0
  1400. package/nuxt-app/.output/public/icons/folder_type_light_redux_opened.svg +1 -0
  1401. package/nuxt-app/.output/public/icons/folder_type_light_sass.svg +1 -0
  1402. package/nuxt-app/.output/public/icons/folder_type_light_sass_opened.svg +1 -0
  1403. package/nuxt-app/.output/public/icons/folder_type_light_zed.svg +1 -0
  1404. package/nuxt-app/.output/public/icons/folder_type_light_zed_opened.svg +1 -0
  1405. package/nuxt-app/.output/public/icons/folder_type_linux.svg +1 -0
  1406. package/nuxt-app/.output/public/icons/folder_type_linux_opened.svg +1 -0
  1407. package/nuxt-app/.output/public/icons/folder_type_locale.svg +1 -0
  1408. package/nuxt-app/.output/public/icons/folder_type_locale_opened.svg +1 -0
  1409. package/nuxt-app/.output/public/icons/folder_type_log.svg +1 -0
  1410. package/nuxt-app/.output/public/icons/folder_type_log_opened.svg +1 -0
  1411. package/nuxt-app/.output/public/icons/folder_type_macos.svg +1 -0
  1412. package/nuxt-app/.output/public/icons/folder_type_macos_opened.svg +1 -0
  1413. package/nuxt-app/.output/public/icons/folder_type_mariadb.svg +1 -0
  1414. package/nuxt-app/.output/public/icons/folder_type_mariadb_opened.svg +1 -0
  1415. package/nuxt-app/.output/public/icons/folder_type_maven.svg +1 -0
  1416. package/nuxt-app/.output/public/icons/folder_type_maven_opened.svg +1 -0
  1417. package/nuxt-app/.output/public/icons/folder_type_mediawiki.svg +41 -0
  1418. package/nuxt-app/.output/public/icons/folder_type_mediawiki_opened.svg +42 -0
  1419. package/nuxt-app/.output/public/icons/folder_type_memcached.svg +1 -0
  1420. package/nuxt-app/.output/public/icons/folder_type_memcached_opened.svg +1 -0
  1421. package/nuxt-app/.output/public/icons/folder_type_meteor.svg +1 -0
  1422. package/nuxt-app/.output/public/icons/folder_type_meteor_opened.svg +1 -0
  1423. package/nuxt-app/.output/public/icons/folder_type_middleware.svg +1 -0
  1424. package/nuxt-app/.output/public/icons/folder_type_middleware_opened.svg +1 -0
  1425. package/nuxt-app/.output/public/icons/folder_type_minecraft.svg +1 -0
  1426. package/nuxt-app/.output/public/icons/folder_type_minecraft_opened.svg +1 -0
  1427. package/nuxt-app/.output/public/icons/folder_type_minikube.svg +1 -0
  1428. package/nuxt-app/.output/public/icons/folder_type_minikube_opened.svg +1 -0
  1429. package/nuxt-app/.output/public/icons/folder_type_mjml.svg +1 -0
  1430. package/nuxt-app/.output/public/icons/folder_type_mjml_opened.svg +1 -0
  1431. package/nuxt-app/.output/public/icons/folder_type_mock.svg +1 -0
  1432. package/nuxt-app/.output/public/icons/folder_type_mock_opened.svg +1 -0
  1433. package/nuxt-app/.output/public/icons/folder_type_model.svg +1 -0
  1434. package/nuxt-app/.output/public/icons/folder_type_model_opened.svg +1 -0
  1435. package/nuxt-app/.output/public/icons/folder_type_module.svg +1 -0
  1436. package/nuxt-app/.output/public/icons/folder_type_module_opened.svg +1 -0
  1437. package/nuxt-app/.output/public/icons/folder_type_mojo.svg +1 -0
  1438. package/nuxt-app/.output/public/icons/folder_type_mojo_opened.svg +1 -0
  1439. package/nuxt-app/.output/public/icons/folder_type_mongodb.svg +1 -0
  1440. package/nuxt-app/.output/public/icons/folder_type_mongodb_opened.svg +1 -0
  1441. package/nuxt-app/.output/public/icons/folder_type_mypy.svg +1 -0
  1442. package/nuxt-app/.output/public/icons/folder_type_mypy_opened.svg +1 -0
  1443. package/nuxt-app/.output/public/icons/folder_type_mysql.svg +1 -0
  1444. package/nuxt-app/.output/public/icons/folder_type_mysql_opened.svg +1 -0
  1445. package/nuxt-app/.output/public/icons/folder_type_netlify.svg +1 -0
  1446. package/nuxt-app/.output/public/icons/folder_type_netlify_opened.svg +1 -0
  1447. package/nuxt-app/.output/public/icons/folder_type_next.svg +1 -0
  1448. package/nuxt-app/.output/public/icons/folder_type_next_opened.svg +1 -0
  1449. package/nuxt-app/.output/public/icons/folder_type_nginx.svg +1 -0
  1450. package/nuxt-app/.output/public/icons/folder_type_nginx_opened.svg +1 -0
  1451. package/nuxt-app/.output/public/icons/folder_type_nix.svg +1 -0
  1452. package/nuxt-app/.output/public/icons/folder_type_nix_opened.svg +1 -0
  1453. package/nuxt-app/.output/public/icons/folder_type_node.svg +1 -0
  1454. package/nuxt-app/.output/public/icons/folder_type_node_opened.svg +1 -0
  1455. package/nuxt-app/.output/public/icons/folder_type_notebooks.svg +1 -0
  1456. package/nuxt-app/.output/public/icons/folder_type_notebooks_opened.svg +1 -0
  1457. package/nuxt-app/.output/public/icons/folder_type_notification.svg +1 -0
  1458. package/nuxt-app/.output/public/icons/folder_type_notification_opened.svg +1 -0
  1459. package/nuxt-app/.output/public/icons/folder_type_nuget.svg +1 -0
  1460. package/nuxt-app/.output/public/icons/folder_type_nuget_opened.svg +1 -0
  1461. package/nuxt-app/.output/public/icons/folder_type_nuxt.svg +1 -0
  1462. package/nuxt-app/.output/public/icons/folder_type_nuxt_opened.svg +1 -0
  1463. package/nuxt-app/.output/public/icons/folder_type_package.svg +1 -0
  1464. package/nuxt-app/.output/public/icons/folder_type_package_opened.svg +1 -0
  1465. package/nuxt-app/.output/public/icons/folder_type_paket.svg +1 -0
  1466. package/nuxt-app/.output/public/icons/folder_type_paket_opened.svg +1 -0
  1467. package/nuxt-app/.output/public/icons/folder_type_php.svg +1 -0
  1468. package/nuxt-app/.output/public/icons/folder_type_php_opened.svg +1 -0
  1469. package/nuxt-app/.output/public/icons/folder_type_platformio.svg +1 -0
  1470. package/nuxt-app/.output/public/icons/folder_type_platformio_opened.svg +1 -0
  1471. package/nuxt-app/.output/public/icons/folder_type_plugin.svg +1 -0
  1472. package/nuxt-app/.output/public/icons/folder_type_plugin_opened.svg +1 -0
  1473. package/nuxt-app/.output/public/icons/folder_type_prisma.svg +1 -0
  1474. package/nuxt-app/.output/public/icons/folder_type_prisma_opened.svg +1 -0
  1475. package/nuxt-app/.output/public/icons/folder_type_private.svg +1 -0
  1476. package/nuxt-app/.output/public/icons/folder_type_private_opened.svg +1 -0
  1477. package/nuxt-app/.output/public/icons/folder_type_public.svg +1 -0
  1478. package/nuxt-app/.output/public/icons/folder_type_public_opened.svg +1 -0
  1479. package/nuxt-app/.output/public/icons/folder_type_pytest.svg +1 -0
  1480. package/nuxt-app/.output/public/icons/folder_type_pytest_opened.svg +1 -0
  1481. package/nuxt-app/.output/public/icons/folder_type_python.svg +1 -0
  1482. package/nuxt-app/.output/public/icons/folder_type_python_opened.svg +1 -0
  1483. package/nuxt-app/.output/public/icons/folder_type_ravendb.svg +1 -0
  1484. package/nuxt-app/.output/public/icons/folder_type_ravendb_opened.svg +1 -0
  1485. package/nuxt-app/.output/public/icons/folder_type_redis.svg +1 -0
  1486. package/nuxt-app/.output/public/icons/folder_type_redis_opened.svg +1 -0
  1487. package/nuxt-app/.output/public/icons/folder_type_redux.svg +1 -0
  1488. package/nuxt-app/.output/public/icons/folder_type_redux_opened.svg +1 -0
  1489. package/nuxt-app/.output/public/icons/folder_type_route.svg +1 -0
  1490. package/nuxt-app/.output/public/icons/folder_type_route_opened.svg +1 -0
  1491. package/nuxt-app/.output/public/icons/folder_type_sass.svg +1 -0
  1492. package/nuxt-app/.output/public/icons/folder_type_sass_opened.svg +1 -0
  1493. package/nuxt-app/.output/public/icons/folder_type_script.svg +1 -0
  1494. package/nuxt-app/.output/public/icons/folder_type_script_opened.svg +1 -0
  1495. package/nuxt-app/.output/public/icons/folder_type_seedkit.svg +1 -0
  1496. package/nuxt-app/.output/public/icons/folder_type_seedkit_opened.svg +1 -0
  1497. package/nuxt-app/.output/public/icons/folder_type_server.svg +1 -0
  1498. package/nuxt-app/.output/public/icons/folder_type_server_opened.svg +1 -0
  1499. package/nuxt-app/.output/public/icons/folder_type_services.svg +1 -0
  1500. package/nuxt-app/.output/public/icons/folder_type_services_opened.svg +1 -0
  1501. package/nuxt-app/.output/public/icons/folder_type_shared.svg +1 -0
  1502. package/nuxt-app/.output/public/icons/folder_type_shared_opened.svg +1 -0
  1503. package/nuxt-app/.output/public/icons/folder_type_snaplet.svg +1 -0
  1504. package/nuxt-app/.output/public/icons/folder_type_snaplet_opened.svg +1 -0
  1505. package/nuxt-app/.output/public/icons/folder_type_spin.svg +1 -0
  1506. package/nuxt-app/.output/public/icons/folder_type_spin_opened.svg +1 -0
  1507. package/nuxt-app/.output/public/icons/folder_type_src.svg +1 -0
  1508. package/nuxt-app/.output/public/icons/folder_type_src_opened.svg +1 -0
  1509. package/nuxt-app/.output/public/icons/folder_type_sso.svg +1 -0
  1510. package/nuxt-app/.output/public/icons/folder_type_sso_opened.svg +1 -0
  1511. package/nuxt-app/.output/public/icons/folder_type_story.svg +1 -0
  1512. package/nuxt-app/.output/public/icons/folder_type_story_opened.svg +1 -0
  1513. package/nuxt-app/.output/public/icons/folder_type_style.svg +1 -0
  1514. package/nuxt-app/.output/public/icons/folder_type_style_opened.svg +1 -0
  1515. package/nuxt-app/.output/public/icons/folder_type_supabase.svg +1 -0
  1516. package/nuxt-app/.output/public/icons/folder_type_supabase_opened.svg +1 -0
  1517. package/nuxt-app/.output/public/icons/folder_type_svelte.svg +1 -0
  1518. package/nuxt-app/.output/public/icons/folder_type_svelte_opened.svg +1 -0
  1519. package/nuxt-app/.output/public/icons/folder_type_tauri.svg +1 -0
  1520. package/nuxt-app/.output/public/icons/folder_type_tauri_opened.svg +1 -0
  1521. package/nuxt-app/.output/public/icons/folder_type_temp.svg +1 -0
  1522. package/nuxt-app/.output/public/icons/folder_type_temp_opened.svg +1 -0
  1523. package/nuxt-app/.output/public/icons/folder_type_template.svg +1 -0
  1524. package/nuxt-app/.output/public/icons/folder_type_template_opened.svg +1 -0
  1525. package/nuxt-app/.output/public/icons/folder_type_test.svg +1 -0
  1526. package/nuxt-app/.output/public/icons/folder_type_test_opened.svg +1 -0
  1527. package/nuxt-app/.output/public/icons/folder_type_theme.svg +1 -0
  1528. package/nuxt-app/.output/public/icons/folder_type_theme_opened.svg +1 -0
  1529. package/nuxt-app/.output/public/icons/folder_type_tools.svg +1 -0
  1530. package/nuxt-app/.output/public/icons/folder_type_tools_opened.svg +1 -0
  1531. package/nuxt-app/.output/public/icons/folder_type_travis.svg +1 -0
  1532. package/nuxt-app/.output/public/icons/folder_type_travis_opened.svg +1 -0
  1533. package/nuxt-app/.output/public/icons/folder_type_trunk.svg +1 -0
  1534. package/nuxt-app/.output/public/icons/folder_type_trunk_opened.svg +1 -0
  1535. package/nuxt-app/.output/public/icons/folder_type_turbo.svg +1 -0
  1536. package/nuxt-app/.output/public/icons/folder_type_turbo_opened.svg +1 -0
  1537. package/nuxt-app/.output/public/icons/folder_type_typescript.svg +1 -0
  1538. package/nuxt-app/.output/public/icons/folder_type_typescript_opened.svg +1 -0
  1539. package/nuxt-app/.output/public/icons/folder_type_typings.svg +1 -0
  1540. package/nuxt-app/.output/public/icons/folder_type_typings2.svg +1 -0
  1541. package/nuxt-app/.output/public/icons/folder_type_typings2_opened.svg +1 -0
  1542. package/nuxt-app/.output/public/icons/folder_type_typings_opened.svg +1 -0
  1543. package/nuxt-app/.output/public/icons/folder_type_vagrant.svg +1 -0
  1544. package/nuxt-app/.output/public/icons/folder_type_vagrant_opened.svg +1 -0
  1545. package/nuxt-app/.output/public/icons/folder_type_vercel.svg +1 -0
  1546. package/nuxt-app/.output/public/icons/folder_type_vercel_opened.svg +1 -0
  1547. package/nuxt-app/.output/public/icons/folder_type_video.svg +1 -0
  1548. package/nuxt-app/.output/public/icons/folder_type_video_opened.svg +1 -0
  1549. package/nuxt-app/.output/public/icons/folder_type_view.svg +1 -0
  1550. package/nuxt-app/.output/public/icons/folder_type_view_opened.svg +1 -0
  1551. package/nuxt-app/.output/public/icons/folder_type_vitepress.svg +1 -0
  1552. package/nuxt-app/.output/public/icons/folder_type_vitepress_opened.svg +1 -0
  1553. package/nuxt-app/.output/public/icons/folder_type_vs.svg +1 -0
  1554. package/nuxt-app/.output/public/icons/folder_type_vs2.svg +1 -0
  1555. package/nuxt-app/.output/public/icons/folder_type_vs2_opened.svg +1 -0
  1556. package/nuxt-app/.output/public/icons/folder_type_vs_opened.svg +1 -0
  1557. package/nuxt-app/.output/public/icons/folder_type_vscode.svg +1 -0
  1558. package/nuxt-app/.output/public/icons/folder_type_vscode2.svg +1 -0
  1559. package/nuxt-app/.output/public/icons/folder_type_vscode2_opened.svg +1 -0
  1560. package/nuxt-app/.output/public/icons/folder_type_vscode3.svg +1 -0
  1561. package/nuxt-app/.output/public/icons/folder_type_vscode3_opened.svg +1 -0
  1562. package/nuxt-app/.output/public/icons/folder_type_vscode_opened.svg +1 -0
  1563. package/nuxt-app/.output/public/icons/folder_type_vscode_test.svg +1 -0
  1564. package/nuxt-app/.output/public/icons/folder_type_vscode_test2.svg +1 -0
  1565. package/nuxt-app/.output/public/icons/folder_type_vscode_test2_opened.svg +1 -0
  1566. package/nuxt-app/.output/public/icons/folder_type_vscode_test3.svg +1 -0
  1567. package/nuxt-app/.output/public/icons/folder_type_vscode_test3_opened.svg +1 -0
  1568. package/nuxt-app/.output/public/icons/folder_type_vscode_test_opened.svg +1 -0
  1569. package/nuxt-app/.output/public/icons/folder_type_wasm.svg +1 -0
  1570. package/nuxt-app/.output/public/icons/folder_type_wasm_opened.svg +1 -0
  1571. package/nuxt-app/.output/public/icons/folder_type_webpack.svg +1 -0
  1572. package/nuxt-app/.output/public/icons/folder_type_webpack_opened.svg +1 -0
  1573. package/nuxt-app/.output/public/icons/folder_type_windows.svg +1 -0
  1574. package/nuxt-app/.output/public/icons/folder_type_windows_opened.svg +1 -0
  1575. package/nuxt-app/.output/public/icons/folder_type_windsurf.svg +1 -0
  1576. package/nuxt-app/.output/public/icons/folder_type_windsurf_opened.svg +1 -0
  1577. package/nuxt-app/.output/public/icons/folder_type_wit.svg +1 -0
  1578. package/nuxt-app/.output/public/icons/folder_type_wit_opened.svg +1 -0
  1579. package/nuxt-app/.output/public/icons/folder_type_www.svg +1 -0
  1580. package/nuxt-app/.output/public/icons/folder_type_www_opened.svg +1 -0
  1581. package/nuxt-app/.output/public/icons/folder_type_yarn.svg +1 -0
  1582. package/nuxt-app/.output/public/icons/folder_type_yarn_opened.svg +1 -0
  1583. package/nuxt-app/.output/public/icons/folder_type_zed.svg +1 -0
  1584. package/nuxt-app/.output/public/icons/folder_type_zed_opened.svg +1 -0
  1585. package/nuxt-app/.output/public/index.html +9 -6
  1586. package/package.json +27 -5
  1587. package/server/index.js +45 -10
  1588. package/server/routes/ai-dev/index.js +175 -0
  1589. package/server/routes/ai.js +40 -0
  1590. package/server/routes/files.js +119 -3
  1591. package/server/routes/git.js +276 -0
  1592. package/server/routes/stt.js +66 -0
  1593. package/server/socket.js +411 -21
  1594. package/server/utils/board-hooks.js +30 -0
  1595. package/server/utils/board-state.js +39 -4
  1596. package/server/utils/config.js +2 -0
  1597. package/server/utils/element-hooks.js +17 -0
  1598. package/server/utils/element-instances.js +9 -3
  1599. package/server/utils/element-registry.js +2 -2
  1600. package/server/utils/elements/agent-instance.js +2 -2
  1601. package/server/utils/elements/agent.js +0 -2
  1602. package/server/utils/elements/chat-view.js +2 -2
  1603. package/server/utils/elements/html.js +2 -2
  1604. package/server/utils/elements/terminal.js +38 -0
  1605. package/server/utils/elements/web-preview.js +31 -0
  1606. package/server/utils/file-utils.js +94 -20
  1607. package/server/utils/file-watcher.js +93 -0
  1608. package/server/utils/git.js +516 -0
  1609. package/server/utils/orchestration-graph.js +359 -0
  1610. package/server/utils/server-app.js +23 -0
  1611. package/server/utils/session-watcher.js +2 -63
  1612. package/server/utils/terminal-manager.js +212 -0
  1613. package/server/utils/veil-client.js +229 -9
  1614. package/server/utils/veil-ws.js +66 -0
  1615. package/nuxt-app/.output/public/_nuxt/builds/latest.json +0 -1
  1616. package/nuxt-app/.output/public/_nuxt/builds/meta/6b28df26-54af-4fad-a1f0-38808960d9fe.json +0 -1
  1617. package/nuxt-app/.output/public/_nuxt/entry.BrrOeBSX.js +0 -120
  1618. package/nuxt-app/.output/public/_nuxt/entry.CYnp7zY5.css +0 -1
  1619. package/nuxt-app/.output/public/_nuxt/index.BEoXSIOu.css +0 -1
  1620. package/nuxt-app/.output/public/_nuxt/index.CNms2yAq.js +0 -1
@@ -2,6 +2,8 @@
2
2
 
3
3
  const { randomUUID } = require('crypto')
4
4
  const { getIO } = require('./socket-io.js')
5
+ const hooks = require('./board-hooks.js')
6
+ const { getElementType } = require('./element-registry.js')
5
7
  const {
6
8
  dbGetElements, dbGetElement, dbInsertElement, dbUpdateElement, dbDeleteElement,
7
9
  dbGetLinks, dbInsertLink, dbDeleteLink,
@@ -61,14 +63,20 @@ function broadcast(delta) {
61
63
  // ─── Elements ──────────────────────────────────────────────────────────────
62
64
 
63
65
  function createElement(partial) {
66
+ hooks.emit('beforeElementCreate', partial)
64
67
  const now = Date.now()
68
+ // Use the registered element type's default size when the caller didn't
69
+ // pass an explicit width/height. Without this lookup the registry values
70
+ // are ignored at runtime and every untyped caller falls back to 160×80
71
+ // regardless of what the type definition declared.
72
+ const typeDef = getElementType(partial.type)
65
73
  const el = {
66
74
  id: randomUUID(),
67
75
  type: partial.type,
68
76
  x: partial.x ?? 0,
69
77
  y: partial.y ?? 0,
70
- width: partial.width ?? 160,
71
- height: partial.height ?? 80,
78
+ width: partial.width ?? typeDef?.defaultWidth ?? 160,
79
+ height: partial.height ?? typeDef?.defaultHeight ?? 80,
72
80
  data: partial.data ?? {},
73
81
  zoneId: partial.zoneId ?? null,
74
82
  expansionMode: partial.expansionMode ?? 'inline',
@@ -80,46 +88,51 @@ function createElement(partial) {
80
88
  dbInsertElement(el)
81
89
  elements.set(el.id, el)
82
90
  broadcast({ type: 'element:add', element: el })
91
+ hooks.emit('afterElementCreate', el)
83
92
  return el
84
93
  }
85
94
 
86
95
  function updateElement(id, changes) {
96
+ hooks.emit('beforeElementUpdate', id, changes)
87
97
  const existing = elements.get(id)
88
98
  if (!existing) throw new Error(`Element not found: ${id}`)
89
99
  const updated = { ...existing, ...changes, id, updatedAt: Date.now() }
90
100
  dbUpdateElement(id, updated)
91
101
  elements.set(id, updated)
92
102
  broadcast({ type: 'element:update', id, changes: { ...changes, updatedAt: updated.updatedAt } })
103
+ hooks.emit('afterElementUpdate', id, updated)
93
104
  return updated
94
105
  }
95
106
 
96
107
  function removeElement(id) {
108
+ hooks.emit('beforeElementRemove', id)
97
109
  const el = elements.get(id)
98
110
  if (!el) throw new Error(`Element not found: ${id}`)
99
111
  const item = { id, elementData: el, timestamp: Date.now() }
100
112
  dbInsertDeleted(item)
101
113
  dbDeleteElement(id)
102
114
  elements.delete(id)
103
- // Remove associated links from memory (DB cascade handles DB)
104
115
  for (const [lid, link] of links) {
105
116
  if (link.fromElementId === id || link.toElementId === id) links.delete(lid)
106
117
  }
107
118
  broadcast({ type: 'element:remove', id })
119
+ hooks.emit('afterElementRemove', id, item)
108
120
  return item
109
121
  }
110
122
 
111
123
  function archiveElement(id) {
124
+ hooks.emit('beforeElementArchive', id)
112
125
  const el = elements.get(id)
113
126
  if (!el) throw new Error(`Element not found: ${id}`)
114
127
  const item = { id, elementData: el, timestamp: Date.now() }
115
128
  dbInsertArchive(item)
116
129
  dbDeleteElement(id)
117
130
  elements.delete(id)
118
- // Remove associated links from memory (DB cascade handles DB)
119
131
  for (const [lid, link] of links) {
120
132
  if (link.fromElementId === id || link.toElementId === id) links.delete(lid)
121
133
  }
122
134
  broadcast({ type: 'element:remove', id })
135
+ hooks.emit('afterElementArchive', id, item)
123
136
  return item
124
137
  }
125
138
 
@@ -137,17 +150,20 @@ function duplicateElement(id, offsetX = 40, offsetY = 40) {
137
150
  }
138
151
 
139
152
  function updateElementState(id, state) {
153
+ hooks.emit('beforeElementStateChange', id, state)
140
154
  const el = elements.get(id)
141
155
  if (!el) return
142
156
  el.state = state
143
157
  el.updatedAt = Date.now()
144
158
  dbUpdateElement(id, el)
145
159
  broadcast({ type: 'element:state', id, state })
160
+ hooks.emit('afterElementStateChange', id, state)
146
161
  }
147
162
 
148
163
  // ─── Links ─────────────────────────────────────────────────────────────────
149
164
 
150
165
  function createLink(partial) {
166
+ hooks.emit('beforeLinkCreate', partial)
151
167
  if (!elements.has(partial.fromElementId)) throw new Error(`Source element not found: ${partial.fromElementId}`)
152
168
  if (!elements.has(partial.toElementId)) throw new Error(`Target element not found: ${partial.toElementId}`)
153
169
 
@@ -163,20 +179,24 @@ function createLink(partial) {
163
179
  dbInsertLink(link)
164
180
  links.set(link.id, link)
165
181
  broadcast({ type: 'link:add', link })
182
+ hooks.emit('afterLinkCreate', link)
166
183
  return link
167
184
  }
168
185
 
169
186
  function removeLink(id) {
187
+ hooks.emit('beforeLinkRemove', id)
170
188
  const link = links.get(id)
171
189
  if (!link) throw new Error(`Link not found: ${id}`)
172
190
  dbDeleteLink(id)
173
191
  links.delete(id)
174
192
  broadcast({ type: 'link:remove', id })
193
+ hooks.emit('afterLinkRemove', id)
175
194
  }
176
195
 
177
196
  // ─── Zones ─────────────────────────────────────────────────────────────────
178
197
 
179
198
  function createZone(partial) {
199
+ hooks.emit('beforeZoneCreate', partial)
180
200
  const now = Date.now()
181
201
  const zone = {
182
202
  id: randomUUID(),
@@ -194,30 +214,36 @@ function createZone(partial) {
194
214
  dbInsertZone(zone)
195
215
  zones.set(zone.id, zone)
196
216
  broadcast({ type: 'zone:add', zone })
217
+ hooks.emit('afterZoneCreate', zone)
197
218
  return zone
198
219
  }
199
220
 
200
221
  function updateZone(id, changes) {
222
+ hooks.emit('beforeZoneUpdate', id, changes)
201
223
  const existing = zones.get(id)
202
224
  if (!existing) throw new Error(`Zone not found: ${id}`)
203
225
  const updated = { ...existing, ...changes, id, updatedAt: Date.now() }
204
226
  dbUpdateZone(id, updated)
205
227
  zones.set(id, updated)
206
228
  broadcast({ type: 'zone:update', id, changes: { ...changes, updatedAt: updated.updatedAt } })
229
+ hooks.emit('afterZoneUpdate', id, updated)
207
230
  return updated
208
231
  }
209
232
 
210
233
  function removeZone(id) {
234
+ hooks.emit('beforeZoneRemove', id)
211
235
  const zone = zones.get(id)
212
236
  if (!zone) throw new Error(`Zone not found: ${id}`)
213
237
  dbDeleteZone(id)
214
238
  zones.delete(id)
215
239
  broadcast({ type: 'zone:remove', id })
240
+ hooks.emit('afterZoneRemove', id)
216
241
  }
217
242
 
218
243
  // ─── Views ─────────────────────────────────────────────────────────────────
219
244
 
220
245
  function createView(partial) {
246
+ hooks.emit('beforeViewCreate', partial)
221
247
  const view = {
222
248
  id: randomUUID(),
223
249
  name: partial.name || 'View',
@@ -229,15 +255,18 @@ function createView(partial) {
229
255
  dbInsertView(view)
230
256
  views.set(view.id, view)
231
257
  broadcast({ type: 'view:add', view })
258
+ hooks.emit('afterViewCreate', view)
232
259
  return view
233
260
  }
234
261
 
235
262
  function removeView(id) {
263
+ hooks.emit('beforeViewRemove', id)
236
264
  const view = views.get(id)
237
265
  if (!view) throw new Error(`View not found: ${id}`)
238
266
  dbDeleteView(id)
239
267
  views.delete(id)
240
268
  broadcast({ type: 'view:remove', id })
269
+ hooks.emit('afterViewRemove', id)
241
270
  }
242
271
 
243
272
  // ─── Archive / Deleted bins ────────────────────────────────────────────────
@@ -277,6 +306,7 @@ function setMeta(key, value) { dbSetMeta(key, value) }
277
306
  // ─── Shapes ─────────────────────────────────────────────────────────────────
278
307
 
279
308
  function createShape(partial) {
309
+ hooks.emit('beforeShapeCreate', partial)
280
310
  const now = Date.now()
281
311
  const s = {
282
312
  id: randomUUID(),
@@ -297,25 +327,30 @@ function createShape(partial) {
297
327
  dbInsertShape(s)
298
328
  shapes.set(s.id, s)
299
329
  broadcast({ type: 'shape:add', shape: s })
330
+ hooks.emit('afterShapeCreate', s)
300
331
  return s
301
332
  }
302
333
 
303
334
  function updateShape(id, changes) {
335
+ hooks.emit('beforeShapeUpdate', id, changes)
304
336
  const existing = shapes.get(id)
305
337
  if (!existing) throw new Error(`Shape not found: ${id}`)
306
338
  const updated = { ...existing, ...changes, id, updatedAt: Date.now() }
307
339
  dbUpdateShape(id, updated)
308
340
  shapes.set(id, updated)
309
341
  broadcast({ type: 'shape:update', id, changes: { ...changes, updatedAt: updated.updatedAt } })
342
+ hooks.emit('afterShapeUpdate', id, updated)
310
343
  return updated
311
344
  }
312
345
 
313
346
  function removeShape(id) {
347
+ hooks.emit('beforeShapeRemove', id)
314
348
  const s = shapes.get(id)
315
349
  if (!s) throw new Error(`Shape not found: ${id}`)
316
350
  dbDeleteShape(id)
317
351
  shapes.delete(id)
318
352
  broadcast({ type: 'shape:remove', id })
353
+ hooks.emit('afterShapeRemove', id)
319
354
  }
320
355
 
321
356
  // ─── Read helpers for ElementContext ───────────────────────────────────────
@@ -34,6 +34,7 @@ try {
34
34
  } catch (_) {}
35
35
 
36
36
  const STUDIO_SECRET = process.env.STUDIO_SECRET || studioConfig.secret || ''
37
+ const STUDIO_EXTENSIONS_CONFIG = studioConfig.extensions ?? {}
37
38
 
38
39
  const DB_PATH = path.join(PROJECT_DIR, '.veil-studio', 'studio.db')
39
40
  const ELEMENTS_DIR = path.join(PROJECT_DIR, '.veil-studio', 'elements')
@@ -48,4 +49,5 @@ module.exports = {
48
49
  DB_PATH,
49
50
  ELEMENTS_DIR,
50
51
  VEIL_WS_URL,
52
+ STUDIO_EXTENSIONS_CONFIG,
51
53
  }
@@ -0,0 +1,17 @@
1
+ 'use strict'
2
+
3
+ const { EventEmitter } = require('events')
4
+
5
+ /**
6
+ * Element instance lifecycle hooks.
7
+ *
8
+ * Events:
9
+ * afterInstanceCreated(elementId, instance, element)
10
+ * afterInstanceDestroyed(elementId)
11
+ * beforeActionInvoked(elementId, action, params)
12
+ * afterActionInvoked(elementId, action, params, result)
13
+ */
14
+ const hooks = new EventEmitter()
15
+ hooks.setMaxListeners(50)
16
+
17
+ module.exports = hooks
@@ -4,6 +4,7 @@ const { getElementType } = require('./element-registry.js')
4
4
  const boardState = require('./board-state.js')
5
5
  const { veilGet, veilPost, veilPut, veilDelete } = require('./veil-client.js')
6
6
  const { getIO } = require('./socket-io.js')
7
+ const hooks = require('./element-hooks.js')
7
8
 
8
9
  const instances = new Map()
9
10
 
@@ -37,6 +38,7 @@ function createInstance(element) {
37
38
  const ctx = _buildContext(element)
38
39
  const instance = def.createInstance(ctx)
39
40
  instances.set(element.id, instance)
41
+ hooks.emit('afterInstanceCreated', element.id, instance, element)
40
42
  return instance
41
43
  } catch (err) {
42
44
  console.error(`[element-instances] Failed to create instance for ${element.type}:${element.id}:`, err.message)
@@ -57,6 +59,7 @@ async function destroyInstance(elementId) {
57
59
  console.error(`[element-instances] onDestroy error for ${elementId}:`, err.message)
58
60
  }
59
61
  instances.delete(elementId)
62
+ hooks.emit('afterInstanceDestroyed', elementId)
60
63
  }
61
64
 
62
65
  async function invokeAction(elementId, action, params) {
@@ -65,7 +68,10 @@ async function invokeAction(elementId, action, params) {
65
68
  if (!instance.actions || typeof instance.actions[action] !== 'function') {
66
69
  throw new Error(`Action "${action}" not found on element ${elementId}`)
67
70
  }
68
- return instance.actions[action](params)
71
+ hooks.emit('beforeActionInvoked', elementId, action, params)
72
+ const result = await instance.actions[action](params)
73
+ hooks.emit('afterActionInvoked', elementId, action, params, result)
74
+ return result
69
75
  }
70
76
 
71
77
  function getViewData(elementId) {
@@ -80,8 +86,8 @@ function getPorts(elementId) {
80
86
  try { return instance.getPorts() } catch (_) { return [] }
81
87
  }
82
88
 
83
- function recreateInstance(element) {
84
- destroyInstance(element.id)
89
+ async function recreateInstance(element) {
90
+ await destroyInstance(element.id)
85
91
  return createInstance(element)
86
92
  }
87
93
 
@@ -96,8 +96,8 @@ function getClientComponentDefinitions() {
96
96
  const ELEMENTS_SERVER_DIR = path.join(__dirname, 'elements')
97
97
 
98
98
  const BUILTIN_TYPES = [
99
- 'agent', 'agent-instance', 'chat-view', 'task', 'todo-list',
100
- 'text', 'markdown', 'code-block', 'json-object', 'html', 'file-reference', 'image', 'image-local', 'url-card', 'web-snapshot',
99
+ 'agent', 'agent-instance', 'chat-view', 'task', 'terminal', 'todo-list',
100
+ 'text', 'markdown', 'code-block', 'json-object', 'html', 'web-preview', 'file-reference', 'image', 'image-local', 'url-card', 'web-snapshot',
101
101
  'source-collection', 'research-note', 'comparison-table', 'fact-claim', 'question', 'web-search-query',
102
102
  'document-draft', 'outline', 'section', 'template',
103
103
  'diff-patch', 'notification', 'test-case',
@@ -5,8 +5,8 @@ module.exports = {
5
5
  name: 'Agent Instance',
6
6
  description: 'An active chat session with a VeilCLI agent.',
7
7
  icon: 'message-circle',
8
- defaultWidth: 180,
9
- defaultHeight: 90,
8
+ defaultWidth: 260,
9
+ defaultHeight: 160,
10
10
  expansionMode: 'sidebar',
11
11
  tags: ['cli', 'agent', 'chat'],
12
12
  isBuiltIn: true,
@@ -59,8 +59,6 @@ module.exports = {
59
59
  type: 'agent-instance',
60
60
  x: element.x + 200,
61
61
  y: element.y,
62
- width: 180,
63
- height: 110,
64
62
  data: { agentName, sessionId },
65
63
  })
66
64
 
@@ -5,8 +5,8 @@ module.exports = {
5
5
  name: 'Chat View',
6
6
  description: 'Inline chat panel for an agent session. Created automatically from an agent instance.',
7
7
  icon: '💬',
8
- defaultWidth: 320,
9
- defaultHeight: 440,
8
+ defaultWidth: 400,
9
+ defaultHeight: 450,
10
10
  hiddenFromPalette: true,
11
11
  tags: ['cli'],
12
12
  isBuiltIn: true,
@@ -2,8 +2,8 @@
2
2
 
3
3
  module.exports = {
4
4
  type: 'html',
5
- name: 'HTML Preview',
6
- description: 'Write HTML in edit mode, preview it live via a sandboxed iframe.',
5
+ name: 'HTML Code Preview',
6
+ description: 'Write HTML code in edit mode, preview it live via a sandboxed iframe.',
7
7
  icon: 'code-tags',
8
8
  defaultWidth: 320,
9
9
  defaultHeight: 240,
@@ -0,0 +1,38 @@
1
+ 'use strict'
2
+
3
+ const terminalManager = require('../terminal-manager.js')
4
+
5
+ module.exports = {
6
+ type: 'terminal',
7
+ name: 'Terminal',
8
+ description: 'Integrated terminal — runs a live shell session',
9
+ icon: 'mdi-console',
10
+ defaultWidth: 560,
11
+ defaultHeight: 340,
12
+ expansionMode: 'inline',
13
+ tags: ['cli', 'dev'],
14
+ isBuiltIn: true,
15
+
16
+ createInstance({ element }) {
17
+ const terminalId = element.id
18
+
19
+ return {
20
+ getViewData() {
21
+ return {
22
+ terminalId,
23
+ pid: terminalManager.getPID(terminalId),
24
+ exited: terminalManager.isExited(terminalId),
25
+ }
26
+ },
27
+
28
+ getPorts() { return [] },
29
+
30
+ // Terminal is driven via terminal:* socket events — no element:action needed
31
+ actions: {},
32
+
33
+ onDestroy() {
34
+ terminalManager.destroyPTY(terminalId)
35
+ },
36
+ }
37
+ },
38
+ }
@@ -0,0 +1,31 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ type: 'web-preview',
5
+ name: 'Web Preview',
6
+ description: 'Render a project HTML file in an iframe with auto-refresh on file change.',
7
+ icon: 'globe',
8
+ defaultWidth: 400,
9
+ defaultHeight: 250,
10
+ tags: ['data', 'dev'],
11
+ isBuiltIn: true,
12
+
13
+ createInstance(context) {
14
+ const { element } = context
15
+ return {
16
+ getViewData() {
17
+ // isHidden / isKilled are NOT exposed via viewData — the server only
18
+ // re-pushes viewData on creation / streaming changes, so a stale
19
+ // viewData snapshot would mask later element.data updates. The Vue
20
+ // component reads those flags from element.data directly instead.
21
+ return {
22
+ filePath: element.data.filePath || '',
23
+ }
24
+ },
25
+ getPorts() {
26
+ return []
27
+ },
28
+ actions: {},
29
+ }
30
+ },
31
+ }
@@ -2,14 +2,31 @@
2
2
 
3
3
  const path = require('path')
4
4
  const fs = require('fs')
5
+ const { execSync } = require('child_process')
5
6
  const { PROJECT_DIR } = require('./config.js')
6
7
 
7
8
  const EXCLUDED_NAMES = new Set(['node_modules', '.git', '.nuxt', '.output', '.cache'])
9
+
10
+ // ── Per-file write lock (serialize concurrent writes to the same path) ──────
11
+ const _locks = new Map() // relativePath -> Promise
12
+
13
+ function acquireLock(relativePath) {
14
+ const prev = _locks.get(relativePath) || Promise.resolve()
15
+ let release
16
+ const lock = new Promise(resolve => { release = resolve })
17
+ _locks.set(relativePath, prev.then(() => lock))
18
+ return prev.then(() => release)
19
+ }
8
20
  const MAX_DEPTH = 6
9
21
 
10
22
  function _safePath(relativePath) {
11
23
  const resolved = path.resolve(PROJECT_DIR, relativePath)
12
- if (!resolved.startsWith(PROJECT_DIR)) {
24
+ // Guard against sibling-directory bypass: a plain `startsWith(PROJECT_DIR)`
25
+ // accepts paths like `<PROJECT_DIR>_evil/...` because the prefix happens to
26
+ // match. Compare with the trailing separator (or exact equality for the dir
27
+ // itself) so only true descendants pass.
28
+ const allowed = resolved === PROJECT_DIR || resolved.startsWith(PROJECT_DIR + path.sep)
29
+ if (!allowed) {
13
30
  const err = new Error(`Access denied: path outside PROJECT_DIR`)
14
31
  err.status = 403
15
32
  throw err
@@ -19,30 +36,77 @@ function _safePath(relativePath) {
19
36
 
20
37
  function buildFileTree(dir = PROJECT_DIR, depth = 0) {
21
38
  if (depth >= MAX_DEPTH) return []
22
- const entries = fs.readdirSync(dir, { withFileTypes: true })
23
- const result = []
39
+ let entries
40
+ try { entries = fs.readdirSync(dir, { withFileTypes: true }) } catch { return [] }
41
+ const dirs = []
42
+ const files = []
24
43
  for (const entry of entries) {
25
44
  if (EXCLUDED_NAMES.has(entry.name)) continue
26
45
  const fullPath = path.join(dir, entry.name)
27
- const relPath = path.relative(PROJECT_DIR, fullPath)
28
- if (entry.isDirectory()) {
29
- result.push({
30
- name: entry.name,
31
- path: relPath,
32
- type: 'directory',
33
- children: buildFileTree(fullPath, depth + 1),
34
- })
35
- } else {
46
+ const relPath = path.relative(PROJECT_DIR, fullPath)
47
+ try {
36
48
  const stat = fs.statSync(fullPath)
37
- result.push({
38
- name: entry.name,
39
- path: relPath,
40
- type: 'file',
41
- size: stat.size,
42
- })
49
+ if (entry.isDirectory()) {
50
+ dirs.push({
51
+ name: entry.name,
52
+ path: relPath,
53
+ type: 'directory',
54
+ mtime: stat.mtimeMs,
55
+ children: buildFileTree(fullPath, depth + 1),
56
+ })
57
+ } else {
58
+ files.push({
59
+ name: entry.name,
60
+ path: relPath,
61
+ type: 'file',
62
+ size: stat.size,
63
+ mtime: stat.mtimeMs,
64
+ })
65
+ }
66
+ } catch { /* skip inaccessible entries */ }
67
+ }
68
+ dirs.sort((a, b) => a.name.localeCompare(b.name))
69
+ files.sort((a, b) => a.name.localeCompare(b.name))
70
+ return [...dirs, ...files]
71
+ }
72
+
73
+ function getGitStatus() {
74
+ try {
75
+ const output = execSync('git status --porcelain', {
76
+ cwd: PROJECT_DIR,
77
+ timeout: 3000,
78
+ encoding: 'utf8',
79
+ })
80
+ const result = {}
81
+ for (const line of output.split('\n')) {
82
+ if (!line.trim()) continue
83
+ const x = line[0]
84
+ const y = line[1]
85
+ let filePath = line.slice(3).trim()
86
+ // Renamed: "old -> new"
87
+ if (filePath.includes(' -> ')) filePath = filePath.split(' -> ')[1]
88
+ // Quoted paths
89
+ if (filePath.startsWith('"')) filePath = filePath.slice(1, -1)
90
+ // Strip trailing slash (git marks untracked dirs with "/" e.g. "?? .veil/")
91
+ if (filePath.endsWith('/')) filePath = filePath.slice(0, -1)
92
+ if (x === '?' && y === '?') {
93
+ result[filePath] = 'U'
94
+ } else if (x === 'D' || y === 'D') {
95
+ result[filePath] = 'D'
96
+ } else if (x === 'R' || y === 'R') {
97
+ result[filePath] = 'R'
98
+ } else {
99
+ result[filePath] = 'M'
100
+ }
43
101
  }
102
+ return result
103
+ } catch {
104
+ return null // not a git repo or git not available
44
105
  }
45
- return result
106
+ }
107
+
108
+ function getProjectFilePath(relativePath) {
109
+ return _safePath(relativePath)
46
110
  }
47
111
 
48
112
  function readProjectFile(relativePath) {
@@ -69,7 +133,7 @@ function renameProjectFile(fromRel, toRel) {
69
133
  }
70
134
 
71
135
  function deleteProjectPath(relativePath) {
72
- const abs = _safePath(relativePath)
136
+ const abs = _safePath(relativePath)
73
137
  const stat = fs.statSync(abs)
74
138
  if (stat.isDirectory()) {
75
139
  fs.rmSync(abs, { recursive: true, force: true })
@@ -78,11 +142,21 @@ function deleteProjectPath(relativePath) {
78
142
  }
79
143
  }
80
144
 
145
+ function writeProjectFileBuffer(relativePath, buffer) {
146
+ const abs = _safePath(relativePath)
147
+ fs.mkdirSync(path.dirname(abs), { recursive: true })
148
+ fs.writeFileSync(abs, buffer)
149
+ }
150
+
81
151
  module.exports = {
82
152
  buildFileTree,
153
+ getGitStatus,
154
+ getProjectFilePath,
83
155
  readProjectFile,
84
156
  writeProjectFile,
157
+ writeProjectFileBuffer,
85
158
  createProjectDir,
86
159
  renameProjectFile,
87
160
  deleteProjectPath,
161
+ acquireLock,
88
162
  }
@@ -0,0 +1,93 @@
1
+ 'use strict'
2
+
3
+ const path = require('path')
4
+ const { watch } = require('chokidar')
5
+ const { PROJECT_DIR, ELEMENTS_DIR } = require('./config.js')
6
+ const { getIO } = require('./socket-io.js')
7
+
8
+ let _watcher = null
9
+
10
+ const IGNORED = [
11
+ '**/node_modules/**',
12
+ '**/.git/**',
13
+ '**/.nuxt/**',
14
+ '**/.output/**',
15
+ '**/.cache/**',
16
+ '**/studio.db',
17
+ '**/studio.db-journal',
18
+ '**/studio.db-wal',
19
+ ]
20
+
21
+ // ── Suppress: prevent double-notification for Studio-initiated mutations ────
22
+ const _suppressed = new Set()
23
+
24
+ function suppressPath(relPath) {
25
+ _suppressed.add(relPath)
26
+ setTimeout(() => _suppressed.delete(relPath), 1000)
27
+ }
28
+
29
+ // ── Debounce: batch rapid events into a single emission ─────────────────────
30
+ const _pending = new Map()
31
+ const DEBOUNCE_MS = 300
32
+
33
+ function _emitChange(eventType, relPath) {
34
+ if (_suppressed.has(relPath)) {
35
+ _suppressed.delete(relPath)
36
+ return
37
+ }
38
+
39
+ const existing = _pending.get(relPath)
40
+ if (existing) clearTimeout(existing.timeout)
41
+
42
+ _pending.set(relPath, {
43
+ type: eventType,
44
+ timeout: setTimeout(() => {
45
+ _pending.delete(relPath)
46
+ try {
47
+ getIO().emit('files:changed', { type: eventType, path: relPath })
48
+ } catch (_) { /* IO not ready yet */ }
49
+
50
+ if (_isElementsPath(relPath)) {
51
+ try { getIO().emit('files:elements-changed') } catch (_) {}
52
+ }
53
+ }, DEBOUNCE_MS),
54
+ })
55
+ }
56
+
57
+ function _isElementsPath(relPath) {
58
+ const elementsRel = path.relative(PROJECT_DIR, ELEMENTS_DIR)
59
+ return relPath.startsWith(elementsRel + path.sep) || relPath === elementsRel
60
+ }
61
+
62
+ // ── Public API ──────────────────────────────────────────────────────────────
63
+
64
+ function startFileWatcher() {
65
+ if (_watcher) return
66
+
67
+ _watcher = watch(PROJECT_DIR, {
68
+ ignored: IGNORED,
69
+ persistent: true,
70
+ ignoreInitial: true,
71
+ awaitWriteFinish: { stabilityThreshold: 100, pollInterval: 50 },
72
+ depth: 10,
73
+ })
74
+
75
+ _watcher
76
+ .on('add', (abs) => _emitChange('add', path.relative(PROJECT_DIR, abs)))
77
+ .on('change', (abs) => _emitChange('change', path.relative(PROJECT_DIR, abs)))
78
+ .on('unlink', (abs) => _emitChange('unlink', path.relative(PROJECT_DIR, abs)))
79
+ .on('addDir', (abs) => _emitChange('addDir', path.relative(PROJECT_DIR, abs)))
80
+ .on('unlinkDir', (abs) => _emitChange('unlinkDir', path.relative(PROJECT_DIR, abs)))
81
+ .on('error', (err) => console.error('[file-watcher] Error:', err.message))
82
+
83
+ console.log(' File watcher active')
84
+ }
85
+
86
+ function stopFileWatcher() {
87
+ if (_watcher) {
88
+ _watcher.close()
89
+ _watcher = null
90
+ }
91
+ }
92
+
93
+ module.exports = { startFileWatcher, stopFileWatcher, suppressPath }