@dodona/papyros 4.6.0 → 4.6.2

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.
@@ -1 +1 @@
1
- var e=((e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports))(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define([],r):typeof e==`object`?e.syncMessage=r():n.syncMessage=r()})(self,(function(){return(()=>{var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,`__esModule`,{value:!0})}},t={};e.r(t),e.d(t,{isServiceWorkerRequest:()=>a,serviceWorkerFetchListener:()=>o,asyncSleep:()=>s,ServiceWorkerError:()=>c,writeMessageAtomics:()=>l,writeMessageServiceWorker:()=>u,writeMessage:()=>d,makeChannel:()=>f,makeAtomicsChannel:()=>p,makeServiceWorkerChannel:()=>m,readMessage:()=>g,syncSleep:()=>_,uuidv4:()=>v});var n=function(e,t,n,r){return new(n||=Promise)((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))};let r=`__SyncMessageServiceWorkerInput__`,i=`__sync-message-v2__`;function a(e){return typeof e!=`string`&&(e=e.request.url),e.includes(r)}function o(){let e={},t={};return r=>{let{url:o}=r.request;return!!a(o)&&(r.respondWith(function(){return n(this,void 0,void 0,(function*(){function n(e){return new Response(JSON.stringify({message:e,version:i}),{status:200})}if(o.endsWith(`/read`)){let{messageId:i,timeout:a}=yield r.request.json();if(i in e){let t=e[i];return delete e[i],n(t)}return yield new Promise((e=>{t[i]=e,setTimeout((function(){delete t[i],e(new Response(``,{status:408}))}),a)}))}if(o.endsWith(`/write`)){let{message:i,messageId:a}=yield r.request.json(),o=t[a];return o?(o(n(i)),delete t[a]):e[a]=i,n({early:!o})}if(o.endsWith(`/version`))return new Response(i,{status:200})}))}()),!0)}}function s(e){return new Promise((t=>setTimeout(t,e)))}class c extends Error{constructor(e,t){super(`Received status ${t} from ${e}. Ensure the service worker is registered and active.`),this.url=e,this.status=t,this.type=`ServiceWorkerError`,Object.setPrototypeOf(this,c.prototype)}}function l(e,t){let n=new TextEncoder().encode(JSON.stringify(t)),{data:r,meta:i}=e;if(n.length>r.length)throw Error(`Message is too big, increase bufferSize when making channel.`);r.set(n,0),Atomics.store(i,0,n.length),Atomics.store(i,1,1),Atomics.notify(i,1)}function u(e,t,r){return n(this,void 0,void 0,(function*(){yield navigator.serviceWorker.ready;let n=e.baseUrl+`/write`,a=Date.now();for(;;){let o=yield fetch(n,{method:`POST`,body:JSON.stringify({message:t,messageId:r})});if(o.status===200&&(yield o.json()).version===i)return;if(!(Date.now()-a<e.timeout))throw new c(n,o.status);yield s(100)}}))}function d(e,t,r){return n(this,void 0,void 0,(function*(){e.type===`atomics`?l(e,t):yield u(e,t,r)}))}function f(e={}){return typeof SharedArrayBuffer<`u`?p(e.atomics):`serviceWorker`in navigator?m(e.serviceWorker):null}function p({bufferSize:e}={}){return{type:`atomics`,data:new Uint8Array(new SharedArrayBuffer(e||131072)),meta:new Int32Array(new SharedArrayBuffer(2*Int32Array.BYTES_PER_ELEMENT))}}function m(e={}){return{type:`serviceWorker`,baseUrl:(e.scope||`/`)+r,timeout:e.timeout||5e3}}function h(e,t){return e>0?+e:t}function g(e,t,{checkInterrupt:n,checkTimeout:r,timeout:a}={}){let o=performance.now();r=h(r,n?100:5e3);let s=h(a,1/0),l;if(e.type===`atomics`){let{data:t,meta:n}=e;l=()=>{if(Atomics.wait(n,1,0,r)===`timed-out`)return null;{let e=Atomics.exchange(n,0,0),r=t.slice(0,e);Atomics.store(n,1,0);let i=new TextDecoder().decode(r);return JSON.parse(i)}}}else l=()=>{let n=new XMLHttpRequest,a=e.baseUrl+`/read`;n.open(`POST`,a,!1);let s={messageId:t,timeout:r};n.send(JSON.stringify(s));let{status:l}=n;if(l===408)return null;if(l===200){let e=JSON.parse(n.responseText);return e.version===i?e.message:null}if(performance.now()-o<e.timeout)return null;throw new c(a,l)};for(;;){let e=s-(performance.now()-o);if(e<=0)return null;r=Math.min(r,e);let t=l();if(t!==null)return t;if(n?.())return null}}function _(e,t){if(e=h(e,0))if(typeof SharedArrayBuffer<`u`){let t=new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));t[0]=0,Atomics.wait(t,0,0,e)}else g(t,`sleep ${e} ${v()}`,{timeout:e})}let v;return v=`randomUUID`in crypto?function(){return crypto.randomUUID()}:function(){return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,(e=>{let t=Number(e);return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))},t})()}))}))(),t=new class{constructor(t=``){this.hostName=t,this.syncMessageListener=(0,e.serviceWorkerFetchListener)()}async handleInputRequest(e){if(this.syncMessageListener(e))return!0;let t=e.request.url;return this.hostName&&t.includes(this.hostName)?(e.respondWith(fetch(e.request).then(e=>{let t=new Headers(e.headers);return t.set(`Cross-Origin-Embedder-Policy`,`require-corp`),t.set(`Cross-Origin-Opener-Policy`,`same-origin`),t.set(`Cross-Origin-Resource-Policy`,`cross-origin`),new Response(e.body,{status:e.status||200,statusText:e.statusText,headers:t})})),!0):!1}}(``);addEventListener(`fetch`,async function(e){await t.handleInputRequest(e)}),addEventListener(`install`,function(e){e.waitUntil(skipWaiting())}),addEventListener(`activate`,function(e){e.waitUntil(clients.claim())});
1
+ var e=((e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports))(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define([],r):typeof e==`object`?e.syncMessage=r():n.syncMessage=r()})(self,(function(){return(()=>{var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{isServiceWorkerRequest:()=>a,serviceWorkerFetchListener:()=>o,asyncSleep:()=>s,ServiceWorkerError:()=>c,writeMessageAtomics:()=>l,writeMessageServiceWorker:()=>u,writeMessage:()=>d,makeChannel:()=>f,makeAtomicsChannel:()=>p,makeServiceWorkerChannel:()=>m,readMessage:()=>g,syncSleep:()=>_,uuidv4:()=>v});var n=function(e,t,n,r){return new(n||=Promise)((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))};let r=`__SyncMessageServiceWorkerInput__`,i=`__sync-message-v2__`;function a(e){return typeof e!=`string`&&(e=e.request.url),e.includes(r)}function o(){let e={},t={};return r=>{let{url:o}=r.request;return!!a(o)&&(r.respondWith(function(){return n(this,void 0,void 0,(function*(){function n(e){return new Response(JSON.stringify({message:e,version:i}),{status:200})}if(o.endsWith(`/read`)){let{messageId:i,timeout:a}=yield r.request.json();if(i in e){let t=e[i];return delete e[i],n(t)}return yield new Promise((e=>{t[i]=e,setTimeout((function(){delete t[i],e(new Response(``,{status:408}))}),a)}))}if(o.endsWith(`/write`)){let{message:i,messageId:a}=yield r.request.json(),o=t[a];return o?(o(n(i)),delete t[a]):e[a]=i,n({early:!o})}if(o.endsWith(`/version`))return new Response(i,{status:200})}))}()),!0)}}function s(e){return new Promise((t=>setTimeout(t,e)))}class c extends Error{constructor(e,t){super(`Received status ${t} from ${e}. Ensure the service worker is registered and active.`),this.url=e,this.status=t,this.type=`ServiceWorkerError`,Object.setPrototypeOf(this,c.prototype)}}function l(e,t){let n=new TextEncoder().encode(JSON.stringify(t)),{data:r,meta:i}=e;if(n.length>r.length)throw Error(`Message is too big, increase bufferSize when making channel.`);r.set(n,0),Atomics.store(i,0,n.length),Atomics.store(i,1,1),Atomics.notify(i,1)}function u(e,t,r){return n(this,void 0,void 0,(function*(){yield navigator.serviceWorker.ready;let n=e.baseUrl+`/write`,a=Date.now();for(;;){let o=yield fetch(n,{method:`POST`,body:JSON.stringify({message:t,messageId:r})});if(o.status===200&&(yield o.json()).version===i)return;if(!(Date.now()-a<e.timeout))throw new c(n,o.status);yield s(100)}}))}function d(e,t,r){return n(this,void 0,void 0,(function*(){e.type===`atomics`?l(e,t):yield u(e,t,r)}))}function f(e={}){return typeof SharedArrayBuffer<`u`?p(e.atomics):`serviceWorker`in navigator?m(e.serviceWorker):null}function p({bufferSize:e}={}){return{type:`atomics`,data:new Uint8Array(new SharedArrayBuffer(e||131072)),meta:new Int32Array(new SharedArrayBuffer(2*Int32Array.BYTES_PER_ELEMENT))}}function m(e={}){return{type:`serviceWorker`,baseUrl:(e.scope||`/`)+r,timeout:e.timeout||5e3}}function h(e,t){return e>0?+e:t}function g(e,t,{checkInterrupt:n,checkTimeout:r,timeout:a}={}){let o=performance.now();r=h(r,n?100:5e3);let s=h(a,1/0),l;if(e.type===`atomics`){let{data:t,meta:n}=e;l=()=>{if(Atomics.wait(n,1,0,r)===`timed-out`)return null;{let e=Atomics.exchange(n,0,0),r=t.slice(0,e);Atomics.store(n,1,0);let i=new TextDecoder().decode(r);return JSON.parse(i)}}}else l=()=>{let n=new XMLHttpRequest,a=e.baseUrl+`/read`;n.open(`POST`,a,!1);let s={messageId:t,timeout:r};n.send(JSON.stringify(s));let{status:l}=n;if(l===408)return null;if(l===200){let e=JSON.parse(n.responseText);return e.version===i?e.message:null}if(performance.now()-o<e.timeout)return null;throw new c(a,l)};for(;;){let e=s-(performance.now()-o);if(e<=0)return null;r=Math.min(r,e);let t=l();if(t!==null)return t;if(n?.())return null}}function _(e,t){if(e=h(e,0))if(typeof SharedArrayBuffer<`u`){let t=new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));t[0]=0,Atomics.wait(t,0,0,e)}else g(t,`sleep ${e} ${v()}`,{timeout:e})}let v;return v=`randomUUID`in crypto?function(){return crypto.randomUUID()}:function(){return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,(e=>{let t=Number(e);return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))},t})()}))}))(),t=new class{constructor(t=``){this.hostName=t,this.syncMessageListener=(0,e.serviceWorkerFetchListener)()}async handleInputRequest(e){if(this.syncMessageListener(e))return!0;let t=e.request.url;return this.hostName&&t.includes(this.hostName)?(e.respondWith(fetch(e.request).then(e=>{let t=new Headers(e.headers);return t.set(`Cross-Origin-Embedder-Policy`,`require-corp`),t.set(`Cross-Origin-Opener-Policy`,`same-origin`),t.set(`Cross-Origin-Resource-Policy`,`cross-origin`),new Response(e.body,{status:e.status||200,statusText:e.statusText,headers:t})})),!0):!1}}(``);addEventListener(`fetch`,async function(e){await t.handleInputRequest(e)}),addEventListener(`install`,function(e){e.waitUntil(skipWaiting())}),addEventListener(`activate`,function(e){e.waitUntil(clients.claim())});
@@ -14,9 +14,6 @@ export declare class CodeRunner extends PapyrosElement {
14
14
  private onDragOver;
15
15
  private onDragLeave;
16
16
  private onDrop;
17
- private upsertFile;
18
17
  private readAndAddFile;
19
- private filenameFromUrl;
20
- private fetchAndAddUrl;
21
18
  protected render(): TemplateResult;
22
19
  }
