@qontinui/shared-types 0.2.2 → 0.2.4

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.
Files changed (41) hide show
  1. package/dist/TaskRunFindingActionType.d-B4VmmbB6.d.cts +62 -0
  2. package/dist/TaskRunFindingActionType.d-B4VmmbB6.d.ts +62 -0
  3. package/dist/index.d.cts +2 -1
  4. package/dist/index.d.ts +2 -1
  5. package/dist/task-run.d.cts +3 -62
  6. package/dist/task-run.d.ts +3 -62
  7. package/dist/tauri-events.cjs +19 -0
  8. package/dist/tauri-events.cjs.map +1 -0
  9. package/dist/tauri-events.d.cts +1273 -0
  10. package/dist/tauri-events.d.ts +1273 -0
  11. package/dist/tauri-events.js +1 -0
  12. package/dist/tauri-events.js.map +1 -0
  13. package/dist/ui-bridge-ir.cjs +37 -0
  14. package/dist/ui-bridge-ir.cjs.map +1 -1
  15. package/dist/ui-bridge-ir.d.cts +90 -1
  16. package/dist/ui-bridge-ir.d.ts +90 -1
  17. package/dist/ui-bridge-ir.js +37 -0
  18. package/dist/ui-bridge-ir.js.map +1 -1
  19. package/package.json +7 -2
  20. package/src/generated/AppEvent.d.ts +587 -586
  21. package/src/generated/CanvasPanel.d.ts +35 -0
  22. package/src/generated/DevSeedFindingPayload.d.ts +30 -0
  23. package/src/generated/FlowEvent.d.ts +86 -66
  24. package/src/generated/RecommendationReviewDecisionPayload.d.ts +24 -0
  25. package/src/generated/RunnerConnectedConnection.d.ts +34 -0
  26. package/src/generated/RunnerFinding.d.ts +48 -0
  27. package/src/generated/RunnerFindingCodeContext.d.ts +20 -0
  28. package/src/generated/RunnerFindingUserInput.d.ts +19 -0
  29. package/src/generated/RunnerRelayMessage.d.ts +75 -0
  30. package/src/generated/RunnerStatusEvent.d.ts +67 -0
  31. package/src/generated/UiBridgeRequestEnvelope.d.ts +45 -0
  32. package/src/generated/UiBridgeResponseEnvelope.d.ts +66 -0
  33. package/src/generated/index.ts +11 -0
  34. package/src/tauri-events/_api.ts +90 -0
  35. package/src/tauri-events/index.ts +1 -0
  36. package/src/ui-bridge-ir/document.ts +9 -0
  37. package/src/ui-bridge-ir/group.ts +84 -0
  38. package/src/ui-bridge-ir/index.ts +1 -0
  39. package/src/ui-bridge-ir/ir.schema.json +58 -0
  40. package/src/ui-bridge-ir/projection.ts +58 -0
  41. package/src/ui-bridge-ir/__tests__/legacy-roster.test.ts +0 -182
