@qontinui/shared-types 2.3.1 → 2.4.1

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.
@@ -0,0 +1,373 @@
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
+ * The colour scheme a context renders in (`prefers-color-scheme`).
10
+ */
11
+ export type ImageSlotTheme = "dark" | "light";
12
+
13
+ /**
14
+ * One image placement's declared contract: what the image is for, where it
15
+ * renders, and what it must and must not be.
16
+ */
17
+ export interface ImageSlotSpec {
18
+ /**
19
+ * The image's text alternative.
20
+ */
21
+ alt:
22
+ | {
23
+ kind: "decorative";
24
+ }
25
+ | {
26
+ kind: "required";
27
+ }
28
+ | {
29
+ kind: "text";
30
+ /**
31
+ * The text alternative.
32
+ */
33
+ text: string;
34
+ };
35
+ aspect: ImageSlotAspect;
36
+ /**
37
+ * Who it is for: a reference to one of the tenant's `audience_profile`
38
+ * prompt documents (`audience_profile/external-operator`).
39
+ */
40
+ audience: string;
41
+ content: ImageSlotContent;
42
+ contexts: ImageSlotContexts;
43
+ focal: ImageSlotFocal;
44
+ /**
45
+ * The image's job, in plain sentences: what it must achieve for the person
46
+ * looking at it. Judges derive yes/no questions from it.
47
+ */
48
+ job: string;
49
+ /**
50
+ * The asset bound to the slot, written by the asset pipeline and never by
51
+ * the author. Absent until an asset is chosen; until then the UI renders
52
+ * the slot's placeholder.
53
+ */
54
+ provenance?: ImageSlotProvenance | null;
55
+ /**
56
+ * The requirement this slot traces to, for requirement-level traceability:
57
+ * one token with no whitespace, at most 256 characters.
58
+ */
59
+ requirement_ref?: string | null;
60
+ /**
61
+ * What the image is on its page.
62
+ */
63
+ role:
64
+ | "hero"
65
+ | "empty_state"
66
+ | "feature"
67
+ | "onboarding"
68
+ | "og_card"
69
+ | "background"
70
+ | "avatar_fallback"
71
+ | "scene"
72
+ | "logo"
73
+ | "screenshot";
74
+ /**
75
+ * The parts of the rendered image that page content is laid over, which
76
+ * must therefore stay calm enough for that content to read.
77
+ */
78
+ safe_areas:
79
+ | {
80
+ kind: "derived";
81
+ }
82
+ | {
83
+ kind: "explicit";
84
+ /**
85
+ * The areas, in the image's rendered box.
86
+ *
87
+ * @minItems 1
88
+ */
89
+ regions: [ImageSlotSafeArea, ...ImageSlotSafeArea[]];
90
+ };
91
+ /**
92
+ * Stable slot id (`sessions.empty-state`): lowercase letters and digits in
93
+ * segments joined by `.`, `-` or `_`, at most 128 characters. The UI marks
94
+ * the rendered element `data-ui-bridge-image-slot="<slot>"`, and the asset
95
+ * store, the candidate records and the judges key on it.
96
+ */
97
+ slot: string;
98
+ style: ImageSlotStyle;
99
+ /**
100
+ * Whether the image may carry text, and which.
101
+ */
102
+ text_in_image:
103
+ | {
104
+ kind: "forbidden";
105
+ }
106
+ | {
107
+ kind: "expected";
108
+ /**
109
+ * Its language, as a BCP 47 tag (`en`, `de-CH`).
110
+ */
111
+ locale: string;
112
+ /**
113
+ * The text as it must read.
114
+ */
115
+ text: string;
116
+ }
117
+ | {
118
+ kind: "allowed";
119
+ };
120
+ /**
121
+ * Where the thresholds of the slot's deterministic image checks come from.
122
+ */
123
+ thresholds:
124
+ | {
125
+ kind: "from_visual_system";
126
+ }
127
+ | {
128
+ kind: "overrides";
129
+ /**
130
+ * Tolerated relative difference between the natural and rendered
131
+ * aspect ratios: the `max_aspect_delta` of `image_not_distorted`.
132
+ */
133
+ max_aspect_delta?: number | null;
134
+ /**
135
+ * Encoded byte budget, at most 2^53 − 1: the `max_bytes` of
136
+ * `image_weight_within`.
137
+ */
138
+ max_bytes?: number | null;
139
+ /**
140
+ * Ceiling on effective resolution, against oversized images: the
141
+ * `max_effective` of `image_not_oversized`.
142
+ */
143
+ max_effective_resolution?: number | null;
144
+ /**
145
+ * Largest CIEDE2000 distance from the declared palette that still
146
+ * counts as on-palette: the `max_delta_e` of `image_palette_within`.
147
+ */
148
+ max_palette_delta_e?: number | null;
149
+ /**
150
+ * Floor on effective resolution, natural ÷ (rendered × DPR): the
151
+ * `min_effective` of `image_resolution_sufficient`.
152
+ */
153
+ min_effective_resolution?: number | null;
154
+ /**
155
+ * Least fraction (0 to 1) of the image's pixels that must be
156
+ * on-palette: the `min_coverage` of `image_palette_within`.
157
+ */
158
+ min_palette_coverage?: number | null;
159
+ /**
160
+ * Least WCAG contrast ratio (1 to 21) of text laid over the image: the
161
+ * `min_ratio` of `text_over_image_contrast`.
162
+ */
163
+ min_text_over_image_contrast?: number | null;
164
+ /**
165
+ * Least WCAG contrast ratio (1 to 21) of a transparent image's edge
166
+ * and stroke pixels against what surrounds it: the `min_ratio` of
167
+ * `transparent_image_legible`.
168
+ */
169
+ min_transparent_edge_contrast?: number | null;
170
+ /**
171
+ * Which percentile (0 to 100) of glyph-pixel contrast is compared with
172
+ * that floor: the `percentile` of `text_over_image_contrast`.
173
+ */
174
+ text_over_image_percentile?: number | null;
175
+ };
176
+ }
177
+ /**
178
+ * The aspect ratios the rendered box may take.
179
+ */
180
+ export interface ImageSlotAspect {
181
+ /**
182
+ * Other ratios a layout may give the box, in the same form. None may equal
183
+ * `preferred` or another entry in value (`8/6` equals `4/3`). Required:
184
+ * an author states `[]` when only `preferred` is allowed.
185
+ */
186
+ allowed: string[];
187
+ /**
188
+ * The ratio the box takes by default, as `W/H` with W and H whole numbers
189
+ * from 1 to 9999 (`4/3`, `1200/630`). The placeholder reserves it.
190
+ */
191
+ preferred: string;
192
+ }
193
+ /**
194
+ * What the image must and must not depict.
195
+ */
196
+ export interface ImageSlotContent {
197
+ /**
198
+ * Things the image must depict, one per entry. May be empty.
199
+ */
200
+ must: string[];
201
+ /**
202
+ * Things the image must not depict, one per entry. May be empty.
203
+ */
204
+ must_not: string[];
205
+ }
206
+ /**
207
+ * Every breakpoint × theme × device pixel ratio the image renders, is
208
+ * captured and is judged at.
209
+ */
210
+ export interface ImageSlotContexts {
211
+ /**
212
+ * Viewport widths in CSS pixels, strictly ascending (`[360, 768, 1280]`).
213
+ *
214
+ * @minItems 1
215
+ */
216
+ breakpoints: [number, ...number[]];
217
+ /**
218
+ * Device pixel ratios from 0.5 to 8, strictly ascending (`[1, 2]`).
219
+ *
220
+ * @minItems 1
221
+ */
222
+ dpr: [number, ...number[]];
223
+ /**
224
+ * Colour schemes, each at most once.
225
+ *
226
+ * @minItems 1
227
+ */
228
+ themes: [ImageSlotTheme, ...ImageSlotTheme[]];
229
+ }
230
+ /**
231
+ * Where the subject sits in the image, and whether every crop must keep it.
232
+ */
233
+ export interface ImageSlotFocal {
234
+ /**
235
+ * True when every rendered crop (object-fit and object-position in every
236
+ * context) must keep the whole focal region visible.
237
+ */
238
+ must_survive_crop: boolean;
239
+ region: ImageSlotRegion;
240
+ }
241
+ /**
242
+ * The subject's region in the image's natural frame. An image with no
243
+ * single subject, such as a texture, declares the whole frame with
244
+ * `must_survive_crop: false`.
245
+ */
246
+ export interface ImageSlotRegion {
247
+ /**
248
+ * Height, as a fraction of the frame's height.
249
+ */
250
+ height: number;
251
+ /**
252
+ * Width, as a fraction of the frame's width.
253
+ */
254
+ width: number;
255
+ /**
256
+ * Left edge, as a fraction of the frame's width.
257
+ */
258
+ x: number;
259
+ /**
260
+ * Top edge, as a fraction of the frame's height.
261
+ */
262
+ y: number;
263
+ }
264
+ /**
265
+ * The asset bound to a slot, as the asset pipeline records it; never
266
+ * authored. It describes the binding made for the spec whose content hash was
267
+ * `spec_sha256`. When the spec's current content hash differs, the binding is
268
+ * stale (the spec changed since), not invalid. A current binding also meets
269
+ * the obligations stated on its fields and on [`ImageSlotRole`].
270
+ */
271
+ export interface ImageSlotProvenance {
272
+ /**
273
+ * True when a model generated or edited the pixels. Such an asset, and
274
+ * every derivative of it, carries the IPTC `trainedAlgorithmicMedia`
275
+ * marker. Always true for `generated` and `edited`.
276
+ */
277
+ ai_generated: boolean;
278
+ /**
279
+ * The text alternative written for this asset. Required in a current
280
+ * binding whenever the slot's `alt` is `required`.
281
+ */
282
+ alt_text?: string | null;
283
+ /**
284
+ * sha256 of the bound asset's original bytes: its content address in the
285
+ * tenant's image store, which keys its generation record (prompt, seed,
286
+ * weights, licence) and its judging record.
287
+ */
288
+ asset_sha256: string;
289
+ /**
290
+ * sha256 identifying the version of the exemplar set in force when the
291
+ * asset was produced. Required in a current binding whenever the slot names
292
+ * a set.
293
+ */
294
+ exemplars_sha256?: string | null;
295
+ /**
296
+ * sha256 of the imagery treatment's text as read when the asset was
297
+ * produced. Required for `generated` and `edited`.
298
+ */
299
+ imagery_sha256?: string | null;
300
+ /**
301
+ * sha256 of the LoRA weights applied. Required in a current binding of a
302
+ * model-made asset whenever the slot names a LoRA.
303
+ */
304
+ lora_sha256?: string | null;
305
+ /**
306
+ * Hash of the generation recipe. Required for `generated` and `edited`.
307
+ */
308
+ recipe_sha256?: string | null;
309
+ /**
310
+ * How the asset was obtained.
311
+ */
312
+ source:
313
+ | "generated"
314
+ | "edited"
315
+ | "traced"
316
+ | "authored"
317
+ | "selected"
318
+ | "captured"
319
+ | "supplied";
320
+ /**
321
+ * The spec's content hash when the asset was bound: sha256 of the spec's
322
+ * RFC 8785 canonical JSON with `provenance` left out.
323
+ */
324
+ spec_sha256: string;
325
+ }
326
+ /**
327
+ * A rectangle in the image's RENDERED box (the element's box, where page
328
+ * content is positioned), as fractions (0 to 1) of its width and height: `x`
329
+ * and `y` are the top-left corner, `width` and `height` the size. It has a
330
+ * positive area and lies inside the box.
331
+ *
332
+ * A distinct type from [`ImageSlotRegion`] because the two coordinate spaces
333
+ * differ whenever object-fit crops or letterboxes the image.
334
+ */
335
+ export interface ImageSlotSafeArea {
336
+ /**
337
+ * Height, as a fraction of the box's height.
338
+ */
339
+ height: number;
340
+ /**
341
+ * Width, as a fraction of the box's width.
342
+ */
343
+ width: number;
344
+ /**
345
+ * Left edge, as a fraction of the box's width.
346
+ */
347
+ x: number;
348
+ /**
349
+ * Top edge, as a fraction of the box's height.
350
+ */
351
+ y: number;
352
+ }
353
+ /**
354
+ * The declared style the image follows.
355
+ */
356
+ export interface ImageSlotStyle {
357
+ /**
358
+ * The exemplar set (approved and rejected examples) the image is compared
359
+ * with, by id. Absent: none.
360
+ */
361
+ exemplars?: string | null;
362
+ /**
363
+ * The imagery treatment it follows: a section of one of the tenant's
364
+ * `domain_spec` prompt documents (`domain_spec/visual-system#imagery`), or
365
+ * a `decision_record` that settled a style fork.
366
+ */
367
+ imagery: string;
368
+ /**
369
+ * The house LoRA applied when generating, by its id in the image licence
370
+ * manifest. Absent: none.
371
+ */
372
+ lora?: string | null;
373
+ }
@@ -0,0 +1,48 @@
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 { ObservationCoverage } from "./ObservationCoverage";
10
+ import type { Producer } from "./Producer";
11
+ import type { Provenance } from "./Provenance";
12
+ import type { UnknownCode } from "./UnknownCode";
13
+ import type { UnknownInfo } from "./UnknownInfo";
14
+ import type { UnmeasuredDimension } from "./UnmeasuredDimension";
15
+
16
+ /**
17
+ * One UI Bridge observation: `measured` (with `value`), `absent` (the
18
+ * producer considered at least one item, measured all of it, and found
19
+ * nothing), or `unknown` (the producer could not answer; `unknown.code` says
20
+ * why). `provenance` is always present and every one of its keys is always
21
+ * present.
22
+ *
23
+ * This type describes the wire SHAPE only; it is not a validator. It
24
+ * accepts envelopes the canonical parser refuses: `absent` carrying `value`
25
+ * or `unknown`, a present `"unknown": null`, and `absent` over non-empty
26
+ * `provenance.coverage.unmeasured` or over `provenance.coverage.considered`
27
+ * of 0. Parse an envelope you did not build with
28
+ * `qontinui_vision_core::Observation` (Rust) or a parser enforcing the same
29
+ * rules.
30
+ */
31
+ export type Observation =
32
+ | {
33
+ provenance: Provenance;
34
+ status: "measured";
35
+ value: unknown;
36
+ [k: string]: unknown;
37
+ }
38
+ | {
39
+ provenance: Provenance;
40
+ status: "absent";
41
+ [k: string]: unknown;
42
+ }
43
+ | {
44
+ provenance: Provenance;
45
+ status: "unknown";
46
+ unknown: UnknownInfo;
47
+ [k: string]: unknown;
48
+ };
@@ -0,0 +1,37 @@
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 { UnknownCode } from "./UnknownCode";
9
+ import type { UnmeasuredDimension } from "./UnmeasuredDimension";
10
+
11
+ /**
12
+ * How much of what the producer looked at it could actually measure.
13
+ *
14
+ * A non-empty [`Self::unmeasured`] is what makes a `measured` observation
15
+ * DEGRADED (legal: the value stands, some dimension was not ruled out), and
16
+ * what makes an `absent` observation ILLEGAL (nothing can be claimed absent
17
+ * from a region that was not measured). A `considered` of zero makes
18
+ * `absent` illegal too: a producer that looked at nothing found nothing
19
+ * only vacuously, so it reports `unknown` (`producer_not_run` or
20
+ * `input_missing`) instead.
21
+ */
22
+ export interface ObservationCoverage {
23
+ /**
24
+ * Items the producer considered.
25
+ */
26
+ considered: number;
27
+ /**
28
+ * Items it could measure in full.
29
+ */
30
+ measured: number;
31
+ /**
32
+ * Named dimensions it could not measure. Always serialized — an empty
33
+ * list is the statement "full coverage".
34
+ */
35
+ unmeasured: UnmeasuredDimension[];
36
+ [k: string]: unknown;
37
+ }
@@ -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
+ * The three answers, as the `status` tag spells them on the wire.
10
+ */
11
+ export type ObservationStatus = "measured" | "absent" | "unknown";
@@ -0,0 +1,21 @@
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
+ * Which producer answered, and at what version.
10
+ */
11
+ export interface Producer {
12
+ /**
13
+ * e.g. `vision-core/layout`, `runner/page-health`, `sdk/page-health`.
14
+ */
15
+ id: string;
16
+ /**
17
+ * The producing crate's or package's version.
18
+ */
19
+ version: string;
20
+ [k: string]: unknown;
21
+ }
@@ -0,0 +1,54 @@
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 { ObservationCoverage } from "./ObservationCoverage";
10
+ import type { Producer } from "./Producer";
11
+ import type { UnknownCode } from "./UnknownCode";
12
+ import type { UnmeasuredDimension } from "./UnmeasuredDimension";
13
+
14
+ /**
15
+ * Where an [`Observation`] came from.
16
+ *
17
+ * **Every key always serializes.** `observedAt`, `confidence`, `cache` and
18
+ * `source` are `null` when they have nothing to say, and that `null` is a
19
+ * statement rather than an omission (plan `489ed69e` lesson 1): a producer
20
+ * that states "no sample was taken" / "this is a deduction" / "I have no
21
+ * cache" / "I have no source attribution" is distinguishable on the wire
22
+ * from one that said nothing — the latter is a payload that fails to parse.
23
+ */
24
+ export interface Provenance {
25
+ /**
26
+ * `None` = this producer has no cache.
27
+ */
28
+ cache: CacheProvenance | null;
29
+ /**
30
+ * How far the answer rests on an ESTIMATED input. `None` is a positive
31
+ * statement: the answer is a deduction, not an estimate — the same
32
+ * reading as [`crate::Finding::confidence`].
33
+ */
34
+ confidence: number | null;
35
+ coverage: ObservationCoverage;
36
+ /**
37
+ * When the producer ran. Never absent.
38
+ */
39
+ evaluatedAt: string;
40
+ /**
41
+ * When the underlying state was sampled (frame `capturedAt`, snapshot
42
+ * time). `None` = no sample was taken (e.g. `input_missing`).
43
+ */
44
+ observedAt: string | null;
45
+ producer: Producer;
46
+ /**
47
+ * Source attribution as a JSON object (a `SnapshotAttribution`, a
48
+ * `FrameSource` projection, …). `None` = the producer has none to give.
49
+ */
50
+ source: {
51
+ [k: string]: unknown;
52
+ } | null;
53
+ [k: string]: unknown;
54
+ }
@@ -123,4 +123,23 @@ export type ScheduledTaskType =
123
123
  */
