@velarscript/desktop 0.10.1
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/LICENSE +201 -0
- package/README.md +247 -0
- package/dist/build.d.ts +53 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +351 -0
- package/dist/build.js.map +1 -0
- package/dist/compiler.d.ts +4 -0
- package/dist/compiler.d.ts.map +1 -0
- package/dist/compiler.js +1967 -0
- package/dist/compiler.js.map +1 -0
- package/dist/config.d.ts +33 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +140 -0
- package/dist/config.js.map +1 -0
- package/dist/host.d.ts +3 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +71 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/package-host.d.ts +3 -0
- package/dist/package-host.d.ts.map +1 -0
- package/dist/package-host.js +20 -0
- package/dist/package-host.js.map +1 -0
- package/dist/test-runtime.d.ts +16 -0
- package/dist/test-runtime.d.ts.map +1 -0
- package/dist/test-runtime.js +475 -0
- package/dist/test-runtime.js.map +1 -0
- package/dist/worker.js +546 -0
- package/native/macos/VelarDesktopHost.swift +1258 -0
- package/native/macos/VelarScript.icns +0 -0
- package/native/macos/VelarTerminalHost.swift +203 -0
- package/native/node/project-transactions.js +157 -0
- package/native/node/worker.js +2220 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+E,MAAM,uBAAuB,CAAC;AAChI,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC7H,OAAO,EAAE,sBAAsB,IAAI,oBAAoB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACtH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAA2B,MAAM,aAAa,CAAC;AAExG,MAAM,UAAU,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACjD,MAAM,QAAQ,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7C,MAAM,UAAU,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACjD,MAAM,QAAQ,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7C,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAClD,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAClD,MAAM,cAAc,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAExE,SAAS,YAAY,CAAC,UAAgC,EAAE,MAAiB,EAAE,kBAAkB,GAAG,UAAU,CAAC,MAAM;IAC/G,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,eAAe,CACtB,OAAuC,EACvC,UAAU,GAAwD,IAAI,GAAG,EAAE,EAC3E,mBAAmB,GAAgC,IAAI,GAAG,EAAE,EAC5D,KAAK,GAAkC,IAAI,GAAG,EAAE;IAEhD,OAAO;QACL,OAAO;QACP,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,eAAe,EAAE,IAAI,GAAG,EAAE;QAC1B,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,UAAU;QACV,mBAAmB;QACnB,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,KAAK;QACL,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,KAAK,EAAE,EAAE;QACT,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,aAAa,EAAE,IAAI,GAAG,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAC5E,qEAAqE;AACrE,4EAA4E;AAC5E,4EAA4E;AAC5E,mDAAmD;AACnD,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B1C,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,sBAAsB,GAAG,mCAAmC,CAAC;AACnE,MAAM,kBAAkB,GAAc,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;AAClH,MAAM,uBAAuB,GAAG,oCAAoC,CAAC;AACrE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACpD,MAAM,mBAAmB,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;AACpH,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AAC7D,MAAM,eAAe,GAAc,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;AACzG,MAAM,0BAA0B,GAAG,uCAAuC,CAAC;AAC3E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACxG,MAAM,sBAAsB,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,0BAA0B,EAAE,CAAC;AAC7H,MAAM,gCAAgC,GAAG,6CAA6C,CAAC;AACvF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChE,MAAM,4BAA4B,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,gCAAgC,EAAE,CAAC;AAC/I,MAAM,qBAAqB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB;QAC5F,CAAC,MAAM,EAAE,kBAAkB,CAAC;QAC5B,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC9B,CAAC,QAAQ,EAAE,UAAU,CAAC;QACtB,CAAC,QAAQ,EAAE,UAAU,CAAC;KACvB,CAAC,EAAE,CAAC;AACL,MAAM,qBAAqB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB;QAC5F,CAAC,SAAS,EAAE,4BAA4B,CAAC;QACzC,CAAC,MAAM,EAAE,UAAU,CAAC;KACrB,CAAC,EAAE,CAAC;AACL,MAAM,sBAAsB,GAAc;IACxC,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,IAAI,GAAG,CAAoB,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7F,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;CACvD,CAAC;AACF,MAAM,sBAAsB,GAAG,mCAAmC,CAAC;AACnE,MAAM,kBAAkB,GAAc,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;AAClH,MAAM,8BAA8B,GAAG,2CAA2C,CAAC;AACnF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AACxI,MAAM,0BAA0B,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,8BAA8B,EAAE,CAAC;AACzI,MAAM,yBAAyB,GAAG,sCAAsC,CAAC;AACzE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,MAAM,qBAAqB,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC;AAC1H,MAAM,uBAAuB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB;QAC9F,CAAC,MAAM,EAAE,UAAU,CAAC;QACpB,CAAC,MAAM,EAAE,kBAAkB,CAAC;QAC5B,CAAC,MAAM,EAAE,kBAAkB,CAAC;QAC5B,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAC1B,CAAC,UAAU,EAAE,kBAAkB,CAAC;QAChC,CAAC,QAAQ,EAAE,kBAAkB,CAAC;KAC/B,CAAC,EAAE,CAAC;AACL,MAAM,sBAAsB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB;QAC7F,CAAC,SAAS,EAAE,UAAU,CAAC;QACvB,CAAC,YAAY,EAAE,UAAU,CAAC;QAC1B,CAAC,MAAM,EAAE,UAAU,CAAC;QACpB,CAAC,cAAc,EAAE,kBAAkB,CAAC;QACpC,CAAC,MAAM,EAAE,UAAU,CAAC;QACpB,CAAC,cAAc,EAAE,UAAU,CAAC;QAC5B,CAAC,MAAM,EAAE,qBAAqB,CAAC;QAC/B,CAAC,WAAW,EAAE,kBAAkB,CAAC;KAClC,CAAC,EAAE,CAAC;AACL,MAAM,yBAAyB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB;QAChG,CAAC,MAAM,EAAE,UAAU,CAAC;QACpB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC9B,CAAC,OAAO,EAAE,kBAAkB,CAAC;KAC9B,CAAC,EAAE,CAAC;AACL,MAAM,iBAAiB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB;QACxF,CAAC,eAAe,EAAE,UAAU,CAAC;QAC7B,CAAC,UAAU,EAAE,UAAU,CAAC;QACxB,CAAC,WAAW,EAAE,0BAA0B,CAAC;QACzC,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC9B,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAC/D,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAC9D,CAAC,cAAc,EAAE,cAAc,CAAC;QAChC,CAAC,MAAM,EAAE,UAAU,CAAC;QACpB,CAAC,cAAc,EAAE,UAAU,CAAC;QAC5B,CAAC,MAAM,EAAE,qBAAqB,CAAC;QAC/B,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;QACnE,CAAC,WAAW,EAAE,UAAU,CAAC;QACzB,CAAC,WAAW,EAAE,UAAU,CAAC;QACzB,CAAC,WAAW,EAAE,kBAAkB,CAAC;KAClC,CAAC,EAAE,CAAC;AACL,MAAM,qBAAqB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB;QAC5F,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACzD,CAAC,WAAW,EAAE,QAAQ,CAAC;KACxB,CAAC,EAAE,CAAC;AACL,MAAM,uBAAuB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB;QAC9F,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACzD,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACrB,CAAC,EAAE,CAAC;AACL,MAAM,uBAAuB,GAAG,oCAAoC,CAAC;AACrE,MAAM,mBAAmB,GAAc,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;AACrH,MAAM,kBAAkB,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAoB,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AACrH,MAAM,mBAAmB,GAAc;IACrC,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,IAAI,GAAG,CAAoB,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACnF,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CAC7C,CAAC;AACF,MAAM,sBAAsB,GAAG,eAAe,CAAC,IAAI,GAAG,CAAC;IACrD,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAClE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAClI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC5D,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,0BAA0B,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC9I,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,gCAAgC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACtK,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAClE,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,8BAA8B,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IAC9J,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC1I,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IACpE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACnD,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3E,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,CAAC,0BAA0B,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9F,CAAC,wBAAwB,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC5F,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACpF,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACpF,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,sBAAsB,EAAE,cAAc,EAAE,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;IACpJ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;CAC1G,CAAC,EAAE,IAAI,GAAG,CAAC;IACV,CAAC,gBAAgB,EAAE,IAAI,GAAG,CAAC;YACzB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1E,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACxE,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SAClE,CAAC,CAAC;IACL,CAAC,aAAa,EAAE,IAAI,GAAG,CAAC;YACtB,CAAC,KAAK,EAAE,UAAU,CAAC;YACnB,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAC7E,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SACjE,CAAC,CAAC;IACH,CAAC,gBAAgB,EAAE,IAAI,GAAG,CAAC;YACzB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC9F,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACpF,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACvF,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SAClE,CAAC,CAAC;IACH,CAAC,iBAAiB,EAAE,IAAI,GAAG,CAAC;YAC1B,CAAC,KAAK,EAAE,UAAU,CAAC;YACnB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3E,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxF,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC1E,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC1E,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SAClE,CAAC,CAAC;CACJ,CAAC,EAAE,IAAI,GAAG,CAAC;IACV,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAC1C,CAAC,aAAa,EAAE,mBAAmB,CAAC;IACpC,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAC1C,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;CAC7C,CAAC,EAAE,IAAI,GAAG,CAAC;IACV,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACrF,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,0BAA0B,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC9F,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,gCAAgC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IAChH,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,8BAA8B,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IAC1G,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC5F,CAAC,CAAC,CAAC;AAEJ,MAAM,0BAA0B,GAAG,eAAe,CAAC,IAAI,GAAG,CAAC;IACzD,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1F,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/G,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IACpG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;CACjF,CAAC,CAAC,CAAC;AAEJ,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC;AACxE,MAAM,uBAAuB,GAAoB,oBAAoB,CAAC;AAEtE,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAA;EACtC,wBAAwB;EACxB,2BAA2B;EAC3B,kBAAkB;EAClB,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAikB3B,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ErC,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;EACpC,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuMzB,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;EAClC,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyKzB,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;EACvC,wBAAwB;EACxB,2BAA2B;EAC3B,kBAAkB;EAClB,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwO3B,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;EACnC,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CzB,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;EACpC,yBAAyB;EACzB,2BAA2B;EAC3B,kBAAkB;EAClB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyVzB,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,OAAQ,CAAC,UAAU,CAAC,CAAC;AAClF,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;AACrE,uBAAuB,CAAC,GAAG,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;AAC9E,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,CAAC;AAC/E,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,CAAC;AACnF,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;AACtE,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,CAAC;AACnF,uBAAuB,CAAC,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,CAAC;AACjF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,OAAQ,CAAC,OAAO,CAAC,CAAC;AAC5E,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,OAAQ,CAAC,YAAY,CAAC,CAAC;AACtF,oBAAoB,CAAC,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;AACjE,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;AACpE,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACxD,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAC5D,oBAAoB,CAAC,GAAG,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;AAClE,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAC5D,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACrE,EAAE,EAAE,sBAAsB;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,eAAe,EAAE,CAAC;QAClB,UAAU,EAAE,yBAAyB;QACrC,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,kBAAkB,EAAE,oBAAoB,CAAC,QAAS,CAAC,UAAU;YAC7D,mBAAmB,EAAE,sBAAsB;SAC5C,CAAC;KACH,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,kEAAkE;IAClE,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,OAAO,EAAE,oBAAoB,CAAC,OAAQ;IACtC,MAAM,EAAE,oBAAoB,CAAC,MAAO;IACpC,MAAM,EAAE,oBAAoB,CAAC,MAAO;IACpC,QAAQ,EAAE,oBAAoB,CAAC,QAAS;IACxC,QAAQ,EAAE,oBAAoB,CAAC,QAAS;IACxC,UAAU,EAAE,oBAAoB,CAAC,UAAW;IAC5C,QAAQ,EAAE,oBAAoB,CAAC,QAAS;IACxC,MAAM,EAAE,oBAAoB,CAAC,MAAO;IACpC,UAAU,EAAE,oBAAoB,CAAC,UAAW;IAC5C,aAAa,EAAE,oBAAoB,CAAC,aAAc;IAClD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,UAAU,EAAE,yBAAyB;QACrC,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,oBAAoB;QAC7B,YAAY,EAAE,yBAAyB;QACvC,MAAM,CAAC,SAAiB,EAAE,aAAsB;YAC9C,IAAI,SAAS,KAAK,eAAe;gBAAE,OAAO,qBAAqB,CAAC;YAChE,IAAI,SAAS,KAAK,oBAAoB;gBAAE,OAAO,mBAAmB,CAAC;YACnE,IAAI,SAAS,KAAK,UAAU;gBAAE,OAAO,iBAAiB,CAAC;YACvD,IAAI,SAAS,KAAK,YAAY;gBAAE,OAAO,mBAAmB,CAAC;YAC3D,IAAI,SAAS,KAAK,eAAe;gBAAE,OAAO,sBAAsB,CAAC;YACjE,IAAI,SAAS,KAAK,YAAY;gBAAE,OAAO,mBAAmB,CAAC;YAC3D,MAAM,MAAM,GAAG,aAAmC,CAAC;YACnD,OAAO,eAAe,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACjH,CAAC;KACF,CAAC;CACH,CAAC,CAAC;AAEH,OAAO,EAAE,qBAAqB,EAA2B,MAAM,aAAa,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const VELAR_DESKTOP_API_VERSION = "0.10";
|
|
2
|
+
export declare const DEFAULT_DESKTOP_SIZE_BUDGET_BYTES: number;
|
|
3
|
+
export interface DesktopWindowConfig {
|
|
4
|
+
readonly title: string;
|
|
5
|
+
readonly width: number;
|
|
6
|
+
readonly height: number;
|
|
7
|
+
readonly minWidth: number;
|
|
8
|
+
readonly minHeight: number;
|
|
9
|
+
}
|
|
10
|
+
export interface DesktopPermissionConfig {
|
|
11
|
+
readonly files: readonly ("app-data" | "project")[];
|
|
12
|
+
readonly processes: readonly string[];
|
|
13
|
+
readonly terminal: boolean;
|
|
14
|
+
readonly network: readonly string[];
|
|
15
|
+
readonly environment: readonly string[];
|
|
16
|
+
readonly secrets: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
export interface VelarDesktopConfig {
|
|
19
|
+
readonly productName: string;
|
|
20
|
+
readonly identifier: string;
|
|
21
|
+
readonly window: DesktopWindowConfig;
|
|
22
|
+
readonly permissions: DesktopPermissionConfig;
|
|
23
|
+
readonly build: {
|
|
24
|
+
readonly outDir: string;
|
|
25
|
+
readonly sizeBudgetBytes: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export declare const velarProjectExtension: Readonly<{
|
|
29
|
+
id: "@velarscript/desktop";
|
|
30
|
+
manifestKey: "desktop";
|
|
31
|
+
parse(value: unknown, manifestPath: string): VelarDesktopConfig;
|
|
32
|
+
}>;
|
|
33
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAKhD,eAAO,MAAM,iCAAiC,QAAmB,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KAClC,CAAC;CACH;AAED,eAAO,MAAM,qBAAqB;;;iBAGnB,OAAO,gBAAgB,MAAM,GAAG,kBAAkB;EAG/D,CAAC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export const VELAR_DESKTOP_API_VERSION = "0.10";
|
|
2
|
+
// The complete Project transaction owner adds about 4.39 MiB to the mandatory
|
|
3
|
+
// capability Worker. 32 MiB is the current default accounting threshold, not
|
|
4
|
+
// an architectural ceiling: projects may raise it explicitly when their
|
|
5
|
+
// measured application payload justifies the increase.
|
|
6
|
+
export const DEFAULT_DESKTOP_SIZE_BUDGET_BYTES = 32 * 1024 * 1024;
|
|
7
|
+
export const velarProjectExtension = Object.freeze({
|
|
8
|
+
id: "@velarscript/desktop",
|
|
9
|
+
manifestKey: "desktop",
|
|
10
|
+
parse(value, manifestPath) {
|
|
11
|
+
return desktopConfig(value, manifestPath);
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
function desktopConfig(value, manifestPath) {
|
|
15
|
+
const desktop = objectField(value, "desktop", manifestPath);
|
|
16
|
+
knownFields(desktop, new Set(["productName", "identifier", "window", "permissions", "build"]), "desktop", manifestPath);
|
|
17
|
+
const productName = stringField(desktop.productName, "desktop.productName");
|
|
18
|
+
if (!/^[^/:\0]{1,80}$/u.test(productName) || productName === "." || productName === "..") {
|
|
19
|
+
throw new Error(`${manifestPath}: 'desktop.productName' must be a safe application name of at most 80 characters`);
|
|
20
|
+
}
|
|
21
|
+
const identifier = stringField(desktop.identifier, "desktop.identifier");
|
|
22
|
+
if (!/^[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)+$/u.test(identifier)) {
|
|
23
|
+
throw new Error(`${manifestPath}: 'desktop.identifier' must be a reverse-DNS application identifier`);
|
|
24
|
+
}
|
|
25
|
+
return Object.freeze({
|
|
26
|
+
productName,
|
|
27
|
+
identifier,
|
|
28
|
+
window: windowConfig(desktop.window, productName, manifestPath),
|
|
29
|
+
permissions: permissionConfig(desktop.permissions, manifestPath),
|
|
30
|
+
build: buildConfig(desktop.build, manifestPath),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function windowConfig(value, productName, manifestPath) {
|
|
34
|
+
const window = value === undefined ? {} : objectField(value, "desktop.window", manifestPath);
|
|
35
|
+
knownFields(window, new Set(["title", "width", "height", "minWidth", "minHeight"]), "desktop.window", manifestPath);
|
|
36
|
+
const width = integerField(window.width, "desktop.window.width", 1180, 480, 8192);
|
|
37
|
+
const height = integerField(window.height, "desktop.window.height", 760, 320, 8192);
|
|
38
|
+
return Object.freeze({
|
|
39
|
+
title: window.title === undefined ? productName : stringField(window.title, "desktop.window.title"),
|
|
40
|
+
width,
|
|
41
|
+
height,
|
|
42
|
+
minWidth: integerField(window.minWidth, "desktop.window.minWidth", 720, 320, width),
|
|
43
|
+
minHeight: integerField(window.minHeight, "desktop.window.minHeight", 520, 240, height),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function permissionConfig(value, manifestPath) {
|
|
47
|
+
const permissions = value === undefined ? {} : objectField(value, "desktop.permissions", manifestPath);
|
|
48
|
+
knownFields(permissions, new Set(["files", "processes", "terminal", "network", "environment", "secrets"]), "desktop.permissions", manifestPath);
|
|
49
|
+
const files = stringList(permissions.files, "desktop.permissions.files", 3);
|
|
50
|
+
const validFileScopes = new Set(["app-data", "project"]);
|
|
51
|
+
for (const scope of files)
|
|
52
|
+
if (!validFileScopes.has(scope))
|
|
53
|
+
throw new Error(`${manifestPath}: unknown desktop file scope '${scope}'`);
|
|
54
|
+
const processes = stringList(permissions.processes, "desktop.permissions.processes", 64);
|
|
55
|
+
for (const command of processes) {
|
|
56
|
+
if (!/^[A-Za-z0-9._+-]{1,128}$/u.test(command))
|
|
57
|
+
throw new Error(`${manifestPath}: desktop process permissions must be executable names, not paths or shell text`);
|
|
58
|
+
}
|
|
59
|
+
const terminal = booleanField(permissions.terminal, "desktop.permissions.terminal", false);
|
|
60
|
+
const network = stringList(permissions.network, "desktop.permissions.network", 64);
|
|
61
|
+
for (const origin of network) {
|
|
62
|
+
let parsed;
|
|
63
|
+
try {
|
|
64
|
+
parsed = new URL(origin);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
throw new Error(`${manifestPath}: desktop network permission '${origin}' must be an absolute origin`);
|
|
68
|
+
}
|
|
69
|
+
const loopback = parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1" || parsed.hostname === "[::1]";
|
|
70
|
+
if ((parsed.protocol !== "https:" && !(parsed.protocol === "http:" && loopback))
|
|
71
|
+
|| parsed.username || parsed.password || parsed.pathname !== "/" || parsed.search || parsed.hash) {
|
|
72
|
+
throw new Error(`${manifestPath}: desktop network permission '${origin}' must be an HTTPS origin or exact loopback origin`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const environment = stringList(permissions.environment, "desktop.permissions.environment", 64);
|
|
76
|
+
for (const name of environment) {
|
|
77
|
+
if (!/^[A-Z_][A-Z0-9_]{0,127}$/u.test(name))
|
|
78
|
+
throw new Error(`${manifestPath}: desktop environment permissions must be uppercase variable names`);
|
|
79
|
+
}
|
|
80
|
+
const secrets = stringList(permissions.secrets, "desktop.permissions.secrets", 64);
|
|
81
|
+
for (const name of secrets) {
|
|
82
|
+
if (!/^[A-Z_][A-Z0-9_]{0,127}$/u.test(name))
|
|
83
|
+
throw new Error(`${manifestPath}: desktop secret permissions must be uppercase variable names`);
|
|
84
|
+
if (environment.includes(name))
|
|
85
|
+
throw new Error(`${manifestPath}: desktop secret '${name}' cannot also be exposed through desktop.permissions.environment`);
|
|
86
|
+
}
|
|
87
|
+
return Object.freeze({ files: files, processes, terminal, network, environment, secrets });
|
|
88
|
+
}
|
|
89
|
+
function buildConfig(value, manifestPath) {
|
|
90
|
+
const build = value === undefined ? {} : objectField(value, "desktop.build", manifestPath);
|
|
91
|
+
knownFields(build, new Set(["outDir", "sizeBudgetBytes"]), "desktop.build", manifestPath);
|
|
92
|
+
const outDir = build.outDir === undefined ? "dist/desktop" : stringField(build.outDir, "desktop.build.outDir");
|
|
93
|
+
if (outDir.startsWith("/") || outDir.split(/[\\/]/u).includes(".."))
|
|
94
|
+
throw new Error(`${manifestPath}: 'desktop.build.outDir' must stay inside the project`);
|
|
95
|
+
return Object.freeze({
|
|
96
|
+
outDir,
|
|
97
|
+
sizeBudgetBytes: integerField(build.sizeBudgetBytes, "desktop.build.sizeBudgetBytes", DEFAULT_DESKTOP_SIZE_BUDGET_BYTES, 64 * 1024, 1024 * 1024 * 1024),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function stringList(value, field, maximum) {
|
|
101
|
+
if (value === undefined)
|
|
102
|
+
return Object.freeze([]);
|
|
103
|
+
if (!Array.isArray(value) || value.length > maximum || value.some((item) => typeof item !== "string" || !item || item.includes("\0"))) {
|
|
104
|
+
throw new Error(`'${field}' must be a list of at most ${maximum} non-empty strings`);
|
|
105
|
+
}
|
|
106
|
+
if (new Set(value).size !== value.length)
|
|
107
|
+
throw new Error(`'${field}' cannot contain duplicates`);
|
|
108
|
+
return Object.freeze([...value]);
|
|
109
|
+
}
|
|
110
|
+
function objectField(value, field, manifestPath) {
|
|
111
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
112
|
+
throw new Error(`${manifestPath}: '${field}' must be an object`);
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
function stringField(value, field) {
|
|
116
|
+
if (typeof value !== "string" || value.trim().length === 0 || value.includes("\0"))
|
|
117
|
+
throw new Error(`'${field}' must be a non-empty string without NUL bytes`);
|
|
118
|
+
return value;
|
|
119
|
+
}
|
|
120
|
+
function integerField(value, field, fallback, minimum, maximum) {
|
|
121
|
+
if (value === undefined)
|
|
122
|
+
return fallback;
|
|
123
|
+
if (!Number.isSafeInteger(value) || value < minimum || value > maximum) {
|
|
124
|
+
throw new Error(`'${field}' must be an integer from ${minimum} through ${maximum}`);
|
|
125
|
+
}
|
|
126
|
+
return value;
|
|
127
|
+
}
|
|
128
|
+
function booleanField(value, field, fallback) {
|
|
129
|
+
if (value === undefined)
|
|
130
|
+
return fallback;
|
|
131
|
+
if (typeof value !== "boolean")
|
|
132
|
+
throw new Error(`'${field}' must be a boolean`);
|
|
133
|
+
return value;
|
|
134
|
+
}
|
|
135
|
+
function knownFields(value, allowed, field, manifestPath) {
|
|
136
|
+
for (const key of Object.keys(value))
|
|
137
|
+
if (!allowed.has(key))
|
|
138
|
+
throw new Error(`${manifestPath}: unknown '${field}' field '${key}'`);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/host.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAK9C,eAAO,MAAM,kBAAkB,EAAE,sBAmD/B,CAAC"}
|
package/dist/host.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { VELAR_FRAMEWORK_HOST_PROTOCOL_VERSION, } from "@velarscript/compiler/framework-host";
|
|
2
|
+
import { createWebArtifacts, createWebErrorDocument, velarFrameworkHost as webHost, webStaticDeployment } from "@velarscript/web/host";
|
|
3
|
+
import { VELAR_DESKTOP_API_VERSION } from "./config.js";
|
|
4
|
+
import { desktopBrowserTestController } from "./test-runtime.js";
|
|
5
|
+
export const velarFrameworkHost = Object.freeze({
|
|
6
|
+
protocolVersion: VELAR_FRAMEWORK_HOST_PROTOCOL_VERSION,
|
|
7
|
+
id: "@velarscript/desktop",
|
|
8
|
+
capability: "desktop",
|
|
9
|
+
displayName: "Desktop",
|
|
10
|
+
target: "browser",
|
|
11
|
+
apiVersion: VELAR_DESKTOP_API_VERSION,
|
|
12
|
+
artifactKind: "velar-desktop-renderer",
|
|
13
|
+
base() {
|
|
14
|
+
return "/";
|
|
15
|
+
},
|
|
16
|
+
sourceMaps() {
|
|
17
|
+
return false;
|
|
18
|
+
},
|
|
19
|
+
prepareStyles(_config, styles) {
|
|
20
|
+
return webHost.prepareStyles?.(webConfig(_config), styles) ?? styles;
|
|
21
|
+
},
|
|
22
|
+
createArtifacts(input) {
|
|
23
|
+
return createWebArtifacts({ ...input, config: webConfig(input.config) });
|
|
24
|
+
},
|
|
25
|
+
createErrorDocument(input) {
|
|
26
|
+
return createWebErrorDocument({ ...input, config: webConfig(input.config) });
|
|
27
|
+
},
|
|
28
|
+
staticDeployment(config) {
|
|
29
|
+
return webStaticDeployment(webConfig(config));
|
|
30
|
+
},
|
|
31
|
+
browserTests: Object.freeze({
|
|
32
|
+
sourceSuffix: ".browser.test.vel",
|
|
33
|
+
runtimeKey: "velar.browser.test.v1",
|
|
34
|
+
createController(config) {
|
|
35
|
+
return desktopBrowserTestController(config);
|
|
36
|
+
},
|
|
37
|
+
}),
|
|
38
|
+
validateProject(input) {
|
|
39
|
+
const config = input.config;
|
|
40
|
+
const imports = new Set(input.modules.flatMap((module) => module.imports));
|
|
41
|
+
const failures = [];
|
|
42
|
+
if (imports.has("velar/fs") && config.permissions.files.length === 0) {
|
|
43
|
+
failures.push("Desktop source imports 'velar/fs' but desktop.permissions.files grants no file root");
|
|
44
|
+
}
|
|
45
|
+
if (imports.has("velar/process") && config.permissions.processes.length === 0) {
|
|
46
|
+
failures.push("Desktop source imports 'velar/process' but desktop.permissions.processes grants no executable");
|
|
47
|
+
}
|
|
48
|
+
if (imports.has("velar/http") && config.permissions.network.length === 0) {
|
|
49
|
+
failures.push("Desktop source imports 'velar/http' but desktop.permissions.network grants no origin");
|
|
50
|
+
}
|
|
51
|
+
if (imports.has("velar/env") && config.permissions.environment.length === 0) {
|
|
52
|
+
failures.push("Desktop source imports 'velar/env' but desktop.permissions.environment grants no variable");
|
|
53
|
+
}
|
|
54
|
+
return Object.freeze(failures);
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
function webConfig(value) {
|
|
58
|
+
const config = value;
|
|
59
|
+
return {
|
|
60
|
+
title: config.window.title,
|
|
61
|
+
base: "/",
|
|
62
|
+
// A desktop window has no browser tab; its icon is the packaged
|
|
63
|
+
// application icon, not a document `rel="icon"`.
|
|
64
|
+
icon: null,
|
|
65
|
+
publicConfig: Object.freeze({ desktop: Object.freeze({ identifier: config.identifier }) }),
|
|
66
|
+
build: Object.freeze({ sourceMaps: false }),
|
|
67
|
+
security: Object.freeze({ contentSecurityPolicy: true, connectSources: Object.freeze([]), imageSources: Object.freeze([]) }),
|
|
68
|
+
deployment: Object.freeze({ spaFallback: true, adapter: "neutral" }),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=host.js.map
|
package/dist/host.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { VELAR_DESKTOP_API_VERSION } from "./config.ts";
|
|
2
|
+
export type { DesktopPermissionConfig, DesktopWindowConfig, VelarDesktopConfig } from "./config.ts";
|
|
3
|
+
export declare const VELAR_DESKTOP_MODULES: readonly ["velar/desktop", "velar/desktop-test", "velar/fs", "velar/path", "velar/process", "velar/http", "velar/env"];
|
|
4
|
+
export declare const velarDesktopFramework: Readonly<{
|
|
5
|
+
name: "@velarscript/desktop";
|
|
6
|
+
apiVersion: "0.10";
|
|
7
|
+
modules: readonly ["velar/desktop", "velar/desktop-test", "velar/fs", "velar/path", "velar/process", "velar/http", "velar/env"];
|
|
8
|
+
programmingModel: "single-project";
|
|
9
|
+
renderer: "@velarscript/web";
|
|
10
|
+
capabilityHost: "@velarscript/node";
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEpG,eAAO,MAAM,qBAAqB,wHAQvB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;sBAId,gBAAgB;cACxB,kBAAkB;oBACZ,mBAAmB;EACnC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { VELAR_DESKTOP_API_VERSION } from "./config.js";
|
|
2
|
+
export { VELAR_DESKTOP_API_VERSION } from "./config.js";
|
|
3
|
+
export const VELAR_DESKTOP_MODULES = Object.freeze([
|
|
4
|
+
"velar/desktop",
|
|
5
|
+
"velar/desktop-test",
|
|
6
|
+
"velar/fs",
|
|
7
|
+
"velar/path",
|
|
8
|
+
"velar/process",
|
|
9
|
+
"velar/http",
|
|
10
|
+
"velar/env",
|
|
11
|
+
]);
|
|
12
|
+
export const velarDesktopFramework = Object.freeze({
|
|
13
|
+
name: "@velarscript/desktop",
|
|
14
|
+
apiVersion: VELAR_DESKTOP_API_VERSION,
|
|
15
|
+
modules: VELAR_DESKTOP_MODULES,
|
|
16
|
+
programmingModel: "single-project",
|
|
17
|
+
renderer: "@velarscript/web",
|
|
18
|
+
capabilityHost: "@velarscript/node",
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,eAAe;IACf,oBAAoB;IACpB,UAAU;IACV,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,WAAW;CACH,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,sBAAsB;IAC5B,UAAU,EAAE,yBAAyB;IACrC,OAAO,EAAE,qBAAqB;IAC9B,gBAAgB,EAAE,gBAAyB;IAC3C,QAAQ,EAAE,kBAA2B;IACrC,cAAc,EAAE,mBAA4B;CAC7C,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-host.d.ts","sourceRoot":"","sources":["../src/package-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,gDAAgD,CAAC;AAIxD,eAAO,MAAM,2BAA2B,EAAE,sBAoBxC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { VELAR_APPLICATION_PACKAGE_HOST_PROTOCOL_VERSION, } from "@velarscript/compiler/application-package-host";
|
|
2
|
+
import { buildDesktopApplication, formatDesktopBytes as formatBytes } from "./build.js";
|
|
3
|
+
import { VELAR_DESKTOP_API_VERSION } from "./config.js";
|
|
4
|
+
export const velarApplicationPackageHost = Object.freeze({
|
|
5
|
+
protocolVersion: VELAR_APPLICATION_PACKAGE_HOST_PROTOCOL_VERSION,
|
|
6
|
+
id: "@velarscript/desktop",
|
|
7
|
+
apiVersion: VELAR_DESKTOP_API_VERSION,
|
|
8
|
+
async packageApplication(input) {
|
|
9
|
+
const result = await buildDesktopApplication(input.projectRoot, input.config, input.buildFramework, input.buildTool);
|
|
10
|
+
const sizes = result.manifest.sizes;
|
|
11
|
+
return Object.freeze({
|
|
12
|
+
artifactPath: result.applicationBundle,
|
|
13
|
+
details: Object.freeze([
|
|
14
|
+
`Size ${formatBytes(sizes.totalBytes)} / ${formatBytes(result.manifest.sizeBudgetBytes)} (host ${formatBytes(sizes.hostBytes)}, renderer ${formatBytes(sizes.rendererBytes)}, capabilities ${formatBytes(sizes.capabilityHostBytes)}, language ${formatBytes(sizes.languageServerBytes)}, tasks ${formatBytes(sizes.projectTaskBytes)}, build engine ${formatBytes(sizes.buildEngineBytes)}, terminal ${formatBytes(sizes.terminalHostBytes)})`,
|
|
15
|
+
`Runtime external Node.js >=${result.manifest.runtime.minimumMajor} (not embedded)`,
|
|
16
|
+
]),
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=package-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-host.js","sourceRoot":"","sources":["../src/package-host.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+CAA+C,GAGhD,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAA2B,MAAM,aAAa,CAAC;AAEjF,MAAM,CAAC,MAAM,2BAA2B,GAA2B,MAAM,CAAC,MAAM,CAAC;IAC/E,eAAe,EAAE,+CAA+C;IAChE,EAAE,EAAE,sBAAsB;IAC1B,UAAU,EAAE,yBAAyB;IACrC,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,MAA4B,EAClC,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CAChB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC,iBAAiB;YACtC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;gBACrB,QAAQ,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG;gBAC/a,8BAA8B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,iBAAiB;aACpF,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { VelarDesktopConfig } from "./config.ts";
|
|
2
|
+
import type { FrameworkBrowserTestController } from "@velarscript/compiler/framework-host";
|
|
3
|
+
export type DesktopTestPlatform = "macos" | "test";
|
|
4
|
+
/**
|
|
5
|
+
* Owns the one pre-navigation choice a Desktop browser test may make. Each
|
|
6
|
+
* test receives a fresh controller, and the choice is sealed when its first
|
|
7
|
+
* `browser.open()` requests the application init script.
|
|
8
|
+
*/
|
|
9
|
+
export declare function desktopBrowserTestController(config: VelarDesktopConfig): FrameworkBrowserTestController;
|
|
10
|
+
/**
|
|
11
|
+
* Creates the deterministic capability host used by `velar test --browser`.
|
|
12
|
+
* It is intentionally an in-memory filesystem, not a browser polyfill for the
|
|
13
|
+
* operating system. The native worker has a separate integration suite.
|
|
14
|
+
*/
|
|
15
|
+
export declare function desktopBrowserTestInitScript(config: VelarDesktopConfig, platform?: DesktopTestPlatform): string;
|
|
16
|
+
//# sourceMappingURL=test-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-runtime.d.ts","sourceRoot":"","sources":["../src/test-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,kBAAkB,GAAG,8BAA8B,CAkBvG;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,GAAE,mBAA4B,GAAG,MAAM,CA0bvH"}
|