c0ckp1t 1.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 (676) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +5 -0
  3. package/c0ckp1t-demo/Constants.mjs +125 -0
  4. package/c0ckp1t-demo/components/sidebar.vue +82 -0
  5. package/c0ckp1t-demo/main.vue +39 -0
  6. package/c0ckp1t-demo/pages/devices.vue +63 -0
  7. package/c0ckp1t-demo/pages/homepage.vue +63 -0
  8. package/c0ckp1t-demo/pages/report.vue +63 -0
  9. package/c0ckp1t-demo/store.mjs +133 -0
  10. package/components/ExecButton.vue +62 -0
  11. package/components/FsTree.vue +550 -0
  12. package/components/Markdown.mjs +274 -0
  13. package/components/MarkdownUtils.mjs +180 -0
  14. package/components/Tree.mjs +175 -0
  15. package/components/code-mirror.vue +445 -0
  16. package/components/vue3-ace-editor.vue +331 -0
  17. package/components/xbutton.vue +45 -0
  18. package/components/xcard-h.vue +175 -0
  19. package/components/xcard.vue +76 -0
  20. package/components/xcheck.vue +35 -0
  21. package/components/xcheckbox.vue +52 -0
  22. package/components/xcode.vue +139 -0
  23. package/components/xcollapse.vue +52 -0
  24. package/components/xcolor.vue +84 -0
  25. package/components/xdropdown.vue +104 -0
  26. package/components/xdropdown2.vue +140 -0
  27. package/components/xhidden.vue +30 -0
  28. package/components/xinput.vue +101 -0
  29. package/components/xinput2.vue +101 -0
  30. package/components/xjson.vue +95 -0
  31. package/components/xkv.vue +41 -0
  32. package/components/xlabel.vue +56 -0
  33. package/components/xlist.vue +83 -0
  34. package/components/xmap.vue +106 -0
  35. package/components/xmarkdown.vue +269 -0
  36. package/components/xnav.vue +98 -0
  37. package/components/xsection.vue +164 -0
  38. package/components/xsound.vue +251 -0
  39. package/components/xtable-open.vue +179 -0
  40. package/components/xtabs.vue +72 -0
  41. package/components/xterminal.vue +456 -0
  42. package/components/xtextarea.vue +83 -0
  43. package/components/xtoggle.vue +68 -0
  44. package/components/xtoggle3.vue +67 -0
  45. package/components/xtree.vue +140 -0
  46. package/components/xupload.vue +129 -0
  47. package/core/Content.mjs +92 -0
  48. package/core/DocUtils.mjs +189 -0
  49. package/core/GlobalStore.mjs +329 -0
  50. package/core/Island.mjs +429 -0
  51. package/core/IslandDefault.mjs +229 -0
  52. package/core/JsUtils.mjs +483 -0
  53. package/core/Logging.mjs +59 -0
  54. package/core/Page404.vue +152 -0
  55. package/core/PageFallback.vue +168 -0
  56. package/core/PageMain.vue +181 -0
  57. package/core/Theme.mjs +1759 -0
  58. package/core/VueUtils.mjs +200 -0
  59. package/core/WsUtils.mjs +274 -0
  60. package/core/img/Flag_of_the_United_States.svg +25 -0
  61. package/core/img/logo_v1.svg +98 -0
  62. package/core/img/logo_v2.svg +98 -0
  63. package/core/img/state-uniqueId-8k.wav +0 -0
  64. package/core/main-offcanvas.vue +99 -0
  65. package/core/nodes/_api.vue +82 -0
  66. package/core/nodes/node-container.vue +103 -0
  67. package/core/nodes/node.vue +246 -0
  68. package/core/nodes/place-holder.vue +47 -0
  69. package/core/nodes/root.vue +52 -0
  70. package/core/notify/NotifyUtils.mjs +150 -0
  71. package/core/notify/toast.vue +150 -0
  72. package/core/pages/About.vue +57 -0
  73. package/core/pages/Cache.vue +155 -0
  74. package/core/pages/Connection.vue +192 -0
  75. package/core/pages/Connections.vue +102 -0
  76. package/core/pages/Documentation.vue +263 -0
  77. package/core/pages/Notifies.vue +156 -0
  78. package/core/pages/Traffic.vue +152 -0
  79. package/core/pages/connections/connection-header-details.vue +80 -0
  80. package/core/pages/connections/page-connection-default.vue +92 -0
  81. package/core/pages/connections/page-connection.vue +176 -0
  82. package/core/pages/connections/ws-connection.vue +146 -0
  83. package/core/pages/frontend/Bootstrap.vue +1140 -0
  84. package/core/pages/frontend/Components.vue +56 -0
  85. package/core/pages/frontend/ComponentsAdv.vue +203 -0
  86. package/core/pages/frontend/ComponentsBasic.vue +336 -0
  87. package/core/pages/frontend/Theme.vue +473 -0
  88. package/core/pages/frontend/component-view.vue +65 -0
  89. package/core/pages/traffic/WsLogUtils.mjs +91 -0
  90. package/core/pages/traffic/log-ws-exec.vue +124 -0
  91. package/core/pages/traffic/log-ws-exec2.vue +129 -0
  92. package/core/sfc/code-item.vue +169 -0
  93. package/core/sfc/connection-header.vue +62 -0
  94. package/core/sfc/info-api.vue +158 -0
  95. package/core/sfc/md-toc.vue +346 -0
  96. package/core/sfc/scroll-to-top.vue +69 -0
  97. package/core/sfc/task.vue +98 -0
  98. package/core/sfc/text-to-md.vue +25 -0
  99. package/core/sfc/toc-list.vue +175 -0
  100. package/core/ws-client/AuthNState.mjs +84 -0
  101. package/core/ws-client/Connection.mjs +580 -0
  102. package/core/ws-client/Session.mjs +72 -0
  103. package/core/ws-client/WsClient.mjs +230 -0
  104. package/core/ws-client/WsLogUtils.mjs +91 -0
  105. package/core/ws-client/ws-connection.vue +144 -0
  106. package/css/Changa-Medium.ttf +0 -0
  107. package/css/Makefile +10 -0
  108. package/css/README.md +25 -0
  109. package/css/bootstrap-c0ckp1t.css +11861 -0
  110. package/css/bootstrap.min.css +6 -0
  111. package/css/fontawesome/brands.min.css +6 -0
  112. package/css/fontawesome/fontawesome.min.css +8 -0
  113. package/css/fontawesome/regular.min.css +6 -0
  114. package/css/fontawesome/solid.min.css +6 -0
  115. package/css/webfonts/fa-brands-400.woff2 +0 -0
  116. package/css/webfonts/fa-regular-400.woff2 +0 -0
  117. package/css/webfonts/fa-solid-900.woff2 +0 -0
  118. package/docs/Introduction.md +3 -0
  119. package/favicon-192x192.png +0 -0
  120. package/favicon-32x32.png +0 -0
  121. package/favicon-64x64.png +0 -0
  122. package/favicon.ico +0 -0
  123. package/index-cdn.html +66 -0
  124. package/js_ext/Makefile +26 -0
  125. package/js_ext/ace-editor/ace.js +22037 -0
  126. package/js_ext/ace-editor/ext-beautify.js +343 -0
  127. package/js_ext/ace-editor/ext-code_lens.js +204 -0
  128. package/js_ext/ace-editor/ext-command_bar.js +469 -0
  129. package/js_ext/ace-editor/ext-diff.js +4265 -0
  130. package/js_ext/ace-editor/ext-elastic_tabstops_lite.js +238 -0
  131. package/js_ext/ace-editor/ext-emmet.js +1303 -0
  132. package/js_ext/ace-editor/ext-error_marker.js +9 -0
  133. package/js_ext/ace-editor/ext-hardwrap.js +127 -0
  134. package/js_ext/ace-editor/ext-inline_autocomplete.js +3547 -0
  135. package/js_ext/ace-editor/ext-keybinding_menu.js +185 -0
  136. package/js_ext/ace-editor/ext-language_tools.js +2724 -0
  137. package/js_ext/ace-editor/ext-linking.js +66 -0
  138. package/js_ext/ace-editor/ext-modelist.js +276 -0
  139. package/js_ext/ace-editor/ext-options.js +859 -0
  140. package/js_ext/ace-editor/ext-prompt.js +3161 -0
  141. package/js_ext/ace-editor/ext-rtl.js +146 -0
  142. package/js_ext/ace-editor/ext-searchbox.js +385 -0
  143. package/js_ext/ace-editor/ext-settings_menu.js +859 -0
  144. package/js_ext/ace-editor/ext-simple_tokenizer.js +137 -0
  145. package/js_ext/ace-editor/ext-spellcheck.js +79 -0
  146. package/js_ext/ace-editor/ext-split.js +203 -0
  147. package/js_ext/ace-editor/ext-static_highlight.js +194 -0
  148. package/js_ext/ace-editor/ext-statusbar.js +63 -0
  149. package/js_ext/ace-editor/ext-textarea.js +400 -0
  150. package/js_ext/ace-editor/ext-themelist.js +80 -0
  151. package/js_ext/ace-editor/ext-whitespace.js +201 -0
  152. package/js_ext/ace-editor/keybinding-emacs.js +1067 -0
  153. package/js_ext/ace-editor/keybinding-sublime.js +409 -0
  154. package/js_ext/ace-editor/keybinding-vim.js +7101 -0
  155. package/js_ext/ace-editor/keybinding-vscode.js +255 -0
  156. package/js_ext/ace-editor/mode-abap.js +200 -0
  157. package/js_ext/ace-editor/mode-abc.js +243 -0
  158. package/js_ext/ace-editor/mode-actionscript.js +234 -0
  159. package/js_ext/ace-editor/mode-ada.js +108 -0
  160. package/js_ext/ace-editor/mode-alda.js +279 -0
  161. package/js_ext/ace-editor/mode-apache_conf.js +318 -0
  162. package/js_ext/ace-editor/mode-apex.js +402 -0
  163. package/js_ext/ace-editor/mode-applescript.js +232 -0
  164. package/js_ext/ace-editor/mode-aql.js +92 -0
  165. package/js_ext/ace-editor/mode-asciidoc.js +311 -0
  166. package/js_ext/ace-editor/mode-asl.js +357 -0
  167. package/js_ext/ace-editor/mode-assembly_arm32.js +185 -0
  168. package/js_ext/ace-editor/mode-assembly_x86.js +170 -0
  169. package/js_ext/ace-editor/mode-astro.js +2474 -0
  170. package/js_ext/ace-editor/mode-autohotkey.js +208 -0
  171. package/js_ext/ace-editor/mode-basic.js +201 -0
  172. package/js_ext/ace-editor/mode-batchfile.js +199 -0
  173. package/js_ext/ace-editor/mode-bibtex.js +318 -0
  174. package/js_ext/ace-editor/mode-c9search.js +250 -0
  175. package/js_ext/ace-editor/mode-c_cpp.js +417 -0
  176. package/js_ext/ace-editor/mode-cirru.js +192 -0
  177. package/js_ext/ace-editor/mode-clojure.js +322 -0
  178. package/js_ext/ace-editor/mode-clue.js +361 -0
  179. package/js_ext/ace-editor/mode-cobol.js +82 -0
  180. package/js_ext/ace-editor/mode-coffee.js +335 -0
  181. package/js_ext/ace-editor/mode-coldfusion.js +2409 -0
  182. package/js_ext/ace-editor/mode-crystal.js +586 -0
  183. package/js_ext/ace-editor/mode-csharp.js +413 -0
  184. package/js_ext/ace-editor/mode-csound_document.js +4072 -0
  185. package/js_ext/ace-editor/mode-csound_orchestra.js +2923 -0
  186. package/js_ext/ace-editor/mode-csound_score.js +409 -0
  187. package/js_ext/ace-editor/mode-csp.js +59 -0
  188. package/js_ext/ace-editor/mode-css.js +632 -0
  189. package/js_ext/ace-editor/mode-csv.js +97 -0
  190. package/js_ext/ace-editor/mode-curly.js +2381 -0
  191. package/js_ext/ace-editor/mode-cuttlefish.js +56 -0
  192. package/js_ext/ace-editor/mode-d.js +450 -0
  193. package/js_ext/ace-editor/mode-dart.js +618 -0
  194. package/js_ext/ace-editor/mode-diff.js +129 -0
  195. package/js_ext/ace-editor/mode-django.js +2422 -0
  196. package/js_ext/ace-editor/mode-dockerfile.js +427 -0
  197. package/js_ext/ace-editor/mode-dot.js +348 -0
  198. package/js_ext/ace-editor/mode-drools.js +607 -0
  199. package/js_ext/ace-editor/mode-edifact.js +130 -0
  200. package/js_ext/ace-editor/mode-eiffel.js +120 -0
  201. package/js_ext/ace-editor/mode-ejs.js +3277 -0
  202. package/js_ext/ace-editor/mode-elixir.js +443 -0
  203. package/js_ext/ace-editor/mode-elm.js +274 -0
  204. package/js_ext/ace-editor/mode-erlang.js +836 -0
  205. package/js_ext/ace-editor/mode-flix.js +164 -0
  206. package/js_ext/ace-editor/mode-forth.js +253 -0
  207. package/js_ext/ace-editor/mode-fortran.js +361 -0
  208. package/js_ext/ace-editor/mode-fsharp.js +277 -0
  209. package/js_ext/ace-editor/mode-fsl.js +226 -0
  210. package/js_ext/ace-editor/mode-ftl.js +1255 -0
  211. package/js_ext/ace-editor/mode-gcode.js +74 -0
  212. package/js_ext/ace-editor/mode-gherkin.js +154 -0
  213. package/js_ext/ace-editor/mode-gitignore.js +49 -0
  214. package/js_ext/ace-editor/mode-glsl.js +475 -0
  215. package/js_ext/ace-editor/mode-gobstones.js +1459 -0
  216. package/js_ext/ace-editor/mode-golang.js +341 -0
  217. package/js_ext/ace-editor/mode-graphqlschema.js +174 -0
  218. package/js_ext/ace-editor/mode-groovy.js +1401 -0
  219. package/js_ext/ace-editor/mode-haml.js +1906 -0
  220. package/js_ext/ace-editor/mode-handlebars.js +2438 -0
  221. package/js_ext/ace-editor/mode-haskell.js +324 -0
  222. package/js_ext/ace-editor/mode-haskell_cabal.js +135 -0
  223. package/js_ext/ace-editor/mode-haxe.js +313 -0
  224. package/js_ext/ace-editor/mode-hjson.js +318 -0
  225. package/js_ext/ace-editor/mode-html.js +2339 -0
  226. package/js_ext/ace-editor/mode-html_elixir.js +2845 -0
  227. package/js_ext/ace-editor/mode-html_ruby.js +3294 -0
  228. package/js_ext/ace-editor/mode-ini.js +138 -0
  229. package/js_ext/ace-editor/mode-io.js +210 -0
  230. package/js_ext/ace-editor/mode-ion.js +477 -0
  231. package/js_ext/ace-editor/mode-jack.js +293 -0
  232. package/js_ext/ace-editor/mode-jade.js +2017 -0
  233. package/js_ext/ace-editor/mode-java.js +1565 -0
  234. package/js_ext/ace-editor/mode-javascript.js +1191 -0
  235. package/js_ext/ace-editor/mode-jexl.js +270 -0
  236. package/js_ext/ace-editor/mode-json.js +275 -0
  237. package/js_ext/ace-editor/mode-json5.js +308 -0
  238. package/js_ext/ace-editor/mode-jsoniq.js +2577 -0
  239. package/js_ext/ace-editor/mode-jsp.js +1618 -0
  240. package/js_ext/ace-editor/mode-jssm.js +293 -0
  241. package/js_ext/ace-editor/mode-jsx.js +1209 -0
  242. package/js_ext/ace-editor/mode-julia.js +254 -0
  243. package/js_ext/ace-editor/mode-kotlin.js +445 -0
  244. package/js_ext/ace-editor/mode-latex.js +252 -0
  245. package/js_ext/ace-editor/mode-latte.js +2522 -0
  246. package/js_ext/ace-editor/mode-less.js +742 -0
  247. package/js_ext/ace-editor/mode-liquid.js +2741 -0
  248. package/js_ext/ace-editor/mode-lisp.js +104 -0
  249. package/js_ext/ace-editor/mode-livescript.js +272 -0
  250. package/js_ext/ace-editor/mode-logiql.js +272 -0
  251. package/js_ext/ace-editor/mode-logtalk.js +309 -0
  252. package/js_ext/ace-editor/mode-lsl.js +287 -0
  253. package/js_ext/ace-editor/mode-lua.js +393 -0
  254. package/js_ext/ace-editor/mode-luapage.js +2785 -0
  255. package/js_ext/ace-editor/mode-lucene.js +145 -0
  256. package/js_ext/ace-editor/mode-makefile.js +374 -0
  257. package/js_ext/ace-editor/mode-markdown.js +2935 -0
  258. package/js_ext/ace-editor/mode-mask.js +1757 -0
  259. package/js_ext/ace-editor/mode-matlab.js +239 -0
  260. package/js_ext/ace-editor/mode-maze.js +256 -0
  261. package/js_ext/ace-editor/mode-mediawiki.js +580 -0
  262. package/js_ext/ace-editor/mode-mel.js +213 -0
  263. package/js_ext/ace-editor/mode-mips.js +231 -0
  264. package/js_ext/ace-editor/mode-mixal.js +110 -0
  265. package/js_ext/ace-editor/mode-mushcode.js +642 -0
  266. package/js_ext/ace-editor/mode-mysql.js +150 -0
  267. package/js_ext/ace-editor/mode-nasal.js +513 -0
  268. package/js_ext/ace-editor/mode-nginx.js +262 -0
  269. package/js_ext/ace-editor/mode-nim.js +325 -0
  270. package/js_ext/ace-editor/mode-nix.js +555 -0
  271. package/js_ext/ace-editor/mode-nsis.js +279 -0
  272. package/js_ext/ace-editor/mode-nunjucks.js +2677 -0
  273. package/js_ext/ace-editor/mode-objectivec.js +626 -0
  274. package/js_ext/ace-editor/mode-ocaml.js +378 -0
  275. package/js_ext/ace-editor/mode-odin.js +449 -0
  276. package/js_ext/ace-editor/mode-partiql.js +750 -0
  277. package/js_ext/ace-editor/mode-pascal.js +204 -0
  278. package/js_ext/ace-editor/mode-perl.js +318 -0
  279. package/js_ext/ace-editor/mode-pgsql.js +1860 -0
  280. package/js_ext/ace-editor/mode-php.js +14072 -0
  281. package/js_ext/ace-editor/mode-php_laravel_blade.js +14260 -0
  282. package/js_ext/ace-editor/mode-pig.js +278 -0
  283. package/js_ext/ace-editor/mode-plain_text.js +27 -0
  284. package/js_ext/ace-editor/mode-plsql.js +268 -0
  285. package/js_ext/ace-editor/mode-powershell.js +567 -0
  286. package/js_ext/ace-editor/mode-praat.js +412 -0
  287. package/js_ext/ace-editor/mode-prisma.js +457 -0
  288. package/js_ext/ace-editor/mode-prolog.js +305 -0
  289. package/js_ext/ace-editor/mode-properties.js +69 -0
  290. package/js_ext/ace-editor/mode-protobuf.js +498 -0
  291. package/js_ext/ace-editor/mode-prql.js +323 -0
  292. package/js_ext/ace-editor/mode-puppet.js +316 -0
  293. package/js_ext/ace-editor/mode-python.js +476 -0
  294. package/js_ext/ace-editor/mode-qml.js +346 -0
  295. package/js_ext/ace-editor/mode-r.js +387 -0
  296. package/js_ext/ace-editor/mode-raku.js +516 -0
  297. package/js_ext/ace-editor/mode-razor.js +2697 -0
  298. package/js_ext/ace-editor/mode-rdoc.js +286 -0
  299. package/js_ext/ace-editor/mode-red.js +388 -0
  300. package/js_ext/ace-editor/mode-redshift.js +321 -0
  301. package/js_ext/ace-editor/mode-rhtml.js +2750 -0
  302. package/js_ext/ace-editor/mode-robot.js +168 -0
  303. package/js_ext/ace-editor/mode-rst.js +245 -0
  304. package/js_ext/ace-editor/mode-ruby.js +921 -0
  305. package/js_ext/ace-editor/mode-rust.js +393 -0
  306. package/js_ext/ace-editor/mode-sac.js +349 -0
  307. package/js_ext/ace-editor/mode-sass.js +480 -0
  308. package/js_ext/ace-editor/mode-scad.js +350 -0
  309. package/js_ext/ace-editor/mode-scala.js +1395 -0
  310. package/js_ext/ace-editor/mode-scheme.js +210 -0
  311. package/js_ext/ace-editor/mode-scrypt.js +317 -0
  312. package/js_ext/ace-editor/mode-scss.js +768 -0
  313. package/js_ext/ace-editor/mode-sh.js +387 -0
  314. package/js_ext/ace-editor/mode-sjs.js +1393 -0
  315. package/js_ext/ace-editor/mode-slim.js +4770 -0
  316. package/js_ext/ace-editor/mode-smarty.js +2436 -0
  317. package/js_ext/ace-editor/mode-smithy.js +456 -0
  318. package/js_ext/ace-editor/mode-snippets.js +183 -0
  319. package/js_ext/ace-editor/mode-soy_template.js +2611 -0
  320. package/js_ext/ace-editor/mode-space.js +151 -0
  321. package/js_ext/ace-editor/mode-sparql.js +288 -0
  322. package/js_ext/ace-editor/mode-sql.js +221 -0
  323. package/js_ext/ace-editor/mode-sqlserver.js +391 -0
  324. package/js_ext/ace-editor/mode-stylus.js +443 -0
  325. package/js_ext/ace-editor/mode-svg.js +1487 -0
  326. package/js_ext/ace-editor/mode-swift.js +342 -0
  327. package/js_ext/ace-editor/mode-tcl.js +338 -0
  328. package/js_ext/ace-editor/mode-terraform.js +346 -0
  329. package/js_ext/ace-editor/mode-tex.js +212 -0
  330. package/js_ext/ace-editor/mode-text.js +9 -0
  331. package/js_ext/ace-editor/mode-textile.js +125 -0
  332. package/js_ext/ace-editor/mode-toml.js +129 -0
  333. package/js_ext/ace-editor/mode-tsv.js +124 -0
  334. package/js_ext/ace-editor/mode-tsx.js +1276 -0
  335. package/js_ext/ace-editor/mode-turtle.js +264 -0
  336. package/js_ext/ace-editor/mode-twig.js +2502 -0
  337. package/js_ext/ace-editor/mode-typescript.js +1254 -0
  338. package/js_ext/ace-editor/mode-vala.js +554 -0
  339. package/js_ext/ace-editor/mode-vbscript.js +731 -0
  340. package/js_ext/ace-editor/mode-velocity.js +2580 -0
  341. package/js_ext/ace-editor/mode-verilog.js +98 -0
  342. package/js_ext/ace-editor/mode-vhdl.js +94 -0
  343. package/js_ext/ace-editor/mode-visualforce.js +2454 -0
  344. package/js_ext/ace-editor/mode-vue.js +3834 -0
  345. package/js_ext/ace-editor/mode-wollok.js +1329 -0
  346. package/js_ext/ace-editor/mode-xml.js +477 -0
  347. package/js_ext/ace-editor/mode-xquery.js +2589 -0
  348. package/js_ext/ace-editor/mode-yaml.js +395 -0
  349. package/js_ext/ace-editor/mode-zeek.js +502 -0
  350. package/js_ext/ace-editor/mode-zig.js +585 -0
  351. package/js_ext/ace-editor/snippets/abap.js +9 -0
  352. package/js_ext/ace-editor/snippets/abc.js +16 -0
  353. package/js_ext/ace-editor/snippets/actionscript.js +16 -0
  354. package/js_ext/ace-editor/snippets/ada.js +9 -0
  355. package/js_ext/ace-editor/snippets/alda.js +9 -0
  356. package/js_ext/ace-editor/snippets/apache_conf.js +9 -0
  357. package/js_ext/ace-editor/snippets/apex.js +9 -0
  358. package/js_ext/ace-editor/snippets/applescript.js +9 -0
  359. package/js_ext/ace-editor/snippets/aql.js +9 -0
  360. package/js_ext/ace-editor/snippets/asciidoc.js +9 -0
  361. package/js_ext/ace-editor/snippets/asl.js +9 -0
  362. package/js_ext/ace-editor/snippets/assembly_arm32.js +9 -0
  363. package/js_ext/ace-editor/snippets/assembly_x86.js +9 -0
  364. package/js_ext/ace-editor/snippets/astro.js +9 -0
  365. package/js_ext/ace-editor/snippets/autohotkey.js +9 -0
  366. package/js_ext/ace-editor/snippets/basic.js +9 -0
  367. package/js_ext/ace-editor/snippets/batchfile.js +9 -0
  368. package/js_ext/ace-editor/snippets/bibtex.js +9 -0
  369. package/js_ext/ace-editor/snippets/c9search.js +9 -0
  370. package/js_ext/ace-editor/snippets/c_cpp.js +16 -0
  371. package/js_ext/ace-editor/snippets/cirru.js +9 -0
  372. package/js_ext/ace-editor/snippets/clojure.js +16 -0
  373. package/js_ext/ace-editor/snippets/clue.js +9 -0
  374. package/js_ext/ace-editor/snippets/cobol.js +9 -0
  375. package/js_ext/ace-editor/snippets/coffee.js +16 -0
  376. package/js_ext/ace-editor/snippets/coldfusion.js +9 -0
  377. package/js_ext/ace-editor/snippets/crystal.js +9 -0
  378. package/js_ext/ace-editor/snippets/csharp.js +9 -0
  379. package/js_ext/ace-editor/snippets/csound_document.js +16 -0
  380. package/js_ext/ace-editor/snippets/csound_orchestra.js +16 -0
  381. package/js_ext/ace-editor/snippets/csound_score.js +9 -0
  382. package/js_ext/ace-editor/snippets/csp.js +9 -0
  383. package/js_ext/ace-editor/snippets/css.js +16 -0
  384. package/js_ext/ace-editor/snippets/csv.js +9 -0
  385. package/js_ext/ace-editor/snippets/curly.js +9 -0
  386. package/js_ext/ace-editor/snippets/cuttlefish.js +9 -0
  387. package/js_ext/ace-editor/snippets/d.js +9 -0
  388. package/js_ext/ace-editor/snippets/dart.js +16 -0
  389. package/js_ext/ace-editor/snippets/diff.js +16 -0
  390. package/js_ext/ace-editor/snippets/django.js +16 -0
  391. package/js_ext/ace-editor/snippets/dockerfile.js +9 -0
  392. package/js_ext/ace-editor/snippets/dot.js +9 -0
  393. package/js_ext/ace-editor/snippets/drools.js +16 -0
  394. package/js_ext/ace-editor/snippets/edifact.js +16 -0
  395. package/js_ext/ace-editor/snippets/eiffel.js +9 -0
  396. package/js_ext/ace-editor/snippets/ejs.js +9 -0
  397. package/js_ext/ace-editor/snippets/elixir.js +9 -0
  398. package/js_ext/ace-editor/snippets/elm.js +9 -0
  399. package/js_ext/ace-editor/snippets/erlang.js +16 -0
  400. package/js_ext/ace-editor/snippets/flix.js +9 -0
  401. package/js_ext/ace-editor/snippets/forth.js +9 -0
  402. package/js_ext/ace-editor/snippets/fortran.js +9 -0
  403. package/js_ext/ace-editor/snippets/fsharp.js +9 -0
  404. package/js_ext/ace-editor/snippets/fsl.js +16 -0
  405. package/js_ext/ace-editor/snippets/ftl.js +9 -0
  406. package/js_ext/ace-editor/snippets/gcode.js +9 -0
  407. package/js_ext/ace-editor/snippets/gherkin.js +9 -0
  408. package/js_ext/ace-editor/snippets/gitignore.js +9 -0
  409. package/js_ext/ace-editor/snippets/glsl.js +9 -0
  410. package/js_ext/ace-editor/snippets/gobstones.js +16 -0
  411. package/js_ext/ace-editor/snippets/golang.js +9 -0
  412. package/js_ext/ace-editor/snippets/graphqlschema.js +16 -0
  413. package/js_ext/ace-editor/snippets/groovy.js +9 -0
  414. package/js_ext/ace-editor/snippets/haml.js +16 -0
  415. package/js_ext/ace-editor/snippets/handlebars.js +9 -0
  416. package/js_ext/ace-editor/snippets/haskell.js +16 -0
  417. package/js_ext/ace-editor/snippets/haskell_cabal.js +9 -0
  418. package/js_ext/ace-editor/snippets/haxe.js +9 -0
  419. package/js_ext/ace-editor/snippets/hjson.js +9 -0
  420. package/js_ext/ace-editor/snippets/html.js +16 -0
  421. package/js_ext/ace-editor/snippets/html_elixir.js +9 -0
  422. package/js_ext/ace-editor/snippets/html_ruby.js +9 -0
  423. package/js_ext/ace-editor/snippets/ini.js +9 -0
  424. package/js_ext/ace-editor/snippets/io.js +74 -0
  425. package/js_ext/ace-editor/snippets/ion.js +9 -0
  426. package/js_ext/ace-editor/snippets/jack.js +9 -0
  427. package/js_ext/ace-editor/snippets/jade.js +9 -0
  428. package/js_ext/ace-editor/snippets/java.js +16 -0
  429. package/js_ext/ace-editor/snippets/javascript.js +16 -0
  430. package/js_ext/ace-editor/snippets/jexl.js +9 -0
  431. package/js_ext/ace-editor/snippets/json.js +9 -0
  432. package/js_ext/ace-editor/snippets/json5.js +9 -0
  433. package/js_ext/ace-editor/snippets/jsoniq.js +78 -0
  434. package/js_ext/ace-editor/snippets/jsp.js +16 -0
  435. package/js_ext/ace-editor/snippets/jssm.js +9 -0
  436. package/js_ext/ace-editor/snippets/jsx.js +9 -0
  437. package/js_ext/ace-editor/snippets/julia.js +9 -0
  438. package/js_ext/ace-editor/snippets/kotlin.js +9 -0
  439. package/js_ext/ace-editor/snippets/latex.js +9 -0
  440. package/js_ext/ace-editor/snippets/latte.js +9 -0
  441. package/js_ext/ace-editor/snippets/less.js +9 -0
  442. package/js_ext/ace-editor/snippets/liquid.js +16 -0
  443. package/js_ext/ace-editor/snippets/lisp.js +9 -0
  444. package/js_ext/ace-editor/snippets/livescript.js +9 -0
  445. package/js_ext/ace-editor/snippets/logiql.js +9 -0
  446. package/js_ext/ace-editor/snippets/logtalk.js +9 -0
  447. package/js_ext/ace-editor/snippets/lsl.js +16 -0
  448. package/js_ext/ace-editor/snippets/lua.js +16 -0
  449. package/js_ext/ace-editor/snippets/luapage.js +9 -0
  450. package/js_ext/ace-editor/snippets/lucene.js +9 -0
  451. package/js_ext/ace-editor/snippets/makefile.js +16 -0
  452. package/js_ext/ace-editor/snippets/markdown.js +16 -0
  453. package/js_ext/ace-editor/snippets/mask.js +9 -0
  454. package/js_ext/ace-editor/snippets/matlab.js +9 -0
  455. package/js_ext/ace-editor/snippets/maze.js +16 -0
  456. package/js_ext/ace-editor/snippets/mediawiki.js +9 -0
  457. package/js_ext/ace-editor/snippets/mel.js +9 -0
  458. package/js_ext/ace-editor/snippets/mips.js +9 -0
  459. package/js_ext/ace-editor/snippets/mixal.js +9 -0
  460. package/js_ext/ace-editor/snippets/mushcode.js +9 -0
  461. package/js_ext/ace-editor/snippets/mysql.js +9 -0
  462. package/js_ext/ace-editor/snippets/nasal.js +9 -0
  463. package/js_ext/ace-editor/snippets/nginx.js +9 -0
  464. package/js_ext/ace-editor/snippets/nim.js +9 -0
  465. package/js_ext/ace-editor/snippets/nix.js +9 -0
  466. package/js_ext/ace-editor/snippets/nsis.js +9 -0
  467. package/js_ext/ace-editor/snippets/nunjucks.js +9 -0
  468. package/js_ext/ace-editor/snippets/objectivec.js +9 -0
  469. package/js_ext/ace-editor/snippets/ocaml.js +9 -0
  470. package/js_ext/ace-editor/snippets/odin.js +9 -0
  471. package/js_ext/ace-editor/snippets/partiql.js +9 -0
  472. package/js_ext/ace-editor/snippets/pascal.js +9 -0
  473. package/js_ext/ace-editor/snippets/perl.js +16 -0
  474. package/js_ext/ace-editor/snippets/pgsql.js +9 -0
  475. package/js_ext/ace-editor/snippets/php.js +16 -0
  476. package/js_ext/ace-editor/snippets/php_laravel_blade.js +9 -0
  477. package/js_ext/ace-editor/snippets/pig.js +9 -0
  478. package/js_ext/ace-editor/snippets/plain_text.js +9 -0
  479. package/js_ext/ace-editor/snippets/plsql.js +9 -0
  480. package/js_ext/ace-editor/snippets/powershell.js +9 -0
  481. package/js_ext/ace-editor/snippets/praat.js +9 -0
  482. package/js_ext/ace-editor/snippets/prisma.js +9 -0
  483. package/js_ext/ace-editor/snippets/prolog.js +9 -0
  484. package/js_ext/ace-editor/snippets/properties.js +9 -0
  485. package/js_ext/ace-editor/snippets/protobuf.js +9 -0
  486. package/js_ext/ace-editor/snippets/prql.js +9 -0
  487. package/js_ext/ace-editor/snippets/puppet.js +9 -0
  488. package/js_ext/ace-editor/snippets/python.js +16 -0
  489. package/js_ext/ace-editor/snippets/qml.js +9 -0
  490. package/js_ext/ace-editor/snippets/r.js +16 -0
  491. package/js_ext/ace-editor/snippets/raku.js +9 -0
  492. package/js_ext/ace-editor/snippets/razor.js +16 -0
  493. package/js_ext/ace-editor/snippets/rdoc.js +9 -0
  494. package/js_ext/ace-editor/snippets/red.js +9 -0
  495. package/js_ext/ace-editor/snippets/redshift.js +9 -0
  496. package/js_ext/ace-editor/snippets/rhtml.js +9 -0
  497. package/js_ext/ace-editor/snippets/robot.js +16 -0
  498. package/js_ext/ace-editor/snippets/rst.js +16 -0
  499. package/js_ext/ace-editor/snippets/ruby.js +16 -0
  500. package/js_ext/ace-editor/snippets/rust.js +9 -0
  501. package/js_ext/ace-editor/snippets/sac.js +9 -0
  502. package/js_ext/ace-editor/snippets/sass.js +9 -0
  503. package/js_ext/ace-editor/snippets/scad.js +9 -0
  504. package/js_ext/ace-editor/snippets/scala.js +9 -0
  505. package/js_ext/ace-editor/snippets/scheme.js +9 -0
  506. package/js_ext/ace-editor/snippets/scrypt.js +9 -0
  507. package/js_ext/ace-editor/snippets/scss.js +9 -0
  508. package/js_ext/ace-editor/snippets/sh.js +16 -0
  509. package/js_ext/ace-editor/snippets/sjs.js +9 -0
  510. package/js_ext/ace-editor/snippets/slim.js +9 -0
  511. package/js_ext/ace-editor/snippets/smarty.js +9 -0
  512. package/js_ext/ace-editor/snippets/smithy.js +9 -0
  513. package/js_ext/ace-editor/snippets/snippets.js +16 -0
  514. package/js_ext/ace-editor/snippets/soy_template.js +9 -0
  515. package/js_ext/ace-editor/snippets/space.js +9 -0
  516. package/js_ext/ace-editor/snippets/sparql.js +9 -0
  517. package/js_ext/ace-editor/snippets/sql.js +16 -0
  518. package/js_ext/ace-editor/snippets/sqlserver.js +16 -0
  519. package/js_ext/ace-editor/snippets/stylus.js +9 -0
  520. package/js_ext/ace-editor/snippets/svg.js +9 -0
  521. package/js_ext/ace-editor/snippets/swift.js +9 -0
  522. package/js_ext/ace-editor/snippets/tcl.js +16 -0
  523. package/js_ext/ace-editor/snippets/terraform.js +9 -0
  524. package/js_ext/ace-editor/snippets/tex.js +16 -0
  525. package/js_ext/ace-editor/snippets/text.js +9 -0
  526. package/js_ext/ace-editor/snippets/textile.js +16 -0
  527. package/js_ext/ace-editor/snippets/toml.js +9 -0
  528. package/js_ext/ace-editor/snippets/tsv.js +9 -0
  529. package/js_ext/ace-editor/snippets/tsx.js +9 -0
  530. package/js_ext/ace-editor/snippets/turtle.js +9 -0
  531. package/js_ext/ace-editor/snippets/twig.js +9 -0
  532. package/js_ext/ace-editor/snippets/typescript.js +9 -0
  533. package/js_ext/ace-editor/snippets/vala.js +199 -0
  534. package/js_ext/ace-editor/snippets/vbscript.js +9 -0
  535. package/js_ext/ace-editor/snippets/velocity.js +17 -0
  536. package/js_ext/ace-editor/snippets/verilog.js +9 -0
  537. package/js_ext/ace-editor/snippets/vhdl.js +9 -0
  538. package/js_ext/ace-editor/snippets/visualforce.js +9 -0
  539. package/js_ext/ace-editor/snippets/vue.js +9 -0
  540. package/js_ext/ace-editor/snippets/wollok.js +16 -0
  541. package/js_ext/ace-editor/snippets/xml.js +9 -0
  542. package/js_ext/ace-editor/snippets/xquery.js +78 -0
  543. package/js_ext/ace-editor/snippets/yaml.js +9 -0
  544. package/js_ext/ace-editor/snippets/zeek.js +9 -0
  545. package/js_ext/ace-editor/snippets/zig.js +9 -0
  546. package/js_ext/ace-editor/theme-ambiance.js +18 -0
  547. package/js_ext/ace-editor/theme-chaos.js +18 -0
  548. package/js_ext/ace-editor/theme-chrome.js +18 -0
  549. package/js_ext/ace-editor/theme-cloud9_day.js +19 -0
  550. package/js_ext/ace-editor/theme-cloud9_night.js +18 -0
  551. package/js_ext/ace-editor/theme-cloud9_night_low_color.js +18 -0
  552. package/js_ext/ace-editor/theme-cloud_editor.js +19 -0
  553. package/js_ext/ace-editor/theme-cloud_editor_dark.js +19 -0
  554. package/js_ext/ace-editor/theme-clouds.js +18 -0
  555. package/js_ext/ace-editor/theme-clouds_midnight.js +18 -0
  556. package/js_ext/ace-editor/theme-cobalt.js +18 -0
  557. package/js_ext/ace-editor/theme-crimson_editor.js +18 -0
  558. package/js_ext/ace-editor/theme-dawn.js +18 -0
  559. package/js_ext/ace-editor/theme-dracula.js +19 -0
  560. package/js_ext/ace-editor/theme-dreamweaver.js +18 -0
  561. package/js_ext/ace-editor/theme-eclipse.js +19 -0
  562. package/js_ext/ace-editor/theme-github.js +18 -0
  563. package/js_ext/ace-editor/theme-github_dark.js +18 -0
  564. package/js_ext/ace-editor/theme-github_light_default.js +18 -0
  565. package/js_ext/ace-editor/theme-gob.js +18 -0
  566. package/js_ext/ace-editor/theme-gruvbox.js +18 -0
  567. package/js_ext/ace-editor/theme-gruvbox_dark_hard.js +18 -0
  568. package/js_ext/ace-editor/theme-gruvbox_light_hard.js +18 -0
  569. package/js_ext/ace-editor/theme-idle_fingers.js +18 -0
  570. package/js_ext/ace-editor/theme-iplastic.js +18 -0
  571. package/js_ext/ace-editor/theme-katzenmilch.js +18 -0
  572. package/js_ext/ace-editor/theme-kr_theme.js +18 -0
  573. package/js_ext/ace-editor/theme-kuroir.js +18 -0
  574. package/js_ext/ace-editor/theme-merbivore.js +18 -0
  575. package/js_ext/ace-editor/theme-merbivore_soft.js +18 -0
  576. package/js_ext/ace-editor/theme-mono_industrial.js +18 -0
  577. package/js_ext/ace-editor/theme-monokai.js +18 -0
  578. package/js_ext/ace-editor/theme-nord_dark.js +19 -0
  579. package/js_ext/ace-editor/theme-one_dark.js +18 -0
  580. package/js_ext/ace-editor/theme-pastel_on_dark.js +18 -0
  581. package/js_ext/ace-editor/theme-solarized_dark.js +18 -0
  582. package/js_ext/ace-editor/theme-solarized_light.js +18 -0
  583. package/js_ext/ace-editor/theme-sqlserver.js +18 -0
  584. package/js_ext/ace-editor/theme-terminal.js +18 -0
  585. package/js_ext/ace-editor/theme-textmate.js +16 -0
  586. package/js_ext/ace-editor/theme-tomorrow.js +18 -0
  587. package/js_ext/ace-editor/theme-tomorrow_night.js +18 -0
  588. package/js_ext/ace-editor/theme-tomorrow_night_blue.js +18 -0
  589. package/js_ext/ace-editor/theme-tomorrow_night_bright.js +18 -0
  590. package/js_ext/ace-editor/theme-tomorrow_night_eighties.js +18 -0
  591. package/js_ext/ace-editor/theme-twilight.js +18 -0
  592. package/js_ext/ace-editor/theme-vibrant_ink.js +18 -0
  593. package/js_ext/ace-editor/theme-xcode.js +18 -0
  594. package/js_ext/ace-editor/worker-base.js +1332 -0
  595. package/js_ext/ace-editor/worker-coffee.js +1381 -0
  596. package/js_ext/ace-editor/worker-css.js +8913 -0
  597. package/js_ext/ace-editor/worker-html.js +10843 -0
  598. package/js_ext/ace-editor/worker-javascript.js +15353 -0
  599. package/js_ext/ace-editor/worker-json.js +1626 -0
  600. package/js_ext/ace-editor/worker-lua.js +3519 -0
  601. package/js_ext/ace-editor/worker-php.js +3788 -0
  602. package/js_ext/ace-editor/worker-xml.js +3122 -0
  603. package/js_ext/ace-editor/worker-xquery.js +57579 -0
  604. package/js_ext/ace-editor/worker-yaml.js +5819 -0
  605. package/js_ext/bootstrap.bundle.min.js +7 -0
  606. package/js_ext/highlight/default.min.css +9 -0
  607. package/js_ext/highlight/go.min.js +14 -0
  608. package/js_ext/highlight/highlight.min.js +1207 -0
  609. package/js_ext/highlight/stackoverflow-dark.min.css +13 -0
  610. package/js_ext/idb-keyval-6.2.2.mjs +7 -0
  611. package/js_ext/json-viewer.bundle.js +52 -0
  612. package/js_ext/loglevel-plugin-prefix.min.js +1 -0
  613. package/js_ext/loglevel.min.js +2 -0
  614. package/js_ext/markdown/auto-render.min.js +1 -0
  615. package/js_ext/markdown/auto-render.mjs +245 -0
  616. package/js_ext/markdown/fonts/KaTeX_AMS-Regular.woff +0 -0
  617. package/js_ext/markdown/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  618. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  619. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  620. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  621. package/js_ext/markdown/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  622. package/js_ext/markdown/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  623. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  624. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  625. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  626. package/js_ext/markdown/fonts/KaTeX_Main-Bold.woff +0 -0
  627. package/js_ext/markdown/fonts/KaTeX_Main-Bold.woff2 +0 -0
  628. package/js_ext/markdown/fonts/KaTeX_Main-Italic.woff +0 -0
  629. package/js_ext/markdown/fonts/KaTeX_Main-Italic.woff2 +0 -0
  630. package/js_ext/markdown/fonts/KaTeX_Main-Regular.woff +0 -0
  631. package/js_ext/markdown/fonts/KaTeX_Main-Regular.woff2 +0 -0
  632. package/js_ext/markdown/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  633. package/js_ext/markdown/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  634. package/js_ext/markdown/fonts/KaTeX_Math-Italic.woff +0 -0
  635. package/js_ext/markdown/fonts/KaTeX_Math-Italic.woff2 +0 -0
  636. package/js_ext/markdown/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  637. package/js_ext/markdown/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  638. package/js_ext/markdown/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  639. package/js_ext/markdown/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  640. package/js_ext/markdown/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  641. package/js_ext/markdown/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  642. package/js_ext/markdown/fonts/KaTeX_Script-Regular.ttf +0 -0
  643. package/js_ext/markdown/fonts/KaTeX_Script-Regular.woff +0 -0
  644. package/js_ext/markdown/fonts/KaTeX_Script-Regular.woff2 +0 -0
  645. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.ttf +0 -0
  646. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.woff +0 -0
  647. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  648. package/js_ext/markdown/fonts/KaTeX_Size2-Regular.woff +0 -0
  649. package/js_ext/markdown/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  650. package/js_ext/markdown/fonts/KaTeX_Size3-Regular.woff +0 -0
  651. package/js_ext/markdown/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  652. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.ttf +0 -0
  653. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.woff +0 -0
  654. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  655. package/js_ext/markdown/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  656. package/js_ext/markdown/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  657. package/js_ext/markdown/katex.min.css +1 -0
  658. package/js_ext/markdown/katex.min.js +1 -0
  659. package/js_ext/markdown/katex.mjs +18416 -0
  660. package/js_ext/markdown/markdown-it.min.js +3 -0
  661. package/js_ext/markdown/markdownItAnchor.umd.js +2 -0
  662. package/js_ext/mitt.mjs +2 -0
  663. package/js_ext/moment.min.js +1 -0
  664. package/js_ext/msgpack.mjs +1612 -0
  665. package/js_ext/rxjs.umd.min.js +195 -0
  666. package/js_ext/rxjs.umd.min.js.map +1 -0
  667. package/js_ext/vue-router.esm-browser.prod.js +6 -0
  668. package/js_ext/vue.esm-browser.min.js +18 -0
  669. package/js_ext/vue.esm-browser.prod.min.js +3 -0
  670. package/js_ext/vue3-sfc-loader.esm.js +1840 -0
  671. package/js_ext/vue3-sfc-loader.esm.js.map +4 -0
  672. package/js_ext/vue3-sfc-loader.js +1839 -0
  673. package/js_ext/wavesurfer.esm.mjs +1 -0
  674. package/js_ext/xstate.web.mjs +15 -0
  675. package/package.json +50 -0
  676. package/style.css +31 -0
