@stlite/desktop 0.79.0 → 0.79.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/build/assets/{FileDownload.esm-CUqgQU-j.js → FileDownload.esm-DJAez7Gm.js} +1 -1
  2. package/build/assets/{FormClearHelper-DmeZ2QuQ.js → FormClearHelper-BtlF8Otx.js} +1 -1
  3. package/build/assets/{Hooks-CBIuRW4z.js → Hooks-DirHIiAM.js} +1 -1
  4. package/build/assets/{InputInstructions-iKTPb-Lc.js → InputInstructions-DJSzEvIq.js} +1 -1
  5. package/build/assets/{ProgressBar-Dfr9f8u1.js → ProgressBar-BnrWSmyb.js} +1 -1
  6. package/build/assets/{RenderInPortalIfExists-CxeJAxCs.js → RenderInPortalIfExists-Ca4-_0pe.js} +1 -1
  7. package/build/assets/{Toolbar-CG7W1D-O.js → Toolbar-BsqjDjhG.js} +1 -1
  8. package/build/assets/{base-input-DoV-1XUt.js → base-input-CgYn_7GU.js} +1 -1
  9. package/build/assets/{createSuper-CvaFdVoD.js → createSuper-0pNNY1_M.js} +1 -1
  10. package/build/assets/{data-grid-overlay-editor-CCUG7ReD.js → data-grid-overlay-editor-CNFkKj8T.js} +1 -1
  11. package/build/assets/{downloader-B6rOwzu2.js → downloader-DGmYJOpb.js} +1 -1
  12. package/build/assets/{es6-CTcMcfqp.js → es6-irkMYhr9.js} +2 -2
  13. package/build/assets/{getPrototypeOf-CFHg57KG.js → getPrototypeOf-D0_3wfU4.js} +1 -1
  14. package/build/assets/{iframeResizer.contentWindow-DLNn1A7T.js → iframeResizer.contentWindow-D4yL-VeT.js} +1 -1
  15. package/build/assets/{index-Bp04iQqW.js → index-BByqVhYh.js} +1 -1
  16. package/build/assets/{index-D-lzdDJ5.js → index-BFCLs_X3.js} +1 -1
  17. package/build/assets/{index-CGhw9Sdf.js → index-BFkh2EDe.js} +1 -1
  18. package/build/assets/{index-CWiqZgRl.js → index-BKdmDn79.js} +1 -1
  19. package/build/assets/{index-CoKgwXo8.js → index-BM4uLW3s.js} +1 -1
  20. package/build/assets/{index-ByOIN0Gm.js → index-BQ4RtD02.js} +1 -1
  21. package/build/assets/{index-DjQcVgxO.js → index-BVyxD_B8.js} +1 -1
  22. package/build/assets/{index-hsTwnoRn.js → index-BXRfu-ak.js} +1 -1
  23. package/build/assets/{index-CW4i_Lge.js → index-BcpEGcBW.js} +1 -1
  24. package/build/assets/{index-Dwt05210.js → index-Bo6fA87g.js} +1 -1
  25. package/build/assets/{index-BzTZZCvL.js → index-C1elUt1E.js} +4 -4
  26. package/build/assets/{index-Cua9_98i.js → index-CbfNI9jm.js} +1 -1
  27. package/build/assets/{index-CIL1eIZN.js → index-CcWWS1JT.js} +1 -1
  28. package/build/assets/{index-CIs9EQe5.js → index-ChM6SngL.js} +1 -1
  29. package/build/assets/{index-BhkIHxDp.js → index-D2eWP7lT.js} +1 -1
  30. package/build/assets/{index-BrRb8POj.js → index-DBLWtqmb.js} +1 -1
  31. package/build/assets/{index-CSyyBx79.js → index-DE-qBTEd.js} +1 -1
  32. package/build/assets/{index-Df9nIm6O.js → index-DEXFHxro.js} +1 -1
  33. package/build/assets/{index-D9QNa8Xs.js → index-DUZJI1KN.js} +1 -1
  34. package/build/assets/{index-N6IvabtE.js → index-DVxRcwZL.js} +1 -1
  35. package/build/assets/{index-fudEipDa.js → index-DWA8E9x2.js} +1 -1
  36. package/build/assets/{index-BpeIvyJQ.js → index-DlLUjT1S.js} +1 -1
  37. package/build/assets/{index-DqxtC9MD.js → index-DmCANcEY.js} +1 -1
  38. package/build/assets/{index-qMuFpOqI.js → index-DrFZgW3n.js} +1 -1
  39. package/build/assets/{index-6rnmC53g.js → index-Dx6YQ-Hb.js} +1 -1
  40. package/build/assets/{index-xGO_nKX1.js → index-Hu3FoAZP.js} +1 -1
  41. package/build/assets/{index-DURajqPC.js → index-I5lK7nyO.js} +1 -1
  42. package/build/assets/{index-BTHCcLIl.js → index-ItgUgpY7.js} +1 -1
  43. package/build/assets/{index-DHFNQm8n.js → index-Pb86pUMm.js} +1 -1
  44. package/build/assets/{index-0aipcnh6.js → index-YUTOpyBs.js} +1 -1
  45. package/build/assets/{index-steA8SlM.js → index-ZUNcqgeq.js} +5 -5
  46. package/build/assets/{index-P_LN9wWJ.js → index-ce2FoF0m.js} +1 -1
  47. package/build/assets/{index-BHysWwrh.js → index-gVtKu3MD.js} +1 -1
  48. package/build/assets/{index-DtrE1h0V.js → index-m1mIjWp5.js} +1 -1
  49. package/build/assets/{index-RhMZ16-Y.js → index-w3QLWMIe.js} +1 -1
  50. package/build/assets/{index-C4j64dI5.js → index-xxcWnwsb.js} +1 -1
  51. package/build/assets/{index-OR2HlVVN.js → index-zflrmcBt.js} +1 -1
  52. package/build/assets/{input-BrXgmYe9.js → input-i4Ci2N7G.js} +1 -1
  53. package/build/assets/{memory-Bf74T19z.js → memory-BfVZ1OlY.js} +1 -1
  54. package/build/assets/{number-overlay-editor-20er5Sp-.js → number-overlay-editor-DZNxupwD.js} +1 -1
  55. package/build/assets/{sandbox-CV8SMiuv.js → sandbox-C-kTFbag.js} +1 -1
  56. package/build/assets/{slicedToArray-tqzlNjPF.js → slicedToArray--nOyZAEU.js} +1 -1
  57. package/build/assets/{textarea-DMefjquC.js → textarea-CpIIPJux.js} +1 -1
  58. package/build/assets/{timepicker-D5Qmkk9Q.js → timepicker-BNPmfeK3.js} +1 -1
  59. package/build/assets/{uniqueId-IQr2jcrE.js → uniqueId-BfZwKZCM.js} +1 -1
  60. package/build/assets/{useBasicWidgetState-Cqy4gnzY.js → useBasicWidgetState-D4lxC36U.js} +1 -1
  61. package/build/assets/{useOnInputChange-BD_aeagL.js → useOnInputChange-BtQcqF3z.js} +1 -1
  62. package/build/assets/{withFullScreenWrapper-DIS3bwns.js → withFullScreenWrapper-Cn2wnMdj.js} +1 -1
  63. package/build/assets/{worker-B1MO5Shr.js → worker-CzOlZWlF.js} +14 -11
  64. package/build/electron/worker.js +13 -10
  65. package/build/index.html +1 -1
  66. package/package.json +4 -4
  67. package/wheels/streamlit-1.41.0-cp312-none-any.whl +0 -0
