effect-browser 0.2.0-beta.7 → 0.2.0-beta.9
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 +504 -152
- package/dist/Browser-BF9_sORP.d.mts +388 -0
- package/dist/Browser.d.mts +3 -200
- package/dist/Browser.mjs +9 -1
- package/dist/Browser.mjs.map +1 -1
- package/dist/{BrowserData-KHk4o__c.d.mts → BrowserData-CPIIIHol.d.mts} +81 -7
- package/dist/BrowserData.d.mts +2 -2
- package/dist/BrowserData.mjs +104 -6
- package/dist/BrowserData.mjs.map +1 -1
- package/dist/{BrowserRuntime-hxkTNlRa.d.mts → BrowserRuntime-B6nT1G4X.d.mts} +16 -11
- package/dist/{BrowserRuntime-Cr76CN4I.mjs → BrowserRuntime-C1r2aSRK.mjs} +5065 -4305
- package/dist/BrowserRuntime-C1r2aSRK.mjs.map +1 -0
- package/dist/BrowserRuntime.d.mts +2 -2
- package/dist/BrowserRuntime.mjs +2 -1
- package/dist/Capture.d.mts +9 -7
- package/dist/Capture.mjs +157 -32
- package/dist/Capture.mjs.map +1 -1
- package/dist/{CaptureData-Dys0Ko9d.mjs → CaptureData-CYriZHX1.mjs} +25 -6
- package/dist/CaptureData-CYriZHX1.mjs.map +1 -0
- package/dist/CaptureData.d.mts +62 -3
- package/dist/CaptureData.mjs +2 -2
- package/dist/Chromium.d.mts +2 -2
- package/dist/Chromium.mjs +19 -10
- package/dist/Chromium.mjs.map +1 -1
- package/dist/Errors.d.mts +66 -17
- package/dist/Errors.mjs +47 -5
- package/dist/Errors.mjs.map +1 -1
- package/dist/Images-yCG9BmRU.mjs +76 -0
- package/dist/Images-yCG9BmRU.mjs.map +1 -0
- package/dist/OperationOptions-DAeRS6O9.mjs +55 -0
- package/dist/OperationOptions-DAeRS6O9.mjs.map +1 -0
- package/dist/PageControl.d.mts +6 -6
- package/dist/PageControl.mjs +16 -10
- package/dist/PageControl.mjs.map +1 -1
- package/dist/PageRegistry-B3q9DS3g.mjs +164 -0
- package/dist/PageRegistry-B3q9DS3g.mjs.map +1 -0
- package/dist/Plan-Dyxu2q8C.mjs +543 -0
- package/dist/Plan-Dyxu2q8C.mjs.map +1 -0
- package/dist/Plan.d.mts +3 -0
- package/dist/Plan.mjs +2 -0
- package/dist/PlanData-B668RxbQ.d.mts +4831 -0
- package/dist/PlanData.d.mts +3 -0
- package/dist/PlanData.mjs +268 -0
- package/dist/PlanData.mjs.map +1 -0
- package/dist/PlanInput-BJcPPncs.mjs +75 -0
- package/dist/PlanInput-BJcPPncs.mjs.map +1 -0
- package/dist/PublicSession-DCSMMqOj.mjs +5602 -0
- package/dist/PublicSession-DCSMMqOj.mjs.map +1 -0
- package/dist/Testing.d.mts +48 -6
- package/dist/Testing.mjs +651 -113
- package/dist/Testing.mjs.map +1 -1
- package/dist/Timeline-fV22Xk-S.d.mts +29 -0
- package/dist/Timeline.d.mts +4 -0
- package/dist/Timeline.mjs +20 -0
- package/dist/Timeline.mjs.map +1 -0
- package/dist/TimelineData-BsOn-YGZ.d.mts +3818 -0
- package/dist/TimelineData.d.mts +3 -0
- package/dist/TimelineData.mjs +482 -0
- package/dist/TimelineData.mjs.map +1 -0
- package/dist/index.d.mts +5 -1
- package/dist/index.mjs +5 -1
- package/package.json +18 -2
- package/dist/Association-CH3kPHXE.mjs +0 -167
- package/dist/Association-CH3kPHXE.mjs.map +0 -1
- package/dist/BrowserRuntime-Cr76CN4I.mjs.map +0 -1
- package/dist/CaptureData-Dys0Ko9d.mjs.map +0 -1
- package/dist/PageControlAssociation-DabEg5AR.mjs +0 -10
- package/dist/PageControlAssociation-DabEg5AR.mjs.map +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { A as Stamp, B as TimelineLimit, C as PayloadTag, D as Snapshot, E as SelectorJson, F as TerminalReason, H as TimelineMaximums, I as TimelineCursorError, L as TimelineDefaults, M as StoreIdentity, N as Terminal, O as SnapshotJson, P as TerminalJson, R as TimelineError, S as PayloadJson, T as Selector, V as TimelineMalformed, _ as Interval, a as ClientPage, b as PagesInventory, c as ClientPagesInventory, d as Correlation, f as Cursor, g as EvidenceTarget, h as EventJson, i as ClientEventJson, j as StampJson, k as SnapshotOptions, l as ClientPayload, m as Event, n as CaptureReason, o as ClientPageEvent, p as CursorJson, r as ClientEvent, s as ClientPageEventJson, t as CachedPage, u as ClientPayloadJson, v as IntervalJson, w as Retention, x as Payload, y as PageEvent, z as TimelineGap } from "./TimelineData-BsOn-YGZ.mjs";
|
|
2
|
+
export { CachedPage, CaptureReason, ClientEvent, ClientEventJson, ClientPage, ClientPageEvent, ClientPageEventJson, ClientPagesInventory, ClientPayload, ClientPayloadJson, Correlation, Cursor, CursorJson, Event, EventJson, EvidenceTarget, Interval, IntervalJson, PageEvent, PagesInventory, Payload, PayloadJson, PayloadTag, Retention, Selector, SelectorJson, Snapshot, SnapshotJson, SnapshotOptions, Stamp, StampJson, StoreIdentity, Terminal, TerminalJson, TerminalReason, TimelineCursorError, TimelineDefaults, TimelineError, TimelineGap, TimelineLimit, TimelineMalformed, TimelineMaximums };
|
|
3
|
+
export {};
|
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
import { BrowserOperation, BrowserOutcome, Containment, Reasons } from "./Errors.mjs";
|
|
2
|
+
import { Identifier } from "./BrowserData.mjs";
|
|
3
|
+
import { Action } from "./PlanData.mjs";
|
|
4
|
+
import { n as CaptureQualification } from "./CaptureData-CYriZHX1.mjs";
|
|
5
|
+
import { Schema, Struct } from "effect";
|
|
6
|
+
//#region src/TimelineData.ts
|
|
7
|
+
/** One journal identity on one captured host clock; neither is a native credential. */
|
|
8
|
+
const StoreIdentity = Schema.Struct({
|
|
9
|
+
storeId: Identifier,
|
|
10
|
+
clockId: Identifier
|
|
11
|
+
});
|
|
12
|
+
const TimelineDefaults = Object.freeze({
|
|
13
|
+
maxDurationMillis: 6e4,
|
|
14
|
+
maxEvents: 4096,
|
|
15
|
+
maxBytes: 4194304,
|
|
16
|
+
maxSubscribers: 32,
|
|
17
|
+
maxEventBytes: 65536
|
|
18
|
+
});
|
|
19
|
+
const TimelineMaximums = Object.freeze({
|
|
20
|
+
maxDurationMillis: 216e5,
|
|
21
|
+
maxEvents: 65536,
|
|
22
|
+
maxBytes: 67108864,
|
|
23
|
+
maxSubscribers: 256,
|
|
24
|
+
maxEventBytes: 1048576
|
|
25
|
+
});
|
|
26
|
+
const maximumInteger = (1n << 128n) - 1n;
|
|
27
|
+
const Sequence = Schema.BigInt.check(Schema.isGreaterThanOrEqualToBigInt(0n), Schema.isLessThanOrEqualToBigInt(maximumInteger));
|
|
28
|
+
const Counter = Schema.Natural.check(Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER));
|
|
29
|
+
const Geometry = Schema.Struct({
|
|
30
|
+
x: Schema.Finite,
|
|
31
|
+
y: Schema.Finite
|
|
32
|
+
});
|
|
33
|
+
const Cursor = Schema.Struct({
|
|
34
|
+
...StoreIdentity.fields,
|
|
35
|
+
sequence: Sequence
|
|
36
|
+
});
|
|
37
|
+
const CursorJson = Schema.toCodecJson(Cursor);
|
|
38
|
+
/** An offset from this clock domain's origin, never a portable absolute monotonic instant. */
|
|
39
|
+
const Stamp = Schema.Struct({
|
|
40
|
+
clockId: Identifier,
|
|
41
|
+
offsetNanos: Sequence
|
|
42
|
+
});
|
|
43
|
+
const StampJson = Schema.toCodecJson(Stamp);
|
|
44
|
+
const Selector = Schema.Union([Cursor, Schema.Struct({ at: Stamp })]);
|
|
45
|
+
const SelectorJson = Schema.toCodecJson(Selector);
|
|
46
|
+
/** Null frame/document fields disclose unavailable attribution instead of inventing it. */
|
|
47
|
+
const EvidenceTarget = Schema.Struct({
|
|
48
|
+
generation: Counter,
|
|
49
|
+
pageId: Identifier,
|
|
50
|
+
frameId: Schema.NullOr(Identifier),
|
|
51
|
+
document: Schema.NullOr(Counter)
|
|
52
|
+
});
|
|
53
|
+
const Correlation = Schema.Struct({
|
|
54
|
+
runId: Identifier,
|
|
55
|
+
stepId: Identifier,
|
|
56
|
+
attemptId: Identifier,
|
|
57
|
+
fieldIndex: Schema.optionalKey(Schema.Natural.check(Schema.isLessThanOrEqualTo(127)))
|
|
58
|
+
});
|
|
59
|
+
const TerminalReason = Schema.Literals([
|
|
60
|
+
"closed",
|
|
61
|
+
"detached",
|
|
62
|
+
"disconnected",
|
|
63
|
+
"faulted",
|
|
64
|
+
"uncertain",
|
|
65
|
+
"expired",
|
|
66
|
+
"stale",
|
|
67
|
+
"contained",
|
|
68
|
+
"cancelled"
|
|
69
|
+
]);
|
|
70
|
+
const CaptureReason = Schema.Literals([
|
|
71
|
+
"stopped",
|
|
72
|
+
"parent-unavailable",
|
|
73
|
+
"malformed-frame",
|
|
74
|
+
"frame-limit",
|
|
75
|
+
"timestamp-discontinuity",
|
|
76
|
+
"resized",
|
|
77
|
+
"target-changed",
|
|
78
|
+
"duration-limit"
|
|
79
|
+
]);
|
|
80
|
+
const TerminalScope = Schema.Literals(["session", "page"]);
|
|
81
|
+
/** The planned action's tag, from the plan schema itself. */
|
|
82
|
+
const ActionKind = Schema.Literals(Struct.keys(Action.cases));
|
|
83
|
+
/** A failure records only its reason's tag, from the host reasons themselves. */
|
|
84
|
+
const FailureReason = Schema.Literals(Struct.keys(Reasons));
|
|
85
|
+
/** Every payload tag; an omission names the one it stands for when that tag was readable. */
|
|
86
|
+
const PayloadTag = Schema.Literals([
|
|
87
|
+
"Planned",
|
|
88
|
+
"Prepared",
|
|
89
|
+
"Dispatched",
|
|
90
|
+
"Acknowledged",
|
|
91
|
+
"FollowUp",
|
|
92
|
+
"Pointer",
|
|
93
|
+
"Press",
|
|
94
|
+
"Keys",
|
|
95
|
+
"Scroll",
|
|
96
|
+
"Glide",
|
|
97
|
+
"Navigated",
|
|
98
|
+
"CaptureBoundary",
|
|
99
|
+
"Capture",
|
|
100
|
+
"FirstFrame",
|
|
101
|
+
"Picture",
|
|
102
|
+
"Settled",
|
|
103
|
+
"Contained",
|
|
104
|
+
"Failed",
|
|
105
|
+
"Cancelled",
|
|
106
|
+
"Lifecycle",
|
|
107
|
+
"PageOpened",
|
|
108
|
+
"PageClosed",
|
|
109
|
+
"DisplayChanged",
|
|
110
|
+
"MetadataChanged",
|
|
111
|
+
"Terminal",
|
|
112
|
+
"MetadataOmitted"
|
|
113
|
+
]);
|
|
114
|
+
const Interval = Schema.Struct({
|
|
115
|
+
start: Stamp,
|
|
116
|
+
end: Stamp,
|
|
117
|
+
qualification: Schema.Literal("native-call-interval")
|
|
118
|
+
});
|
|
119
|
+
const IntervalJson = Schema.toCodecJson(Interval);
|
|
120
|
+
const makePayload = (address) => {
|
|
121
|
+
const operationId = Schema.optionalKey(Identifier);
|
|
122
|
+
const phase = {
|
|
123
|
+
operation: BrowserOperation,
|
|
124
|
+
operationId: Identifier,
|
|
125
|
+
late: Schema.Boolean,
|
|
126
|
+
nativeOrdinal: Schema.optionalKey(Counter),
|
|
127
|
+
mutation: Schema.optionalKey(Schema.Boolean)
|
|
128
|
+
};
|
|
129
|
+
/** A preparatory or burst acknowledgement; absent when the reply completed the logical input. */
|
|
130
|
+
const acknowledgement = Schema.Struct({
|
|
131
|
+
subphase: Schema.Literals([
|
|
132
|
+
"scroll-into-view",
|
|
133
|
+
"focus",
|
|
134
|
+
"key-burst",
|
|
135
|
+
"scroll-burst"
|
|
136
|
+
]),
|
|
137
|
+
logicalComplete: Schema.Boolean
|
|
138
|
+
});
|
|
139
|
+
return Schema.Union([
|
|
140
|
+
Schema.TaggedStruct("Planned", { action: ActionKind }),
|
|
141
|
+
Schema.TaggedStruct("Prepared", phase),
|
|
142
|
+
Schema.TaggedStruct("Dispatched", phase),
|
|
143
|
+
Schema.TaggedStruct("Acknowledged", {
|
|
144
|
+
...phase,
|
|
145
|
+
acknowledgement: Schema.optionalKey(acknowledgement)
|
|
146
|
+
}),
|
|
147
|
+
Schema.TaggedStruct("FollowUp", phase),
|
|
148
|
+
Schema.TaggedStruct("Pointer", {
|
|
149
|
+
kind: Schema.Literals(["pointer-move", "hover"]),
|
|
150
|
+
position: Schema.NullOr(Geometry),
|
|
151
|
+
interval: Interval,
|
|
152
|
+
operationId
|
|
153
|
+
}),
|
|
154
|
+
Schema.TaggedStruct("Press", {
|
|
155
|
+
position: Schema.NullOr(Geometry),
|
|
156
|
+
intended: Schema.optionalKey(Schema.Struct({
|
|
157
|
+
position: Geometry,
|
|
158
|
+
relativePosition: Geometry,
|
|
159
|
+
qualification: Schema.Literal("checked-exact-node-sample")
|
|
160
|
+
})),
|
|
161
|
+
interval: Interval,
|
|
162
|
+
operationId
|
|
163
|
+
}),
|
|
164
|
+
Schema.TaggedStruct("Keys", {
|
|
165
|
+
kind: Schema.Literals(["press", "type"]),
|
|
166
|
+
count: Counter,
|
|
167
|
+
countUnit: Schema.Literals(["unicode-codepoints", "logical-strokes"]),
|
|
168
|
+
interval: Interval,
|
|
169
|
+
operationId
|
|
170
|
+
}),
|
|
171
|
+
Schema.TaggedStruct("Scroll", {
|
|
172
|
+
kind: Schema.Literals(["wheel", "scroll"]),
|
|
173
|
+
delta: Schema.NullOr(Geometry),
|
|
174
|
+
interval: Interval,
|
|
175
|
+
operationId,
|
|
176
|
+
qualification: Schema.optionalKey(Schema.Literal("exact-node-scroll-into-view"))
|
|
177
|
+
}),
|
|
178
|
+
Schema.TaggedStruct("Glide", {
|
|
179
|
+
operationId,
|
|
180
|
+
schedule: Schema.Array(Schema.Struct({
|
|
181
|
+
at: Stamp,
|
|
182
|
+
position: Geometry
|
|
183
|
+
})).check(Schema.isMinLength(2), Schema.isMaxLength(128)),
|
|
184
|
+
qualification: Schema.Literal("intended-schedule")
|
|
185
|
+
}),
|
|
186
|
+
Schema.TaggedStruct("Navigated", {
|
|
187
|
+
sameDocument: Schema.Boolean,
|
|
188
|
+
...address
|
|
189
|
+
}),
|
|
190
|
+
Schema.TaggedStruct("CaptureBoundary", {
|
|
191
|
+
captureId: Identifier,
|
|
192
|
+
captureBoundary: Counter,
|
|
193
|
+
captureDocument: Counter,
|
|
194
|
+
sameDocument: Schema.Boolean,
|
|
195
|
+
afterSequence: Schema.NullOr(Counter),
|
|
196
|
+
observed: Stamp,
|
|
197
|
+
qualification: Schema.Literal("received-boundary-attribution"),
|
|
198
|
+
...address
|
|
199
|
+
}),
|
|
200
|
+
Schema.TaggedStruct("Capture", {
|
|
201
|
+
captureId: Identifier,
|
|
202
|
+
phase: Schema.Literals([
|
|
203
|
+
"Reserved",
|
|
204
|
+
"Watching",
|
|
205
|
+
"Started",
|
|
206
|
+
"Ended",
|
|
207
|
+
"Stopped"
|
|
208
|
+
]),
|
|
209
|
+
latePhase: Schema.Boolean,
|
|
210
|
+
observed: Stamp,
|
|
211
|
+
captureBoundary: Counter,
|
|
212
|
+
captureDocument: Counter,
|
|
213
|
+
qualification: CaptureQualification,
|
|
214
|
+
reason: Schema.NullOr(CaptureReason),
|
|
215
|
+
nativeStop: Schema.NullOr(Schema.Literals(["confirmed", "unconfirmed"])),
|
|
216
|
+
received: Counter,
|
|
217
|
+
delivered: Counter,
|
|
218
|
+
discarded: Counter,
|
|
219
|
+
overflow: Counter,
|
|
220
|
+
late: Counter,
|
|
221
|
+
duplicates: Counter,
|
|
222
|
+
rejected: Counter,
|
|
223
|
+
upstreamDrops: Schema.Literal("unknown")
|
|
224
|
+
}),
|
|
225
|
+
Schema.TaggedStruct("FirstFrame", {
|
|
226
|
+
captureId: Identifier,
|
|
227
|
+
frameSequence: Counter,
|
|
228
|
+
captureDocument: Counter,
|
|
229
|
+
captureBoundary: Counter,
|
|
230
|
+
sourceTimeMillis: Schema.Finite.check(Schema.isGreaterThan(0)),
|
|
231
|
+
sourceClock: Schema.Literal("presentation-unix-millis"),
|
|
232
|
+
received: Stamp,
|
|
233
|
+
width: Schema.Int.check(Schema.isBetween({
|
|
234
|
+
minimum: 1,
|
|
235
|
+
maximum: 16384
|
|
236
|
+
})),
|
|
237
|
+
height: Schema.Int.check(Schema.isBetween({
|
|
238
|
+
minimum: 1,
|
|
239
|
+
maximum: 16384
|
|
240
|
+
})),
|
|
241
|
+
viewportWidth: Schema.Int.check(Schema.isBetween({
|
|
242
|
+
minimum: 1,
|
|
243
|
+
maximum: 16384
|
|
244
|
+
})),
|
|
245
|
+
viewportHeight: Schema.Int.check(Schema.isBetween({
|
|
246
|
+
minimum: 1,
|
|
247
|
+
maximum: 16384
|
|
248
|
+
})),
|
|
249
|
+
qualification: Schema.Literal("received-boundary-attribution")
|
|
250
|
+
}),
|
|
251
|
+
Schema.TaggedStruct("Picture", {
|
|
252
|
+
mediaType: Schema.Literals(["image/png", "image/jpeg"]),
|
|
253
|
+
nativeRequest: Stamp,
|
|
254
|
+
nativeReturn: Stamp,
|
|
255
|
+
requestDocument: Schema.NullOr(Counter),
|
|
256
|
+
returnDocument: Schema.NullOr(Counter),
|
|
257
|
+
width: Schema.optionalKey(Schema.Int.check(Schema.isBetween({
|
|
258
|
+
minimum: 1,
|
|
259
|
+
maximum: 16384
|
|
260
|
+
}))),
|
|
261
|
+
height: Schema.optionalKey(Schema.Int.check(Schema.isBetween({
|
|
262
|
+
minimum: 1,
|
|
263
|
+
maximum: 16384
|
|
264
|
+
}))),
|
|
265
|
+
qualification: Schema.Literal("native-call-interval"),
|
|
266
|
+
operationId
|
|
267
|
+
}),
|
|
268
|
+
Schema.TaggedStruct("Settled", {
|
|
269
|
+
quietMillis: Schema.Finite.check(Schema.isGreaterThan(0)),
|
|
270
|
+
withinMillis: Schema.Finite.check(Schema.isGreaterThan(0)),
|
|
271
|
+
signals: Schema.Array(Schema.Literals([
|
|
272
|
+
"dom-mutation",
|
|
273
|
+
"scroll",
|
|
274
|
+
"root-geometry",
|
|
275
|
+
"viewport"
|
|
276
|
+
])).check(Schema.isMinLength(1), Schema.isMaxLength(4)),
|
|
277
|
+
operationId
|
|
278
|
+
}),
|
|
279
|
+
Schema.TaggedStruct("Contained", { containment: Containment }),
|
|
280
|
+
Schema.TaggedStruct("Failed", {
|
|
281
|
+
operation: BrowserOperation,
|
|
282
|
+
reason: FailureReason,
|
|
283
|
+
outcome: BrowserOutcome,
|
|
284
|
+
operationId
|
|
285
|
+
}),
|
|
286
|
+
Schema.TaggedStruct("Cancelled", {
|
|
287
|
+
outcome: BrowserOutcome,
|
|
288
|
+
operationId
|
|
289
|
+
}),
|
|
290
|
+
Schema.TaggedStruct("Lifecycle", { phase: Schema.Literals([
|
|
291
|
+
"acquiring",
|
|
292
|
+
"open",
|
|
293
|
+
"paused",
|
|
294
|
+
"detached",
|
|
295
|
+
"faulted",
|
|
296
|
+
"uncertain",
|
|
297
|
+
"closing",
|
|
298
|
+
"closed"
|
|
299
|
+
]) }),
|
|
300
|
+
Schema.TaggedStruct("PageOpened", {}),
|
|
301
|
+
Schema.TaggedStruct("PageClosed", {}),
|
|
302
|
+
Schema.TaggedStruct("DisplayChanged", {
|
|
303
|
+
selected: Schema.Boolean,
|
|
304
|
+
displayState: Schema.Literals([
|
|
305
|
+
"running",
|
|
306
|
+
"held",
|
|
307
|
+
"unknown"
|
|
308
|
+
])
|
|
309
|
+
}),
|
|
310
|
+
Schema.TaggedStruct("MetadataChanged", {}),
|
|
311
|
+
Schema.TaggedStruct("Terminal", {
|
|
312
|
+
scope: TerminalScope,
|
|
313
|
+
reason: TerminalReason
|
|
314
|
+
}),
|
|
315
|
+
Schema.TaggedStruct("MetadataOmitted", {
|
|
316
|
+
reason: Schema.Literals(["Malformed", "Oversized"]),
|
|
317
|
+
originalTag: Schema.NullOr(PayloadTag)
|
|
318
|
+
})
|
|
319
|
+
]);
|
|
320
|
+
};
|
|
321
|
+
/** Host metadata: addresses are qualified facts; text, descriptors, bytes and native objects stay absent. */
|
|
322
|
+
const Payload = makePayload({
|
|
323
|
+
url: Schema.NullOr(Schema.String.check(Schema.isMaxLength(8192))),
|
|
324
|
+
urlQualification: Schema.Literals([
|
|
325
|
+
"NativeCached",
|
|
326
|
+
"Unread",
|
|
327
|
+
"Omitted"
|
|
328
|
+
])
|
|
329
|
+
});
|
|
330
|
+
const PayloadJson = Schema.toCodecJson(Payload);
|
|
331
|
+
const ClientPayload = makePayload({});
|
|
332
|
+
const ClientPayloadJson = Schema.toCodecJson(ClientPayload);
|
|
333
|
+
const envelopeFields = {
|
|
334
|
+
version: Schema.Literal(1),
|
|
335
|
+
...StoreIdentity.fields,
|
|
336
|
+
target: Schema.NullOr(EvidenceTarget),
|
|
337
|
+
correlation: Schema.NullOr(Correlation)
|
|
338
|
+
};
|
|
339
|
+
const coherentClock = (value) => {
|
|
340
|
+
if (value.at.clockId !== value.clockId) return false;
|
|
341
|
+
const matches = (stamp) => stamp.clockId === value.clockId;
|
|
342
|
+
const event = value.event;
|
|
343
|
+
switch (event._tag) {
|
|
344
|
+
case "Pointer":
|
|
345
|
+
case "Press":
|
|
346
|
+
case "Keys":
|
|
347
|
+
case "Scroll": return matches(event.interval.start) && matches(event.interval.end) && event.interval.end.offsetNanos >= event.interval.start.offsetNanos;
|
|
348
|
+
case "Picture": return matches(event.nativeRequest) && matches(event.nativeReturn) && event.nativeReturn.offsetNanos >= event.nativeRequest.offsetNanos;
|
|
349
|
+
case "FirstFrame": return matches(event.received);
|
|
350
|
+
case "Capture":
|
|
351
|
+
case "CaptureBoundary": return matches(event.observed);
|
|
352
|
+
case "Glide": return event.schedule.every((sample, index) => matches(sample.at) && (index === 0 || sample.at.offsetNanos >= (event.schedule[index - 1]?.at.offsetNanos ?? 0n)));
|
|
353
|
+
case "Planned":
|
|
354
|
+
case "Prepared":
|
|
355
|
+
case "Dispatched":
|
|
356
|
+
case "Acknowledged":
|
|
357
|
+
case "FollowUp":
|
|
358
|
+
case "Navigated":
|
|
359
|
+
case "Settled":
|
|
360
|
+
case "Contained":
|
|
361
|
+
case "Failed":
|
|
362
|
+
case "Cancelled":
|
|
363
|
+
case "Lifecycle":
|
|
364
|
+
case "PageOpened":
|
|
365
|
+
case "PageClosed":
|
|
366
|
+
case "DisplayChanged":
|
|
367
|
+
case "MetadataChanged":
|
|
368
|
+
case "Terminal":
|
|
369
|
+
case "MetadataOmitted": return true;
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
const clockCheck = Schema.makeFilter(coherentClock, { title: "coherent clock domain and ordered native intervals" });
|
|
373
|
+
const Event = Schema.Struct({
|
|
374
|
+
...envelopeFields,
|
|
375
|
+
sequence: Sequence,
|
|
376
|
+
at: Stamp,
|
|
377
|
+
event: Payload
|
|
378
|
+
}).check(clockCheck);
|
|
379
|
+
const EventJson = Schema.toCodecJson(Event);
|
|
380
|
+
const ClientEvent = Schema.Struct({
|
|
381
|
+
...envelopeFields,
|
|
382
|
+
sequence: Sequence,
|
|
383
|
+
at: Stamp,
|
|
384
|
+
event: ClientPayload
|
|
385
|
+
}).check(clockCheck);
|
|
386
|
+
const ClientEventJson = Schema.toCodecJson(ClientEvent);
|
|
387
|
+
const Terminal = Schema.Struct({
|
|
388
|
+
cursor: Cursor,
|
|
389
|
+
at: Stamp,
|
|
390
|
+
scope: TerminalScope,
|
|
391
|
+
reason: TerminalReason
|
|
392
|
+
});
|
|
393
|
+
const TerminalJson = Schema.toCodecJson(Terminal);
|
|
394
|
+
const snapshotFields = {
|
|
395
|
+
evicted: Counter,
|
|
396
|
+
retainedBytes: Counter
|
|
397
|
+
};
|
|
398
|
+
const Snapshot = Schema.Struct({
|
|
399
|
+
...snapshotFields,
|
|
400
|
+
events: Schema.Array(Event).check(Schema.isMaxLength(65536)),
|
|
401
|
+
oldest: Schema.NullOr(Cursor),
|
|
402
|
+
newest: Schema.NullOr(Cursor),
|
|
403
|
+
resumeAfter: Cursor,
|
|
404
|
+
evictedThrough: Cursor,
|
|
405
|
+
terminal: Schema.NullOr(Terminal)
|
|
406
|
+
});
|
|
407
|
+
const SnapshotJson = Schema.toCodecJson(Snapshot);
|
|
408
|
+
const SnapshotOptions = Schema.Struct({ from: Schema.optionalKey(Selector) });
|
|
409
|
+
var TimelineGap = class extends Schema.TaggedError()("TimelineGap", {
|
|
410
|
+
requested: Selector,
|
|
411
|
+
oldest: Schema.NullOr(Cursor),
|
|
412
|
+
newest: Schema.NullOr(Cursor),
|
|
413
|
+
resumeAfter: Cursor,
|
|
414
|
+
evictedThrough: Cursor
|
|
415
|
+
}) {};
|
|
416
|
+
var TimelineCursorError = class extends Schema.TaggedError()("TimelineCursorError", {
|
|
417
|
+
reason: Schema.Literals([
|
|
418
|
+
"Store",
|
|
419
|
+
"Clock",
|
|
420
|
+
"Future"
|
|
421
|
+
]),
|
|
422
|
+
requested: Selector,
|
|
423
|
+
current: Cursor
|
|
424
|
+
}) {};
|
|
425
|
+
var TimelineLimit = class extends Schema.TaggedError()("TimelineLimit", {
|
|
426
|
+
maximum: Counter,
|
|
427
|
+
observed: Counter
|
|
428
|
+
}) {};
|
|
429
|
+
var TimelineMalformed = class extends Schema.TaggedError()("TimelineMalformed", { path: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(64))) }) {};
|
|
430
|
+
/** Cached host state from the canonical native registry; it grants no Page authority. */
|
|
431
|
+
const CachedPage = Schema.Struct({
|
|
432
|
+
identity: EvidenceTarget,
|
|
433
|
+
targetId: Schema.NullOr(Identifier),
|
|
434
|
+
url: Schema.NullOr(Schema.String.check(Schema.isMaxLength(8192))),
|
|
435
|
+
urlQualification: Schema.Literals([
|
|
436
|
+
"NativeCached",
|
|
437
|
+
"Unread",
|
|
438
|
+
"Omitted"
|
|
439
|
+
]),
|
|
440
|
+
title: Schema.NullOr(Schema.String.check(Schema.isMaxLength(512))),
|
|
441
|
+
titleQualification: Schema.Literals([
|
|
442
|
+
"ObservedCached",
|
|
443
|
+
"Unread",
|
|
444
|
+
"Omitted"
|
|
445
|
+
]),
|
|
446
|
+
selected: Schema.Boolean,
|
|
447
|
+
displayState: Schema.Literals([
|
|
448
|
+
"running",
|
|
449
|
+
"held",
|
|
450
|
+
"unknown"
|
|
451
|
+
]),
|
|
452
|
+
phase: Schema.Literals([
|
|
453
|
+
"open",
|
|
454
|
+
"paused",
|
|
455
|
+
"closing",
|
|
456
|
+
"closed",
|
|
457
|
+
"stale"
|
|
458
|
+
]),
|
|
459
|
+
containment: Containment
|
|
460
|
+
});
|
|
461
|
+
const PagesInventory = Schema.TaggedStruct("Inventory", {
|
|
462
|
+
pages: Schema.Array(CachedPage).check(Schema.isMaxLength(32)),
|
|
463
|
+
resumeAfter: Cursor
|
|
464
|
+
});
|
|
465
|
+
const PageEvent = Schema.Union([PagesInventory, Event]);
|
|
466
|
+
const ClientPage = Schema.Struct({
|
|
467
|
+
identity: EvidenceTarget,
|
|
468
|
+
selected: Schema.Boolean,
|
|
469
|
+
displayState: CachedPage.fields.displayState,
|
|
470
|
+
phase: CachedPage.fields.phase,
|
|
471
|
+
containment: Containment
|
|
472
|
+
});
|
|
473
|
+
const ClientPagesInventory = Schema.TaggedStruct("Inventory", {
|
|
474
|
+
pages: Schema.Array(ClientPage).check(Schema.isMaxLength(32)),
|
|
475
|
+
resumeAfter: Cursor
|
|
476
|
+
});
|
|
477
|
+
const ClientPageEvent = Schema.Union([ClientPagesInventory, ClientEvent]);
|
|
478
|
+
const ClientPageEventJson = Schema.toCodecJson(ClientPageEvent);
|
|
479
|
+
//#endregion
|
|
480
|
+
export { CachedPage, CaptureReason, ClientEvent, ClientEventJson, ClientPage, ClientPageEvent, ClientPageEventJson, ClientPagesInventory, ClientPayload, ClientPayloadJson, Correlation, Cursor, CursorJson, Event, EventJson, EvidenceTarget, Interval, IntervalJson, PageEvent, PagesInventory, Payload, PayloadJson, PayloadTag, Selector, SelectorJson, Snapshot, SnapshotJson, SnapshotOptions, Stamp, StampJson, StoreIdentity, Terminal, TerminalJson, TerminalReason, TimelineCursorError, TimelineDefaults, TimelineGap, TimelineLimit, TimelineMalformed, TimelineMaximums };
|
|
481
|
+
|
|
482
|
+
//# sourceMappingURL=TimelineData.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineData.mjs","names":[],"sources":["../src/TimelineData.ts"],"sourcesContent":["import { Schema, Struct } from \"effect\";\n\nimport { Identifier } from \"./BrowserData.ts\";\nimport { CaptureQualification } from \"./CaptureData.ts\";\nimport { BrowserOperation, BrowserOutcome, Containment, Reasons } from \"./Errors.ts\";\nimport { Action } from \"./PlanData.ts\";\n\n/** One journal identity on one captured host clock; neither is a native credential. */\nexport const StoreIdentity = Schema.Struct({ storeId: Identifier, clockId: Identifier });\nexport type StoreIdentity = typeof StoreIdentity.Type;\n\nexport interface Retention {\n readonly maxDurationMillis: number;\n readonly maxEvents: number;\n readonly maxBytes: number;\n readonly maxSubscribers: number;\n readonly maxEventBytes: number;\n}\n\nexport const TimelineDefaults: Retention = Object.freeze({\n maxDurationMillis: 60000,\n maxEvents: 4096,\n maxBytes: 4 * 1024 * 1024,\n maxSubscribers: 32,\n maxEventBytes: 64 * 1024,\n});\n\nexport const TimelineMaximums: Retention = Object.freeze({\n maxDurationMillis: 21600000,\n maxEvents: 65536,\n maxBytes: 64 * 1024 * 1024,\n maxSubscribers: 256,\n maxEventBytes: 1024 * 1024,\n});\n\nconst maximumInteger = (1n << 128n) - 1n;\n\nconst Sequence = Schema.BigInt.check(\n Schema.isGreaterThanOrEqualToBigInt(0n),\n Schema.isLessThanOrEqualToBigInt(maximumInteger),\n);\n\nconst Counter = Schema.Natural.check(Schema.isLessThanOrEqualTo(Number.MAX_SAFE_INTEGER));\nconst Geometry = Schema.Struct({ x: Schema.Finite, y: Schema.Finite });\n\n/*\n * Each `*Json` codec is derived from its schema: bigint sequences and offsets encode as decimal\n * strings and every other field as itself, so the wire format cannot drift from the types.\n */\n\nexport const Cursor = Schema.Struct({ ...StoreIdentity.fields, sequence: Sequence });\nexport type Cursor = typeof Cursor.Type;\nexport const CursorJson = Schema.toCodecJson(Cursor);\n\n/** An offset from this clock domain's origin, never a portable absolute monotonic instant. */\nexport const Stamp = Schema.Struct({ clockId: Identifier, offsetNanos: Sequence });\nexport type Stamp = typeof Stamp.Type;\nexport const StampJson = Schema.toCodecJson(Stamp);\n\nexport const Selector = Schema.Union([Cursor, Schema.Struct({ at: Stamp })]);\nexport type Selector = typeof Selector.Type;\nexport const SelectorJson = Schema.toCodecJson(Selector);\n\n/** Null frame/document fields disclose unavailable attribution instead of inventing it. */\nexport const EvidenceTarget = Schema.Struct({\n generation: Counter,\n pageId: Identifier,\n frameId: Schema.NullOr(Identifier),\n document: Schema.NullOr(Counter),\n});\n\nexport type EvidenceTarget = typeof EvidenceTarget.Type;\n\nexport const Correlation = Schema.Struct({\n runId: Identifier,\n stepId: Identifier,\n attemptId: Identifier,\n fieldIndex: Schema.optionalKey(Schema.Natural.check(Schema.isLessThanOrEqualTo(127))),\n});\n\nexport type Correlation = typeof Correlation.Type;\n\nexport const TerminalReason = Schema.Literals([\n \"closed\",\n \"detached\",\n \"disconnected\",\n \"faulted\",\n \"uncertain\",\n \"expired\",\n \"stale\",\n \"contained\",\n \"cancelled\",\n]);\n\nexport type TerminalReason = typeof TerminalReason.Type;\n\nexport const CaptureReason = Schema.Literals([\n \"stopped\",\n \"parent-unavailable\",\n \"malformed-frame\",\n \"frame-limit\",\n \"timestamp-discontinuity\",\n \"resized\",\n \"target-changed\",\n \"duration-limit\",\n]);\n\nexport type CaptureReason = typeof CaptureReason.Type;\nconst TerminalScope = Schema.Literals([\"session\", \"page\"]);\n\n/** The planned action's tag, from the plan schema itself. */\nconst ActionKind = Schema.Literals(Struct.keys(Action.cases));\n\n/** A failure records only its reason's tag, from the host reasons themselves. */\nconst FailureReason = Schema.Literals(Struct.keys(Reasons));\n\n/** Every payload tag; an omission names the one it stands for when that tag was readable. */\nexport const PayloadTag = Schema.Literals([\n \"Planned\",\n \"Prepared\",\n \"Dispatched\",\n \"Acknowledged\",\n \"FollowUp\",\n \"Pointer\",\n \"Press\",\n \"Keys\",\n \"Scroll\",\n \"Glide\",\n \"Navigated\",\n \"CaptureBoundary\",\n \"Capture\",\n \"FirstFrame\",\n \"Picture\",\n \"Settled\",\n \"Contained\",\n \"Failed\",\n \"Cancelled\",\n \"Lifecycle\",\n \"PageOpened\",\n \"PageClosed\",\n \"DisplayChanged\",\n \"MetadataChanged\",\n \"Terminal\",\n \"MetadataOmitted\",\n]);\n\nexport type PayloadTag = typeof PayloadTag.Type;\n\nexport const Interval = Schema.Struct({\n start: Stamp,\n end: Stamp,\n qualification: Schema.Literal(\"native-call-interval\"),\n});\n\nexport type Interval = typeof Interval.Type;\nexport const IntervalJson = Schema.toCodecJson(Interval);\n\nconst makePayload = <A extends Schema.Struct.Fields>(address: A) => {\n const operationId = Schema.optionalKey(Identifier);\n\n const phase = {\n operation: BrowserOperation,\n operationId: Identifier,\n late: Schema.Boolean,\n nativeOrdinal: Schema.optionalKey(Counter),\n mutation: Schema.optionalKey(Schema.Boolean),\n };\n\n /** A preparatory or burst acknowledgement; absent when the reply completed the logical input. */\n const acknowledgement = Schema.Struct({\n subphase: Schema.Literals([\"scroll-into-view\", \"focus\", \"key-burst\", \"scroll-burst\"]),\n logicalComplete: Schema.Boolean,\n });\n\n return Schema.Union([\n Schema.TaggedStruct(\"Planned\", { action: ActionKind }),\n Schema.TaggedStruct(\"Prepared\", phase),\n Schema.TaggedStruct(\"Dispatched\", phase),\n Schema.TaggedStruct(\"Acknowledged\", {\n ...phase,\n acknowledgement: Schema.optionalKey(acknowledgement),\n }),\n Schema.TaggedStruct(\"FollowUp\", phase),\n Schema.TaggedStruct(\"Pointer\", {\n kind: Schema.Literals([\"pointer-move\", \"hover\"]),\n position: Schema.NullOr(Geometry),\n interval: Interval,\n operationId,\n }),\n Schema.TaggedStruct(\"Press\", {\n position: Schema.NullOr(Geometry),\n intended: Schema.optionalKey(\n Schema.Struct({\n position: Geometry,\n relativePosition: Geometry,\n qualification: Schema.Literal(\"checked-exact-node-sample\"),\n }),\n ),\n interval: Interval,\n operationId,\n }),\n Schema.TaggedStruct(\"Keys\", {\n kind: Schema.Literals([\"press\", \"type\"]),\n count: Counter,\n countUnit: Schema.Literals([\"unicode-codepoints\", \"logical-strokes\"]),\n interval: Interval,\n operationId,\n }),\n Schema.TaggedStruct(\"Scroll\", {\n kind: Schema.Literals([\"wheel\", \"scroll\"]),\n delta: Schema.NullOr(Geometry),\n interval: Interval,\n operationId,\n qualification: Schema.optionalKey(Schema.Literal(\"exact-node-scroll-into-view\")),\n }),\n /** Reserved for an actual bounded intended schedule; individual pointer calls are Pointer. */\n Schema.TaggedStruct(\"Glide\", {\n operationId,\n schedule: Schema.Array(Schema.Struct({ at: Stamp, position: Geometry })).check(\n Schema.isMinLength(2),\n Schema.isMaxLength(128),\n ),\n qualification: Schema.Literal(\"intended-schedule\"),\n }),\n Schema.TaggedStruct(\"Navigated\", { sameDocument: Schema.Boolean, ...address }),\n Schema.TaggedStruct(\"CaptureBoundary\", {\n captureId: Identifier,\n captureBoundary: Counter,\n captureDocument: Counter,\n sameDocument: Schema.Boolean,\n afterSequence: Schema.NullOr(Counter),\n observed: Stamp,\n qualification: Schema.Literal(\"received-boundary-attribution\"),\n ...address,\n }),\n Schema.TaggedStruct(\"Capture\", {\n captureId: Identifier,\n phase: Schema.Literals([\"Reserved\", \"Watching\", \"Started\", \"Ended\", \"Stopped\"]),\n latePhase: Schema.Boolean,\n observed: Stamp,\n captureBoundary: Counter,\n captureDocument: Counter,\n qualification: CaptureQualification,\n reason: Schema.NullOr(CaptureReason),\n nativeStop: Schema.NullOr(Schema.Literals([\"confirmed\", \"unconfirmed\"])),\n received: Counter,\n delivered: Counter,\n discarded: Counter,\n overflow: Counter,\n late: Counter,\n duplicates: Counter,\n rejected: Counter,\n upstreamDrops: Schema.Literal(\"unknown\"),\n }),\n Schema.TaggedStruct(\"FirstFrame\", {\n captureId: Identifier,\n frameSequence: Counter,\n captureDocument: Counter,\n captureBoundary: Counter,\n sourceTimeMillis: Schema.Finite.check(Schema.isGreaterThan(0)),\n sourceClock: Schema.Literal(\"presentation-unix-millis\"),\n received: Stamp,\n width: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 16384 })),\n height: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 16384 })),\n viewportWidth: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 16384 })),\n viewportHeight: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 16384 })),\n qualification: Schema.Literal(\"received-boundary-attribution\"),\n }),\n Schema.TaggedStruct(\"Picture\", {\n mediaType: Schema.Literals([\"image/png\", \"image/jpeg\"]),\n nativeRequest: Stamp,\n nativeReturn: Stamp,\n requestDocument: Schema.NullOr(Counter),\n returnDocument: Schema.NullOr(Counter),\n width: Schema.optionalKey(Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 16384 }))),\n height: Schema.optionalKey(\n Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 16384 })),\n ),\n qualification: Schema.Literal(\"native-call-interval\"),\n operationId,\n }),\n Schema.TaggedStruct(\"Settled\", {\n quietMillis: Schema.Finite.check(Schema.isGreaterThan(0)),\n withinMillis: Schema.Finite.check(Schema.isGreaterThan(0)),\n signals: Schema.Array(\n Schema.Literals([\"dom-mutation\", \"scroll\", \"root-geometry\", \"viewport\"]),\n ).check(Schema.isMinLength(1), Schema.isMaxLength(4)),\n operationId,\n }),\n Schema.TaggedStruct(\"Contained\", { containment: Containment }),\n Schema.TaggedStruct(\"Failed\", {\n operation: BrowserOperation,\n reason: FailureReason,\n outcome: BrowserOutcome,\n operationId,\n }),\n Schema.TaggedStruct(\"Cancelled\", { outcome: BrowserOutcome, operationId }),\n Schema.TaggedStruct(\"Lifecycle\", {\n phase: Schema.Literals([\n \"acquiring\",\n \"open\",\n \"paused\",\n \"detached\",\n \"faulted\",\n \"uncertain\",\n \"closing\",\n \"closed\",\n ]),\n }),\n Schema.TaggedStruct(\"PageOpened\", {}),\n Schema.TaggedStruct(\"PageClosed\", {}),\n Schema.TaggedStruct(\"DisplayChanged\", {\n selected: Schema.Boolean,\n displayState: Schema.Literals([\"running\", \"held\", \"unknown\"]),\n }),\n Schema.TaggedStruct(\"MetadataChanged\", {}),\n Schema.TaggedStruct(\"Terminal\", { scope: TerminalScope, reason: TerminalReason }),\n Schema.TaggedStruct(\"MetadataOmitted\", {\n reason: Schema.Literals([\"Malformed\", \"Oversized\"]),\n originalTag: Schema.NullOr(PayloadTag),\n }),\n ]);\n};\n\nconst hostAddress = {\n url: Schema.NullOr(Schema.String.check(Schema.isMaxLength(8192))),\n urlQualification: Schema.Literals([\"NativeCached\", \"Unread\", \"Omitted\"]),\n};\n\n/** Host metadata: addresses are qualified facts; text, descriptors, bytes and native objects stay absent. */\nexport const Payload = makePayload(hostAddress);\nexport type Payload = typeof Payload.Type;\nexport const PayloadJson = Schema.toCodecJson(Payload);\nexport const ClientPayload = makePayload({});\nexport type ClientPayload = typeof ClientPayload.Type;\nexport const ClientPayloadJson = Schema.toCodecJson(ClientPayload);\n\nconst envelopeFields = {\n version: Schema.Literal(1),\n ...StoreIdentity.fields,\n target: Schema.NullOr(EvidenceTarget),\n correlation: Schema.NullOr(Correlation),\n};\n\nconst coherentClock = (value: {\n readonly clockId: string;\n readonly at: Stamp;\n readonly event: ClientPayload;\n}): boolean => {\n if (value.at.clockId !== value.clockId) return false;\n const matches = (stamp: Stamp) => stamp.clockId === value.clockId;\n const event = value.event;\n\n switch (event._tag) {\n case \"Pointer\":\n case \"Press\":\n case \"Keys\":\n case \"Scroll\":\n return (\n matches(event.interval.start) &&\n matches(event.interval.end) &&\n event.interval.end.offsetNanos >= event.interval.start.offsetNanos\n );\n case \"Picture\":\n return (\n matches(event.nativeRequest) &&\n matches(event.nativeReturn) &&\n event.nativeReturn.offsetNanos >= event.nativeRequest.offsetNanos\n );\n case \"FirstFrame\":\n return matches(event.received);\n case \"Capture\":\n case \"CaptureBoundary\":\n return matches(event.observed);\n case \"Glide\":\n return event.schedule.every(\n (sample, index) =>\n matches(sample.at) &&\n (index === 0 ||\n sample.at.offsetNanos >= (event.schedule[index - 1]?.at.offsetNanos ?? 0n)),\n );\n case \"Planned\":\n case \"Prepared\":\n case \"Dispatched\":\n case \"Acknowledged\":\n case \"FollowUp\":\n case \"Navigated\":\n case \"Settled\":\n case \"Contained\":\n case \"Failed\":\n case \"Cancelled\":\n case \"Lifecycle\":\n case \"PageOpened\":\n case \"PageClosed\":\n case \"DisplayChanged\":\n case \"MetadataChanged\":\n case \"Terminal\":\n case \"MetadataOmitted\":\n return true;\n }\n};\n\nconst clockCheck = Schema.makeFilter(coherentClock, {\n title: \"coherent clock domain and ordered native intervals\",\n});\n\nexport const Event = Schema.Struct({\n ...envelopeFields,\n sequence: Sequence,\n at: Stamp,\n event: Payload,\n}).check(clockCheck);\n\nexport type Event = typeof Event.Type;\n\nexport const EventJson = Schema.toCodecJson(Event);\n\nexport const ClientEvent = Schema.Struct({\n ...envelopeFields,\n sequence: Sequence,\n at: Stamp,\n event: ClientPayload,\n}).check(clockCheck);\n\nexport type ClientEvent = typeof ClientEvent.Type;\n\nexport const ClientEventJson = Schema.toCodecJson(ClientEvent);\n\nexport const Terminal = Schema.Struct({\n cursor: Cursor,\n at: Stamp,\n scope: TerminalScope,\n reason: TerminalReason,\n});\n\nexport type Terminal = typeof Terminal.Type;\n\nexport const TerminalJson = Schema.toCodecJson(Terminal);\n\nconst snapshotFields = { evicted: Counter, retainedBytes: Counter };\n\nexport const Snapshot = Schema.Struct({\n ...snapshotFields,\n events: Schema.Array(Event).check(Schema.isMaxLength(65536)),\n oldest: Schema.NullOr(Cursor),\n newest: Schema.NullOr(Cursor),\n resumeAfter: Cursor,\n evictedThrough: Cursor,\n terminal: Schema.NullOr(Terminal),\n});\n\nexport type Snapshot = typeof Snapshot.Type;\n\nexport const SnapshotJson = Schema.toCodecJson(Snapshot);\n\nexport const SnapshotOptions = Schema.Struct({ from: Schema.optionalKey(Selector) });\nexport type SnapshotOptions = typeof SnapshotOptions.Type;\n\nexport class TimelineGap extends Schema.TaggedError<TimelineGap>()(\"TimelineGap\", {\n requested: Selector,\n oldest: Schema.NullOr(Cursor),\n newest: Schema.NullOr(Cursor),\n resumeAfter: Cursor,\n evictedThrough: Cursor,\n}) {}\n\nexport class TimelineCursorError extends Schema.TaggedError<TimelineCursorError>()(\n \"TimelineCursorError\",\n {\n reason: Schema.Literals([\"Store\", \"Clock\", \"Future\"]),\n requested: Selector,\n current: Cursor,\n },\n) {}\n\nexport class TimelineLimit extends Schema.TaggedError<TimelineLimit>()(\"TimelineLimit\", {\n maximum: Counter,\n observed: Counter,\n}) {}\n\nexport class TimelineMalformed extends Schema.TaggedError<TimelineMalformed>()(\n \"TimelineMalformed\",\n {\n path: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(64))),\n },\n) {}\n\nexport type TimelineError = TimelineGap | TimelineCursorError | TimelineLimit | TimelineMalformed;\n\n/** Cached host state from the canonical native registry; it grants no Page authority. */\nexport const CachedPage = Schema.Struct({\n identity: EvidenceTarget,\n targetId: Schema.NullOr(Identifier),\n url: Schema.NullOr(Schema.String.check(Schema.isMaxLength(8192))),\n urlQualification: Schema.Literals([\"NativeCached\", \"Unread\", \"Omitted\"]),\n title: Schema.NullOr(Schema.String.check(Schema.isMaxLength(512))),\n titleQualification: Schema.Literals([\"ObservedCached\", \"Unread\", \"Omitted\"]),\n selected: Schema.Boolean,\n displayState: Schema.Literals([\"running\", \"held\", \"unknown\"]),\n phase: Schema.Literals([\"open\", \"paused\", \"closing\", \"closed\", \"stale\"]),\n containment: Containment,\n});\n\nexport type CachedPage = typeof CachedPage.Type;\n\nexport const PagesInventory = Schema.TaggedStruct(\"Inventory\", {\n pages: Schema.Array(CachedPage).check(Schema.isMaxLength(32)),\n resumeAfter: Cursor,\n});\n\nexport type PagesInventory = typeof PagesInventory.Type;\nexport const PageEvent = Schema.Union([PagesInventory, Event]);\nexport type PageEvent = typeof PageEvent.Type;\n\nexport const ClientPage = Schema.Struct({\n identity: EvidenceTarget,\n selected: Schema.Boolean,\n displayState: CachedPage.fields.displayState,\n phase: CachedPage.fields.phase,\n containment: Containment,\n});\n\nexport type ClientPage = typeof ClientPage.Type;\n\nexport const ClientPagesInventory = Schema.TaggedStruct(\"Inventory\", {\n pages: Schema.Array(ClientPage).check(Schema.isMaxLength(32)),\n resumeAfter: Cursor,\n});\n\nexport type ClientPagesInventory = typeof ClientPagesInventory.Type;\nexport const ClientPageEvent = Schema.Union([ClientPagesInventory, ClientEvent]);\nexport type ClientPageEvent = typeof ClientPageEvent.Type;\n\nexport const ClientPageEventJson = Schema.toCodecJson(ClientPageEvent);\n"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -6,5 +6,9 @@ import * as Capture from "./Capture.mjs";
|
|
|
6
6
|
import * as CaptureData from "./CaptureData.mjs";
|
|
7
7
|
import * as Errors from "./Errors.mjs";
|
|
8
8
|
import * as PageControl from "./PageControl.mjs";
|
|
9
|
-
|
|
9
|
+
import * as Plan from "./Plan.mjs";
|
|
10
|
+
import * as PlanData from "./PlanData.mjs";
|
|
11
|
+
import * as Timeline from "./Timeline.mjs";
|
|
12
|
+
import * as TimelineData from "./TimelineData.mjs";
|
|
13
|
+
export { Bootstrap, Browser, BrowserData, BrowserRuntime, Capture, CaptureData, Errors, PageControl, Plan, PlanData, Timeline, TimelineData };
|
|
10
14
|
export {};
|
package/dist/index.mjs
CHANGED
|
@@ -6,4 +6,8 @@ import * as Capture from "./Capture.mjs";
|
|
|
6
6
|
import * as CaptureData from "./CaptureData.mjs";
|
|
7
7
|
import * as Errors from "./Errors.mjs";
|
|
8
8
|
import * as PageControl from "./PageControl.mjs";
|
|
9
|
-
|
|
9
|
+
import * as Plan from "./Plan.mjs";
|
|
10
|
+
import * as PlanData from "./PlanData.mjs";
|
|
11
|
+
import * as Timeline from "./Timeline.mjs";
|
|
12
|
+
import * as TimelineData from "./TimelineData.mjs";
|
|
13
|
+
export { Bootstrap, Browser, BrowserData, BrowserRuntime, Capture, CaptureData, Errors, PageControl, Plan, PlanData, Timeline, TimelineData };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-browser",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.9",
|
|
4
4
|
"description": "Shared Effect browser sessions, modeled control and capture with an isolated Chromium launcher.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"node": "^22.18.0 || >=24.11.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"effect": "
|
|
17
|
+
"effect": "4.0.0-rc.117",
|
|
18
18
|
"playwright-core": "1.63.0"
|
|
19
19
|
},
|
|
20
20
|
"peerDependenciesMeta": {
|
|
@@ -70,9 +70,25 @@
|
|
|
70
70
|
"types": "./dist/PageControl.d.mts",
|
|
71
71
|
"default": "./dist/PageControl.mjs"
|
|
72
72
|
},
|
|
73
|
+
"./plan": {
|
|
74
|
+
"types": "./dist/Plan.d.mts",
|
|
75
|
+
"default": "./dist/Plan.mjs"
|
|
76
|
+
},
|
|
77
|
+
"./plan-data": {
|
|
78
|
+
"types": "./dist/PlanData.d.mts",
|
|
79
|
+
"default": "./dist/PlanData.mjs"
|
|
80
|
+
},
|
|
73
81
|
"./testing": {
|
|
74
82
|
"types": "./dist/Testing.d.mts",
|
|
75
83
|
"default": "./dist/Testing.mjs"
|
|
84
|
+
},
|
|
85
|
+
"./timeline": {
|
|
86
|
+
"types": "./dist/Timeline.d.mts",
|
|
87
|
+
"default": "./dist/Timeline.mjs"
|
|
88
|
+
},
|
|
89
|
+
"./timeline-data": {
|
|
90
|
+
"types": "./dist/TimelineData.d.mts",
|
|
91
|
+
"default": "./dist/TimelineData.mjs"
|
|
76
92
|
}
|
|
77
93
|
},
|
|
78
94
|
"publishConfig": {
|