@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.
- package/AGENTS.md +168 -0
- package/ARCHITECTURE.md +137 -0
- package/DESIGN.md +161 -0
- package/LICENSE +21 -0
- package/README.md +229 -0
- package/dist/assets/CodeEditor-DR7u0q7p.css +1 -0
- package/dist/assets/CodeEditor-DoaNEUaM.js +641 -0
- package/dist/assets/CodePanel-B0_2XJ-t.js +2 -0
- package/dist/assets/CodePanel-IT1secyI.css +1 -0
- package/dist/assets/CustomNodeDialog-026lzecD.js +1 -0
- package/dist/assets/CustomNodeDialog-JGYnWY6m.css +1 -0
- package/dist/assets/ExportDialog-DOq0flMV.css +1 -0
- package/dist/assets/ExportDialog-DWN4nhXI.js +358 -0
- package/dist/assets/ProjectSettings-BzT164Yx.js +2 -0
- package/dist/assets/ProjectSettings-DdO9xoQz.css +1 -0
- package/dist/assets/SettingsDialog-CeK7ytpY.css +1 -0
- package/dist/assets/SettingsDialog-DmHb1V0r.js +1 -0
- package/dist/assets/VersionHistoryDialog-CWNmHQ-P.css +1 -0
- package/dist/assets/VersionHistoryDialog-hH6VsXLX.js +3 -0
- package/dist/assets/abap-08VXUWAP.js +1 -0
- package/dist/assets/apex-BWPQTe0t.js +1 -0
- package/dist/assets/azcli-Bc_sGQ0U.js +1 -0
- package/dist/assets/bat-i0X4ZdIN.js +1 -0
- package/dist/assets/bicep-B5-_aFwp.js +2 -0
- package/dist/assets/cameligo-DMUM7wLl.js +1 -0
- package/dist/assets/cascade.jpg +0 -0
- package/dist/assets/clojure-Cm7r79vr.js +1 -0
- package/dist/assets/codicon-Brq4_Ui5.ttf +0 -0
- package/dist/assets/coffee-Ba7i2nA0.js +1 -0
- package/dist/assets/core-Bji4aZUU.js +965 -0
- package/dist/assets/cpp-C7h46wYY.js +1 -0
- package/dist/assets/csharp-BKxtCVv1.js +1 -0
- package/dist/assets/csp-bTuwJoIa.js +1 -0
- package/dist/assets/css-DIMkf-bt.js +3 -0
- package/dist/assets/css.worker-B3ciXF_0.js +93 -0
- package/dist/assets/cssMode-B6Z_Q1Kh.js +1 -0
- package/dist/assets/cypher-CVaqCwHa.js +1 -0
- package/dist/assets/dart-onAF5SnQ.js +1 -0
- package/dist/assets/dockerfile-DZFCIeNp.js +1 -0
- package/dist/assets/ecl-D05T4iGw.js +1 -0
- package/dist/assets/editor-1FQrmyyI.css +1 -0
- package/dist/assets/editor.api-jMoW_43X.js +847 -0
- package/dist/assets/editor.worker-q-txB4vs.js +30 -0
- package/dist/assets/elixir-6RTg0lbw.js +1 -0
- package/dist/assets/flow9-C5_-GSwl.js +1 -0
- package/dist/assets/freemarker2-DvvPV6m5.js +3 -0
- package/dist/assets/fsharp-C8Ef5oNN.js +1 -0
- package/dist/assets/geo-CXmCtzMM.js +2 -0
- package/dist/assets/go-C-y9NEjX.js +1 -0
- package/dist/assets/graphql-fmXr3nnJ.js +1 -0
- package/dist/assets/handlebars-B8rfuSIa.js +1 -0
- package/dist/assets/hcl-CpzslTdj.js +1 -0
- package/dist/assets/html-DyHm6JCp.js +1 -0
- package/dist/assets/html.worker-C93Ht9o9.js +506 -0
- package/dist/assets/htmlMode-E9XLWE5u.js +1 -0
- package/dist/assets/image-BUcQC7PG.js +2076 -0
- package/dist/assets/index-BXYXSdgh.js +224 -0
- package/dist/assets/index-CrNke7SW.css +1 -0
- package/dist/assets/index-client-DN_FvjN8.js +1 -0
- package/dist/assets/ini-sBoK_t0W.js +1 -0
- package/dist/assets/java-BEtHBSE6.js +1 -0
- package/dist/assets/javascript-C_bM5PCN.js +1 -0
- package/dist/assets/json.worker-B2V3pomh.js +62 -0
- package/dist/assets/jsonMode-BdyVS7G4.js +7 -0
- package/dist/assets/julia-Bri6UV-V.js +1 -0
- package/dist/assets/kotlin-BOotOW0E.js +1 -0
- package/dist/assets/legacy-DIu3XRwl.js +2 -0
- package/dist/assets/less-B9JPFI3C.js +2 -0
- package/dist/assets/lexon-CfSJPG6W.js +1 -0
- package/dist/assets/liquid-CDkn3spA.js +1 -0
- package/dist/assets/lspLanguageFeatures-AB5DMAsr.js +4 -0
- package/dist/assets/lua-CsQS60Ue.js +1 -0
- package/dist/assets/m3-D-oSqn_W.js +1 -0
- package/dist/assets/markdown-Cimd5fb3.js +1 -0
- package/dist/assets/mdx-BvH_NjDN.js +1 -0
- package/dist/assets/mips-CIPQ_RoX.js +1 -0
- package/dist/assets/msdax-DauUninz.js +1 -0
- package/dist/assets/mysql-SOo6toE5.js +1 -0
- package/dist/assets/nodeTypeUtils-CweA3NHd.js +1 -0
- package/dist/assets/objective-c-FvmIjYaQ.js +1 -0
- package/dist/assets/pascal-DrH0SRf2.js +1 -0
- package/dist/assets/pascaligo-D-ptJ9y-.js +1 -0
- package/dist/assets/perl-oz_6vUea.js +1 -0
- package/dist/assets/pgsql-DTj74zXo.js +1 -0
- package/dist/assets/php-nr791fC2.js +1 -0
- package/dist/assets/pla-CopQ2nXW.js +1 -0
- package/dist/assets/postiats-43DmfD33.js +1 -0
- package/dist/assets/powerquery-D3hlyOfw.js +1 -0
- package/dist/assets/powershell-DmHpPYUd.js +1 -0
- package/dist/assets/projectSettingsApi-C1WvIwfP.js +1 -0
- package/dist/assets/protobuf-C531GsRP.js +2 -0
- package/dist/assets/pug-Z5eAx3Zn.js +1 -0
- package/dist/assets/python-B7uii4fi.js +1 -0
- package/dist/assets/qsharp-DkqhCAOL.js +1 -0
- package/dist/assets/quill-DjZ69wL_.js +121 -0
- package/dist/assets/r-BwWrilGY.js +1 -0
- package/dist/assets/razor-Z48fWdJc.js +1 -0
- package/dist/assets/redis-ClamHrr6.js +1 -0
- package/dist/assets/redshift-DT7zqm-g.js +1 -0
- package/dist/assets/restructuredtext-BYgofb2h.js +1 -0
- package/dist/assets/ruby-DezsRK8O.js +1 -0
- package/dist/assets/rust-DdL9SqIa.js +1 -0
- package/dist/assets/sb-CcwsVR0C.js +1 -0
- package/dist/assets/scala-DHpiXF5c.js +1 -0
- package/dist/assets/scheme-BeGwcela.js +1 -0
- package/dist/assets/scss-gp-XZpBa.js +3 -0
- package/dist/assets/shell-CC2rA5mh.js +1 -0
- package/dist/assets/solidity-BEEn4gHE.js +1 -0
- package/dist/assets/sophia-CRfGWb83.js +1 -0
- package/dist/assets/sparql-D_Lu-MrJ.js +1 -0
- package/dist/assets/sql-NEE52Syq.js +1 -0
- package/dist/assets/st-DbInun42.js +1 -0
- package/dist/assets/swift-Bxkupp3x.js +1 -0
- package/dist/assets/systemverilog-Bz4Y3fRF.js +1 -0
- package/dist/assets/tcl-DISqw1ZD.js +1 -0
- package/dist/assets/ts.worker-D7T1-Ig5.js +67738 -0
- package/dist/assets/tsMode-BDgacVG4.js +11 -0
- package/dist/assets/twig-De2hgUGE.js +1 -0
- package/dist/assets/typescript-Derb6Oqa.js +1 -0
- package/dist/assets/typespec-B8J7ngcE.js +1 -0
- package/dist/assets/vb-DV3o63ZY.js +1 -0
- package/dist/assets/wgsl-DpFanUEy.js +298 -0
- package/dist/assets/workers-BtoMX_pm.js +1 -0
- package/dist/assets/xml-B1CaFSrG.js +1 -0
- package/dist/assets/yaml-HmIeA0KH.js +1 -0
- package/dist/cli/index.js +11377 -0
- package/dist/cli/index.js.map +7 -0
- package/dist/cli/runtime/io.ts +445 -0
- package/dist/cli/runtime/net.ts +19 -0
- package/dist/cli/runtime/shell.ts +46 -0
- package/dist/cli/runtime/stage.ts +132 -0
- package/dist/contracts/capabilities.d.ts +109 -0
- package/dist/contracts/capabilities.d.ts.map +1 -0
- package/dist/contracts/capabilities.js +11 -0
- package/dist/contracts/capabilities.js.map +1 -0
- package/dist/contracts/color.d.ts +67 -0
- package/dist/contracts/color.d.ts.map +1 -0
- package/dist/contracts/color.js +83 -0
- package/dist/contracts/color.js.map +1 -0
- package/dist/contracts/definition.d.ts +118 -0
- package/dist/contracts/definition.d.ts.map +1 -0
- package/dist/contracts/definition.js +2 -0
- package/dist/contracts/definition.js.map +1 -0
- package/dist/contracts/document.d.ts +50 -0
- package/dist/contracts/document.d.ts.map +1 -0
- package/dist/contracts/document.js +2 -0
- package/dist/contracts/document.js.map +1 -0
- package/dist/contracts/geometry.d.ts +301 -0
- package/dist/contracts/geometry.d.ts.map +1 -0
- package/dist/contracts/geometry.js +604 -0
- package/dist/contracts/geometry.js.map +1 -0
- package/dist/contracts/index.d.ts +8 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +8 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/schema.d.ts +6 -0
- package/dist/contracts/schema.d.ts.map +1 -0
- package/dist/contracts/schema.js +85 -0
- package/dist/contracts/schema.js.map +1 -0
- package/dist/contracts/validate.d.ts +13 -0
- package/dist/contracts/validate.d.ts.map +1 -0
- package/dist/contracts/validate.js +202 -0
- package/dist/contracts/validate.js.map +1 -0
- package/dist/contracts/values.d.ts +100 -0
- package/dist/contracts/values.d.ts.map +1 -0
- package/dist/contracts/values.js +59 -0
- package/dist/contracts/values.js.map +1 -0
- package/dist/graphs/default-orig.cascade +128 -0
- package/dist/graphs/default.cascade +21 -0
- package/dist/index.html +19 -0
- package/dist/runtime/browser.d.ts +3 -0
- package/dist/runtime/browser.d.ts.map +1 -0
- package/dist/runtime/browser.js +12 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/builtins/core/index.d.ts +9 -0
- package/dist/runtime/builtins/core/index.d.ts.map +1 -0
- package/dist/runtime/builtins/core/index.js +21 -0
- package/dist/runtime/builtins/core/index.js.map +1 -0
- package/dist/runtime/builtins/core/random.d.ts +66 -0
- package/dist/runtime/builtins/core/random.d.ts.map +1 -0
- package/dist/runtime/builtins/core/random.js +46 -0
- package/dist/runtime/builtins/core/random.js.map +1 -0
- package/dist/runtime/builtins/core/remap.d.ts +105 -0
- package/dist/runtime/builtins/core/remap.d.ts.map +1 -0
- package/dist/runtime/builtins/core/remap.js +43 -0
- package/dist/runtime/builtins/core/remap.js.map +1 -0
- package/dist/runtime/builtins/core/routing.d.ts +117 -0
- package/dist/runtime/builtins/core/routing.d.ts.map +1 -0
- package/dist/runtime/builtins/core/routing.js +114 -0
- package/dist/runtime/builtins/core/routing.js.map +1 -0
- package/dist/runtime/builtins/core/structural.d.ts +86 -0
- package/dist/runtime/builtins/core/structural.d.ts.map +1 -0
- package/dist/runtime/builtins/core/structural.js +63 -0
- package/dist/runtime/builtins/core/structural.js.map +1 -0
- package/dist/runtime/builtins/geo/copyToPoints.d.ts +58 -0
- package/dist/runtime/builtins/geo/copyToPoints.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/copyToPoints.js +35 -0
- package/dist/runtime/builtins/geo/copyToPoints.js.map +1 -0
- package/dist/runtime/builtins/geo/definitions.d.ts +526 -0
- package/dist/runtime/builtins/geo/definitions.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/definitions.js +182 -0
- package/dist/runtime/builtins/geo/definitions.js.map +1 -0
- package/dist/runtime/builtins/geo/generators.d.ts +94 -0
- package/dist/runtime/builtins/geo/generators.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/generators.js +41 -0
- package/dist/runtime/builtins/geo/generators.js.map +1 -0
- package/dist/runtime/builtins/geo/index.d.ts +23 -0
- package/dist/runtime/builtins/geo/index.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/index.js +35 -0
- package/dist/runtime/builtins/geo/index.js.map +1 -0
- package/dist/runtime/builtins/geo/merge.d.ts +40 -0
- package/dist/runtime/builtins/geo/merge.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/merge.js +24 -0
- package/dist/runtime/builtins/geo/merge.js.map +1 -0
- package/dist/runtime/builtins/geo/namespace.d.ts +15 -0
- package/dist/runtime/builtins/geo/namespace.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/namespace.js +17 -0
- package/dist/runtime/builtins/geo/namespace.js.map +1 -0
- package/dist/runtime/builtins/geo/svgExport.d.ts +130 -0
- package/dist/runtime/builtins/geo/svgExport.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/svgExport.js +50 -0
- package/dist/runtime/builtins/geo/svgExport.js.map +1 -0
- package/dist/runtime/builtins/geo/transform.d.ts +60 -0
- package/dist/runtime/builtins/geo/transform.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/transform.js +32 -0
- package/dist/runtime/builtins/geo/transform.js.map +1 -0
- package/dist/runtime/builtins/index.d.ts +9 -0
- package/dist/runtime/builtins/index.d.ts.map +1 -0
- package/dist/runtime/builtins/index.js +16 -0
- package/dist/runtime/builtins/index.js.map +1 -0
- package/dist/runtime/definition/architecture.d.ts +8 -0
- package/dist/runtime/definition/architecture.d.ts.map +1 -0
- package/dist/runtime/definition/architecture.js +112 -0
- package/dist/runtime/definition/architecture.js.map +1 -0
- package/dist/runtime/definition/extract.d.ts +12 -0
- package/dist/runtime/definition/extract.d.ts.map +1 -0
- package/dist/runtime/definition/extract.js +151 -0
- package/dist/runtime/definition/extract.js.map +1 -0
- package/dist/runtime/error.d.ts +8 -0
- package/dist/runtime/error.d.ts.map +1 -0
- package/dist/runtime/error.js +11 -0
- package/dist/runtime/error.js.map +1 -0
- package/dist/runtime/geometry/attributes.d.ts +65 -0
- package/dist/runtime/geometry/attributes.d.ts.map +1 -0
- package/dist/runtime/geometry/attributes.js +201 -0
- package/dist/runtime/geometry/attributes.js.map +1 -0
- package/dist/runtime/geometry/builder.d.ts +57 -0
- package/dist/runtime/geometry/builder.d.ts.map +1 -0
- package/dist/runtime/geometry/builder.js +153 -0
- package/dist/runtime/geometry/builder.js.map +1 -0
- package/dist/runtime/geometry/copy.d.ts +36 -0
- package/dist/runtime/geometry/copy.d.ts.map +1 -0
- package/dist/runtime/geometry/copy.js +68 -0
- package/dist/runtime/geometry/copy.js.map +1 -0
- package/dist/runtime/geometry/generate.d.ts +43 -0
- package/dist/runtime/geometry/generate.d.ts.map +1 -0
- package/dist/runtime/geometry/generate.js +76 -0
- package/dist/runtime/geometry/generate.js.map +1 -0
- package/dist/runtime/geometry/groups.d.ts +18 -0
- package/dist/runtime/geometry/groups.d.ts.map +1 -0
- package/dist/runtime/geometry/groups.js +69 -0
- package/dist/runtime/geometry/groups.js.map +1 -0
- package/dist/runtime/geometry/index.d.ts +23 -0
- package/dist/runtime/geometry/index.d.ts.map +1 -0
- package/dist/runtime/geometry/index.js +23 -0
- package/dist/runtime/geometry/index.js.map +1 -0
- package/dist/runtime/geometry/matrix.d.ts +26 -0
- package/dist/runtime/geometry/matrix.d.ts.map +1 -0
- package/dist/runtime/geometry/matrix.js +27 -0
- package/dist/runtime/geometry/matrix.js.map +1 -0
- package/dist/runtime/geometry/merge.d.ts +33 -0
- package/dist/runtime/geometry/merge.d.ts.map +1 -0
- package/dist/runtime/geometry/merge.js +185 -0
- package/dist/runtime/geometry/merge.js.map +1 -0
- package/dist/runtime/geometry/primitives.d.ts +41 -0
- package/dist/runtime/geometry/primitives.d.ts.map +1 -0
- package/dist/runtime/geometry/primitives.js +131 -0
- package/dist/runtime/geometry/primitives.js.map +1 -0
- package/dist/runtime/geometry/promote.d.ts +44 -0
- package/dist/runtime/geometry/promote.d.ts.map +1 -0
- package/dist/runtime/geometry/promote.js +203 -0
- package/dist/runtime/geometry/promote.js.map +1 -0
- package/dist/runtime/geometry/resample.d.ts +29 -0
- package/dist/runtime/geometry/resample.d.ts.map +1 -0
- package/dist/runtime/geometry/resample.js +165 -0
- package/dist/runtime/geometry/resample.js.map +1 -0
- package/dist/runtime/geometry/svg.d.ts +91 -0
- package/dist/runtime/geometry/svg.d.ts.map +1 -0
- package/dist/runtime/geometry/svg.js +216 -0
- package/dist/runtime/geometry/svg.js.map +1 -0
- package/dist/runtime/geometry/transform.d.ts +18 -0
- package/dist/runtime/geometry/transform.d.ts.map +1 -0
- package/dist/runtime/geometry/transform.js +56 -0
- package/dist/runtime/geometry/transform.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/node.d.ts +4 -0
- package/dist/runtime/node.d.ts.map +1 -0
- package/dist/runtime/node.js +12 -0
- package/dist/runtime/node.js.map +1 -0
- package/dist/runtime/runtime.d.ts +3 -0
- package/dist/runtime/runtime.d.ts.map +1 -0
- package/dist/runtime/runtime.js +1198 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/runtime/types.d.ts +241 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/shell.d.ts +8 -0
- package/dist/shell.js +54 -0
- package/dist/shell.js.map +7 -0
- package/dist/stage.d.ts +7 -0
- package/dist/stage.js +84 -0
- package/dist/stage.js.map +7 -0
- package/dist/studio/panel.d.ts +48 -0
- package/doc/PROJECT_AUTHORING.md +360 -0
- 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};
|