@field/cascade 0.2.22

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 (319) hide show
  1. package/AGENTS.md +168 -0
  2. package/ARCHITECTURE.md +137 -0
  3. package/DESIGN.md +161 -0
  4. package/LICENSE +21 -0
  5. package/README.md +229 -0
  6. package/dist/assets/CodeEditor-DR7u0q7p.css +1 -0
  7. package/dist/assets/CodeEditor-DoaNEUaM.js +641 -0
  8. package/dist/assets/CodePanel-B0_2XJ-t.js +2 -0
  9. package/dist/assets/CodePanel-IT1secyI.css +1 -0
  10. package/dist/assets/CustomNodeDialog-026lzecD.js +1 -0
  11. package/dist/assets/CustomNodeDialog-JGYnWY6m.css +1 -0
  12. package/dist/assets/ExportDialog-DOq0flMV.css +1 -0
  13. package/dist/assets/ExportDialog-DWN4nhXI.js +358 -0
  14. package/dist/assets/ProjectSettings-BzT164Yx.js +2 -0
  15. package/dist/assets/ProjectSettings-DdO9xoQz.css +1 -0
  16. package/dist/assets/SettingsDialog-CeK7ytpY.css +1 -0
  17. package/dist/assets/SettingsDialog-DmHb1V0r.js +1 -0
  18. package/dist/assets/VersionHistoryDialog-CWNmHQ-P.css +1 -0
  19. package/dist/assets/VersionHistoryDialog-hH6VsXLX.js +3 -0
  20. package/dist/assets/abap-08VXUWAP.js +1 -0
  21. package/dist/assets/apex-BWPQTe0t.js +1 -0
  22. package/dist/assets/azcli-Bc_sGQ0U.js +1 -0
  23. package/dist/assets/bat-i0X4ZdIN.js +1 -0
  24. package/dist/assets/bicep-B5-_aFwp.js +2 -0
  25. package/dist/assets/cameligo-DMUM7wLl.js +1 -0
  26. package/dist/assets/cascade.jpg +0 -0
  27. package/dist/assets/clojure-Cm7r79vr.js +1 -0
  28. package/dist/assets/codicon-Brq4_Ui5.ttf +0 -0
  29. package/dist/assets/coffee-Ba7i2nA0.js +1 -0
  30. package/dist/assets/core-Bji4aZUU.js +965 -0
  31. package/dist/assets/cpp-C7h46wYY.js +1 -0
  32. package/dist/assets/csharp-BKxtCVv1.js +1 -0
  33. package/dist/assets/csp-bTuwJoIa.js +1 -0
  34. package/dist/assets/css-DIMkf-bt.js +3 -0
  35. package/dist/assets/css.worker-B3ciXF_0.js +93 -0
  36. package/dist/assets/cssMode-B6Z_Q1Kh.js +1 -0
  37. package/dist/assets/cypher-CVaqCwHa.js +1 -0
  38. package/dist/assets/dart-onAF5SnQ.js +1 -0
  39. package/dist/assets/dockerfile-DZFCIeNp.js +1 -0
  40. package/dist/assets/ecl-D05T4iGw.js +1 -0
  41. package/dist/assets/editor-1FQrmyyI.css +1 -0
  42. package/dist/assets/editor.api-jMoW_43X.js +847 -0
  43. package/dist/assets/editor.worker-q-txB4vs.js +30 -0
  44. package/dist/assets/elixir-6RTg0lbw.js +1 -0
  45. package/dist/assets/flow9-C5_-GSwl.js +1 -0
  46. package/dist/assets/freemarker2-DvvPV6m5.js +3 -0
  47. package/dist/assets/fsharp-C8Ef5oNN.js +1 -0
  48. package/dist/assets/geo-CXmCtzMM.js +2 -0
  49. package/dist/assets/go-C-y9NEjX.js +1 -0
  50. package/dist/assets/graphql-fmXr3nnJ.js +1 -0
  51. package/dist/assets/handlebars-B8rfuSIa.js +1 -0
  52. package/dist/assets/hcl-CpzslTdj.js +1 -0
  53. package/dist/assets/html-DyHm6JCp.js +1 -0
  54. package/dist/assets/html.worker-C93Ht9o9.js +506 -0
  55. package/dist/assets/htmlMode-E9XLWE5u.js +1 -0
  56. package/dist/assets/image-BUcQC7PG.js +2076 -0
  57. package/dist/assets/index-BXYXSdgh.js +224 -0
  58. package/dist/assets/index-CrNke7SW.css +1 -0
  59. package/dist/assets/index-client-DN_FvjN8.js +1 -0
  60. package/dist/assets/ini-sBoK_t0W.js +1 -0
  61. package/dist/assets/java-BEtHBSE6.js +1 -0
  62. package/dist/assets/javascript-C_bM5PCN.js +1 -0
  63. package/dist/assets/json.worker-B2V3pomh.js +62 -0
  64. package/dist/assets/jsonMode-BdyVS7G4.js +7 -0
  65. package/dist/assets/julia-Bri6UV-V.js +1 -0
  66. package/dist/assets/kotlin-BOotOW0E.js +1 -0
  67. package/dist/assets/legacy-DIu3XRwl.js +2 -0
  68. package/dist/assets/less-B9JPFI3C.js +2 -0
  69. package/dist/assets/lexon-CfSJPG6W.js +1 -0
  70. package/dist/assets/liquid-CDkn3spA.js +1 -0
  71. package/dist/assets/lspLanguageFeatures-AB5DMAsr.js +4 -0
  72. package/dist/assets/lua-CsQS60Ue.js +1 -0
  73. package/dist/assets/m3-D-oSqn_W.js +1 -0
  74. package/dist/assets/markdown-Cimd5fb3.js +1 -0
  75. package/dist/assets/mdx-BvH_NjDN.js +1 -0
  76. package/dist/assets/mips-CIPQ_RoX.js +1 -0
  77. package/dist/assets/msdax-DauUninz.js +1 -0
  78. package/dist/assets/mysql-SOo6toE5.js +1 -0
  79. package/dist/assets/nodeTypeUtils-CweA3NHd.js +1 -0
  80. package/dist/assets/objective-c-FvmIjYaQ.js +1 -0
  81. package/dist/assets/pascal-DrH0SRf2.js +1 -0
  82. package/dist/assets/pascaligo-D-ptJ9y-.js +1 -0
  83. package/dist/assets/perl-oz_6vUea.js +1 -0
  84. package/dist/assets/pgsql-DTj74zXo.js +1 -0
  85. package/dist/assets/php-nr791fC2.js +1 -0
  86. package/dist/assets/pla-CopQ2nXW.js +1 -0
  87. package/dist/assets/postiats-43DmfD33.js +1 -0
  88. package/dist/assets/powerquery-D3hlyOfw.js +1 -0
  89. package/dist/assets/powershell-DmHpPYUd.js +1 -0
  90. package/dist/assets/projectSettingsApi-C1WvIwfP.js +1 -0
  91. package/dist/assets/protobuf-C531GsRP.js +2 -0
  92. package/dist/assets/pug-Z5eAx3Zn.js +1 -0
  93. package/dist/assets/python-B7uii4fi.js +1 -0
  94. package/dist/assets/qsharp-DkqhCAOL.js +1 -0
  95. package/dist/assets/quill-DjZ69wL_.js +121 -0
  96. package/dist/assets/r-BwWrilGY.js +1 -0
  97. package/dist/assets/razor-Z48fWdJc.js +1 -0
  98. package/dist/assets/redis-ClamHrr6.js +1 -0
  99. package/dist/assets/redshift-DT7zqm-g.js +1 -0
  100. package/dist/assets/restructuredtext-BYgofb2h.js +1 -0
  101. package/dist/assets/ruby-DezsRK8O.js +1 -0
  102. package/dist/assets/rust-DdL9SqIa.js +1 -0
  103. package/dist/assets/sb-CcwsVR0C.js +1 -0
  104. package/dist/assets/scala-DHpiXF5c.js +1 -0
  105. package/dist/assets/scheme-BeGwcela.js +1 -0
  106. package/dist/assets/scss-gp-XZpBa.js +3 -0
  107. package/dist/assets/shell-CC2rA5mh.js +1 -0
  108. package/dist/assets/solidity-BEEn4gHE.js +1 -0
  109. package/dist/assets/sophia-CRfGWb83.js +1 -0
  110. package/dist/assets/sparql-D_Lu-MrJ.js +1 -0
  111. package/dist/assets/sql-NEE52Syq.js +1 -0
  112. package/dist/assets/st-DbInun42.js +1 -0
  113. package/dist/assets/swift-Bxkupp3x.js +1 -0
  114. package/dist/assets/systemverilog-Bz4Y3fRF.js +1 -0
  115. package/dist/assets/tcl-DISqw1ZD.js +1 -0
  116. package/dist/assets/ts.worker-D7T1-Ig5.js +67738 -0
  117. package/dist/assets/tsMode-BDgacVG4.js +11 -0
  118. package/dist/assets/twig-De2hgUGE.js +1 -0
  119. package/dist/assets/typescript-Derb6Oqa.js +1 -0
  120. package/dist/assets/typespec-B8J7ngcE.js +1 -0
  121. package/dist/assets/vb-DV3o63ZY.js +1 -0
  122. package/dist/assets/wgsl-DpFanUEy.js +298 -0
  123. package/dist/assets/workers-BtoMX_pm.js +1 -0
  124. package/dist/assets/xml-B1CaFSrG.js +1 -0
  125. package/dist/assets/yaml-HmIeA0KH.js +1 -0
  126. package/dist/cli/index.js +11377 -0
  127. package/dist/cli/index.js.map +7 -0
  128. package/dist/cli/runtime/io.ts +445 -0
  129. package/dist/cli/runtime/net.ts +19 -0
  130. package/dist/cli/runtime/shell.ts +46 -0
  131. package/dist/cli/runtime/stage.ts +132 -0
  132. package/dist/contracts/capabilities.d.ts +109 -0
  133. package/dist/contracts/capabilities.d.ts.map +1 -0
  134. package/dist/contracts/capabilities.js +11 -0
  135. package/dist/contracts/capabilities.js.map +1 -0
  136. package/dist/contracts/color.d.ts +67 -0
  137. package/dist/contracts/color.d.ts.map +1 -0
  138. package/dist/contracts/color.js +83 -0
  139. package/dist/contracts/color.js.map +1 -0
  140. package/dist/contracts/definition.d.ts +118 -0
  141. package/dist/contracts/definition.d.ts.map +1 -0
  142. package/dist/contracts/definition.js +2 -0
  143. package/dist/contracts/definition.js.map +1 -0
  144. package/dist/contracts/document.d.ts +50 -0
  145. package/dist/contracts/document.d.ts.map +1 -0
  146. package/dist/contracts/document.js +2 -0
  147. package/dist/contracts/document.js.map +1 -0
  148. package/dist/contracts/geometry.d.ts +301 -0
  149. package/dist/contracts/geometry.d.ts.map +1 -0
  150. package/dist/contracts/geometry.js +604 -0
  151. package/dist/contracts/geometry.js.map +1 -0
  152. package/dist/contracts/index.d.ts +8 -0
  153. package/dist/contracts/index.d.ts.map +1 -0
  154. package/dist/contracts/index.js +8 -0
  155. package/dist/contracts/index.js.map +1 -0
  156. package/dist/contracts/schema.d.ts +6 -0
  157. package/dist/contracts/schema.d.ts.map +1 -0
  158. package/dist/contracts/schema.js +85 -0
  159. package/dist/contracts/schema.js.map +1 -0
  160. package/dist/contracts/validate.d.ts +13 -0
  161. package/dist/contracts/validate.d.ts.map +1 -0
  162. package/dist/contracts/validate.js +202 -0
  163. package/dist/contracts/validate.js.map +1 -0
  164. package/dist/contracts/values.d.ts +100 -0
  165. package/dist/contracts/values.d.ts.map +1 -0
  166. package/dist/contracts/values.js +59 -0
  167. package/dist/contracts/values.js.map +1 -0
  168. package/dist/graphs/default-orig.cascade +128 -0
  169. package/dist/graphs/default.cascade +21 -0
  170. package/dist/index.html +19 -0
  171. package/dist/runtime/browser.d.ts +3 -0
  172. package/dist/runtime/browser.d.ts.map +1 -0
  173. package/dist/runtime/browser.js +12 -0
  174. package/dist/runtime/browser.js.map +1 -0
  175. package/dist/runtime/builtins/core/index.d.ts +9 -0
  176. package/dist/runtime/builtins/core/index.d.ts.map +1 -0
  177. package/dist/runtime/builtins/core/index.js +21 -0
  178. package/dist/runtime/builtins/core/index.js.map +1 -0
  179. package/dist/runtime/builtins/core/random.d.ts +66 -0
  180. package/dist/runtime/builtins/core/random.d.ts.map +1 -0
  181. package/dist/runtime/builtins/core/random.js +46 -0
  182. package/dist/runtime/builtins/core/random.js.map +1 -0
  183. package/dist/runtime/builtins/core/remap.d.ts +105 -0
  184. package/dist/runtime/builtins/core/remap.d.ts.map +1 -0
  185. package/dist/runtime/builtins/core/remap.js +43 -0
  186. package/dist/runtime/builtins/core/remap.js.map +1 -0
  187. package/dist/runtime/builtins/core/routing.d.ts +117 -0
  188. package/dist/runtime/builtins/core/routing.d.ts.map +1 -0
  189. package/dist/runtime/builtins/core/routing.js +114 -0
  190. package/dist/runtime/builtins/core/routing.js.map +1 -0
  191. package/dist/runtime/builtins/core/structural.d.ts +86 -0
  192. package/dist/runtime/builtins/core/structural.d.ts.map +1 -0
  193. package/dist/runtime/builtins/core/structural.js +63 -0
  194. package/dist/runtime/builtins/core/structural.js.map +1 -0
  195. package/dist/runtime/builtins/geo/copyToPoints.d.ts +58 -0
  196. package/dist/runtime/builtins/geo/copyToPoints.d.ts.map +1 -0
  197. package/dist/runtime/builtins/geo/copyToPoints.js +35 -0
  198. package/dist/runtime/builtins/geo/copyToPoints.js.map +1 -0
  199. package/dist/runtime/builtins/geo/definitions.d.ts +526 -0
  200. package/dist/runtime/builtins/geo/definitions.d.ts.map +1 -0
  201. package/dist/runtime/builtins/geo/definitions.js +182 -0
  202. package/dist/runtime/builtins/geo/definitions.js.map +1 -0
  203. package/dist/runtime/builtins/geo/generators.d.ts +94 -0
  204. package/dist/runtime/builtins/geo/generators.d.ts.map +1 -0
  205. package/dist/runtime/builtins/geo/generators.js +41 -0
  206. package/dist/runtime/builtins/geo/generators.js.map +1 -0
  207. package/dist/runtime/builtins/geo/index.d.ts +23 -0
  208. package/dist/runtime/builtins/geo/index.d.ts.map +1 -0
  209. package/dist/runtime/builtins/geo/index.js +35 -0
  210. package/dist/runtime/builtins/geo/index.js.map +1 -0
  211. package/dist/runtime/builtins/geo/merge.d.ts +40 -0
  212. package/dist/runtime/builtins/geo/merge.d.ts.map +1 -0
  213. package/dist/runtime/builtins/geo/merge.js +24 -0
  214. package/dist/runtime/builtins/geo/merge.js.map +1 -0
  215. package/dist/runtime/builtins/geo/namespace.d.ts +15 -0
  216. package/dist/runtime/builtins/geo/namespace.d.ts.map +1 -0
  217. package/dist/runtime/builtins/geo/namespace.js +17 -0
  218. package/dist/runtime/builtins/geo/namespace.js.map +1 -0
  219. package/dist/runtime/builtins/geo/svgExport.d.ts +130 -0
  220. package/dist/runtime/builtins/geo/svgExport.d.ts.map +1 -0
  221. package/dist/runtime/builtins/geo/svgExport.js +50 -0
  222. package/dist/runtime/builtins/geo/svgExport.js.map +1 -0
  223. package/dist/runtime/builtins/geo/transform.d.ts +60 -0
  224. package/dist/runtime/builtins/geo/transform.d.ts.map +1 -0
  225. package/dist/runtime/builtins/geo/transform.js +32 -0
  226. package/dist/runtime/builtins/geo/transform.js.map +1 -0
  227. package/dist/runtime/builtins/index.d.ts +9 -0
  228. package/dist/runtime/builtins/index.d.ts.map +1 -0
  229. package/dist/runtime/builtins/index.js +16 -0
  230. package/dist/runtime/builtins/index.js.map +1 -0
  231. package/dist/runtime/definition/architecture.d.ts +8 -0
  232. package/dist/runtime/definition/architecture.d.ts.map +1 -0
  233. package/dist/runtime/definition/architecture.js +112 -0
  234. package/dist/runtime/definition/architecture.js.map +1 -0
  235. package/dist/runtime/definition/extract.d.ts +12 -0
  236. package/dist/runtime/definition/extract.d.ts.map +1 -0
  237. package/dist/runtime/definition/extract.js +151 -0
  238. package/dist/runtime/definition/extract.js.map +1 -0
  239. package/dist/runtime/error.d.ts +8 -0
  240. package/dist/runtime/error.d.ts.map +1 -0
  241. package/dist/runtime/error.js +11 -0
  242. package/dist/runtime/error.js.map +1 -0
  243. package/dist/runtime/geometry/attributes.d.ts +65 -0
  244. package/dist/runtime/geometry/attributes.d.ts.map +1 -0
  245. package/dist/runtime/geometry/attributes.js +201 -0
  246. package/dist/runtime/geometry/attributes.js.map +1 -0
  247. package/dist/runtime/geometry/builder.d.ts +57 -0
  248. package/dist/runtime/geometry/builder.d.ts.map +1 -0
  249. package/dist/runtime/geometry/builder.js +153 -0
  250. package/dist/runtime/geometry/builder.js.map +1 -0
  251. package/dist/runtime/geometry/copy.d.ts +36 -0
  252. package/dist/runtime/geometry/copy.d.ts.map +1 -0
  253. package/dist/runtime/geometry/copy.js +68 -0
  254. package/dist/runtime/geometry/copy.js.map +1 -0
  255. package/dist/runtime/geometry/generate.d.ts +43 -0
  256. package/dist/runtime/geometry/generate.d.ts.map +1 -0
  257. package/dist/runtime/geometry/generate.js +76 -0
  258. package/dist/runtime/geometry/generate.js.map +1 -0
  259. package/dist/runtime/geometry/groups.d.ts +18 -0
  260. package/dist/runtime/geometry/groups.d.ts.map +1 -0
  261. package/dist/runtime/geometry/groups.js +69 -0
  262. package/dist/runtime/geometry/groups.js.map +1 -0
  263. package/dist/runtime/geometry/index.d.ts +23 -0
  264. package/dist/runtime/geometry/index.d.ts.map +1 -0
  265. package/dist/runtime/geometry/index.js +23 -0
  266. package/dist/runtime/geometry/index.js.map +1 -0
  267. package/dist/runtime/geometry/matrix.d.ts +26 -0
  268. package/dist/runtime/geometry/matrix.d.ts.map +1 -0
  269. package/dist/runtime/geometry/matrix.js +27 -0
  270. package/dist/runtime/geometry/matrix.js.map +1 -0
  271. package/dist/runtime/geometry/merge.d.ts +33 -0
  272. package/dist/runtime/geometry/merge.d.ts.map +1 -0
  273. package/dist/runtime/geometry/merge.js +185 -0
  274. package/dist/runtime/geometry/merge.js.map +1 -0
  275. package/dist/runtime/geometry/primitives.d.ts +41 -0
  276. package/dist/runtime/geometry/primitives.d.ts.map +1 -0
  277. package/dist/runtime/geometry/primitives.js +131 -0
  278. package/dist/runtime/geometry/primitives.js.map +1 -0
  279. package/dist/runtime/geometry/promote.d.ts +44 -0
  280. package/dist/runtime/geometry/promote.d.ts.map +1 -0
  281. package/dist/runtime/geometry/promote.js +203 -0
  282. package/dist/runtime/geometry/promote.js.map +1 -0
  283. package/dist/runtime/geometry/resample.d.ts +29 -0
  284. package/dist/runtime/geometry/resample.d.ts.map +1 -0
  285. package/dist/runtime/geometry/resample.js +165 -0
  286. package/dist/runtime/geometry/resample.js.map +1 -0
  287. package/dist/runtime/geometry/svg.d.ts +91 -0
  288. package/dist/runtime/geometry/svg.d.ts.map +1 -0
  289. package/dist/runtime/geometry/svg.js +216 -0
  290. package/dist/runtime/geometry/svg.js.map +1 -0
  291. package/dist/runtime/geometry/transform.d.ts +18 -0
  292. package/dist/runtime/geometry/transform.d.ts.map +1 -0
  293. package/dist/runtime/geometry/transform.js +56 -0
  294. package/dist/runtime/geometry/transform.js.map +1 -0
  295. package/dist/runtime/index.d.ts +5 -0
  296. package/dist/runtime/index.d.ts.map +1 -0
  297. package/dist/runtime/index.js +4 -0
  298. package/dist/runtime/index.js.map +1 -0
  299. package/dist/runtime/node.d.ts +4 -0
  300. package/dist/runtime/node.d.ts.map +1 -0
  301. package/dist/runtime/node.js +12 -0
  302. package/dist/runtime/node.js.map +1 -0
  303. package/dist/runtime/runtime.d.ts +3 -0
  304. package/dist/runtime/runtime.d.ts.map +1 -0
  305. package/dist/runtime/runtime.js +1198 -0
  306. package/dist/runtime/runtime.js.map +1 -0
  307. package/dist/runtime/types.d.ts +241 -0
  308. package/dist/runtime/types.d.ts.map +1 -0
  309. package/dist/runtime/types.js +2 -0
  310. package/dist/runtime/types.js.map +1 -0
  311. package/dist/shell.d.ts +8 -0
  312. package/dist/shell.js +54 -0
  313. package/dist/shell.js.map +7 -0
  314. package/dist/stage.d.ts +7 -0
  315. package/dist/stage.js +84 -0
  316. package/dist/stage.js.map +7 -0
  317. package/dist/studio/panel.d.ts +48 -0
  318. package/doc/PROJECT_AUTHORING.md +360 -0
  319. package/package.json +126 -0
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CodeEditor-DoaNEUaM.js","assets/legacy-DIu3XRwl.js","assets/nodeTypeUtils-CweA3NHd.js","assets/index-BXYXSdgh.js","assets/index-client-DN_FvjN8.js","assets/index-CrNke7SW.css","assets/editor.api-jMoW_43X.js","assets/editor-1FQrmyyI.css","assets/CodeEditor-DR7u0q7p.css"])))=>i.map(i=>d[i]);
2
+ import{$ as e,A as t,Ct as n,H as r,L as i,Q as a,St as o,Tt as s,U as c,V as l,X as u,Y as d,at as f,ct as p,et as m,ft as h,gt as g,ht as _,i as v,it as y,l as b,r as x,rt as S,tt as C,ut as w,z as T}from"./legacy-DIu3XRwl.js";import{x as E,z as D}from"./index-BXYXSdgh.js";var O=c(`<div class="loading svelte-1pkj8m">Loading editor...</div>`),k=c(`<div class="error svelte-1pkj8m">Loading...</div>`),A=c(`<div class="error svelte-1pkj8m"> </div>`),j=c(`<div class="panel-wrapper svelte-1pkj8m"><!></div>`);function M(c,M){n(M,!1);let N=()=>g(D,`$sharedContextStore`,P),[P,F]=_(),I=p(null);x(async()=>{let e=await E(()=>import(`./CodeEditor-DoaNEUaM.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8]));w(I,e.default)}),v(M,`panelId`,8);let L=v(M,`panelParams`,8),R=v(M,`panelApi`,8);v(M,`containerApi`,8);let z=v(M,`graph`,12,void 0),B=v(M,`onRecordHistory`,12,void 0),V=p(null),H=L()?.nodeId;function U(){R()?.close&&R().close()}e(()=>N(),()=>{N()&&(z(N().graph),B(N().onRecordHistory))}),e(()=>d(z()),()=>{z()&&H?w(V,z().getNode(H)||null):w(V,null)}),e(()=>(d(R()),u(V)),()=>{R()?.setTitle&&u(V)&&R().setTitle(`Code: ${u(V).id}`)}),m(),b();var W=j(),G=S(W),K=e=>{var n=r(),i=y(n);{let e=h(()=>(d(z()),a(()=>z().packageManager||null)));t(i,()=>u(I),(t,n)=>{n(t,{get node(){return u(V)},get graph(){return z()},get packageManager(){return u(e)},onClose:U,showCloseButton:!1,get onRecordHistory(){return B()}})})}l(e,n)},q=e=>{var t=O();l(e,t)},J=e=>{var t=k();l(e,t)},Y=e=>{var t=A(),n=f(t);C(()=>T(n,`Node not found: ${H??``}`)),l(e,t)};i(G,e=>{u(V)&&z()&&u(I)?e(K):u(I)?z()?e(Y,-1):e(J,2):e(q,1)}),s(W),l(c,W),o(),F()}export{M as default};
@@ -0,0 +1 @@
1
+ .panel-wrapper.svelte-1pkj8m{background:var(--surface-panel-alt);width:100%;height:100%;overflow:hidden}.error.svelte-1pkj8m{color:var(--status-error);padding:16px}.loading.svelte-1pkj8m{color:var(--text-subtle);padding:16px}
@@ -0,0 +1 @@
1
+ import{$ as e,Ct as t,D as n,F as r,H as i,J as a,L as o,P as s,Q as c,St as l,Tt as u,U as d,V as f,X as p,Y as m,_ as h,at as g,ct as _,d as v,et as y,f as ee,g as te,i as b,it as x,l as S,nt as C,ot as w,p as T,rt as E,s as D,t as O,tt as k,u as ne,ut as A,wt as j,y as M,z as N}from"./legacy-DIu3XRwl.js";import{D as re,O as ie}from"./index-BXYXSdgh.js";var ae=d(`<span class="auto-badge svelte-1c1mvak">auto</span>`),oe=d(`<span class="radio-path svelte-1c1mvak"> </span>`),se=d(`<input type="text" class="custom-base-input svelte-1c1mvak" placeholder="e.g., cascade.mylib.MyBaseNode" autocomplete="off"/>`),P=d(`<label><input type="radio" name="baseClass" class="svelte-1c1mvak"/> <div class="radio-content svelte-1c1mvak"><div class="radio-header svelte-1c1mvak"><span class="radio-label svelte-1c1mvak"> </span> <!></div> <!></div></label>`),F=d(`<div class="dialog-overlay svelte-1c1mvak"><div class="dialog svelte-1c1mvak" role="dialog" aria-modal="true" aria-labelledby="custom-node-title"><div class="dialog-header svelte-1c1mvak"><h2 id="custom-node-title" class="svelte-1c1mvak">Create Custom Node</h2> <button class="close-button svelte-1c1mvak" aria-label="Close"><!></button></div> <form class="svelte-1c1mvak"><div class="form-group svelte-1c1mvak"><label for="node-name" class="svelte-1c1mvak">Node Name</label> <input id="node-name" type="text" placeholder="e.g., ParticleField" autocomplete="off" class="svelte-1c1mvak"/> <span class="hint svelte-1c1mvak">The display name for your node</span></div> <div class="form-group svelte-1c1mvak"><label for="module-path" class="svelte-1c1mvak">Module Path</label> <input id="module-path" type="text" placeholder="e.g., project.particle-field" autocomplete="off" class="svelte-1c1mvak"/> <span class="hint svelte-1c1mvak">Unique identifier for the node module <!></span></div> <div class="form-group svelte-1c1mvak"><span class="field-label svelte-1c1mvak">Base Class</span> <div class="base-class-options svelte-1c1mvak"></div></div> <div class="dialog-footer svelte-1c1mvak"><button type="button" class="cancel-button svelte-1c1mvak">Cancel</button> <button type="submit" class="create-button svelte-1c1mvak"><!> Create Node</button></div></form></div></div>`);function I(d,I){t(I,!1);let L=_(),R=[],z=b(I,`open`,12,!1),B=O(),V=_(``),H=_(``),U=_(`cascade.Node`),W=_(``),G=_(!0),K=[{id:`cascade.Node`,label:`Node`,description:`Base class for all nodes - use for general purpose computation`,template:`node`},{id:`cascade.image.ImageNodeBase`,label:`ImageNodeBase`,description:`Image processing base class with canvas/image utilities`,template:`image`},{id:`custom`,label:`Other`,description:`Specify a custom base class path`,template:`node`}];function ce(){A(G,!1)}function le(){let e=`local.${p(V).toLowerCase().replace(/[^a-z0-9]/g,``)}`;(p(H)===e||p(H)===``)&&A(G,!0)}function q(){if(!p(V).trim()||p(U)===`custom`&&!p(W).trim())return;let e=K.find(e=>e.id===p(U));B(`create`,{name:p(V).trim(),modulePath:p(H)||`local.${p(V).toLowerCase().replace(/[^a-z0-9]/g,``)}`,baseClass:p(L),template:e?.template||`node`}),Y()}function J(){Y(),B(`close`)}function Y(){A(V,``),A(H,``),A(U,`cascade.Node`),A(W,``),A(G,!0),z(!1)}function X(e){e.key===`Escape`?J():e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),q())}let Z=_();e(()=>(p(U),p(W)),()=>{A(L,p(U)===`custom`?p(W):p(U))}),e(()=>(p(G),p(V)),()=>{if(p(G)&&p(V)){let e=p(V).toLowerCase().replace(/[^a-z0-9]/g,``);A(H,`local.${e}`)}}),e(()=>(m(z()),p(Z)),()=>{z()&&p(Z)&&setTimeout(()=>p(Z)?.focus(),50)}),y(),S();var Q=i();a(`keydown`,C,X);var $=x(Q),ue=e=>{var t=F(),i=E(t),l=E(i),d=w(E(l),2),m=E(d);ie(m,{size:18}),u(d),u(l);var _=w(l,2),y=E(_),b=w(E(y),2);M(b),T(b,e=>A(Z,e),()=>p(Z)),j(2),u(y);var x=w(y,2),S=w(E(x),2);M(S);var C=w(S,2),O=w(E(C)),L=e=>{var t=ae();f(e,t)};o(O,e=>{p(G)&&e(L)}),u(C),u(x);var z=w(x,2),B=w(E(z),2);s(B,5,()=>K,r,(e,t)=>{var r=P();let i;var s=E(r);M(s);var l,d=w(s,2),m=E(d),_=E(m),v=g(_,!0),y=w(_,2),b=e=>{var n=oe(),r=g(n,!0);k(()=>N(r,(p(t),c(()=>p(t).id)))),f(e,n)};o(y,e=>{p(t),c(()=>p(t).id!==`custom`)&&e(b)}),u(m);var x=w(m,2),S=e=>{var t=se();M(t),h(t,()=>p(W),e=>A(W,e)),a(`click`,t,ee(function(e){D.call(this,I,e)})),f(e,t)};o(x,e=>{p(t),p(U),c(()=>p(t).id===`custom`&&p(U)===`custom`)&&e(S)}),u(d),u(r),k(()=>{i=n(r,1,`radio-option svelte-1c1mvak`,null,i,{selected:p(U)===p(t).id}),l!==(l=(p(t),c(()=>p(t).id)))&&(s.value=(s.__value=l)??``),N(v,(p(t),c(()=>p(t).label)))}),te(R,[],s,()=>(p(t),c(()=>p(t).id),p(U)),e=>A(U,e)),f(e,r)}),u(B),u(z);var Y=w(z,2),X=E(Y),Q=w(X,2),$=E(Q);re($,{name:`Zap`,size:14}),j(),u(Q),u(Y),u(_),u(i),u(t),k(e=>Q.disabled=e,[()=>(p(V),p(U),p(W),c(()=>!p(V).trim()||p(U)===`custom`&&!p(W).trim()))]),a(`click`,d,J),h(b,()=>p(V),e=>A(V,e)),a(`input`,b,le),h(S,()=>p(H),e=>A(H,e)),a(`input`,S,ce),a(`click`,X,J),a(`submit`,_,ne(q)),a(`click`,t,v(J)),f(e,t)};o($,e=>{z()&&e(ue)}),f(d,Q),l()}export{I as default};
@@ -0,0 +1 @@
1
+ .dialog-overlay.svelte-1c1mvak{background:var(--shade-strong);z-index:1000;justify-content:center;align-items:center;animation:.15s svelte-1c1mvak-fadeIn;display:flex;position:fixed;inset:0}@keyframes svelte-1c1mvak-fadeIn{0%{opacity:0}to{opacity:1}}.dialog.svelte-1c1mvak{background:var(--surface-raised);border:1px solid var(--border-divider);box-shadow:0 16px 48px var(--shadow);border-radius:8px;width:380px;max-width:90vw;max-height:90vh;animation:.2s svelte-1c1mvak-slideIn;overflow:hidden}@keyframes svelte-1c1mvak-slideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-header.svelte-1c1mvak{border-bottom:1px solid var(--border-divider);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dialog-header.svelte-1c1mvak h2:where(.svelte-1c1mvak){color:var(--text-bright);margin:0;font-size:14px;font-weight:600}.close-button.svelte-1c1mvak{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.close-button.svelte-1c1mvak:hover{background:var(--tint);color:var(--text-bright)}form.svelte-1c1mvak{flex-direction:column;gap:14px;padding:16px;display:flex}.form-group.svelte-1c1mvak{flex-direction:column;gap:4px;display:flex}.form-group.svelte-1c1mvak>label:where(.svelte-1c1mvak),.field-label.svelte-1c1mvak{color:var(--text-muted);font-size:12px;font-weight:500}.form-group.svelte-1c1mvak input[type=text]:where(.svelte-1c1mvak){background:var(--surface-panel-alt);border:1px solid var(--border-divider);color:var(--text-bright);border-radius:4px;padding:8px 10px;font-family:SF Mono,Monaco,monospace;font-size:13px;transition:border-color .15s}.form-group.svelte-1c1mvak input[type=text]:where(.svelte-1c1mvak):focus{border-color:var(--accent-alt);outline:none}.form-group.svelte-1c1mvak input[type=text]:where(.svelte-1c1mvak)::placeholder{color:var(--text-faintest)}.hint.svelte-1c1mvak{color:var(--text-subtle);align-items:center;gap:6px;font-size:11px;display:flex}.auto-badge.svelte-1c1mvak{background:var(--accent-alt-tint);color:var(--accent-alt);text-transform:uppercase;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:500}.base-class-options.svelte-1c1mvak{flex-direction:column;gap:6px;display:flex}.radio-option.svelte-1c1mvak{background:var(--surface-panel-alt);border:1px solid var(--border-divider);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;transition:all .15s;display:flex}.radio-option.svelte-1c1mvak:hover{border-color:var(--border-strong);background:var(--surface-control)}.radio-option.selected.svelte-1c1mvak{border-color:var(--accent-alt);background:var(--accent-alt-tint-weak)}.radio-option.svelte-1c1mvak input[type=radio]:where(.svelte-1c1mvak){accent-color:var(--accent-alt);flex-shrink:0;margin:0}.radio-content.svelte-1c1mvak{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.radio-header.svelte-1c1mvak{align-items:baseline;gap:8px;display:flex}.radio-label.svelte-1c1mvak{color:var(--text-bright);font-size:13px;font-weight:500}.radio-path.svelte-1c1mvak{color:var(--text-faintest);font-family:SF Mono,Monaco,monospace;font-size:10px}.custom-base-input.svelte-1c1mvak{background:var(--surface-control);border:1px solid var(--border-strong);color:var(--text-bright);box-sizing:border-box;border-radius:4px;width:100%;margin-top:8px;padding:8px 10px;font-family:SF Mono,Monaco,monospace;font-size:13px}.custom-base-input.svelte-1c1mvak:focus{border-color:var(--accent-alt);background:var(--surface-panel-alt);outline:none}.custom-base-input.svelte-1c1mvak::placeholder{color:var(--text-faintest)}.dialog-footer.svelte-1c1mvak{border-top:1px solid var(--border-divider);justify-content:flex-end;gap:12px;margin-top:8px;padding-top:12px;display:flex}.cancel-button.svelte-1c1mvak,.create-button.svelte-1c1mvak{cursor:pointer;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.cancel-button.svelte-1c1mvak{border:1px solid var(--border-divider);color:var(--text-secondary);background:0 0}.cancel-button.svelte-1c1mvak:hover{background:var(--tint-weak);border-color:var(--border-strong);color:var(--text-bright)}.create-button.svelte-1c1mvak{background:var(--accent-alt);color:var(--text-on-accent);border:none;align-items:center;gap:6px;display:flex}.create-button.svelte-1c1mvak:hover:not(:disabled){background:var(--accent-alt-hover)}.create-button.svelte-1c1mvak:disabled{opacity:.5;cursor:not-allowed}
@@ -0,0 +1 @@
1
+ .overlay.svelte-12jesfv{background:var(--shade-stronger);backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:center;animation:.2s ease-out svelte-12jesfv-fadeIn;display:flex;position:fixed;inset:0}@keyframes svelte-12jesfv-fadeIn{0%{opacity:0}to{opacity:1}}.dialog.svelte-12jesfv{background:var(--surface-panel-alt);box-shadow:0 10px 40px var(--shadow);border-radius:8px;flex-direction:column;width:90%;max-width:500px;max-height:90vh;animation:.2s ease-out svelte-12jesfv-slideUp;display:flex}@keyframes svelte-12jesfv-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header.svelte-12jesfv{border-bottom:1px solid var(--tint);justify-content:space-between;align-items:center;padding:20px;display:flex}.header.svelte-12jesfv h2:where(.svelte-12jesfv){color:var(--text-bright);margin:0;font-size:20px;font-weight:600}.close-button.svelte-12jesfv{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .15s;display:flex}.close-button.svelte-12jesfv:hover{background:var(--tint);color:var(--text-bright)}.content.svelte-12jesfv{flex:1;padding:20px;overflow-y:auto}.form-group.svelte-12jesfv{margin-bottom:20px}.form-group.svelte-12jesfv label:where(.svelte-12jesfv){color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:500;display:block}.form-group.svelte-12jesfv input:where(.svelte-12jesfv){background:var(--shade-weak);border:1px solid var(--tint);width:100%;color:var(--text-bright);box-sizing:border-box;border-radius:4px;padding:10px;font-size:14px}.form-group.svelte-12jesfv input:where(.svelte-12jesfv):focus{border-color:var(--accent);outline:none}.form-group.svelte-12jesfv input:where(.svelte-12jesfv):disabled,.form-group.svelte-12jesfv select:where(.svelte-12jesfv):disabled{opacity:.5;cursor:not-allowed}.form-group.svelte-12jesfv select:where(.svelte-12jesfv){background:var(--shade-weak);border:1px solid var(--tint);width:100%;color:var(--text-bright);box-sizing:border-box;cursor:pointer;border-radius:4px;padding:10px;font-size:14px}.form-group.svelte-12jesfv select:where(.svelte-12jesfv):focus{border-color:var(--accent);outline:none}.info.svelte-12jesfv{background:var(--accent-tint-weak);border:1px solid var(--accent-tint-medium);border-radius:4px;margin-top:20px;padding:16px}.info.svelte-12jesfv p:where(.svelte-12jesfv){color:var(--text-bright);margin:0 0 12px;font-size:14px}.info.svelte-12jesfv ul:where(.svelte-12jesfv){color:var(--text-muted);margin:0;padding-left:20px;font-size:13px}.info.svelte-12jesfv li:where(.svelte-12jesfv){margin:4px 0}.error.svelte-12jesfv{background:var(--status-error-tint-weak);border:1px solid var(--status-error-tint-strong);color:var(--status-error);border-radius:4px;margin-top:16px;padding:12px;font-size:13px}.footer.svelte-12jesfv{border-top:1px solid var(--tint);justify-content:flex-end;gap:12px;padding:20px;display:flex}.cancel-button.svelte-12jesfv,.export-button.svelte-12jesfv{cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.cancel-button.svelte-12jesfv{color:var(--text-muted);background:0 0}.cancel-button.svelte-12jesfv:hover:not(:disabled){background:var(--tint);color:var(--text-bright)}.export-button.svelte-12jesfv{background:var(--accent);color:var(--text-on-accent)}.export-button.svelte-12jesfv:hover:not(:disabled){background:var(--accent-strong)}.export-button.svelte-12jesfv:disabled,.cancel-button.svelte-12jesfv:disabled{opacity:.5;cursor:not-allowed}
@@ -0,0 +1,358 @@
1
+ import{C as e,Ct as t,G as n,H as r,J as i,L as a,St as o,Tt as s,U as c,V as l,X as u,_ as d,at as f,ct as p,d as m,i as h,it as g,l as _,nt as v,ot as y,rt as b,t as x,tt as S,ut as C,w,wt as T,y as E,z as D}from"./legacy-DIu3XRwl.js";function O(e){let t=e.elements.filter(e=>!e.isAnnotation).map(e=>{let t=e;return{id:t.id,type:t.type,code:t.code,position:t.position,inputs:t.inputs.map(e=>({id:e.id,name:e.name,portType:e.portType,dataType:e.dataType,value:e.value,defaultValue:e.defaultValue})),outputs:t.outputs.map(e=>({id:e.id,name:e.name,portType:e.portType,dataType:e.dataType,value:e.value}))}}),n=e.connections.map(e=>({id:e.id,from:e.from,to:e.to,type:e.type})),r=e.elements.filter(e=>!e.isAnnotation).map(e=>e).filter(e=>e.inputs.every(e=>e.connections.length===0)).map(e=>e.id);return`
2
+ const graphData = {
3
+ version: '1.0.0',
4
+ nodes: ${JSON.stringify(t,null,2)},
5
+ connections: ${JSON.stringify(n,null,2)},
6
+ entryPoints: ${JSON.stringify(r)}
7
+ };
8
+ `.trim()}async function k(e){return new Promise((t,n)=>{let r=new FileReader;r.onloadend=()=>{let e=r.result.split(`,`)[1];t(e)},r.onerror=n,r.readAsDataURL(e)})}async function A(e){let t=[];for(let n of e)try{let e;if(n.type===`image`&&n.data instanceof HTMLImageElement){let t=document.createElement(`canvas`);t.width=n.data.width,t.height=n.data.height;let r=t.getContext(`2d`);r?(r.drawImage(n.data,0,0),e=t.toDataURL(`image/png`)):e=n.data.src}else if(n.type===`json`)e=`data:application/json;base64,${btoa(JSON.stringify(n.data))}`;else if(n.type===`text`)e=`data:text/plain;base64,${btoa(n.data)}`;else{let t=await(await fetch(n.path)).blob(),r=await k(t);e=`data:${t.type};base64,${r}`}t.push({id:n.id,path:n.path,dataUrl:e,type:n.type})}catch(e){console.warn(`Failed to embed asset ${n.path}:`,e)}return t}async function j(e,t=`Cascade Project`){let n=await A(e.assetManager.list()),r=O(e);return`<!DOCTYPE html>
9
+ <html lang="en">
10
+ <head>
11
+ <meta charset="UTF-8">
12
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
13
+ <title>${t}</title>
14
+ <style>
15
+ * {
16
+ margin: 0;
17
+ padding: 0;
18
+ box-sizing: border-box;
19
+ }
20
+ body {
21
+ width: 100vw;
22
+ height: 100vh;
23
+ overflow: hidden;
24
+ background: #0a0a0a;
25
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
26
+ }
27
+ #cascade-root {
28
+ width: 100%;
29
+ height: 100%;
30
+ }
31
+ </style>
32
+ </head>
33
+ <body>
34
+ <div id="cascade-root"></div>
35
+
36
+ <script>
37
+ // Minimal Cascade Runtime
38
+ ${M()}
39
+
40
+ // Embedded assets
41
+ const ASSETS = ${JSON.stringify(n,null,2)};
42
+
43
+ // Override fetch for asset loading
44
+ const originalFetch = window.fetch;
45
+ window.fetch = function(url) {
46
+ const asset = ASSETS.find(a => url.includes(a.path) || url.includes(a.id));
47
+ if (asset) {
48
+ return Promise.resolve(new Response(
49
+ dataUrlToBlob(asset.dataUrl)
50
+ ));
51
+ }
52
+ return originalFetch.apply(this, arguments);
53
+ };
54
+
55
+ // Helper function
56
+ function dataUrlToBlob(dataUrl) {
57
+ const arr = dataUrl.split(',');
58
+ const mime = arr[0].match(/:(.*?);/)?.[1] || 'application/octet-stream';
59
+ const bstr = atob(arr[1]);
60
+ let n = bstr.length;
61
+ const u8arr = new Uint8Array(n);
62
+ while (n--) {
63
+ u8arr[n] = bstr.charCodeAt(n);
64
+ }
65
+ return new Blob([u8arr], { type: mime });
66
+ }
67
+
68
+ // Compiled graph
69
+ ${r}
70
+
71
+ // Start execution
72
+ Cascade.run(graphData, document.getElementById('cascade-root'));
73
+ <\/script>
74
+ </body>
75
+ </html>`}function M(){return`(function() {
76
+ 'use strict';
77
+
78
+ class CascadeRuntime {
79
+ static run(graphData, container) {
80
+ const graph = this.buildGraph(graphData);
81
+
82
+ // Find entry points and start execution
83
+ const entryNodes = graphData.entryPoints
84
+ .map(id => graph.nodes.find(e => e.id === id))
85
+ .filter(Boolean);
86
+
87
+ entryNodes.forEach(node => {
88
+ graph.execute(node);
89
+ });
90
+
91
+ // Mount scene container
92
+ if (container && graph.sceneContainer) {
93
+ container.appendChild(graph.sceneContainer);
94
+ }
95
+ }
96
+
97
+ static buildGraph(graphData) {
98
+ // Minimal Node class
99
+ class Node {
100
+ constructor(id, type) {
101
+ this.id = id;
102
+ this.type = type;
103
+ this.inputs = [];
104
+ this.outputs = [];
105
+ this.position = { x: 0, y: 0 };
106
+ this.code = '';
107
+ }
108
+
109
+ in(name, defaultValue, options = {}) {
110
+ const port = {
111
+ id: this.id + '_in_' + name,
112
+ name,
113
+ portType: name === 'trigger' ? 'trigger' : 'param',
114
+ dataType: options.type || 'any',
115
+ value: defaultValue,
116
+ defaultValue,
117
+ options,
118
+ connections: []
119
+ };
120
+ this.inputs.push(port);
121
+ return port;
122
+ }
123
+
124
+ out(name, portType = 'param') {
125
+ const port = {
126
+ id: this.id + '_out_' + name,
127
+ name,
128
+ portType,
129
+ dataType: 'any',
130
+ value: undefined,
131
+ connections: [],
132
+ setValue: (value) => {
133
+ port.value = value;
134
+ port.connections.forEach(conn => {
135
+ const targetNode = graph.nodes.find(e => e.id === conn.to.nodeId);
136
+ if (targetNode) {
137
+ const targetPort = targetNode.inputs.find(p => p.id === conn.to.portId);
138
+ if (targetPort) {
139
+ targetPort.value = value;
140
+ if (targetPort.onChange) targetPort.onChange(value);
141
+ }
142
+ }
143
+ });
144
+ },
145
+ trigger: (props) => {
146
+ port.connections.forEach(conn => {
147
+ const targetNode = graph.nodes.find(e => e.id === conn.to.nodeId);
148
+ if (targetNode) {
149
+ const targetPort = targetNode.inputs.find(p => p.id === conn.to.portId);
150
+ if (targetPort && targetPort.onTrigger) {
151
+ targetPort.onTrigger(props);
152
+ }
153
+ }
154
+ });
155
+ }
156
+ };
157
+ this.outputs.push(port);
158
+ return port;
159
+ }
160
+
161
+ setFunction(fn) {
162
+ this.nodeFunction = fn;
163
+ }
164
+
165
+ async execute() {
166
+ if (this.nodeFunction) {
167
+ try {
168
+ await this.nodeFunction(this, graph);
169
+ } catch (err) {
170
+ console.error('Node execution error:', err);
171
+ }
172
+ }
173
+ }
174
+
175
+ log(...args) {
176
+ console.log('[' + this.id + ']', ...args);
177
+ }
178
+
179
+ async require(packageName, version) {
180
+ return graph.packageManager.load(packageName, version);
181
+ }
182
+ }
183
+
184
+ // Minimal PackageManager for runtime
185
+ class PackageManager {
186
+ constructor() {
187
+ this.cache = new Map();
188
+ }
189
+
190
+ async load(packageName, version = 'latest') {
191
+ const key = packageName + '@' + version;
192
+ if (this.cache.has(key)) {
193
+ return this.cache.get(key);
194
+ }
195
+
196
+ const versionPart = version === 'latest' ? '' : '@' + version;
197
+ const url = 'https://esm.sh/' + packageName + versionPart;
198
+
199
+ try {
200
+ const module = await import(url);
201
+ const result = module.default || module;
202
+ this.cache.set(key, result);
203
+ return result;
204
+ } catch (error) {
205
+ throw new Error('Failed to load package ' + key + ': ' + error.message);
206
+ }
207
+ }
208
+ }
209
+
210
+ // Minimal Graph class
211
+ class Graph {
212
+ constructor() {
213
+ this.nodes = [];
214
+ this.connections = [];
215
+ this.sceneContainer = document.createElement('div');
216
+ this.sceneContainer.id = 'cascade-scene';
217
+ this.sceneContainer.style.width = '100%';
218
+ this.sceneContainer.style.height = '100%';
219
+ this.packageManager = new PackageManager();
220
+ }
221
+
222
+ addNode(type, position) {
223
+ const id = 'node_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
224
+ const node = new Node(id, type);
225
+ node.position = position;
226
+ this.nodes.push(node);
227
+ return node;
228
+ }
229
+
230
+ getNode(nodeId) {
231
+ return this.nodes.find(n => n.id === nodeId) || null;
232
+ }
233
+
234
+ connect(fromPort, toPort) {
235
+ // Parse port IDs to extract element IDs and indices
236
+ const fromParts = fromPort.id.split('_');
237
+ const toParts = toPort.id.split('_');
238
+ const fromElementId = fromParts.slice(0, -2).join('_');
239
+ const toElementId = toParts.slice(0, -2).join('_');
240
+
241
+ const connection = {
242
+ id: 'conn_' + Date.now(),
243
+ from: { nodeId: fromElementId, portId: fromPort.id },
244
+ to: { nodeId: toElementId, portId: toPort.id },
245
+ type: fromPort.portType
246
+ };
247
+ this.connections.push(connection);
248
+ fromPort.connections.push(connection);
249
+ toPort.connections.push(connection);
250
+ return connection;
251
+ }
252
+
253
+ execute(entryNode) {
254
+ if (entryNode) {
255
+ entryNode.execute();
256
+ } else {
257
+ this.nodes.forEach(node => {
258
+ if (node.inputs.every(p => p.connections.length === 0)) {
259
+ node.execute();
260
+ }
261
+ });
262
+ }
263
+ }
264
+ }
265
+
266
+ const graph = new Graph();
267
+
268
+ // Create nodes
269
+ graphData.nodes.forEach(nodeData => {
270
+ const node = graph.addNode(nodeData.type, nodeData.position);
271
+ node.id = nodeData.id;
272
+ node.code = nodeData.code || '';
273
+
274
+ // Restore ports
275
+ nodeData.inputs.forEach(portData => {
276
+ const port = node.in(portData.name, portData.defaultValue, { type: portData.dataType });
277
+ port.id = portData.id;
278
+ port.value = portData.value;
279
+ });
280
+
281
+ nodeData.outputs.forEach(portData => {
282
+ const port = node.out(portData.name, portData.portType);
283
+ port.id = portData.id;
284
+ port.value = portData.value;
285
+ });
286
+
287
+ // Compile and set function if code exists
288
+ if (node.code) {
289
+ try {
290
+ // Wrap code in async function to support top-level await
291
+ const wrappedCode = 'return (async function(node, graph) {
292
+ ' + node.code + '
293
+ })(node, graph);';
294
+ const nodeFunction = new Function('node', 'graph', wrappedCode);
295
+ node.setFunction(nodeFunction);
296
+ } catch (err) {
297
+ console.warn('Failed to compile node ' + node.id + ':', err);
298
+ }
299
+ }
300
+ });
301
+
302
+ // Restore connections
303
+ graphData.connections.forEach(connData => {
304
+ const fromNode = graph.getNode(connData.from.nodeId);
305
+ const toNode = graph.getNode(connData.to.nodeId);
306
+ if (fromNode && toNode) {
307
+ const fromPort = fromNode.outputs.find(p => p.id === connData.from.portId);
308
+ const toPort = toNode.inputs.find(p => p.id === connData.to.portId);
309
+ if (fromPort && toPort) {
310
+ graph.connect(fromPort, toPort);
311
+ }
312
+ }
313
+ });
314
+
315
+ return graph;
316
+ }
317
+ }
318
+
319
+ // Export to global
320
+ window.Cascade = CascadeRuntime;
321
+ })();`}function N(e,t,n=`text/html`){let r=new Blob([e],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(i)}async function P(e,t=`Cascade Project`){let n=e.assetManager.list(),r=O(e),i=M(),a=`<!DOCTYPE html>
322
+ <html lang="en">
323
+ <head>
324
+ <meta charset="UTF-8">
325
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
326
+ <title>${t}</title>
327
+ <style>
328
+ * {
329
+ margin: 0;
330
+ padding: 0;
331
+ box-sizing: border-box;
332
+ }
333
+ body {
334
+ width: 100vw;
335
+ height: 100vh;
336
+ overflow: hidden;
337
+ background: #0a0a0a;
338
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
339
+ }
340
+ #cascade-root {
341
+ width: 100%;
342
+ height: 100%;
343
+ }
344
+ </style>
345
+ </head>
346
+ <body>
347
+ <div id="cascade-root"></div>
348
+
349
+ <script src="./runtime.js"><\/script>
350
+ <script src="./graph.js"><\/script>
351
+ <script>
352
+ // Start execution
353
+ Cascade.run(graphData, document.getElementById('cascade-root'));
354
+ <\/script>
355
+ </body>
356
+ </html>`,o=`// Minimal Cascade Runtime
357
+ ${i}`,s=`// Compiled graph
358
+ ${r}`,c=JSON.stringify(n.map(e=>({id:e.id,path:e.path,type:e.type,size:e.size})),null,2);N(a,`index.html`,`text/html`),setTimeout(()=>{N(o,`runtime.js`,`application/javascript`)},100),setTimeout(()=>{N(s,`graph.js`,`application/javascript`)},200),setTimeout(()=>{N(c,`assets.json`,`application/json`)},300),console.log(`Folder export initiated. Download the files and organize them in a folder structure:`),console.log(`- index.html`),console.log(`- runtime.js`),console.log(`- graph.js`),console.log(`- assets.json`),console.log(`- assets/ (create this folder and add your asset files)`)}var F=c(`<p class="svelte-12jesfv">This will export your project as a standalone HTML file with all assets embedded.</p> <ul class="svelte-12jesfv"><li class="svelte-12jesfv">✅ All nodes and connections</li> <li class="svelte-12jesfv">✅ All node code</li> <li class="svelte-12jesfv">✅ All assets (embedded as base64)</li> <li class="svelte-12jesfv">✅ Minimal runtime (~50KB)</li> <li class="svelte-12jesfv">✅ Single file - easy to share</li></ul>`,1),I=c(`<p class="svelte-12jesfv">This will export your project as a folder structure with separate files.</p> <ul class="svelte-12jesfv"><li class="svelte-12jesfv">✅ index.html - Main HTML file</li> <li class="svelte-12jesfv">✅ runtime.js - Cascade runtime</li> <li class="svelte-12jesfv">✅ graph.js - Compiled graph</li> <li class="svelte-12jesfv">✅ assets.json - Asset manifest</li> <li class="svelte-12jesfv">✅ assets/ - Asset files folder</li> <li class="svelte-12jesfv">⚠️ You'll need to manually organize asset files</li></ul>`,1),L=c(`<div class="error svelte-12jesfv"> </div>`),R=c(`<div class="overlay svelte-12jesfv"><div class="dialog svelte-12jesfv" role="dialog" aria-modal="true" aria-labelledby="export-title"><div class="header svelte-12jesfv"><h2 id="export-title" class="svelte-12jesfv">Export Project</h2> <button class="close-button svelte-12jesfv" aria-label="Close">×</button></div> <div class="content svelte-12jesfv"><div class="form-group svelte-12jesfv"><label for="project-name" class="svelte-12jesfv">Project Name</label> <input id="project-name" type="text" placeholder="My Project" class="svelte-12jesfv"/></div> <div class="form-group svelte-12jesfv"><label for="export-format" class="svelte-12jesfv">Export Format</label> <select id="export-format" class="svelte-12jesfv"><option>Single HTML File (all assets embedded)</option><option>Folder Structure (separate files)</option></select></div> <div class="info svelte-12jesfv"><!></div> <!></div> <div class="footer svelte-12jesfv"><button class="cancel-button svelte-12jesfv">Cancel</button> <button class="export-button svelte-12jesfv"><!></button></div></div></div>`);function z(c,O){t(O,!1);let k=h(O,`graph`,8),A=h(O,`open`,12,!1),M=x(),z=p(`Cascade Project`),B=p(!1),V=p(null),H=p(`html`);async function U(){if(!(!k()||u(B))){C(B,!0),C(V,null);try{u(H)===`html`?N(await j(k(),u(z)),`${u(z).replace(/[^a-z0-9]/gi,`_`).toLowerCase()}.html`,`text/html`):await P(k(),u(z)),setTimeout(()=>{A(!1),M(`close`)},500)}catch(e){C(V,e.message||`Failed to export project`),console.error(`Export error:`,e)}finally{C(B,!1)}}}function W(){A(!1),M(`close`)}function G(e){e.key===`Escape`&&W()}_();var K=r();i(`keydown`,v,G);var q=g(K),J=t=>{var r=R(),o=b(r),c=b(o),p=y(b(c),2);s(c);var h=y(c,2),g=b(h),_=y(b(g),2);E(_),s(g);var v=y(g,2),x=y(b(v),2),O=b(x);O.value=O.__value=`html`;var k=y(O);k.value=k.__value=`folder`,s(x),w(x),s(v);var A=y(v,2),j=b(A),M=e=>{var t=F();T(2),l(e,t)},N=e=>{var t=I();T(2),l(e,t)};a(j,e=>{u(H)===`html`?e(M):e(N,-1)}),s(A);var P=y(A,2),G=e=>{var t=L(),n=f(t,!0);S(()=>D(n,u(V))),l(e,t)};a(P,e=>{u(V)&&e(G)}),s(h);var K=y(h,2),q=b(K),J=y(q,2),Y=b(J),X=e=>{var t=n(`Exporting...`);l(e,t)},Z=e=>{var t=n();S(()=>D(t,`Export ${u(H)===`html`?`HTML`:`Folder`}`)),l(e,t)};a(Y,e=>{u(B)?e(X):e(Z,-1)}),s(J),s(K),s(o),s(r),S(()=>{_.disabled=u(B),x.disabled=u(B),q.disabled=u(B),J.disabled=u(B)}),i(`click`,p,W),d(_,()=>u(z),e=>C(z,e)),e(x,()=>u(H),e=>C(H,e)),i(`click`,q,W),i(`click`,J,U),i(`click`,r,m(W)),l(t,r)};a(q,e=>{A()&&e(J)}),l(c,K),o()}export{z as default};
@@ -0,0 +1,2 @@
1
+ import{$ as e,Ct as t,D as n,F as r,H as i,J as a,L as o,P as s,Q as c,S as l,St as u,Tt as d,U as f,V as p,X as m,Y as h,_ as g,a as _,at as v,ct as y,d as ee,et as te,i as b,it as ne,l as re,mt as ie,nt as x,o as S,ot as C,rt as w,t as T,tt as E,ut as D,wt as O,y as k,z as A}from"./legacy-DIu3XRwl.js";import{A as ae,I as oe,O as se,R as j,j as ce,k as le}from"./index-BXYXSdgh.js";import{loadProjectSettings as M,saveProjectSettings as N}from"./projectSettingsApi-C1WvIwfP.js";var P=new Set([`$$slots`,`$$events`,`$$legacy`]);function ue(e,t){let n=_(t,P),r=[[`path`,{d:`M10 11v6`}],[`path`,{d:`M14 11v6`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]];j(e,S({name:`trash-2`},()=>n,{get iconNode(){return r}}))}var de=f(`<span> </span>`),fe=f(`<div class="credentials-status svelte-9d4ggp"><!> <small class="svelte-9d4ggp">Add missing values to <code>~/.cascade/credentials.yaml</code> or the file named by <code>CASCADE_CREDENTIALS</code>. Values are never shown here.</small></div>`),pe=f(`<div class="empty-state svelte-9d4ggp"><!> <p class="svelte-9d4ggp">No project packages configured</p> <button class="add-button svelte-9d4ggp"><!> Add Package</button></div>`),me=f(`<div class="package-item svelte-9d4ggp"><div class="package-info svelte-9d4ggp"><span class="package-alias svelte-9d4ggp"> </span> <span class="package-path svelte-9d4ggp"> </span></div> <button class="remove-button svelte-9d4ggp" aria-label="Remove package"><!></button></div>`),he=f(`<button class="add-button secondary svelte-9d4ggp"><!> Add Package</button>`),ge=f(`<div class="packages-list svelte-9d4ggp"></div> <!>`,1),_e=f(`<div class="error-message svelte-9d4ggp"><!> </div>`),ve=f(`<div class="add-form svelte-9d4ggp"><div class="form-row svelte-9d4ggp"><label for="package-path" class="svelte-9d4ggp">Path</label> <div class="input-with-button svelte-9d4ggp"><input id="package-path" type="text" placeholder="./src or ../shared-lib" class="svelte-9d4ggp"/> <button class="browse-button svelte-9d4ggp" title="Browse folder"><!></button></div></div> <div class="form-row svelte-9d4ggp"><label for="package-alias" class="svelte-9d4ggp">Alias</label> <input id="package-alias" type="text" placeholder="myproject" class="svelte-9d4ggp"/></div> <!> <div class="form-actions svelte-9d4ggp"><button class="cancel-button svelte-9d4ggp">Cancel</button> <button class="confirm-button svelte-9d4ggp">Add Package</button></div></div>`),ye=f(`<div class="modal-overlay svelte-9d4ggp"><div class="modal svelte-9d4ggp" role="dialog" aria-modal="true" aria-labelledby="modal-title"><div class="modal-header svelte-9d4ggp"><h2 id="modal-title" class="svelte-9d4ggp"><!> Project Settings</h2> <button class="close-button svelte-9d4ggp" aria-label="Close"><!></button></div> <div class="modal-body svelte-9d4ggp"><section class="section svelte-9d4ggp"><h3 class="svelte-9d4ggp">Graph Metadata <small class="svelte-9d4ggp">(current .cascade file)</small></h3> <div class="form-row svelte-9d4ggp"><label for="graph-name" class="svelte-9d4ggp">Name</label><input id="graph-name" class="svelte-9d4ggp"/></div> <div class="form-row svelte-9d4ggp"><label for="graph-description" class="svelte-9d4ggp">Description</label><input id="graph-description" class="svelte-9d4ggp"/></div> <div class="form-row svelte-9d4ggp"><label for="graph-author" class="svelte-9d4ggp">Author</label><input id="graph-author" class="svelte-9d4ggp"/></div> <div class="form-row svelte-9d4ggp"><label for="graph-created" class="svelte-9d4ggp">Created</label><input id="graph-created" readonly="" class="svelte-9d4ggp"/></div></section> <section class="section svelte-9d4ggp"><h3 class="svelte-9d4ggp">Project Manifest <small class="svelte-9d4ggp">(cascade.json, shared by every graph)</small></h3> <div class="form-row svelte-9d4ggp"><label for="project-name" class="svelte-9d4ggp">Project name</label><input id="project-name" class="svelte-9d4ggp"/></div> <div class="form-row svelte-9d4ggp"><label for="commands-json" class="svelte-9d4ggp">Allowed commands</label><textarea id="commands-json" rows="4" class="svelte-9d4ggp"></textarea></div> <div class="form-row svelte-9d4ggp"><label for="settings-json" class="svelte-9d4ggp">Node settings</label><textarea id="settings-json" rows="5" class="svelte-9d4ggp"></textarea></div> <div class="form-row svelte-9d4ggp"><label for="credentials-list" class="svelte-9d4ggp">Required credentials</label><textarea id="credentials-list" rows="3" placeholder="one credential name per line" class="svelte-9d4ggp"></textarea></div> <!></section> <section class="section svelte-9d4ggp"><h3 class="svelte-9d4ggp">Project Packages</h3> <p class="section-description svelte-9d4ggp">Add local folders as packages. Each package gets an alias that you can use to import modules. <br/> Example: <code class="svelte-9d4ggp">myproject.filters.Blur</code> for file <code class="svelte-9d4ggp">./src/filters/Blur.ts</code></p> <!> <!></section> <section class="section svelte-9d4ggp"><h3 class="svelte-9d4ggp">Project Info</h3> <div class="info-grid svelte-9d4ggp"><div class="info-item svelte-9d4ggp"><span class="info-label svelte-9d4ggp">Embedded Modules</span> <span class="info-value svelte-9d4ggp"> </span></div> <div class="info-item svelte-9d4ggp"><span class="info-label svelte-9d4ggp">External Modules</span> <span class="info-value svelte-9d4ggp"> </span></div></div></section></div> <div class="modal-footer svelte-9d4ggp"><button class="cancel-button svelte-9d4ggp">Cancel</button> <button class="save-button svelte-9d4ggp">Save Changes</button></div></div></div>`);function F(f,_){t(_,!1);let S=b(_,`open`,12,!1),j=b(_,`graph`,12,void 0),P=T(),F=y([]),I=y(``),L=y(``),R=y(!1),z=y(``),B=y(``),V=y(``),H=y(``),U=y(``),W=y(`{}`),G=y(`{}`),K=y(``),q=y([]),J=y(!1),Y=y(!1);function X(){S(!1),P(`close`)}async function be(){D(z,``);let e,t;try{if(e=JSON.parse(m(W)||`{}`),t=JSON.parse(m(G)||`{}`),m(Y)){let n=await N({name:m(U).trim(),commands:e,settings:t,credentials:m(K).split(/\r?\n|,/).map(e=>e.trim()).filter(Boolean)});D(q,n.requiredCredentials)}}catch(e){D(z,e instanceof Error?e.message:String(e));return}j()&&(j(j().project.name=m(B).trim(),!0),j(j().project.description=m(V).trim(),!0),j(j().project.author=m(H).trim(),!0),j(j().project.packages=[...m(F)],!0),m(F).forEach(e=>{j().moduleResolver.addProjectPackage(e)})),P(`save`,{packages:[...m(F)],graphName:m(B).trim(),projectName:m(U).trim(),missingCredentials:m(q).filter(e=>!e.set).map(e=>e.name)}),X()}function xe(){if(D(z,``),!m(I).trim()){D(z,`Path is required`);return}if(!m(L).trim()){D(z,`Alias is required`);return}if(!/^[a-zA-Z][a-zA-Z0-9_]*$/.test(m(L))){D(z,`Alias must start with a letter and contain only letters, numbers, and underscores`);return}if(m(F).some(e=>e.alias===m(L))){D(z,`Alias "${m(L)}" already exists`);return}D(F,[...m(F),{path:m(I).trim(),alias:m(L).trim()}]),D(I,``),D(L,``),D(R,!1)}function Se(e){D(F,m(F).filter((t,n)=>n!==e))}function Z(e){e.key===`Escape`&&(m(R)?D(R,!1):X())}function Q(e){let t=e.replace(/\\/g,`/`).split(`/`).filter(Boolean);return(t[t.length-1]||`mypackage`).replace(/[^a-zA-Z0-9]/g,``).toLowerCase()||`mypackage`}e(()=>(h(S()),h(j())),()=>{S()&&j()&&(D(F,[...j().project.packages]),D(R,!1),D(z,``),D(I,``),D(L,``))}),e(()=>h(S()),()=>{S()||D(J,!1)}),e(()=>(h(S()),h(j()),m(J),M),()=>{S()&&j()&&!m(J)&&(D(J,!0),D(B,j().project.name??``),D(V,j().project.description??``),D(H,j().project.author??``),M().then(e=>{D(Y,!0),D(U,e.manifest.name),D(W,JSON.stringify(e.manifest.commands,null,2)),D(G,JSON.stringify(e.manifest.settings,null,2)),D(K,e.manifest.credentials.join(`
2
+ `)),D(q,e.requiredCredentials)}).catch(()=>{D(Y,!1)}))}),e(()=>(m(I),m(L)),()=>{m(I)&&!m(L)&&D(L,Q(m(I)))}),te(),re();var $=i();a(`keydown`,x,Z);var Ce=ne($),we=e=>{var t=ye(),i=w(t),u=w(i),f=w(u),_=w(f);ae(_,{size:20}),O(),d(f);var y=C(f,2),te=w(y);se(te,{size:20}),d(y),d(u);var b=C(u,2),re=w(b),x=C(w(re),2),S=C(w(x));k(S),d(x);var T=C(x,2),M=C(w(T));k(M),d(T);var N=C(T,2),P=C(w(N));k(P),d(N);var J=C(N,2),Y=C(w(J));k(Y),d(J),d(re);var Z=C(re,2),Q=C(w(Z),2),$=C(w(Q));k($),d(Q);var Ce=C(Q,2),we=C(w(Ce));ie(we),d(Ce);var Te=C(Ce,2),Ee=C(w(Te));ie(Ee),d(Te);var De=C(Te,2),Oe=C(w(De));ie(Oe),d(De);var ke=C(De,2),Ae=e=>{var t=fe(),i=w(t);s(i,1,()=>m(q),r,(e,t)=>{var r=de();let i;var a=v(r);E(()=>{i=n(r,1,`svelte-9d4ggp`,null,i,{set:m(t).set}),A(a,`${m(t),c(()=>m(t).name)??``}: ${m(t),c(()=>m(t).set?`set`:`not set`)??``}`)}),p(e,r)}),O(2),d(t),p(e,t)};o(ke,e=>{m(q),c(()=>m(q).length)&&e(Ae)}),d(Z);var je=C(Z,2),Me=C(w(je),4),Ne=e=>{var t=pe(),n=w(t);ce(n,{size:32});var r=C(n,4),i=w(r);le(i,{size:16}),O(),d(r),d(t),a(`click`,r,()=>D(R,!0)),p(e,t)},Pe=e=>{var t=ge(),n=ne(t);s(n,5,()=>m(F),r,(e,t,n)=>{var r=me(),i=w(r),o=w(i),s=v(o,!0),l=C(o,2),u=v(l,!0);d(i);var f=C(i,2);ue(w(f),{size:16}),d(f),d(r),E(()=>{A(s,(m(t),c(()=>m(t).alias))),A(u,(m(t),c(()=>m(t).path)))}),a(`click`,f,()=>Se(n)),p(e,r)}),d(n);var i=C(n,2),l=e=>{var t=he(),n=w(t);le(n,{size:16}),O(),d(t),a(`click`,t,()=>D(R,!0)),p(e,t)};o(i,e=>{m(R)||e(l)}),p(e,t)};o(Me,e=>{m(F),m(R),c(()=>m(F).length===0&&!m(R))?e(Ne):e(Pe,-1)});var Fe=C(Me,2),Ie=e=>{var t=ve(),n=w(t),r=C(w(n),2),i=w(r);k(i);var s=C(i,2),c=w(s);ce(c,{size:16}),d(s),d(r),d(n);var l=C(n,2),u=C(w(l),2);k(u),d(l);var f=C(l,2),h=e=>{var t=_e(),n=w(t);oe(n,{size:14});var r=C(n);d(t),E(()=>A(r,` ${m(z)??``}`)),p(e,t)};o(f,e=>{m(z)&&e(h)});var _=C(f,2),v=w(_),y=C(v,2);d(_),d(t),g(i,()=>m(I),e=>D(I,e)),g(u,()=>m(L),e=>D(L,e)),a(`click`,v,()=>D(R,!1)),a(`click`,y,xe),p(e,t)};o(Fe,e=>{m(R)&&e(Ie)}),d(je);var Le=C(je,2),Re=C(w(Le),2),ze=w(Re),Be=C(w(ze),2),Ve=v(Be,!0);d(ze);var He=C(ze,2),Ue=C(w(He),2),We=v(Ue,!0);d(He),d(Re),d(Le),d(b);var Ge=C(b,2),Ke=w(Ge),qe=C(Ke,2);d(Ge),d(i),d(t),E((e,t)=>{l(Y,(h(j()),c(()=>j()?.created??``))),A(Ve,e),A(We,t)},[()=>(h(j()),c(()=>j()?Object.keys(j().moduleResolver.exportConfig().embeddedModules).length:0)),()=>(h(j()),c(()=>j()?Object.keys(j().moduleResolver.exportConfig().externalModules).length:0))]),a(`click`,y,X),g(S,()=>m(B),e=>D(B,e)),g(M,()=>m(V),e=>D(V,e)),g(P,()=>m(H),e=>D(H,e)),g($,()=>m(U),e=>D(U,e)),g(we,()=>m(W),e=>D(W,e)),g(Ee,()=>m(G),e=>D(G,e)),g(Oe,()=>m(K),e=>D(K,e)),a(`click`,Ke,X),a(`click`,qe,be),a(`click`,t,ee(X)),p(e,t)};o(Ce,e=>{S()&&e(we)}),p(f,$),u()}export{F as default};
@@ -0,0 +1 @@
1
+ .modal-overlay.svelte-9d4ggp{background:var(--shade-strong);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.svelte-9d4ggp{background:var(--surface-panel-alt);box-shadow:0 20px 60px var(--shadow);border-radius:8px;flex-direction:column;width:560px;max-width:90vw;max-height:80vh;display:flex}.modal-header.svelte-9d4ggp{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header.svelte-9d4ggp h2:where(.svelte-9d4ggp){color:var(--text-bright);align-items:center;gap:10px;margin:0;font-size:18px;font-weight:600;display:flex}.close-button.svelte-9d4ggp{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.close-button.svelte-9d4ggp:hover{background:var(--tint);color:var(--text-bright)}.modal-body.svelte-9d4ggp{flex:1;padding:20px;overflow-y:auto}.section.svelte-9d4ggp{margin-bottom:24px}.section.svelte-9d4ggp:last-child{margin-bottom:0}.section.svelte-9d4ggp h3:where(.svelte-9d4ggp){color:var(--text-bright);margin:0 0 8px;font-size:14px;font-weight:600}.section-description.svelte-9d4ggp{color:var(--text-subtle);margin:0 0 16px;font-size:13px;line-height:1.5}.section-description.svelte-9d4ggp code:where(.svelte-9d4ggp){background:var(--tint);color:var(--accent);border-radius:3px;padding:2px 6px;font-size:12px}.empty-state.svelte-9d4ggp{background:var(--tint-weakest);border:1px dashed var(--border);color:var(--text-faintest);border-radius:8px;flex-direction:column;align-items:center;gap:12px;padding:32px;display:flex}.empty-state.svelte-9d4ggp p:where(.svelte-9d4ggp){margin:0;font-size:14px}.packages-list.svelte-9d4ggp{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.package-item.svelte-9d4ggp{background:var(--tint-weak);border:1px solid var(--border-subtle);border-radius:6px;justify-content:space-between;align-items:center;padding:12px;display:flex}.package-info.svelte-9d4ggp{flex-direction:column;gap:4px;display:flex}.package-alias.svelte-9d4ggp{color:var(--accent);font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:500}.package-path.svelte-9d4ggp{color:var(--text-subtle);font-family:SF Mono,Monaco,monospace;font-size:12px}.remove-button.svelte-9d4ggp{color:var(--text-faintest);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;display:flex}.remove-button.svelte-9d4ggp:hover{background:var(--status-error-tint);color:var(--status-error-strong)}.add-button.svelte-9d4ggp{background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex}.add-button.svelte-9d4ggp:hover{background:var(--accent-strong)}.add-button.secondary.svelte-9d4ggp{background:var(--accent-tint-medium);color:var(--accent);border:1px solid var(--accent-tint-strong)}.add-button.secondary.svelte-9d4ggp:hover{background:var(--accent-tint-strong)}.add-form.svelte-9d4ggp{background:var(--tint-weakest);border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:16px}.form-row.svelte-9d4ggp{margin-bottom:12px}.form-row.svelte-9d4ggp label:where(.svelte-9d4ggp){color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-row.svelte-9d4ggp input:where(.svelte-9d4ggp),.form-row.svelte-9d4ggp textarea:where(.svelte-9d4ggp){background:var(--surface-raised);border:1px solid var(--border);width:100%;color:var(--text-bright);box-sizing:border-box;resize:vertical;border-radius:4px;padding:10px 12px;font-family:SF Mono,Monaco,monospace;font-size:14px}.form-row.svelte-9d4ggp input:where(.svelte-9d4ggp):focus,.form-row.svelte-9d4ggp textarea:where(.svelte-9d4ggp):focus{border-color:var(--accent);outline:none}.form-row.svelte-9d4ggp input:where(.svelte-9d4ggp)::placeholder{color:var(--text-faintest)}.section.svelte-9d4ggp h3:where(.svelte-9d4ggp) small:where(.svelte-9d4ggp){color:var(--text-faint);font-weight:400}.credentials-status.svelte-9d4ggp{color:var(--status-error-soft);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.credentials-status.svelte-9d4ggp span:where(.svelte-9d4ggp){background:var(--status-error-tint-weak);border-radius:4px;padding:4px 8px}.credentials-status.svelte-9d4ggp span.set:where(.svelte-9d4ggp){color:var(--status-ok-soft);background:var(--status-ok-tint-weak)}.credentials-status.svelte-9d4ggp small:where(.svelte-9d4ggp){color:var(--text-subtle);flex-basis:100%}.input-with-button.svelte-9d4ggp{gap:8px;display:flex}.input-with-button.svelte-9d4ggp input:where(.svelte-9d4ggp){flex:1}.browse-button.svelte-9d4ggp{background:var(--tint);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:10px 12px;display:flex}.browse-button.svelte-9d4ggp:hover{background:var(--tint-medium);color:var(--text-bright)}.error-message.svelte-9d4ggp{background:var(--status-error-tint-weak);border:1px solid var(--status-error-tint-strong);color:var(--status-error);border-radius:4px;align-items:center;gap:6px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.form-actions.svelte-9d4ggp{justify-content:flex-end;gap:8px;display:flex}.cancel-button.svelte-9d4ggp{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:8px 16px;font-size:14px}.cancel-button.svelte-9d4ggp:hover{background:var(--tint-weak);color:var(--text-bright)}.confirm-button.svelte-9d4ggp{background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500}.confirm-button.svelte-9d4ggp:hover{background:var(--accent-strong)}.info-grid.svelte-9d4ggp{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.info-item.svelte-9d4ggp{background:var(--tint-weakest);border:1px solid var(--border-subtle);border-radius:6px;padding:12px}.info-label.svelte-9d4ggp{color:var(--text-subtle);margin-bottom:4px;font-size:12px;display:block}.info-value.svelte-9d4ggp{color:var(--text-bright);font-size:20px;font-weight:600;display:block}.modal-footer.svelte-9d4ggp{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.save-button.svelte-9d4ggp{background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500}.save-button.svelte-9d4ggp:hover{background:var(--accent-strong)}
@@ -0,0 +1 @@
1
+ .overlay.svelte-4828wi{z-index:1000;background:var(--shade-stronger);backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0}.dialog.svelte-4828wi{width:min(90vw,520px);color:var(--text-primary);background:var(--surface-panel-alt);border:1px solid var(--border-raised);box-shadow:0 10px 40px var(--shadow);border-radius:8px;overflow:hidden}header.svelte-4828wi,footer.svelte-4828wi{align-items:center;padding:16px 20px;display:flex}header.svelte-4828wi{border-bottom:1px solid var(--border-subtle);justify-content:space-between}header.svelte-4828wi h2:where(.svelte-4828wi),main.svelte-4828wi h3:where(.svelte-4828wi){margin:0}main.svelte-4828wi h3.section:where(.svelte-4828wi){margin-top:28px}.setting-label.svelte-4828wi{font-size:13px}.segmented.svelte-4828wi{gap:4px;display:flex}.segmented.svelte-4828wi button:where(.svelte-4828wi){flex:1;padding:6px 10px;font-size:12px}.segmented.svelte-4828wi button.selected:where(.svelte-4828wi){color:var(--text-on-accent);background:var(--accent-alt-deep);border-color:var(--accent-alt-hover)}main.svelte-4828wi{padding:24px 20px}.setting-row.svelte-4828wi{grid-template-columns:100px 1fr 48px;align-items:center;gap:12px;margin-top:20px;display:grid}output.svelte-4828wi{color:var(--text-muted);text-align:right}footer.svelte-4828wi{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:8px}button.svelte-4828wi{color:var(--text-primary);cursor:pointer;background:var(--surface-input);border:1px solid var(--border);border-radius:4px;padding:8px 16px}button.svelte-4828wi:hover{background:var(--surface-active)}.icon-button.svelte-4828wi{background:0 0;border:0;padding:0 6px;font-size:24px}.primary.svelte-4828wi{color:var(--text-on-accent);background:var(--accent-alt-deep);border-color:var(--accent-alt-hover)}.primary.svelte-4828wi:hover{background:var(--accent-alt-hover)}
@@ -0,0 +1 @@
1
+ import{$ as e,Ct as t,D as n,F as r,H as i,J as a,L as o,P as s,Q as c,St as l,Tt as u,U as d,V as f,X as p,Y as m,_ as h,at as g,b as _,ct as v,et as y,gt as b,ht as x,i as S,it as C,l as w,lt as T,nt as E,ot as D,p as O,rt as k,t as A,tt as j,ut as M,y as N,z as P}from"./legacy-DIu3XRwl.js";import{i as F,n as I,r as L}from"./index-BXYXSdgh.js";var R=d(`<button type="button" role="radio"> </button>`),z=d(`<div class="overlay svelte-4828wi"><div class="dialog svelte-4828wi"><header class="svelte-4828wi"><h2 class="svelte-4828wi">Settings</h2> <button class="icon-button svelte-4828wi" aria-label="Close settings">×</button></header> <main class="svelte-4828wi"><h3 class="svelte-4828wi">Appearance</h3> <div class="setting-row svelte-4828wi"><span class="setting-label svelte-4828wi" id="theme-label">Theme</span> <div class="segmented svelte-4828wi" role="radiogroup" aria-labelledby="theme-label"></div></div> <h3 class="section svelte-4828wi">Editor</h3> <div class="setting-row svelte-4828wi"><label for="font-size">Font size</label> <input id="font-size" type="range" min="10" max="24" step="1"/> <output class="svelte-4828wi"> </output></div></main> <footer class="svelte-4828wi"><button class="svelte-4828wi">Cancel</button> <button class="primary svelte-4828wi">Save</button></footer></div></div>`);function B(d,B){t(B,!1);let V=()=>b(L,`$settingsStore`,H),[H,U]=x(),W={auto:`Auto`,dark:`Dark`,light:`Light`},G=S(B,`open`,12,!1),K=A(),q=v(),J=v(),Y=v(!1);function X(){G(!1),K(`close`)}function Z(){I(p(q)),X()}e(()=>(m(G()),p(Y),V()),()=>{G()&&!p(Y)?(M(Y,!0),M(q,structuredClone(V()))):!G()&&p(Y)&&M(Y,!1)}),y(),w();var Q=i();a(`keydown`,E,e=>e.key===`Escape`&&X()),a(`mousedown`,E,e=>G()&&e.target===p(J)&&X());var $=C(Q),ee=e=>{var t=z(),i=k(t),o=k(i),l=D(k(o),2);u(o);var d=D(o,2),m=D(k(d),2),v=D(k(m),2);s(v,5,()=>F,r,(e,t)=>{var r=R();let i;var o=g(r,!0);j(()=>{_(r,`aria-checked`,(p(q),p(t),c(()=>p(q).appearance.theme===p(t)))),i=n(r,1,`svelte-4828wi`,null,i,{selected:p(q).appearance.theme===p(t)}),P(o,(p(t),c(()=>W[p(t)])))}),a(`click`,r,()=>T(q,p(q).appearance.theme=p(t))),f(e,r)}),u(v),u(m);var y=D(m,4),b=D(k(y),2);N(b);var x=D(b,2),S=g(x);u(y),u(d);var C=D(d,2),w=k(C),E=D(w,2);u(C),u(i),u(t),O(t,e=>M(J,e),()=>p(J)),j(()=>P(S,`${p(q),c(()=>p(q).editor.fontSize)??``}px`)),a(`click`,l,X),h(b,()=>p(q).editor.fontSize,e=>T(q,p(q).editor.fontSize=e)),a(`click`,w,X),a(`click`,E,Z),f(e,t)};o($,e=>{G()&&e(ee)}),f(d,Q),l(),U()}export{B as default};
@@ -0,0 +1 @@
1
+ .dialog-overlay.svelte-19fwuux{background:var(--shade-strong);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog.svelte-19fwuux{background:var(--surface-raised);border:1px solid var(--border-divider);box-shadow:0 16px 48px var(--shadow);border-radius:8px;flex-direction:column;width:460px;max-width:90vw;max-height:80vh;display:flex;overflow:hidden}.dialog-header.svelte-19fwuux{border-bottom:1px solid var(--border-divider);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}h2.svelte-19fwuux{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.close-button.svelte-19fwuux{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.close-button.svelte-19fwuux:hover{color:var(--text-primary)}.dialog-body.svelte-19fwuux{padding:14px 16px 16px;overflow-y:auto}.subject.svelte-19fwuux{color:var(--syntax-variable);margin:0 0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.note.svelte-19fwuux{color:var(--text-dim);margin:0 0 10px;font-size:12px;line-height:1.5}.note.error.svelte-19fwuux{color:var(--status-error-soft)}.note.dirty.svelte-19fwuux{color:var(--syntax-regexp)}.footnote.svelte-19fwuux{border-top:1px solid var(--border-subtle);margin:12px 0 0;padding-top:10px}.versions.svelte-19fwuux{margin:0;padding:0;list-style:none}.versions.svelte-19fwuux li:where(.svelte-19fwuux){border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr auto;grid-template-areas:"meta button""message button";align-items:center;gap:2px 12px;padding:9px 0;display:grid}.versions.svelte-19fwuux li:where(.svelte-19fwuux):last-child{border-bottom:none}.meta.svelte-19fwuux{color:var(--text-subtle);grid-area:meta;align-items:center;gap:8px;font-size:11px;display:flex}.date.svelte-19fwuux{color:var(--text-secondary)}.sha.svelte-19fwuux{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tag.svelte-19fwuux{background:var(--surface-hover);color:var(--syntax-variable);border-radius:3px;padding:1px 6px;font-size:10px}.message.svelte-19fwuux{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;grid-area:message;font-size:12px;overflow:hidden}.restore.svelte-19fwuux{background:var(--accent-alt-deep);color:var(--text-on-accent);cursor:pointer;border:none;border-radius:4px;grid-area:button;padding:5px 12px;font-size:12px}.restore.svelte-19fwuux:hover:not(:disabled){background:var(--accent-alt-hover)}.restore.svelte-19fwuux:disabled{opacity:.5;cursor:default}
@@ -0,0 +1,3 @@
1
+ import{$ as e,Ct as t,F as n,H as r,J as i,L as a,P as o,Q as s,St as c,Tt as l,U as u,V as d,X as f,Y as p,at as m,ct as h,d as g,et as _,i as v,it as y,l as b,nt as x,ot as S,rt as C,t as w,tt as T,ut as E,wt as D,z as O}from"./legacy-DIu3XRwl.js";import{O as k}from"./index-BXYXSdgh.js";var A=u(`<p class="note svelte-19fwuux">Reading history…</p>`),j=u(`<p class="note error svelte-19fwuux"> </p>`),M=u(`<p class="note svelte-19fwuux">This project isn't a git repository yet, so there's nothing to go back to. The next
2
+ save starts a history.</p>`),N=u(`<p class="note svelte-19fwuux">No versions yet. The next save becomes the first one.</p>`),P=u(`<p class="note dirty svelte-19fwuux">Unsaved changes on disk aren't in any version yet.</p>`),F=u(`<span class="tag svelte-19fwuux">current</span>`),I=u(`<li class="svelte-19fwuux"><div class="meta svelte-19fwuux"><span class="date svelte-19fwuux"> </span> <span class="sha svelte-19fwuux"> </span> <!></div> <div class="message svelte-19fwuux"> </div> <button class="restore svelte-19fwuux"> </button></li>`),L=u(`<!> <ul class="versions svelte-19fwuux"></ul> <p class="note footnote svelte-19fwuux">Restoring loads that version into the editor as unsaved work. Nothing is overwritten
3
+ until you save, and saving it becomes the next version — so this is always reversible.</p>`,1),R=u(`<div class="dialog-overlay svelte-19fwuux"><div class="dialog svelte-19fwuux" role="dialog" aria-modal="true" aria-labelledby="version-history-title"><div class="dialog-header svelte-19fwuux"><h2 id="version-history-title" class="svelte-19fwuux">Version History</h2> <button class="close-button svelte-19fwuux" aria-label="Close"><!></button></div> <div class="dialog-body svelte-19fwuux"><p class="subject svelte-19fwuux"> </p> <!></div></div></div>`);function z(u,z){t(z,!1);let B=v(z,`filename`,8,null),V=v(z,`open`,8,!1),H=w(),U=h([]),W=h(!1),G=h(!0),K=h(!1),q=h(null),J=h(null);async function Y(e){E(K,!0),E(q,null);try{let t=await fetch(`/api/graph/${encodeURIComponent(e)}/versions`);if(!t.ok)throw Error(await t.text());let n=await t.json();E(U,n.versions??[]),E(W,!!n.dirty),E(G,n.isGitRepo!==!1)}catch(e){E(q,e instanceof Error?e.message:String(e)),E(U,[])}finally{E(K,!1)}}async function X(e){if(B()){E(J,e.sha),E(q,null);try{let t=await fetch(`/api/graph/${encodeURIComponent(B())}/versions/${e.sha}`);if(!t.ok)throw Error(await t.text());H(`restore`,{json:await t.json(),version:e})}catch(e){E(q,e instanceof Error?e.message:String(e))}finally{E(J,null)}}}function Z(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function Q(){H(`close`)}function ee(e){e.key===`Escape`&&Q()}e(()=>(p(V()),p(B())),()=>{V()&&B()&&Y(B())}),_(),b();var $=r();i(`keydown`,x,ee);var te=y($),ne=e=>{var t=R(),r=C(t),c=C(r),u=S(C(c),2),p=C(u);k(p,{size:18}),l(u),l(c);var h=S(c,2),_=C(h),v=m(_,!0),b=S(_,2),x=e=>{var t=A();d(e,t)},w=e=>{var t=j(),n=m(t,!0);T(()=>O(n,f(q))),d(e,t)},E=e=>{var t=M();d(e,t)},z=e=>{var t=N();d(e,t)},V=e=>{var t=L(),r=y(t),c=e=>{var t=P();d(e,t)};a(r,e=>{f(W)&&e(c)});var u=S(r,2);o(u,5,()=>f(U),n,(e,t,n)=>{var r=I(),o=C(r),c=C(o),u=m(c,!0),p=S(c,2),h=m(p,!0),g=S(p,2),_=e=>{var t=F();d(e,t)};a(g,e=>{n===0&&e(_)}),l(o);var v=S(o,2),y=m(v,!0),b=S(v,2),x=m(b,!0);l(r),T(e=>{O(u,e),O(h,(f(t),s(()=>f(t).shortSha))),O(y,(f(t),s(()=>f(t).message))),b.disabled=f(J)!==null,O(x,(f(J),f(t),s(()=>f(J)===f(t).sha?`Opening…`:`Restore`)))},[()=>(f(t),s(()=>Z(f(t).date)))]),i(`click`,b,()=>X(f(t))),d(e,r)}),l(u),D(2),d(e,t)};a(b,e=>{f(K)?e(x):f(q)?e(w,1):f(G)?(f(U),s(()=>f(U).length===0)?e(z,3):e(V,-1)):e(E,2)}),l(h),l(r),l(t),T(()=>O(v,B()??`No project file`)),i(`click`,u,Q),i(`click`,t,g(Q)),d(e,t)};a(te,e=>{V()&&e(ne)}),d(u,$),c()}export{z as default};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`*`},brackets:[[`[`,`]`],[`(`,`)`]]},t={defaultToken:`invalid`,ignoreCase:!0,tokenPostfix:`.abap`,keywords:`abap-source.abbreviated.abstract.accept.accepting.according.activation.actual.add.add-corresponding.adjacent.after.alias.aliases.align.all.allocate.alpha.analysis.analyzer.and.append.appendage.appending.application.archive.area.arithmetic.as.ascending.aspect.assert.assign.assigned.assigning.association.asynchronous.at.attributes.authority.authority-check.avg.back.background.backup.backward.badi.base.before.begin.between.big.binary.bintohex.bit.black.blank.blanks.blob.block.blocks.blue.bound.boundaries.bounds.boxed.break-point.buffer.by.bypassing.byte.byte-order.call.calling.case.cast.casting.catch.center.centered.chain.chain-input.chain-request.change.changing.channels.character.char-to-hex.check.checkbox.ci_.circular.class.class-coding.class-data.class-events.class-methods.class-pool.cleanup.clear.client.clob.clock.close.coalesce.code.coding.col_background.col_group.col_heading.col_key.col_negative.col_normal.col_positive.col_total.collect.color.column.columns.comment.comments.commit.common.communication.comparing.component.components.compression.compute.concat.concat_with_space.concatenate.cond.condense.condition.connect.connection.constants.context.contexts.continue.control.controls.conv.conversion.convert.copies.copy.corresponding.country.cover.cpi.create.creating.critical.currency.currency_conversion.current.cursor.cursor-selection.customer.customer-function.dangerous.data.database.datainfo.dataset.date.dats_add_days.dats_add_months.dats_days_between.dats_is_valid.daylight.dd/mm/yy.dd/mm/yyyy.ddmmyy.deallocate.decimal_shift.decimals.declarations.deep.default.deferred.define.defining.definition.delete.deleting.demand.department.descending.describe.destination.detail.dialog.directory.disconnect.display.display-mode.distinct.divide.divide-corresponding.division.do.dummy.duplicate.duplicates.duration.during.dynamic.dynpro.edit.editor-call.else.elseif.empty.enabled.enabling.encoding.end.endat.endcase.endcatch.endchain.endclass.enddo.endenhancement.end-enhancement-section.endexec.endform.endfunction.endian.endif.ending.endinterface.end-lines.endloop.endmethod.endmodule.end-of-definition.end-of-editing.end-of-file.end-of-page.end-of-selection.endon.endprovide.endselect.end-test-injection.end-test-seam.endtry.endwhile.endwith.engineering.enhancement.enhancement-point.enhancements.enhancement-section.entries.entry.enum.environment.equiv.errormessage.errors.escaping.event.events.exact.except.exception.exceptions.exception-table.exclude.excluding.exec.execute.exists.exit.exit-command.expand.expanding.expiration.explicit.exponent.export.exporting.extend.extended.extension.extract.fail.fetch.field.field-groups.fields.field-symbol.field-symbols.file.filter.filters.filter-table.final.find.first.first-line.fixed-point.fkeq.fkge.flush.font.for.form.format.forward.found.frame.frames.free.friends.from.function.functionality.function-pool.further.gaps.generate.get.giving.gkeq.gkge.global.grant.green.group.groups.handle.handler.harmless.hashed.having.hdb.header.headers.heading.head-lines.help-id.help-request.hextobin.hide.high.hint.hold.hotspot.icon.id.identification.identifier.ids.if.ignore.ignoring.immediately.implementation.implementations.implemented.implicit.import.importing.in.inactive.incl.include.includes.including.increment.index.index-line.infotypes.inheriting.init.initial.initialization.inner.inout.input.insert.instance.instances.instr.intensified.interface.interface-pool.interfaces.internal.intervals.into.inverse.inverted-date.is.iso.job.join.keep.keeping.kernel.key.keys.keywords.kind.language.last.late.layout.leading.leave.left.left-justified.leftplus.leftspace.legacy.length.let.level.levels.like.line.lines.line-count.linefeed.line-selection.line-size.list.listbox.list-processing.little.llang.load.load-of-program.lob.local.locale.locator.logfile.logical.log-point.long.loop.low.lower.lpad.lpi.ltrim.mail.main.major-id.mapping.margin.mark.mask.match.matchcode.max.maximum.medium.members.memory.mesh.message.message-id.messages.messaging.method.methods.min.minimum.minor-id.mm/dd/yy.mm/dd/yyyy.mmddyy.mode.modif.modifier.modify.module.move.move-corresponding.multiply.multiply-corresponding.name.nametab.native.nested.nesting.new.new-line.new-page.new-section.next.no.no-display.no-extension.no-gap.no-gaps.no-grouping.no-heading.no-scrolling.no-sign.no-title.no-topofpage.no-zero.node.nodes.non-unicode.non-unique.not.null.number.object.objects.obligatory.occurrence.occurrences.occurs.of.off.offset.ole.on.only.open.option.optional.options.or.order.other.others.out.outer.output.output-length.overflow.overlay.pack.package.pad.padding.page.pages.parameter.parameters.parameter-table.part.partially.pattern.percentage.perform.performing.person.pf1.pf10.pf11.pf12.pf13.pf14.pf15.pf2.pf3.pf4.pf5.pf6.pf7.pf8.pf9.pf-status.pink.places.pool.pos_high.pos_low.position.pragmas.precompiled.preferred.preserving.primary.print.print-control.priority.private.procedure.process.program.property.protected.provide.public.push.pushbutton.put.queue-only.quickinfo.radiobutton.raise.raising.range.ranges.read.reader.read-only.receive.received.receiver.receiving.red.redefinition.reduce.reduced.ref.reference.refresh.regex.reject.remote.renaming.replace.replacement.replacing.report.request.requested.reserve.reset.resolution.respecting.responsible.result.results.resumable.resume.retry.return.returncode.returning.returns.right.right-justified.rightplus.rightspace.risk.rmc_communication_failure.rmc_invalid_status.rmc_system_failure.role.rollback.rows.rpad.rtrim.run.sap.sap-spool.saving.scale_preserving.scale_preserving_scientific.scan.scientific.scientific_with_leading_zero.scroll.scroll-boundary.scrolling.search.secondary.seconds.section.select.selection.selections.selection-screen.selection-set.selection-sets.selection-table.select-options.send.separate.separated.set.shared.shift.short.shortdump-id.sign_as_postfix.single.size.skip.skipping.smart.some.sort.sortable.sorted.source.specified.split.spool.spots.sql.sqlscript.stable.stamp.standard.starting.start-of-editing.start-of-selection.state.statement.statements.static.statics.statusinfo.step-loop.stop.structure.structures.style.subkey.submatches.submit.subroutine.subscreen.subtract.subtract-corresponding.suffix.sum.summary.summing.supplied.supply.suppress.switch.switchstates.symbol.syncpoints.syntax.syntax-check.syntax-trace.system-call.system-exceptions.system-exit.tab.tabbed.table.tables.tableview.tabstrip.target.task.tasks.test.testing.test-injection.test-seam.text.textpool.then.throw.time.times.timestamp.timezone.tims_is_valid.title.titlebar.title-lines.to.tokenization.tokens.top-lines.top-of-page.trace-file.trace-table.trailing.transaction.transfer.transformation.translate.transporting.trmac.truncate.truncation.try.tstmp_add_seconds.tstmp_current_utctimestamp.tstmp_is_valid.tstmp_seconds_between.type.type-pool.type-pools.types.uline.unassign.under.unicode.union.unique.unit_conversion.unix.unpack.until.unwind.up.update.upper.user.user-command.using.utf-8.valid.value.value-request.values.vary.varying.verification-message.version.via.view.visible.wait.warning.when.whenever.where.while.width.window.windows.with.with-heading.without.with-title.word.work.write.writer.xml.xsd.yellow.yes.yymmdd.zero.zone.abap_system_timezone.abap_user_timezone.access.action.adabas.adjust_numbers.allow_precision_loss.allowed.amdp.applicationuser.as_geo_json.as400.associations.balance.behavior.breakup.bulk.cds.cds_client.check_before_save.child.clients.corr.corr_spearman.cross.cycles.datn_add_days.datn_add_months.datn_days_between.dats_from_datn.dats_tims_to_tstmp.dats_to_datn.db2.db6.ddl.dense_rank.depth.deterministic.discarding.entities.entity.error.failed.finalize.first_value.fltp_to_dec.following.fractional.full.graph.grouping.hierarchy.hierarchy_ancestors.hierarchy_ancestors_aggregate.hierarchy_descendants.hierarchy_descendants_aggregate.hierarchy_siblings.incremental.indicators.lag.last_value.lead.leaves.like_regexpr.link.locale_sap.lock.locks.many.mapped.matched.measures.median.mssqlnt.multiple.nodetype.ntile.nulls.occurrences_regexpr.one.operations.oracle.orphans.over.parent.parents.partition.pcre.period.pfcg_mapping.preceding.privileged.product.projection.rank.redirected.replace_regexpr.reported.response.responses.root.row.row_number.sap_system_date.save.schema.session.sets.shortdump.siblings.spantree.start.stddev.string_agg.subtotal.sybase.tims_from_timn.tims_to_timn.to_blob.to_clob.total.trace-entry.tstmp_to_dats.tstmp_to_dst.tstmp_to_tims.tstmpl_from_utcl.tstmpl_to_utcl.unbounded.utcl_add_seconds.utcl_current.utcl_seconds_between.uuid.var.verbatim`.split(`.`),builtinFunctions:`abs.acos.asin.atan.bit-set.boolc.boolx.ceil.char_off.charlen.cmax.cmin.concat_lines_of.contains.contains_any_not_of.contains_any_of.cos.cosh.count.count_any_not_of.count_any_of.dbmaxlen.distance.escape.exp.find_any_not_of.find_any_of.find_end.floor.frac.from_mixed.ipow.line_exists.line_index.log.log10.matches.nmax.nmin.numofchar.repeat.rescale.reverse.round.segment.shift_left.shift_right.sign.sin.sinh.sqrt.strlen.substring.substring_after.substring_before.substring_from.substring_to.tan.tanh.to_lower.to_mixed.to_upper.trunc.utclong_add.utclong_current.utclong_diff.xsdbool.xstrlen`.split(`.`),typeKeywords:`b.c.d.decfloat16.decfloat34.f.i.int8.n.p.s.string.t.utclong.x.xstring.any.clike.csequence.decfloat.numeric.simple.xsequence.accp.char.clnt.cuky.curr.datn.dats.d16d.d16n.d16r.d34d.d34n.d34r.dec.df16_dec.df16_raw.df34_dec.df34_raw.fltp.geom_ewkb.int1.int2.int4.lang.lchr.lraw.numc.quan.raw.rawstring.sstring.timn.tims.unit.utcl.df16_scl.df34_scl.prec.varc.abap_bool.abap_false.abap_true.abap_undefined.me.screen.space.super.sy.syst.table_line.*sys*`.split(`.`),builtinMethods:[`class_constructor`,`constructor`],derivedTypes:[`%CID`,`%CID_REF`,`%CONTROL`,`%DATA`,`%ELEMENT`,`%FAIL`,`%KEY`,`%MSG`,`%PARAM`,`%PID`,`%PID_ASSOC`,`%PID_PARENT`,`%_HINTS`],cdsLanguage:[`@AbapAnnotation`,`@AbapCatalog`,`@AccessControl`,`@API`,`@ClientDependent`,`@ClientHandling`,`@CompatibilityContract`,`@DataAging`,`@EndUserText`,`@Environment`,`@LanguageDependency`,`@MappingRole`,`@Metadata`,`@MetadataExtension`,`@ObjectModel`,`@Scope`,`@Semantics`,`$EXTENSION`,`$SELF`],selectors:[`->`,`->*`,`=>`,`~`,`~*`],operators:` +. -./.*.**.div.mod.=.#.@.+=.-=.*=./=.**=.&&=.?=.&.&&.bit-and.bit-not.bit-or.bit-xor.m.o.z.<. >.<=.>=.<>.><.=<.=>.bt.byte-ca.byte-cn.byte-co.byte-cs.byte-na.byte-ns.ca.cn.co.cp.cs.eq.ge.gt.le.lt.na.nb.ne.np.ns.*/.*:.--./*.//`.split(`.`),symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":`type`,"@keywords":`keyword`,"@cdsLanguage":`annotation`,"@derivedTypes":`type`,"@builtinFunctions":`type`,"@builtinMethods":`type`,"@operators":`key`,"@default":`identifier`}}],[/<[\w]+>/,`identifier`],[/##[\w|_]+/,`comment`],{include:`@whitespace`},[/[:,.]/,`delimiter`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,{cases:{"@selectors":`tag`,"@operators":`key`,"@default":``}}],[/'/,{token:`string`,bracket:`@open`,next:`@stringquote`}],[/`/,{token:`string`,bracket:`@open`,next:`@stringping`}],[/\|/,{token:`string`,bracket:`@open`,next:`@stringtemplate`}],[/\d+/,`number`]],stringtemplate:[[/[^\\\|]+/,`string`],[/\\\|/,`string`],[/\|/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringping:[[/[^\\`]+/,`string`],[/`/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringquote:[[/[^\\']+/,`string`],[/'/,{token:`string`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/^\*.*$/,`comment`],[/\".*$/,`comment`]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))`),end:RegExp(`^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))`)}}},t=`abstract.activate.and.any.array.as.asc.assert.autonomous.begin.bigdecimal.blob.boolean.break.bulk.by.case.cast.catch.char.class.collect.commit.const.continue.convertcurrency.decimal.default.delete.desc.do.double.else.end.enum.exception.exit.export.extends.false.final.finally.float.for.from.future.get.global.goto.group.having.hint.if.implements.import.in.inner.insert.instanceof.int.interface.into.join.last_90_days.last_month.last_n_days.last_week.like.limit.list.long.loop.map.merge.native.new.next_90_days.next_month.next_n_days.next_week.not.null.nulls.number.object.of.on.or.outer.override.package.parallel.pragma.private.protected.public.retrieve.return.returning.rollback.savepoint.search.select.set.short.sort.stat.static.strictfp.super.switch.synchronized.system.testmethod.then.this.this_month.this_week.throw.throws.today.tolabel.tomorrow.transaction.transient.trigger.true.try.type.undelete.update.upsert.using.virtual.void.volatile.webservice.when.where.while.yesterday`.split(`.`),n=e=>e.charAt(0).toUpperCase()+e.substr(1),r=[];t.forEach(e=>{r.push(e),r.push(e.toUpperCase()),r.push(n(e))});var i={defaultToken:``,tokenPostfix:`.apex`,keywords:r,operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.>>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=.>>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`type.identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/@\s*[a-zA-Z_\$][\w\$]*/,`annotation`],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)[fFdD]/,`number.float`],[/(@digits)[lL]?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@apexdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],apexdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}]]}};export{e as conf,i as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`#`}},t={defaultToken:`keyword`,ignoreCase:!0,tokenPostfix:`.azcli`,str:/[^#\s]/,tokenizer:{root:[{include:`@comment`},[/\s-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}]],type:[{include:`@comment`},[/-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":`key.identifier`}}],[/@str+\s*/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}]],comment:[[/#.*$/,{cases:{"@eos":{token:`comment`,next:`@popall`}}}]]}};export{e as conf,t as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`REM`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],surroundingPairs:[{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*(::\\s*|REM\\s+)#region`),end:RegExp(`^\\s*(::\\s*|REM\\s+)#endregion`)}}},t={defaultToken:``,ignoreCase:!0,tokenPostfix:`.bat`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,[``,`comment`]],[/(\@?)(@keywords)(?!\w)/,[{token:`keyword`},{token:`keyword.$2`}]],[/[ \t\r\n]+/,``],[/setlocal(?!\w)/,`keyword.tag-setlocal`],[/endlocal(?!\w)/,`keyword.tag-setlocal`],[/[a-zA-Z_]\w*/,``],[/:\w*/,`metatag`],[/%[^%]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/%[\w ]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/$/,`string`,`@popall`]]}};export{e as conf,t as language};
@@ -0,0 +1,2 @@
1
+ var e=(e=>`\\b${e}\\b`)(`[_a-zA-Z][_a-zA-Z0-9]*`),t=[`targetScope`,`resource`,`module`,`param`,`var`,`output`,`for`,`in`,`if`,`existing`],n=[`true`,`false`,`null`],r=`[ \\t\\r\\n]`,i=`[0-9]+`,a={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`},{open:`'''`,close:`'''`}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`'''`,close:`'''`,notIn:[`string`,`comment`]}],autoCloseBefore:`:.,=}])'
2
+ `,indentationRules:{increaseIndentPattern:RegExp(`^((?!\\/\\/).)*(\\{[^}"'\`]*|\\([^)"'\`]*|\\[[^\\]"'\`]*)$`),decreaseIndentPattern:RegExp(`^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$`)}},o={defaultToken:``,tokenPostfix:`.bicep`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:t,namedLiterals:n,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:`@expression`},{include:`@whitespace`}],stringVerbatim:[{regex:`(|'|'')[^']`,action:{token:`string`}},{regex:`'''`,action:{token:`string.quote`,next:`@pop`}}],stringLiteral:[{regex:"\\${",action:{token:`delimiter.bracket`,next:`@bracketCounting`}},{regex:`[^\\\\'$]+`,action:{token:`string`}},{regex:`@escapes`,action:{token:`string.escape`}},{regex:`\\\\.`,action:{token:`string.escape.invalid`}},{regex:`'`,action:{token:`string`,next:`@pop`}}],bracketCounting:[{regex:`{`,action:{token:`delimiter.bracket`,next:`@bracketCounting`}},{regex:`}`,action:{token:`delimiter.bracket`,next:`@pop`}},{include:`expression`}],comment:[{regex:`[^\\*]+`,action:{token:`comment`}},{regex:`\\*\\/`,action:{token:`comment`,next:`@pop`}},{regex:`[\\/*]`,action:{token:`comment`}}],whitespace:[{regex:r},{regex:`\\/\\*`,action:{token:`comment`,next:`@comment`}},{regex:`\\/\\/.*$`,action:{token:`comment`}}],expression:[{regex:`'''`,action:{token:`string.quote`,next:`@stringVerbatim`}},{regex:`'`,action:{token:`string.quote`,next:`@stringLiteral`}},{regex:i,action:{token:`number`}},{regex:e,action:{cases:{"@keywords":{token:`keyword`},"@namedLiterals":{token:`keyword`},"@default":{token:`identifier`}}}}]}};export{a as conf,o as language};
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`//`,blockComment:[`(*`,`*)`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`],[`<`,`>`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`},{open:`(*`,close:`*)`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`},{open:`(*`,close:`*)`}]},t={defaultToken:``,tokenPostfix:`.cameligo`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],keywords:`abs.assert.block.Bytes.case.Crypto.Current.else.failwith.false.for.fun.if.in.let.let%entry.let%init.List.list.Map.map.match.match%nat.mod.not.operation.Operation.of.record.Set.set.sender.skip.source.String.then.to.true.type.with`.split(`.`),typeKeywords:[`int`,`unit`,`string`,`tz`,`nat`,`bool`],operators:[`=`,`>`,`<`,`<=`,`>=`,`<>`,`:`,`:=`,`and`,`mod`,`or`,`+`,`-`,`*`,`/`,`@`,`&`,`^`,`%`,`->`,`<-`,`&&`,`||`],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/\$[0-9a-fA-F]{1,16}/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'/,`string`,`@string`],[/'[^\\']'/,`string`],[/'/,`string.invalid`],[/\#\d+/,`string`]],comment:[[/[^\(\*]+/,`comment`],[/\*\)/,`comment`,`@pop`],[/\(\*/,`comment`]],string:[[/[^\\']+/,`string`],[/\\./,`string.escape.invalid`],[/'/,{token:`string.quote`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,`white`],[/\(\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]]}};export{e as conf,t as language};
Binary file
@@ -0,0 +1 @@
1
+ var e={comments:{lineComment:`;;`},brackets:[[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`"`,close:`"`},{open:`(`,close:`)`},{open:`{`,close:`}`}],surroundingPairs:[{open:`[`,close:`]`},{open:`"`,close:`"`},{open:`(`,close:`)`},{open:`{`,close:`}`}]},t={defaultToken:``,ignoreCase:!0,tokenPostfix:`.clj`,brackets:[{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`{`,close:`}`,token:`delimiter.curly`}],constants:[`true`,`false`,`nil`],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[`.`,`catch`,`def`,`do`,`if`,`monitor-enter`,`monitor-exit`,`new`,`quote`,`recur`,`set!`,`throw`,`try`,`var`],coreSymbols:`*,*',*1,*2,*3,*agent*,*allow-unresolved-vars*,*assert*,*clojure-version*,*command-line-args*,*compile-files*,*compile-path*,*compiler-options*,*data-readers*,*default-data-reader-fn*,*e,*err*,*file*,*flush-on-newline*,*fn-loader*,*in*,*math-context*,*ns*,*out*,*print-dup*,*print-length*,*print-level*,*print-meta*,*print-namespace-maps*,*print-readably*,*read-eval*,*reader-resolver*,*source-path*,*suppress-read*,*unchecked-math*,*use-context-classloader*,*verbose-defrecords*,*warn-on-reflection*,+,+',-,-',->,->>,->ArrayChunk,->Eduction,->Vec,->VecNode,->VecSeq,-cache-protocol-fn,-reset-methods,..,/,<,<=,=,==,>,>=,EMPTY-NODE,Inst,StackTraceElement->vec,Throwable->map,accessor,aclone,add-classpath,add-watch,agent,agent-error,agent-errors,aget,alength,alias,all-ns,alter,alter-meta!,alter-var-root,amap,ancestors,and,any?,apply,areduce,array-map,as->,aset,aset-boolean,aset-byte,aset-char,aset-double,aset-float,aset-int,aset-long,aset-short,assert,assoc,assoc!,assoc-in,associative?,atom,await,await-for,await1,bases,bean,bigdec,bigint,biginteger,binding,bit-and,bit-and-not,bit-clear,bit-flip,bit-not,bit-or,bit-set,bit-shift-left,bit-shift-right,bit-test,bit-xor,boolean,boolean-array,boolean?,booleans,bound-fn,bound-fn*,bound?,bounded-count,butlast,byte,byte-array,bytes,bytes?,case,cast,cat,char,char-array,char-escape-string,char-name-string,char?,chars,chunk,chunk-append,chunk-buffer,chunk-cons,chunk-first,chunk-next,chunk-rest,chunked-seq?,class,class?,clear-agent-errors,clojure-version,coll?,comment,commute,comp,comparator,compare,compare-and-set!,compile,complement,completing,concat,cond,cond->,cond->>,condp,conj,conj!,cons,constantly,construct-proxy,contains?,count,counted?,create-ns,create-struct,cycle,dec,dec',decimal?,declare,dedupe,default-data-readers,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftype,delay,delay?,deliver,denominator,deref,derive,descendants,destructure,disj,disj!,dissoc,dissoc!,distinct,distinct?,doall,dorun,doseq,dosync,dotimes,doto,double,double-array,double?,doubles,drop,drop-last,drop-while,eduction,empty,empty?,ensure,ensure-reduced,enumeration-seq,error-handler,error-mode,eval,even?,every-pred,every?,ex-data,ex-info,extend,extend-protocol,extend-type,extenders,extends?,false?,ffirst,file-seq,filter,filterv,find,find-keyword,find-ns,find-protocol-impl,find-protocol-method,find-var,first,flatten,float,float-array,float?,floats,flush,fn,fn?,fnext,fnil,for,force,format,frequencies,future,future-call,future-cancel,future-cancelled?,future-done?,future?,gen-class,gen-interface,gensym,get,get-in,get-method,get-proxy-class,get-thread-bindings,get-validator,group-by,halt-when,hash,hash-combine,hash-map,hash-ordered-coll,hash-set,hash-unordered-coll,ident?,identical?,identity,if-let,if-not,if-some,ifn?,import,in-ns,inc,inc',indexed?,init-proxy,inst-ms,inst-ms*,inst?,instance?,int,int-array,int?,integer?,interleave,intern,interpose,into,into-array,ints,io!,isa?,iterate,iterator-seq,juxt,keep,keep-indexed,key,keys,keyword,keyword?,last,lazy-cat,lazy-seq,let,letfn,line-seq,list,list*,list?,load,load-file,load-reader,load-string,loaded-libs,locking,long,long-array,longs,loop,macroexpand,macroexpand-1,make-array,make-hierarchy,map,map-entry?,map-indexed,map?,mapcat,mapv,max,max-key,memfn,memoize,merge,merge-with,meta,method-sig,methods,min,min-key,mix-collection-hash,mod,munge,name,namespace,namespace-munge,nat-int?,neg-int?,neg?,newline,next,nfirst,nil?,nnext,not,not-any?,not-empty,not-every?,not=,ns,ns-aliases,ns-imports,ns-interns,ns-map,ns-name,ns-publics,ns-refers,ns-resolve,ns-unalias,ns-unmap,nth,nthnext,nthrest,num,number?,numerator,object-array,odd?,or,parents,partial,partition,partition-all,partition-by,pcalls,peek,persistent!,pmap,pop,pop!,pop-thread-bindings,pos-int?,pos?,pr,pr-str,prefer-method,prefers,primitives-classnames,print,print-ctor,print-dup,print-method,print-simple,print-str,printf,println,println-str,prn,prn-str,promise,proxy,proxy-call-with-super,proxy-mappings,proxy-name,proxy-super,push-thread-bindings,pvalues,qualified-ident?,qualified-keyword?,qualified-symbol?,quot,rand,rand-int,rand-nth,random-sample,range,ratio?,rational?,rationalize,re-find,re-groups,re-matcher,re-matches,re-pattern,re-seq,read,read-line,read-string,reader-conditional,reader-conditional?,realized?,record?,reduce,reduce-kv,reduced,reduced?,reductions,ref,ref-history-count,ref-max-history,ref-min-history,ref-set,refer,refer-clojure,reify,release-pending-sends,rem,remove,remove-all-methods,remove-method,remove-ns,remove-watch,repeat,repeatedly,replace,replicate,require,reset!,reset-meta!,reset-vals!,resolve,rest,restart-agent,resultset-seq,reverse,reversible?,rseq,rsubseq,run!,satisfies?,second,select-keys,send,send-off,send-via,seq,seq?,seqable?,seque,sequence,sequential?,set,set-agent-send-executor!,set-agent-send-off-executor!,set-error-handler!,set-error-mode!,set-validator!,set?,short,short-array,shorts,shuffle,shutdown-agents,simple-ident?,simple-keyword?,simple-symbol?,slurp,some,some->,some->>,some-fn,some?,sort,sort-by,sorted-map,sorted-map-by,sorted-set,sorted-set-by,sorted?,special-symbol?,spit,split-at,split-with,str,string?,struct,struct-map,subs,subseq,subvec,supers,swap!,swap-vals!,symbol,symbol?,sync,tagged-literal,tagged-literal?,take,take-last,take-nth,take-while,test,the-ns,thread-bound?,time,to-array,to-array-2d,trampoline,transduce,transient,tree-seq,true?,type,unchecked-add,unchecked-add-int,unchecked-byte,unchecked-char,unchecked-dec,unchecked-dec-int,unchecked-divide-int,unchecked-double,unchecked-float,unchecked-inc,unchecked-inc-int,unchecked-int,unchecked-long,unchecked-multiply,unchecked-multiply-int,unchecked-negate,unchecked-negate-int,unchecked-remainder-int,unchecked-short,unchecked-subtract,unchecked-subtract-int,underive,unquote,unquote-splicing,unreduced,unsigned-bit-shift-right,update,update-in,update-proxy,uri?,use,uuid?,val,vals,var-get,var-set,var?,vary-meta,vec,vector,vector-of,vector?,volatile!,volatile?,vreset!,vswap!,when,when-first,when-let,when-not,when-some,while,with-bindings,with-bindings*,with-in-str,with-loading-context,with-local-vars,with-meta,with-open,with-out-str,with-precision,with-redefs,with-redefs-fn,xml-seq,zero?,zipmap`.split(`,`),tokenizer:{root:[{include:`@whitespace`},[/@numbers/,`number`],[/@characters/,`string`],{include:`@string`},[/[()\[\]{}]/,`@brackets`],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,`regexp`],[/[#'@^`~]/,`meta`],[/@qualifiedSymbols/,{cases:{"^:.+$":`constant`,"@specialForms":`keyword`,"@coreSymbols":`keyword`,"@constants":`constant`,"@default":`identifier`}}]],whitespace:[[/[\s,]+/,`white`],[/;.*$/,`comment`],[/\(comment\b/,`comment`,`@comment`]],comment:[[/\(/,`comment`,`@push`],[/\)/,`comment`,`@pop`],[/[^()]/,`comment`]],string:[[/"/,`string`,`@multiLineString`]],multiLineString:[[/"/,`string`,`@popall`],[/@escapes/,`string.escape`],[/./,`string`]]}};export{e as conf,t as language};
Binary file
@@ -0,0 +1 @@
1
+ var e={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:[`###`,`###`],lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*#region\\b`),end:RegExp(`^\\s*#endregion\\b`)}}},t={defaultToken:``,ignoreCase:!0,tokenPostfix:`.coffee`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:`and.or.is.isnt.not.on.yes.@.no.off.true.false.null.this.new.delete.typeof.in.instanceof.return.throw.break.continue.debugger.if.else.switch.for.while.do.try.catch.finally.class.extends.super.undefined.then.unless.until.loop.of.by.when`.split(`.`),symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,`variable.predefined`],[/[a-zA-Z_]\w*/,{cases:{this:`variable.predefined`,"@keywords":{token:`keyword.$0`},"@default":``}}],[/[ \t\r\n]+/,``],[/###/,`comment`,`@comment`],[/#.*$/,`comment`],[`///`,{token:`regexp`,next:`@hereregexp`}],[/^(\s*)(@regEx)/,[``,`regexp`]],[/(\()(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\,)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\=)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\:)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\[)(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\!)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\&)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\|)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\?)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\{)(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\;)(\s*)(@regEx)/,[``,``,`regexp`]],[/}/,{cases:{"$S2==interpolatedstring":{token:`string`,next:`@pop`},"@default":`@brackets`}}],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d+[eE]([\-+]?\d+)?/,`number.float`],[/\d+\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F]+/,`number.hex`],[/0[0-7]+(?!\d)/,`number.octal`],[/\d+/,`number`],[/[,.]/,`delimiter`],[/"""/,`string`,`@herestring."""`],[/'''/,`string`,`@herestring.'''`],[/"/,{cases:{"@eos":`string`,"@default":{token:`string`,next:`@string."`}}}],[/'/,{cases:{"@eos":`string`,"@default":{token:`string`,next:`@string.'`}}}]],string:[[/[^"'\#\\]+/,`string`],[/@escapes/,`string.escape`],[/\./,`string.escape.invalid`],[/\./,`string.escape.invalid`],[/#{/,{cases:{'$S2=="':{token:`string`,next:`root.interpolatedstring`},"@default":`string`}}],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/#/,`string`]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/[^#\\'"]+/,`string`],[/['"]+/,`string`],[/@escapes/,`string.escape`],[/\./,`string.escape.invalid`],[/#{/,{token:`string.quote`,next:`root.interpolatedstring`}],[/#/,`string`]],comment:[[/[^#]+/,`comment`],[/###/,`comment`,`@pop`],[/#/,`comment`]],hereregexp:[[/[^\\\/#]+/,`regexp`],[/\\./,`regexp`],[/#.*$/,`comment`],[`///[igm]*`,{token:`regexp`,next:`@pop`}],[/\//,`regexp`]]}};export{e as conf,t as language};