@graview/guest 0.1.10 → 0.1.14
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/README.md +61 -7
- package/dist/headless/protocol.d.ts +5 -1
- package/dist/headless/protocol.d.ts.map +1 -1
- package/dist/host/view-source.d.ts +6 -1
- package/dist/host/view-source.d.ts.map +1 -1
- package/dist/host/view-source.js +6 -1
- package/dist/host/view-source.js.map +1 -1
- package/dist/host/view.d.ts +8 -4
- package/dist/host/view.d.ts.map +1 -1
- package/dist/host/view.js +3 -3
- package/dist/host/view.js.map +1 -1
- package/dist/host/views.d.ts +1 -1
- package/dist/host/views.d.ts.map +1 -1
- package/dist/host/views.js +1 -1
- package/dist/host/views.js.map +1 -1
- package/dist/host/worker-react.d.ts +7 -1
- package/dist/host/worker-react.d.ts.map +1 -1
- package/dist/host/worker-react.js +8 -2
- package/dist/host/worker-react.js.map +1 -1
- package/dist/host/worker-start.d.ts +23 -6
- package/dist/host/worker-start.d.ts.map +1 -1
- package/dist/host/worker-start.js +76 -10
- package/dist/host/worker-start.js.map +1 -1
- package/dist/host/worker.d.ts +11 -7
- package/dist/host/worker.d.ts.map +1 -1
- package/dist/host/worker.js +3 -3
- package/dist/host/worker.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -129,7 +129,7 @@ starts from a `blob:` URL, and draws in the host's page from a component kit.
|
|
|
129
129
|
import { mountGuestWorker } from "@graview/guest/host/worker";
|
|
130
130
|
|
|
131
131
|
const guest = mountGuestWorker(element, { worker: { script }, view: "recipe-card", store, principal,
|
|
132
|
-
onFailure: (reason) => showTheTierOneCard(reason) }); //
|
|
132
|
+
onFailure: (reason, detail) => showTheTierOneCard(reason) }); // start, silent, slow or budget
|
|
133
133
|
|
|
134
134
|
views.register("recipe", { fidelity: "full", cardinality: "one" },
|
|
135
135
|
guestView({ worker: { script }, name: "recipe-card" }));
|
|
@@ -144,7 +144,9 @@ limits. A second ready from the same worker is dropped. Once it is ready,
|
|
|
144
144
|
the host sends a heartbeat over the port and the worker's runtime answers
|
|
145
145
|
it; a worker that goes `limits.silentMs` (5 000 by default) without an
|
|
146
146
|
answer — a guest spinning in `while (true)` — is terminated, and
|
|
147
|
-
the host is told `silent`. A
|
|
147
|
+
the host is told `silent`. A worker that never says ready — the page
|
|
148
|
+
refused it, it failed before its first line ran, or it was not ready in
|
|
149
|
+
`limits.readyMs` — is `start` (see "What the host page allows"). A guest that is busy but yields is kept. The
|
|
148
150
|
host also counts its own time drawing what the guest sends. Over any one
|
|
149
151
|
second it spends at most `limits.drawMs` (100 by default). Past it, the
|
|
150
152
|
rest of the batch is left undrawn, the worker is terminated, and the host
|
|
@@ -346,6 +348,55 @@ the pages face each goes to its own address — through `useGoTo` in
|
|
|
346
348
|
keeps `links.origins`: it is the kit's one deliberate way out, to the
|
|
347
349
|
origins a host lists, and an open-kit view has none.
|
|
348
350
|
|
|
351
|
+
### What the host page allows
|
|
352
|
+
|
|
353
|
+
A worker guest, on the kit or the open kit, starts from a `blob:` URL the
|
|
354
|
+
host makes of its script. The page's Content-Security-Policy has to allow
|
|
355
|
+
that, and an open-kit view's stylesheet:
|
|
356
|
+
|
|
357
|
+
```
|
|
358
|
+
worker-src blob:; style-src 'unsafe-inline'
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
With no `worker-src`, the browser reads `script-src` instead (and
|
|
362
|
+
`default-src` with neither), so a page that says `script-src 'self'` and
|
|
363
|
+
no `worker-src` refuses every view. Nothing else is needed for the worker:
|
|
364
|
+
it runs none of the page's scripts and has no network to allow. An
|
|
365
|
+
open-kit view's stylesheet is a `<style>` in its region's shadow root, and
|
|
366
|
+
the kit's CSS one in the page's head, hence `style-src 'unsafe-inline'`.
|
|
367
|
+
An image a view draws is a `data:` image or a `blob:` of the page's own,
|
|
368
|
+
so `img-src data: blob:` if views draw images.
|
|
369
|
+
|
|
370
|
+
A page that refuses the worker is told so. Chromium and WebKit throw from
|
|
371
|
+
`new Worker` and Firefox fires `error` on it. Either way `onFailure` hears
|
|
372
|
+
`start` once for each view, with a sentence naming the directive (`it needs
|
|
373
|
+
worker-src blob:`). The plain face is drawn in the view's place, and the
|
|
374
|
+
page's console is told once however many views it refuses. `start` is also
|
|
375
|
+
a worker that failed before it said ready, or was not ready in
|
|
376
|
+
`limits.readyMs` (5 000 by default). Each runtime says ready before a line
|
|
377
|
+
of the view runs, so a worker with no ready never started. `silent` is a
|
|
378
|
+
worker that said ready and then stopped answering. `registerWorkerView`
|
|
379
|
+
takes `onFailure` too, for a host that reports it.
|
|
380
|
+
|
|
381
|
+
A host that will not allow `blob:` serves each view's whole script from
|
|
382
|
+
its own origin under `worker-src 'self'`, and passes `worker: { url }`:
|
|
383
|
+
|
|
384
|
+
```ts
|
|
385
|
+
import { checkViewSource, viewScript } from "@graview/guest/host/views";
|
|
386
|
+
|
|
387
|
+
// On the server: the runtime, then the view, as the host would have made it.
|
|
388
|
+
if (checkViewSource(source).length === 0) serve(`/views/${name}.js`, await viewScript(source));
|
|
389
|
+
// On the page:
|
|
390
|
+
mountWorkerView(element, { manifest, worker: { url: `/views/${name}.js` }, store, principal });
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
The server checks the source then, since the page never holds its text,
|
|
394
|
+
and `maxSourceBytes` is the server's to keep. A kit guest takes
|
|
395
|
+
`worker: { url }` the same way. `guest-sandbox --transport=limits` serves
|
|
396
|
+
all three pages in Chromium, WebKit and Firefox: the policy above draws, a
|
|
397
|
+
page without it reports `start` once a view, and the served script draws
|
|
398
|
+
under `worker-src 'self'`.
|
|
399
|
+
|
|
349
400
|
### Limits, and what is drawn in a view's place
|
|
350
401
|
|
|
351
402
|
The host caps a view's code (`maxSourceBytes`, 256 000 by default), the
|
|
@@ -358,8 +409,8 @@ what the view sends (`drawMs`, 100 ms of any second). Past any of them the worke
|
|
|
358
409
|
terminated, the plain face of what the view was shown — its title and each
|
|
359
410
|
record by its label, drawn by the host — is drawn in the region, and
|
|
360
411
|
`onFailure` hears why: `source`, `nodes`, `flood`, `slow`, `silent`,
|
|
361
|
-
`error` (it threw before it drew), `
|
|
362
|
-
saying it. A host draws its own in its place with `fallback`; the React
|
|
412
|
+
`error` (it threw before it drew), `start` (it never started) or
|
|
413
|
+
`manifest`, with a sentence saying it, once. A host draws its own in its place with `fallback`; the React
|
|
363
414
|
registrations draw whatever the registry drew for the kind before.
|
|
364
415
|
|
|
365
416
|
What is left: work a view schedules with timers between pushes is not
|
|
@@ -403,9 +454,12 @@ else say(result.reason, result.detail); // "act": It asks for the act
|
|
|
403
454
|
```
|
|
404
455
|
|
|
405
456
|
The reasons are the page's (`source`, `manifest`, `error`, `nodes`,
|
|
406
|
-
`flood`, `slow
|
|
407
|
-
|
|
408
|
-
|
|
457
|
+
`flood`, `slow`; never the page's `start`, as nothing is started in a
|
|
458
|
+
worker) and three of a headless run's own: `refused`, the isolate could
|
|
459
|
+
not be hardened or something called the script's entry before the host
|
|
460
|
+
did; `act`, an act asked for from the view's code or bound to a press
|
|
461
|
+
(`data-act`) that its manifest does not name; and `isolate`, the host's
|
|
462
|
+
isolate could not run it.
|
|
409
463
|
Nothing is applied: an act the view asks for is written down in the
|
|
410
464
|
transcript and answered with a refusal.
|
|
411
465
|
|
|
@@ -42,7 +42,11 @@ export interface HeadlessTranscript {
|
|
|
42
42
|
/** How many messages it sent. */
|
|
43
43
|
readonly messages: number;
|
|
44
44
|
}
|
|
45
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Why a headless run says a view will not do: the live host's reasons
|
|
47
|
+
* (`WorkerViewFailure`) but `start`, which a run with no worker to start
|
|
48
|
+
* cannot meet; `refused`, the isolate's own refusal to run it; and two more.
|
|
49
|
+
*/
|
|
46
50
|
export type HeadlessFailureReason = "manifest" | "source" | "refused" | "error" | "silent" | "nodes" | "flood" | "slow"
|
|
47
51
|
/** It names an act its manifest does not: asked from its code, or bound to a press (`data-act`). */
|
|
48
52
|
| "act"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/headless/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAYjD,kFAAkF;AAClF,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,wGAAwG;AACxG,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACpG;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,EAAE,CAAC;IACvC,qCAAqC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC7E,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IACrF,uGAAuG;IACvG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/headless/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAYjD,kFAAkF;AAClF,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,wGAAwG;AACxG,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACpG;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,EAAE,CAAC;IACvC,qCAAqC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC7E,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IACrF,uGAAuG;IACvG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,OAAO,GACP,OAAO,GACP,MAAM;AACR,oGAAoG;GAClG,KAAK;AACP,8FAA8F;GAC5F,SAAS,CAAC;AAEd,yEAAyE;AACzE,MAAM,MAAM,eAAe,GACvB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,kGAAkG;IAClG,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAA;KAAE,CAAC;IAC7G,iGAAiG;IACjG,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5E,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/** What in a view's source keeps the host from running it, in sentences. Empty when it may run. */
|
|
2
2
|
export declare function checkViewSource(source: string): readonly string[];
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* The worker's whole script for a view's source: the runtime, then the view
|
|
5
|
+
* in a strict function of its own. What the host makes a `blob:` worker of;
|
|
6
|
+
* a host whose page allows no `blob:` worker serves it from its own origin
|
|
7
|
+
* instead, after `checkViewSource`, and passes `worker: { url }` (FR-102).
|
|
8
|
+
*/
|
|
4
9
|
export declare function viewScript(source: string): Promise<string>;
|
|
5
10
|
//# sourceMappingURL=view-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-source.d.ts","sourceRoot":"","sources":["../../src/host/view-source.ts"],"names":[],"mappings":"AAmBA,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAQjE;AAED
|
|
1
|
+
{"version":3,"file":"view-source.d.ts","sourceRoot":"","sources":["../../src/host/view-source.ts"],"names":[],"mappings":"AAmBA,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAQjE;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE"}
|
package/dist/host/view-source.js
CHANGED
|
@@ -31,7 +31,12 @@ export function checkViewSource(source) {
|
|
|
31
31
|
findings.push("It calls require(): a view has no modules to require.");
|
|
32
32
|
return findings;
|
|
33
33
|
}
|
|
34
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* The worker's whole script for a view's source: the runtime, then the view
|
|
36
|
+
* in a strict function of its own. What the host makes a `blob:` worker of;
|
|
37
|
+
* a host whose page allows no `blob:` worker serves it from its own origin
|
|
38
|
+
* instead, after `checkViewSource`, and passes `worker: { url }` (FR-102).
|
|
39
|
+
*/
|
|
35
40
|
export async function viewScript(source) {
|
|
36
41
|
const { VIEW_RUNTIME } = await import("./view-runtime.generated.js");
|
|
37
42
|
return `${VIEW_RUNTIME}\n;(function () {\n"use strict";\n${source}\n})();\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-source.js","sourceRoot":"","sources":["../../src/host/view-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACpE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC;IAC9J,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACrG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IACvJ,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAC1G,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"view-source.js","sourceRoot":"","sources":["../../src/host/view-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACpE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC;IAC9J,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACrG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IACvJ,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAC1G,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC7C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACrE,OAAO,GAAG,YAAY,qCAAqC,MAAM,WAAW,CAAC;AAC/E,CAAC"}
|
package/dist/host/view.d.ts
CHANGED
|
@@ -20,11 +20,15 @@ export type WorkerViewFailure =
|
|
|
20
20
|
"manifest"
|
|
21
21
|
/** Its code is longer than `maxSourceBytes`: it was never started. */
|
|
22
22
|
| "source"
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
/**
|
|
24
|
+
* It never started (FR-102): the page's policy refused the worker (its
|
|
25
|
+
* Content-Security-Policy needs `worker-src blob:`), it failed before it
|
|
26
|
+
* said ready, or it did not say ready in `readyMs`. The sentence says which.
|
|
27
|
+
*/
|
|
28
|
+
| "start"
|
|
29
|
+
/** It threw, once started, before it drew anything. */
|
|
26
30
|
| "error"
|
|
27
|
-
/** It
|
|
31
|
+
/** It said ready, then its runtime went `silentMs` without answering the host's heartbeat. */
|
|
28
32
|
| "silent"
|
|
29
33
|
/** It drew more than `maxNodes`. */
|
|
30
34
|
| "nodes"
|
package/dist/host/view.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/host/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAiB,UAAU,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAuD,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAe,KAAK,iBAAiB,EAAsB,MAAM,mBAAmB,CAAC;AAI5F,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;AAEnD,wGAAwG;AACxG,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E;;;;GAIG;AACH,MAAM,MAAM,iBAAiB;AAC3B,2GAA2G;AACzG,UAAU;AACZ,sEAAsE;GACpE,QAAQ;AACV
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/host/view.ts"],"names":[],"mappings":"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"}
|
package/dist/host/view.js
CHANGED
|
@@ -13,8 +13,8 @@ function why(reason, limits, detail) {
|
|
|
13
13
|
return detail ?? "Its manifest names something this app does not have.";
|
|
14
14
|
case "source":
|
|
15
15
|
return detail ?? `Its code is longer than the ${limits.maxSourceBytes.toLocaleString("en-US")} bytes a view may be.`;
|
|
16
|
-
case "
|
|
17
|
-
return `
|
|
16
|
+
case "start":
|
|
17
|
+
return `It could not start${detail ? `: ${detail}.` : "."}`;
|
|
18
18
|
case "error":
|
|
19
19
|
return `It failed before it drew anything${detail ? `: ${detail}` : "."}`;
|
|
20
20
|
case "silent":
|
|
@@ -345,7 +345,7 @@ export function mountWorkerView(element, options) {
|
|
|
345
345
|
void viewScript(code.source).then((script) => {
|
|
346
346
|
if (!failed)
|
|
347
347
|
begin({ script });
|
|
348
|
-
}, () => fail("
|
|
348
|
+
}, () => fail("start", "the view's runtime could not be loaded"));
|
|
349
349
|
}
|
|
350
350
|
else
|
|
351
351
|
begin(code);
|
package/dist/host/view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/host/view.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/host/view.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,eAAe,EAA2B,MAAM,eAAe,CAAC;AAExF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAA0E,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,WAAW,EAA8C,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAwDnD,4CAA4C;AAC5C,SAAS,GAAG,CAAC,MAAyB,EAAE,MAAgI,EAAE,MAAe;IACvL,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,MAAM,IAAI,sDAAsD,CAAC;QAC1E,KAAK,QAAQ;YACX,OAAO,MAAM,IAAI,+BAA+B,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACvH,KAAK,OAAO;YACV,OAAO,qBAAqB,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9D,KAAK,OAAO;YACV,OAAO,oCAAoC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5E,KAAK,QAAQ;YACX,OAAO,4BAA4B,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;QACnF,KAAK,OAAO;YACV,OAAO,yBAAyB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC;QACpG,KAAK,OAAO;YACV,OAAO,qBAAqB,MAAM,CAAC,QAAQ,gBAAgB,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;QAClH,KAAK,MAAM;YACT,OAAO,uBAAuB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,gCAAgC,CAAC;IACxG,CAAC;AACH,CAAC;AA+DD,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAsB,OAAoB,EAAE,OAAkC;IAC3G,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAA0C,CAAC;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,qBAAqB,CAAC;IACzC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,qHAAqH;IACrH,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,wGAAwG,CAAC;IAChI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,SAAS,GAAG,4BAA4B,CAAC;QAChD,MAAM,CAAC,YAAY,CAAC,yBAAyB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,0EAA0E,CAAC;QAClG,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,MAAO,CAAC;QACrC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG;QACb,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,IAAI,OAAO;QACzD,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK;QAC3C,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI,GAAG;QACzC,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,eAAe,IAAI,KAAK;QACzD,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK;QACvC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK;QAC3C,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG;KACtC,CAAC;IACF,mFAAmF;IACnF,IAAI,SAAiC,CAAC;IACtC,IAAI,OAA8B,CAAC;IACnC,IAAI,OAAkC,CAAC;IACvC,IAAI,OAAgC,CAAC;IACrC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACjE,8EAA8E;IAC9E,MAAM,OAAO,GAAgD,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/C,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/C,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/C,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IACvB,CAAC,CAAC;IACF,IAAI,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACvB,wEAAwE;IACxE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,OAAO,GAAG,SAAS,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;QACV,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,MAAyB,EAAE,MAAe,EAAE,EAAE;QAC1D,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,YAAY,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;YAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACtF,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IACF;;;;;OAKG;IACH,MAAM,SAAS,GAAG,CAAC,CAAc,EAAE,MAAyB,EAAE,IAAY,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC;gBACH,OAAO,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/H,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,mHAAmH,CAAC;QACzI,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,6BAA6B,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,sEAAsE,CAAC;QAC5F,IAAI,CAAC,WAAW,GAAG,0BAA0B,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpJ,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAClC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IACD,qFAAqF;IACrF,MAAM,UAAU,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM;YAAE,IAAI,EAAE,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEvC,IAAI,IAA6B,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACpE,sGAAsG;IACtG,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB;;;;;;;OAOG;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACzB,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC;IACF,uHAAuH;IACvH,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,GAA4C,EAAE,EAAE;QAC5D,IAAI,MAAM;YAAE,OAAO;QACnB,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtH,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,yFAAyF;IACzF,MAAM,KAAK,GAAG,WAAW,CAAC;QACxB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE;QACtC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC,CAAC;IAEH,6GAA6G;IAC7G,IAAI,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC3C,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;QACrI,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;YAChD,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YACjC,IAAI;YACJ,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3C,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;gBAC7B,IAAI,OAAO,CAAC,SAAS,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1G,CAAC;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBACpB,IAAI,OAAO,CAAC,SAAS,KAAK,GAAG;oBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,CAAC;YACD;;;;eAIG;YACH,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;gBAC1B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxB,0FAA0F;gBAC1F,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAClD,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAK,KAAuB,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC1I,qHAAqH;oBACrH,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAC/B,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACnF,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC;YACnD,CAAC;SACF,CAAC,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,CAAC,MAAyB,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE;QAC1E,MAAM;QACN,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK;QACzC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK;QAC3C,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QAChD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACxB,IAAI,GAAG,KAAK,CAAC;YACb,WAAW,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,eAAe,CAAC;gBAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK;gBACL,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;oBAChB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;wBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACzG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7M,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACzG,SAAS,GAAG,KAAK,CAAC;oBAClB,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC;gBAC3E,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBACpB,IAAI,GAAG,IAAI,CAAC;oBACZ,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5B,CAAC;gBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;oBACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM;wBAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;gBACD,yEAAyE;gBACzE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC5B,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACtC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;gBACjD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;gBACpD,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,OAAO;aACR,CAAC,CAAC;YACH,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;gBAC5B,IAAI,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAC1C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3B,KAAK,EAAE,CAAC;YACV,CAAC,CAAC;YACF,IAAI,EAAE,CAAC;QACT,CAAC;KACF,CAAC,CAAC,CAAC;IACJ,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAC/B,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,MAAM;gBAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,CAAC,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAC9D,CAAC;IACJ,CAAC;;QAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnB,OAAO,MAAM,EAAE,CAAC;IAEhB,SAAS,MAAM;QACb,OAAO;YACL,OAAO,EAAE,MAAM;YACf,MAAM;YACN,IAAI,MAAM;gBACR,OAAO,OAAO,EAAE,MAAM,CAAC;YACzB,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,OAAO;oBAAE,IAAI,EAAE,CAAC;YACtB,CAAC;YACD,IAAI,KAAK;gBACP,KAAK,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YAChC,CAAC;YACD,OAAO;gBACL,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/host/views.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { checkManifest, manifestActs, workerViewProps } from "./manifest.js";
|
|
|
4
4
|
export type { ManifestAct, WorkerViewManifest, WorkerViewPropsInput } from "./manifest.js";
|
|
5
5
|
export { judgeCodeAct, sightIsTotal } from "./writes.js";
|
|
6
6
|
export type { Judged, Press, PressedField } from "./writes.js";
|
|
7
|
-
export { checkViewSource } from "./view-source.js";
|
|
7
|
+
export { checkViewSource, viewScript } from "./view-source.js";
|
|
8
8
|
export type { MountWorkerViewOptions, WorkerView, WorkerViewCode, WorkerViewFailure, WorkerViewLimits } from "./view.js";
|
|
9
9
|
export type { GuestPlace, GuestTheme } from "../protocol.js";
|
|
10
10
|
//# sourceMappingURL=views.d.ts.map
|
package/dist/host/views.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/host/views.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/host/views.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EAAE,sBAAsB,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACzH,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/host/views.js
CHANGED
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
export { registerWorkerView, workerHome, workerView } from "./worker-react.js";
|
|
12
12
|
export { checkManifest, manifestActs, workerViewProps } from "./manifest.js";
|
|
13
13
|
export { judgeCodeAct, sightIsTotal } from "./writes.js";
|
|
14
|
-
export { checkViewSource } from "./view-source.js";
|
|
14
|
+
export { checkViewSource, viewScript } from "./view-source.js";
|
|
15
15
|
//# sourceMappingURL=views.js.map
|
package/dist/host/views.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/host/views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/host/views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { AnySchema, Principal, Store } from "@graview/core";
|
|
|
2
2
|
import { type ReactViewRegistry, type ViewComponent } from "@graview/react/provider";
|
|
3
3
|
import { type ComponentType } from "react";
|
|
4
4
|
import type { WorkerViewManifest } from "./manifest.js";
|
|
5
|
-
import type { WorkerViewCode, WorkerViewLimits } from "./view.js";
|
|
5
|
+
import type { WorkerViewCode, WorkerViewFailure, WorkerViewLimits } from "./view.js";
|
|
6
6
|
/** A worker view as an app registers it: its manifest, its code, and how far it may go. */
|
|
7
7
|
export interface WorkerViewDefinition {
|
|
8
8
|
readonly manifest: WorkerViewManifest;
|
|
@@ -11,6 +11,12 @@ export interface WorkerViewDefinition {
|
|
|
11
11
|
readonly limits?: WorkerViewLimits;
|
|
12
12
|
/** Who made it, said under it ("Made by Claude for Nick"). */
|
|
13
13
|
readonly author?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Each drawing of it that is not going to be shown, and why, once (FR-102):
|
|
16
|
+
* the reason and a sentence saying it. A page whose policy refuses its
|
|
17
|
+
* worker hears `start`, the sentence naming the directive.
|
|
18
|
+
*/
|
|
19
|
+
readonly onFailure?: (reason: WorkerViewFailure, detail?: string) => void;
|
|
14
20
|
}
|
|
15
21
|
/**
|
|
16
22
|
* A WORKER VIEW AS A VIEW OF A KIND (FR-91): what `registerWorkerView`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-react.d.ts","sourceRoot":"","sources":["../../src/host/worker-react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAuC,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAkB,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAc,cAAc,
|
|
1
|
+
{"version":3,"file":"worker-react.d.ts","sourceRoot":"","sources":["../../src/host/worker-react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAuC,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAkB,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAc,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEjG,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,6GAA6G;IAC7G,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3E;AAqED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CA+BrJ;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,oBAAoB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAiB3I;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;CAAO,GAAG,aAAa,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAwBrM"}
|
|
@@ -70,7 +70,10 @@ export function workerView(definition, options = {}) {
|
|
|
70
70
|
/* Past its limits, the kind's own face — what the registry drew there before — in its place (FR-94). */
|
|
71
71
|
if (failed && Fallback)
|
|
72
72
|
return _jsx(Fallback, { ...props });
|
|
73
|
-
return (_jsx(WorkerViewMount, { definition: definition, store: graview.store, principal: graview.principal, input: () => inputOf(latest.current), goTo: goTo, places: () => graview.views.places(), scheme: graview.scheme, tick: props, drawsItsOwn: Fallback !== undefined, onFailure: (reason) =>
|
|
73
|
+
return (_jsx(WorkerViewMount, { definition: definition, store: graview.store, principal: graview.principal, input: () => inputOf(latest.current), goTo: goTo, places: () => graview.views.places(), scheme: graview.scheme, tick: props, drawsItsOwn: Fallback !== undefined, onFailure: (reason, detail) => {
|
|
74
|
+
setFailed(reason);
|
|
75
|
+
definition.onFailure?.(reason, detail);
|
|
76
|
+
} }));
|
|
74
77
|
}
|
|
75
78
|
WorkerViewOfKind.displayName = `WorkerView(${definition.manifest.name})`;
|
|
76
79
|
return WorkerViewOfKind;
|
|
@@ -115,7 +118,10 @@ export function workerHome(definition, options = {}) {
|
|
|
115
118
|
const [failed, setFailed] = useState(null);
|
|
116
119
|
if (failed && Fallback)
|
|
117
120
|
return _jsx(Fallback, { context: context });
|
|
118
|
-
return (_jsx(WorkerViewMount, { definition: definition, store: context.store, principal: context.principal ?? graview?.principal ?? { kind: "human" }, goTo: goTo, ...(graview ? { places: () => graview.views.places(), scheme: graview.scheme } : {}), drawsItsOwn: Fallback !== undefined, onFailure: (reason) =>
|
|
121
|
+
return (_jsx(WorkerViewMount, { definition: definition, store: context.store, principal: context.principal ?? graview?.principal ?? { kind: "human" }, goTo: goTo, ...(graview ? { places: () => graview.views.places(), scheme: graview.scheme } : {}), drawsItsOwn: Fallback !== undefined, onFailure: (reason, detail) => {
|
|
122
|
+
setFailed(reason);
|
|
123
|
+
definition.onFailure?.(reason, detail);
|
|
124
|
+
} }));
|
|
119
125
|
}
|
|
120
126
|
WorkerHome.displayName = `WorkerHome(${definition.manifest.name})`;
|
|
121
127
|
return WorkerHome;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-react.js","sourceRoot":"","sources":["../../src/host/worker-react.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAyE,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-react.js","sourceRoot":"","sources":["../../src/host/worker-react.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAyE,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAsBxE,MAAM,OAAO,GAAG,CAAC,KAA2B,EAAkB,EAAE,CAAC,CAAC;IAChE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,WAAW,EAAE,KAAK,CAAC,WAAW;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAoBH,uGAAuG;AACvG,SAAS,eAAe,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAc;IAC9H,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;YACtD,IAAI,IAAI;gBAAE,OAAO;YACjB,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE;gBACzC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK;gBACL,SAAS;gBACT,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE;gBAC3C,8FAA8F;gBAC9F,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBACpH,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE;gBAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBACvE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,IAAI,CAAC;YACZ,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3D,OAAO,cAAK,GAAG,EAAE,MAAM,4BAA0B,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAI,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,UAAgC,EAAE,UAA4D,EAAE;IACzH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,SAAS,gBAAgB,CAAC,KAA2B;QACnD,MAAM,OAAO,GAAG,eAAe,EAAa,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,wGAAwG;QACxG,IAAI,MAAM,IAAI,QAAQ;YAAE,OAAO,KAAC,QAAQ,OAAK,KAAK,GAAI,CAAC;QACvD,OAAO,CACL,KAAC,eAAe,IACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EACpC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,IAAI,EAAE,KAAK,EACX,WAAW,EAAE,QAAQ,KAAK,SAAS,EACnC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClB,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IACD,gBAAgB,CAAC,WAAW,GAAG,cAAc,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;IACzE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAsB,KAA2B,EAAE,UAAgC;IACnH,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC/B;;;;WAIG;QACH,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,IAAI,6DAA6D,CAAC,CAAC;QACjI,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,EAA0C,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAgC,CAAC,CAAC;QAC1G,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAW,CAAC;IAC9E,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAyC,CAAC;IAC3I,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAyB,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAgC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5M,OAAO,KAAK,CAAC;AACf,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,UAAgC,EAAE,UAA8E,EAAE;IAC3I,MAAM,QAAQ,GAAG,OAAO,CAAC,QAA8E,CAAC;IACxG,SAAS,UAAU,CAAC,EAAE,OAAO,EAA2C;QACtE,MAAM,OAAO,GAAG,eAAe,EAAa,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;QACrE,IAAI,MAAM,IAAI,QAAQ;YAAE,OAAO,KAAC,QAAQ,IAAC,OAAO,EAAE,OAAO,GAAI,CAAC;QAC9D,OAAO,CACL,KAAC,eAAe,IACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EACvE,IAAI,EAAE,IAAI,KACN,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACrF,WAAW,EAAE,QAAQ,KAAK,SAAS,EACnC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClB,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IACD,UAAU,CAAC,WAAW,GAAG,cAAc,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;IACnE,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import type { GuestLimiter } from "./session.js";
|
|
2
2
|
/**
|
|
3
3
|
* Where a worker guest's code comes from: a URL the host already holds (a
|
|
4
|
-
* `blob:` URL, typically
|
|
5
|
-
*
|
|
6
|
-
* call and never fetches it.
|
|
4
|
+
* `blob:` URL, typically, or a script the host serves from its own origin),
|
|
5
|
+
* or the script's text, which the host makes into a `blob:` URL itself. A
|
|
6
|
+
* chat's widget receives the text through a tool call and never fetches it.
|
|
7
7
|
*/
|
|
8
8
|
export type GuestWorkerSource = {
|
|
9
9
|
readonly url: string;
|
|
10
10
|
} | {
|
|
11
11
|
readonly script: string;
|
|
12
12
|
};
|
|
13
|
-
/**
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Why the worker is not running, as the start and the watchdog say it.
|
|
15
|
+
* `start`: it never said ready — the page's policy refused it, it failed
|
|
16
|
+
* before its first line ran, or `readyMs` passed. `silent`: it said ready,
|
|
17
|
+
* then went `silentMs` without answering the heartbeat.
|
|
18
|
+
*/
|
|
19
|
+
export type WorkerStop = "start" | "silent";
|
|
15
20
|
export interface StartedWorker {
|
|
16
21
|
readonly worker: Worker | undefined;
|
|
17
22
|
/** Whether a port message was the runtime's answer to a heartbeat (and so not the session's). */
|
|
@@ -32,7 +37,12 @@ export interface StartWorkerOptions {
|
|
|
32
37
|
readonly onDropped: () => void;
|
|
33
38
|
/** It said ready: here is its nonce and the host's end of its port, the hello already sent. */
|
|
34
39
|
readonly onReady: (nonce: string, port: MessagePort) => void;
|
|
35
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* It never started (`start`), or stopped answering (`silent`): it has
|
|
42
|
+
* been stopped, and this is said once. `detail` says why it did not
|
|
43
|
+
* start: the directive the page's policy lacks, the engine's own words,
|
|
44
|
+
* or the time it was given.
|
|
45
|
+
*/
|
|
36
46
|
readonly onStop: (reason: WorkerStop, detail?: string) => void;
|
|
37
47
|
/** It threw, uncaught, after it said ready: the engine's words for it. */
|
|
38
48
|
readonly onError?: (detail: string) => void;
|
|
@@ -44,6 +54,13 @@ export interface StartWorkerOptions {
|
|
|
44
54
|
* a heartbeat its runtime must answer, so a worker whose event loop is
|
|
45
55
|
* blocked is stopped. Shared by the kit's guest (`mountGuestWorker`) and the
|
|
46
56
|
* open kit's view (`mountWorkerView`).
|
|
57
|
+
*
|
|
58
|
+
* A WORKER THAT DOES NOT START SAYS `start` (FR-102), once: `new Worker`
|
|
59
|
+
* threw, it erred before it said ready, or `readyMs` passed with no ready.
|
|
60
|
+
* Each runtime says ready before a line of the guest runs, so no ready is
|
|
61
|
+
* no start. When the page's policy was the cause — a SecurityError, or a
|
|
62
|
+
* `securitypolicyviolation` the page reported for it — the sentence names
|
|
63
|
+
* the directive it lacks.
|
|
47
64
|
*/
|
|
48
65
|
export declare function startWorker(window: Window & typeof globalThis, options: StartWorkerOptions): StartedWorker;
|
|
49
66
|
//# sourceMappingURL=worker-start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-start.d.ts","sourceRoot":"","sources":["../../src/host/worker-start.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvF
|
|
1
|
+
{"version":3,"file":"worker-start.d.ts","sourceRoot":"","sources":["../../src/host/worker-start.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,iGAAiG;IACjG,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,uDAAuD;IACvD,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7D;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AA0CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,UAAU,EAAE,OAAO,EAAE,kBAAkB,GAAG,aAAa,CAqI1G"}
|
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
import { GUEST_PROTOCOL, isGuestReady } from "../protocol.js";
|
|
2
2
|
import { mintNonce } from "./nonce.js";
|
|
3
|
+
/*
|
|
4
|
+
* WHAT A PAGE'S POLICY MUST ALLOW (FR-102). The engines refuse a worker
|
|
5
|
+
* three ways: Chromium and WebKit throw a SecurityError from `new Worker`;
|
|
6
|
+
* Firefox makes the worker, fires `securitypolicyviolation` on the document
|
|
7
|
+
* and then `error` on the worker with no message. The directive is
|
|
8
|
+
* `worker-src`, or `script-src` on a page with no `worker-src`, or
|
|
9
|
+
* `default-src` on a page with neither.
|
|
10
|
+
*/
|
|
11
|
+
const warned = new WeakSet();
|
|
12
|
+
/** The source a refused URL needed: `blob:` for a `blob:` URL, else the URL's origin. */
|
|
13
|
+
function sourceOf(url, window) {
|
|
14
|
+
if (url.startsWith("blob:"))
|
|
15
|
+
return "blob:";
|
|
16
|
+
try {
|
|
17
|
+
return new URL(url, window.location.href).origin;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return url;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** The sentence for a start the page's policy refused; the page's console is told once, however many views it refuses. */
|
|
24
|
+
function refusedByPolicy(window, url, directive) {
|
|
25
|
+
const source = sourceOf(url, window);
|
|
26
|
+
const said = `this page's Content-Security-Policy${directive ? ` (${directive})` : ""} does not allow a worker from ${source}: it needs worker-src ${source}`;
|
|
27
|
+
if (!warned.has(window)) {
|
|
28
|
+
warned.add(window);
|
|
29
|
+
window.console?.warn?.(`Graview: worker views cannot start on this page, because ${said}. A host that will not allow ${source} serves each view's whole script from its own origin and passes worker: { url } (the @graview/guest README, "What the host page allows").`);
|
|
30
|
+
}
|
|
31
|
+
return said;
|
|
32
|
+
}
|
|
33
|
+
/** Whether a policy violation is about this worker's URL: a `blob:` URL is reported as its scheme alone. */
|
|
34
|
+
function aboutUrl(blocked, url) {
|
|
35
|
+
if (blocked === "")
|
|
36
|
+
return true;
|
|
37
|
+
if (url.startsWith("blob:"))
|
|
38
|
+
return blocked.startsWith("blob");
|
|
39
|
+
return url.startsWith(blocked) || blocked.startsWith(url);
|
|
40
|
+
}
|
|
3
41
|
/**
|
|
4
42
|
* START A CLASSIC WORKER AND WATCH IT (FR-68): never `type: "module"`,
|
|
5
43
|
* which a `blob:` URL in an opaque origin cannot start; one `guest-ready`,
|
|
@@ -7,6 +45,13 @@ import { mintNonce } from "./nonce.js";
|
|
|
7
45
|
* a heartbeat its runtime must answer, so a worker whose event loop is
|
|
8
46
|
* blocked is stopped. Shared by the kit's guest (`mountGuestWorker`) and the
|
|
9
47
|
* open kit's view (`mountWorkerView`).
|
|
48
|
+
*
|
|
49
|
+
* A WORKER THAT DOES NOT START SAYS `start` (FR-102), once: `new Worker`
|
|
50
|
+
* threw, it erred before it said ready, or `readyMs` passed with no ready.
|
|
51
|
+
* Each runtime says ready before a line of the guest runs, so no ready is
|
|
52
|
+
* no start. When the page's policy was the cause — a SecurityError, or a
|
|
53
|
+
* `securitypolicyviolation` the page reported for it — the sentence names
|
|
54
|
+
* the directive it lacks.
|
|
10
55
|
*/
|
|
11
56
|
export function startWorker(window, options) {
|
|
12
57
|
const made = "script" in options.source ? window.URL.createObjectURL(new window.Blob([options.source.script], { type: "text/javascript" })) : undefined;
|
|
@@ -22,6 +67,19 @@ export function startWorker(window, options) {
|
|
|
22
67
|
let answered = 0;
|
|
23
68
|
const clock = window.performance;
|
|
24
69
|
let heard = clock.now();
|
|
70
|
+
/* A policy violation on the page while this worker starts: Firefox's one sign that the policy, not the script, refused it. */
|
|
71
|
+
let violated;
|
|
72
|
+
const violation = (event) => {
|
|
73
|
+
const said = event;
|
|
74
|
+
const directive = String(said.effectiveDirective || said.violatedDirective || "").split(" ")[0];
|
|
75
|
+
if (!/^(worker-src|script-src|script-src-elem|child-src|default-src)$/.test(directive))
|
|
76
|
+
return;
|
|
77
|
+
if (aboutUrl(String(said.blockedURI ?? ""), url))
|
|
78
|
+
violated = directive;
|
|
79
|
+
};
|
|
80
|
+
const page = window.document;
|
|
81
|
+
page?.addEventListener("securitypolicyviolation", violation);
|
|
82
|
+
const unhear = () => page?.removeEventListener("securitypolicyviolation", violation);
|
|
25
83
|
const stop = () => {
|
|
26
84
|
if (stopped)
|
|
27
85
|
return;
|
|
@@ -31,6 +89,7 @@ export function startWorker(window, options) {
|
|
|
31
89
|
worker = undefined;
|
|
32
90
|
window.clearTimeout(silence);
|
|
33
91
|
window.clearInterval(watchdog);
|
|
92
|
+
unhear();
|
|
34
93
|
if (made)
|
|
35
94
|
window.URL.revokeObjectURL(made);
|
|
36
95
|
};
|
|
@@ -42,6 +101,7 @@ export function startWorker(window, options) {
|
|
|
42
101
|
};
|
|
43
102
|
const begin = () => {
|
|
44
103
|
window.clearTimeout(silence);
|
|
104
|
+
unhear();
|
|
45
105
|
nonce = mintNonce();
|
|
46
106
|
const channel = new window.MessageChannel();
|
|
47
107
|
port = channel.port1;
|
|
@@ -73,20 +133,26 @@ export function startWorker(window, options) {
|
|
|
73
133
|
/* Classic, on purpose: a module worker from a blob: URL is refused in an opaque origin (Chromium), which is where a chat's widget runs. */
|
|
74
134
|
worker = new window.Worker(url, { name: options.name });
|
|
75
135
|
}
|
|
76
|
-
catch {
|
|
136
|
+
catch (error) {
|
|
77
137
|
worker = undefined;
|
|
138
|
+
const thrown = error;
|
|
139
|
+
const detail = thrown?.name === "SecurityError" ? refusedByPolicy(window, url, violated) : `the worker could not be made: ${String(thrown?.message ?? error)}`;
|
|
140
|
+
queueMicrotask(() => halt("start", detail));
|
|
78
141
|
}
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
silence = window.setTimeout(() => halt("silent"), options.readyMs);
|
|
142
|
+
if (worker) {
|
|
143
|
+
silence = window.setTimeout(() => halt("start", `it never said it was ready in ${options.readyMs.toLocaleString("en-US")} ms`), options.readyMs);
|
|
84
144
|
worker.onerror = (event) => {
|
|
85
145
|
const said = typeof event.message === "string" && event.message !== "" ? event.message : undefined;
|
|
86
|
-
if (
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
146
|
+
if (ready)
|
|
147
|
+
return void options.onError?.(said ?? "an error");
|
|
148
|
+
window.clearTimeout(silence);
|
|
149
|
+
/* Decided a task later, so a violation the page reports after the error (the order is the engine's) is heard. */
|
|
150
|
+
window.setTimeout(() => !ready &&
|
|
151
|
+
halt("start", violated
|
|
152
|
+
? refusedByPolicy(window, url, violated)
|
|
153
|
+
: said
|
|
154
|
+
? `it failed before it said ready: ${said}`
|
|
155
|
+
: "it failed before it said ready, and the engine gave no reason (a page policy that refuses it, or a script that does not load)"), 0);
|
|
90
156
|
};
|
|
91
157
|
worker.onmessage = (event) => {
|
|
92
158
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-start.js","sourceRoot":"","sources":["../../src/host/worker-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-start.js","sourceRoot":"","sources":["../../src/host/worker-start.ts"],"names":[],"mappings":"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"}
|
package/dist/host/worker.d.ts
CHANGED
|
@@ -6,12 +6,16 @@ import { type GuestWorkerSource } from "./worker-start.js";
|
|
|
6
6
|
export type { GuestWorkerSource } from "./worker-start.js";
|
|
7
7
|
/** Why a worker guest is not shown, for a host that falls back to something else. */
|
|
8
8
|
export type GuestWorkerFailure =
|
|
9
|
-
/** The page's policy refused the worker, or it failed before it said ready. */
|
|
10
|
-
"refused"
|
|
11
9
|
/**
|
|
12
|
-
* It never
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* It never started (FR-102): the page's policy refused the worker (its
|
|
11
|
+
* Content-Security-Policy needs `worker-src blob:`), it failed before it
|
|
12
|
+
* said ready, or it did not say ready in `readyMs`. The detail says which.
|
|
13
|
+
*/
|
|
14
|
+
"start"
|
|
15
|
+
/**
|
|
16
|
+
* It said ready, then its runtime went `silentMs` without answering the
|
|
17
|
+
* host's heartbeat: its event loop is blocked (a `while (true)`), and it
|
|
18
|
+
* was stopped.
|
|
15
19
|
*/
|
|
16
20
|
| "silent"
|
|
17
21
|
/** It drew more than `maxNodes`; it was stopped. */
|
|
@@ -52,8 +56,8 @@ export interface MountGuestWorkerOptions<S extends AnySchema> {
|
|
|
52
56
|
*/
|
|
53
57
|
readonly drawMs?: number;
|
|
54
58
|
};
|
|
55
|
-
/** The guest is not going to be shown, and why: the host can show something else in its place. */
|
|
56
|
-
readonly onFailure?: (reason: GuestWorkerFailure) => void;
|
|
59
|
+
/** The guest is not going to be shown, and why, once: the host can show something else in its place. `detail` says why it did not start. */
|
|
60
|
+
readonly onFailure?: (reason: GuestWorkerFailure, detail?: string) => void;
|
|
57
61
|
/** The kit it may draw from. `GUEST_KIT` by default. */
|
|
58
62
|
readonly kit?: Kit;
|
|
59
63
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/host/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAoC,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAoB,MAAM,UAAU,CAAC;AAC9G,OAAO,EAAuD,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAe,KAAK,iBAAiB,EAAsB,MAAM,mBAAmB,CAAC;AAG5F,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,qFAAqF;AACrF,MAAM,MAAM,kBAAkB;AAC5B
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/host/worker.ts"],"names":[],"mappings":"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"}
|
package/dist/host/worker.js
CHANGED
|
@@ -50,13 +50,13 @@ export function mountGuestWorker(element, options) {
|
|
|
50
50
|
session = undefined;
|
|
51
51
|
started?.stop();
|
|
52
52
|
};
|
|
53
|
-
const fail = (reason) => {
|
|
53
|
+
const fail = (reason, detail) => {
|
|
54
54
|
if (failed)
|
|
55
55
|
return;
|
|
56
56
|
failed = true;
|
|
57
57
|
stop();
|
|
58
58
|
renderer?.dispose();
|
|
59
|
-
options.onFailure?.(reason);
|
|
59
|
+
options.onFailure?.(reason, detail);
|
|
60
60
|
};
|
|
61
61
|
started = startWorker(window, {
|
|
62
62
|
source: options.worker,
|
|
@@ -65,7 +65,7 @@ export function mountGuestWorker(element, options) {
|
|
|
65
65
|
readyMs: options.limits?.readyMs ?? 5_000,
|
|
66
66
|
silentMs: options.limits?.silentMs ?? 5_000,
|
|
67
67
|
onDropped: () => (stats.dropped += 1),
|
|
68
|
-
onStop: (reason) => fail(reason),
|
|
68
|
+
onStop: (reason, detail) => fail(reason, detail),
|
|
69
69
|
onReady: (nonce, port) => {
|
|
70
70
|
const draw = createKitRenderer(container, {
|
|
71
71
|
...(options.kit ? { kit: options.kit } : {}),
|
package/dist/host/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/host/worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAoD,MAAM,UAAU,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAA0E,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,WAAW,EAA8C,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/host/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graview/guest",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Guest views: somebody else's React or plain script in a sandboxed frame, or a hardened classic worker drawing a component kit, shown only what the viewer may see, able only to ask for acts the viewer's seat then applies.",
|
|
6
6
|
"keywords": [
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
"dependencies": {
|
|
71
71
|
"@remote-dom/core": "1.12.0",
|
|
72
72
|
"@remote-dom/polyfill": "1.6.0",
|
|
73
|
-
"@graview/core": "0.1.
|
|
74
|
-
"@graview/react": "0.1.
|
|
73
|
+
"@graview/core": "0.1.14",
|
|
74
|
+
"@graview/react": "0.1.14"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
77
|
"react": ">=18",
|