@@ -0,0 +1,35 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * A canvas panel rendered in the dashboard widget.
10
+ *
11
+ * Wire-format mirror of the runner's `StoredPanel` struct
12
+ * (`qontinui-runner/src-tauri/src/mcp/canvas.rs`). The runner emits this
13
+ * inside [`AppEvent::CanvasUpdate`] via the `canvas-update` Tauri channel.
14
+ * Field names are snake_case to match the existing TS interface in
15
+ * `qontinui-schemas/ts/src/canvas/index.ts`.
16
+ *
17
+ * `data` stays `serde_json::Value` because each `component` type has a
18
+ * different inner shape (Markdown, CodeDiff, Table, …); the per-component
19
+ * data schemas live in the TS module above and are intentionally not
20
+ * modeled as a Rust discriminated union (would balloon the schema for
21
+ * little gain on the Rust side).
22
+ */
23
+ export interface CanvasPanel {
24
+ component: string;
25
+ created_at: string;
26
+ data: unknown;
27
+ group?: string | null;
28
+ panel_id: string;
29
+ priority: number;
30
+ size: string;
31
+ task_run_id: string;
32
+ title: string;
33
+ updated_at: string;
34
+ [k: string]: unknown;
35
+ }
@@ -0,0 +1,30 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Payload shape emitted on the `dev:seed-finding` Tauri event.
10
+ *
11
+ * Field names use camelCase so the TS listener (`TauriFindingsListener.ts`)
12
+ * can spread them directly into a `Finding` object without translation.
13
+ * The actual emit site is in `commands::dev_findings::dev_seed_finding`.
14
+ *
15
+ * Renamed in the schema registry to `DevSeedFindingPayload` to disambiguate
16
+ * from the various `Finding*` types in `qontinui_types::findings`.
17
+ */
18
+ export interface DevSeedFindingPayload {
19
+ actionType: string;
20
+ actionable: boolean;
21
+ categoryId: string;
22
+ description: string;
23
+ detectedAt: number;
24
+ id: string;
25
+ severity: string;
26
+ sourceSessionId?: string | null;
27
+ status: string;
28
+ title: string;
29
+ [k: string]: unknown;
30
+ }
@@ -1,66 +1,86 @@
1
- /* eslint-disable */
2
- /**
3
- * This file was automatically generated.
4
- * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
- * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
- */
7
-
8
- /**
9
- * Events emitted during flow execution for UI updates.
10
- *
11
- * Internally tagged with `"type"` and snake_case variant names.
12
- */
13
- export type FlowEvent =
14
- | {
15
- flow_id: string;
16
- flow_name: string;
17
- instance_id: string;
18
- type: "flow_started";
19
- [k: string]: unknown;
20
- }
21
- | {
22
- instance_id: string;
23
- step_id: string;
24
- step_name: string;
25
- step_type: string;
26
- type: "step_started";
27
- [k: string]: unknown;
28
- }
29
- | {
30
- duration_ms: number;
31
- error?: string | null;
32
- instance_id: string;
33
- outputs: {
34
- [k: string]: unknown;
35
- };
36
- step_id: string;
37
- success: boolean;
38
- type: "step_completed";
39
- [k: string]: unknown;
40
- }
41
- | {
42
- duration_ms: number;
43
- error?: string | null;
44
- flow_id: string;
45
- instance_id: string;
46
- success: boolean;
47
- total_steps: number;
48
- type: "flow_completed";
49
- [k: string]: unknown;
50
- }
51
- | {
52
- instance_id: string;
53
- options: string[];
54
- prompt: string;
55
- step_id: string;
56
- type: "waiting_for_input";
57
- [k: string]: unknown;
58
- }
59
- | {
60
- completed: number;
61
- instance_id: string;
62
- step_id: string;
63
- total: number;
64
- type: "parallel_progress";
65
- [k: string]: unknown;
66
- };
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Events emitted during flow execution for UI updates.
10
+ *
11
+ * Internally tagged with `"type"` and snake_case variant names.
12
+ */
13
+ export type FlowEvent =
14
+ | {
15
+ flow_id: string;
16
+ flow_name: string;
17
+ instance_id: string;
18
+ type: "flow_started";
19
+ [k: string]: unknown;
20
+ }
21
+ | {
22
+ instance_id: string;
23
+ step_id: string;
24
+ step_name: string;
25
+ step_type: string;
26
+ type: "step_started";
27
+ [k: string]: unknown;
28
+ }
29
+ | {
30
+ duration_ms: number;
31
+ error?: string | null;
32
+ instance_id: string;
33
+ outputs: {
34
+ [k: string]: unknown;
35
+ };
36
+ step_id: string;
37
+ success: boolean;
38
+ type: "step_completed";
39
+ [k: string]: unknown;
40
+ }
41
+ | {
42
+ duration_ms: number;
43
+ error?: string | null;
44
+ flow_id: string;
45
+ instance_id: string;
46
+ success: boolean;
47
+ total_steps: number;
48
+ type: "flow_completed";
49
+ [k: string]: unknown;
50
+ }
51
+ | {
52
+ instance_id: string;
53
+ options: string[];
54
+ prompt: string;
55
+ step_id: string;
56
+ type: "waiting_for_input";
57
+ [k: string]: unknown;
58
+ }
59
+ | {
60
+ completed: number;
61
+ instance_id: string;
62
+ step_id: string;
63
+ total: number;
64
+ type: "parallel_progress";
65
+ [k: string]: unknown;
66
+ }
67
+ | {
68
+ flow_id: string;
69
+ instance_id: string;
70
+ /**
71
+ * Step the flow was paused at (`null` if no current step).
72
+ */
73
+ step_id?: string | null;
74
+ type: "flow_paused";
75
+ [k: string]: unknown;
76
+ }
77
+ | {
78
+ flow_id: string;
79
+ instance_id: string;
80
+ /**
81
+ * Step execution will resume from (`null` if no current step).
82
+ */
83
+ step_id?: string | null;
84
+ type: "flow_resumed";
85
+ [k: string]: unknown;
86
+ };
@@ -0,0 +1,24 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Payload shape for the `review-approved` and `review-rejected` Tauri events
10
+ * emitted by `commands::productivity::approve_recommendation` /
11
+ * `reject_recommendation` after a user resolves a medium-confidence
12
+ * recommendation card. Field names are explicit camelCase to match the
13
+ * `serde_json::json!()` literal previously used at the emit site.
14
+ *
15
+ * Single struct shared by both channels: only `user_decision` differs
16
+ * (`"approved"` vs `"rejected"`), so a tagged enum would inflate the wire
17
+ * format without payoff.
18
+ */
19
+ export interface RecommendationReviewDecisionPayload {
20
+ reviewId: string;
21
+ taskId: string;
22
+ userDecision: string;
23
+ [k: string]: unknown;
24
+ }
@@ -0,0 +1,34 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Wire-format runner shape carried inside `runner_connected.connection`.
10
+ *
11
+ * This is intentionally a partial Runner payload (snake_case, only the
12
+ * fields the Python emitter actually populates in
13
+ * `RunnerEventPublisher.publish_runner_connected`). It is NOT
14
+ * `qontinui_types::runner::Runner` — that shape requires `derived_status`,
15
+ * `capabilities`, `created_at` etc., which the connection payload doesn't
16
+ * include. Consumers reading this should refetch the canonical Runner row
17
+ * via REST after seeing `runner_connected`.
18
+ */
19
+ export interface RunnerConnectedConnection {
20
+ connected_at?: string | null;
21
+ /**
22
+ * Always present as `null` on the wire when the runner is still
23
+ * connected. Python ships this field unconditionally.
24
+ */
25
+ disconnected_at?: string | null;
26
+ duration_seconds?: number | null;
27
+ id: string;
28
+ ip_address?: string | null;
29
+ project_id?: string | null;
30
+ runner_name?: string | null;
31
+ runner_port?: number | null;
32
+ ws_connected: boolean;
33
+ [k: string]: unknown;
34
+ }
@@ -0,0 +1,48 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { RunnerFindingCodeContext } from './RunnerFindingCodeContext';
9
+ import type { RunnerFindingUserInput } from './RunnerFindingUserInput';
10
+ import type { TaskRunFindingActionType } from './TaskRunFindingActionType';
11
+ import type { TaskRunFindingCategory } from './TaskRunFindingCategory';
12
+ import type { TaskRunFindingSeverity } from './TaskRunFindingSeverity';
13
+ import type { TaskRunFindingStatus } from './TaskRunFindingStatus';
14
+
15
+ /**
16
+ * A finding detected by AI analysis (runner-local wire shape).
17
+ *
18
+ * Wire format: serialized via `#[serde(rename_all = "camelCase")]` so all
19
+ * snake_case Rust field names ship as camelCase on the Tauri event channels
20
+ * `finding_detected` and `finding_resolved`. The frontend listener in
21
+ * `services/TauriFindingsListener.ts` MUST read these fields by their
22
+ * camelCase names — reading snake_case silently evaluates to `undefined`.
23
+ *
24
+ * Renamed in the schema registry to `RunnerFinding` to disambiguate from
25
+ * `qontinui_types::verification::Finding`, which has a different shape
26
+ * (`confidence`, `findingType`, `evidence` vs this struct's flat fields).
27
+ */
28
+ export interface RunnerFinding {
29
+ actionType: TaskRunFindingActionType;
30
+ categoryId: TaskRunFindingCategory;
31
+ codeContext?: RunnerFindingCodeContext | null;
32
+ description: string;
33
+ detectedAt: string;
34
+ id: string;
35
+ resolution?: string | null;
36
+ resolvedAt?: string | null;
37
+ resolvedInSession?: number | null;
38
+ sessionNum: number;
39
+ severity: TaskRunFindingSeverity;
40
+ signatureHash: string;
41
+ status: TaskRunFindingStatus;
42
+ taskRunId: string;
43
+ title: string;
44
+ updatedAt: string;
45
+ userInput?: RunnerFindingUserInput | null;
46
+ userResponse?: string | null;
47
+ [k: string]: unknown;
48
+ }
@@ -0,0 +1,20 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Code context for a finding (runner-local wire shape).
10
+ *
11
+ * Renamed in the schema registry to `RunnerFindingCodeContext` to
12
+ * disambiguate from `qontinui_types::findings::FindingCodeContext`.
13
+ */
14
+ export interface RunnerFindingCodeContext {
15
+ column?: number | null;
16
+ file?: string | null;
17
+ line?: number | null;
18
+ snippet?: string | null;
19
+ [k: string]: unknown;
20
+ }
@@ -0,0 +1,19 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * User input request for a finding (runner-local wire shape).
10
+ *
11
+ * Renamed in the schema registry to `RunnerFindingUserInput` to
12
+ * disambiguate from `qontinui_types::findings::FindingUserInput`.
13
+ */
14
+ export interface RunnerFindingUserInput {
15
+ input_type: string;
16
+ options?: string[] | null;
17
+ question: string;
18
+ [k: string]: unknown;
19
+ }
@@ -0,0 +1,75 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Discriminated union of every WS envelope `mcp/backend_relay.rs::handle_outbound`
10
+ * ships to the backend after rewrapping a Tauri-side `AppEvent`.
11
+ *
12
+ * Internally tagged on `"type"` with snake_case variant names because that's
13
+ * what the prior `serde_json::json!` literals emitted on the wire.
14
+ *
15
+ * Wire keys are snake_case (NOT camelCase) — verified against the literal
16
+ * strings in `handle_outbound` lines ~605-638. Consumers that expect
17
+ * camelCase (e.g. some web hooks) are wrong; the relay never emitted
18
+ * camelCase here.
19
+ */
20
+ export type RunnerRelayMessage =
21
+ | {
22
+ data: {
23
+ [k: string]: unknown;
24
+ };
25
+ type: "phase_completed";
26
+ [k: string]: unknown;
27
+ }
28
+ | {
29
+ data: {
30
+ [k: string]: unknown;
31
+ };
32
+ type: "ui_error";
33
+ [k: string]: unknown;
34
+ }
35
+ | {
36
+ data: {
37
+ [k: string]: unknown;
38
+ };
39
+ type: "recent_crash";
40
+ [k: string]: unknown;
41
+ }
42
+ | {
43
+ data: {
44
+ [k: string]: unknown;
45
+ };
46
+ type: "chat_response";
47
+ [k: string]: unknown;
48
+ }
49
+ | {
50
+ data: {
51
+ [k: string]: unknown;
52
+ };
53
+ type: "chat_session_state";
54
+ [k: string]: unknown;
55
+ }
56
+ | {
57
+ data: {
58
+ [k: string]: unknown;
59
+ };
60
+ terminal_id: {
61
+ [k: string]: unknown;
62
+ };
63
+ type: "terminal_output";
64
+ [k: string]: unknown;
65
+ }
66
+ | {
67
+ exit_code: {
68
+ [k: string]: unknown;
69
+ };
70
+ terminal_id: {
71
+ [k: string]: unknown;
72
+ };
73
+ type: "terminal_exit";
74
+ [k: string]: unknown;
75
+ };
@@ -0,0 +1,67 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { RunnerConnectedConnection } from './RunnerConnectedConnection';
9
+
10
+ /**
11
+ * Discriminated union of every event the Python backend pushes to the web
12
+ * client over the `/api/v1/runners/status` WebSocket.
13
+ *
14
+ * Internally tagged on `"type"` matching the Python wire format. Variant
15
+ * renames (`runner.woke` keeps the dot rather than going to snake_case)
16
+ * preserve the literal strings the emitter sends.
17
+ *
18
+ * Source of truth: the `publish_*` methods in
19
+ * `qontinui-web/backend/app/services/runner/event_publisher.py` and the
20
+ * `initial_state` send in `runner_status_ws.py`.
21
+ */
22
+ export type RunnerStatusEvent =
23
+ | {
24
+ runners: unknown[];
25
+ type: "initial_state";
26
+ [k: string]: unknown;
27
+ }
28
+ | {
29
+ connection: RunnerConnectedConnection;
30
+ timestamp: string;
31
+ type: "runner_connected";
32
+ [k: string]: unknown;
33
+ }
34
+ | {
35
+ runner_id: string;
36
+ timestamp: string;
37
+ type: "runner_disconnected";
38
+ [k: string]: unknown;
39
+ }
40
+ | {
41
+ runner_id: string;
42
+ runner_name: string;
43
+ timestamp: string;
44
+ type: "runner_name_updated";
45
+ [k: string]: unknown;
46
+ }
47
+ | {
48
+ runner_id: string;
49
+ runner_port: number;
50
+ timestamp: string;
51
+ type: "runner_port_updated";
52
+ [k: string]: unknown;
53
+ }
54
+ | {
55
+ intent_id?: string | null;
56
+ reason?: string | null;
57
+ runner_id: string;
58
+ task_id?: string | null;
59
+ timestamp: string;
60
+ type: "runner.woke";
61
+ [k: string]: unknown;
62
+ }
63
+ | {
64
+ error: string;
65
+ type: "error";
66
+ [k: string]: unknown;
67
+ };
@@ -0,0 +1,45 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Wire envelope for `ui-bridge-request` events emitted by
10
+ * `mcp::ui_bridge::request::ui_bridge_request_sync` (and the long-timeout
11
+ * variant in `mcp::ui_bridge::screenshots::ui_bridge_capture_element_images_handler`).
12
+ *
13
+ * The runner emits an envelope whose flat shape is
14
+ * `{ requestId, type, ...payloadFields }` — the previous implementation built
15
+ * it via `serde_json::json!({ "requestId": ..., "type": ... })` plus a manual
16
+ * merge of an `additional_payload: Value::Object`. This struct preserves that
17
+ * wire shape via `#[serde(flatten)]` on `data` so byte output is identical
18
+ * when callers pass `Value::Object` payloads (the only shape they use today).
19
+ *
20
+ * The discriminator field is **`type`** on the wire; the Rust field is named
21
+ * `request_type` for ergonomics and renamed via `#[serde(rename = "type")]`.
22
+ * Keep this struct in sync with the TS `UIBridgeRequestPayload` envelope head
23
+ * in `qontinui-runner/src/hooks/ui-bridge-events/types.ts`.
24
+ *
25
+ * `request_type` is a free-form `String` — the set of valid discriminators is
26
+ * the 171-variant `UIBridgeRequestType` TS union, but per-payload typing is
27
+ * deferred indefinitely. Dispatch exhaustiveness is enforced on the React
28
+ * side via `AssertEqual<AllHandledTypes, UIBridgeRequestType>` plus per-hook
29
+ * `never` checks.
30
+ */
31
+ export interface UiBridgeRequestEnvelope {
32
+ /**
33
+ * UUID generated by the runner; round-trips back inside the matching
34
+ * [`UiBridgeResponseEnvelope`] so the Rust dispatcher can pair responses
35
+ * with their pending oneshot senders.
36
+ */
37
+ requestId: string;
38
+ /**
39
+ * Wire discriminator — the runner-side request kind (e.g. `"get_elements"`,
40
+ * `"capture_element_images"`). Field is named `request_type` in Rust for
41
+ * ergonomics; serializes as `type`.
42
+ */
43
+ type: string;
44
+ [k: string]: unknown;
45
+ }
@@ -0,0 +1,66 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Wire envelope for `ui-bridge-response` events emitted by the React
10
+ * frontend in response to a [`UiBridgeRequestEnvelope`].
11
+ *
12
+ * The runner-side dispatcher in
13
+ * `mcp::ui_bridge::request::handle_ui_bridge_response` matches `request_id`
14
+ * to a pending oneshot sender and forwards the inner `data` to the awaiting
15
+ * caller; `success`, `error`, `hint`, and `timestamp` are surfaced via
16
+ * `wrap_ipc_result`'s F2 two-tier envelope flattening.
17
+ *
18
+ * `data`, `error`, and `hint` are all optional. The hint sibling carries
19
+ * closest-match / recovery hints (set by frontend handlers like
20
+ * `useControlEvents` for typo recovery on element-not-found and
21
+ * action-not-allowed) and stays a sibling of `error` — the success/error
22
+ * envelope shape is unchanged.
23
+ */
24
+ export interface UiBridgeResponseEnvelope {
25
+ /**
26
+ * Inner data payload on success. Frontend handlers set this to whatever
27
+ * shape the operation returns (e.g. an `elements` array for
28
+ * `get_elements`, a discovery report for `discover`, etc.).
29
+ */
30
+ data?: {
31
+ [k: string]: unknown;
32
+ };
33
+ /**
34
+ * Error message on failure. Mirrors the inner-failure path of
35
+ * `wrap_ipc_result`'s F2 two-tier envelope flattening.
36
+ */
37
+ error?: string | null;
38
+ /**
39
+ * Optional closest-match / recovery hint payload. Sibling field to
40
+ * `error` (does NOT replace the success/error envelope shape). Used by
41
+ * `useControlEvents` for element-not-found / action-not-allowed typo
42
+ * recovery and by Rust `page.rs` for eval-rejected workaround guidance.
43
+ */
44
+ hint?: {
45
+ [k: string]: unknown;
46
+ };
47
+ /**
48
+ * Echoes the request's [`UiBridgeRequestEnvelope::request_id`].
49
+ */
50
+ requestId: string;
51
+ /**
52
+ * Whether the frontend handler succeeded.
53
+ */
54
+ success: boolean;
55
+ /**
56
+ * Frontend-side timestamp (ms since Unix epoch) of when the response was
57
+ * produced.
58
+ */
59
+ timestamp: number;
60
+ /**
61
+ * Echoes the request's [`UiBridgeRequestEnvelope::request_type`].
62
+ * Serializes as `type` to match the wire.
63
+ */
64
+ type: string;
65
+ [k: string]: unknown;
66
+ }
@@ -37,6 +37,7 @@ export type { BoundingBox } from './BoundingBox';
37
37
  export type { BuildPhaseConfig } from './BuildPhaseConfig';
