aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema/workspaces.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-07-13 03:26:03 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-07-13 03:30:13 +0300
commit5cfe5e5e730246948b0c9428ad876b6938590aad (patch)
tree53d4bbe1aff6887f63f279eed1b5e4e11e7331b7 /src/api/schema/workspaces.rs
parent7f3364a468f7dcfd8c9c84e5737fe5699f0e3a93 (diff)
feat: add configurable sidebar metadata tokens
Diffstat (limited to 'src/api/schema/workspaces.rs')
-rw-r--r--src/api/schema/workspaces.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/api/schema/workspaces.rs b/src/api/schema/workspaces.rs
index 6934539c..a6177982 100644
--- a/src/api/schema/workspaces.rs
+++ b/src/api/schema/workspaces.rs
@@ -29,6 +29,19 @@ pub struct WorkspaceMoveParams {
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
+pub struct WorkspaceReportMetadataParams {
+ pub workspace_id: String,
+ pub source: String,
+ #[schemars(schema_with = "super::common::metadata_token_patch_schema")]
+ pub tokens: HashMap<String, Option<String>>,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub seq: Option<u64>,
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ #[schemars(range(min = 1, max = 86_400_000))]
+ pub ttl_ms: Option<u64>,
+}
+
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
pub struct WorkspaceInfo {
pub workspace_id: String,
pub number: usize,
@@ -38,6 +51,9 @@ pub struct WorkspaceInfo {
pub tab_count: usize,
pub active_tab_id: String,
pub agent_status: AgentStatus,
+ #[serde(default, skip_serializing_if = "HashMap::is_empty")]
+ #[schemars(schema_with = "super::common::metadata_token_values_schema")]
+ pub tokens: HashMap<String, String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub worktree: Option<WorkspaceWorktreeInfo>,
}