124
124
  working_directory?: string | null;
125
125
  [k: string]: unknown;
126
+ }
127
+ | {
128
+ /**
129
+ * Shell command line, run via the platform shell (`sh -c`; on
130
+ * Windows `bash -c`, then `cmd /C` as the fallback).
131
+ */
132
+ command: string;
133
+ task_type: "Script";
134
+ /**
135
+ * Wall-clock timeout in seconds. `None` (or 0) = runner default
136
+ * (600s = 10 min).
137
+ */
138
+ timeout_seconds?: number | null;
139
+ /**
140
+ * Working directory for the command. `None` = the runner's project
141
+ * root.
142
+ */
143
+ working_directory?: string | null;
144
+ [k: string]: unknown;
126
145
  };
@@ -0,0 +1,26 @@
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
+ * WHY a producer could not answer. A closed vocabulary: an agent branches on
10
+ * the code, and the human-readable [`UnknownInfo::detail`] is never the only
11
+ * carrier of the reason.
12
+ *
13
+ * Adding a member is a wire change for every consumer (runner, ui-bridge,
14
+ * ui-bridge-mcp); the diagnostic-code registry name of each is
15
+ * [`Self::diagnostic_code`].
16
+ */
17
+ export type UnknownCode =
18
+ | "app_unreachable"
19
+ | "capability_unavailable_in_build"
20
+ | "producer_failed"
21
+ | "producer_not_run"
22
+ | "input_missing"
23
+ | "below_confidence_floor"
24
+ | "model_reply_unparseable"
25
+ | "needs_multi_frame_input"
26
+ | "stale_input";
@@ -0,0 +1,22 @@
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 { UnknownCode } from "./UnknownCode";
9
+
10
+ /**
11
+ * The payload of an `unknown` observation: a typed code an agent branches
12
+ * on, plus prose for a human.
13
+ */
14
+ export interface UnknownInfo {
15
+ code: UnknownCode;
16
+ /**
17
+ * Human-readable explanation. Never parsed; [`Self::code`] is the
18
+ * machine-readable reason.
19
+ */
20
+ detail: string;
21
+ [k: string]: unknown;
22
+ }
@@ -0,0 +1,25 @@
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 { UnknownCode } from "./UnknownCode";
9
+
10
+ /**
11
+ * One dimension the producer could NOT measure, how many items it affected,
12
+ * and why.
13
+ */
14
+ export interface UnmeasuredDimension {
15
+ code: UnknownCode;
16
+ /**
17
+ * How many considered items lacked it.
18
+ */
19
+ count: number;
20
+ /**
21
+ * What went unmeasured, e.g. `bbox`, `stacking_order`, `text`.
22
+ */
23
+ dimension: string;
24
+ [k: string]: unknown;
25
+ }
@@ -61,6 +61,7 @@ export type { BoundingBox } from './BoundingBox';
61
61
  export type { BridgeFingerprint } from './BridgeFingerprint';
