@basthon/browser-bundle 0.64.2 → 0.64.4

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 (43) hide show
  1. package/lib/{0.64.2 → 0.64.4}/python3/basthon.tar +0 -0
  2. package/lib/0.64.4/python3/modules/IPython-0.0.1-py3-none-any.whl +0 -0
  3. package/lib/{0.64.2 → 0.64.4}/python3/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
  4. package/lib/{0.64.2 → 0.64.4}/python3/modules/p5-0.0.1-py3-none-any.whl +0 -0
  5. package/lib/{0.64.2 → 0.64.4}/python3/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
  6. package/lib/{0.64.2 → 0.64.4}/python3/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
  7. package/lib/{0.64.2 → 0.64.4}/python3/modules/requests-0.0.1-py3-none-any.whl +0 -0
  8. package/lib/{0.64.2 → 0.64.4}/python3/modules/turtle-0.0.1-py3-none-any.whl +0 -0
  9. package/lib/{0.64.2 → 0.64.4}/python3/modules/tutor-0.0.1-py3-none-any.whl +0 -0
  10. package/lib/{0.64.2 → 0.64.4}/python3/repodata.json +1 -1
  11. package/lib/bundle.js +1 -1
  12. package/lib/kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_get_js.js +1 -1
  13. package/lib/kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_get_js.js.map +1 -1
  14. package/lib/{kernel-base_lib_worker_index_js-_a2470.js → kernel-base_lib_worker_index_js-_87400.js} +2 -2
  15. package/lib/kernel-base_lib_worker_index_js-_87400.js.map +1 -0
  16. package/lib/kernel-base_lib_worker_index_js-_87401.js +3 -0
  17. package/lib/kernel-base_lib_worker_index_js-_87401.js.map +1 -0
  18. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-javascript_lib_comlink-worker_js.js +1 -1
  19. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-javascript_lib_comlink-worker_js.js.map +1 -1
  20. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-ocaml_lib_comlink-worker_js.js +1 -1
  21. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-ocaml_lib_comlink-worker_js.js.map +1 -1
  22. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-sql_lib_comlink-worker_js.js +1 -1
  23. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-sql_lib_comlink-worker_js.js.map +1 -1
  24. package/lib/kernel-javascript_lib_comlink-worker_js.js +1 -1
  25. package/lib/kernel-javascript_lib_index_js.js +1 -1
  26. package/lib/kernel-javascript_lib_worker_js.js +1 -1
  27. package/lib/kernel-ocaml_lib_comlink-worker_js.js +1 -1
  28. package/lib/kernel-ocaml_lib_index_js.js +1 -1
  29. package/lib/kernel-python3_lib_index_js.js +1 -1
  30. package/lib/kernel-python3_lib_index_js.js.map +1 -1
  31. package/lib/kernel-sql_lib_comlink-worker_js.js +1 -1
  32. package/lib/kernel-sql_lib_index_js.js +1 -1
  33. package/lib/vendors-node_modules_sql_js_dist_sql-wasm_js-node_modules_sql_js_dist_sql-wasm_wasm_asset-url.js +1 -1
  34. package/package.json +3 -3
  35. package/lib/0.64.2/python3/modules/IPython-0.0.1-py3-none-any.whl +0 -0
  36. package/lib/kernel-base_lib_worker_index_js-_a2470.js.map +0 -1
  37. package/lib/kernel-base_lib_worker_index_js-_a2471.js +0 -3
  38. package/lib/kernel-base_lib_worker_index_js-_a2471.js.map +0 -1
  39. /package/lib/{0.64.2 → 0.64.4}/python3/modules/extern/pytutor-main.min.css +0 -0
  40. /package/lib/{0.64.2 → 0.64.4}/python3/modules/extern/pytutor-main.min.js +0 -0
  41. /package/lib/{0.64.2 → 0.64.4}/python3/modules/extern/pytutor-main.min.js.LICENSE.txt +0 -0
  42. /package/lib/{0.64.2 → 0.64.4}/python3/modules/extern/pytutor-main.min.js.map +0 -0
  43. /package/lib/{kernel-base_lib_worker_index_js-_a2471.js.LICENSE.txt → kernel-base_lib_worker_index_js-_87401.js.LICENSE.txt} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basthon/browser-bundle",
3
- "version": "0.64.2",
3
+ "version": "0.64.4",
4
4
  "description": "Basthon - Browser bundle",
5
5
  "homepage": "https://basthon.fr",
6
6
  "bugs": {
@@ -21,7 +21,7 @@
21
21
  "lib"
22
22
  ],
23
23
  "dependencies": {
24
- "@basthon/kernel-loader": "0.64.2"
24
+ "@basthon/kernel-loader": "0.64.4"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@babel/core": "^7.24.4",
@@ -54,5 +54,5 @@
54
54
  "build:prod": "webpack --config webpack.prod.config.js",
55
55
  "clean": "rm -rf lib/"
56
56
  },