@@ -0,0 +1,429 @@
1
+ /**
2
+ * Important that you assigned it to the registry before you init it
3
+ *
4
+ */
5
+ // ________________________________________________________________________________
6
+ // IMPORT
7
+ // ________________________________________________________________________________
8
+ import {markRaw, reactive, watch, defineAsyncComponent, getCurrentInstance} from 'vue'
9
+ import {ok, nok, sha1} from "JsUtils"
10
+ import {getLogger} from 'Logging';
11
+ import Constants from "Constants";
12
+ import Connection from "./ws-client/Connection.mjs";
13
+
14
+ import {indexOfNonString} from "JsUtils";
15
+ import {fromBinary, fromByteArray, Http} from "WsUtils";
16
+
17
+ const {map, pipe, takeWhile, filter, take, distinctUntilChanged, tap} = rxjs.operators;
18
+ const {throwError} = rxjs;
19
+
20
+ // ________________________________________________________________________________
21
+ // Default Island
22
+ // ________________________________________________________________________________
23
+ /**
24
+ * state
25
+ * isLoading
26
+ * isReady
27
+ * store
28
+ * id
29
+ * connection
30
+ */
31
+ export default class Island {
32
+
33
+ /**
34
+ *
35
+ * @param config
36
+ * instanceId
37
+ *
38
+ * @param apiMain
39
+ */
40
+ constructor(apiMain, config) {
41
+
42
+ this.instanceId = config.instanceId
43
+
44
+ this.LOG_HEADER = `${this.instanceId}`;
45
+ this.logger = getLogger(this.LOG_HEADER);
46
+ this.logger.debug('[INIT]');
47
+
48
+ this.connection = new Connection(config)
49
+
50
+ // ________________________________________________________________________________
51
+ // STATE - NOT saved in browser storage
52
+ // ________________________________________________________________________________
53
+ this.state = reactive({
54
+ isLoading: false,
55
+ isReady: false,
56
+ })
57
+
58
+ // ________________________________________________________________________________
59
+ // STORE - saved in browser storage
60
+ // ________________________________________________________________________________
61
+ this.store = reactive({
62
+ id: this.LOG_HEADER,
63
+ updated: null,
64
+
65
+ showRegistry: true,
66
+ root: null,
67
+ selectedNode: null,
68
+ })
69
+
70
+ this.sfcOptions = config.sfcOptions
71
+ this.apiMain = apiMain
72
+
73
+ } // end of constructor
74
+
75
+ // ________________________________________________________________________________
76
+ // NODE METHODS
77
+ // ________________________________________________________________________________
78
+ routeByEndpoint = async (endpoint) => {
79
+ this.logger.debug(`routeByEndpoint - endpoint=${endpoint}`);
80
+ await this.apiMain.routeByEndpoint(`/${this.instanceId}${endpoint}`);
81
+ }
82
+
83
+ /**
84
+ * Select the default dashboard (root).
85
+ * @returns {Promise<void>}
86
+ */
87
+ selectDefaultDashboard = async () => {
88
+ await this.apiMain.routerPush(`/${this.instanceId}`);
89
+ }
90
+
91
+ /**
92
+ * Select a node and navigate to its endpoint.
93
+ * A node has:
94
+ * - endpoint = "/documentation"
95
+ * - name = "documentation"
96
+ * @param {Object} node
97
+ * @returns {Promise<void>}
98
+ */
99
+ selectNode = async (node) => {
100
+ this.logger.info(`selectNode - node.endpoint=${node.endpoint}`);
101
+ // this.apiMain.
102
+ this.store.selectedNode = null;
103
+ this.store.selectedNode = node;
104
+ await this.routeByEndpoint(node.endpoint);
105
+ }
106
+
107
+ // ________________________________________________________________________________
108
+ // CONNECTION MANAGEMENT
109
+ // ________________________________________________________________________________
110
+ async connect() {
111
+ this.logger.info("[connect] - start ...");
112
+ const res = await this.connection.connect();
113
+ this.logger.info(`[connect] - res=${res}`);
114
+
115
+ await this.userContext();
116
+ // await this.userSettings();
117
+ await this.rootNode();
118
+
119
+ // if (this.store.context?.accessLevel < 500) {
120
+ // await this.subscribeToNotify();
121
+ // }
122
+
123
+ // const currentRoute = router.currentRoute.value;
124
+ // this.logger.info(`Current route: ${currentRoute.fullPath}`);
125
+
126
+ // if (currentRoute.fullPath === '/') {
127
+ // await this.routeByEndpoint(this.store.settings.defaultEndpoint);
128
+ // }
129
+ }
130
+
131
+ async disconnect() {
132
+ this.logger.info("[disconnect]");
133
+ return this.connection.disconnect();
134
+ }
135
+
136
+ // ________________________________________________________________________________
137
+ // USER API
138
+ // ________________________________________________________________________________
139
+ userContext = async () => {
140
+ const resp = await this.exec('/user', ["userContext"])
141
+ this.logger.debug(resp)
142
+ if (!resp.isOk) {
143
+ this.logger.warn(`[${this.store.id}] - userContext failed`, `${resp.result}`)
144
+ return this.store.context
145
+ }
146
+ this.store.context = JSON.parse(resp.result)
147
+ return this.store.context
148
+ }
149
+ /**
150
+ * Fetch and set the root node.
151
+ * @returns {Promise<void>}
152
+ */
153
+ rootNode = async () => {
154
+ this.logger.debug('[rootNode]');
155
+ this.logger.debug(`[rootNode] - exec('/', [infoNode])`);
156
+ const resp = await this.exec("/", ["infoNode"]);
157
+ this.logger.debug(resp);
158
+ if (!resp.isOk) {
159
+ this.logger.error(resp.result);
160
+ return;
161
+ }
162
+
163
+ const rootNode = JSON.parse(resp.result);
164
+ adjustNode(rootNode)
165
+ this.logger.debug("rootNode:");
166
+ this.logger.debug(rootNode);
167
+
168
+ // Note: possibly mutates rootNode
169
+ await this._initializeRootNode(rootNode);
170
+ // adjustNode(rootNode)
171
+
172
+ this.store.root = rootNode;
173
+ }
174
+
175
+
176
+ _initializeRootNode = async (node) => {
177
+ node._expanded = node.expanded;
178
+ node.store = {};
179
+ if (node.config && typeof node.config.path === "string") {
180
+ this.logger.debug(`[node=${node.name}] - loading=${node.config.path}`)
181
+ const args = ["read", node.config.path];
182
+ const res = await this.exec("/sys/resolver", args)
183
+ if (res.isOk) {
184
+ this.logger.debug(`[node=${node.name}] - load config=${node.config} -) ${res.result}`)
185
+ // TODO: warnign will not work if node.depth !== 1
186
+ const config = JSON.parse(res.result.replaceAll("##instanceId##", this.instanceId))
187
+ adjustConfig(config, this.instanceId)
188
+ await this.apiMain.insertRoutes(`/${this.instanceId}${node.endpoint}`, config)
189
+ } else {
190
+ this.logger.warn(`[node=${node.name}] - failed to load config`)
191
+ this.logger.warn(`endpoint=/${this.instanceId}${node.endpoint}`)
192
+ this.logger.warn(`depth=${node.depth}`)
193
+ this.logger.warn(`accessLevel=${this.store.context.accessLevel}`)
194
+ // This happens when i.e osgi doesn't have a config.json
195
+ // it tries to read it and fails
196
+ if (node.depth === 1) {
197
+ if (this.store.context.accessLevel < 500 ) {
198
+ await this.apiMain.insertRoutes(`/${this.instanceId}${node.endpoint}`,
199
+ [{"path": node.name, "location": `/${this.instanceId}/v3/actions/root/admin/_admin.vue`}],
200
+ )
201
+ } else {
202
+ await this.apiMain.insertRoutes(`/${this.instanceId}${node.endpoint}`,
203
+ [{"path": node.name, "location": "/core/nodes/_api.vue"}]
204
+ )
205
+ }
206
+ }
207
+ }
208
+ // NO CONFIG FOUND
209
+ } else {
210
+ if (node.depth === 1) {
211
+ if (this.store.context.accessLevel < 500) {
212
+ await this.apiMain.insertRoutes(`/${this.instanceId}${node.endpoint}`,
213
+ [{"path": node.name, "location": `/${this.instanceId}/v3/actions/root/admin/_admin.vue`}],
214
+ )
215
+ } else {
216
+ await this.apiMain.insertRoutes(`/${this.instanceId}${node.endpoint}`,
217
+ [{"path": node.name, "location": "/core/nodes/_api.vue"}]
218
+ )
219
+ }
220
+ }
221
+ }
222
+
223
+ if (node.children) {
224
+ for (const child of node.children) {
225
+ await this._initializeRootNode(child);
226
+ }
227
+ }
228
+ }
229
+ // ________________________________________________________________________________
230
+ // EXEC API
231
+ // ________________________________________________________________________________
232
+ /**
233
+ * Execute a command on the given endpoint.
234
+ * @param {string} endpointId
235
+ * @param {Array} args
236
+ * @param {*} bytes
237
+ * @returns {Promise<Object>}
238
+ */
239
+ exec = async (endpointId, args = [], bytes = null) => {
240
+ if (typeof endpointId !== 'string') {
241
+ return nok('[INVALID_ARGUMENT] - endpointId must be string', ['exec']);
242
+ }
243
+ if (!Array.isArray(args)) {
244
+ return nok('[INVALID_ARGUMENT] - args must be an array', ['exec']);
245
+ }
246
+ if (!endpointId) {
247
+ return nok(`[INVALID_ARGUMENT] - endpointId=${endpointId}`, ['exec']);
248
+ }
249
+
250
+ try {
251
+ return await this.connection.execute(endpointId, args, bytes);
252
+ } catch (e) {
253
+ const errorMsg = `[EXCEPTION] - endpointId=${endpointId} - args=${args}`;
254
+ this.logger.info(errorMsg);
255
+ this.logger.info(e);
256
+ return nok(e.toLocaleString(), ['exec', errorMsg]);
257
+ }
258
+ }
259
+
260
+ /**
261
+ * Execute a command - returns an Observable, throws on validation errors
262
+ * @param {string} endpointId
263
+ * @param {string[]} args
264
+ * @param {*} bytes
265
+ * @returns {Observable}
266
+ */
267
+ exec2(endpointId, args = [], bytes = null) {
268
+ if (!endpointId) {
269
+ return throwError(() => new Error(`[INVALID_ARGUMENT] - endpointId=${endpointId}`));
270
+ }
271
+ if (typeof endpointId !== 'string') {
272
+ return throwError(() => new Error('[INVALID_ARGUMENT] - endpointId must be string'));
273
+ }
274
+ if (!Array.isArray(args)) {
275
+ return throwError(() => new Error('[INVALID_ARGUMENT] - args must be an array'));
276
+ }
277
+
278
+ const idxArgsError = indexOfNonString(args);
279
+ if (idxArgsError !== -1) {
280
+ return throwError(() => new Error(
281
+ `[INVALID_ARGUMENT] - args must contain only strings but idx=${idxArgsError} is not string`
282
+ ));
283
+ }
284
+
285
+ return this.connection.execute2(endpointId, args, bytes);
286
+ }
287
+
288
+ /**
289
+ * Execute and return structured result with text STDOUT
290
+ * @param {string} endpointId
291
+ * @param {string[]} args
292
+ * @param {*} bytes
293
+ * @returns {Observable}
294
+ */
295
+ exec2Result(endpointId, args = [], bytes = null) {
296
+ return this.exec2(endpointId, args, bytes).pipe(
297
+ map(this._createExecResultMapper(true))
298
+ );
299
+ }
300
+
301
+ // ________________________________________________________________________________
302
+ // HTTP
303
+ // ________________________________________________________________________________
304
+ resolver = async (endpoint, type) => {
305
+ this.logger.info(`[resolver] - endpoint=${endpoint}`)
306
+
307
+ if (endpoint.startsWith('/c0ckp1t/')) {
308
+ const endpointAdjusted = endpoint.replace("/c0ckp1t/", `/`)
309
+ const path = `${Constants.SERVER_API_URL}${endpointAdjusted}`;
310
+ this.logger.debug(`[resolver] - endpointAdjusted=${path}`);
311
+ const res = await Http.getText(path)
312
+ if (res.isOk) {
313
+ return new Response(res.result, {status: 200, statusText: 'OK'});
314
+ } else {
315
+ return new Response(res.result, {status: 500, statusText: 'NOK'});
316
+ }
317
+ }
318
+
319
+ const args = ["read", endpoint]
320
+ const res = await this.exec("/sys/resolver", args)
321
+ if (!res.isOk) {
322
+ throw Error(`[READ_ERROR] - args=${args} - result=${res.result}`)
323
+ }
324
+ const text = res.result.replaceAll("##instanceId##", this.instanceId)
325
+ return new Response(text, {status: 200, statusText: 'OK'});
326
+ }
327
+
328
+ getText = async (endpoint) => {
329
+ this.logger.info(`[getText] - endpoint=${endpoint}`)
330
+ if (endpoint.startsWith('/c0ckp1t/')) {
331
+ const path = `${Constants.SERVER_API_URL}${endpoint}`;
332
+ return await Http.getText(path)
333
+ }
334
+ const args = ["read", endpoint]
335
+ const res = await this.exec("/sys/resolver", args)
336
+ if (!res.isOk) {
337
+ this.logger.info(`[getText] - error - endpoint=${endpoint}`)
338
+ throw Error(`[READ_ERROR] - args=${args} - result=${res.result}`)
339
+ }
340
+ return res
341
+ }
342
+
343
+ async getBinary(endpoint) {
344
+ const path = `${Constants.SERVER_API_URL}${endpoint}`;
345
+ this.logger.debug(`[getBinary] - ${path}`);
346
+ return await Http.getBinary(path)
347
+ }
348
+
349
+ async getJson(endpoint) {
350
+ const path = `${Constants.SERVER_API_URL}${endpoint}`;
351
+ this.logger.debug(`[getJson] - ${path}`);
352
+ return await Http.getJson(path)
353
+ }
354
+
355
+ async postJson(endpoint, body) {
356
+ const path = `${Constants.SERVER_API_URL}${endpoint}`;
357
+ this.logger.debug(`[postJson] - ${path}`);
358
+ return await Http.postJson(path, body)
359
+ }
360
+
361
+ // ________________________________________________________________________________
362
+ // init
363
+ // ________________________________________________________________________________
364
+ init = async () => {
365
+ await this.connect()
366
+ this.state.isReady = true
367
+ }
368
+
369
+
370
+ _createExecResultMapper(convertStdoutToText = true) {
371
+ return (pktBytes) => {
372
+ const result = fromBinary(pktBytes);
373
+
374
+ switch (result.type) {
375
+ case "START":
376
+ return {
377
+ type: result.type,
378
+ id: result.id,
379
+ currentTimeMs: result.currentTimeMs,
380
+ };
381
+ case "END":
382
+ return {
383
+ type: result.type,
384
+ runtimeMs: result.runtimeMs,
385
+ exitCode: result.exitCode,
386
+ };
387
+ case "STDOUT":
388
+ return {
389
+ type: result.type,
390
+ result: convertStdoutToText ? fromByteArray(result.bytes) : result.bytes
391
+ };
392
+ case "STDIELD":
393
+ return {
394
+ type: result.type,
395
+ result: fromByteArray(result.bytes)
396
+ };
397
+ case "STDERR":
398
+ return {
399
+ type: result.type,
400
+ result: fromByteArray(result.bytes)
401
+ };
402
+ default:
403
+ throw new Error(`[UNEXPECTED_TYPE] - type=${result.type}`);
404
+ }
405
+ };
406
+ }
407
+ } // end of IslandDefault class
408
+
409
+
410
+ // ________________________________________________________________________________
411
+ // HELPER METHODS
412
+ // ________________________________________________________________________________
413
+ function adjustNode(node) {
414
+ node._expanded = true;
415
+ node.children.forEach((child) => {
416
+ adjustNode(child);
417
+ });
418
+ }
419
+
420
+ function adjustConfig(children, instanceId) {
421
+ children.forEach((node) => {
422
+ if (node.location) {
423
+ node.location = `/${instanceId}${node.location}`
424
+ }
425
+ if (node.children) {
426
+ adjustConfig(node.children, instanceId);
427
+ }
428
+ });
429
+ }
@@ -0,0 +1,229 @@
1
+ // ________________________________________________________________________________
2
+ // IMPORT
3
+ // ________________________________________________________________________________
4
+ import {markRaw, reactive, watch, defineAsyncComponent, getCurrentInstance} from 'vue'
5
+ import {ok, nok, sha1} from "JsUtils"
6
+ import {Http} from "WsUtils"
7
+ import {getLogger} from 'Logging';
8
+ import Constants from "Constants";
9
+ import {loadModule, options } from "./VueUtils.mjs";
10
+
11
+ // ________________________________________________________________________________
12
+ // Default Island
13
+ // ________________________________________________________________________________
14
+ /**
15
+ * state
16
+ * isLoading
17
+ * isReady
18
+ * store
19
+ * id
20
+ * connection
21
+ */
22
+ export default class IslandDefault {
23
+ constructor(apiMain, config) {
24
+
25
+ this.instanceId = config.instanceId
26
+ this.config = config
27
+
28
+ this.LOG_HEADER = `${this.instanceId}`;
29
+ this.logger = getLogger(this.LOG_HEADER);
30
+ this.logger.debug('[INIT]');
31
+
32
+ this.connection = {
33
+ state: {
34
+ isConnected: true,
35
+ isAuthenticated: false,
36
+ isReady: true,
37
+ sessionStateString: "INITIALIZED",
38
+ connStateString: "CONNECTED",
39
+ errorMessages: [],
40
+ subscriptionCount: 0,
41
+ },
42
+ store: {
43
+ username: "default",
44
+ }
45
+ };
46
+
47
+ // ________________________________________________________________________________
48
+ // STATE - NOT saved in browser storage
49
+ // ________________________________________________________________________________
50
+ this.state = reactive({
51
+ isLoading: false,
52
+ isReady: false,
53
+ })
54
+
55
+ // ________________________________________________________________________________
56
+ // STORE - saved in browser storage
57
+ // ________________________________________________________________________________
58
+ this.store = reactive({
59
+ id: this.LOG_HEADER,
60
+ updated: null,
61
+
62
+ showRegistry: true,
63
+ root: null,
64
+ selectedNode: null,
65
+ })
66
+ this.apiMain = apiMain
67
+ this.sfcOptions = options
68
+
69
+ } // end of constructor
70
+
71
+ // ________________________________________________________________________________
72
+ // NODE METHODS
73
+ // ________________________________________________________________________________
74
+ routeByEndpoint = async (endpoint) => {
75
+ this.logger.debug(`routeByEndpoint - endpoint=${endpoint}`);
76
+ await this.apiMain.routeByEndpoint(
77
+ this.instanceId,
78
+ `/${this.instanceId}${endpoint}`
79
+ );
80
+ }
81
+
82
+ /**
83
+ * Select the default dashboard (root).
84
+ * @returns {Promise<void>}
85
+ */
86
+ selectDefaultDashboard = async () => {
87
+ await this.apiMain.routerPush(`/${this.instanceId}`);
88
+ }
89
+
90
+ /**
91
+ * Select a node and navigate to its endpoint.
92
+ * A node has:
93
+ * - endpoint = "/documentation"
94
+ * - name = "documentation"
95
+ * @param {Object} node
96
+ * @returns {Promise<void>}
97
+ */
98
+ selectNode = async (node) => {
99
+ this.logger.info(`selectNode - node.endpoint=${node.endpoint}`);
100
+ this.store.selectedNode = null;
101
+ this.store.selectedNode = node;
102
+ await this.apiMain.routeByEndpoint( node.endpoint );
103
+ }
104
+
105
+ // ________________________________________________________________________________
106
+ // MODULE API
107
+ // ________________________________________________________________________________
108
+ loadModule = async (path) => {
109
+ try {
110
+ this.logger.debug(`[loadModule] - path=${path}`);
111
+ return await loadModule(path, options);
112
+ } catch(e) {
113
+ this.logger.error(`[loadModule] - ERROR - path=${path} - ${e}`);
114
+ throw e // Rethrow the error so Vue can handle it
115
+ }
116
+ }
117
+
118
+ // ________________________________________________________________________________
119
+ // USER API
120
+ // ________________________________________________________________________________
121
+ userContext = async () => {
122
+ return this.store.context
123
+ }
124
+
125
+ /**
126
+ * Fetch and set the root node.
127
+ * @returns {Promise<void>}
128
+ */
129
+ rootNode = async () => {
130
+ this.logger.debug('[rootNode]');
131
+ console.log(this.config)
132
+ const root = this.config.root
133
+ adjustNode(root)
134
+ this.store.root = root
135
+ }
136
+
137
+ // ________________________________________________________________________________
138
+ // EXEC API
139
+ // ________________________________________________________________________________
140
+ /**
141
+ * Execute a command on the given endpoint.
142
+ * @param {string} endpointId
143
+ * @param {Array} args
144
+ * @param {*} bytes
145
+ * @returns {Promise<Object>}
146
+ */
147
+ exec = async (endpointId, args = [], bytes = null) => {
148
+ if (typeof endpointId !== 'string') {
149
+ return nok('[INVALID_ARGUMENT] - endpointId must be string', ['exec']);
150
+ }
151
+ if (!Array.isArray(args)) {
152
+ return nok('[INVALID_ARGUMENT] - args must be an array', ['exec']);
153
+ }
154
+ if (!endpointId) {
155
+ return nok(`[INVALID_ARGUMENT] - endpointId=${endpointId}`, ['exec']);
156
+ }
157
+
158
+ try {
159
+ return nok("[NOT_IMPLEMENTED]", ['exec']);
160
+ } catch (e) {
161
+ const errorMsg = `[EXCEPTION] - endpointId=${endpointId} - args=${args}`;
162
+ this.logger.info(errorMsg);
163
+ this.logger.info(e);
164
+ return nok(e.toLocaleString(), ['exec', errorMsg]);
165
+ }
166
+ }
167
+
168
+ // ________________________________________________________________________________
169
+ // HTTP
170
+ // ________________________________________________________________________________
171
+ /**
172
+ *
173
+ * @param path
174
+ * @param type
175
+ * @returns {Promise<Response>}
176
+ */
177
+ resolver = async (path, type) => {
178
+ this.logger.debug(`[resolver] - fetching - ${path} - ${type}`)
179
+ const res = await fetch(path);
180
+ if (!res.ok) throw Object.assign(new Error(res.statusText + ' ' + path), {res});
181
+ return res
182
+ }
183
+
184
+
185
+ getText = async (endpoint) => {
186
+ const path = `${Constants.SERVER_API_URL}${endpoint}`;
187
+ this.logger.debug(`[getText] - ${path}`);
188
+ return await Http.getText(path)
189
+ }
190
+
191
+ async getBinary(endpoint) {
192
+ const path = `${Constants.SERVER_API_URL}${endpoint}`;
193
+ this.logger.debug(`[getBinary] - ${path}`);
194
+ return await Http.getBinary(path)
195
+ }
196
+
197
+ async getJson(endpoint, params = {}) {
198
+ const path = `${Constants.SERVER_API_URL}${endpoint}`;
199
+ this.logger.debug(`[getJson] - ${path}`);
200
+ return await Http.getJson(path)
201
+ }
202
+
203
+ async postJson(endpoint, body) {
204
+ const path = `${Constants.SERVER_API_URL}${endpoint}`;
205
+ this.logger.debug(`[postJson] - ${path}`);
206
+ return await Http.postJson(path, body)
207
+ }
208
+
209
+ // ________________________________________________________________________________
210
+ // init
211
+ // ________________________________________________________________________________
212
+ init = async () => {
213
+ await this.rootNode()
214
+ this.state.isReady = true
215
+ }
216
+
217
+ } // end of IslandDefault class
218
+
219
+
220
+ // ________________________________________________________________________________
221
+ // HELPER METHODS
222
+ // ________________________________________________________________________________
223
+ function adjustNode(node) {
224
+ node._expanded = true;
225
+ node.children.forEach((child) => {
226
+ adjustNode(child);
227
+ });
228
+ }
229
+