38
38
  export type { BuiltinOverrideProposal } from './BuiltinOverrideProposal';
39
39
  export type { CanonicalStep } from './CanonicalStep';
40
+ export type { CanvasPanel } from './CanvasPanel';
40
41
  export type { CatchUpPolicy } from './CatchUpPolicy';
41
42
  export type { Category } from './Category';
42
43
  export type { CheckIssueDetail } from './CheckIssueDetail';
@@ -79,6 +80,7 @@ export type { DagApprovalStep } from './DagApprovalStep';
79
80
  export type { DagCancelStep } from './DagCancelStep';
80
81
  export type { DagLoopStep } from './DagLoopStep';
81
82
  export type { DecomposerConfig } from './DecomposerConfig';
83
+ export type { DevSeedFindingPayload } from './DevSeedFindingPayload';
82
84
  export type { DiagnosePhaseConfig } from './DiagnosePhaseConfig';
83
85
  export type { DiagnosticResult } from './DiagnosticResult';
84
86
  export type { DiscoveredElement } from './DiscoveredElement';
@@ -237,6 +239,7 @@ export type { RagCompletionEvent } from './RagCompletionEvent';
237
239
  export type { RagProcessingStatus } from './RagProcessingStatus';
238
240
  export type { RagProgressEvent } from './RagProgressEvent';
