@basthon/browser-bundle 0.72.5 → 0.72.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{0.72.5 → 0.72.6}/python3/basthon.tar +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/modules/IPython-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/modules/p5-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/modules/requests-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/modules/turtle-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/modules/tutor-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.72.5 → 0.72.6}/python3/repodata.json +1 -1
- package/lib/bundle.js +1 -1
- package/lib/bundle.js.map +1 -1
- package/lib/kernel-base_lib_commons_js-kernel-base_lib_version_js-kernel-echo_lib_index_js.js +2 -0
- package/lib/kernel-base_lib_commons_js-kernel-base_lib_version_js-kernel-echo_lib_index_js.js.map +1 -0
- package/lib/kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_defineProperty_js.js +2 -0
- package/lib/kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_defineProperty_js.js.map +1 -0
- package/lib/kernel-base_lib_worker_index_js-_3c190.js +2 -0
- package/lib/kernel-base_lib_worker_index_js-_3c190.js.map +1 -0
- package/lib/kernel-base_lib_worker_index_js-_3c191.js +3 -0
- package/lib/kernel-base_lib_worker_index_js-_3c191.js.map +1 -0
- package/lib/kernel-base_lib_worker_kernel-main_js.js +1 -1
- package/lib/kernel-base_lib_worker_kernel-main_js.js.map +1 -1
- package/lib/kernel-base_lib_worker_kernel-worker_js.js +1 -1
- package/lib/kernel-base_lib_worker_kernel-worker_js.js.map +1 -1
- package/lib/kernel-javascript_lib_comlink-worker_js-_32960.js +1 -1
- package/lib/kernel-javascript_lib_comlink-worker_js-_32960.js.map +1 -1
- package/lib/kernel-ocaml_lib_comlink-worker_js-_d37d0.js +1 -1
- package/lib/kernel-ocaml_lib_comlink-worker_js-_d37d0.js.map +1 -1
- package/lib/kernel-python3_lib_comlink-worker_js-_e7af0.js +1 -1
- package/lib/kernel-sql_lib_comlink-worker_js-_de34-_98fd-_2e65-_0749-_ff61-_ec48-_e376-_7dc1-_f84f-_4c42--dd5cc30.js +1 -1
- package/lib/kernel-sql_lib_comlink-worker_js-_de34-_98fd-_2e65-_0749-_ff61-_ec48-_e376-_7dc1-_f84f-_4c42--dd5cc30.js.map +1 -1
- package/lib/kernel-xcas_lib_comlink-worker_js-_4d500.js +1 -1
- package/lib/kernel-xcas_lib_comlink-worker_js-_4d500.js.map +1 -1
- package/package.json +5 -4
- package/lib/kernel-base_lib_worker_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js.js +0 -3
- package/lib/kernel-base_lib_worker_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js.js.map +0 -1
- package/lib/kernel-base_lib_worker_index_js.js +0 -2
- package/lib/kernel-base_lib_worker_index_js.js.map +0 -1
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/053e308b29fa94c9768c.png +0 -0
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/43557192d14bec1ce5a1.png +0 -0
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/62dc93aaa1f4a5ab9654.png +0 -0
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/a3c784d737c50501dfcd.png +0 -0
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/a3fa2b0f6d2467fdac56.png +0 -0
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/bundle.js +0 -0
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/bundle.js.LICENSE.txt +0 -0
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/bundle.js.map +0 -0
- /package/lib/{0.72.5 → 0.72.6}/python3/modules/extern/tutor/f997956ae061f27f24f5.png +0 -0
- /package/lib/{kernel-base_lib_worker_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js.js.LICENSE.txt → kernel-base_lib_worker_index_js-_3c191.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_defineProperty_js.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/kernel.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/construct.js"],"sourcesContent":["import { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from \"./version\";\nimport { NotImplementedError } from \"./commons\";\n/**\n * Event for Basthon's dispatch/listen.\n */\nclass BasthonEvent extends Event {\n constructor(id, data) {\n super(id);\n this.detail = data;\n }\n}\nexport { VERSION };\n/**\n * API that any Basthon kernel should fill to be supported\n * in console/notebook.\n */\nexport class KernelBase {\n constructor(options) {\n this._isReady = false;\n this._ready = new PromiseDelegate();\n this._stopped = Promise.resolve();\n this._execution_count = 0;\n this._pendingInput = undefined;\n // a map to register wrapped listeners to allow later remove\n this._listeners = new Map();\n this._files = new Map();\n this._modules = new Map();\n this._options = this.clone(options);\n // root path where kernel is installed\n this._rootPath = options.rootPath;\n }\n /**\n * Is this kernel safe? (loaded from an isolated web worker)\n */\n safeKernel() {\n return false;\n }\n /**\n * Kernel version number (string).\n */\n version() {\n return VERSION;\n }\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() {\n throw new NotImplementedError(\"language\");\n }\n /**\n * Language name implemented in the kernel (string).\n * As it should be displayed in text.\n */\n languageName() {\n throw new NotImplementedError(\"languageName\");\n }\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n /**\n * Execution count getter.\n */\n get execution_count() {\n return this._execution_count;\n }\n /**\n * Async code evaluation that resolves with the result.\n */\n evalAsync(code, outCallback, errCallback, data = null) {\n throw new NotImplementedError(\"evalAsync\");\n }\n async putFile(filename, content) {\n this._files.set(filename, content);\n }\n async putModule(filename, content) {\n this._modules.set(filename, content);\n }\n async userModules() {\n return [];\n }\n /**\n * Get a file content from the VFS.\n */\n async getFile(path) {\n throw new NotImplementedError(\"getFile\");\n }\n /**\n * Get a user module file content.\n */\n async getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n async more(source) {\n throw new NotImplementedError(\"more\");\n }\n async complete(code) {\n return [];\n }\n banner() {\n return `Welcome to the ${this.languageName()} REPL!`;\n }\n ps1() {\n return \">>> \";\n }\n ps2() {\n return \"... \";\n }\n /**\n * Launch the kernel (used to wrap a promise around init).\n */\n async _init() { }\n /**\n * Initialize the kernel and start it.\n */\n async init() {\n if (!this.safeKernel())\n console.warn(`%c⚠ DANGER ⚠: this kernel is not safe!` +\n \" Please consider using a safe kernel.\", \"color: red; font-size: 20px;\");\n try {\n await this._init();\n }\n catch (error) {\n this._ready.reject(error);\n throw error;\n }\n // connecting eval to basthon.eval.request event.\n this.addEventListener(\"eval.request\", this.evalFromEvent.bind(this));\n await this.start();\n }\n /**\n * Start the kernel (used to wrap a promise around start).\n */\n async _start() { }\n /**\n * Start the kernel.\n */\n async start() {\n await this._stopped;\n this._execution_count = 0;\n try {\n await this._start();\n }\n catch (error) {\n this._ready.reject(error);\n throw error;\n }\n this._files.forEach((v, k) => this.putFile(k, v));\n this._modules.forEach((v, k) => this.putModule(k, v));\n this._isReady = true;\n this._ready.resolve();\n }\n /**\n * Perform async part of the stoping process.\n */\n async _stop() { }\n /**\n * Stop the kernel synchronously (to ensure kernel is stopped after the call).\n */\n stop() {\n this._isReady = false;\n this._ready = new PromiseDelegate();\n this._stopped = this._stop();\n }\n /**\n * Restart the kernel (stop and start).\n * Use await this.ready() to ensure kernel is started\n */\n restart() {\n this.stop(); // sync\n this.start(); // async\n }\n /**\n * Is the kernel ready?\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * Promise that resolves when the kernel is ready (started).\n */\n async ready() {\n return this._ready.promise;\n }\n /**\n * Root path for assets files.\n */\n assetsURL(absolute = false) {\n let url = this._rootPath;\n if (absolute && !url.startsWith(\"http\")) {\n const base = window.location.origin + window.location.pathname;\n url = base.substring(0, base.lastIndexOf(\"/\")) + \"/\" + url;\n }\n return url;\n }\n /**\n * Root for kernel files. This is always the language directory\n * inside the version number directory inside the assets directory.\n */\n basthonRoot(absolute = false) {\n return (this.assetsURL(absolute) + \"/\" + this.version() + \"/\" + this.language());\n }\n /**\n * Downloading data (bytes array or data URL) as filename\n * (opening browser dialog).\n */\n download(data, filename) {\n if (!(typeof data === \"string\" || data instanceof String)) {\n const blob = new Blob([data], { type: \"application/octet-stream\" });\n data = window.URL.createObjectURL(blob);\n }\n const anchor = document.createElement(\"a\");\n anchor.download = filename;\n anchor.href = data;\n anchor.target = \"_blank\";\n anchor.style.display = \"none\"; // just to be safe!\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n }\n /**\n * Wrapper around document.dispatchEvent.\n * It adds the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n dispatchEvent(eventName, data) {\n document.dispatchEvent(new BasthonEvent(`basthon.${eventName}`, data));\n }\n /**\n * Wrapper around document.addEventListener.\n * It manages the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n addEventListener(eventName, callback) {\n // wrapped callback\n const _callback = (event) => callback(event.detail);\n document.addEventListener(`basthon.${eventName}`, _callback);\n // register the wrapped callback in order to remove it\n let listeners = this._listeners.get(eventName);\n if (listeners == null) {\n listeners = new Map();\n this._listeners.set(eventName, listeners);\n }\n listeners.set(callback, _callback);\n }\n /**\n * Wrapper around document.removeEventListener.\n * It manages the 'basthon.' prefix to each event name.\n */\n removeEventListener(eventName, callback) {\n // get the wrapped callback\n const listeners = this._listeners.get(eventName);\n document.removeEventListener(`basthon.${eventName}`, listeners?.get(callback));\n }\n /**\n * Send eval.input event then wait for the user response and return it.\n */\n async inputAsync(prompt, password = false, data = undefined) {\n data = this.clone(data);\n data.content = { prompt, password };\n const pd = new PromiseDelegate();\n data.resolve = pd.resolve.bind(pd);\n data.reject = pd.reject.bind(pd);\n this._pendingInput = pd;\n this.dispatchEvent(\"eval.input\", data);\n const res = await pd.promise;\n this._pendingInput = undefined;\n return res;\n }\n /**\n * Close a pending input.\n */\n resolvePendingInput() {\n this._pendingInput?.resolve(\"\");\n }\n /**\n * Simple clone via JSON copy.\n */\n clone(obj) {\n // simple trick that is enough for our purpose.\n return JSON.parse(JSON.stringify(obj));\n }\n /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n async putRessource(filename, content) {\n const ext = filename.split(\".\").pop() ?? \"\";\n if (this.moduleExts().includes(ext)) {\n return await this.putModule(filename, content);\n }\n else {\n return await this.putFile(filename, content);\n }\n }\n /**\n * Is an input pending?\n */\n pendingInput() {\n return this._pendingInput != null;\n }\n /**\n * Internal. Code evaluation after an eval.request event.\n */\n async evalFromEvent(data) {\n const stdCallback = (std) => (text) => {\n let dataEvent = this.clone(data);\n dataEvent.stream = std;\n dataEvent.content = text;\n this.dispatchEvent(\"eval.output\", dataEvent);\n };\n const outCallback = stdCallback(\"stdout\");\n const errCallback = stdCallback(\"stderr\");\n let args;\n try {\n args = await this.evalAsync(data.code, outCallback, errCallback, data);\n }\n catch (error) {\n errCallback(error.toString());\n const dataEvent = this.clone(data);\n dataEvent.error = error;\n dataEvent.execution_count = this.execution_count;\n this.dispatchEvent(\"eval.error\", dataEvent);\n return;\n }\n if (args == null)\n return; // this should not happend\n const result = args[0];\n const executionCount = args[1];\n let dataEvent = this.clone(data);\n dataEvent.execution_count = executionCount;\n if (result != null)\n dataEvent.result = result;\n this.dispatchEvent(\"eval.finished\", dataEvent);\n }\n}\n","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };"],"names":["BasthonEvent","_Event","id","data","_this","_classCallCheck","detail","_inherits","_createClass","_wrapNativeSuper","Event","KernelBase","options","this","_isReady","_ready","PromiseDelegate","_stopped","Promise","resolve","_execution_count","_pendingInput","undefined","_listeners","Map","_files","_modules","_options","clone","_rootPath","rootPath","key","value","VERSION","NotImplementedError","get","code","outCallback","errCallback","_putFile","_asyncToGenerator","_regeneratorRuntime","_callee","filename","content","_context","prev","next","set","stop","_x","_x2","apply","arguments","_putModule","_callee2","_context2","_x3","_x4","_userModules","_callee3","_context3","abrupt","_getFile","_callee4","path","_context4","_x5","_getUserModuleFile","_callee5","_context5","_x6","_more","_callee6","source","_context6","_x7","_complete","_callee7","_context7","_x8","concat","languageName","_init2","_callee8","_context8","_init3","_callee9","_context9","safeKernel","console","warn","_init","t0","reject","addEventListener","evalFromEvent","bind","start","_start2","_callee10","_context10","_start3","_callee11","_this2","_context11","_start","forEach","v","k","putFile","putModule","_stop2","_callee12","_context12","_stop","_callee13","_context13","promise","absolute","length","url","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","assetsURL","version","language","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","_callback","event","listeners","removeEventListener","_inputAsync","_callee14","prompt","password","pd","res","_args14","_context14","sent","_x9","_this$_pendingInput","obj","JSON","parse","stringify","_putRessource","_callee15","_filename$split$pop","ext","_context15","split","pop","moduleExts","includes","_x10","_x11","_evalFromEvent","_callee16","stdCallback","args","_dataEvent","result","executionCount","dataEvent","_this3","_context16","std","text","stream","evalAsync","toString","error","execution_count","_x12","_assertThisInitialized","e","ReferenceError","_defineProperty","r","t","Object","defineProperty","enumerable","configurable","writable","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","TypeError","prototype","create","constructor","_possibleConstructorReturn","_setPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","call","Reflect","construct","Function","indexOf","n","has","Wrapper","o","push","p"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_index_js-_3c190","kernel-base_lib_worker_kernel-worker_js"],{908:(e,t,n)=>{n.d(t,{EH:()=>b,JQ:()=>x,Te:()=>S,t:()=>A});var r=n(2474),s=n(4586),a=n(6330),o=n(414),i=n(5152),u=n(5309),c=n(2715),l=n(9296),p=n(2779),f=n(5799),h=n.n(f);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach((function(t){(0,s.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function y(e,t,n){return t=(0,c.A)(t),(0,u.A)(e,m()?Reflect.construct(t,n||[],(0,c.A)(e).constructor):t.apply(e,n))}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(m=function(){return!!e})()}var b=function(e){function t(e){var n;return(0,i.A)(this,t),(n=y(this,t,["Function ".concat(e," not implemented!")])).name="NotImplementedError",n}return(0,l.A)(t,e),(0,o.A)(t)}((0,p.A)(Error)),w=function(){var e=(0,a.A)(h().mark((function e(t){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e,n){var r=new FileReader;r.onloadend=function(){e(r.result)},r.onerror=n,r.readAsDataURL(new Blob([t]))}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),_=function(){var e=(0,a.A)(h().mark((function e(t,n){var r,s,a,o,i,u;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t,s=n.slice(r.length),a=null,o={status:200,statusText:"OK",headers:new Headers},e.prev=4,e.next=7,self.basthon.getFile(s);case 7:return a=e.sent,e.next=10,w(a);case 10:i=e.sent,u=i.substring(i.indexOf(":")+1,i.indexOf(";")),a=a.buffer,o.headers.append("Content-Type",u),o.headers.append("Content-Length",a.byteLength),e.next=21;break;case 17:e.prev=17,e.t0=e.catch(4),o.status=404,o.statusText="Not Found";case 21:return e.abrupt("return",new Response(a,o));case 22:case"end":return e.stop()}}),e,null,[[4,17]])})));return function(t,n){return e.apply(this,arguments)}}(),k=function(e){return new URL(e).origin},g=function(e){var t=new URL(e).href;return t.substring(0,t.lastIndexOf("/"))},x=function(e){if("mockedFetch"!==self.fetch.name){var t=self.fetch,n=self._assetsURL;self.fetch=function(e,t){return r.apply(this,arguments)}}function r(){return(r=(0,a.A)(h().mark((function r(s,a){var o,i,u,c,l,p,f;return h().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(s instanceof Request&&(a=d(d({},s),a)),i=null!==(o=s.url)&&void 0!==o?o:s.toString(),u="filesystem:/",!e){r.next=11;break}if(!i.startsWith(u)){r.next=8;break}return r.next=7,_(u,i);case 7:case 10:case 18:case 33:return r.abrupt("return",r.sent);case 8:return r.next=10,t(i,a);case 11:if(null!=self.importScripts&&null!=n){r.next=13;break}return r.abrupt("return",Response.error());case 13:if(a=d(d({},a),{credentials:"omit"}),r.prev=14,!i.startsWith(u)){r.next=21;break}return r.next=18,_(u,i);case 21:if(k(i)!==k(n)){r.next=31;break}if(!g(i).startsWith(n)){r.next=30;break}return c=self._remoteProxy,r.next=26,c.fetch(i,a);case 26:return l=r.sent,p=l.body,f=l.options,r.abrupt("return",new Response(p,f));case 30:throw new Error("Ressource is outside the proxy' scope");case 31:return r.next=33,t(i,a);case 36:return r.prev=36,r.t0=r.catch(14),console.error("security proxy: request to ".concat(i," throw error: ").concat(r.t0.toString())),r.abrupt("return",Response.error());case 40:case"end":return r.stop()}}),r,null,[[14,36]])})))).apply(this,arguments)}},A=function(){if("SandboxedWorker"!==globalThis.Worker.name){var e=function(e){function t(e,n){var s;if((0,i.A)(this,t),!0===(null==n?void 0:n.sandboxed)){var a=new URL(e).href,o=a.substring(0,a.lastIndexOf("/")),u='\n self._assetsURL = "'.concat(o,'";\n globalThis = {importScripts: self.importScripts, location: "').concat(e,'"};\n importScripts("').concat(e,'");\n globalThis = self;\n ').replace(/\s/g,"");s=y(this,t,["data:text/javascript;base64,".concat(btoa(u))])}else s=y(this,t,[e,n]);return(0,r.A)(s)}return(0,l.A)(t,e),(0,o.A)(t)}((0,p.A)(Worker));globalThis.Worker=e}},S=function(){var e;if(null!=(null===globalThis||void 0===globalThis?void 0:globalThis.HTMLImageElement)){var t=Object.getOwnPropertyDescriptor(HTMLImageElement.prototype,"src");"mockedSrcSet"!==(null==t||null===(e=t.set)||void 0===e?void 0:e.name)&&Object.defineProperty(HTMLImageElement.prototype,"src",d(d({},t),{},{get:function(){var e;return null==t||null===(e=t.get)||void 0===e?void 0:e.call(this)},set:function(e){var n=this,r="filesystem:/";if(e.startsWith(r)){var s=e.slice(12);(0,a.A)(h().mark((function e(){var r,a,o,i,u;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(a=globalThis.Basthon)||void 0===a||null===(o=a.getFile)||void 0===o?void 0:o.call(a,s);case 2:if(e.t1=r=e.sent,e.t0=null===e.t1,e.t0){e.next=6;break}e.t0=void 0===r;case 6:if(!e.t0){e.next=10;break}e.t2=void 0,e.next=11;break;case 10:e.t2=r.buffer;case 11:if(u=e.t2,e.t3=null==t||null===(i=t.set)||void 0===i,e.t3){e.next=20;break}return e.t4=i,e.t5=n,e.next=18,w(u);case 18:e.t6=e.sent,e.t4.call.call(e.t4,e.t5,e.t6);case 20:case"end":return e.stop()}}),e)})))()}else{var o;null==t||null===(o=t.set)||void 0===o||o.call(this,e)}}}))}}},962:(e,t,n)=>{n.d(t,{x:()=>r});var r="0.72.6"},2069:(e,t,n)=>{n.d(t,{fI:()=>r.f,p:()=>s.p});n(1428);var r=n(5607),s=n(6743)},5607:(e,t,n)=>{n.d(t,{f:()=>h});var r=n(6330),s=n(5152),a=n(414),o=n(5799),i=n.n(o),u=n(9253),c=n(908),l=n(7695),p=n(962),f=n(6743),h=function(){return(0,a.A)((function e(t){var n=this;(0,s.A)(this,e),this._ready=new u.D,this._evalPromises=[],this._decrypt=function(e){return e},this._options=t,this._legacy=!0===(null==t?void 0:t.legacy),this._basthonRoot=self._assetsURL+"/"+p.x+"/"+this.language(),(0,c.JQ)(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)},this.isLegacy()&&(this._domNodeBus=new f.fA),self._assetsURL=void 0}),[{key:"language",value:function(){throw new c.EH("language")}},{key:"isLegacy",value:function(){return this._legacy}},{key:"basthonRoot",value:function(){return this._basthonRoot}},{key:"syncCommSupport",value:function(){return null!=this._sab}},{key:"legacyStart",value:(g=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("legacyStart");case 1:case"end":return e.stop()}}),e)}))),function(){return g.apply(this,arguments)})},{key:"legacyStop",value:(k=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("legacyStop");case 1:case"end":return e.stop()}}),e)}))),function(){return k.apply(this,arguments)})},{key:"setSAB",value:function(e){this._sab=e}},{key:"addEvalPromise",value:function(e){this._evalPromises.push(e)}},{key:"setFallbackKeyAndPass",value:(_=(0,r.A)(i().mark((function e(t,r){var s;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._fallbackKey=t,e.next=3,Promise.all([n.e("vendors-node_modules_crypto-js_aes_js"),n.e("vendors-node_modules_crypto-js_index_js"),n.e("_ad751")]).then(n.t.bind(n,8705,23));case 3:s=e.sent,this._decrypt=function(e){return s.AES.decrypt(e,r).toString(s.enc.Utf8)};case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return _.apply(this,arguments)})},{key:"_init",value:(w=(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 w.apply(this,arguments)})},{key:"init",value:(b=(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=10;break;case 6:throw e.prev=6,e.t0=e.catch(0),this._ready.reject(e.t0),e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return b.apply(this,arguments)})},{key:"ready",value:function(){return this._ready.promise}},{key:"setCommPort",value:function(e){var t=this;this.postMessage=e.postMessage.bind(e),e.onmessage=function(e){return t.processMainThreadMessage(e.data)}}},{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:(m=(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 m.apply(this,arguments)})},{key:"displayBlob",value:(y=(0,r.A)(i().mark((function e(t,n){var r,s,a,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(s=e.sent,a="data:image/png;base64,",!s.startsWith(a)){e.next=11;break}o=s.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 y.apply(this,arguments)})},{key:"display",value:function(e){var t=this,n=this.clone(this.__eval_data__);if(null!=globalThis.OffscreenCanvas&&e instanceof OffscreenCanvas)this.addEvalPromise((0,r.A)(i().mark((function r(){var s;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e.convertToBlob();case 2:return s=r.sent,r.next=5,t.displayBlob(s,n);case 5:case"end":return r.stop()}}),r)})))());else{var s,a,o;if(this.isLegacy()&&e instanceof HTMLElement)n.display_type="dom-node",n.content=null===(a=this._domNodeBus)||void 0===a||null===(o=a.push)||void 0===o?void 0:o.call(a,e);else n.display_type="multiple",n.content=e;null===(s=this.postMessage)||void 0===s||s.call(this,{data:n,type:"display"})}}},{key:"clearOutput",value:function(e){var t,n=this.clone(this.__eval_data__);n.content={wait:e},null===(t=this.postMessage)||void 0===t||t.call(this,{data:n,type:"clear_output"})}},{key:"popDOMNode",value:function(e){var t;return null===(t=this._domNodeBus)||void 0===t?void 0:t.pop(e)}},{key:"_eval",value:(d=(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.EH("_eval");case 1:case"end":return e.stop()}}),e)}))),function(e,t){return d.apply(this,arguments)})},{key:"eval",value:(v=(0,r.A)(i().mark((function e(t,n){var r,s,a,o,u,c;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._evalPromises=[],this.__eval_data__=t,e.prev=2,e.next=5,this._eval(t,n);case 5:a=e.sent,s={data:t,status:"ok",result:a},e.next=14;break;case 9:e.prev=9,e.t0=e.catch(2),o=e.t0.name,u=e.t0.stack,c=e.t0.message,this.sendStderrStream(t,e.t0.toString()),s={data:t,status:"error",error:{name:o,value:c,traceback:null==u?void 0:u.toString()}};case 14:return null===(r=this.postMessage)||void 0===r||r.call(this,{type:"eval-end"}),e.next=17,Promise.all(this._evalPromises);case 17:return e.abrupt("return",s);case 18:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e,t){return v.apply(this,arguments)})},{key:"putFile",value:function(e,t){throw new c.EH("putFile")}},{key:"putModule",value:function(e,t){throw new c.EH("putModule")}},{key:"complete",value:(h=(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 h.apply(this,arguments)})},{key:"more",value:(o=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("more");case 1:case"end":return e.stop()}}),e)}))),function(e){return o.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,this.syncCommSupport())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=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=function(){var t,s=n.clone(n.__eval_data__);null===(t=n.postMessage)||void 0===t||t.call(n,{type:"input",content:{data:s,prompt:e,password:r}})};if(this.syncCommSupport())return s(),Atomics.store(new Int32Array(this._sab),0,0),Atomics.wait(new Int32Array(this._sab),0,0),this.decodeSharedArrayBuffer(this._sab);if(null!=self._prompt)return null!==(t=self._prompt(null!=e?e:""))&&void 0!==t?t:"";s();for(var a=Date.now()+12e4;Date.now()<a;){var o,i=new XMLHttpRequest;if(i.open("POST","https://api.basthon.fr/ephemeral",!1),i.setRequestHeader("X-API-Referer",null!==(o=this._basthonRoot)&&void 0!==o?o:"null"),i.send(JSON.stringify({action:"get",key:this._fallbackKey})),200===i.status)return this._decrypt(i.responseText)}throw new Error("Error using the Basthon's network API")}},{key:"processMainThreadMessage",value:(t=(0,r.A)(i().mark((function e(t){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.type,e.next="toplevel-input"===e.t0?3:5;break;case 3:return null===(n=this._toplevelInputPromise)||void 0===n||n.resolve(t.content),e.abrupt("break",6);case 5:return e.abrupt("break",6);case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"toplevelInput",value:(e=(0,r.A)(i().mark((function e(t){var n,r,s,a,o=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]&&o[1],s=o.length>2&&void 0!==o[2]?o[2]:void 0,this._toplevelInputPromise=new u.D,null===(n=this.postMessage)||void 0===n||n.call(this,{type:"input",content:{data:s,prompt:t,password:r,toplevel:!0}}),e.next=6,this._toplevelInputPromise.promise;case 6:return a=e.sent,this._toplevelInputPromise=void 0,e.abrupt("return",a);case 9:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})},{key:"breakpointMoveOn",value:function(){var e,t=this.clone(this.__eval_data__);null===(e=this.postMessage)||void 0===e||e.call(this,{type:"breakpoint-move-on",content:{data:t}})}}]);var e,t,o,h,v,d,y,m,b,w,_,k,g}()},6743:(e,t,n)=>{n.d(t,{fA:()=>f,p:()=>p});var r=n(5152),s=n(414),a=n(5309),o=n(2715),i=n(9296),u=n(2779),c=(n(5799),n(7695));function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}var p=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,c.p)(e,n.data))};addEventListener("message",t)}else(0,c.p)(e,self._commPort),self._commPort=void 0},f=function(e){function t(){return(0,r.A)(this,t),e=this,n=t,s=arguments,n=(0,o.A)(n),(0,a.A)(e,l()?Reflect.construct(n,s||[],(0,o.A)(e).constructor):n.apply(e,s));var e,n,s}return(0,i.A)(t,e),(0,s.A)(t,[{key:"push",value:function(e){for(var t=0;t<this.size&&this.has(t);t++);return this.set(t,e),t}},{key:"pop",value:function(e){var t=this.get(e);return this.delete(e),t}}])}((0,u.A)(Map))}}]);
|
|
2
|
+
//# sourceMappingURL=kernel-base_lib_worker_index_js-_3c190.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel-base_lib_worker_index_js-_3c190.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/commons.js","webpack://@basthon/browser-bundle/../kernel-base/lib/version.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-worker.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/**\n * Convert an Uint8Array to a data URL.\n */\nconst 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/* fetch from local FS */\nconst fetchFromLocalFS = async (localfsScheme, url) => {\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 const assetsURL = self._assetsURL;\n async function mockedFetch(request, init) {\n // force all params to init object\n if (request instanceof Request)\n init = { ...request, ...init };\n const url = request.url ?? request.toString();\n const localfsScheme = \"filesystem:/\";\n // in legacy mode, only local FS is mocked\n if (legacy) {\n if (url.startsWith(localfsScheme))\n return await fetchFromLocalFS(localfsScheme, url);\n return await trueFetch(url, init);\n }\n // not a true worker? -> error\n if (self.importScripts == null || assetsURL == null)\n return Response.error();\n // non-legacy mode (true isolated secure worker)\n // ensure credentials are not sent\n init = { ...init, ...{ credentials: \"omit\" } };\n try {\n // requests towards localfs\n if (url.startsWith(localfsScheme)) {\n return await fetchFromLocalFS(localfsScheme, url);\n }\n else if (origin(url) === origin(assetsURL)) {\n // requests towards same origin\n // only url under the assets folder are proxyied\n if (parent(url).startsWith(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};\n/**\n * mock Worker to support sandboxing and keep webpack compatibility\n */\nconst mockWorker = () => {\n // already mocked?\n if (globalThis.Worker.name === \"SandboxedWorker\")\n return;\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 = `\n self._assetsURL = \"${assetsURL}\";\n globalThis = {importScripts: self.importScripts, location: \"${url}\"};\n importScripts(\"${url}\");\n globalThis = self;\n `.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};\n/**\n * we mock '(new Image()).src' = to support local fs access\n */\nconst mockHTMLImageSrc = () => {\n // inside main thread?\n if (globalThis?.HTMLImageElement == null)\n return;\n const desc = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, \"src\");\n // already mocked?\n if (desc?.set?.name === \"mockedSrcSet\")\n return;\n function mockedSrcSet(e) {\n const prefix = \"filesystem:/\";\n if (e.startsWith(prefix)) {\n const path = e.slice(prefix.length);\n (async () => {\n //@ts-ignore\n const content = (await globalThis.Basthon?.getFile?.(path))?.buffer;\n desc?.set?.call(this, await toDataURL(content));\n })();\n }\n else {\n desc?.set?.call(this, e);\n }\n }\n Object.defineProperty(HTMLImageElement.prototype, \"src\", {\n ...desc,\n get: function () {\n return desc?.get?.call(this);\n },\n set: mockedSrcSet,\n });\n};\nexport { NotImplementedError, mockFetch, mockWorker, mockHTMLImageSrc };\n","export const VERSION = \"0.72.6\";\n","import { PromiseDelegate } from \"promise-delegate\";\nimport { NotImplementedError, mockFetch } from \"../commons\";\nimport { wrap } from \"comlink\";\nimport { VERSION } from \"../version\";\nimport { DOMNodeBus } from \"./worker-utils\";\nclass KernelWorkerBase {\n constructor(options) {\n this._ready = new PromiseDelegate();\n this._evalPromises = []; // used to wait all promises emitted during computation\n this._decrypt = (s) => s;\n this._options = options;\n this._legacy = options?.legacy === true;\n this._basthonRoot = self._assetsURL + \"/\" + VERSION + \"/\" + this.language();\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 // DOM node bus in legacy mode\n // (to transfer elements from worker to main thread, they are the same!)\n if (this.isLegacy())\n this._domNodeBus = new DOMNodeBus();\n // not needed anymore\n self._assetsURL = undefined;\n }\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() {\n throw new NotImplementedError(\"language\");\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 * The basthon's root directory.\n */\n basthonRoot() {\n return this._basthonRoot;\n }\n /**\n * Is synchronous communication with main thread available?\n * (through SharedArrayBuffer atomic waits)\n */\n syncCommSupport() {\n return this._sab != null;\n }\n /**\n * Special case of starting a legacy kernel.\n */\n async legacyStart() {\n throw new NotImplementedError(\"legacyStart\");\n }\n /**\n * Special case of stoping a legacy kernel.\n */\n async legacyStop() {\n throw new NotImplementedError(\"legacyStop\");\n }\n /**\n * Set SharedArrayBuffer from main thread.\n */\n setSAB(sab) {\n this._sab = sab;\n }\n /**\n * Add a promise we should wait for during eval process.\n */\n addEvalPromise(promise) {\n this._evalPromises.push(promise);\n }\n /*\n * Set fallback API key and encryption pass\n * (if SharedArrayBuffer are not available).\n */\n async setFallbackKeyAndPass(key, pass) {\n this._fallbackKey = key;\n const CryptoJS = await import(\"crypto-js\");\n this._decrypt = (message) => CryptoJS.AES.decrypt(message, pass).toString(CryptoJS.enc.Utf8);\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 (error) {\n this._ready.reject(error);\n throw error;\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 port.onmessage = (e) => this.processMainThreadMessage(e.data);\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 this.addEvalPromise((async () => {\n const blob = await element.convertToBlob();\n await this.displayBlob(blob, data);\n })());\n }\n else {\n // in legacy mode, send HTML elements via DOM node bus\n if (this.isLegacy() && element instanceof HTMLElement) {\n data[\"display_type\"] = \"dom-node\";\n data[\"content\"] = this._domNodeBus?.push?.(element);\n }\n else {\n data[\"display_type\"] = \"multiple\";\n data[\"content\"] = element;\n }\n this.postMessage?.({ data, type: \"display\" });\n }\n }\n /**\n * Clear the current output.\n */\n clearOutput(wait) {\n const data = this.clone(this.__eval_data__);\n data[\"content\"] = { wait };\n this.postMessage?.({ data, type: \"clear_output\" });\n }\n /**\n * Pop a DOM node from domNodeBus\n * (used to transfer HTMLElement from main thread to worker thread in legacy mode)\n */\n popDOMNode(id) {\n return this._domNodeBus?.pop(id);\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._evalPromises = [];\n this.__eval_data__ = data;\n let res;\n try {\n const result = await this._eval(data, code);\n res = { data, status: \"ok\", result };\n }\n catch (e) {\n const { name, stack, message } = e;\n this.sendStderrStream(data, e.toString());\n res = {\n data,\n status: \"error\",\n error: {\n name: name,\n value: message,\n traceback: stack?.toString(),\n },\n };\n }\n this.postMessage?.({ type: \"eval-end\" }); // for channel syncing\n await Promise.all(this._evalPromises);\n return res;\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.syncCommSupport()) {\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 // default to active sleep\n const t0 = Date.now();\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 const sendInput = () => {\n const data = this.clone(this.__eval_data__);\n this.postMessage?.({\n type: \"input\",\n content: { data, prompt, password },\n });\n };\n if (this.syncCommSupport()) {\n sendInput();\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 if (self._prompt != null) {\n // in legacy context, we default to js' prompt\n return self._prompt(prompt ?? \"\") ?? \"\";\n }\n else {\n sendInput();\n const timeout = 2 * 60 * 1000; // 2 minutes\n const tend = Date.now() + timeout;\n // polling loop\n while (Date.now() < tend) {\n const request = new XMLHttpRequest();\n request.open(\"POST\", \"https://api.basthon.fr/ephemeral\", false); // synchronous request\n request.setRequestHeader(\"X-API-Referer\", this._basthonRoot ?? \"null\");\n request.send(JSON.stringify({ action: \"get\", key: this._fallbackKey }));\n if (request.status === 200)\n return this._decrypt(request.responseText);\n }\n throw new Error(\"Error using the Basthon's network API\");\n }\n }\n /**\n * Process messages from the main thread.\n */\n async processMainThreadMessage(msg) {\n switch (msg.type) {\n case \"toplevel-input\":\n this._toplevelInputPromise?.resolve(msg.content);\n break;\n default: // this should not append...\n break;\n }\n }\n /**\n * Ask for an input in the main thread and wait for the answer\n * then return it.\n */\n async toplevelInput(prompt, password = false, data = undefined) {\n this._toplevelInputPromise = new PromiseDelegate();\n this.postMessage?.({\n type: \"input\",\n content: { data, prompt, password, toplevel: true },\n });\n const res = await this._toplevelInputPromise.promise;\n this._toplevelInputPromise = undefined;\n return res;\n }\n /**\n * Ask main thread to go to the next breakpoint.\n */\n breakpointMoveOn() {\n const data = this.clone(this.__eval_data__);\n this.postMessage?.({ type: \"breakpoint-move-on\", content: { data } });\n }\n}\nexport { KernelWorkerBase };\n","import { expose as exposeComlink } from \"comlink\";\nconst insideWorker = () => \n//@ts-ignore\ntypeof WorkerGlobalScope !== \"undefined\" && self instanceof WorkerGlobalScope;\nconst 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/**\n * DOM node exchanger (Bus) to bypass stringifying\n * messages between frontend and kernel that prevents DOMNode sharing.\n */\nclass DOMNodeBus extends Map {\n /**\n * Push an object to the bus and get back an id to later pop it.\n */\n push(obj) {\n let id = 0;\n for (; id < this.size; id++)\n if (!this.has(id))\n break;\n this.set(id, obj);\n return id;\n }\n /**\n * Remove an object from the bus from its id.\n */\n pop(id) {\n const res = this.get(id);\n this.delete(id);\n return res;\n }\n}\n/**\n * Dynamically load a script (support main thread and worker usage).\n */\nconst loadScript = async (url) => {\n if (globalThis.importScripts != null)\n return importScripts(url);\n // we are probably in main thread\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.onload = resolve;\n script.onerror = reject;\n script.src = url;\n document.head.appendChild(script);\n });\n};\nexport { expose, DOMNodeBus, loadScript };\n"],"names":["NotImplementedError","_Error","funcName","_this","_classCallCheck","_callSuper","concat","name","_inherits","_createClass","_wrapNativeSuper","Error","toDataURL","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","content","_context","prev","next","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","Blob","abrupt","sent","stop","_x","apply","arguments","fetchFromLocalFS","_ref2","_callee2","localfsScheme","url","prefix","path","options","dataURL","mime","_context2","slice","length","status","statusText","headers","Headers","self","basthon","getFile","substring","indexOf","buffer","append","byteLength","t0","Response","_x2","_x3","origin","URL","parent","abs","href","lastIndexOf","mockFetch","legacy","fetch","trueFetch","assetsURL","_assetsURL","_x4","_x5","_mockedFetch","_callee3","request","init","_request$url","proxy","_yield$proxy$fetch","body","_context3","Request","_objectSpread","toString","startsWith","importScripts","error","credentials","_remoteProxy","console","mockWorker","globalThis","Worker","SandboxedWorker","_Worker","_this2","sandboxed","absURL","workerScript","replace","btoa","_assertThisInitialized","mockHTMLImageSrc","_desc$set","HTMLImageElement","desc","Object","getOwnPropertyDescriptor","prototype","set","defineProperty","get","_desc$get","call","this","e","_this3","_callee4","_yield$globalThis$Bas","_globalThis$Basthon","_globalThis$Basthon$g","_desc$set2","_context4","Basthon","t1","t2","t3","t4","t5","t6","_desc$set3","VERSION","KernelWorkerBase","_ready","PromiseDelegate","_evalPromises","_decrypt","s","_options","_legacy","_basthonRoot","language","isLegacy","window","Canvas","width","height","canvas","document","createElement","OffscreenCanvas","_prompt","prompt","p","input","_domNodeBus","DOMNodeBus","undefined","key","value","_sab","_legacyStart","_legacyStop","sab","promise","push","_setFallbackKeyAndPass","pass","CryptoJS","_fallbackKey","message","AES","decrypt","enc","Utf8","_init2","_init3","_callee5","_context5","_init","port","postMessage","bind","onmessage","processMainThreadMessage","data","wrap","stream","text","_this$postMessage","type","sendStream","_blobToDataURL","_callee6","blob","_context6","_displayBlob","_callee7","_this$postMessage2","pngPrefix","png","_context7","clone","__eval_data__","blobToDataURL","element","addEvalPromise","_callee8","_context8","convertToBlob","displayBlob","_this$postMessage3","_this$_domNodeBus","_this$_domNodeBus$pus","HTMLElement","wait","_this$postMessage4","id","_this$_domNodeBus2","pop","_eval2","_callee9","code","_context9","_x6","_x7","_eval3","_callee10","_this$postMessage5","res","stack","_context10","_eval","sendStderrStream","traceback","all","_x8","_x9","filename","_complete","_callee11","_context11","_x10","_more","_callee12","_context12","_x11","_this$postMessage6","JSON","parse","stringify","duration","syncCommSupport","Atomics","store","Int32Array","Date","now","array","Uint8Array","cropped","subarray","TextDecoder","decode","_self$_prompt","_this4","password","sendInput","_this4$postMessage","decodeSharedArrayBuffer","tend","_this$_basthonRoot","XMLHttpRequest","open","setRequestHeader","send","action","responseText","_processMainThreadMessage","_callee13","msg","_this$_toplevelInputP","_context13","_toplevelInputPromise","_x12","_toplevelInput","_callee14","_this$postMessage7","_args14","_context14","toplevel","_x13","_this$postMessage8","expose","kwc","WorkerGlobalScope","listener","MessagePort","removeEventListener","exposeComlink","addEventListener","_commPort","_Map","obj","size","has","Map"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see kernel-base_lib_worker_index_js-_3c191.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_index_js-_3c191"],{2069:(e,t,n)=>{n.d(t,{Ij:()=>r.I,fI:()=>a.f,k0:()=>s.k0,p:()=>s.p});var r=n(1428),a=n(5607),s=n(6743)},1428:(e,t,n)=>{n.d(t,{I:()=>b});var r=n(6330),a=n(5152),s=n(414),o=n(5309),i=n(2715),c=n(5018),u=n(9296),l=n(5799),p=n.n(l),h=n(7695),f=n(908),d=n(3297),v=n(9253);function y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(y=function(){return!!e})()}function k(e,t,n,r){var a=(0,c.A)((0,i.A)(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof a?function(e){return a.apply(n,e)}:a}(0,f.t)(),(0,f.Te)();var b=function(e){function t(e){var n,r,s,c;return(0,a.A)(this,t),r=this,s=t,c=[e],s=(0,i.A)(s),(n=(0,o.A)(r,y()?Reflect.construct(s,c||[],(0,i.A)(r).constructor):s.apply(r,c)))._channelSyncer=new v.D,n._encrypt=function(e){return e},n._legacy=!0===(null==e?void 0:e.legacy),n.isLegacy()||(globalThis.crossOriginIsolated?n._sab=new SharedArrayBuffer(1024):n._fallbackKey=globalThis.crypto.randomUUID()),n}return(0,u.A)(t,e),(0,s.A)(t,[{key:"isLegacy",value:function(){return this._legacy}},{key:"syncCommSupport",value:function(){return null!=this._sab}},{key:"safeKernel",value:function(){return!this.isLegacy()}},{key:"newWorker",value:function(){throw new f.EH("newWorker")}},{key:"importLegacyWorker",value:(A=(0,r.A)(p().mark((function e(){return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new f.EH("importLegacyWorker");case 1:case"end":return e.stop()}}),e)}))),function(){return A.apply(this,arguments)})},{key:"setupWorker",value:(_=(0,r.A)(p().mark((function e(){var t,n,r,a,s,o,i,c=this;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new MessageChannel,!this.isLegacy()){e.next=8;break}return self._commPort=n.port1,self._assetsURL=this.assetsURL(!0),e.next=6,this.importLegacyWorker();case 6:e.next=11;break;case 8:(r=this.newWorker()).postMessage(n.port1,[n.port1]),this._worker=r;case 11:return a=(0,h.LV)(n.port2),e.next=14,new a(this._options);case 14:return this._remote=e.sent,s=new MessageChannel,o=s.port1,(i=s.port2).onmessage=function(e){return c.processWorkerMessage(e.data)},this.postMessageToWorker=i.postMessage.bind(i),e.next=20,null===(t=this.remote)||void 0===t?void 0:t.setCommPort((0,h.k0)(o,[o]));case 20:case"end":return e.stop()}}),e,this)}))),function(){return _.apply(this,arguments)})},{key:"_start",value:(x=(0,r.A)(p().mark((function e(){var r,a,s,o,i,c,u,l,f,d;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k(t,"_start",this,3)([]);case 2:if(!this.isLegacy()||null==this.remote){e.next=6;break}return e.next=5,null===(s=this.remote)||void 0===s?void 0:s.legacyStart();case 5:return e.abrupt("return");case 6:return o=new Worker(new URL(n.p+n.u("kernel-base_lib_worker_comlink-proxy_js"),n.b),{type:void 0}),i=(0,h.LV)(o),e.next=10,this.setupWorker();case 10:if(!this.syncCommSupport()){e.next=16;break}return console.log("Using SharedArrayBuffer for synchronous worker communication."),e.next=14,null===(c=this._remote)||void 0===c?void 0:c.setSAB(this._sab);case 14:e.next=25;break;case 16:if(null==this._fallbackKey){e.next=25;break}return console.warn("SharedArrayBuffer not available, falling back to using third-party server for synchronous worker communication."),l=globalThis.crypto.randomUUID(),e.next=21,null===(u=this.remote)||void 0===u?void 0:u.setFallbackKeyAndPass(this._fallbackKey,l);case 21:return e.next=23,Promise.all([n.e("vendors-node_modules_crypto-js_aes_js"),n.e("_ad750")]).then(n.t.bind(n,6598,23));case 23:f=e.sent,this._encrypt=function(e){return f.encrypt(e,l).toString()};case 25:return e.next=27,i[h.UD]();case 27:return d=e.sent,e.next=30,null===(r=this.remote)||void 0===r?void 0:r.setProxyPort((0,h.k0)(d,[d]));case 30:return e.next=32,null===(a=this.remote)||void 0===a?void 0:a.init();case 32:case"end":return e.stop()}}),e,this)}))),function(){return x.apply(this,arguments)})},{key:"remote",get:function(){return this._remote}},{key:"_stop",value:(w=(0,r.A)(p().mark((function e(){var n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isLegacy()){e.next=5;break}return e.next=3,null===(n=this.remote)||void 0===n?void 0:n.legacyStop();case 3:e.next=8;break;case 5:null===(r=this._worker)||void 0===r||r.terminate(),this._worker=void 0,this._remote=void 0;case 8:return e.next=10,k(t,"_stop",this,3)([]);case 10:case"end":return e.stop()}}),e,this)}))),function(){return w.apply(this,arguments)})},{key:"processWorkerMessage",value:(g=(0,r.A)(p().mark((function e(t){var n,r,a,s,o,i,c,u,l,h,f,d,y,k,b,m,g,w,x,_,A,E,S,L,M;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.type,e.next="eval-end"===e.t0?3:"stream"===e.t0?6:"download"===e.t0?12:"display"===e.t0?15:"clear_output"===e.t0?24:"input"===e.t0?26:"breakpoint-move-on"===e.t0?46:51;break;case 3:return this._channelSyncer.resolve(),this._channelSyncer=new v.D,e.abrupt("break",51);case 6:return i=t.content,c=i.stream,u=i.text,(l=this.clone(t.data)).stream=c,l.content=u,this.dispatchEvent("eval.output",l),e.abrupt("break",51);case 12:return h=t.content,f=h.content,d=h.filename,this.download(f,d),e.abrupt("break",51);case 15:if("dom-node"!==(null===(n=t.data)||void 0===n?void 0:n.display_type)){e.next=22;break}if(this.isLegacy()){e.next=18;break}throw new Error("internal error");case 18:return b=null===(y=t.data)||void 0===y?void 0:y.content,e.next=21,null===(k=self.basthon)||void 0===k?void 0:k.popDOMNode(b);case 21:t.data.content=e.sent;case 22:return this.dispatchEvent("eval.display",t.data),e.abrupt("break",51);case 24:return this.dispatchEvent("eval.clear-output",t.data),e.abrupt("break",51);case 26:return m=t.content,g=m.prompt,w=m.password,x=m.data,e.next=29,this.inputAsync(g,w,x);case 29:if(_=e.sent,!0!==t.content.toplevel){e.next=34;break}this.postMessageToWorker({type:"toplevel-input",content:_,data:x}),e.next=45;break;case 34:if(!this.syncCommSupport()){e.next=40;break}A=(new TextEncoder).encode(_),new Uint8Array(this._sab).set(A.subarray(0,this._sab.byteLength)),Atomics.notify(new Int32Array(this._sab),0,1),e.next=45;break;case 40:return e.next=42,fetch("https://api.basthon.fr/ephemeral",{method:"POST",headers:{"X-API-Referer":self.location.href},body:JSON.stringify({action:"post",key:this._fallbackKey,payload:this._encrypt(_)})});case 42:if((E=e.sent).ok){e.next=45;break}throw new Error("Basthon's network API error: ".concat(E.status));case 45:return e.abrupt("break",51);case 46:return S=null===(r=Jupyter)||void 0===r?void 0:r.notebook,L=null===(a=t.content.data)||void 0===a||null===(a=a.parent_msg)||void 0===a||null===(a=a.header)||void 0===a?void 0:a.msg_id,M=null==S||null===(s=S.last_msg_id_to_cell_index)||void 0===s?void 0:s.call(S,L),null==S||null===(o=S.next_breakpoint_cell)||void 0===o||o.call(S,M),e.abrupt("break",51);case 51:case"end":return e.stop()}}),e,this)}))),function(e){return g.apply(this,arguments)})},{key:"evalAsync",value:(m=(0,r.A)(p().mark((function e(t,n,r){var a,s,o,i,c,u=arguments;return p().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++,o=this._channelSyncer.promise,e.next=6,null===(a=this.remote)||void 0===a?void 0:a.eval(s,t);case 6:return i=e.sent,e.next=9,o;case 9:e.t0=null==i?void 0:i.status,e.next="ok"===e.t0?12:"error"===e.t0?14:15;break;case 12:return c=i.result,e.abrupt("break",15);case 14:return e.abrupt("break",15);case 15:return e.abrupt("return",[c,this._execution_count]);case 16:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return m.apply(this,arguments)})},{key:"putFile",value:(b=(0,r.A)(p().mark((function e(n,r){var a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k(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 b.apply(this,arguments)})},{key:"putModule",value:(d=(0,r.A)(p().mark((function e(n,r){var a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k(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 d.apply(this,arguments)})},{key:"complete",value:(l=(0,r.A)(p().mark((function e(t){var n,r;return p().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 l.apply(this,arguments)})},{key:"more",value:(c=(0,r.A)(p().mark((function e(t){var n,r;return p().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 c.apply(this,arguments)})}]);var c,l,d,b,m,g,w,x,_,A}(d.z)},5018:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(2715);function a(){return a="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var a=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=(0,r.A)(e)););return e}(e,t);if(a){var s=Object.getOwnPropertyDescriptor(a,t);return s.get?s.get.call(arguments.length<3?e:n):s.value}},a.apply(null,arguments)}},7695:(e,t,n)=>{n.d(t,{LV:()=>h,UD:()=>a,k0:()=>g,p:()=>l}),null==self.globalThis&&(self.globalThis=self);const r=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),s=Symbol("Comlink.releaseProxy"),o=Symbol("Comlink.finalizer"),i=Symbol("Comlink.thrown"),c=e=>"object"==typeof e&&null!==e||"function"==typeof e,u=new Map([["proxy",{canHandle:e=>c(e)&&e[r],serialize(e){const{port1:t,port2:n}=new MessageChannel;return l(e,t),[n,[n]]},deserialize:e=>(e.start(),h(e))}],["throw",{canHandle:e=>c(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:c,type:u,path:h}=Object.assign({path:[]},s.data),f=(s.data.argumentList||[]).map(x);let d;try{const t=h.slice(0,-1).reduce(((e,t)=>e[t]),e),n=h.reduce(((e,t)=>e[t]),e);switch(u){case"GET":d=n;break;case"SET":t[h.slice(-1)[0]]=x(s.data.value),d=!0;break;case"APPLY":d=n.apply(t,f);break;case"CONSTRUCT":d=function(e){return Object.assign(e,{[r]:!0})}(new n(...f));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;l(e,n),d=g(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]=w(n);t.postMessage(Object.assign(Object.assign({},r),{id:c}),s),"RELEASE"===u&&(t.removeEventListener("message",a),p(t),o in e&&"function"==typeof e[o]&&e[o]())})).catch((e=>{const[n,r]=w({value:new TypeError("Unserializable return value"),[i]:0});t.postMessage(Object.assign(Object.assign({},n),{id:c}),r)}))})),t.start&&t.start()}function p(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function h(e,t){const n=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}})),k(e,n,[],t)}function f(e){if(e)throw new Error("Proxy has been released and is not useable")}function d(e){return _(e,new Map,{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 k(e,t,n=[],r=function(){}){let o=!1;const i=new Proxy(r,{get(r,a){if(f(o),a===s)return()=>{!function(e){y&&y.unregister(e)}(i),d(e),t.clear(),o=!0};if("then"===a){if(0===n.length)return{then:()=>i};const r=_(e,t,{type:"GET",path:n.map((e=>e.toString()))}).then(x);return r.then.bind(r)}return k(e,t,[...n,a])},set(r,a,s){f(o);const[i,c]=w(s);return _(e,t,{type:"SET",path:[...n,a].map((e=>e.toString())),value:i},c).then(x)},apply(r,s,i){f(o);const c=n[n.length-1];if(c===a)return _(e,t,{type:"ENDPOINT"}).then(x);if("bind"===c)return k(e,t,n.slice(0,-1));const[u,l]=b(i);return _(e,t,{type:"APPLY",path:n.map((e=>e.toString())),argumentList:u},l).then(x)},construct(r,a){f(o);const[s,i]=b(a);return _(e,t,{type:"CONSTRUCT",path:n.map((e=>e.toString())),argumentList:s},i).then(x)}});return function(e,t){const n=(v.get(t)||0)+1;v.set(t,n),y&&y.register(e,t,e)}(i,e),i}function b(e){const t=e.map(w);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const m=new WeakMap;function g(e,t){return m.set(e,t),e}function w(e){for(const[t,n]of u)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},m.get(e)||[]]}function x(e){switch(e.type){case"HANDLER":return u.get(e.name).deserialize(e.value);case"RAW":return e.value}}function _(e,t,n,r){return new Promise((a=>{const s=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(s,a),e.start&&e.start(),e.postMessage(Object.assign({id:s},n),r)}))}}}]);
|
|
3
|
+
//# sourceMappingURL=kernel-base_lib_worker_index_js-_3c191.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel-base_lib_worker_index_js-_3c191.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-main.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/get.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://@basthon/browser-bundle/../../node_modules/comlink/dist/esm/comlink.mjs"],"sourcesContent":["import { wrap, createEndpoint, transfer } from \"comlink\";\nimport { NotImplementedError, mockWorker, mockHTMLImageSrc } from \"../commons\";\nimport { KernelBase } from \"../kernel\";\nimport { PromiseDelegate } from \"promise-delegate\";\n// mock Worker to support sandboxing and keep webpack compatibility\nmockWorker();\n// mock HTMLImageElement.src to support localfs access\nmockHTMLImageSrc();\nexport class KernelMainBase extends KernelBase {\n constructor(options) {\n super(options);\n // synchronise comlink and communication channels\n this._channelSyncer = new PromiseDelegate();\n this._encrypt = (s) => s;\n this._legacy = options?.legacy === true;\n // synchronous wait on SAB cannot be used in a legacy context\n // (atomic wait will block the main thread)\n if (!this.isLegacy()) {\n if (globalThis.crossOriginIsolated)\n this._sab = new SharedArrayBuffer(1024);\n else\n this._fallbackKey = globalThis.crypto.randomUUID();\n }\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 synchrnous communication with worker available?\n * (through SharedArrayBuffer atomic waits)\n */\n syncCommSupport() {\n return this._sab != null;\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 // this global variable will be removed by worker\n self._assetsURL = this.assetsURL(true);\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 { port1, port2 } = new MessageChannel();\n port2.onmessage = (e) => this.processWorkerMessage(e.data);\n this.postMessageToWorker = port2.postMessage.bind(port2);\n await this.remote?.setCommPort(transfer(port1, [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 // kernel restart in legacy mode is lazy, not a full restart\n if (this.isLegacy() && this.remote != null) {\n await this.remote?.legacyStart();\n return;\n }\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.syncCommSupport()) {\n console.log(\"Using SharedArrayBuffer for synchronous worker communication.\");\n await this._remote?.setSAB(this._sab);\n }\n else if (this._fallbackKey != null) {\n console.warn(\"SharedArrayBuffer not available, falling back to \" +\n \"using third-party server for synchronous worker communication.\");\n const pass = globalThis.crypto.randomUUID();\n await this.remote?.setFallbackKeyAndPass(this._fallbackKey, pass);\n const AES = await import(\"crypto-js/aes\");\n this._encrypt = (message) => AES.encrypt(message, pass).toString();\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 if (this.isLegacy()) {\n await this.remote?.legacyStop();\n }\n else {\n this._worker?.terminate();\n this._worker = undefined;\n this._remote = undefined;\n }\n await super._stop();\n }\n /**\n * Process messages from worker (if any).\n */\n async processWorkerMessage(msg) {\n switch (msg.type) {\n case \"eval-end\":\n this._channelSyncer.resolve();\n this._channelSyncer = new PromiseDelegate();\n break;\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 if (msg.data?.display_type === \"dom-node\") {\n // we should be in legacy mode here\n if (!this.isLegacy())\n throw new Error(\"internal error\");\n const id = msg.data?.content;\n //@ts-ignore\n msg.data.content = await self.basthon?.popDOMNode(id);\n }\n this.dispatchEvent(\"eval.display\", msg.data);\n break;\n case \"clear_output\":\n this.dispatchEvent(\"eval.clear-output\", msg.data);\n break;\n case \"input\":\n const { prompt, password, data } = msg.content;\n const res = (await this.inputAsync(prompt, password, data));\n if (msg.content.toplevel === true) {\n this.postMessageToWorker({\n type: \"toplevel-input\",\n content: res,\n data,\n });\n }\n else if (this.syncCommSupport()) {\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 else {\n const response = await fetch(\"https://api.basthon.fr/ephemeral\", {\n method: \"POST\",\n headers: {\n \"X-API-Referer\": self.location.href,\n },\n body: JSON.stringify({\n action: \"post\",\n key: this._fallbackKey,\n payload: this._encrypt(res),\n }),\n });\n if (!response.ok)\n throw new Error(`Basthon's network API error: ${response.status}`);\n }\n break;\n case \"breakpoint-move-on\":\n //@ts-ignore\n const notebook = Jupyter?.notebook;\n const msg_id = msg.content.data?.parent_msg?.header?.msg_id;\n const index = notebook?.last_msg_id_to_cell_index?.(msg_id);\n notebook?.next_breakpoint_cell?.(index);\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 // to be sure we do not miss communications\n const syncChannels = this._channelSyncer.promise;\n // evaluation\n const execResult = (await this.remote?.eval(data, code));\n // wait for all communications to end\n await syncChannels;\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 superPropBase from \"./superPropBase.js\";\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nexport { _get as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n return t;\n}\nexport { _superPropBase as default };","// pollyfill\nif (self.globalThis == null) self.globalThis = self;\n\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 const pendingListeners = new Map();\n ep.addEventListener(\"message\", function handleMessage(ev) {\n const { data } = ev;\n if (!data || !data.id) {\n return;\n }\n const resolver = pendingListeners.get(data.id);\n if (!resolver) {\n return;\n }\n try {\n resolver(data);\n }\n finally {\n pendingListeners.delete(data.id);\n }\n });\n return createProxy(ep, pendingListeners, [], 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, new Map(), {\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, pendingListeners, 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 pendingListeners.clear();\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, pendingListeners, {\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, pendingListeners, [...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, pendingListeners, {\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, pendingListeners, {\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, pendingListeners, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\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, pendingListeners, {\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, pendingListeners, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n pendingListeners.set(id, resolve);\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":["mockWorker","mockHTMLImageSrc","KernelMainBase","_KernelBase","options","_this","_classCallCheck","_channelSyncer","PromiseDelegate","_encrypt","s","_legacy","legacy","isLegacy","globalThis","crossOriginIsolated","_sab","SharedArrayBuffer","_fallbackKey","crypto","randomUUID","_inherits","_createClass","key","value","this","NotImplementedError","_importLegacyWorker","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","stop","apply","arguments","_setupWorker","_callee2","_this$remote","comlinkChannel","worker","KernelWorker","_MessageChannel","port1","port2","_this2","_context2","MessageChannel","self","_commPort","_assetsURL","assetsURL","importLegacyWorker","newWorker","postMessage","_worker","wrap","_options","_remote","sent","onmessage","e","processWorkerMessage","data","postMessageToWorker","bind","remote","setCommPort","transfer","_start2","_callee3","_this$remote4","_this$remote5","_this$remote2","proxyWorker","proxy","_this$_remote","_this$remote3","pass","AES","port","_context3","_superPropGet","legacyStart","abrupt","Worker","URL","type","setupWorker","syncCommSupport","console","log","setSAB","warn","setFallbackKeyAndPass","message","encrypt","toString","createEndpoint","setProxyPort","init","get","_stop2","_callee4","_this$remote6","_this$_worker","_context4","legacyStop","terminate","undefined","_processWorkerMessage","_callee5","msg","_msg$data","_Jupyter","_msg$content$data","_notebook$last_msg_id","_notebook$next_breakp","_msg$content","stream","text","dataEvent","_msg$content2","content","filename","_msg$data2","_self$basthon","id","_msg$content3","prompt","password","res","encodedRes","response","notebook","msg_id","index","_context5","t0","resolve","clone","dispatchEvent","download","display_type","Error","basthon","popDOMNode","inputAsync","toplevel","TextEncoder","encode","Uint8Array","set","subarray","byteLength","Atomics","notify","Int32Array","fetch","method","headers","location","href","body","JSON","stringify","action","payload","ok","concat","status","Jupyter","parent_msg","header","last_msg_id_to_cell_index","call","next_breakpoint_cell","_x","_evalAsync","_callee6","code","outCallback","errCallback","_this$remote7","syncChannels","execResult","result","_args6","_context6","length","interactive","_execution_count","promise","eval","_x2","_x3","_x4","_putFile","_callee7","_this$remote8","_context7","putFile","_x5","_x6","_putModule","_callee8","_this$remote9","_context8","putModule","_x7","_x8","_complete","_callee9","_yield$this$remote$co","_this$remote10","_context9","complete","t1","t2","_x9","_more","_callee10","_yield$this$remote$mo","_this$remote11","_context10","more","_x10","KernelBase","_get","Reflect","t","r","p","o","hasOwnProperty","getPrototypeOf","n","Object","getOwnPropertyDescriptor","proxyMarker","Symbol","releaseProxy","finalizer","throwMarker","isObject","val","transferHandlers","Map","canHandle","serialize","obj","expose","deserialize","start","serialized","isError","name","stack","assign","ep","allowedOrigins","addEventListener","callback","ev","origin","allowedOrigin","RegExp","test","isAllowedOrigin","path","argumentList","map","fromWireValue","returnValue","parent","slice","reduce","prop","rawValue","Promise","catch","then","wireValue","transferables","toWireValue","removeEventListener","closeEndPoint","error","TypeError","endpoint","constructor","isMessagePort","close","target","pendingListeners","resolver","delete","createProxy","throwIfProxyReleased","isReleased","releaseEndpoint","requestResponseMessage","proxyCounter","WeakMap","proxyFinalizers","FinalizationRegistry","newCount","isProxyReleased","Proxy","_target","unregister","unregisterProxy","clear","_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"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_kernel-main_js"],{
|
|
1
|
+
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_kernel-main_js"],{3297:(e,s,b)=>{b(5799),b(9253),b(908)},1428:(e,s,b)=>{b(5799);var r=b(908);b(3297),b(9253);(0,r.t)(),(0,r.Te)()}}]);
|
|
2
2
|
//# sourceMappingURL=kernel-base_lib_worker_kernel-main_js.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-base_lib_worker_kernel-main_js.js","mappings":"mMAKAA,EAAAA,EAAAA,MAEAC,EAAAA,EAAAA,K","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-main.js"],"sourcesContent":["import { wrap, createEndpoint, transfer } from \"comlink\";\nimport { NotImplementedError, mockWorker, mockHTMLImageSrc } from \"../commons\";\nimport { KernelBase } from \"../kernel\";\nimport { PromiseDelegate } from \"promise-delegate\";\n// mock Worker to support sandboxing and keep webpack compatibility\nmockWorker();\n// mock HTMLImageElement.src to support localfs access\nmockHTMLImageSrc();\nexport class KernelMainBase extends KernelBase {\n constructor(options) {\n super(options);\n // synchronise comlink and communication channels\n this._channelSyncer = new PromiseDelegate();\n this._encrypt = (s) => s;\n this._legacy = options?.legacy === true;\n // synchronous wait on SAB cannot be used in a legacy context\n // (atomic wait will block the main thread)\n if (!this.isLegacy()) {\n if (globalThis.crossOriginIsolated)\n this._sab = new SharedArrayBuffer(1024);\n else\n this._fallbackKey = globalThis.crypto.randomUUID();\n }\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 synchrnous communication with worker available?\n * (through SharedArrayBuffer atomic waits)\n */\n syncCommSupport() {\n return this._sab != null;\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 // this global variable will be removed by worker\n self._assetsURL = this.assetsURL(true);\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 { port1, port2 } = new MessageChannel();\n port2.onmessage = (e) => this.processWorkerMessage(e.data);\n this.postMessageToWorker = port2.postMessage.bind(port2);\n await this.remote?.setCommPort(transfer(port1, [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 // kernel restart in legacy mode is lazy, not a full restart\n if (this.isLegacy() && this.remote != null) {\n await this.remote?.legacyStart();\n return;\n }\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.syncCommSupport()) {\n console.log(\"Using SharedArrayBuffer for synchronous worker communication.\");\n await this._remote?.setSAB(this._sab);\n }\n else if (this._fallbackKey != null) {\n console.warn(\"SharedArrayBuffer not available, falling back to \" +\n \"using third-party server for synchronous worker communication.\");\n const pass = globalThis.crypto.randomUUID();\n await this.remote?.setFallbackKeyAndPass(this._fallbackKey, pass);\n const AES = await import(\"crypto-js/aes\");\n this._encrypt = (message) => AES.encrypt(message, pass).toString();\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 if (this.isLegacy()) {\n await this.remote?.legacyStop();\n }\n else {\n this._worker?.terminate();\n this._worker = undefined;\n this._remote = undefined;\n }\n await super._stop();\n }\n /**\n * Process messages from worker (if any).\n */\n async processWorkerMessage(msg) {\n switch (msg.type) {\n case \"eval-end\":\n this._channelSyncer.resolve();\n this._channelSyncer = new PromiseDelegate();\n break;\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 if (msg.data?.display_type === \"dom-node\") {\n // we should be in legacy mode here\n if (!this.isLegacy())\n throw new Error(\"internal error\");\n const id = msg.data?.content;\n //@ts-ignore\n msg.data.content = await self.basthon?.popDOMNode(id);\n }\n this.dispatchEvent(\"eval.display\", msg.data);\n break;\n case \"clear_output\":\n this.dispatchEvent(\"eval.clear-output\", msg.data);\n break;\n case \"input\":\n const { prompt, password, data } = msg.content;\n const res = (await this.inputAsync(prompt, password, data));\n if (msg.content.toplevel === true) {\n this.postMessageToWorker({\n type: \"toplevel-input\",\n content: res,\n data,\n });\n }\n else if (this.syncCommSupport()) {\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 else {\n const response = await fetch(\"https://api.basthon.fr/ephemeral\", {\n method: \"POST\",\n headers: {\n \"X-API-Referer\": self.location.href,\n },\n body: JSON.stringify({\n action: \"post\",\n key: this._fallbackKey,\n payload: this._encrypt(res),\n }),\n });\n if (!response.ok)\n throw new Error(`Basthon's network API error: ${response.status}`);\n }\n break;\n case \"breakpoint-move-on\":\n //@ts-ignore\n const notebook = Jupyter?.notebook;\n const msg_id = msg.content.data?.parent_msg?.header?.msg_id;\n const index = notebook?.last_msg_id_to_cell_index?.(msg_id);\n notebook?.next_breakpoint_cell?.(index);\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 // to be sure we do not miss communications\n const syncChannels = this._channelSyncer.promise;\n // evaluation\n const execResult = (await this.remote?.eval(data, code));\n // wait for all communications to end\n await syncChannels;\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"],"names":["mockWorker","mockHTMLImageSrc"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"kernel-base_lib_worker_kernel-main_js.js","mappings":"kPAKAA,EAAAA,EAAAA,MAEAC,EAAAA,EAAAA,K","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-main.js"],"sourcesContent":["import { wrap, createEndpoint, transfer } from \"comlink\";\nimport { NotImplementedError, mockWorker, mockHTMLImageSrc } from \"../commons\";\nimport { KernelBase } from \"../kernel\";\nimport { PromiseDelegate } from \"promise-delegate\";\n// mock Worker to support sandboxing and keep webpack compatibility\nmockWorker();\n// mock HTMLImageElement.src to support localfs access\nmockHTMLImageSrc();\nexport class KernelMainBase extends KernelBase {\n constructor(options) {\n super(options);\n // synchronise comlink and communication channels\n this._channelSyncer = new PromiseDelegate();\n this._encrypt = (s) => s;\n this._legacy = options?.legacy === true;\n // synchronous wait on SAB cannot be used in a legacy context\n // (atomic wait will block the main thread)\n if (!this.isLegacy()) {\n if (globalThis.crossOriginIsolated)\n this._sab = new SharedArrayBuffer(1024);\n else\n this._fallbackKey = globalThis.crypto.randomUUID();\n }\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 synchrnous communication with worker available?\n * (through SharedArrayBuffer atomic waits)\n */\n syncCommSupport() {\n return this._sab != null;\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 // this global variable will be removed by worker\n self._assetsURL = this.assetsURL(true);\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 { port1, port2 } = new MessageChannel();\n port2.onmessage = (e) => this.processWorkerMessage(e.data);\n this.postMessageToWorker = port2.postMessage.bind(port2);\n await this.remote?.setCommPort(transfer(port1, [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 // kernel restart in legacy mode is lazy, not a full restart\n if (this.isLegacy() && this.remote != null) {\n await this.remote?.legacyStart();\n return;\n }\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.syncCommSupport()) {\n console.log(\"Using SharedArrayBuffer for synchronous worker communication.\");\n await this._remote?.setSAB(this._sab);\n }\n else if (this._fallbackKey != null) {\n console.warn(\"SharedArrayBuffer not available, falling back to \" +\n \"using third-party server for synchronous worker communication.\");\n const pass = globalThis.crypto.randomUUID();\n await this.remote?.setFallbackKeyAndPass(this._fallbackKey, pass);\n const AES = await import(\"crypto-js/aes\");\n this._encrypt = (message) => AES.encrypt(message, pass).toString();\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 if (this.isLegacy()) {\n await this.remote?.legacyStop();\n }\n else {\n this._worker?.terminate();\n this._worker = undefined;\n this._remote = undefined;\n }\n await super._stop();\n }\n /**\n * Process messages from worker (if any).\n */\n async processWorkerMessage(msg) {\n switch (msg.type) {\n case \"eval-end\":\n this._channelSyncer.resolve();\n this._channelSyncer = new PromiseDelegate();\n break;\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 if (msg.data?.display_type === \"dom-node\") {\n // we should be in legacy mode here\n if (!this.isLegacy())\n throw new Error(\"internal error\");\n const id = msg.data?.content;\n //@ts-ignore\n msg.data.content = await self.basthon?.popDOMNode(id);\n }\n this.dispatchEvent(\"eval.display\", msg.data);\n break;\n case \"clear_output\":\n this.dispatchEvent(\"eval.clear-output\", msg.data);\n break;\n case \"input\":\n const { prompt, password, data } = msg.content;\n const res = (await this.inputAsync(prompt, password, data));\n if (msg.content.toplevel === true) {\n this.postMessageToWorker({\n type: \"toplevel-input\",\n content: res,\n data,\n });\n }\n else if (this.syncCommSupport()) {\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 else {\n const response = await fetch(\"https://api.basthon.fr/ephemeral\", {\n method: \"POST\",\n headers: {\n \"X-API-Referer\": self.location.href,\n },\n body: JSON.stringify({\n action: \"post\",\n key: this._fallbackKey,\n payload: this._encrypt(res),\n }),\n });\n if (!response.ok)\n throw new Error(`Basthon's network API error: ${response.status}`);\n }\n break;\n case \"breakpoint-move-on\":\n //@ts-ignore\n const notebook = Jupyter?.notebook;\n const msg_id = msg.content.data?.parent_msg?.header?.msg_id;\n const index = notebook?.last_msg_id_to_cell_index?.(msg_id);\n notebook?.next_breakpoint_cell?.(index);\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 // to be sure we do not miss communications\n const syncChannels = this._channelSyncer.promise;\n // evaluation\n const execResult = (await this.remote?.eval(data, code));\n // wait for all communications to end\n await syncChannels;\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"],"names":["mockWorker","mockHTMLImageSrc"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_kernel-worker_js"],{908:(e,t,n)=>{n.d(t,{EH:()=>b,JQ:()=>x,Te:()=>S,t:()=>A});var r=n(2474),s=n(4586),a=n(6330),o=n(414),i=n(5152),u=n(5309),c=n(2715),l=n(9296),p=n(2779),f=n(5799),h=n.n(f);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,s.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function y(e,t,n){return t=(0,c.A)(t),(0,u.A)(e,m()?Reflect.construct(t,n||[],(0,c.A)(e).constructor):t.apply(e,n))}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(m=function(){return!!e})()}var b=function(e){function t(e){var n;return(0,i.A)(this,t),(n=y(this,t,["Function ".concat(e," not implemented!")])).name="NotImplementedError",n}return(0,l.A)(t,e),(0,o.A)(t)}((0,p.A)(Error)),w=function(){var e=(0,a.A)(h().mark((function e(t){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e,n){var r=new FileReader;r.onloadend=function(){e(r.result)},r.onerror=n,r.readAsDataURL(new Blob([t]))}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),k=function(){var e=(0,a.A)(h().mark((function e(t,n){var r,s,a,o,i,u;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t,s=n.slice(r.length),a=null,o={status:200,statusText:"OK",headers:new Headers},e.prev=4,e.next=7,self.basthon.getFile(s);case 7:return a=e.sent,e.next=10,w(a);case 10:i=e.sent,u=i.substring(i.indexOf(":")+1,i.indexOf(";")),a=a.buffer,o.headers.append("Content-Type",u),o.headers.append("Content-Length",a.byteLength),e.next=21;break;case 17:e.prev=17,e.t0=e.catch(4),o.status=404,o.statusText="Not Found";case 21:return e.abrupt("return",new Response(a,o));case 22:case"end":return e.stop()}}),e,null,[[4,17]])})));return function(t,n){return e.apply(this,arguments)}}(),_=function(e){return new URL(e).origin},g=function(e){var t=new URL(e).href;return t.substring(0,t.lastIndexOf("/"))},x=function(e){if("mockedFetch"!==self.fetch.name){var t=self.fetch,n=self._assetsURL;self.fetch=function(e,t){return r.apply(this,arguments)}}function r(){return(r=(0,a.A)(h().mark((function r(s,a){var o,i,u,c,l,p,f;return h().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(s instanceof Request&&(a=v(v({},s),a)),i=null!==(o=s.url)&&void 0!==o?o:s.toString(),u="filesystem:/",!e){r.next=11;break}if(!i.startsWith(u)){r.next=8;break}return r.next=7,k(u,i);case 7:case 10:case 18:case 33:return r.abrupt("return",r.sent);case 8:return r.next=10,t(i,a);case 11:if(null!=self.importScripts&&null!=n){r.next=13;break}return r.abrupt("return",Response.error());case 13:if(a=v(v({},a),{credentials:"omit"}),r.prev=14,!i.startsWith(u)){r.next=21;break}return r.next=18,k(u,i);case 21:if(_(i)!==_(n)){r.next=31;break}if(!g(i).startsWith(n)){r.next=30;break}return c=self._remoteProxy,r.next=26,c.fetch(i,a);case 26:return l=r.sent,p=l.body,f=l.options,r.abrupt("return",new Response(p,f));case 30:throw new Error("Ressource is outside the proxy' scope");case 31:return r.next=33,t(i,a);case 36:return r.prev=36,r.t0=r.catch(14),console.error("security proxy: request to ".concat(i," throw error: ").concat(r.t0.toString())),r.abrupt("return",Response.error());case 40:case"end":return r.stop()}}),r,null,[[14,36]])})))).apply(this,arguments)}},A=function(){if("SandboxedWorker"!==globalThis.Worker.name){var e=function(e){function t(e,n){var s;if((0,i.A)(this,t),!0===(null==n?void 0:n.sandboxed)){var a=new URL(e).href,o=a.substring(0,a.lastIndexOf("/")),u='\n self._assetsURL = "'.concat(o,'";\n globalThis = {importScripts: self.importScripts, location: "').concat(e,'"};\n importScripts("').concat(e,'");\n globalThis = self;\n ').replace(/\s/g,"");s=y(this,t,["data:text/javascript;base64,".concat(btoa(u))])}else s=y(this,t,[e,n]);return(0,r.A)(s)}return(0,l.A)(t,e),(0,o.A)(t)}((0,p.A)(Worker));globalThis.Worker=e}},S=function(){var e;if(null!=(null===globalThis||void 0===globalThis?void 0:globalThis.HTMLImageElement)){var t=Object.getOwnPropertyDescriptor(HTMLImageElement.prototype,"src");"mockedSrcSet"!==(null==t||null===(e=t.set)||void 0===e?void 0:e.name)&&Object.defineProperty(HTMLImageElement.prototype,"src",v(v({},t),{},{get:function(){var e;return null==t||null===(e=t.get)||void 0===e?void 0:e.call(this)},set:function(e){var n=this,r="filesystem:/";if(e.startsWith(r)){var s=e.slice(12);(0,a.A)(h().mark((function e(){var r,a,o,i,u;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(a=globalThis.Basthon)||void 0===a||null===(o=a.getFile)||void 0===o?void 0:o.call(a,s);case 2:if(e.t1=r=e.sent,e.t0=null===e.t1,e.t0){e.next=6;break}e.t0=void 0===r;case 6:if(!e.t0){e.next=10;break}e.t2=void 0,e.next=11;break;case 10:e.t2=r.buffer;case 11:if(u=e.t2,e.t3=null==t||null===(i=t.set)||void 0===i,e.t3){e.next=20;break}return e.t4=i,e.t5=n,e.next=18,w(u);case 18:e.t6=e.sent,e.t4.call.call(e.t4,e.t5,e.t6);case 20:case"end":return e.stop()}}),e)})))()}else{var o;null==t||null===(o=t.set)||void 0===o||o.call(this,e)}}}))}}},962:(e,t,n)=>{n.d(t,{x:()=>r});var r="0.72.5"},5607:(e,t,n)=>{n.d(t,{f:()=>h});var r=n(6330),s=n(5152),a=n(414),o=n(5799),i=n.n(o),u=n(9253),c=n(908),l=n(7695),p=n(962),f=n(6743),h=function(){return(0,a.A)((function e(t){var n=this;(0,s.A)(this,e),this._ready=new u.D,this._evalPromises=[],this._decrypt=function(e){return e},this._options=t,this._legacy=!0===(null==t?void 0:t.legacy),this._basthonRoot=self._assetsURL+"/"+p.x+"/"+this.language(),(0,c.JQ)(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)},this.isLegacy()&&(this._domNodeBus=new f.fA),self._assetsURL=void 0}),[{key:"language",value:function(){throw new c.EH("language")}},{key:"isLegacy",value:function(){return this._legacy}},{key:"basthonRoot",value:function(){return this._basthonRoot}},{key:"syncCommSupport",value:function(){return null!=this._sab}},{key:"legacyStart",value:(g=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("legacyStart");case 1:case"end":return e.stop()}}),e)}))),function(){return g.apply(this,arguments)})},{key:"legacyStop",value:(_=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("legacyStop");case 1:case"end":return e.stop()}}),e)}))),function(){return _.apply(this,arguments)})},{key:"setSAB",value:function(e){this._sab=e}},{key:"addEvalPromise",value:function(e){this._evalPromises.push(e)}},{key:"setFallbackKeyAndPass",value:(k=(0,r.A)(i().mark((function e(t,r){var s;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._fallbackKey=t,e.next=3,Promise.all([n.e("vendors-node_modules_crypto-js_aes_js"),n.e("vendors-node_modules_crypto-js_index_js"),n.e("_ad751")]).then(n.t.bind(n,8705,23));case 3:s=e.sent,this._decrypt=function(e){return s.AES.decrypt(e,r).toString(s.enc.Utf8)};case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return k.apply(this,arguments)})},{key:"_init",value:(w=(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 w.apply(this,arguments)})},{key:"init",value:(b=(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=10;break;case 6:throw e.prev=6,e.t0=e.catch(0),this._ready.reject(e.t0),e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return b.apply(this,arguments)})},{key:"ready",value:function(){return this._ready.promise}},{key:"setCommPort",value:function(e){var t=this;this.postMessage=e.postMessage.bind(e),e.onmessage=function(e){return t.processMainThreadMessage(e.data)}}},{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:(m=(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 m.apply(this,arguments)})},{key:"displayBlob",value:(y=(0,r.A)(i().mark((function e(t,n){var r,s,a,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(s=e.sent,a="data:image/png;base64,",!s.startsWith(a)){e.next=11;break}o=s.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 y.apply(this,arguments)})},{key:"display",value:function(e){var t=this,n=this.clone(this.__eval_data__);if(null!=globalThis.OffscreenCanvas&&e instanceof OffscreenCanvas)this.addEvalPromise((0,r.A)(i().mark((function r(){var s;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e.convertToBlob();case 2:return s=r.sent,r.next=5,t.displayBlob(s,n);case 5:case"end":return r.stop()}}),r)})))());else{var s,a,o;if(this.isLegacy()&&e instanceof HTMLElement)n.display_type="dom-node",n.content=null===(a=this._domNodeBus)||void 0===a||null===(o=a.push)||void 0===o?void 0:o.call(a,e);else n.display_type="multiple",n.content=e;null===(s=this.postMessage)||void 0===s||s.call(this,{data:n,type:"display"})}}},{key:"clearOutput",value:function(e){var t,n=this.clone(this.__eval_data__);n.content={wait:e},null===(t=this.postMessage)||void 0===t||t.call(this,{data:n,type:"clear_output"})}},{key:"popDOMNode",value:function(e){var t;return null===(t=this._domNodeBus)||void 0===t?void 0:t.pop(e)}},{key:"_eval",value:(v=(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.EH("_eval");case 1:case"end":return e.stop()}}),e)}))),function(e,t){return v.apply(this,arguments)})},{key:"eval",value:(d=(0,r.A)(i().mark((function e(t,n){var r,s,a,o,u,c;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._evalPromises=[],this.__eval_data__=t,e.prev=2,e.next=5,this._eval(t,n);case 5:a=e.sent,s={data:t,status:"ok",result:a},e.next=14;break;case 9:e.prev=9,e.t0=e.catch(2),o=e.t0.name,u=e.t0.stack,c=e.t0.message,this.sendStderrStream(t,e.t0.toString()),s={data:t,status:"error",error:{name:o,value:c,traceback:null==u?void 0:u.toString()}};case 14:return null===(r=this.postMessage)||void 0===r||r.call(this,{type:"eval-end"}),e.next=17,Promise.all(this._evalPromises);case 17:return e.abrupt("return",s);case 18:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e,t){return d.apply(this,arguments)})},{key:"putFile",value:function(e,t){throw new c.EH("putFile")}},{key:"putModule",value:function(e,t){throw new c.EH("putModule")}},{key:"complete",value:(h=(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 h.apply(this,arguments)})},{key:"more",value:(o=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("more");case 1:case"end":return e.stop()}}),e)}))),function(e){return o.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,this.syncCommSupport())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=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=function(){var t,s=n.clone(n.__eval_data__);null===(t=n.postMessage)||void 0===t||t.call(n,{type:"input",content:{data:s,prompt:e,password:r}})};if(this.syncCommSupport())return s(),Atomics.store(new Int32Array(this._sab),0,0),Atomics.wait(new Int32Array(this._sab),0,0),this.decodeSharedArrayBuffer(this._sab);if(null!=self._prompt)return null!==(t=self._prompt(null!=e?e:""))&&void 0!==t?t:"";s();for(var a=Date.now()+12e4;Date.now()<a;){var o,i=new XMLHttpRequest;if(i.open("POST","https://api.basthon.fr/ephemeral",!1),i.setRequestHeader("X-API-Referer",null!==(o=this._basthonRoot)&&void 0!==o?o:"null"),i.send(JSON.stringify({action:"get",key:this._fallbackKey})),200===i.status)return this._decrypt(i.responseText)}throw new Error("Error using the Basthon's network API")}},{key:"processMainThreadMessage",value:(t=(0,r.A)(i().mark((function e(t){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.type,e.next="toplevel-input"===e.t0?3:5;break;case 3:return null===(n=this._toplevelInputPromise)||void 0===n||n.resolve(t.content),e.abrupt("break",6);case 5:return e.abrupt("break",6);case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"toplevelInput",value:(e=(0,r.A)(i().mark((function e(t){var n,r,s,a,o=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]&&o[1],s=o.length>2&&void 0!==o[2]?o[2]:void 0,this._toplevelInputPromise=new u.D,null===(n=this.postMessage)||void 0===n||n.call(this,{type:"input",content:{data:s,prompt:t,password:r,toplevel:!0}}),e.next=6,this._toplevelInputPromise.promise;case 6:return a=e.sent,this._toplevelInputPromise=void 0,e.abrupt("return",a);case 9:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})},{key:"breakpointMoveOn",value:function(){var e,t=this.clone(this.__eval_data__);null===(e=this.postMessage)||void 0===e||e.call(this,{type:"breakpoint-move-on",content:{data:t}})}}]);var e,t,o,h,d,v,y,m,b,w,k,_,g}()},6743:(e,t,n)=>{n.d(t,{fA:()=>v,k0:()=>y,p:()=>d});var r=n(6330),s=n(5152),a=n(414),o=n(5309),i=n(2715),u=n(9296),c=n(2779),l=n(5799),p=n.n(l),f=n(7695);function h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(h=function(){return!!e})()}var d=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,f.p)(e,n.data))};addEventListener("message",t)}else(0,f.p)(e,self._commPort),self._commPort=void 0},v=function(e){function t(){return(0,s.A)(this,t),e=this,n=t,r=arguments,n=(0,i.A)(n),(0,o.A)(e,h()?Reflect.construct(n,r||[],(0,i.A)(e).constructor):n.apply(e,r));var e,n,r}return(0,u.A)(t,e),(0,a.A)(t,[{key:"push",value:function(e){for(var t=0;t<this.size&&this.has(t);t++);return this.set(t,e),t}},{key:"pop",value:function(e){var t=this.get(e);return this.delete(e),t}}])}((0,c.A)(Map)),y=function(){var e=(0,r.A)(p().mark((function e(t){return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null==globalThis.importScripts){e.next=2;break}return e.abrupt("return",importScripts(t));case 2:return e.abrupt("return",new Promise((function(e,n){var r=document.createElement("script");r.onload=e,r.onerror=n,r.src=t,document.head.appendChild(r)})));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_kernel-worker_js"],{908:(e,t,n)=>{n.d(t,{EH:()=>b,JQ:()=>x,Te:()=>S,t:()=>A});var r=n(2474),s=n(4586),a=n(6330),o=n(414),i=n(5152),u=n(5309),c=n(2715),l=n(9296),p=n(2779),f=n(5799),h=n.n(f);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,s.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function y(e,t,n){return t=(0,c.A)(t),(0,u.A)(e,m()?Reflect.construct(t,n||[],(0,c.A)(e).constructor):t.apply(e,n))}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(m=function(){return!!e})()}var b=function(e){function t(e){var n;return(0,i.A)(this,t),(n=y(this,t,["Function ".concat(e," not implemented!")])).name="NotImplementedError",n}return(0,l.A)(t,e),(0,o.A)(t)}((0,p.A)(Error)),w=function(){var e=(0,a.A)(h().mark((function e(t){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e,n){var r=new FileReader;r.onloadend=function(){e(r.result)},r.onerror=n,r.readAsDataURL(new Blob([t]))}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),k=function(){var e=(0,a.A)(h().mark((function e(t,n){var r,s,a,o,i,u;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t,s=n.slice(r.length),a=null,o={status:200,statusText:"OK",headers:new Headers},e.prev=4,e.next=7,self.basthon.getFile(s);case 7:return a=e.sent,e.next=10,w(a);case 10:i=e.sent,u=i.substring(i.indexOf(":")+1,i.indexOf(";")),a=a.buffer,o.headers.append("Content-Type",u),o.headers.append("Content-Length",a.byteLength),e.next=21;break;case 17:e.prev=17,e.t0=e.catch(4),o.status=404,o.statusText="Not Found";case 21:return e.abrupt("return",new Response(a,o));case 22:case"end":return e.stop()}}),e,null,[[4,17]])})));return function(t,n){return e.apply(this,arguments)}}(),_=function(e){return new URL(e).origin},g=function(e){var t=new URL(e).href;return t.substring(0,t.lastIndexOf("/"))},x=function(e){if("mockedFetch"!==self.fetch.name){var t=self.fetch,n=self._assetsURL;self.fetch=function(e,t){return r.apply(this,arguments)}}function r(){return(r=(0,a.A)(h().mark((function r(s,a){var o,i,u,c,l,p,f;return h().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(s instanceof Request&&(a=v(v({},s),a)),i=null!==(o=s.url)&&void 0!==o?o:s.toString(),u="filesystem:/",!e){r.next=11;break}if(!i.startsWith(u)){r.next=8;break}return r.next=7,k(u,i);case 7:case 10:case 18:case 33:return r.abrupt("return",r.sent);case 8:return r.next=10,t(i,a);case 11:if(null!=self.importScripts&&null!=n){r.next=13;break}return r.abrupt("return",Response.error());case 13:if(a=v(v({},a),{credentials:"omit"}),r.prev=14,!i.startsWith(u)){r.next=21;break}return r.next=18,k(u,i);case 21:if(_(i)!==_(n)){r.next=31;break}if(!g(i).startsWith(n)){r.next=30;break}return c=self._remoteProxy,r.next=26,c.fetch(i,a);case 26:return l=r.sent,p=l.body,f=l.options,r.abrupt("return",new Response(p,f));case 30:throw new Error("Ressource is outside the proxy' scope");case 31:return r.next=33,t(i,a);case 36:return r.prev=36,r.t0=r.catch(14),console.error("security proxy: request to ".concat(i," throw error: ").concat(r.t0.toString())),r.abrupt("return",Response.error());case 40:case"end":return r.stop()}}),r,null,[[14,36]])})))).apply(this,arguments)}},A=function(){if("SandboxedWorker"!==globalThis.Worker.name){var e=function(e){function t(e,n){var s;if((0,i.A)(this,t),!0===(null==n?void 0:n.sandboxed)){var a=new URL(e).href,o=a.substring(0,a.lastIndexOf("/")),u='\n self._assetsURL = "'.concat(o,'";\n globalThis = {importScripts: self.importScripts, location: "').concat(e,'"};\n importScripts("').concat(e,'");\n globalThis = self;\n ').replace(/\s/g,"");s=y(this,t,["data:text/javascript;base64,".concat(btoa(u))])}else s=y(this,t,[e,n]);return(0,r.A)(s)}return(0,l.A)(t,e),(0,o.A)(t)}((0,p.A)(Worker));globalThis.Worker=e}},S=function(){var e;if(null!=(null===globalThis||void 0===globalThis?void 0:globalThis.HTMLImageElement)){var t=Object.getOwnPropertyDescriptor(HTMLImageElement.prototype,"src");"mockedSrcSet"!==(null==t||null===(e=t.set)||void 0===e?void 0:e.name)&&Object.defineProperty(HTMLImageElement.prototype,"src",v(v({},t),{},{get:function(){var e;return null==t||null===(e=t.get)||void 0===e?void 0:e.call(this)},set:function(e){var n=this,r="filesystem:/";if(e.startsWith(r)){var s=e.slice(12);(0,a.A)(h().mark((function e(){var r,a,o,i,u;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(a=globalThis.Basthon)||void 0===a||null===(o=a.getFile)||void 0===o?void 0:o.call(a,s);case 2:if(e.t1=r=e.sent,e.t0=null===e.t1,e.t0){e.next=6;break}e.t0=void 0===r;case 6:if(!e.t0){e.next=10;break}e.t2=void 0,e.next=11;break;case 10:e.t2=r.buffer;case 11:if(u=e.t2,e.t3=null==t||null===(i=t.set)||void 0===i,e.t3){e.next=20;break}return e.t4=i,e.t5=n,e.next=18,w(u);case 18:e.t6=e.sent,e.t4.call.call(e.t4,e.t5,e.t6);case 20:case"end":return e.stop()}}),e)})))()}else{var o;null==t||null===(o=t.set)||void 0===o||o.call(this,e)}}}))}}},962:(e,t,n)=>{n.d(t,{x:()=>r});var r="0.72.6"},5607:(e,t,n)=>{n.d(t,{f:()=>h});var r=n(6330),s=n(5152),a=n(414),o=n(5799),i=n.n(o),u=n(9253),c=n(908),l=n(7695),p=n(962),f=n(6743),h=function(){return(0,a.A)((function e(t){var n=this;(0,s.A)(this,e),this._ready=new u.D,this._evalPromises=[],this._decrypt=function(e){return e},this._options=t,this._legacy=!0===(null==t?void 0:t.legacy),this._basthonRoot=self._assetsURL+"/"+p.x+"/"+this.language(),(0,c.JQ)(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)},this.isLegacy()&&(this._domNodeBus=new f.fA),self._assetsURL=void 0}),[{key:"language",value:function(){throw new c.EH("language")}},{key:"isLegacy",value:function(){return this._legacy}},{key:"basthonRoot",value:function(){return this._basthonRoot}},{key:"syncCommSupport",value:function(){return null!=this._sab}},{key:"legacyStart",value:(g=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("legacyStart");case 1:case"end":return e.stop()}}),e)}))),function(){return g.apply(this,arguments)})},{key:"legacyStop",value:(_=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("legacyStop");case 1:case"end":return e.stop()}}),e)}))),function(){return _.apply(this,arguments)})},{key:"setSAB",value:function(e){this._sab=e}},{key:"addEvalPromise",value:function(e){this._evalPromises.push(e)}},{key:"setFallbackKeyAndPass",value:(k=(0,r.A)(i().mark((function e(t,r){var s;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._fallbackKey=t,e.next=3,Promise.all([n.e("vendors-node_modules_crypto-js_aes_js"),n.e("vendors-node_modules_crypto-js_index_js"),n.e("_ad751")]).then(n.t.bind(n,8705,23));case 3:s=e.sent,this._decrypt=function(e){return s.AES.decrypt(e,r).toString(s.enc.Utf8)};case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return k.apply(this,arguments)})},{key:"_init",value:(w=(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 w.apply(this,arguments)})},{key:"init",value:(b=(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=10;break;case 6:throw e.prev=6,e.t0=e.catch(0),this._ready.reject(e.t0),e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return b.apply(this,arguments)})},{key:"ready",value:function(){return this._ready.promise}},{key:"setCommPort",value:function(e){var t=this;this.postMessage=e.postMessage.bind(e),e.onmessage=function(e){return t.processMainThreadMessage(e.data)}}},{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:(m=(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 m.apply(this,arguments)})},{key:"displayBlob",value:(y=(0,r.A)(i().mark((function e(t,n){var r,s,a,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(s=e.sent,a="data:image/png;base64,",!s.startsWith(a)){e.next=11;break}o=s.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 y.apply(this,arguments)})},{key:"display",value:function(e){var t=this,n=this.clone(this.__eval_data__);if(null!=globalThis.OffscreenCanvas&&e instanceof OffscreenCanvas)this.addEvalPromise((0,r.A)(i().mark((function r(){var s;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e.convertToBlob();case 2:return s=r.sent,r.next=5,t.displayBlob(s,n);case 5:case"end":return r.stop()}}),r)})))());else{var s,a,o;if(this.isLegacy()&&e instanceof HTMLElement)n.display_type="dom-node",n.content=null===(a=this._domNodeBus)||void 0===a||null===(o=a.push)||void 0===o?void 0:o.call(a,e);else n.display_type="multiple",n.content=e;null===(s=this.postMessage)||void 0===s||s.call(this,{data:n,type:"display"})}}},{key:"clearOutput",value:function(e){var t,n=this.clone(this.__eval_data__);n.content={wait:e},null===(t=this.postMessage)||void 0===t||t.call(this,{data:n,type:"clear_output"})}},{key:"popDOMNode",value:function(e){var t;return null===(t=this._domNodeBus)||void 0===t?void 0:t.pop(e)}},{key:"_eval",value:(v=(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.EH("_eval");case 1:case"end":return e.stop()}}),e)}))),function(e,t){return v.apply(this,arguments)})},{key:"eval",value:(d=(0,r.A)(i().mark((function e(t,n){var r,s,a,o,u,c;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._evalPromises=[],this.__eval_data__=t,e.prev=2,e.next=5,this._eval(t,n);case 5:a=e.sent,s={data:t,status:"ok",result:a},e.next=14;break;case 9:e.prev=9,e.t0=e.catch(2),o=e.t0.name,u=e.t0.stack,c=e.t0.message,this.sendStderrStream(t,e.t0.toString()),s={data:t,status:"error",error:{name:o,value:c,traceback:null==u?void 0:u.toString()}};case 14:return null===(r=this.postMessage)||void 0===r||r.call(this,{type:"eval-end"}),e.next=17,Promise.all(this._evalPromises);case 17:return e.abrupt("return",s);case 18:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e,t){return d.apply(this,arguments)})},{key:"putFile",value:function(e,t){throw new c.EH("putFile")}},{key:"putModule",value:function(e,t){throw new c.EH("putModule")}},{key:"complete",value:(h=(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 h.apply(this,arguments)})},{key:"more",value:(o=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.EH("more");case 1:case"end":return e.stop()}}),e)}))),function(e){return o.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,this.syncCommSupport())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=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=function(){var t,s=n.clone(n.__eval_data__);null===(t=n.postMessage)||void 0===t||t.call(n,{type:"input",content:{data:s,prompt:e,password:r}})};if(this.syncCommSupport())return s(),Atomics.store(new Int32Array(this._sab),0,0),Atomics.wait(new Int32Array(this._sab),0,0),this.decodeSharedArrayBuffer(this._sab);if(null!=self._prompt)return null!==(t=self._prompt(null!=e?e:""))&&void 0!==t?t:"";s();for(var a=Date.now()+12e4;Date.now()<a;){var o,i=new XMLHttpRequest;if(i.open("POST","https://api.basthon.fr/ephemeral",!1),i.setRequestHeader("X-API-Referer",null!==(o=this._basthonRoot)&&void 0!==o?o:"null"),i.send(JSON.stringify({action:"get",key:this._fallbackKey})),200===i.status)return this._decrypt(i.responseText)}throw new Error("Error using the Basthon's network API")}},{key:"processMainThreadMessage",value:(t=(0,r.A)(i().mark((function e(t){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.type,e.next="toplevel-input"===e.t0?3:5;break;case 3:return null===(n=this._toplevelInputPromise)||void 0===n||n.resolve(t.content),e.abrupt("break",6);case 5:return e.abrupt("break",6);case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"toplevelInput",value:(e=(0,r.A)(i().mark((function e(t){var n,r,s,a,o=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]&&o[1],s=o.length>2&&void 0!==o[2]?o[2]:void 0,this._toplevelInputPromise=new u.D,null===(n=this.postMessage)||void 0===n||n.call(this,{type:"input",content:{data:s,prompt:t,password:r,toplevel:!0}}),e.next=6,this._toplevelInputPromise.promise;case 6:return a=e.sent,this._toplevelInputPromise=void 0,e.abrupt("return",a);case 9:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})},{key:"breakpointMoveOn",value:function(){var e,t=this.clone(this.__eval_data__);null===(e=this.postMessage)||void 0===e||e.call(this,{type:"breakpoint-move-on",content:{data:t}})}}]);var e,t,o,h,d,v,y,m,b,w,k,_,g}()},6743:(e,t,n)=>{n.d(t,{fA:()=>v,k0:()=>y,p:()=>d});var r=n(6330),s=n(5152),a=n(414),o=n(5309),i=n(2715),u=n(9296),c=n(2779),l=n(5799),p=n.n(l),f=n(7695);function h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(h=function(){return!!e})()}var d=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,f.p)(e,n.data))};addEventListener("message",t)}else(0,f.p)(e,self._commPort),self._commPort=void 0},v=function(e){function t(){return(0,s.A)(this,t),e=this,n=t,r=arguments,n=(0,i.A)(n),(0,o.A)(e,h()?Reflect.construct(n,r||[],(0,i.A)(e).constructor):n.apply(e,r));var e,n,r}return(0,u.A)(t,e),(0,a.A)(t,[{key:"push",value:function(e){for(var t=0;t<this.size&&this.has(t);t++);return this.set(t,e),t}},{key:"pop",value:function(e){var t=this.get(e);return this.delete(e),t}}])}((0,c.A)(Map)),y=function(){var e=(0,r.A)(p().mark((function e(t){return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null==globalThis.importScripts){e.next=2;break}return e.abrupt("return",importScripts(t));case 2:return e.abrupt("return",new Promise((function(e,n){var r=document.createElement("script");r.onload=e,r.onerror=n,r.src=t,document.head.appendChild(r)})));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}}]);
|
|
2
2
|
//# sourceMappingURL=kernel-base_lib_worker_kernel-worker_js.js.map
|