@graview/guest 0.1.9 → 0.1.10
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 +301 -2
- package/client.js +2 -0
- package/dist/channel.d.ts +11 -3
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +5 -1
- package/dist/channel.js.map +1 -1
- package/dist/cli.d.ts +16 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +75 -0
- package/dist/cli.js.map +1 -0
- package/dist/client-script.d.ts +3 -0
- package/dist/client-script.d.ts.map +1 -0
- package/dist/client-script.js +21 -0
- package/dist/client-script.js.map +1 -0
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.generated.d.ts +4 -0
- package/dist/client.generated.d.ts.map +1 -0
- package/dist/client.generated.js +9 -0
- package/dist/client.generated.js.map +1 -0
- package/dist/client.js +12 -0
- package/dist/client.js.map +1 -0
- package/dist/headless/describe.d.ts +19 -0
- package/dist/headless/describe.d.ts.map +1 -0
- package/dist/headless/describe.js +255 -0
- package/dist/headless/describe.js.map +1 -0
- package/dist/headless/draw.d.ts +17 -0
- package/dist/headless/draw.d.ts.map +1 -0
- package/dist/headless/draw.js +25 -0
- package/dist/headless/draw.js.map +1 -0
- package/dist/headless/index.d.ts +99 -0
- package/dist/headless/index.d.ts.map +1 -0
- package/dist/headless/index.js +143 -0
- package/dist/headless/index.js.map +1 -0
- package/dist/headless/judge.d.ts +16 -0
- package/dist/headless/judge.d.ts.map +1 -0
- package/dist/headless/judge.js +52 -0
- package/dist/headless/judge.js.map +1 -0
- package/dist/headless/node.d.ts +8 -0
- package/dist/headless/node.d.ts.map +1 -0
- package/dist/headless/node.js +80 -0
- package/dist/headless/node.js.map +1 -0
- package/dist/headless/protocol.d.ts +71 -0
- package/dist/headless/protocol.d.ts.map +1 -0
- package/dist/headless/protocol.js +14 -0
- package/dist/headless/protocol.js.map +1 -0
- package/dist/headless/runtime.d.ts +2 -0
- package/dist/headless/runtime.d.ts.map +1 -0
- package/dist/headless/runtime.generated.d.ts +2 -0
- package/dist/headless/runtime.generated.d.ts.map +1 -0
- package/dist/headless/runtime.generated.js +8 -0
- package/dist/headless/runtime.generated.js.map +1 -0
- package/dist/headless/runtime.js +171 -0
- package/dist/headless/runtime.js.map +1 -0
- package/dist/headless/tree.d.ts +54 -0
- package/dist/headless/tree.d.ts.map +1 -0
- package/dist/headless/tree.js +128 -0
- package/dist/headless/tree.js.map +1 -0
- package/dist/host/css.d.ts +118 -0
- package/dist/host/css.d.ts.map +1 -0
- package/dist/host/css.js +963 -0
- package/dist/host/css.js.map +1 -0
- package/dist/host/draw-budget.d.ts +10 -0
- package/dist/host/draw-budget.d.ts.map +1 -0
- package/dist/host/draw-budget.js +29 -0
- package/dist/host/draw-budget.js.map +1 -0
- package/dist/host/frame.d.ts +19 -1
- package/dist/host/frame.d.ts.map +1 -1
- package/dist/host/frame.js +21 -2
- package/dist/host/frame.js.map +1 -1
- package/dist/host/index.d.ts +4 -3
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +7 -1
- package/dist/host/index.js.map +1 -1
- package/dist/host/kit.d.ts +6 -2
- package/dist/host/kit.d.ts.map +1 -1
- package/dist/host/kit.js +12 -5
- package/dist/host/kit.js.map +1 -1
- package/dist/host/links.d.ts +24 -0
- package/dist/host/links.d.ts.map +1 -0
- package/dist/host/links.js +35 -0
- package/dist/host/links.js.map +1 -0
- package/dist/host/manifest.d.ts +50 -0
- package/dist/host/manifest.d.ts.map +1 -0
- package/dist/host/manifest.js +103 -0
- package/dist/host/manifest.js.map +1 -0
- package/dist/host/open-draw.d.ts +44 -0
- package/dist/host/open-draw.d.ts.map +1 -0
- package/dist/host/open-draw.js +108 -0
- package/dist/host/open-draw.js.map +1 -0
- package/dist/host/open-judge.d.ts +53 -0
- package/dist/host/open-judge.d.ts.map +1 -0
- package/dist/host/open-judge.js +95 -0
- package/dist/host/open-judge.js.map +1 -0
- package/dist/host/open-render.d.ts +32 -0
- package/dist/host/open-render.d.ts.map +1 -0
- package/dist/host/open-render.js +262 -0
- package/dist/host/open-render.js.map +1 -0
- package/dist/host/press.d.ts +15 -0
- package/dist/host/press.d.ts.map +1 -0
- package/dist/host/press.js +156 -0
- package/dist/host/press.js.map +1 -0
- package/dist/host/react.d.ts +15 -2
- package/dist/host/react.d.ts.map +1 -1
- package/dist/host/react.js +13 -5
- package/dist/host/react.js.map +1 -1
- package/dist/host/session.d.ts +94 -1
- package/dist/host/session.d.ts.map +1 -1
- package/dist/host/session.js +103 -14
- package/dist/host/session.js.map +1 -1
- package/dist/host/theme.d.ts +14 -0
- package/dist/host/theme.d.ts.map +1 -0
- package/dist/host/theme.js +51 -0
- package/dist/host/theme.js.map +1 -0
- package/dist/host/view-runtime.generated.d.ts +2 -0
- package/dist/host/view-runtime.generated.d.ts.map +1 -0
- package/dist/host/view-runtime.generated.js +7 -0
- package/dist/host/view-runtime.generated.js.map +1 -0
- package/dist/host/view-source.d.ts +5 -0
- package/dist/host/view-source.d.ts.map +1 -0
- package/dist/host/view-source.js +39 -0
- package/dist/host/view-source.js.map +1 -0
- package/dist/host/view.d.ts +134 -0
- package/dist/host/view.d.ts.map +1 -0
- package/dist/host/view.js +381 -0
- package/dist/host/view.js.map +1 -0
- package/dist/host/views.d.ts +10 -0
- package/dist/host/views.d.ts.map +1 -0
- package/dist/host/views.js +15 -0
- package/dist/host/views.js.map +1 -0
- package/dist/host/worker-react.d.ts +51 -0
- package/dist/host/worker-react.d.ts.map +1 -0
- package/dist/host/worker-react.js +123 -0
- package/dist/host/worker-react.js.map +1 -0
- package/dist/host/worker-start.d.ts +49 -0
- package/dist/host/worker-start.d.ts.map +1 -0
- package/dist/host/worker-start.js +122 -0
- package/dist/host/worker-start.js.map +1 -0
- package/dist/host/worker.d.ts +17 -12
- package/dist/host/worker.d.ts.map +1 -1
- package/dist/host/worker.js +58 -117
- package/dist/host/worker.js.map +1 -1
- package/dist/host/writes.d.ts +49 -0
- package/dist/host/writes.d.ts.map +1 -0
- package/dist/host/writes.js +76 -0
- package/dist/host/writes.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/open-kit.d.ts +148 -0
- package/dist/open-kit.d.ts.map +1 -0
- package/dist/open-kit.js +321 -0
- package/dist/open-kit.js.map +1 -0
- package/dist/protocol.d.ts +109 -3
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +13 -0
- package/dist/protocol.js.map +1 -1
- package/dist/worker/harden.d.ts +13 -2
- package/dist/worker/harden.d.ts.map +1 -1
- package/dist/worker/harden.js +10 -4
- package/dist/worker/harden.js.map +1 -1
- package/dist/worker/natives.d.ts +1 -0
- package/dist/worker/natives.d.ts.map +1 -1
- package/dist/worker/natives.js +4 -0
- package/dist/worker/natives.js.map +1 -1
- package/dist/worker/view-global.d.ts +70 -0
- package/dist/worker/view-global.d.ts.map +1 -0
- package/dist/worker/view-global.js +264 -0
- package/dist/worker/view-global.js.map +1 -0
- package/dist/worker/view.d.ts +14 -0
- package/dist/worker/view.d.ts.map +1 -0
- package/dist/worker/view.js +64 -0
- package/dist/worker/view.js.map +1 -0
- package/package.json +30 -4
package/dist/host/session.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AnySchema, type Principal, type Store } from "@graview/core";
|
|
2
|
-
import type { GuestProps, HostMessage } from "../protocol.js";
|
|
2
|
+
import type { GuestEdge, GuestNode, GuestPlace, GuestProps, GuestRefusal, GuestTheme, HostMessage } from "../protocol.js";
|
|
3
3
|
/**
|
|
4
4
|
* What the host knows of the place a guest view is drawn: `ViewProps` as
|
|
5
5
|
* the framework hands any view, by id. The host reads every record again
|
|
@@ -34,6 +34,31 @@ export interface GuestLimits {
|
|
|
34
34
|
/** The tallest a guest may ask to be, in CSS pixels. 4 000 by default. */
|
|
35
35
|
readonly maxHeight?: number;
|
|
36
36
|
}
|
|
37
|
+
/** The other kinds and the edges a guest is shown, beyond what it is drawn over (FR-85, FR-91). */
|
|
38
|
+
export interface GuestReads {
|
|
39
|
+
readonly kinds?: readonly string[];
|
|
40
|
+
readonly edges?: readonly string[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* WHAT A GUEST READS ACROSS KINDS, AS THE VIEWER SEES IT (FR-85, FR-91):
|
|
44
|
+
* every record of the kinds it reads that is not already among `shown`,
|
|
45
|
+
* and every edge of the kinds it reads between two records it is handed.
|
|
46
|
+
* `graph` is the viewer's own (`seenBy`), so an unseen record is in
|
|
47
|
+
* neither. One rule for a frame guest and a worker view alike.
|
|
48
|
+
*/
|
|
49
|
+
export declare function readAcross(graph: {
|
|
50
|
+
nodesOfKind(kind: never): readonly {
|
|
51
|
+
readonly id: string;
|
|
52
|
+
}[];
|
|
53
|
+
outEdges(id: string): readonly {
|
|
54
|
+
readonly kind: string;
|
|
55
|
+
readonly from: string;
|
|
56
|
+
readonly to: string;
|
|
57
|
+
}[];
|
|
58
|
+
}, shown: ReadonlySet<string>, reads: GuestReads | undefined): {
|
|
59
|
+
readonly nodes: readonly unknown[];
|
|
60
|
+
readonly edges: readonly GuestEdge[];
|
|
61
|
+
};
|
|
37
62
|
export interface GuestHostOptions<S extends AnySchema> {
|
|
38
63
|
/** The store, or the store as the viewer sees it: the host reads it through `seenBy(principal)` either way. */
|
|
39
64
|
readonly store: Store<S>;
|
|
@@ -47,16 +72,37 @@ export interface GuestHostOptions<S extends AnySchema> {
|
|
|
47
72
|
send(message: HostMessage): void;
|
|
48
73
|
/** What is drawn where the guest is, read on every push. */
|
|
49
74
|
readonly input?: () => GuestViewInput;
|
|
75
|
+
/**
|
|
76
|
+
* The other kinds and the edges the guest is shown, beyond the records it
|
|
77
|
+
* is drawn over (FR-85): each record of those kinds and each edge of
|
|
78
|
+
* those kinds among what it is handed, as the viewer sees them. With
|
|
79
|
+
* none, a guest sees its own records and the edges among them.
|
|
80
|
+
*/
|
|
81
|
+
readonly reads?: GuestReads;
|
|
82
|
+
/** The app's look now, pushed as `theme` (FR-86). Read again on every push. */
|
|
83
|
+
readonly theme?: () => GuestTheme;
|
|
50
84
|
/** The guest asked to go to a record the viewer may see. */
|
|
51
85
|
readonly onNavigate?: (id: string) => void;
|
|
52
86
|
/** The guest asked for a height. */
|
|
53
87
|
readonly onSize?: (height: number) => void;
|
|
88
|
+
/** The guest asked to go to a named place of the app, one `places` lists (FR-93). */
|
|
89
|
+
readonly onNavigatePlace?: (as: string) => void;
|
|
90
|
+
/** The app's named places, by slug: where a guest may ask to go besides a record. */
|
|
91
|
+
readonly places?: () => readonly string[];
|
|
92
|
+
/** The app's named places as a guest is told of them (`props.places`), when the host builds the props. */
|
|
93
|
+
readonly placesShown?: () => readonly GuestPlace[];
|
|
54
94
|
/**
|
|
55
95
|
* A worker guest's drawing (FR-68): its Remote DOM mutation records, for
|
|
56
96
|
* the kit's renderer to draw what the kit allows of. Without it, a
|
|
57
97
|
* `render` is dropped unread: a frame guest draws in its own document.
|
|
58
98
|
*/
|
|
59
99
|
readonly onRender?: (records: readonly unknown[]) => void;
|
|
100
|
+
/** An open-kit view's stylesheet (FR-90). Without it, a `style` is dropped unread. */
|
|
101
|
+
readonly onStyle?: (css: string) => void;
|
|
102
|
+
/** An open-kit view's runtime has drawn a push (FR-94). Without it, a `pushed` is dropped unread. */
|
|
103
|
+
readonly onPushed?: (push: number, ms: number) => void;
|
|
104
|
+
/** A message came past the allowance: the host stops a view that floods, rather than reading on (FR-94). */
|
|
105
|
+
readonly onFlood?: () => void;
|
|
60
106
|
readonly limits?: GuestLimits;
|
|
61
107
|
/**
|
|
62
108
|
* The frame's limiter, when the frame outlives this session: a guest
|
|
@@ -65,6 +111,26 @@ export interface GuestHostOptions<S extends AnySchema> {
|
|
|
65
111
|
readonly limiter?: GuestLimiter;
|
|
66
112
|
/** The clock, for tests. */
|
|
67
113
|
readonly now?: () => number;
|
|
114
|
+
/**
|
|
115
|
+
* What the guest is handed, when the host builds it another way: a worker
|
|
116
|
+
* view's, cut to its manifest (FR-91). The viewer's sight, from the input,
|
|
117
|
+
* by default.
|
|
118
|
+
*/
|
|
119
|
+
readonly props?: () => GuestProps;
|
|
120
|
+
/**
|
|
121
|
+
* The rules an act the guest asks for from its own code is held to before
|
|
122
|
+
* the store is asked: a worker view's manifest and write rules (FR-92).
|
|
123
|
+
* Its answer names the act to apply and the arguments, or a refusal.
|
|
124
|
+
*/
|
|
125
|
+
readonly judgeAct?: (name: string, args: Readonly<Record<string, unknown>>) => {
|
|
126
|
+
readonly ok: true;
|
|
127
|
+
readonly name: string;
|
|
128
|
+
readonly args: Record<string, unknown>;
|
|
129
|
+
} | {
|
|
130
|
+
readonly ok: false;
|
|
131
|
+
readonly reason: GuestRefusal;
|
|
132
|
+
readonly message: string;
|
|
133
|
+
};
|
|
68
134
|
}
|
|
69
135
|
/** How much one frame may still ask: each call spends one, and says whether there was one to spend. */
|
|
70
136
|
export interface GuestLimiter {
|
|
@@ -83,6 +149,27 @@ export interface GuestStats {
|
|
|
83
149
|
export interface GuestHost {
|
|
84
150
|
/** Hand the host one message from the frame's port. */
|
|
85
151
|
receive(data: unknown): void;
|
|
152
|
+
/**
|
|
153
|
+
* An act a press asked for, already judged by the host's write rules
|
|
154
|
+
* (FR-92): applied as the viewer, through the view, under the view's
|
|
155
|
+
* allowance, in the press's own handler.
|
|
156
|
+
*/
|
|
157
|
+
pressed(judged: {
|
|
158
|
+
readonly ok: true;
|
|
159
|
+
readonly name: string;
|
|
160
|
+
readonly args: Record<string, unknown>;
|
|
161
|
+
} | {
|
|
162
|
+
readonly ok: false;
|
|
163
|
+
readonly reason: GuestRefusal;
|
|
164
|
+
readonly message: string;
|
|
165
|
+
}): {
|
|
166
|
+
readonly ok: true;
|
|
167
|
+
readonly intent: string;
|
|
168
|
+
} | {
|
|
169
|
+
readonly ok: false;
|
|
170
|
+
readonly reason: GuestRefusal;
|
|
171
|
+
readonly message: string;
|
|
172
|
+
};
|
|
86
173
|
/** Push what the viewer sees now. Called on every change to the store, and by a host when the view's input moves. */
|
|
87
174
|
push(): void;
|
|
88
175
|
readonly stats: Readonly<GuestStats>;
|
|
@@ -90,6 +177,12 @@ export interface GuestHost {
|
|
|
90
177
|
}
|
|
91
178
|
/** One frame's allowance, per `GuestLimits`. */
|
|
92
179
|
export declare function createGuestLimiter(limits?: GuestLimits, now?: () => number): GuestLimiter;
|
|
180
|
+
/**
|
|
181
|
+
* A record as a guest is handed it: plain data, with its `label` as the host
|
|
182
|
+
* labels it (the kind's own `label`, else its label field, else its id) —
|
|
183
|
+
* the field `GuestNode` always promised and a guest had to work out itself.
|
|
184
|
+
*/
|
|
185
|
+
export declare function plainNode<S extends AnySchema>(store: Store<S>, node: unknown): GuestNode;
|
|
93
186
|
/**
|
|
94
187
|
* THE HOST'S HALF OF ONE FRAME, without the DOM: what to push, and what to
|
|
95
188
|
* make of what comes back. `mountGuestView` wires it to an iframe; a test
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/host/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/host/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,KAAK,EAAyB,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjJ;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,yGAAyG;AACzG,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,+GAA+G;IAC/G,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,mGAAmG;AACnG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,CAUnV;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS;IACnD,+GAA+G;IAC/G,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,yGAAyG;IACzG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,cAAc,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oCAAoC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,qFAAqF;IACrF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAC1C,0GAA0G;IAC1G,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,CAAC;IAC1D,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,4GAA4G;IAC5G,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACvP;AAED,uGAAuG;AACvG,MAAM,WAAW,YAAY;IAC3B,GAAG,IAAI,OAAO,CAAC;IACf,OAAO,IAAI,OAAO,CAAC;CACpB;AAED,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,6GAA6G;IAC7G,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1T,qHAAqH;IACrH,IAAI,IAAI,IAAI,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;CACjB;AAcD,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,WAAgB,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,YAAY,CAKvG;AAKD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,CAMxF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CA+K5F"}
|
package/dist/host/session.js
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
import { PermissionDeniedError } from "@graview/core";
|
|
2
|
+
/**
|
|
3
|
+
* WHAT A GUEST READS ACROSS KINDS, AS THE VIEWER SEES IT (FR-85, FR-91):
|
|
4
|
+
* every record of the kinds it reads that is not already among `shown`,
|
|
5
|
+
* and every edge of the kinds it reads between two records it is handed.
|
|
6
|
+
* `graph` is the viewer's own (`seenBy`), so an unseen record is in
|
|
7
|
+
* neither. One rule for a frame guest and a worker view alike.
|
|
8
|
+
*/
|
|
9
|
+
export function readAcross(graph, shown, reads) {
|
|
10
|
+
const nodes = new Map();
|
|
11
|
+
for (const kind of reads?.kinds ?? [])
|
|
12
|
+
for (const node of graph.nodesOfKind(kind))
|
|
13
|
+
if (!shown.has(node.id))
|
|
14
|
+
nodes.set(node.id, node);
|
|
15
|
+
const all = new Set([...shown, ...nodes.keys()]);
|
|
16
|
+
const kinds = new Set(reads?.edges ?? []);
|
|
17
|
+
const edges = [];
|
|
18
|
+
if (kinds.size > 0) {
|
|
19
|
+
for (const id of all)
|
|
20
|
+
for (const edge of graph.outEdges(id))
|
|
21
|
+
if (kinds.has(edge.kind) && all.has(edge.to))
|
|
22
|
+
edges.push({ kind: edge.kind, from: edge.from, to: edge.to });
|
|
23
|
+
}
|
|
24
|
+
return { nodes: [...nodes.values()], edges };
|
|
25
|
+
}
|
|
2
26
|
/** A count over a sliding window: true while under the limit. */
|
|
3
27
|
function windowed(limit, span, now) {
|
|
4
28
|
const times = [];
|
|
@@ -20,6 +44,18 @@ export function createGuestLimiter(limits = {}, now = Date.now) {
|
|
|
20
44
|
};
|
|
21
45
|
}
|
|
22
46
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
47
|
+
/**
|
|
48
|
+
* A record as a guest is handed it: plain data, with its `label` as the host
|
|
49
|
+
* labels it (the kind's own `label`, else its label field, else its id) —
|
|
50
|
+
* the field `GuestNode` always promised and a guest had to work out itself.
|
|
51
|
+
*/
|
|
52
|
+
export function plainNode(store, node) {
|
|
53
|
+
const copy = structuredClone(node);
|
|
54
|
+
/* `labelOf`'s rule, said here: core's module for it carries zod, which a page drawing guests need not load. */
|
|
55
|
+
const definition = store.schema.tryDefinition(copy.kind);
|
|
56
|
+
const own = copy["label"];
|
|
57
|
+
return { ...copy, label: definition?.label ? definition.label(copy) : typeof own === "string" && own.length > 0 ? own : copy.id };
|
|
58
|
+
}
|
|
23
59
|
/**
|
|
24
60
|
* THE HOST'S HALF OF ONE FRAME, without the DOM: what to push, and what to
|
|
25
61
|
* make of what comes back. `mountGuestView` wires it to an iframe; a test
|
|
@@ -32,8 +68,10 @@ export function createGuestHost(options) {
|
|
|
32
68
|
const stats = { applied: 0, refused: 0, dropped: 0 };
|
|
33
69
|
/* Read through the viewer's sight every time: the store moves, and what they may see moves with it. */
|
|
34
70
|
const seen = () => options.store.seenBy(options.principal);
|
|
35
|
-
const plain = (node) =>
|
|
71
|
+
const plain = (node) => plainNode(options.store, node);
|
|
36
72
|
const props = () => {
|
|
73
|
+
if (options.props)
|
|
74
|
+
return options.props();
|
|
37
75
|
const store = seen();
|
|
38
76
|
const graph = store.graph;
|
|
39
77
|
const input = options.input?.() ?? {};
|
|
@@ -50,6 +88,13 @@ export function createGuestHost(options) {
|
|
|
50
88
|
edges.push({ kind: edge.kind, from: edge.from, to: edge.to });
|
|
51
89
|
}
|
|
52
90
|
}
|
|
91
|
+
/* What it reads across kinds, as the viewer sees it, beside its own (FR-85). */
|
|
92
|
+
const read = readAcross(graph, shown, options.reads);
|
|
93
|
+
const said = new Set(edges.map((edge) => `${edge.kind} ${edge.from} ${edge.to}`));
|
|
94
|
+
for (const edge of read.edges)
|
|
95
|
+
if (!said.has(`${edge.kind} ${edge.from} ${edge.to}`))
|
|
96
|
+
edges.push(edge);
|
|
97
|
+
const listed = read.nodes.length > 0 ? [...(nodes ?? []), ...read.nodes] : nodes;
|
|
53
98
|
const visible = (ids) => ids?.filter((id) => graph.has(id));
|
|
54
99
|
const acts = store.permittedMutations(options.principal).map((mutation) => ({
|
|
55
100
|
name: mutation.name,
|
|
@@ -60,7 +105,7 @@ export function createGuestHost(options) {
|
|
|
60
105
|
return {
|
|
61
106
|
view: options.view,
|
|
62
107
|
...(node ? { node: plain(node) } : {}),
|
|
63
|
-
...(
|
|
108
|
+
...(listed ? { nodes: listed.map(plain) } : {}),
|
|
64
109
|
edges,
|
|
65
110
|
...(input.label !== undefined ? { label: input.label } : {}),
|
|
66
111
|
...(input.fidelity !== undefined ? { fidelity: input.fidelity } : {}),
|
|
@@ -70,12 +115,17 @@ export function createGuestHost(options) {
|
|
|
70
115
|
...(input.implicated ? { implicated: visible(input.implicated) } : {}),
|
|
71
116
|
...(input.flagged ? { flagged: visible(input.flagged) } : {}),
|
|
72
117
|
acts,
|
|
118
|
+
...(options.theme ? { theme: options.theme() } : {}),
|
|
119
|
+
...(options.placesShown ? { places: options.placesShown().map(({ as, title, kind }) => ({ as, title, kind })) } : {}),
|
|
73
120
|
};
|
|
74
121
|
};
|
|
75
122
|
let disposed = false;
|
|
123
|
+
let pushes = 0;
|
|
76
124
|
const push = () => {
|
|
77
|
-
if (
|
|
78
|
-
|
|
125
|
+
if (disposed)
|
|
126
|
+
return;
|
|
127
|
+
pushes += 1;
|
|
128
|
+
options.send({ type: "props", props: props(), push: pushes });
|
|
79
129
|
};
|
|
80
130
|
/* Every change to the store is a push, coalesced: a batch of five ops is one message, not five. */
|
|
81
131
|
let pending = false;
|
|
@@ -88,17 +138,23 @@ export function createGuestHost(options) {
|
|
|
88
138
|
push();
|
|
89
139
|
});
|
|
90
140
|
});
|
|
91
|
-
const
|
|
141
|
+
const refused = (reason, message) => {
|
|
92
142
|
stats.refused += 1;
|
|
93
|
-
|
|
143
|
+
return { ok: false, reason, message };
|
|
94
144
|
};
|
|
95
|
-
const
|
|
96
|
-
if (typeof name !== "string" || !isRecord(args))
|
|
97
|
-
return answer(id, "malformed", "An act is asked for by name, with its arguments as an object.");
|
|
145
|
+
const run = (name, args, judged) => {
|
|
98
146
|
if (!limiter.act())
|
|
99
|
-
return
|
|
147
|
+
return refused("rate-limited", "Too many acts asked for at once; this one was not applied.");
|
|
148
|
+
/* A worker view's manifest and its write rules (FR-92), before the store is asked. */
|
|
149
|
+
if (judged) {
|
|
150
|
+
const said = judged(name, args);
|
|
151
|
+
if (!said.ok)
|
|
152
|
+
return refused(said.reason, said.message);
|
|
153
|
+
name = said.name;
|
|
154
|
+
args = said.args;
|
|
155
|
+
}
|
|
100
156
|
if (!options.store.allMutations().some((mutation) => mutation.name === name))
|
|
101
|
-
return
|
|
157
|
+
return refused("unknown-act", "There is no act by that name here.");
|
|
102
158
|
try {
|
|
103
159
|
/*
|
|
104
160
|
* THE VIEWER'S CLICK, NOT THE GUEST'S: the store judges the viewer's
|
|
@@ -107,14 +163,22 @@ export function createGuestHost(options) {
|
|
|
107
163
|
*/
|
|
108
164
|
const result = options.store.apply({ name, args }, { author: options.principal, via });
|
|
109
165
|
stats.applied += 1;
|
|
110
|
-
|
|
166
|
+
return { ok: true, intent: result.intent };
|
|
111
167
|
}
|
|
112
168
|
catch (error) {
|
|
113
169
|
if (error instanceof PermissionDeniedError)
|
|
114
|
-
return
|
|
170
|
+
return refused("refused", error.refusal.message);
|
|
115
171
|
/* An act's own error can name what it read; the guest is told only that it did not happen. */
|
|
116
|
-
return
|
|
172
|
+
return refused("failed", "The act could not be applied.");
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
const act = (id, name, args) => {
|
|
176
|
+
if (typeof name !== "string" || !isRecord(args)) {
|
|
177
|
+
stats.refused += 1;
|
|
178
|
+
return options.send({ type: "answer", id, ok: false, reason: "malformed", message: "An act is asked for by name, with its arguments as an object." });
|
|
117
179
|
}
|
|
180
|
+
const outcome = run(name, args, options.judgeAct);
|
|
181
|
+
options.send(outcome.ok ? { type: "answer", id, ok: true, intent: outcome.intent } : { type: "answer", id, ok: false, reason: outcome.reason, message: outcome.message });
|
|
118
182
|
};
|
|
119
183
|
return {
|
|
120
184
|
receive(data) {
|
|
@@ -122,6 +186,7 @@ export function createGuestHost(options) {
|
|
|
122
186
|
return;
|
|
123
187
|
if (!limiter.message()) {
|
|
124
188
|
stats.dropped += 1;
|
|
189
|
+
options.onFlood?.();
|
|
125
190
|
return;
|
|
126
191
|
}
|
|
127
192
|
if (!isRecord(data) || data.nonce !== options.nonce) {
|
|
@@ -130,6 +195,13 @@ export function createGuestHost(options) {
|
|
|
130
195
|
}
|
|
131
196
|
if (data.type === "act" && (typeof data.id === "string" || typeof data.id === "number"))
|
|
132
197
|
return act(data.id, data.name, data.args);
|
|
198
|
+
if (data.type === "navigate" && typeof data.place === "string") {
|
|
199
|
+
if (options.places?.().includes(data.place))
|
|
200
|
+
options.onNavigatePlace?.(data.place);
|
|
201
|
+
else
|
|
202
|
+
stats.dropped += 1;
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
133
205
|
if (data.type === "navigate" && typeof data.to === "string") {
|
|
134
206
|
if (seen().graph.has(data.to))
|
|
135
207
|
options.onNavigate?.(data.to);
|
|
@@ -141,6 +213,14 @@ export function createGuestHost(options) {
|
|
|
141
213
|
options.onRender(data.records);
|
|
142
214
|
return;
|
|
143
215
|
}
|
|
216
|
+
if (data.type === "style" && typeof data.css === "string" && options.onStyle) {
|
|
217
|
+
options.onStyle(data.css);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (data.type === "pushed" && typeof data.push === "number" && typeof data.ms === "number" && options.onPushed) {
|
|
221
|
+
options.onPushed(data.push, data.ms);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
144
224
|
if (data.type === "size" && typeof data.height === "number" && Number.isFinite(data.height)) {
|
|
145
225
|
options.onSize?.(Math.max(0, Math.min(maxHeight, Math.round(data.height))));
|
|
146
226
|
return;
|
|
@@ -148,6 +228,15 @@ export function createGuestHost(options) {
|
|
|
148
228
|
stats.dropped += 1;
|
|
149
229
|
},
|
|
150
230
|
push,
|
|
231
|
+
pressed(judged) {
|
|
232
|
+
if (disposed)
|
|
233
|
+
return { ok: false, reason: "refused", message: "The view has gone." };
|
|
234
|
+
if (!judged.ok) {
|
|
235
|
+
stats.refused += 1;
|
|
236
|
+
return judged;
|
|
237
|
+
}
|
|
238
|
+
return run(judged.name, judged.args);
|
|
239
|
+
},
|
|
151
240
|
get stats() {
|
|
152
241
|
return stats;
|
|
153
242
|
},
|
package/dist/host/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/host/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/host/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { GuestTheme } from "../protocol.js";
|
|
2
|
+
/**
|
|
3
|
+
* The app's look as an element inherits it: its `--graview-*` tokens, and
|
|
4
|
+
* the app's scheme — the nearest `data-graview-scheme` (the embed's), else
|
|
5
|
+
* its `color-scheme`, else the system's — the app's own toggle first.
|
|
6
|
+
*/
|
|
7
|
+
export declare function readTheme(region: Element): GuestTheme;
|
|
8
|
+
/**
|
|
9
|
+
* Call `moved` whenever the look a guest is handed may have changed: the
|
|
10
|
+
* app's toggle (the embed stamps `data-graview-scheme`, a page `data-theme`)
|
|
11
|
+
* or the system's preference. Returns the stop.
|
|
12
|
+
*/
|
|
13
|
+
export declare function watchTheme(document: Document, moved: () => void): () => void;
|
|
14
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/host/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAqBjD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAQrD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAW5E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* THE APP'S LOOK, AS A GUEST IS HANDED IT (FR-86, FR-91): read off the
|
|
3
|
+
* element a guest is drawn in, and watched, so a guest — a worker view, or
|
|
4
|
+
* a frame — is pushed again when the app's own toggle changes the scheme,
|
|
5
|
+
* whatever the system prefers. Small, and apart from the worker's host, so
|
|
6
|
+
* a page that draws only frames carries this and nothing of the open kit.
|
|
7
|
+
*/
|
|
8
|
+
const TOKENS = [
|
|
9
|
+
["accent", "--graview-accent"],
|
|
10
|
+
["ground", "--graview-ground"],
|
|
11
|
+
["panel", "--graview-panel"],
|
|
12
|
+
["ink", "--graview-ink"],
|
|
13
|
+
["inkMuted", "--graview-ink-muted"],
|
|
14
|
+
["edge", "--graview-edge"],
|
|
15
|
+
["fontBody", "--graview-font-body"],
|
|
16
|
+
["fontMono", "--graview-font-mono"],
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* The app's look as an element inherits it: its `--graview-*` tokens, and
|
|
20
|
+
* the app's scheme — the nearest `data-graview-scheme` (the embed's), else
|
|
21
|
+
* its `color-scheme`, else the system's — the app's own toggle first.
|
|
22
|
+
*/
|
|
23
|
+
export function readTheme(region) {
|
|
24
|
+
const window = region.ownerDocument.defaultView;
|
|
25
|
+
const style = window.getComputedStyle(region);
|
|
26
|
+
const stamped = region.closest("[data-graview-scheme]")?.getAttribute("data-graview-scheme");
|
|
27
|
+
const said = stamped === "dark" || stamped === "light" ? stamped : /\bdark\b/.test(style.colorScheme ?? "") ? "dark" : /\blight\b/.test(style.colorScheme ?? "") ? "light" : window.matchMedia?.("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
28
|
+
const theme = { scheme: said };
|
|
29
|
+
for (const [key, variable] of TOKENS)
|
|
30
|
+
theme[key] = style.getPropertyValue(variable).trim();
|
|
31
|
+
return theme;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Call `moved` whenever the look a guest is handed may have changed: the
|
|
35
|
+
* app's toggle (the embed stamps `data-graview-scheme`, a page `data-theme`)
|
|
36
|
+
* or the system's preference. Returns the stop.
|
|
37
|
+
*/
|
|
38
|
+
export function watchTheme(document, moved) {
|
|
39
|
+
const window = document.defaultView;
|
|
40
|
+
if (!window || typeof window.MutationObserver !== "function")
|
|
41
|
+
return () => { };
|
|
42
|
+
const watch = new window.MutationObserver(moved);
|
|
43
|
+
watch.observe(document.documentElement, { attributes: true, subtree: true, attributeFilter: ["data-graview-scheme", "data-theme"] });
|
|
44
|
+
const media = window.matchMedia?.("(prefers-color-scheme: dark)");
|
|
45
|
+
media?.addEventListener?.("change", moved);
|
|
46
|
+
return () => {
|
|
47
|
+
watch.disconnect();
|
|
48
|
+
media?.removeEventListener?.("change", moved);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/host/theme.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,MAAM,MAAM,GAAqE;IAC/E,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAC9B,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAC9B,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAC5B,CAAC,KAAK,EAAE,eAAe,CAAC;IACxB,CAAC,UAAU,EAAE,qBAAqB,CAAC;IACnC,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAC1B,CAAC,UAAU,EAAE,qBAAqB,CAAC;IACnC,CAAC,UAAU,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAe;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,WAAY,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5P,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,EAA0D,CAAC;IACvF,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM;QAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,QAAkB,EAAE,KAAiB;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAkD,CAAC;IAC3E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjD,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,qBAAqB,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IACrI,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,8BAA8B,CAAC,CAAC;IAClE,KAAK,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,GAAG,EAAE;QACV,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,EAAE,mBAAmB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-runtime.generated.d.ts","sourceRoot":"","sources":["../../src/host/view-runtime.generated.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,EAAE,MAA+46D,CAAC"}
|