239
241
  export type { ReadConfigResponse } from './ReadConfigResponse';
242
+ export type { RecommendationReviewDecisionPayload } from './RecommendationReviewDecisionPayload';
240
243
  export type { ReflectionFixOutput } from './ReflectionFixOutput';
241
244
  export type { Region } from './Region';
242
245
  export type { RepositoryInactiveCondition } from './RepositoryInactiveCondition';
@@ -256,9 +259,15 @@ export type { RunPromptResponseData } from './RunPromptResponseData';
256
259
  export type { RunStatus } from './RunStatus';
257
260
  export type { RunType } from './RunType';
258
261
  export type { Runner } from './Runner';
262
+ export type { RunnerConnectedConnection } from './RunnerConnectedConnection';
259
263
  export type { RunnerCrash } from './RunnerCrash';
264
+ export type { RunnerFinding } from './RunnerFinding';
265
+ export type { RunnerFindingCodeContext } from './RunnerFindingCodeContext';
266
+ export type { RunnerFindingUserInput } from './RunnerFindingUserInput';
260
267
  export type { RunnerMetadata } from './RunnerMetadata';
268
+ export type { RunnerRelayMessage } from './RunnerRelayMessage';
261
269
  export type { RunnerStatus } from './RunnerStatus';
270
+ export type { RunnerStatusEvent } from './RunnerStatusEvent';
262
271
  export type { RunnerUiError } from './RunnerUiError';
263
272
  export type { RuntimeData } from './RuntimeData';
264
273
  export type { SaveWorkflowArtifactStep } from './SaveWorkflowArtifactStep';
@@ -373,6 +382,8 @@ export type { UiBridgeAction } from './UiBridgeAction';
373
382
  export type { UiBridgeAssertType } from './UiBridgeAssertType';
374
383
  export type { UiBridgeComparisonMode } from './UiBridgeComparisonMode';
375
384
  export type { UiBridgeDesignAuditStep } from './UiBridgeDesignAuditStep';
385
+ export type { UiBridgeRequestEnvelope } from './UiBridgeRequestEnvelope';
386
+ export type { UiBridgeResponseEnvelope } from './UiBridgeResponseEnvelope';
376
387
  export type { UiBridgeSeverity } from './UiBridgeSeverity';
377
388
  export type { UiBridgeStep } from './UiBridgeStep';
378
389
  export type { UiBridgeStepPhase } from './UiBridgeStepPhase';