62
62
  export type { BuildPhaseConfig } from './BuildPhaseConfig';
63
63
  export type { BuiltinOverrideProposal } from './BuiltinOverrideProposal';
64
+ export type { CacheProvenance } from './CacheProvenance';
64
65
  export type { CandidateMiss } from './CandidateMiss';
65
66
  export type { CanonicalStep } from './CanonicalStep';
66
67
  export type { CanvasPanel } from './CanvasPanel';
@@ -220,6 +221,7 @@ export type { HistoricalActionResult } from './HistoricalActionResult';
220
221
  export type { HttpConfig } from './HttpConfig';
221
222
  export type { HttpMethod } from './HttpMethod';
222
223
  export type { IdleCondition } from './IdleCondition';
224
+ export type { ImageSlotSpec } from './ImageSlotSpec';
223
225
  export type { ImplementFixesConfig } from './ImplementFixesConfig';
224
226
  export type { IndividualCheckResult } from './IndividualCheckResult';
225
227
  export type { InitialStateRef } from './InitialStateRef';
@@ -304,6 +306,9 @@ export type { NextTaskInfo } from './NextTaskInfo';
304
306
  export type { NodeMetadata } from './NodeMetadata';
305
307
  export type { NodeStatus } from './NodeStatus';
306
308
  export type { NodeType } from './NodeType';
