use schemars::JsonSchema;
use serde::Deserialize;
#[derive(Debug, Deserialize, JsonSchema)]
pub struct CreateJobInput {
#[schemars(description = "The task input text to send to the provider")]
pub input: String,
#[schemars(description = "Input type: 'text' or 'url'")]
pub input_type: Option<String>,
#[schemars(description = "Provider npub (bech32) to direct the job to. Omit for broadcast.")]
pub provider_npub: Option<String>,
#[schemars(description = "Bid amount in lamports (e.g. 10000000 = 0.01 SOL)")]
pub bid_amount: Option<u64>,
#[schemars(description = "Job kind offset (default 100 for kind:5100)")]
pub kind_offset: Option<u16>,
#[schemars(description = "Capability tags for the job request")]
pub tags: Option<Vec<String>>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub struct GetJobResultInput {
#[schemars(description = "Event ID (hex) of the job request")]
pub job_event_id: String,
#[schemars(
description = "Provider npub (bech32) to filter results by. Only results from this provider will be accepted. Omit to accept from any provider."
)]
pub provider_npub: Option<String>,
#[schemars(description = "Job kind offset (default 100 for kind:6100)")]
pub kind_offset: Option<u16>,
#[schemars(description = "Timeout in seconds to wait for a result (default: 60)")]
pub timeout_secs: Option<u64>,
}