@@ -4,45 +4,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
- return new (P || (P = Promise))(function (resolve, reject) {
10
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
- step((generator = generator.apply(thisArg, _arguments || [])).next());
14
- });
15
- };
16
7
  import { customElement, state } from "lit/decorators.js";
17
8
  import { PapyrosElement } from "./PapyrosElement";
18
9
  import { css, html } from "lit";
19
10
  import { createRef, ref } from "lit/directives/ref.js";
20
11
  import { CODE_TAB } from "../state/InputOutput";
21
- import { isValidFileName } from "../../util/Util";
12
+ import { arrayBufferToBase64, isTextMimeType } from "../../util/Util";
22
13
  import "./code_runner/Code";
23
14
  import "./code_runner/RunState";
24
15
  import "./code_runner/ButtonLint";
25
16
  import "./EditorTabs";
26
17
  import "./FileViewer";
27
- const TEXT_MIME_PATTERNS = ["text/", "application/json", "application/xml", "application/javascript"];
28
- function isTextMimeType(mime) {
29
- if (!mime) {
30
- // No MIME type — assume text
31
- return true;
32
- }
33
- // Strip parameters like "; charset=utf-8" before matching
34
- const base = mime.split(";")[0].trim().toLowerCase();
35
- return TEXT_MIME_PATTERNS.some((prefix) => base.startsWith(prefix));
36
- }
37
- function arrayBufferToBase64(buffer) {
38
- const bytes = new Uint8Array(buffer);
39
- const CHUNK = 8192;
40
- const chunks = [];
41
- for (let i = 0; i < bytes.length; i += CHUNK) {
42
- chunks.push(String.fromCharCode(...bytes.subarray(i, i + CHUNK)));
43
- }
44
- return btoa(chunks.join(""));
45
- }
46
18
  let CodeRunner = class CodeRunner extends PapyrosElement {
47
19
  constructor() {
48
20
  super(...arguments);
@@ -79,7 +51,7 @@ let CodeRunner = class CodeRunner extends PapyrosElement {
79
51
  .map((line) => line.trim())
80
52
  .filter((line) => line && !line.startsWith("#"));
81
53
  for (const url of urls) {
82
- void this.fetchAndAddUrl(url);
54
+ void this.papyros.runner.fetchAndAddUrl(url);
83
55
  }
84
56
  }
85
57
  };
@@ -151,64 +123,21 @@ let CodeRunner = class CodeRunner extends PapyrosElement {
151
123
  dropZone.removeEventListener("dragleave", this.onDragLeave, true);
152
124
  dropZone.removeEventListener("drop", this.onDrop, true);
153
125
  }
154
- upsertFile(name, content, binary) {
155
- this.papyros.io.upsertFile(name, content, binary);
156
- void this.papyros.runner.updateFile(name, content, binary);
157
- }
158
126
  readAndAddFile(file) {
159
127
  const reader = new FileReader();
160
128
  if (isTextMimeType(file.type)) {
161
129
  reader.onload = () => {
162
- this.upsertFile(file.name, reader.result, false);
130
+ this.papyros.runner.upsertFile(file.name, reader.result, false);
163
131
  };
164
132
  reader.readAsText(file);
165
133
  }
166
134
  else {
167
135
  reader.onload = () => {
168
- this.upsertFile(file.name, arrayBufferToBase64(reader.result), true);
136
+ this.papyros.runner.upsertFile(file.name, arrayBufferToBase64(reader.result), true);
169
137
  };
170
138
  reader.readAsArrayBuffer(file);
171
139
  }
172
140
  }
173
- filenameFromUrl(url) {
174
- var _a;
175
- const segments = url.pathname.split("/").filter((s) => s.length > 0);
176
- let candidate = (_a = segments[segments.length - 1]) !== null && _a !== void 0 ? _a : "";
177
- try {
178
- candidate = decodeURIComponent(candidate);
179
- }
180
- catch (_b) {
181
- // Leave as-is if decoding fails
182
- }
183
- if (isValidFileName(candidate))
184
- return candidate;
185
- if (isValidFileName(url.hostname))
186
- return url.hostname;
187
- return "download";
188
- }
189
- fetchAndAddUrl(rawUrl) {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- try {
192
- const url = new URL(rawUrl);
193
- const response = yield fetch(url);
194
- if (!response.ok) {
195
- throw new Error(`HTTP ${response.status} ${response.statusText}`);
196
- }
197
- const name = this.filenameFromUrl(url);
198
- const contentType = response.headers.get("Content-Type");
199
- if (isTextMimeType(contentType)) {
200
- this.upsertFile(name, yield response.text(), false);
201
- }
202
- else {
203
- this.upsertFile(name, arrayBufferToBase64(yield response.arrayBuffer()), true);
204
- }
205
- }
206
- catch (err) {
207
- console.warn("Failed to fetch dropped URL:", rawUrl, err);
208
- alert(this.t("Papyros.url_fetch_error", { url: rawUrl }));
209
- }
210
- });
211
- }
212
141
  render() {
213
142
  const files = this.papyros.debugger.active ? this.papyros.debugger.debugFiles : this.papyros.io.files;
214
143
  const activeTab = this.papyros.io.activeEditorTab;
@@ -1 +1 @@
1
- {"version":3,"file":"CodeRunner.js","sourceRoot":"","sources":["../../../src/frontend/components/CodeRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeRunner.js","sourceRoot":"","sources":["../../../src/frontend/components/CodeRunner.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAa,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,GAAG,EAAO,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAClC,OAAO,cAAc,CAAC;AACtB,OAAO,cAAc,CAAC;AAGf,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,cAAc;IAAvC;;QAEK,aAAQ,GAAG,KAAK,CAAC;QAEjB,gBAAW,GAAwB,SAAS,EAAE,CAAC;QAsE/C,eAAU,GAAG,CAAC,CAAY,EAAQ,EAAE;YACxC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO;YACzC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7C,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,CAAY,EAAQ,EAAE;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACxC,mEAAmE;YACnE,IAAI,CAAC,CAAC,aAAa,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,CAAC,CAAC,aAAqB,CAAC,CAAA;gBAAE,OAAO;YAC3E,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;QAEM,WAAM,GAAG,CAAC,CAAY,EAAQ,EAAE;YACpC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,YAAY;gBAAE,OAAO;YAE5D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACxD,MAAM,IAAI,GAAG,OAAO;qBACf,KAAK,CAAC,OAAO,CAAC;qBACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC;QACL,CAAC,CAAC;IAuCN,CAAC;IA9IG,MAAM,KAAK,MAAM;QACb,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA8CT,CAAC;IACN,CAAC;IAEkB,YAAY;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,uEAAuE;QACvE,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/D,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAEQ,oBAAoB;QACzB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChE,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClE,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAuCO,cAAc,CAAC,IAAU;QAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,GAAG,GAAS,EAAE;gBACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAgB,EAAE,KAAK,CAAC,CAAC;YAC9E,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,MAAM,GAAG,GAAS,EAAE;gBACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAqB,CAAC,EAAE,IAAI,CAAC,CAAC;YACvG,CAAC,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAEkB,MAAM;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;QACtG,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC;QAClD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAA;mBACA,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;0CACnD,IAAI,CAAC,OAAO,WAAW,KAAK;;sBAEhD,SAAS,KAAK,QAAQ;YACpB,CAAC,CAAC,IAAI,CAAA,oBAAoB,IAAI,CAAC,OAAO,YAAY;YAClD,CAAC,CAAC,IAAI,CAAA,2BAA2B,IAAI,CAAC,OAAO,UAAU,UAAU,mBAAmB;sBACtF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY;YAC9B,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,OAAO,iBAAiB;YAC5D,CAAC,CAAC,EAAE;;0CAEc,IAAI,CAAC,OAAO;;;;SAI7C,CAAC;IACN,CAAC;CACJ,CAAA;AAlJW;IADP,KAAK,EAAE;4CACiB;AAFhB,UAAU;IADtB,aAAa,CAAC,eAAe,CAAC;GAClB,UAAU,CAoJtB"}
@@ -171,18 +171,17 @@ let Output = class Output extends PapyrosElement {
171
171
  const errorObject = o.content;
172
172
  const errorHTML = [
173
173
  // an array to avoid unintentional spaces/newlines
174
- html `<md-icon title="${errorObject.info}"> ${this.papyros.constants.icons.help} </md-icon>
175
- ${errorObject.name} traceback:
176
- <md-icon title="${errorObject.traceback}">
177
- ${this.papyros.constants.icons.info}
178
- </md-icon> `,
179
- html `<span class="where">${(_c = errorObject.where) === null || _c === void 0 ? void 0 : _c.trim()}</span> `,
174
+ html `<md-icon title="${errorObject.info}">${this.papyros.constants.icons.help}</md-icon
175
+ >${errorObject.name} traceback:`,
176
+ "\n",
177
+ html `<md-icon title="${errorObject.traceback}">${this.papyros.constants.icons.info}</md-icon>`,
178
+ html `<span class="where">${(_c = errorObject.where) === null || _c === void 0 ? void 0 : _c.trim()}</span>`,
180
179
  ];
181
180
  if (errorObject.what) {
182
- errorHTML.push(html `<span class="what">${errorObject.what.trim()}</span> `);
181
+ errorHTML.push("\n", html `<span class="what">${errorObject.what.trim()}</span>`);
183
182
  }
184
183
  if (errorObject.why) {
185
- errorHTML.push(html `<span class="why">${errorObject.why.trim()}</span> `);
184
+ errorHTML.push("\n", html `<span class="why">${errorObject.why.trim()}</span>`);
186
185
  }
187
186
  return html `<span class="error">${errorHTML}</span>`;
188
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../src/frontend/components/Output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../src/frontend/components/Output.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,9 @@ export declare class Runner extends State {
107
107
  deleteFile(name: string): Promise<void>;
108
108
  updateFile(name: string, content: string, binary: boolean): Promise<void>;
109
109
  renameFile(oldName: string, newName: string): Promise<void>;
110
+ upsertFile(name: string, content: string, binary: boolean): void;
111
+ fetchAndAddUrl(rawUrl: string): Promise<void>;
112
+ private filenameFromUrl;
110
113
  provideFiles(inlinedFiles: Record<string, string>, hrefFiles: Record<string, string>): Promise<void>;
111
114
  /**
112
115
  * Show the current state of the program to the user
@@ -17,7 +17,7 @@ import { proxy } from "comlink";
17
17
  import { RunMode } from "../../backend/Backend";
18
18
  import { BackendEventType } from "../../communication/BackendEvent";
19
19
  import { BackendManager } from "../../communication/BackendManager";
20
- import { parseData } from "../../util/Util";
20
+ import { arrayBufferToBase64, isTextMimeType, isValidFileName, parseData } from "../../util/Util";
21
21
  import { State, stateProperty } from "@dodona/lit-state";
22
22
  import { ProgrammingLanguage } from "../../ProgrammingLanguage";
23
23
  /**
@@ -260,6 +260,49 @@ export class Runner extends State {
260
260
  yield backend.workerProxy.renameFile(oldName, newName);
261
261
  });
262
262
  }
263
+ upsertFile(name, content, binary) {
264
+ this.papyros.io.upsertFile(name, content, binary);
265
+ void this.updateFile(name, content, binary);
266
+ }
267
+ fetchAndAddUrl(rawUrl) {
268
+ return __awaiter(this, void 0, void 0, function* () {
269
+ try {
270
+ const url = new URL(rawUrl);
271
+ const response = yield fetch(url);
272
+ if (!response.ok) {
273
+ throw new Error(`HTTP ${response.status} ${response.statusText}`);
274
+ }
275
+ const name = this.filenameFromUrl(url);
276
+ const contentType = response.headers.get("Content-Type");
277
+ if (isTextMimeType(contentType)) {
278
+ this.upsertFile(name, yield response.text(), false);
279
+ }
280
+ else {
281
+ this.upsertFile(name, arrayBufferToBase64(yield response.arrayBuffer()), true);
282
+ }
283
+ }
284
+ catch (err) {
285
+ console.warn("Failed to fetch dropped URL:", rawUrl, err);
286
+ alert(this.papyros.i18n.t("Papyros.url_fetch_error", { url: rawUrl }));
287
+ }
288
+ });
289
+ }
290
+ filenameFromUrl(url) {
291
+ var _a;
292
+ const segments = url.pathname.split("/").filter((s) => s.length > 0);
293
+ let candidate = (_a = segments[segments.length - 1]) !== null && _a !== void 0 ? _a : "";
294
+ try {
295
+ candidate = decodeURIComponent(candidate);
296
+ }
297
+ catch (_b) {
298
+ // Leave as-is if decoding fails
299
+ }
300
+ if (isValidFileName(candidate))
301
+ return candidate;
302
+ if (isValidFileName(url.hostname))
303
+ return url.hostname;
304
+ return "download";
305
+ }
263
306
  provideFiles(inlinedFiles, hrefFiles) {
264
307
  return __awaiter(this, void 0, void 0, function* () {
265
308
  const fileNames = [...Object.keys(inlinedFiles), ...Object.keys(hrefFiles)];
@@ -1 +1 @@
1
- {"version":3,"file":"Runner.js","sourceRoot":"","sources":["../../../src/frontend/state/Runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Runner.js","sourceRoot":"","sources":["../../../src/frontend/state/Runner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export declare function isValidFileName(name: string): boolean;
2
+ export declare function isTextMimeType(mime: string | null | undefined): boolean;
3
+ export declare function arrayBufferToBase64(buffer: ArrayBuffer): string;
2
4
  export declare function debounce<T extends (...args: any[]) => void>(fn: T, delay: number): T;
3
5
  /**
4
6
  * Parse the data contained within a PapyrosEvent using its contentType
package/dist/util/Util.js CHANGED
@@ -7,6 +7,25 @@ export function isValidFileName(name) {
7
7
  const segments = name.split("/");
8
8
  return segments.every((s) => s.length > 0 && s !== "." && s !== "..");
9
9
  }
10
+ const TEXT_MIME_PATTERNS = ["text/", "application/json", "application/xml", "application/javascript"];
11
+ export function isTextMimeType(mime) {
12
+ if (!mime) {
13
+ // No MIME type — assume text
14
+ return true;
15
+ }
16
+ // Strip parameters like "; charset=utf-8" before matching
17
+ const base = mime.split(";")[0].trim().toLowerCase();
18
+ return TEXT_MIME_PATTERNS.some((prefix) => base.startsWith(prefix));
19
+ }
20
+ export function arrayBufferToBase64(buffer) {
21
+ const bytes = new Uint8Array(buffer);
22
+ const CHUNK = 8192;
23
+ const chunks = [];
24
+ for (let i = 0; i < bytes.length; i += CHUNK) {
25
+ chunks.push(String.fromCharCode(...bytes.subarray(i, i + CHUNK)));
26
+ }
27
+ return btoa(chunks.join(""));
28
+ }
10
29
  export function debounce(fn, delay) {
11
30
  let timer;
12
31
  return ((...args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/util/Util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,UAAU,eAAe,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAqC,EAAK,EAAE,KAAa;IAC7E,IAAI,KAAgD,CAAC;IACrD,OAAO,CAAC,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAM,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,WAAoB;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACb,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACX,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,YAAY,CAAC;gBAClB,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACpB,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,uFAAuF;YACvF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,2BAA2B,WAAW,EAAE,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/util/Util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dodona/papyros",
3
- "version": "4.6.0",
3
+ "version": "4.6.2",
4
4
  "private": false,
5
5
  "homepage": ".",
6
6
  "dependencies": {
@@ -28,10 +28,9 @@
28
28
  "devDependencies": {
29
29
  "@eslint/eslintrc": "^3.2.0",
30
30
  "@eslint/js": "^10.0.1",
31
- "@types/i18n-js": "^4.0.1",
32
31
  "@types/node": "^25.0.3",
33
32
  "@types/node-polyglot": "^2.5.0",
34
- "@types/serviceworker": "^0.0.196",
33
+ "@types/serviceworker": "^0.0.197",
35
34
  "@vitest/browser": "^4.0.6",
36
35
  "@vitest/browser-playwright": "^4.0.6",
37
36
  "browserslist": "^4.28.2",
@@ -46,8 +45,8 @@
46
45
  "prettier": "^3.6.2",
47
46
  "typescript": "^6.0.3",
48
47
  "typescript-eslint": "^8.21.0",
49
- "vite": "^8.0.3",
50
- "vitest": "^4.0.6"
48
+ "vite": "^8.0.16",
49
+ "vitest": "^4.1.8"
51
50
  },
52
51
  "scripts": {
53
52
  "start": "yarn build:sw && vite",