@qontinui/shared-types 2.4.1 → 3.0.0
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/dist/scheduler.d.cts +81 -0
- package/dist/scheduler.d.ts +81 -0
- package/package.json +1 -1
- package/src/generated/ChangeTimeline.d.ts +484 -0
- package/src/generated/CriterionVerification.d.ts +11 -0
- package/src/generated/DetectedAnimation.d.ts +32 -0
- package/src/generated/EarsPattern.d.ts +20 -0
- package/src/generated/EdgeTiming.d.ts +156 -0
- package/src/generated/ExecutePlaybookStep.d.ts +5 -4
- package/src/generated/ExternalRef.d.ts +22 -0
- package/src/generated/InterfaceMappingFrontmatter.d.ts +21 -0
- package/src/generated/JourneyArrivalDoubt.d.ts +26 -0
- package/src/generated/JourneyCoverage.d.ts +91 -0
- package/src/generated/JourneyDeadEnds.d.ts +109 -0
- package/src/generated/JourneyEdgeObservation.d.ts +3 -2
- package/src/generated/JourneyEdgeTimingAnswer.d.ts +88 -0
- package/src/generated/JourneyFilter.d.ts +35 -0
- package/src/generated/JourneyFrontier.d.ts +51 -0
- package/src/generated/JourneyGraph.d.ts +165 -0
- package/src/generated/JourneyGraphEdge.d.ts +45 -0
- package/src/generated/JourneyPriorKnowledge.d.ts +112 -0
- package/src/generated/JourneyReachable.d.ts +64 -0
- package/src/generated/JourneySearchFrontier.d.ts +59 -0
- package/src/generated/JourneySearchFrontierNode.d.ts +37 -0
- package/src/generated/JourneySteps.d.ts +65 -0
- package/src/generated/JourneyUnmeasuredDepartures.d.ts +84 -0
- package/src/generated/ManagedBy.d.ts +45 -0
- package/src/generated/MappingRow.d.ts +23 -0
- package/src/generated/MetricDistribution.d.ts +54 -0
- package/src/generated/RecurringAgentDispatchRole.d.ts +11 -0
- package/src/generated/RecurringAgentExcludedValue.d.ts +20 -0
- package/src/generated/RecurringAgentOs.d.ts +11 -0
- package/src/generated/RecurringAgentOverride.d.ts +48 -0
- package/src/generated/RecurringAgentParamDef.d.ts +100 -0
- package/src/generated/RecurringAgentParamKind.d.ts +89 -0
- package/src/generated/RecurringAgentParamSchema.d.ts +16 -0
- package/src/generated/RecurringAgentSpec.d.ts +91 -0
- package/src/generated/RecurringAgentState.d.ts +13 -0
- package/src/generated/RecurringAgentStatus.d.ts +79 -0
- package/src/generated/RecurringAgentStatusReport.d.ts +48 -0
- package/src/generated/RecurringAgentTarget.d.ts +78 -0
- package/src/generated/RequestFrontmatter.d.ts +30 -0
- package/src/generated/RequirementFrontmatter.d.ts +31 -0
- package/src/generated/ScheduledTask.d.ts +15 -0
- package/src/generated/ScheduledTaskType.d.ts +21 -0
- package/src/generated/SourceCitation.d.ts +25 -0
- package/src/generated/SourceCitationKind.d.ts +12 -0
- package/src/generated/SpecAcceptanceCriterion.d.ts +28 -0
- package/src/generated/SpecFrontmatter.d.ts +36 -0
- package/src/generated/SpecLanguage.d.ts +11 -0
- package/src/generated/StoryFrontmatter.d.ts +26 -0
- package/src/generated/TemplateRef.d.ts +17 -0
- package/src/generated/UnknownCode.d.ts +8 -1
- package/src/generated/index.ts +45 -3
- package/src/generated/CapabilityState.d.ts +0 -25
- package/src/generated/CliProfile.d.ts +0 -492
- package/src/generated/SessionFailure.d.ts +0 -129
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Regenerate with
|
|
5
|
+
* `qontinui-runner/src-tauri/scripts/generate_types.sh`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { CacheProvenance } from "./CacheProvenance";
|
|
9
|
+
import type { DetectedAnimation } from "./DetectedAnimation";
|
|
10
|
+
import type { Observation } from "./Observation";
|
|
11
|
+
import type { ObservationCoverage } from "./ObservationCoverage";
|
|
12
|
+
import type { Producer } from "./Producer";
|
|
13
|
+
import type { Provenance } from "./Provenance";
|
|
14
|
+
import type { UnknownCode } from "./UnknownCode";
|
|
15
|
+
import type { UnknownInfo } from "./UnknownInfo";
|
|
16
|
+
import type { UnmeasuredDimension } from "./UnmeasuredDimension";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A single event in the interaction timeline, discriminated on `type`.
|
|
20
|
+
*/
|
|
21
|
+
export type TimelineEvent =
|
|
22
|
+
| {
|
|
23
|
+
/**
|
|
24
|
+
* Time offset from action start (ms).
|
|
25
|
+
*/
|
|
26
|
+
offsetMs: number;
|
|
27
|
+
/**
|
|
28
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
29
|
+
*/
|
|
30
|
+
summary: string;
|
|
31
|
+
type: "action";
|
|
32
|
+
[k: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
| {
|
|
35
|
+
/**
|
|
36
|
+
* Number of elements affected.
|
|
37
|
+
*/
|
|
38
|
+
count: number;
|
|
39
|
+
/**
|
|
40
|
+
* Element IDs involved.
|
|
41
|
+
*/
|
|
42
|
+
elementIds: string[];
|
|
43
|
+
/**
|
|
44
|
+
* Time offset from action start (ms).
|
|
45
|
+
*/
|
|
46
|
+
offsetMs: number;
|
|
47
|
+
/**
|
|
48
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
49
|
+
*/
|
|
50
|
+
summary: string;
|
|
51
|
+
type: "elements-appeared";
|
|
52
|
+
[k: string]: unknown;
|
|
53
|
+
}
|
|
54
|
+
| {
|
|
55
|
+
/**
|
|
56
|
+
* Number of elements affected.
|
|
57
|
+
*/
|
|
58
|
+
count: number;
|
|
59
|
+
/**
|
|
60
|
+
* Element IDs involved.
|
|
61
|
+
*/
|
|
62
|
+
elementIds: string[];
|
|
63
|
+
/**
|
|
64
|
+
* Time offset from action start (ms).
|
|
65
|
+
*/
|
|
66
|
+
offsetMs: number;
|
|
67
|
+
/**
|
|
68
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
69
|
+
*/
|
|
70
|
+
summary: string;
|
|
71
|
+
type: "elements-disappeared";
|
|
72
|
+
[k: string]: unknown;
|
|
73
|
+
}
|
|
74
|
+
| {
|
|
75
|
+
/**
|
|
76
|
+
* Number of elements affected.
|
|
77
|
+
*/
|
|
78
|
+
count: number;
|
|
79
|
+
/**
|
|
80
|
+
* Element IDs involved.
|
|
81
|
+
*/
|
|
82
|
+
elementIds: string[];
|
|
83
|
+
/**
|
|
84
|
+
* Time offset from action start (ms).
|
|
85
|
+
*/
|
|
86
|
+
offsetMs: number;
|
|
87
|
+
/**
|
|
88
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
89
|
+
*/
|
|
90
|
+
summary: string;
|
|
91
|
+
type: "elements-modified";
|
|
92
|
+
[k: string]: unknown;
|
|
93
|
+
}
|
|
94
|
+
| {
|
|
95
|
+
/**
|
|
96
|
+
* Time offset from action start (ms).
|
|
97
|
+
*/
|
|
98
|
+
offsetMs: number;
|
|
99
|
+
/**
|
|
100
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
101
|
+
*/
|
|
102
|
+
summary: string;
|
|
103
|
+
type: "page-changed";
|
|
104
|
+
/**
|
|
105
|
+
* The new URL, or `null` when the diff did not carry one.
|
|
106
|
+
*/
|
|
107
|
+
url?: string | null;
|
|
108
|
+
[k: string]: unknown;
|
|
109
|
+
}
|
|
110
|
+
| {
|
|
111
|
+
/**
|
|
112
|
+
* Time offset from action start (ms).
|
|
113
|
+
*/
|
|
114
|
+
offsetMs: number;
|
|
115
|
+
/**
|
|
116
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
117
|
+
*/
|
|
118
|
+
summary: string;
|
|
119
|
+
type: "settled";
|
|
120
|
+
[k: string]: unknown;
|
|
121
|
+
}
|
|
122
|
+
| {
|
|
123
|
+
/**
|
|
124
|
+
* The browser's `hadRecentInput` flag for this shift.
|
|
125
|
+
*/
|
|
126
|
+
hadRecentInput: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Time offset from action start (ms).
|
|
129
|
+
*/
|
|
130
|
+
offsetMs: number;
|
|
131
|
+
/**
|
|
132
|
+
* How many shifted elements `shiftedFingerprints` named. NOT sent by
|
|
133
|
+
* the SDK: [`ChangeTimeline::for_ledger`] sets it when it empties
|
|
134
|
+
* `shiftedFingerprints`, so a stored timeline keeps the count and
|
|
135
|
+
* not the hashes. Absent on the wire from the SDK.
|
|
136
|
+
*/
|
|
137
|
+
shiftedElementCount?: number | null;
|
|
138
|
+
/**
|
|
139
|
+
* `ElementFingerprintData.hash` of each shifted element still in the
|
|
140
|
+
* document.
|
|
141
|
+
*/
|
|
142
|
+
shiftedFingerprints: string[];
|
|
143
|
+
/**
|
|
144
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
145
|
+
*/
|
|
146
|
+
summary: string;
|
|
147
|
+
type: "layout-shift";
|
|
148
|
+
/**
|
|
149
|
+
* Shift sources whose node was gone (or not an element) when the
|
|
150
|
+
* entry was read.
|
|
151
|
+
*/
|
|
152
|
+
unattributedSourceCount: number;
|
|
153
|
+
/**
|
|
154
|
+
* The shift score (Layout Instability API `value`).
|
|
155
|
+
*/
|
|
156
|
+
value: number;
|
|
157
|
+
[k: string]: unknown;
|
|
158
|
+
}
|
|
159
|
+
| {
|
|
160
|
+
/**
|
|
161
|
+
* The animation.
|
|
162
|
+
*/
|
|
163
|
+
animation: DetectedAnimation;
|
|
164
|
+
/**
|
|
165
|
+
* Time offset from action start (ms).
|
|
166
|
+
*/
|
|
167
|
+
offsetMs: number;
|
|
168
|
+
/**
|
|
169
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
170
|
+
*/
|
|
171
|
+
summary: string;
|
|
172
|
+
type: "animation-started";
|
|
173
|
+
[k: string]: unknown;
|
|
174
|
+
}
|
|
175
|
+
| {
|
|
176
|
+
/**
|
|
177
|
+
* The animation.
|
|
178
|
+
*/
|
|
179
|
+
animation: DetectedAnimation;
|
|
180
|
+
/**
|
|
181
|
+
* Finished or cancelled.
|
|
182
|
+
*/
|
|
183
|
+
endReason: "finished" | "cancelled";
|
|
184
|
+
/**
|
|
185
|
+
* Time offset from action start (ms).
|
|
186
|
+
*/
|
|
187
|
+
offsetMs: number;
|
|
188
|
+
/**
|
|
189
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
190
|
+
*/
|
|
191
|
+
summary: string;
|
|
192
|
+
type: "animation-ended";
|
|
193
|
+
[k: string]: unknown;
|
|
194
|
+
}
|
|
195
|
+
| {
|
|
196
|
+
/**
|
|
197
|
+
* Task duration (ms).
|
|
198
|
+
*/
|
|
199
|
+
durationMs: number;
|
|
200
|
+
/**
|
|
201
|
+
* Time offset from action start (ms).
|
|
202
|
+
*/
|
|
203
|
+
offsetMs: number;
|
|
204
|
+
/**
|
|
205
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
206
|
+
*/
|
|
207
|
+
summary: string;
|
|
208
|
+
type: "long-task";
|
|
209
|
+
[k: string]: unknown;
|
|
210
|
+
}
|
|
211
|
+
| {
|
|
212
|
+
/**
|
|
213
|
+
* The request URL carried a query string (not reported).
|
|
214
|
+
*/
|
|
215
|
+
hasQuery: boolean;
|
|
216
|
+
/**
|
|
217
|
+
* HTTP method.
|
|
218
|
+
*/
|
|
219
|
+
method: string;
|
|
220
|
+
/**
|
|
221
|
+
* Time offset from action start (ms).
|
|
222
|
+
*/
|
|
223
|
+
offsetMs: number;
|
|
224
|
+
/**
|
|
225
|
+
* The tracker's request id, or `null` when the source supplies none.
|
|
226
|
+
*/
|
|
227
|
+
requestId?: string | null;
|
|
228
|
+
/**
|
|
229
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
230
|
+
*/
|
|
231
|
+
summary: string;
|
|
232
|
+
type: "network-request-started";
|
|
233
|
+
/**
|
|
234
|
+
* Origin + pathname — never the query or fragment. Always a string
|
|
235
|
+
* from the SDK; `null` only in [`ChangeTimeline::for_ledger`]'s
|
|
236
|
+
* projection, when the URL had no valid `scheme://host` origin.
|
|
237
|
+
*/
|
|
238
|
+
url?: string | null;
|
|
239
|
+
[k: string]: unknown;
|
|
240
|
+
}
|
|
241
|
+
| {
|
|
242
|
+
/**
|
|
243
|
+
* Request duration as the tracker measured it, or `null` without a
|
|
244
|
+
* response.
|
|
245
|
+
*/
|
|
246
|
+
durationMs?: number | null;
|
|
247
|
+
/**
|
|
248
|
+
* The request threw (no HTTP response). An HTTP error status is NOT
|
|
249
|
+
* `errored` — read `statusCode`.
|
|
250
|
+
*/
|
|
251
|
+
errored: boolean;
|
|
252
|
+
/**
|
|
253
|
+
* The request URL carried a query string (not reported).
|
|
254
|
+
*/
|
|
255
|
+
hasQuery: boolean;
|
|
256
|
+
/**
|
|
257
|
+
* HTTP method.
|
|
258
|
+
*/
|
|
259
|
+
method: string;
|
|
260
|
+
/**
|
|
261
|
+
* Time offset from action start (ms).
|
|
262
|
+
*/
|
|
263
|
+
offsetMs: number;
|
|
264
|
+
/**
|
|
265
|
+
* The tracker's request id, or `null` when the source supplies none.
|
|
266
|
+
*/
|
|
267
|
+
requestId?: string | null;
|
|
268
|
+
/**
|
|
269
|
+
* HTTP status, or `null` when no response arrived.
|
|
270
|
+
*/
|
|
271
|
+
statusCode?: number | null;
|
|
272
|
+
/**
|
|
273
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
274
|
+
*/
|
|
275
|
+
summary: string;
|
|
276
|
+
type: "network-request-finished";
|
|
277
|
+
/**
|
|
278
|
+
* Origin + pathname — never the query or fragment. Always a string
|
|
279
|
+
* from the SDK; `null` only in [`ChangeTimeline::for_ledger`]'s
|
|
280
|
+
* projection, when the URL had no valid `scheme://host` origin.
|
|
281
|
+
*/
|
|
282
|
+
url?: string | null;
|
|
283
|
+
[k: string]: unknown;
|
|
284
|
+
}
|
|
285
|
+
| {
|
|
286
|
+
/**
|
|
287
|
+
* Time offset from action start (ms).
|
|
288
|
+
*/
|
|
289
|
+
offsetMs: number;
|
|
290
|
+
/**
|
|
291
|
+
* The declared state id.
|
|
292
|
+
*/
|
|
293
|
+
stateId: string;
|
|
294
|
+
/**
|
|
295
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
296
|
+
*/
|
|
297
|
+
summary: string;
|
|
298
|
+
type: "state-entered";
|
|
299
|
+
[k: string]: unknown;
|
|
300
|
+
}
|
|
301
|
+
| {
|
|
302
|
+
/**
|
|
303
|
+
* Time offset from action start (ms).
|
|
304
|
+
*/
|
|
305
|
+
offsetMs: number;
|
|
306
|
+
/**
|
|
307
|
+
* The declared state id.
|
|
308
|
+
*/
|
|
309
|
+
stateId: string;
|
|
310
|
+
/**
|
|
311
|
+
* Human-readable summary (SDK prose — see the module's PRIVACY note).
|
|
312
|
+
*/
|
|
313
|
+
summary: string;
|
|
314
|
+
type: "state-exited";
|
|
315
|
+
[k: string]: unknown;
|
|
316
|
+
};
|
|
317
|
+
/**
|
|
318
|
+
* A source of timeline events. A source NOT listed in
|
|
319
|
+
* [`ChangeTimeline::observed_sources`] was not looked at, so the absence of
|
|
320
|
+
* its events means "unknown", never "none".
|
|
321
|
+
*/
|
|
322
|
+
export type TimelineSource =
|
|
323
|
+
| "snapshot-poll"
|
|
324
|
+
| "idle-detector"
|
|
325
|
+
| "layout-shift"
|
|
326
|
+
| "long-task"
|
|
327
|
+
| "animation-events"
|
|
328
|
+
| "get-animations"
|
|
329
|
+
| "network"
|
|
330
|
+
| "states";
|
|
331
|
+
/**
|
|
332
|
+
* How an expected state fared inside the caller's `withinMs` window. Exactly
|
|
333
|
+
* one key on the wire.
|
|
334
|
+
*/
|
|
335
|
+
export type ExpectedStateOutcome =
|
|
336
|
+
| {
|
|
337
|
+
enteredAtMs: number;
|
|
338
|
+
}
|
|
339
|
+
| {
|
|
340
|
+
notEnteredWithinMs: number;
|
|
341
|
+
}
|
|
342
|
+
| {
|
|
343
|
+
activeThroughoutWithinMs: number;
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* The interaction timeline: action → every observed event → settled, each
|
|
348
|
+
* with its offset from the action, plus a derived [`TimelineSummary`].
|
|
349
|
+
*/
|
|
350
|
+
export interface ChangeTimeline {
|
|
351
|
+
/**
|
|
352
|
+
* Timestamped events, ordered by `offsetMs` (ties keep arrival order).
|
|
353
|
+
*/
|
|
354
|
+
events: TimelineEvent[];
|
|
355
|
+
/**
|
|
356
|
+
* The sources this recording could observe.
|
|
357
|
+
*/
|
|
358
|
+
observedSources: TimelineSource[];
|
|
359
|
+
/**
|
|
360
|
+
* How long the timeline was recorded, from action start (ms): the settle
|
|
361
|
+
* window, extended by any `withinMs` window. Not the settle time.
|
|
362
|
+
*/
|
|
363
|
+
recordedMs: number;
|
|
364
|
+
/**
|
|
365
|
+
* Whether the UI reached a stable state within `settleTimeout`.
|
|
366
|
+
*/
|
|
367
|
+
settled: boolean;
|
|
368
|
+
summary: TimelineSummary;
|
|
369
|
+
[k: string]: unknown;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Values derived from `events`.
|
|
373
|
+
*/
|
|
374
|
+
export interface TimelineSummary {
|
|
375
|
+
/**
|
|
376
|
+
* Animations/transitions running when recording ended. Degraded
|
|
377
|
+
* (`coverage.unmeasured`) where `document.getAnimations` is missing.
|
|
378
|
+
*/
|
|
379
|
+
animationsUnsettledAtEnd:
|
|
380
|
+
| {
|
|
381
|
+
provenance: Provenance;
|
|
382
|
+
status: "measured";
|
|
383
|
+
value: DetectedAnimation[];
|
|
384
|
+
[k: string]: unknown;
|
|
385
|
+
}
|
|
386
|
+
| {
|
|
387
|
+
provenance: Provenance;
|
|
388
|
+
status: "absent";
|
|
389
|
+
[k: string]: unknown;
|
|
390
|
+
}
|
|
391
|
+
| {
|
|
392
|
+
provenance: Provenance;
|
|
393
|
+
status: "unknown";
|
|
394
|
+
unknown: UnknownInfo;
|
|
395
|
+
[k: string]: unknown;
|
|
396
|
+
};
|
|
397
|
+
/**
|
|
398
|
+
* One entry per requested `expectStates` id, in request order; `[]` when
|
|
399
|
+
* none were requested.
|
|
400
|
+
*/
|
|
401
|
+
expectedStates: ExpectedStateResult[];
|
|
402
|
+
/**
|
|
403
|
+
* Offset of the first RESPONSE event (elements-*, page-changed,
|
|
404
|
+
* layout-shift, animation-*, state-*). `unknown{no_event_before_timeout}`
|
|
405
|
+
* when nothing responded in the window.
|
|
406
|
+
*/
|
|
407
|
+
firstResponseMs: Observation;
|
|
408
|
+
/**
|
|
409
|
+
* Offset of the LAST layout shift minus `firstResponseMs`. `absent` when
|
|
410
|
+
* no shift occurred.
|
|
411
|
+
*/
|
|
412
|
+
layoutShiftAfterFirstResponseMs: Observation;
|
|
413
|
+
/**
|
|
414
|
+
* Number of `layout-shift` events. Same unknown rule.
|
|
415
|
+
*/
|
|
416
|
+
layoutShiftCount:
|
|
417
|
+
| {
|
|
418
|
+
provenance: Provenance;
|
|
419
|
+
status: "measured";
|
|
420
|
+
value: number;
|
|
421
|
+
[k: string]: unknown;
|
|
422
|
+
}
|
|
423
|
+
| {
|
|
424
|
+
provenance: Provenance;
|
|
425
|
+
status: "absent";
|
|
426
|
+
[k: string]: unknown;
|
|
427
|
+
}
|
|
428
|
+
| {
|
|
429
|
+
provenance: Provenance;
|
|
430
|
+
status: "unknown";
|
|
431
|
+
unknown: UnknownInfo;
|
|
432
|
+
[k: string]: unknown;
|
|
433
|
+
};
|
|
434
|
+
/**
|
|
435
|
+
* Sum of `layout-shift` values in the window.
|
|
436
|
+
* `unknown{performance_observer_unsupported}` where the entry type is
|
|
437
|
+
* missing.
|
|
438
|
+
*/
|
|
439
|
+
layoutShiftTotal: Observation;
|
|
440
|
+
/**
|
|
441
|
+
* Sum of `long-task` durations (ms).
|
|
442
|
+
* `unknown{performance_observer_unsupported}` where `longtask` is
|
|
443
|
+
* missing.
|
|
444
|
+
*/
|
|
445
|
+
longTaskTotalMs: Observation;
|
|
446
|
+
/**
|
|
447
|
+
* Offset of the `settled` event. `unknown{no_event_before_timeout}` when
|
|
448
|
+
* the UI did not settle within `settleTimeout`.
|
|
449
|
+
*/
|
|
450
|
+
settleMs: Observation;
|
|
451
|
+
[k: string]: unknown;
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* One `expectStates` entry and its answer.
|
|
455
|
+
*/
|
|
456
|
+
export interface ExpectedStateResult {
|
|
457
|
+
/**
|
|
458
|
+
* The answer — `unknown{input_missing}` for an undeclared state or no
|
|
459
|
+
* state registry.
|
|
460
|
+
*/
|
|
461
|
+
outcome:
|
|
462
|
+
| {
|
|
463
|
+
provenance: Provenance;
|
|
464
|
+
status: "measured";
|
|
465
|
+
value: ExpectedStateOutcome;
|
|
466
|
+
[k: string]: unknown;
|
|
467
|
+
}
|
|
468
|
+
| {
|
|
469
|
+
provenance: Provenance;
|
|
470
|
+
status: "absent";
|
|
471
|
+
[k: string]: unknown;
|
|
472
|
+
}
|
|
473
|
+
| {
|
|
474
|
+
provenance: Provenance;
|
|
475
|
+
status: "unknown";
|
|
476
|
+
unknown: UnknownInfo;
|
|
477
|
+
[k: string]: unknown;
|
|
478
|
+
};
|
|
479
|
+
/**
|
|
480
|
+
* The declared state id the caller asked about.
|
|
481
|
+
*/
|
|
482
|
+
stateId: string;
|
|
483
|
+
[k: string]: unknown;
|
|
484
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Regenerate with
|
|
5
|
+
* `qontinui-runner/src-tauri/scripts/generate_types.sh`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* How an acceptance criterion is verified.
|
|
10
|
+
*/
|
|
11
|
+
export type CriterionVerification = "command" | "ui_bridge" | "test" | "manual";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Regenerate with
|
|
5
|
+
* `qontinui-runner/src-tauri/scripts/generate_types.sh`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* One CSS animation or transition, as the SDK's idle signals and the
|
|
10
|
+
* timeline report it (`idle/detected-animation.ts`).
|
|
11
|
+
*/
|
|
12
|
+
export interface DetectedAnimation {
|
|
13
|
+
/**
|
|
14
|
+
* Duration (ms) when known — the elapsed time at end, or the effect's
|
|
15
|
+
* timing.
|
|
16
|
+
*/
|
|
17
|
+
durationMs?: number | null;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the animation repeats forever.
|
|
20
|
+
*/
|
|
21
|
+
isInfinite: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* `animationName`, or `transition:<property>` for a CSS transition.
|
|
24
|
+
*/
|
|
25
|
+
name: string;
|
|
26
|
+
/**
|
|
27
|
+
* `ElementFingerprintData.hash` of the animated element, when it could
|
|
28
|
+
* be computed.
|
|
29
|
+
*/
|
|
30
|
+
targetElement?: string | null;
|
|
31
|
+
[k: string]: unknown;
|
|
32
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Regenerate with
|
|
5
|
+
* `qontinui-runner/src-tauri/scripts/generate_types.sh`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* EARS requirement pattern (Easy Approach to Requirements Syntax).
|
|
10
|
+
* Categorizes criteria by their trigger/condition pattern for better
|
|
11
|
+
* verification step generation.
|
|
12
|
+
*/
|
|
13
|
+
export type EarsPattern =
|
|
14
|
+
| "ubiquitous"
|
|
15
|
+
| "event_driven"
|
|
16
|
+
| "state_driven"
|
|
17
|
+
| "optional"
|
|
18
|
+
| "complex"
|
|
19
|
+
| "unwanted_behavior"
|
|
20
|
+
| "not_applicable";
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Regenerate with
|
|
5
|
+
* `qontinui-runner/src-tauri/scripts/generate_types.sh`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { CacheProvenance } from "./CacheProvenance";
|
|
9
|
+
import type { MetricDistribution } from "./MetricDistribution";
|
|
10
|
+
import type { Observation } from "./Observation";
|
|
11
|
+
import type { ObservationCoverage } from "./ObservationCoverage";
|
|
12
|
+
import type { Producer } from "./Producer";
|
|
13
|
+
import type { Provenance } from "./Provenance";
|
|
14
|
+
import type { UnknownCode } from "./UnknownCode";
|
|
15
|
+
import type { UnknownInfo } from "./UnknownInfo";
|
|
16
|
+
import type { UnmeasuredDimension } from "./UnmeasuredDimension";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* One UI Bridge observation: `measured` (with `value`), `absent` (the
|
|
20
|
+
* producer considered at least one item, measured all of it, and found
|
|
21
|
+
* nothing), or `unknown` (the producer could not answer; `unknown.code` says
|
|
22
|
+
* why). `provenance` is always present and every one of its keys is always
|
|
23
|
+
* present.
|
|
24
|
+
*
|
|
25
|
+
* This type describes the wire SHAPE only; it is not a validator. It
|
|
26
|
+
* accepts envelopes the canonical parser refuses: `absent` carrying `value`
|
|
27
|
+
* or `unknown`, a present `"unknown": null`, and `absent` over non-empty
|
|
28
|
+
* `provenance.coverage.unmeasured` or over `provenance.coverage.considered`
|
|
29
|
+
* of 0. Parse an envelope you did not build with
|
|
30
|
+
* `qontinui_vision_core::Observation` (Rust) or a parser enforcing the same
|
|
31
|
+
* rules.
|
|
32
|
+
*/
|
|
33
|
+
export type Observation2 =
|
|
34
|
+
| {
|
|
35
|
+
provenance: Provenance;
|
|
36
|
+
status: "measured";
|
|
37
|
+
value: number;
|
|
38
|
+
[k: string]: unknown;
|
|
39
|
+
}
|
|
40
|
+
| {
|
|
41
|
+
provenance: Provenance;
|
|
42
|
+
status: "absent";
|
|
43
|
+
[k: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
| {
|
|
46
|
+
provenance: Provenance;
|
|
47
|
+
status: "unknown";
|
|
48
|
+
unknown: UnknownInfo;
|
|
49
|
+
[k: string]: unknown;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The answer of [`edge_timing`].
|
|
54
|
+
*/
|
|
55
|
+
export interface EdgeTiming {
|
|
56
|
+
/**
|
|
57
|
+
* Distinct reported app versions, sorted, `null` (= not reported) first.
|
|
58
|
+
*/
|
|
59
|
+
appVersions: (string | null)[];
|
|
60
|
+
/**
|
|
61
|
+
* `summary.firstResponseMs`.
|
|
62
|
+
*/
|
|
63
|
+
firstResponseMs: MetricDistribution;
|
|
64
|
+
/**
|
|
65
|
+
* `summary.layoutShiftAfterFirstResponseMs`.
|
|
66
|
+
*/
|
|
67
|
+
layoutShiftAfterFirstResponseMs: MetricDistribution;
|
|
68
|
+
/**
|
|
69
|
+
* `summary.layoutShiftCount`.
|
|
70
|
+
*/
|
|
71
|
+
layoutShiftCount: MetricDistribution;
|
|
72
|
+
/**
|
|
73
|
+
* `summary.layoutShiftTotal`.
|
|
74
|
+
*/
|
|
75
|
+
layoutShiftTotal: MetricDistribution;
|
|
76
|
+
/**
|
|
77
|
+
* `summary.longTaskTotalMs`.
|
|
78
|
+
*/
|
|
79
|
+
longTaskTotalMs: MetricDistribution;
|
|
80
|
+
/**
|
|
81
|
+
* Samples (ledger rows) the answer is over.
|
|
82
|
+
*/
|
|
83
|
+
n: number;
|
|
84
|
+
/**
|
|
85
|
+
* Latest `observedAt`; `null` when `n` is 0.
|
|
86
|
+
*/
|
|
87
|
+
newestObservedAt?: string | null;
|
|
88
|
+
/**
|
|
89
|
+
* Every observation's raw values, ordered by `(observedAt,
|
|
90
|
+
* observationId)`, ties broken by the serialized `(appVersion,
|
|
91
|
+
* timeline)`.
|
|
92
|
+
*/
|
|
93
|
+
observations: EdgeTimingRow[];
|
|
94
|
+
/**
|
|
95
|
+
* Earliest `observedAt`; `null` when `n` is 0.
|
|
96
|
+
*/
|
|
97
|
+
oldestObservedAt?: string | null;
|
|
98
|
+
/**
|
|
99
|
+
* `summary.settleMs`.
|
|
100
|
+
*/
|
|
101
|
+
settleMs: MetricDistribution;
|
|
102
|
+
/**
|
|
103
|
+
* Of those, rows with no timeline.
|
|
104
|
+
*/
|
|
105
|
+
withoutTimeline: number;
|
|
106
|
+
[k: string]: unknown;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* One observation's values as its timeline summary stated them,
|
|
110
|
+
* ledger-projected (status, value, coverage and unknown code kept; unknown
|
|
111
|
+
* detail replaced by its code; source and cache keys redacted). `null` (for
|
|
112
|
+
* every metric) = the row has no timeline.
|
|
113
|
+
*/
|
|
114
|
+
export interface EdgeTimingRow {
|
|
115
|
+
/**
|
|
116
|
+
* `null` = not reported.
|
|
117
|
+
*/
|
|
118
|
+
appVersion?: string | null;
|
|
119
|
+
/**
|
|
120
|
+
* `summary.firstResponseMs`.
|
|
121
|
+
*/
|
|
122
|
+
firstResponseMs?: Observation | null;
|
|
123
|
+
/**
|
|
124
|
+
* Whether the row carried a timeline.
|
|
125
|
+
*/
|
|
126
|
+
hasTimeline: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* `summary.layoutShiftAfterFirstResponseMs`.
|
|
129
|
+
*/
|
|
130
|
+
layoutShiftAfterFirstResponseMs?: Observation | null;
|
|
131
|
+
/**
|
|
132
|
+
* `summary.layoutShiftCount`.
|
|
133
|
+
*/
|
|
134
|
+
layoutShiftCount?: Observation2 | null;
|
|
135
|
+
/**
|
|
136
|
+
* `summary.layoutShiftTotal`.
|
|
137
|
+
*/
|
|
138
|
+
layoutShiftTotal?: Observation | null;
|
|
139
|
+
/**
|
|
140
|
+
* `summary.longTaskTotalMs`.
|
|
141
|
+
*/
|
|
142
|
+
longTaskTotalMs?: Observation | null;
|
|
143
|
+
/**
|
|
144
|
+
* The ledger row id — a `/vision/assert` `timeline_ref`.
|
|
145
|
+
*/
|
|
146
|
+
observationId: string;
|
|
147
|
+
/**
|
|
148
|
+
* RFC 3339 UTC.
|
|
149
|
+
*/
|
|
150
|
+
observedAt: string;
|
|
151
|
+
/**
|
|
152
|
+
* `summary.settleMs`.
|
|
153
|
+
*/
|
|
154
|
+
settleMs?: Observation | null;
|
|
155
|
+
[k: string]: unknown;
|
|
156
|
+
}
|