From 56edcbcba83b8ff7f6f69ee4231f163e97df3346 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Mon, 6 Jul 2026 23:06:00 +0300 Subject: feat: expose pane scroll state --- docs/next/api/herdr-api.schema.json | 136 +++++++++++++++++++++++++++++++++++- 1 file changed, 135 insertions(+), 1 deletion(-) (limited to 'docs/next/api/herdr-api.schema.json') diff --git a/docs/next/api/herdr-api.schema.json b/docs/next/api/herdr-api.schema.json index 4b33e750..ef6a6fdb 100644 --- a/docs/next/api/herdr-api.schema.json +++ b/docs/next/api/herdr-api.schema.json @@ -745,6 +745,16 @@ "minimum": 0, "type": "integer" }, + "scroll": { + "anyOf": [ + { + "$ref": "#/schemas/event/$defs/PaneScrollInfo" + }, + { + "type": "null" + } + ] + }, "state_labels": { "additionalProperties": { "type": "string" @@ -897,6 +907,31 @@ ], "type": "object" }, + "PaneScrollInfo": { + "properties": { + "max_offset_from_bottom": { + "format": "uint64", + "minimum": 0, + "type": "integer" + }, + "offset_from_bottom": { + "format": "uint64", + "minimum": 0, + "type": "integer" + }, + "viewport_rows": { + "format": "uint64", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "offset_from_bottom", + "max_offset_from_bottom", + "viewport_rows" + ], + "type": "object" + }, "SplitDirection": { "enum": [ "right", @@ -3354,6 +3389,22 @@ ], "type": "object" }, + { + "properties": { + "pane_id": { + "type": "string" + }, + "type": { + "const": "pane.scroll_changed", + "type": "string" + } + }, + "required": [ + "type", + "pane_id" + ], + "type": "object" + }, { "properties": { "type": { @@ -5093,6 +5144,50 @@ ], "type": "object" }, + "PaneScrollChangedEvent": { + "properties": { + "pane_id": { + "type": "string" + }, + "scroll": { + "$ref": "#/schemas/subscription_event/$defs/PaneScrollInfo" + }, + "workspace_id": { + "type": "string" + } + }, + "required": [ + "pane_id", + "workspace_id", + "scroll" + ], + "type": "object" + }, + "PaneScrollInfo": { + "properties": { + "max_offset_from_bottom": { + "format": "uint64", + "minimum": 0, + "type": "integer" + }, + "offset_from_bottom": { + "format": "uint64", + "minimum": 0, + "type": "integer" + }, + "viewport_rows": { + "format": "uint64", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "offset_from_bottom", + "max_offset_from_bottom", + "viewport_rows" + ], + "type": "object" + }, "ReadFormat": { "enum": [ "text", @@ -5116,13 +5211,17 @@ }, { "$ref": "#/schemas/subscription_event/$defs/PaneAgentStatusChangedEvent" + }, + { + "$ref": "#/schemas/subscription_event/$defs/PaneScrollChangedEvent" } ] }, "SubscriptionEventKind": { "enum": [ "pane.output_matched", - "pane.agent_status_changed" + "pane.agent_status_changed", + "pane.scroll_changed" ], "type": "string" } @@ -6377,6 +6476,16 @@ "minimum": 0, "type": "integer" }, + "scroll": { + "anyOf": [ + { + "$ref": "#/schemas/success_response/$defs/PaneScrollInfo" + }, + { + "type": "null" + } + ] + }, "state_labels": { "additionalProperties": { "type": "string" @@ -6811,6 +6920,31 @@ ], "type": "object" }, + "PaneScrollInfo": { + "properties": { + "max_offset_from_bottom": { + "format": "uint64", + "minimum": 0, + "type": "integer" + }, + "offset_from_bottom": { + "format": "uint64", + "minimum": 0, + "type": "integer" + }, + "viewport_rows": { + "format": "uint64", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "offset_from_bottom", + "max_offset_from_bottom", + "viewport_rows" + ], + "type": "object" + }, "PaneSwapReason": { "enum": [ "no_neighbor", -- cgit v1.2.3