57
- "gitHead": "69cabf8bc55521ec363d74e780f9998604bef012"
57
+ "gitHead": "ac29889e2ccaf40fa7a85d835f7e6d0d1836dad0"
58
58
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"kernel-base_lib_worker_index_js-_a2470.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/commons.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-main.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/worker-utils.js"],"sourcesContent":["/**\n * An error thrown by not implemented API functions.\n */\nclass NotImplementedError extends Error {\n constructor(funcName) {\n super(`Function ${funcName} not implemented!`);\n this.name = \"NotImplementedError\";\n }\n}\n/* fetch from local FS */\nconst fetchFromLocalFS = async (localfsScheme, url) => {\n const toDataURL = async (content) => {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(new Blob([content]));\n });\n };\n const prefix = localfsScheme;\n const path = url.slice(prefix.length);\n let content = null;\n const options = {\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n try {\n //@ts-ignore\n content = await self.basthon.getFile(path);\n const dataURL = await toDataURL(content);\n const mime = dataURL.substring(dataURL.indexOf(\":\") + 1, dataURL.indexOf(\";\"));\n content = content.buffer;\n options.headers.append(\"Content-Type\", mime);\n options.headers.append(\"Content-Length\", content.byteLength);\n }\n catch (e) {\n options.status = 404;\n options.statusText = \"Not Found\";\n }\n return new Response(content, options);\n};\n/**\n * Get the origin of an url.\n */\nconst origin = (url) => new URL(url).origin;\n/**\n * Get the parent path of an url.\n */\nconst parent = (url) => {\n const abs = new URL(url).href;\n return abs.substring(0, abs.lastIndexOf(\"/\"));\n};\n/**\n * we mock the fetch function to:\n * - redirect queries to local FS\n * - bypass the worker's opaque origin\n */\nconst mockFetch = (legacy) => {\n // already mocked?\n if (self.fetch.name === \"mockedFetch\")\n return;\n const trueFetch = self.fetch;\n async function mockedFetch(request, init) {\n if (!legacy && (self.importScripts == null || self._assetsURL == null))\n return Response.error();\n // force all params to init object\n if (request instanceof Request)\n init = { ...request, ...init };\n // ensure credentials are not sent\n init = { ...init, ...{ credentials: \"omit\" } };\n const url = request.url ?? request.toString();\n const localfsScheme = \"filesystem:/\";\n try {\n // requests towards localfs\n if (url.startsWith(localfsScheme)) {\n return await fetchFromLocalFS(localfsScheme, url);\n }\n else if (!legacy && origin(url) === origin(self._assetsURL)) {\n // requests towards same origin\n // only url under the assets folder are proxyied\n if (parent(url).startsWith(self._assetsURL)) {\n const proxy = self._remoteProxy;\n const { body, options } = await proxy.fetch(url, init);\n return new Response(body, options);\n }\n throw new Error(\"Ressource is outside the proxy' scope\");\n }\n return await trueFetch(url, init);\n }\n catch (e) {\n console.error(`security proxy: request to ${url} throw error: ${e.toString()}`);\n return Response.error();\n }\n }\n self.fetch = mockedFetch;\n};\nexport { NotImplementedError, mockFetch };\n","import { wrap, createEndpoint, transfer } from \"comlink\";\nimport { NotImplementedError } from \"../commons\";\nimport { KernelBase } from \"../kernel\";\n// mock Worker to support sandboxing and keep webpack compatibility\nif (globalThis.Worker.name !== \"SandboxedWorker\") {\n class SandboxedWorker extends Worker {\n constructor(url, options) {\n if (options?.sandboxed === true) {\n const absURL = new URL(url).href;\n const assetsURL = absURL.substring(0, absURL.lastIndexOf(\"/\"));\n // worker created with a 'data' url scheme has opaque origin\n // https://html.spec.whatwg.org/multipage/workers.html#script-settings-for-workers:concept-origin-opaque\n const workerScript = `self._assetsURL = \"${assetsURL}\";\n globalThis = {importScripts: self.importScripts, location: \"${url}\"};\n importScripts(\"${url}\");\n globalThis = self;`.replace(/\\s/g, \"\");\n super(`data:text/javascript;base64,${btoa(workerScript)}`);\n }\n else {\n super(url, options);\n }\n }\n }\n globalThis.Worker = SandboxedWorker;\n}\nexport class KernelMainBase extends KernelBase {\n constructor(options) {\n super(options);\n this._legacy = false;\n this._legacy = options?.legacy === true;\n if (!this.isLegacy() && globalThis.crossOriginIsolated)\n this._sab = new SharedArrayBuffer(1024);\n }\n /**\n * Is this a legacy worker? i.e. not runing in a worker.\n */\n isLegacy() {\n return this._legacy;\n }\n /**\n * Is this kernel safe? (loaded in an isolated web worker)\n */\n safeKernel() {\n return !this.isLegacy();\n }\n /**\n * Get a new worker (should be overloaded).\n */\n newWorker() {\n throw new NotImplementedError(\"newWorker\");\n }\n /**\n * Import the code for a legacy worker (running in the main thread).\n */\n async importLegacyWorker() {\n throw new NotImplementedError(\"importLegacyWorker\");\n }\n /**\n * Create the kernel webworker and setup communication.\n */\n async setupWorker() {\n const comlinkChannel = new MessageChannel();\n if (this.isLegacy()) {\n // running in main thread via message channel (fake worker)\n //@ts-ignore\n self._commPort = comlinkChannel.port1;\n await this.importLegacyWorker();\n }\n else {\n // setup the kernel worker\n const worker = this.newWorker();\n // send communication port\n worker.postMessage(comlinkChannel.port1, [comlinkChannel.port1]);\n this._worker = worker;\n }\n const KernelWorker = wrap(comlinkChannel.port2);\n // why typescript complains about this call? yet, this is advertised in\n // https://github.com/GoogleChromeLabs/comlink/blob/dffe9050f63b1b39f30213adeb1dd4b9ed7d2594/docs/examples/03-classes-example/index.html#L15\n //@ts-ignore\n this._remote = await new KernelWorker(this._options);\n // setup the communication channel\n const commChannel = new MessageChannel();\n commChannel.port2.onmessage = (e) => this.processWorkerMessage(e.data);\n await this.remote?.setCommPort(transfer(commChannel.port1, [commChannel.port1]));\n // WARNING: without the setCommPort call, KernelWorker (proxy)\n // is garbage collected and comlink releases the proxy,\n // breaking all the communications... (don't know really why)\n // If you experience this, just keep a ref on the proxy with e.g.\n // this.PROXY = KernelWorker\n }\n /**\n * Start the worker.\n */\n async _start() {\n await super._start();\n // setup the proxy worker\n const proxyWorker = new Worker(new URL(\"./comlink-proxy.js\", import.meta.url), {\n type: \"module\",\n });\n const proxy = wrap(proxyWorker);\n // setup the kernel worker\n await this.setupWorker();\n if (this._sab != null) {\n console.log(\"Using SharedArrayBuffer for synchronous worker communication.\");\n await this._remote?.setSAB(this._sab);\n }\n // bind ports\n const port = await proxy[createEndpoint]();\n await this.remote?.setProxyPort(transfer(port, [port]));\n // init remote\n await this.remote?.init();\n }\n /**\n * Comlink remote getter.\n */\n get remote() {\n return this._remote;\n }\n /**\n * Stop the worker.\n */\n async _stop() {\n this._worker?.terminate();\n this._worker = undefined;\n this._remote = undefined;\n await super._stop();\n }\n /**\n * Process messages from worker (if any).\n */\n processWorkerMessage(msg) {\n switch (msg.type) {\n case \"stream\":\n const { stream, text } = msg.content;\n const dataEvent = this.clone(msg.data);\n dataEvent.stream = stream;\n dataEvent.content = text;\n this.dispatchEvent(\"eval.output\", dataEvent);\n break;\n case \"download\":\n const { content, filename } = msg.content;\n this.download(content, filename);\n break;\n case \"display\":\n this.dispatchEvent(\"eval.display\", msg.data);\n break;\n case \"input\":\n const { prompt, password, data } = msg.content;\n (async () => {\n const res = (await this.inputAsync(prompt, password, data));\n if (this._sab == null)\n return;\n const encodedRes = new TextEncoder().encode(res);\n new Uint8Array(this._sab).set(encodedRes.subarray(0, this._sab.byteLength));\n Atomics.notify(new Int32Array(this._sab), 0, 1);\n })();\n break;\n default: // ignoring (probably a comlink message)\n }\n }\n async evalAsync(code, outCallback, errCallback, data = null) {\n // force interactivity in all modes\n data.interactive = true;\n this._execution_count++;\n // evaluation\n const execResult = (await this.remote?.eval(data, code));\n // return result\n let result;\n switch (execResult?.status) {\n case \"ok\":\n result = execResult.result;\n break;\n case \"error\":\n break;\n }\n return [result, this._execution_count];\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n async putFile(filename, content) {\n await super.putFile(filename, content);\n await this.remote?.putFile(filename, content);\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n async putModule(filename, content) {\n await super.putModule(filename, content);\n await this.remote?.putModule(filename, content);\n }\n /**\n * Complete a code at the end (usefull for tab completion).\n *\n * Returns an array of two elements: the list of completions\n * and the start index.\n */\n async complete(code) {\n return (await this.remote?.complete(code)) ?? [];\n }\n /**\n * Tell wether we should wait for more code or if it can\n * be run as is.\n *\n * Useful to set ps1/ps2 in console prompt.\n */\n async more(code) {\n return (await this.remote?.more(code)) ?? false;\n }\n}\n","import { expose as exposeComlink } from \"comlink\";\nconst insideWorker = () => \n//@ts-ignore\ntypeof WorkerGlobalScope !== \"undefined\" && self instanceof WorkerGlobalScope;\nexport const expose = (kwc) => {\n if (insideWorker()) {\n // worker\n const listener = (msg) => {\n if (!(msg?.data instanceof MessagePort))\n return;\n removeEventListener(\"message\", listener);\n exposeComlink(kwc, msg.data);\n };\n addEventListener(\"message\", listener);\n }\n else {\n // main thread\n exposeComlink(kwc, self._commPort);\n self._commPort = undefined; // no more needed\n }\n};\n"],"names":["NotImplementedError","_Error","funcName","_this","_classCallCheck","concat","name","_inherits","_createClass","_wrapNativeSuper","Error","fetchFromLocalFS","_ref","_asyncToGenerator","_regeneratorRuntime","_callee2","localfsScheme","url","toDataURL","prefix","path","content","options","dataURL","mime","_context2","prev","next","_ref2","_callee","_context","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","Blob","abrupt","sent","stop","_x3","apply","arguments","slice","length","status","statusText","headers","Headers","self","basthon","getFile","substring","indexOf","buffer","append","byteLength","t0","Response","_x","_x2","origin","URL","parent","abs","href","lastIndexOf","mockFetch","legacy","fetch","trueFetch","_x4","_x5","_mockedFetch","_callee3","request","init","_request$url","proxy","_yield$proxy$fetch","body","_context3","importScripts","_assetsURL","error","Request","_objectSpread","credentials","toString","startsWith","_remoteProxy","console","globalThis","Worker","SandboxedWorker","_Worker","sandboxed","absURL","assetsURL","workerScript","replace","_callSuper","btoa","_assertThisInitialized","expose","kwc","WorkerGlobalScope","listener","msg","data","MessagePort","removeEventListener","exposeComlink","addEventListener","_commPort","undefined"],"sourceRoot":""}
@@ -1,3 +0,0 @@
1
- /*! For license information please see kernel-base_lib_worker_index_js-_a2471.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_index_js-_a2471"],{8595:(e,t,n)=>{n.d(t,{Ij:()=>g,fI:()=>_.f,p:()=>x});var r=n(6330),a=n(5018),s=n(414),o=n(5152),i=n(2474),u=n(5309),c=n(2715),l=n(9296),p=n(2779),f=n(5799),h=n.n(f),d=n(7695),v=n(908),y=n(3297);function m(e,t,n,r){var s=(0,a.A)((0,c.A)(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof s?function(e){return s.apply(n,e)}:s}function k(e,t,n){return t=(0,c.A)(t),(0,u.A)(e,w()?Reflect.construct(t,n||[],(0,c.A)(e).constructor):t.apply(e,n))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(w=function(){return!!e})()}if("SandboxedWorker"!==globalThis.Worker.name){var b=function(e){function t(e,n){var r;if((0,o.A)(this,t),!0===(null==n?void 0:n.sandboxed)){var a=new URL(e).href,s=a.substring(0,a.lastIndexOf("/")),u='self._assetsURL = "'.concat(s,'";\n globalThis = {importScripts: self.importScripts, location: "').concat(e,'"};\n importScripts("').concat(e,'");\n globalThis = self;').replace(/\s/g,"");r=k(this,t,["data:text/javascript;base64,".concat(btoa(u))])}else r=k(this,t,[e,n]);return(0,i.A)(r)}return(0,l.A)(t,e),(0,s.A)(t)}((0,p.A)(Worker));globalThis.Worker=b}var g=function(e){function t(e){var n;return(0,o.A)(this,t),(n=k(this,t,[e]))._legacy=!1,n._legacy=!0===(null==e?void 0:e.legacy),!n.isLegacy()&&globalThis.crossOriginIsolated&&(n._sab=new SharedArrayBuffer(1024)),n}return(0,l.A)(t,e),(0,s.A)(t,[{key:"isLegacy",value:function(){return this._legacy}},{key:"safeKernel",value:function(){return!this.isLegacy()}},{key:"newWorker",value:function(){throw new v.E("newWorker")}},{key:"importLegacyWorker",value:(b=(0,r.A)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new v.E("importLegacyWorker");case 1:case"end":return e.stop()}}),e)}))),function(){return b.apply(this,arguments)})},{key:"setupWorker",value:(w=(0,r.A)(h().mark((function e(){var t,n,r,a,s,o=this;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new MessageChannel,!this.isLegacy()){e.next=7;break}return self._commPort=n.port1,e.next=5,this.importLegacyWorker();case 5:e.next=10;break;case 7:(r=this.newWorker()).postMessage(n.port1,[n.port1]),this._worker=r;case 10:return a=(0,d.LV)(n.port2),e.next=13,new a(this._options);case 13:return this._remote=e.sent,(s=new MessageChannel).port2.onmessage=function(e){return o.processWorkerMessage(e.data)},e.next=18,null===(t=this.remote)||void 0===t?void 0:t.setCommPort((0,d.k0)(s.port1,[s.port1]));case 18:case"end":return e.stop()}}),e,this)}))),function(){return w.apply(this,arguments)})},{key:"_start",value:(y=(0,r.A)(h().mark((function e(){var r,a,s,o,i,u;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"_start",this,3)([]);case 2:return s=new Worker(new URL(n.p+n.u("kernel-base_lib_worker_comlink-proxy_js"),n.b),{type:void 0}),o=(0,d.LV)(s),e.next=6,this.setupWorker();case 6:if(null==this._sab){e.next=10;break}return console.log("Using SharedArrayBuffer for synchronous worker communication."),e.next=10,null===(i=this._remote)||void 0===i?void 0:i.setSAB(this._sab);case 10:return e.next=12,o[d.UD]();case 12:return u=e.sent,e.next=15,null===(r=this.remote)||void 0===r?void 0:r.setProxyPort((0,d.k0)(u,[u]));case 15:return e.next=17,null===(a=this.remote)||void 0===a?void 0:a.init();case 17:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"remote",get:function(){return this._remote}},{key:"_stop",value:(f=(0,r.A)(h().mark((function e(){var n;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(n=this._worker)||void 0===n||n.terminate(),this._worker=void 0,this._remote=void 0,e.next=5,m(t,"_stop",this,3)([]);case 5:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"processWorkerMessage",value:function(e){var t=this;switch(e.type){case"stream":var n=e.content,a=n.stream,s=n.text,o=this.clone(e.data);o.stream=a,o.content=s,this.dispatchEvent("eval.output",o);break;case"download":var i=e.content,u=i.content,c=i.filename;this.download(u,c);break;case"display":this.dispatchEvent("eval.display",e.data);break;case"input":var l=e.content,p=l.prompt,f=l.password,d=l.data;(0,r.A)(h().mark((function e(){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.inputAsync(p,f,d);case 2:if(n=e.sent,null!=t._sab){e.next=5;break}return e.abrupt("return");case 5:r=(new TextEncoder).encode(n),new Uint8Array(t._sab).set(r.subarray(0,t._sab.byteLength)),Atomics.notify(new Int32Array(t._sab),0,1);case 8:case"end":return e.stop()}}),e)})))()}}},{key:"evalAsync",value:(p=(0,r.A)(h().mark((function e(t,n,r){var a,s,o,i,u=arguments;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(s=u.length>3&&void 0!==u[3]?u[3]:null).interactive=!0,this._execution_count++,e.next=5,null===(a=this.remote)||void 0===a?void 0:a.eval(s,t);case 5:o=e.sent,e.t0=null==o?void 0:o.status,e.next="ok"===e.t0?9:"error"===e.t0?11:12;break;case 9:return i=o.result,e.abrupt("break",12);case 11:return e.abrupt("break",12);case 12:return e.abrupt("return",[i,this._execution_count]);case 13:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return p.apply(this,arguments)})},{key:"putFile",value:(c=(0,r.A)(h().mark((function e(n,r){var a;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"putFile",this,3)([n,r]);case 2:return e.next=4,null===(a=this.remote)||void 0===a?void 0:a.putFile(n,r);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"putModule",value:(u=(0,r.A)(h().mark((function e(n,r){var a;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"putModule",this,3)([n,r]);case 2:return e.next=4,null===(a=this.remote)||void 0===a?void 0:a.putModule(n,r);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"complete",value:(i=(0,r.A)(h().mark((function e(t){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(r=this.remote)||void 0===r?void 0:r.complete(t);case 2:if(e.t1=n=e.sent,e.t0=null!==e.t1,!e.t0){e.next=6;break}e.t0=void 0!==n;case 6:if(!e.t0){e.next=10;break}e.t2=n,e.next=11;break;case 10:e.t2=[];case 11:return e.abrupt("return",e.t2);case 12:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"more",value:(a=(0,r.A)(h().mark((function e(t){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(r=this.remote)||void 0===r?void 0:r.more(t);case 2:if(e.t1=n=e.sent,e.t0=null!==e.t1,!e.t0){e.next=6;break}e.t0=void 0!==n;case 6:if(!e.t0){e.next=10;break}e.t2=n,e.next=11;break;case 10:e.t2=!1;case 11:return e.abrupt("return",e.t2);case 12:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})}]);var a,i,u,c,p,f,y,w,b}(y.z),_=n(5607),x=function(e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){var t=function(n){(null==n?void 0:n.data)instanceof MessagePort&&(removeEventListener("message",t),(0,d.p)(e,n.data))};addEventListener("message",t)}else(0,d.p)(e,self._commPort),self._commPort=void 0}},5607:(e,t,n)=>{n.d(t,{f:()=>p});var r=n(6330),a=n(5152),s=n(414),o=n(5799),i=n.n(o),u=n(9253),c=n(908),l=n(7695),p=function(){return(0,s.A)((function e(t){var n=this;(0,a.A)(this,e),this._ready=new u.D,this._options=t,this._legacy=!0===(null==t?void 0:t.legacy),(0,c.J)(this.isLegacy()),self.basthon=this,null==self.window&&(self.window=self),self.Canvas=this.isLegacy()?function(e,t){var n=document.createElement("canvas");return null!=e&&(n.width=e),null!=t&&(n.height=t),n}:globalThis.OffscreenCanvas,null==self._prompt&&(self._prompt=globalThis.prompt),globalThis.prompt=function(e){return n.input(e)}}),[{key:"isLegacy",value:function(){return this._legacy}},{key:"setSAB",value:function(e){this._sab=e}},{key:"_init",value:(d=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)})},{key:"init",value:(h=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._init();case 3:this._ready.resolve(),e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),this._ready.reject(e.t0);case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return h.apply(this,arguments)})},{key:"ready",value:function(){return this._ready.promise}},{key:"setCommPort",value:function(e){this.postMessage=e.postMessage.bind(e)}},{key:"setProxyPort",value:function(e){self._remoteProxy=(0,l.LV)(e)}},{key:"sendStream",value:function(e,t,n){var r;null===(r=this.postMessage)||void 0===r||r.call(this,{data:e,type:"stream",content:{stream:t,text:n}})}},{key:"sendStdoutStream",value:function(e,t){this.sendStream(e,"stdout",t)}},{key:"sendStderrStream",value:function(e,t){this.sendStream(e,"stderr",t)}},{key:"blobToDataURL",value:(f=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e){var n=new FileReader;n.onloadend=function(){return e(n.result)},n.readAsDataURL(t)}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:"displayBlob",value:(p=(0,r.A)(i().mark((function e(t,n){var r,a,s,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null==n&&(n=this.clone(this.__eval_data__)),e.next=3,this.blobToDataURL(t);case 3:if(a=e.sent,s="data:image/png;base64,",!a.startsWith(s)){e.next=11;break}o=a.slice(22),n.display_type="multiple",n.content={"image/png":o},e.next=12;break;case 11:return e.abrupt("return");case 12:null===(r=this.postMessage)||void 0===r||r.call(this,{data:n,type:"display"});case 13:case"end":return e.stop()}}),e,this)}))),function(e,t){return p.apply(this,arguments)})},{key:"display",value:function(e){var t,n=this,r=this.clone(this.__eval_data__);null!=globalThis.OffscreenCanvas&&e instanceof OffscreenCanvas?e.convertToBlob().then((function(e){return n.displayBlob(e,r)})):(r.display_type="multiple",r.content=e,null===(t=this.postMessage)||void 0===t||t.call(this,{data:r,type:"display"}))}},{key:"_eval",value:(o=(0,r.A)(i().mark((function e(t,n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.E("_eval");case 1:case"end":return e.stop()}}),e)}))),function(e,t){return o.apply(this,arguments)})},{key:"eval",value:(n=(0,r.A)(i().mark((function e(t,n){var r,a,s,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.__eval_data__=t,e.prev=1,e.next=4,this._eval(t,n);case 4:return r=e.sent,e.abrupt("return",{data:t,status:"ok",result:r});case 8:return e.prev=8,e.t0=e.catch(1),a=e.t0.name,s=e.t0.stack,o=e.t0.message,this.sendStderrStream(t,e.t0.toString()),e.abrupt("return",{data:t,status:"error",error:{name:a,value:o,traceback:null==s?void 0:s.toString()}});case 13:case"end":return e.stop()}}),e,this,[[1,8]])}))),function(e,t){return n.apply(this,arguments)})},{key:"putFile",value:function(e,t){throw new c.E("putFile")}},{key:"putModule",value:function(e,t){throw new c.E("putModule")}},{key:"complete",value:(t=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",[]);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"more",value:(e=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.E("more");case 1:case"end":return e.stop()}}),e)}))),function(t){return e.apply(this,arguments)})},{key:"download",value:function(e,t){var n;null===(n=this.postMessage)||void 0===n||n.call(this,{type:"download",content:{content:e,filename:t}})}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"sleep",value:function(e){if(e*=1e3,null!=this._sab)return Atomics.store(new Int32Array(this._sab),0,0),void Atomics.wait(new Int32Array(this._sab),0,0,e);for(var t=Date.now();Date.now()-t<e;);}},{key:"decodeSharedArrayBuffer",value:function(e){for(var t=new Uint8Array(e),n=t.length;n>0&&0===t[n-1];n--);if(0===n)return"";var r=new Uint8Array(n);r.set(t.subarray(0,n));try{return(new TextDecoder).decode(r)}catch(e){if(t.length===n)throw new Error("String too long, can't decode");throw e}}},{key:"input",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null!=this._sab){var r,a=this.clone(this.__eval_data__);return null===(r=this.postMessage)||void 0===r||r.call(this,{type:"input",content:{data:a,prompt:e,password:n}}),Atomics.store(new Int32Array(this._sab),0,0),Atomics.wait(new Int32Array(this._sab),0,0),this.decodeSharedArrayBuffer(this._sab)}return null!==(t=self._prompt(null!=e?e:""))&&void 0!==t?t:""}}]);var e,t,n,o,p,f,h,d}()},7695:(e,t,n)=>{n.d(t,{LV:()=>f,UD:()=>a,k0:()=>b,p:()=>l});const r=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),s=Symbol("Comlink.releaseProxy"),o=Symbol("Comlink.finalizer"),i=Symbol("Comlink.thrown"),u=e=>"object"==typeof e&&null!==e||"function"==typeof e,c=new Map([["proxy",{canHandle:e=>u(e)&&e[r],serialize(e){const{port1:t,port2:n}=new MessageChannel;return l(e,t),[n,[n]]},deserialize:e=>(e.start(),f(e))}],["throw",{canHandle:e=>u(e)&&i in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function l(e,t=globalThis,n=["*"]){t.addEventListener("message",(function a(s){if(!s||!s.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(n,s.origin))return void console.warn(`Invalid origin '${s.origin}' for comlink proxy`);const{id:u,type:c,path:f}=Object.assign({path:[]},s.data),h=(s.data.argumentList||[]).map(_);let d;try{const t=f.slice(0,-1).reduce(((e,t)=>e[t]),e),n=f.reduce(((e,t)=>e[t]),e);switch(c){case"GET":d=n;break;case"SET":t[f.slice(-1)[0]]=_(s.data.value),d=!0;break;case"APPLY":d=n.apply(t,h);break;case"CONSTRUCT":d=function(e){return Object.assign(e,{[r]:!0})}(new n(...h));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;l(e,n),d=b(t,[t])}break;case"RELEASE":d=void 0;break;default:return}}catch(e){d={value:e,[i]:0}}Promise.resolve(d).catch((e=>({value:e,[i]:0}))).then((n=>{const[r,s]=g(n);t.postMessage(Object.assign(Object.assign({},r),{id:u}),s),"RELEASE"===c&&(t.removeEventListener("message",a),p(t),o in e&&"function"==typeof e[o]&&e[o]())})).catch((e=>{const[n,r]=g({value:new TypeError("Unserializable return value"),[i]:0});t.postMessage(Object.assign(Object.assign({},n),{id:u}),r)}))})),t.start&&t.start()}function p(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function f(e,t){return m(e,[],t)}function h(e){if(e)throw new Error("Proxy has been released and is not useable")}function d(e){return x(e,{type:"RELEASE"}).then((()=>{p(e)}))}const v=new WeakMap,y="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(v.get(e)||0)-1;v.set(e,t),0===t&&d(e)}));function m(e,t=[],n=function(){}){let r=!1;const o=new Proxy(n,{get(n,a){if(h(r),a===s)return()=>{!function(e){y&&y.unregister(e)}(o),d(e),r=!0};if("then"===a){if(0===t.length)return{then:()=>o};const n=x(e,{type:"GET",path:t.map((e=>e.toString()))}).then(_);return n.then.bind(n)}return m(e,[...t,a])},set(n,a,s){h(r);const[o,i]=g(s);return x(e,{type:"SET",path:[...t,a].map((e=>e.toString())),value:o},i).then(_)},apply(n,s,o){h(r);const i=t[t.length-1];if(i===a)return x(e,{type:"ENDPOINT"}).then(_);if("bind"===i)return m(e,t.slice(0,-1));const[u,c]=k(o);return x(e,{type:"APPLY",path:t.map((e=>e.toString())),argumentList:u},c).then(_)},construct(n,a){h(r);const[s,o]=k(a);return x(e,{type:"CONSTRUCT",path:t.map((e=>e.toString())),argumentList:s},o).then(_)}});return function(e,t){const n=(v.get(t)||0)+1;v.set(t,n),y&&y.register(e,t,e)}(o,e),o}function k(e){const t=e.map(g);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const w=new WeakMap;function b(e,t){return w.set(e,t),e}function g(e){for(const[t,n]of c)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},w.get(e)||[]]}function _(e){switch(e.type){case"HANDLER":return c.get(e.name).deserialize(e.value);case"RAW":return e.value}}function x(e,t,n){return new Promise((r=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function t(n){n.data&&n.data.id&&n.data.id===a&&(e.removeEventListener("message",t),r(n.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:a},t),n)}))}}}]);
3
- //# sourceMappingURL=kernel-base_lib_worker_index_js-_a2471.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kernel-base_lib_worker_index_js-_a2471.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-main.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/worker-utils.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-worker.js","webpack://@basthon/browser-bundle/../../node_modules/comlink/dist/esm/comlink.mjs"],"sourcesContent":["import { wrap, createEndpoint, transfer } from \"comlink\";\nimport { NotImplementedError } from \"../commons\";\nimport { KernelBase } from \"../kernel\";\n// mock Worker to support sandboxing and keep webpack compatibility\nif (globalThis.Worker.name !== \"SandboxedWorker\") {\n class SandboxedWorker extends Worker {\n constructor(url, options) {\n if (options?.sandboxed === true) {\n const absURL = new URL(url).href;\n const assetsURL = absURL.substring(0, absURL.lastIndexOf(\"/\"));\n // worker created with a 'data' url scheme has opaque origin\n // https://html.spec.whatwg.org/multipage/workers.html#script-settings-for-workers:concept-origin-opaque\n const workerScript = `self._assetsURL = \"${assetsURL}\";\n globalThis = {importScripts: self.importScripts, location: \"${url}\"};\n importScripts(\"${url}\");\n globalThis = self;`.replace(/\\s/g, \"\");\n super(`data:text/javascript;base64,${btoa(workerScript)}`);\n }\n else {\n super(url, options);\n }\n }\n }\n globalThis.Worker = SandboxedWorker;\n}\nexport class KernelMainBase extends KernelBase {\n constructor(options) {\n super(options);\n this._legacy = false;\n this._legacy = options?.legacy === true;\n if (!this.isLegacy() && globalThis.crossOriginIsolated)\n this._sab = new SharedArrayBuffer(1024);\n }\n /**\n * Is this a legacy worker? i.e. not runing in a worker.\n */\n isLegacy() {\n return this._legacy;\n }\n /**\n * Is this kernel safe? (loaded in an isolated web worker)\n */\n safeKernel() {\n return !this.isLegacy();\n }\n /**\n * Get a new worker (should be overloaded).\n */\n newWorker() {\n throw new NotImplementedError(\"newWorker\");\n }\n /**\n * Import the code for a legacy worker (running in the main thread).\n */\n async importLegacyWorker() {\n throw new NotImplementedError(\"importLegacyWorker\");\n }\n /**\n * Create the kernel webworker and setup communication.\n */\n async setupWorker() {\n const comlinkChannel = new MessageChannel();\n if (this.isLegacy()) {\n // running in main thread via message channel (fake worker)\n //@ts-ignore\n self._commPort = comlinkChannel.port1;\n await this.importLegacyWorker();\n }\n else {\n // setup the kernel worker\n const worker = this.newWorker();\n // send communication port\n worker.postMessage(comlinkChannel.port1, [comlinkChannel.port1]);\n this._worker = worker;\n }\n const KernelWorker = wrap(comlinkChannel.port2);\n // why typescript complains about this call? yet, this is advertised in\n // https://github.com/GoogleChromeLabs/comlink/blob/dffe9050f63b1b39f30213adeb1dd4b9ed7d2594/docs/examples/03-classes-example/index.html#L15\n //@ts-ignore\n this._remote = await new KernelWorker(this._options);\n // setup the communication channel\n const commChannel = new MessageChannel();\n commChannel.port2.onmessage = (e) => this.processWorkerMessage(e.data);\n await this.remote?.setCommPort(transfer(commChannel.port1, [commChannel.port1]));\n // WARNING: without the setCommPort call, KernelWorker (proxy)\n // is garbage collected and comlink releases the proxy,\n // breaking all the communications... (don't know really why)\n // If you experience this, just keep a ref on the proxy with e.g.\n // this.PROXY = KernelWorker\n }\n /**\n * Start the worker.\n */\n async _start() {\n await super._start();\n // setup the proxy worker\n const proxyWorker = new Worker(new URL(\"./comlink-proxy.js\", import.meta.url), {\n type: \"module\",\n });\n const proxy = wrap(proxyWorker);\n // setup the kernel worker\n await this.setupWorker();\n if (this._sab != null) {\n console.log(\"Using SharedArrayBuffer for synchronous worker communication.\");\n await this._remote?.setSAB(this._sab);\n }\n // bind ports\n const port = await proxy[createEndpoint]();\n await this.remote?.setProxyPort(transfer(port, [port]));\n // init remote\n await this.remote?.init();\n }\n /**\n * Comlink remote getter.\n */\n get remote() {\n return this._remote;\n }\n /**\n * Stop the worker.\n */\n async _stop() {\n this._worker?.terminate();\n this._worker = undefined;\n this._remote = undefined;\n await super._stop();\n }\n /**\n * Process messages from worker (if any).\n */\n processWorkerMessage(msg) {\n switch (msg.type) {\n case \"stream\":\n const { stream, text } = msg.content;\n const dataEvent = this.clone(msg.data);\n dataEvent.stream = stream;\n dataEvent.content = text;\n this.dispatchEvent(\"eval.output\", dataEvent);\n break;\n case \"download\":\n const { content, filename } = msg.content;\n this.download(content, filename);\n break;\n case \"display\":\n this.dispatchEvent(\"eval.display\", msg.data);\n break;\n case \"input\":\n const { prompt, password, data } = msg.content;\n (async () => {\n const res = (await this.inputAsync(prompt, password, data));\n if (this._sab == null)\n return;\n const encodedRes = new TextEncoder().encode(res);\n new Uint8Array(this._sab).set(encodedRes.subarray(0, this._sab.byteLength));\n Atomics.notify(new Int32Array(this._sab), 0, 1);\n })();\n break;\n default: // ignoring (probably a comlink message)\n }\n }\n async evalAsync(code, outCallback, errCallback, data = null) {\n // force interactivity in all modes\n data.interactive = true;\n this._execution_count++;\n // evaluation\n const execResult = (await this.remote?.eval(data, code));\n // return result\n let result;\n switch (execResult?.status) {\n case \"ok\":\n result = execResult.result;\n break;\n case \"error\":\n break;\n }\n return [result, this._execution_count];\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n async putFile(filename, content) {\n await super.putFile(filename, content);\n await this.remote?.putFile(filename, content);\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n async putModule(filename, content) {\n await super.putModule(filename, content);\n await this.remote?.putModule(filename, content);\n }\n /**\n * Complete a code at the end (usefull for tab completion).\n *\n * Returns an array of two elements: the list of completions\n * and the start index.\n */\n async complete(code) {\n return (await this.remote?.complete(code)) ?? [];\n }\n /**\n * Tell wether we should wait for more code or if it can\n * be run as is.\n *\n * Useful to set ps1/ps2 in console prompt.\n */\n async more(code) {\n return (await this.remote?.more(code)) ?? false;\n }\n}\n","import { expose as exposeComlink } from \"comlink\";\nconst insideWorker = () => \n//@ts-ignore\ntypeof WorkerGlobalScope !== \"undefined\" && self instanceof WorkerGlobalScope;\nexport const expose = (kwc) => {\n if (insideWorker()) {\n // worker\n const listener = (msg) => {\n if (!(msg?.data instanceof MessagePort))\n return;\n removeEventListener(\"message\", listener);\n exposeComlink(kwc, msg.data);\n };\n addEventListener(\"message\", listener);\n }\n else {\n // main thread\n exposeComlink(kwc, self._commPort);\n self._commPort = undefined; // no more needed\n }\n};\n","import { PromiseDelegate } from \"promise-delegate\";\nimport { NotImplementedError, mockFetch } from \"../commons\";\nimport { wrap } from \"comlink\";\nclass KernelWorkerBase {\n constructor(options) {\n this._ready = new PromiseDelegate();\n this._options = options;\n this._legacy = options?.legacy === true;\n /* we mock the fetch function to:\n * - redirect queries to local FS\n * - bypass the worker's opaque origin\n */\n mockFetch(this.isLegacy());\n // useful for ffi\n self.basthon = this;\n // the window object is not available in a webworker...\n if (self.window == null)\n self.window = self;\n // common way to create a canvas in worker and legacy mode\n self.Canvas = !this.isLegacy()\n ? globalThis.OffscreenCanvas\n : function Canvas(width, height) {\n const canvas = document.createElement(\"canvas\");\n if (width != null)\n canvas.width = width;\n if (height != null)\n canvas.height = height;\n return canvas;\n };\n // global prompt redirected to our input\n if (self._prompt == null)\n self._prompt = globalThis.prompt;\n globalThis.prompt = (p) => this.input(p);\n }\n /**\n * Is this a legacy worker? i.e. not runing in a worker.\n */\n isLegacy() {\n return this._legacy;\n }\n /**\n * Set SharedArrayBuffer from main thread.\n */\n setSAB(sab) {\n this._sab = sab;\n }\n /*\n * Initialize the kernel. Should be overloaded.\n */\n async _init() { }\n /**\n * Initialize the kernel. It is called by initWorker in KernelBase.\n */\n async init() {\n try {\n await this._init();\n this._ready.resolve();\n }\n catch (e) {\n this._ready.reject(e);\n }\n }\n /**\n * Wait for the kernel to be ready.\n */\n ready() {\n return this._ready.promise;\n }\n /**\n * Set communication port.\n */\n setCommPort(port) {\n this.postMessage = port.postMessage.bind(port);\n }\n /**\n * Set the comlink communication port to proxy fetch.\n */\n setProxyPort(port) {\n self._remoteProxy = wrap(port);\n }\n /**\n * Send stream to stdout/stderr.\n */\n sendStream(data, stream, text) {\n this.postMessage?.({\n data,\n type: \"stream\",\n content: { stream, text },\n });\n }\n /**\n * Send stream to stdout.\n */\n sendStdoutStream(data, text) {\n this.sendStream(data, \"stdout\", text);\n }\n /**\n * Send stream to stderr.\n */\n sendStderrStream(data, text) {\n this.sendStream(data, \"stderr\", text);\n }\n async blobToDataURL(blob) {\n return await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.readAsDataURL(blob);\n });\n }\n /**\n * Display a blob (only png images are supported).\n */\n async displayBlob(blob, data) {\n if (data == null)\n data = this.clone(this.__eval_data__);\n const dataURL = await this.blobToDataURL(blob);\n const pngPrefix = \"data:image/png;base64,\";\n if (dataURL.startsWith(pngPrefix)) {\n const png = dataURL.slice(pngPrefix.length);\n data[\"display_type\"] = \"multiple\";\n data[\"content\"] = { \"image/png\": png };\n }\n else {\n return;\n }\n this.postMessage?.({ data, type: \"display\" });\n }\n /**\n * Display an element like a canvas, ... in the frontend.\n */\n display(element) {\n const data = this.clone(this.__eval_data__);\n if (globalThis.OffscreenCanvas != null &&\n element instanceof OffscreenCanvas) {\n element\n .convertToBlob()\n .then((blob) => this.displayBlob(blob, data));\n }\n else {\n data[\"display_type\"] = \"multiple\";\n data[\"content\"] = element;\n this.postMessage?.({ data, type: \"display\" });\n }\n }\n /**\n * Evaluate code and return an object with mime type keys and string value.\n * To be overloaded.\n */\n async _eval(data, code) {\n throw new NotImplementedError(\"_eval\");\n }\n /**\n * Evaluate a string of code. To be called by main thread (through comlink).\n */\n async eval(data, code) {\n this.__eval_data__ = data;\n try {\n const result = await this._eval(data, code);\n return { data, status: \"ok\", result };\n }\n catch (e) {\n const { name, stack, message } = e;\n this.sendStderrStream(data, e.toString());\n return {\n data,\n status: \"error\",\n error: {\n name: name,\n value: message,\n traceback: stack?.toString(),\n },\n };\n }\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n /**\n * Complete the submited code.\n */\n async complete(code) {\n return [];\n }\n /**\n * Tell wether we should wait for more code or if it can\n * be run as is.\n *\n * Useful to set ps1/ps2 in console prompt.\n */\n async more(code) {\n throw new NotImplementedError(\"more\");\n }\n /**\n * Send a message to the main thread to download a file.\n */\n download(content, filename) {\n this.postMessage?.({\n type: \"download\",\n content: { content, filename },\n });\n }\n /**\n * Use JSON stringify/parse to copy an object.\n */\n clone(data) {\n return JSON.parse(JSON.stringify(data));\n }\n /**\n * Sync sleep for a certain duration in seconds.\n */\n sleep(duration) {\n duration = duration * 1000; // to milliseconds\n if (this._sab != null) {\n // ensure value before waiting\n Atomics.store(new Int32Array(this._sab), 0, 0);\n Atomics.wait(new Int32Array(this._sab), 0, 0, duration);\n return;\n }\n else {\n const t0 = Date.now();\n // active sleep\n while (Date.now() - t0 < duration)\n ;\n }\n }\n /**\n * Decode the string contained in a SharedArrayBuffer to\n * bypas this issue:\n * https://github.com/whatwg/encoding/issues/172\n */\n decodeSharedArrayBuffer(sab) {\n const array = new Uint8Array(sab);\n let length = array.length;\n for (; length > 0 && array[length - 1] === 0; length--)\n ;\n if (length === 0)\n return \"\";\n const cropped = new Uint8Array(length);\n cropped.set(array.subarray(0, length));\n try {\n return new TextDecoder().decode(cropped);\n }\n catch (e) {\n if (array.length === length)\n throw new Error(\"String too long, can't decode\");\n throw e;\n }\n }\n /**\n * Sync input that does not use the ugly prompt but send\n * an eval.input event to the main thread and wait for the response.\n */\n input(prompt, password = false) {\n if (this._sab != null) {\n const data = this.clone(this.__eval_data__);\n this.postMessage?.({\n type: \"input\",\n content: { data, prompt, password },\n });\n // ensure value before waiting\n Atomics.store(new Int32Array(this._sab), 0, 0);\n Atomics.wait(new Int32Array(this._sab), 0, 0);\n return this.decodeSharedArrayBuffer(this._sab);\n }\n else {\n return self._prompt(prompt ?? \"\") ?? \"\";\n }\n }\n}\nexport { KernelWorkerBase };\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nconst proxyMarker = Symbol(\"Comlink.proxy\");\nconst createEndpoint = Symbol(\"Comlink.endpoint\");\nconst releaseProxy = Symbol(\"Comlink.releaseProxy\");\nconst finalizer = Symbol(\"Comlink.finalizer\");\nconst throwMarker = Symbol(\"Comlink.thrown\");\nconst isObject = (val) => (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n/**\n * Internal transfer handle to handle objects marked to proxy.\n */\nconst proxyTransferHandler = {\n canHandle: (val) => isObject(val) && val[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n};\n/**\n * Internal transfer handler to handle thrown exceptions.\n */\nconst throwTransferHandler = {\n canHandle: (value) => isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n }\n else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(new Error(serialized.value.message), serialized.value);\n }\n throw serialized.value;\n },\n};\n/**\n * Allows customizing the serialization of certain values.\n */\nconst transferHandlers = new Map([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n]);\nfunction isAllowedOrigin(allowedOrigins, origin) {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n}\nfunction expose(obj, ep = globalThis, allowedOrigins = [\"*\"]) {\n ep.addEventListener(\"message\", function callback(ev) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = Object.assign({ path: [] }, ev.data);\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case \"GET\" /* MessageType.GET */:\n {\n returnValue = rawValue;\n }\n break;\n case \"SET\" /* MessageType.SET */:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case \"APPLY\" /* MessageType.APPLY */:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case \"CONSTRUCT\" /* MessageType.CONSTRUCT */:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case \"ENDPOINT\" /* MessageType.ENDPOINT */:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case \"RELEASE\" /* MessageType.RELEASE */:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n }\n catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n if (type === \"RELEASE\" /* MessageType.RELEASE */) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n });\n });\n if (ep.start) {\n ep.start();\n }\n}\nfunction isMessagePort(endpoint) {\n return endpoint.constructor.name === \"MessagePort\";\n}\nfunction closeEndPoint(endpoint) {\n if (isMessagePort(endpoint))\n endpoint.close();\n}\nfunction wrap(ep, target) {\n return createProxy(ep, [], target);\n}\nfunction throwIfProxyReleased(isReleased) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n}\nfunction releaseEndpoint(ep) {\n return requestResponseMessage(ep, {\n type: \"RELEASE\" /* MessageType.RELEASE */,\n }).then(() => {\n closeEndPoint(ep);\n });\n}\nconst proxyCounter = new WeakMap();\nconst proxyFinalizers = \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\nfunction registerProxy(proxy, ep) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n}\nfunction unregisterProxy(proxy) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n}\nfunction createProxy(ep, path = [], target = function () { }) {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, {\n type: \"GET\" /* MessageType.GET */,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(ep, {\n type: \"SET\" /* MessageType.SET */,\n path: [...path, prop].map((p) => p.toString()),\n value,\n }, transferables).then(fromWireValue);\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if (last === createEndpoint) {\n return requestResponseMessage(ep, {\n type: \"ENDPOINT\" /* MessageType.ENDPOINT */,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, {\n type: \"APPLY\" /* MessageType.APPLY */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, {\n type: \"CONSTRUCT\" /* MessageType.CONSTRUCT */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy;\n}\nfunction myFlat(arr) {\n return Array.prototype.concat.apply([], arr);\n}\nfunction processArguments(argumentList) {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n}\nconst transferCache = new WeakMap();\nfunction transfer(obj, transfers) {\n transferCache.set(obj, transfers);\n return obj;\n}\nfunction proxy(obj) {\n return Object.assign(obj, { [proxyMarker]: true });\n}\nfunction windowEndpoint(w, context = globalThis, targetOrigin = \"*\") {\n return {\n postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),\n addEventListener: context.addEventListener.bind(context),\n removeEventListener: context.removeEventListener.bind(context),\n };\n}\nfunction toWireValue(value) {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: \"HANDLER\" /* WireValueType.HANDLER */,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: \"RAW\" /* WireValueType.RAW */,\n value,\n },\n transferCache.get(value) || [],\n ];\n}\nfunction fromWireValue(value) {\n switch (value.type) {\n case \"HANDLER\" /* WireValueType.HANDLER */:\n return transferHandlers.get(value.name).deserialize(value.value);\n case \"RAW\" /* WireValueType.RAW */:\n return value.value;\n }\n}\nfunction requestResponseMessage(ep, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n ep.addEventListener(\"message\", function l(ev) {\n if (!ev.data || !ev.data.id || ev.data.id !== id) {\n return;\n }\n ep.removeEventListener(\"message\", l);\n resolve(ev.data);\n });\n if (ep.start) {\n ep.start();\n }\n ep.postMessage(Object.assign({ id }, msg), transfers);\n });\n}\nfunction generateUUID() {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n}\n\nexport { createEndpoint, expose, finalizer, proxy, proxyMarker, releaseProxy, transfer, transferHandlers, windowEndpoint, wrap };\n//# sourceMappingURL=comlink.mjs.map\n"],"names":["globalThis","Worker","name","SandboxedWorker","_Worker","url","options","_this","_classCallCheck","sandboxed","absURL","URL","href","assetsURL","substring","lastIndexOf","workerScript","concat","replace","_callSuper","btoa","_assertThisInitialized","_inherits","_createClass","_wrapNativeSuper","KernelMainBase","_KernelBase","_this2","_legacy","legacy","isLegacy","crossOriginIsolated","_sab","SharedArrayBuffer","key","value","this","NotImplementedError","_importLegacyWorker","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","stop","apply","arguments","_setupWorker","_callee2","_this$remote","comlinkChannel","worker","KernelWorker","commChannel","_this3","_context2","MessageChannel","self","_commPort","port1","importLegacyWorker","newWorker","postMessage","_worker","wrap","port2","_options","_remote","sent","onmessage","e","processWorkerMessage","data","remote","setCommPort","transfer","_start2","_callee3","_this$remote2","_this$remote3","proxyWorker","proxy","_this$_remote","port","_context3","_superPropGet","type","setupWorker","console","log","setSAB","createEndpoint","setProxyPort","init","get","_stop2","_callee4","_this$_worker","_context4","terminate","undefined","msg","_this4","_msg$content","content","stream","text","dataEvent","clone","dispatchEvent","_msg$content2","filename","download","_msg$content3","prompt","password","_callee5","res","encodedRes","_context5","inputAsync","abrupt","TextEncoder","encode","Uint8Array","set","subarray","byteLength","Atomics","notify","Int32Array","_evalAsync","_callee6","code","outCallback","errCallback","_this$remote4","execResult","result","_args6","_context6","length","interactive","_execution_count","eval","t0","status","_x","_x2","_x3","_putFile","_callee7","_this$remote5","_context7","putFile","_x4","_x5","_putModule","_callee8","_this$remote6","_context8","putModule","_x6","_x7","_complete","_callee9","_yield$this$remote$co","_this$remote7","_context9","complete","t1","t2","_x8","_more","_callee10","_yield$this$remote$mo","_this$remote8","_context10","more","_x9","KernelBase","expose","kwc","WorkerGlobalScope","listener","MessagePort","removeEventListener","exposeComlink","addEventListener","KernelWorkerBase","_ready","PromiseDelegate","mockFetch","basthon","window","Canvas","width","height","canvas","document","createElement","OffscreenCanvas","_prompt","p","input","sab","_init2","_init3","_init","resolve","reject","promise","bind","_remoteProxy","_this$postMessage","call","sendStream","_blobToDataURL","blob","Promise","reader","FileReader","onloadend","readAsDataURL","_displayBlob","_this$postMessage2","dataURL","pngPrefix","png","__eval_data__","blobToDataURL","startsWith","slice","element","_this$postMessage3","convertToBlob","then","displayBlob","_eval2","_eval3","stack","message","_eval","sendStderrStream","toString","error","traceback","_this$postMessage4","JSON","parse","stringify","duration","store","wait","Date","now","array","cropped","TextDecoder","decode","Error","_self$_prompt","_this$postMessage5","decodeSharedArrayBuffer","proxyMarker","Symbol","releaseProxy","finalizer","throwMarker","isObject","val","transferHandlers","Map","canHandle","serialize","obj","deserialize","start","serialized","isError","Object","assign","ep","allowedOrigins","callback","ev","origin","allowedOrigin","RegExp","test","isAllowedOrigin","warn","id","path","argumentList","map","fromWireValue","returnValue","parent","reduce","prop","rawValue","catch","wireValue","transferables","toWireValue","closeEndPoint","TypeError","endpoint","constructor","isMessagePort","close","target","createProxy","throwIfProxyReleased","isReleased","releaseEndpoint","requestResponseMessage","proxyCounter","WeakMap","proxyFinalizers","FinalizationRegistry","newCount","isProxyReleased","Proxy","_target","unregister","unregisterProxy","r","_thisArg","rawArgumentList","last","processArguments","construct","register","registerProxy","processed","v","arr","Array","prototype","transferCache","transfers","handler","serializedValue","fill","Math","floor","random","Number","MAX_SAFE_INTEGER","join","l"],"sourceRoot":""}