309
+ export type { Observation } from './Observation';
310
+ export type { ObservationCoverage } from './ObservationCoverage';
311
+ export type { ObservationStatus } from './ObservationStatus';
307
312
  export type { OcrEngine } from './OcrEngine';
308
313
  export type { OlConfig } from './OlConfig';
309
314
  export type { Operation } from './Operation';
@@ -336,11 +341,13 @@ export type { ProcessConfig } from './ProcessConfig';
336
341
  export type { ProcessState } from './ProcessState';
337
342
  export type { ProcessStatus } from './ProcessStatus';
338
343
  export type { ProcessStatusLite } from './ProcessStatusLite';
344
+ export type { Producer } from './Producer';
339
345
  export type { Profile } from './Profile';
340
346
  export type { ProjectSnapshot } from './ProjectSnapshot';
341
347
  export type { PromptStep } from './PromptStep';
342
348
  export type { PromptStepPhase } from './PromptStepPhase';
343
349
  export type { ProposalStatus } from './ProposalStatus';
350
+ export type { Provenance } from './Provenance';
344
351
  export type { ProvenanceMix } from './ProvenanceMix';
345
352
  export type { RAGDashboardStats } from './RAGDashboardStats';
346
353
  export type { RagCompletionEvent } from './RagCompletionEvent';
@@ -528,6 +535,9 @@ export type { UiBridgeStepPhase } from './UiBridgeStepPhase';
528
535
  export type { UiBridgeVisualAssertionStep } from './UiBridgeVisualAssertionStep';
529
536
  export type { UnifiedStep } from './UnifiedStep';
530
537
  export type { UnifiedWorkflow } from './UnifiedWorkflow';
538
+ export type { UnknownCode } from './UnknownCode';
539
+ export type { UnknownInfo } from './UnknownInfo';
540
+ export type { UnmeasuredDimension } from './UnmeasuredDimension';
531
541
  export type { UpdateAppRequest } from './UpdateAppRequest';
532
542
  export type { UpdateMcpServerInput } from './UpdateMcpServerInput';
533
543
  export type { UpdateOlConfigRequest } from './UpdateOlConfigRequest';