@@ -1,4 +1,4 @@
1
- var ue=Object.create;var B=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var ye=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var he=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of fe(e))!_e.call(r,s)&&s!==t&&B(r,s,{get:()=>e[s],enumerable:!(n=ge(e,s))||n.enumerable});return r};var E=(r,e,t)=>(t=r!=null?ue(pe(r)):{},he(e||!r||!r.__esModule?B(t,"default",{value:r,enumerable:!0}):t,r));var J=ye((Be,z)=>{"use strict";function P(r){if(typeof r!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(r))}function K(r,e){for(var t="",n=0,s=-1,o=0,i,a=0;a<=r.length;++a){if(a<r.length)i=r.charCodeAt(a);else{if(i===47)break;i=47}if(i===47){if(!(s===a-1||o===1))if(s!==a-1&&o===2){if(t.length<2||n!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){var c=t.lastIndexOf("/");if(c!==t.length-1){c===-1?(t="",n=0):(t=t.slice(0,c),n=t.length-1-t.lastIndexOf("/")),s=a,o=0;continue}}else if(t.length===2||t.length===1){t="",n=0,s=a,o=0;continue}}e&&(t.length>0?t+="/..":t="..",n=2)}else t.length>0?t+="/"+r.slice(s+1,a):t=r.slice(s+1,a),n=a-s-1;s=a,o=0}else i===46&&o!==-1?++o:o=-1}return t}function Se(r,e){var t=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return t?t===e.root?t+n:t+r+n:n}var C={resolve:function(){for(var e="",t=!1,n,s=arguments.length-1;s>=-1&&!t;s--){var o;s>=0?o=arguments[s]:(n===void 0&&(n=process.cwd()),o=n),P(o),o.length!==0&&(e=o+"/"+e,t=o.charCodeAt(0)===47)}return e=K(e,!t),t?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(e){if(P(e),e.length===0)return".";var t=e.charCodeAt(0)===47,n=e.charCodeAt(e.length-1)===47;return e=K(e,!t),e.length===0&&!t&&(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return P(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];P(n),n.length>0&&(e===void 0?e=n:e+="/"+n)}return e===void 0?".":C.normalize(e)},relative:function(e,t){if(P(e),P(t),e===t||(e=C.resolve(e),t=C.resolve(t),e===t))return"";for(var n=1;n<e.length&&e.charCodeAt(n)===47;++n);for(var s=e.length,o=s-n,i=1;i<t.length&&t.charCodeAt(i)===47;++i);for(var a=t.length,c=a-i,_=o<c?o:c,u=-1,d=0;d<=_;++d){if(d===_){if(c>_){if(t.charCodeAt(i+d)===47)return t.slice(i+d+1);if(d===0)return t.slice(i+d)}else o>_&&(e.charCodeAt(n+d)===47?u=d:d===0&&(u=0));break}var f=e.charCodeAt(n+d),R=t.charCodeAt(i+d);if(f!==R)break;f===47&&(u=d)}var b="";for(d=n+u+1;d<=s;++d)(d===s||e.charCodeAt(d)===47)&&(b.length===0?b+="..":b+="/..");return b.length>0?b+t.slice(i+u):(i+=u,t.charCodeAt(i)===47&&++i,t.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(P(e),e.length===0)return".";for(var t=e.charCodeAt(0),n=t===47,s=-1,o=!0,i=e.length-1;i>=1;--i)if(t=e.charCodeAt(i),t===47){if(!o){s=i;break}}else o=!1;return s===-1?n?"/":".":n&&s===1?"//":e.slice(0,s)},basename:function(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');P(e);var n=0,s=-1,o=!0,i;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,c=-1;for(i=e.length-1;i>=0;--i){var _=e.charCodeAt(i);if(_===47){if(!o){n=i+1;break}}else c===-1&&(o=!1,c=i+1),a>=0&&(_===t.charCodeAt(a)?--a===-1&&(s=i):(a=-1,s=c))}return n===s?s=c:s===-1&&(s=e.length),e.slice(n,s)}else{for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===47){if(!o){n=i+1;break}}else s===-1&&(o=!1,s=i+1);return s===-1?"":e.slice(n,s)}},extname:function(e){P(e);for(var t=-1,n=0,s=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(c===47){if(!o){n=a+1;break}continue}s===-1&&(o=!1,s=a+1),c===46?t===-1?t=a:i!==1&&(i=1):t!==-1&&(i=-1)}return t===-1||s===-1||i===0||i===1&&t===s-1&&t===n+1?"":e.slice(t,s)},format:function(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return Se("/",e)},parse:function(e){P(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;var n=e.charCodeAt(0),s=n===47,o;s?(t.root="/",o=1):o=0;for(var i=-1,a=0,c=-1,_=!0,u=e.length-1,d=0;u>=o;--u){if(n=e.charCodeAt(u),n===47){if(!_){a=u+1;break}continue}c===-1&&(_=!1,c=u+1),n===46?i===-1?i=u:d!==1&&(d=1):i!==-1&&(d=-1)}return i===-1||c===-1||d===0||d===1&&i===c-1&&i===a+1?c!==-1&&(a===0&&s?t.base=t.name=e.slice(1,c):t.base=t.name=e.slice(a,c)):(a===0&&s?(t.name=e.slice(1,i),t.base=e.slice(1,c)):(t.name=e.slice(a,i),t.base=e.slice(a,c)),t.ext=e.slice(i,c)),a>0?t.dir=e.slice(0,a-1):s&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};C.posix=C;z.exports=C});var U=require("node:worker_threads");var ve="[",be="(<=>!~",Pe=";",we="@",Ne=new RegExp(`[${ve+be+Pe+we}]`);var O=class{promise;resolveInternal;rejectInternal;constructor(){this.promise=new Promise((e,t)=>{this.resolveInternal=e,this.rejectInternal=t})}resolve(e){this.resolveInternal(e)}reject(e){this.rejectInternal(e)}};var L=E(J()),V="/home/pyodide",T=r=>`${V}/${r}`,A=(r,e)=>r==null?L.default.resolve(V,e):L.default.resolve(T(r),e);function G(r,e){let t=L.default.normalize(e),s=L.default.dirname(t).split("/"),o=[];for(let i of s){o.push(i);let a=o.join("/");if(r.FS.analyzePath(a).exists){if(r.FS.isDir(a))throw new Error(`"${a}" already exists and is not a directory.`);continue}try{r.FS.mkdir(a)}catch(c){throw console.error(`Failed to create a directory "${a}"`),c}}}function N(r,e,t,n){G(r,e),r.FS.writeFile(e,t,n)}function X(r,e,t){G(r,t),r.FS.rename(e,t)}var ke="[",Ae="(<=>!~",Fe=";",Ce="@",Re=new RegExp(`[${ke+Ae+Fe+Ce}]`);function Ie(r){return r.split(Re)[0].trim()}function D(r){return r.forEach(t=>{let n;try{n=new URL(t)}catch{return}if(n.protocol==="emfs:"||n.protocol==="file:")throw new Error(`"emfs:" and "file:" protocols are not allowed for the requirement (${t})`)}),r.filter(t=>Ie(t)==="streamlit"?(console.warn(`Streamlit is specified in the requirements ("${t}"), but it will be ignored. A built-in version of Streamlit will be used.`),!1):!0)}async function Le(r){let e=typeof process<"u"&&process.versions?.node,t;e?t=(await import("node:path")).sep:t="/";let n=r.slice(0,r.lastIndexOf(t)+1);if(r.endsWith(".mjs")){if(e){let s=await import("node:path"),o=await import("node:url");!r.includes("://")&&s.isAbsolute(r)&&(r=o.pathToFileURL(r).href)}return{scriptURL:r,pyodideIndexURL:n,isESModule:!0}}else return{scriptURL:r,pyodideIndexURL:n,isESModule:!1}}async function Q(r,e){let{scriptURL:t,pyodideIndexURL:n,isESModule:s}=await Le(r),o;return s?o=(await import(t)).loadPyodide:(importScripts(t),o=self.loadPyodide),o({...e,indexURL:n})}function Y(r){r.runPython(`
1
+ var ue=Object.create;var B=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var ye=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var he=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of fe(e))!_e.call(r,s)&&s!==t&&B(r,s,{get:()=>e[s],enumerable:!(n=ge(e,s))||n.enumerable});return r};var E=(r,e,t)=>(t=r!=null?ue(pe(r)):{},he(e||!r||!r.__esModule?B(t,"default",{value:r,enumerable:!0}):t,r));var J=ye((Be,z)=>{"use strict";function P(r){if(typeof r!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(r))}function K(r,e){for(var t="",n=0,s=-1,o=0,i,a=0;a<=r.length;++a){if(a<r.length)i=r.charCodeAt(a);else{if(i===47)break;i=47}if(i===47){if(!(s===a-1||o===1))if(s!==a-1&&o===2){if(t.length<2||n!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){var c=t.lastIndexOf("/");if(c!==t.length-1){c===-1?(t="",n=0):(t=t.slice(0,c),n=t.length-1-t.lastIndexOf("/")),s=a,o=0;continue}}else if(t.length===2||t.length===1){t="",n=0,s=a,o=0;continue}}e&&(t.length>0?t+="/..":t="..",n=2)}else t.length>0?t+="/"+r.slice(s+1,a):t=r.slice(s+1,a),n=a-s-1;s=a,o=0}else i===46&&o!==-1?++o:o=-1}return t}function Se(r,e){var t=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return t?t===e.root?t+n:t+r+n:n}var C={resolve:function(){for(var e="",t=!1,n,s=arguments.length-1;s>=-1&&!t;s--){var o;s>=0?o=arguments[s]:(n===void 0&&(n=process.cwd()),o=n),P(o),o.length!==0&&(e=o+"/"+e,t=o.charCodeAt(0)===47)}return e=K(e,!t),t?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(e){if(P(e),e.length===0)return".";var t=e.charCodeAt(0)===47,n=e.charCodeAt(e.length-1)===47;return e=K(e,!t),e.length===0&&!t&&(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return P(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];P(n),n.length>0&&(e===void 0?e=n:e+="/"+n)}return e===void 0?".":C.normalize(e)},relative:function(e,t){if(P(e),P(t),e===t||(e=C.resolve(e),t=C.resolve(t),e===t))return"";for(var n=1;n<e.length&&e.charCodeAt(n)===47;++n);for(var s=e.length,o=s-n,i=1;i<t.length&&t.charCodeAt(i)===47;++i);for(var a=t.length,c=a-i,_=o<c?o:c,u=-1,d=0;d<=_;++d){if(d===_){if(c>_){if(t.charCodeAt(i+d)===47)return t.slice(i+d+1);if(d===0)return t.slice(i+d)}else o>_&&(e.charCodeAt(n+d)===47?u=d:d===0&&(u=0));break}var f=e.charCodeAt(n+d),R=t.charCodeAt(i+d);if(f!==R)break;f===47&&(u=d)}var b="";for(d=n+u+1;d<=s;++d)(d===s||e.charCodeAt(d)===47)&&(b.length===0?b+="..":b+="/..");return b.length>0?b+t.slice(i+u):(i+=u,t.charCodeAt(i)===47&&++i,t.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(P(e),e.length===0)return".";for(var t=e.charCodeAt(0),n=t===47,s=-1,o=!0,i=e.length-1;i>=1;--i)if(t=e.charCodeAt(i),t===47){if(!o){s=i;break}}else o=!1;return s===-1?n?"/":".":n&&s===1?"//":e.slice(0,s)},basename:function(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');P(e);var n=0,s=-1,o=!0,i;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,c=-1;for(i=e.length-1;i>=0;--i){var _=e.charCodeAt(i);if(_===47){if(!o){n=i+1;break}}else c===-1&&(o=!1,c=i+1),a>=0&&(_===t.charCodeAt(a)?--a===-1&&(s=i):(a=-1,s=c))}return n===s?s=c:s===-1&&(s=e.length),e.slice(n,s)}else{for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===47){if(!o){n=i+1;break}}else s===-1&&(o=!1,s=i+1);return s===-1?"":e.slice(n,s)}},extname:function(e){P(e);for(var t=-1,n=0,s=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(c===47){if(!o){n=a+1;break}continue}s===-1&&(o=!1,s=a+1),c===46?t===-1?t=a:i!==1&&(i=1):t!==-1&&(i=-1)}return t===-1||s===-1||i===0||i===1&&t===s-1&&t===n+1?"":e.slice(t,s)},format:function(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return Se("/",e)},parse:function(e){P(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;var n=e.charCodeAt(0),s=n===47,o;s?(t.root="/",o=1):o=0;for(var i=-1,a=0,c=-1,_=!0,u=e.length-1,d=0;u>=o;--u){if(n=e.charCodeAt(u),n===47){if(!_){a=u+1;break}continue}c===-1&&(_=!1,c=u+1),n===46?i===-1?i=u:d!==1&&(d=1):i!==-1&&(d=-1)}return i===-1||c===-1||d===0||d===1&&i===c-1&&i===a+1?c!==-1&&(a===0&&s?t.base=t.name=e.slice(1,c):t.base=t.name=e.slice(a,c)):(a===0&&s?(t.name=e.slice(1,i),t.base=e.slice(1,c)):(t.name=e.slice(a,i),t.base=e.slice(a,c)),t.ext=e.slice(i,c)),a>0?t.dir=e.slice(0,a-1):s&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};C.posix=C;z.exports=C});var j=require("node:worker_threads");var ve="[",be="(<=>!~",Pe=";",we="@",Ne=new RegExp(`[${ve+be+Pe+we}]`);var O=class{promise;resolveInternal;rejectInternal;constructor(){this.promise=new Promise((e,t)=>{this.resolveInternal=e,this.rejectInternal=t})}resolve(e){this.resolveInternal(e)}reject(e){this.rejectInternal(e)}};var L=E(J()),V="/home/pyodide",T=r=>`${V}/${r}`,A=(r,e)=>r==null?L.default.resolve(V,e):L.default.resolve(T(r),e);function G(r,e){let t=L.default.normalize(e),s=L.default.dirname(t).split("/"),o=[];for(let i of s){o.push(i);let a=o.join("/");if(r.FS.analyzePath(a).exists){if(r.FS.isDir(a))throw new Error(`"${a}" already exists and is not a directory.`);continue}try{r.FS.mkdir(a)}catch(c){throw console.error(`Failed to create a directory "${a}"`),c}}}function N(r,e,t,n){G(r,e),r.FS.writeFile(e,t,n)}function X(r,e,t){G(r,t),r.FS.rename(e,t)}var ke="[",Ae="(<=>!~",Fe=";",Ce="@",Re=new RegExp(`[${ke+Ae+Fe+Ce}]`);function Ie(r){return r.split(Re)[0].trim()}function D(r){return r.forEach(t=>{let n;try{n=new URL(t)}catch{return}if(n.protocol==="emfs:"||n.protocol==="file:")throw new Error(`"emfs:" and "file:" protocols are not allowed for the requirement (${t})`)}),r.filter(t=>Ie(t)==="streamlit"?(console.warn(`Streamlit is specified in the requirements ("${t}"), but it will be ignored. A built-in version of Streamlit will be used.`),!1):!0)}async function Le(r){let e=typeof process<"u"&&process.versions?.node,t;e?t=(await import("node:path")).sep:t="/";let n=r.slice(0,r.lastIndexOf(t)+1);if(r.endsWith(".mjs")){if(e){let s=await import("node:path"),o=await import("node:url");!r.includes("://")&&s.isAbsolute(r)&&(r=o.pathToFileURL(r).href)}return{scriptURL:r,pyodideIndexURL:n,isESModule:!0}}else return{scriptURL:r,pyodideIndexURL:n,isESModule:!1}}async function Q(r,e){let{scriptURL:t,pyodideIndexURL:n,isESModule:s}=await Le(r),o;return s?o=(await import(t)).loadPyodide:(importScripts(t),o=self.loadPyodide),o({...e,indexURL:n})}function Y(r){r.runPython(`
2
2
  import micropip
3
3
  micropip.add_mock_package(
4
4
  "pyarrow", "0.0.1",
@@ -101,18 +101,21 @@ def get_code_completions(code: str, current_line_number: int, cursor_offset: int
101
101
 
102
102
  jedi_language_server = jedi.Script(code)
103
103
 
104
+ # jedi returns a zero-based array with lines
105
+ jedi_line_number_index = current_line_number -1
106
+
107
+ # In case if we are not getting any results back or the offset is wrong
108
+ # Just return empty list
109
+ if jedi_line_number_index >= len(jedi_language_server._code_lines):
110
+ return json.dumps({ "items": []})
111
+
104
112
  jedi_completions_list = jedi_language_server.complete(
105
113
  current_line_number,
106
114
  cursor_offset,
107
115
  fuzzy=False,
108
116
  )
109
-
110
- # In case if we are not getting any results back or the offset is wrong
111
- # Just return empty list
112
- if current_line_number >= len(jedi_language_server._code_lines):
113
- return json.dumps({ "items": []})
114
-
115
- code_at_cursor = jedi_language_server._code_lines[current_line_number -1]
117
+
118
+ code_at_cursor = jedi_language_server._code_lines[jedi_line_number_index]
116
119
  cursor_range = get_text_edit_cursor_range(code_at_cursor, current_line_number, cursor_offset)
117
120
 
118
121
  # Convert jedi completion items as completion items compatible in language server
@@ -128,7 +131,7 @@ from streamlit.runtime.scriptrunner import script_runner
128
131
  from js import __moduleAutoLoadPromise__
129
132
 
130
133
  script_runner.moduleAutoLoadPromise = __moduleAutoLoadPromise__
131
- `)}var x=null;function ne(r,e,t,n){function s(d){e({type:"event:progress",data:{message:d}})}let o,i,a=new O;async function c(){let d=await a.promise,f={...t,...d};console.debug("Initial data",f);let{entrypoint:R,files:b,archives:v,requirements:l,prebuiltPackageNames:g,wheels:y,pyodideUrl:h=r,streamlitConfig:w,idbfsMountpoints:k,nodefsMountpoints:I,moduleAutoLoad:ie,env:j,languageServer:ae}=f,M=D(l);x?(s("Pyodide is already loaded."),console.debug("Pyodide is already loaded."),o=await x):(s("Loading Pyodide."),console.debug("Loading Pyodide."),x=Q(h,{stdout:console.log,stderr:console.error}),o=await x,j&&o.pyimport("os").environ.update(o.toPy(j)),y&&(M.unshift(y.streamlit),M.unshift(y.stliteLib)),console.debug("Loaded Pyodide"));let W=!1;k&&(W=!0,k.forEach(m=>{o.FS.mkdir(m),o.FS.mount(o.FS.filesystems.IDBFS,{},m)}),await new Promise((m,p)=>{o.FS.syncfs(!0,S=>{S?p(S):m()})})),I&&Object.entries(I).forEach(([m,p])=>{o.FS.mkdir(m),o.FS.mount(o.FS.filesystems.NODEFS,{root:p},m)}),s("Mounting files.");let $=[];await Promise.all(Object.keys(b).map(async m=>{let p=b[m];m=A(n,m);let S;"url"in p?(console.debug(`Fetch a file from ${p.url}`),S=await fetch(p.url).then(F=>F.arrayBuffer()).then(F=>new Uint8Array(F))):S=p.data,console.debug(`Write a file "${m}"`),N(o,m,S,b.opts),m.endsWith(".py")&&$.push(m)})),s("Unpacking archives."),await Promise.all(v.map(async m=>{let p;"url"in m?(console.debug(`Fetch an archive from ${m.url}`),p=await fetch(m.url).then(me=>me.arrayBuffer())):p=m.buffer;let{format:S,options:F}=m;console.debug("Unpack an archive",{format:S,options:F}),o.unpackArchive(p,S,F)})),await o.loadPackage("micropip");let H=o.pyimport("micropip");if(s("Mocking some packages."),console.debug("Mock pyarrow"),Y(o),console.debug("Mocked pyarrow"),s("Installing packages."),console.debug("Installing the prebuilt packages:",g),await o.loadPackage(g),console.debug("Installed the prebuilt packages"),console.debug("Installing the requirements:",M),await H.install.callKwargs(M,{keep_going:!0}),console.debug("Installed the requirements"),ie){let m=$.map(p=>o.FS.readFile(p,{encoding:"utf8"}));oe(o,e,m)}await o.runPythonAsync(`
134
+ `)}var x=null;function ne(r,e,t,n){function s(d){e({type:"event:progress",data:{message:d}})}let o,i,a=new O;async function c(){let d=await a.promise,f={...t,...d};console.debug("Initial data",f);let{entrypoint:R,files:b,archives:v,requirements:l,prebuiltPackageNames:g,wheels:y,pyodideUrl:h=r,streamlitConfig:w,idbfsMountpoints:k,nodefsMountpoints:I,moduleAutoLoad:ie,env:U,languageServer:ae}=f,M=D(l);x?(s("Pyodide is already loaded."),console.debug("Pyodide is already loaded."),o=await x):(s("Loading Pyodide."),console.debug("Loading Pyodide."),x=Q(h,{stdout:console.log,stderr:console.error}),o=await x,U&&o.pyimport("os").environ.update(o.toPy(U)),y&&(M.unshift(y.streamlit),M.unshift(y.stliteLib)),console.debug("Loaded Pyodide"));let W=!1;k&&(W=!0,k.forEach(m=>{o.FS.mkdir(m),o.FS.mount(o.FS.filesystems.IDBFS,{},m)}),await new Promise((m,p)=>{o.FS.syncfs(!0,S=>{S?p(S):m()})})),I&&Object.entries(I).forEach(([m,p])=>{o.FS.mkdir(m),o.FS.mount(o.FS.filesystems.NODEFS,{root:p},m)}),s("Mounting files.");let $=[];await Promise.all(Object.keys(b).map(async m=>{let p=b[m];m=A(n,m);let S;"url"in p?(console.debug(`Fetch a file from ${p.url}`),S=await fetch(p.url).then(F=>F.arrayBuffer()).then(F=>new Uint8Array(F))):S=p.data,console.debug(`Write a file "${m}"`),N(o,m,S,b.opts),m.endsWith(".py")&&$.push(m)})),s("Unpacking archives."),await Promise.all(v.map(async m=>{let p;"url"in m?(console.debug(`Fetch an archive from ${m.url}`),p=await fetch(m.url).then(me=>me.arrayBuffer())):p=m.buffer;let{format:S,options:F}=m;console.debug("Unpack an archive",{format:S,options:F}),o.unpackArchive(p,S,F)})),await o.loadPackage("micropip");let H=o.pyimport("micropip");if(s("Mocking some packages."),console.debug("Mock pyarrow"),Y(o),console.debug("Mocked pyarrow"),s("Installing packages."),console.debug("Installing the prebuilt packages:",g),await o.loadPackage(g),console.debug("Installed the prebuilt packages"),console.debug("Installing the requirements:",M),await H.install.callKwargs(M,{keep_going:!0}),console.debug("Installed the requirements"),ie){let m=$.map(p=>o.FS.readFile(p,{encoding:"utf8"}));oe(o,e,m)}await o.runPythonAsync(`
132
135
  import importlib
133
136
  importlib.invalidate_caches()
134
137
  `),s("Loading streamlit package."),console.debug("Loading the Streamlit package"),await o.runPythonAsync(`
@@ -213,4 +216,4 @@ main_script_path = "${q}"
213
216
  args = []
214
217
 
215
218
  prepare(main_script_path, args)
216
- `),console.debug("Set up the Streamlit configuration"),console.debug("Booting up the Streamlit server"),i=o.pyimport("stlite_lib.server.Server")(q,n?T(n):null),await i.start(),console.debug("Booted up the Streamlit server"),e({type:"event:loaded"}),f}let _=c().catch(d=>{throw e({type:"event:error",data:{error:d}}),d}),u=async d=>{let f=d.data;if(f.type==="initData"){a.resolve(f.data);return}let{moduleAutoLoad:R}=await _,b=d.ports[0];function v(l){b.postMessage(l)}try{switch(f.type){case"reboot":{console.debug("Reboot the Streamlit server",f.data);let{entrypoint:l}=f.data;i.stop(),console.debug("Booting up the Streamlit server"),i=o.pyimport("stlite_lib.server.Server")(l),i.start(),console.debug("Booted up the Streamlit server"),v({type:"reply"});break}case"websocket:connect":{console.debug("websocket:connect",f.data);let{path:l}=f.data;i.start_websocket(l,(g,y)=>{if(y){let h=g,w=h.getBuffer("u8");h.destroy();let k=new Uint8ClampedArray(w.data.buffer,w.data.byteOffset,w.data.byteLength);e({type:"websocket:message",data:{payload:new Uint8Array(k)}})}else e({type:"websocket:message",data:{payload:g}})}),v({type:"reply"});break}case"websocket:send":{console.debug("websocket:send",f.data);let{payload:l}=f.data;i.receive_websocket_from_js(l);break}case"http:request":{console.debug("http:request",f.data);let{request:l}=f.data,g=(y,h,w)=>{let k=new Map(h.toJs()),I=w.toJs();console.debug({statusCode:y,headers:k,body:I}),v({type:"http:response",data:{response:{statusCode:y,headers:k,body:I}}})};i.receive_http_from_js(l.method,decodeURIComponent(l.path),l.headers,l.body,g);break}case"file:write":{let{path:l,data:g,opts:y}=f.data,h=A(n,l);R&&typeof g=="string"&&h.endsWith(".py")&&(console.debug(`Auto install the requirements in ${h}`),oe(o,e,[g])),console.debug(`Write a file "${h}"`),N(o,h,g,y),v({type:"reply"});break}case"file:rename":{let{oldPath:l,newPath:g}=f.data,y=A(n,l),h=A(n,g);console.debug(`Rename "${y}" to ${h}`),X(o,y,h),v({type:"reply"});break}case"file:unlink":{let{path:l}=f.data,g=A(n,l);console.debug(`Remove "${g}`),o.FS.unlink(g),v({type:"reply"});break}case"file:read":{let{path:l,opts:g}=f.data;console.debug(`Read "${l}"`);let y=o.FS.readFile(l,g);v({type:"reply:file:read",data:{content:y}});break}case"install":{let{requirements:l}=f.data,g=o.pyimport("micropip"),y=D(l);console.debug("Install the requirements:",y),await g.install.callKwargs(y,{keep_going:!0}).then(()=>{console.debug("Successfully installed"),v({type:"reply"})});break}case"setEnv":{let{env:l}=f.data;o.pyimport("os").environ.update(o.toPy(l)),console.debug("Successfully set the environment variables",l),v({type:"reply"});break}case"language-server:code_completion":{let l=await te(f.data,o);v({type:"reply:language-server:code_completion",data:l});break}}}catch(l){if(console.error(l),!(l instanceof Error))throw l;let g=new Error(l.message);g.name=l.name,g.stack=l.stack,v({type:"reply",error:g})}};return e({type:"event:start"}),u}function se(){let r=process.env.NODEFS_MOUNTPOINTS;if(!r)return;let e;try{e=JSON.parse(r)}catch{console.error(`Failed to parse NODEFS_MOUNTPOINTS as JSON: ${r}`);return}if(typeof e!="object"){console.error(`NODEFS_MOUNTPOINTS is not an object: ${r}`);return}if(Array.isArray(e)){console.error(`NODEFS_MOUNTPOINTS is an array: ${r}`);return}if(Object.keys(e).some(t=>typeof t!="string")){console.error(`NODEFS_MOUNTPOINTS has non-string keys: ${r}`);return}if(Object.values(e).some(t=>typeof t!="string")){console.error(`NODEFS_MOUNTPOINTS has non-string values: ${r}`);return}return e}var Me=r=>{console.debug("[worker thread] postMessage from worker",r),U.parentPort?.postMessage(r)},Ee=ne(process.env.PYODIDE_URL,Me,{nodefsMountpoints:se()});U.parentPort?.on("message",({data:r,port:e})=>{console.debug("[worker thread] parentPort.onMessage",{data:r,port:e}),Ee({data:r,ports:[e]})});
219
+ `),console.debug("Set up the Streamlit configuration"),console.debug("Booting up the Streamlit server"),i=o.pyimport("stlite_lib.server.Server")(q,n?T(n):null),await i.start(),console.debug("Booted up the Streamlit server"),e({type:"event:loaded"}),f}let _=c().catch(d=>{throw e({type:"event:error",data:{error:d}}),d}),u=async d=>{let f=d.data;if(f.type==="initData"){a.resolve(f.data);return}let{moduleAutoLoad:R}=await _,b=d.ports[0];function v(l){b.postMessage(l)}try{switch(f.type){case"reboot":{console.debug("Reboot the Streamlit server",f.data);let{entrypoint:l}=f.data;i.stop(),console.debug("Booting up the Streamlit server"),i=o.pyimport("stlite_lib.server.Server")(l),i.start(),console.debug("Booted up the Streamlit server"),v({type:"reply"});break}case"websocket:connect":{console.debug("websocket:connect",f.data);let{path:l}=f.data;i.start_websocket(l,(g,y)=>{if(y){let h=g,w=h.getBuffer("u8");h.destroy();let k=new Uint8ClampedArray(w.data.buffer,w.data.byteOffset,w.data.byteLength);e({type:"websocket:message",data:{payload:new Uint8Array(k)}})}else e({type:"websocket:message",data:{payload:g}})}),v({type:"reply"});break}case"websocket:send":{console.debug("websocket:send",f.data);let{payload:l}=f.data;i.receive_websocket_from_js(l);break}case"http:request":{console.debug("http:request",f.data);let{request:l}=f.data,g=(y,h,w)=>{let k=new Map(h.toJs()),I=w.toJs();console.debug({statusCode:y,headers:k,body:I}),v({type:"http:response",data:{response:{statusCode:y,headers:k,body:I}}})};i.receive_http_from_js(l.method,decodeURIComponent(l.path),l.headers,l.body,g);break}case"file:write":{let{path:l,data:g,opts:y}=f.data,h=A(n,l);R&&typeof g=="string"&&h.endsWith(".py")&&(console.debug(`Auto install the requirements in ${h}`),oe(o,e,[g])),console.debug(`Write a file "${h}"`),N(o,h,g,y),v({type:"reply"});break}case"file:rename":{let{oldPath:l,newPath:g}=f.data,y=A(n,l),h=A(n,g);console.debug(`Rename "${y}" to ${h}`),X(o,y,h),v({type:"reply"});break}case"file:unlink":{let{path:l}=f.data,g=A(n,l);console.debug(`Remove "${g}`),o.FS.unlink(g),v({type:"reply"});break}case"file:read":{let{path:l,opts:g}=f.data;console.debug(`Read "${l}"`);let y=o.FS.readFile(l,g);v({type:"reply:file:read",data:{content:y}});break}case"install":{let{requirements:l}=f.data,g=o.pyimport("micropip"),y=D(l);console.debug("Install the requirements:",y),await g.install.callKwargs(y,{keep_going:!0}).then(()=>{console.debug("Successfully installed"),v({type:"reply"})});break}case"setEnv":{let{env:l}=f.data;o.pyimport("os").environ.update(o.toPy(l)),console.debug("Successfully set the environment variables",l),v({type:"reply"});break}case"language-server:code_completion":{let l=await te(f.data,o);v({type:"reply:language-server:code_completion",data:l});break}}}catch(l){if(console.error(l),!(l instanceof Error))throw l;let g=new Error(l.message);g.name=l.name,g.stack=l.stack,v({type:"reply",error:g})}};return e({type:"event:start"}),u}function se(){let r=process.env.NODEFS_MOUNTPOINTS;if(!r)return;let e;try{e=JSON.parse(r)}catch{console.error(`Failed to parse NODEFS_MOUNTPOINTS as JSON: ${r}`);return}if(typeof e!="object"){console.error(`NODEFS_MOUNTPOINTS is not an object: ${r}`);return}if(Array.isArray(e)){console.error(`NODEFS_MOUNTPOINTS is an array: ${r}`);return}if(Object.keys(e).some(t=>typeof t!="string")){console.error(`NODEFS_MOUNTPOINTS has non-string keys: ${r}`);return}if(Object.values(e).some(t=>typeof t!="string")){console.error(`NODEFS_MOUNTPOINTS has non-string values: ${r}`);return}return e}var Me=r=>{console.debug("[worker thread] postMessage from worker",r),j.parentPort?.postMessage(r)},Ee=ne(process.env.PYODIDE_URL,Me,{nodefsMountpoints:se()});j.parentPort?.on("message",({data:r,port:e})=>{console.debug("[worker thread] parentPort.onMessage",{data:r,port:e}),Ee({data:r,ports:[e]})});
package/build/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>Stlite Desktop</title>
8
8
  <!-- The Content-Security-Policy setting will be injected at build time. See craco.config.js. -->
9
- <script type="module" crossorigin src="/assets/index-BzTZZCvL.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-C1elUt1E.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="/assets/index.O26j_t8G.css">
11
11
  </head>
12
12
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stlite/desktop",
3
- "version": "0.79.0",
3
+ "version": "0.79.5",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -63,9 +63,9 @@
63
63
  },
64
64
  "devDependencies": {
65
65
  "@emotion/babel-plugin": "^11.13.5",
66
- "@stlite/common": "^0.79.0",
67
- "@stlite/common-react": "^0.79.0",
68
- "@stlite/kernel": "^0.79.0",
66
+ "@stlite/common": "^0.79.5",
67
+ "@stlite/common-react": "^0.79.5",
68
+ "@stlite/kernel": "^0.79.5",
69
69
  "@streamlit/app": "1.41.0",
70
70
  "@types/react": "^18.2.0",
71
71
  "@types/react-dom": "^18.2.0",