pub enum RunEvent {
Show 16 variants
Heartbeat {
ts: i64,
},
RunStarted {
run_id: String,
project_id: String,
repos: Vec<String>,
started_at_ms: i64,
},
ProjectStarted {
run_id: String,
project_id: String,
project_name: String,
started_at_ms: i64,
},
PhaseStarted {
run_id: String,
project_id: String,
phase: String,
started_at_ms: i64,
},
PhaseFinished {
run_id: String,
project_id: String,
phase: String,
status: String,
message: Option<String>,
finished_at_ms: i64,
},
EnvironmentStatus {
run_id: String,
project_id: String,
environment_run_id: String,
status: String,
message: Option<String>,
target_urls: Vec<String>,
ts_ms: i64,
},
AuthSessionStatus {
run_id: String,
project_id: String,
role: String,
status: String,
acquired_by: String,
message: Option<String>,
ts_ms: i64,
},
LiveVerificationCapabilities {
run_id: String,
project_id: String,
report: Value,
ts_ms: i64,
},
RepoStarted {
run_id: String,
project_id: String,
repo: String,
started_at_ms: i64,
},
RepoStaticDone {
run_id: String,
project_id: String,
repo: String,
n_diags: u32,
elapsed_ms: i64,
},
RepoDynamicDone {
run_id: String,
project_id: String,
repo: String,
elapsed_ms: i64,
},
RepoFailed {
run_id: String,
project_id: String,
repo: String,
message: String,
elapsed_ms: i64,
},
RepoIngestFailed {
run_id: String,
project_id: String,
repo: String,
message: String,
},
RepoFinished {
run_id: String,
project_id: String,
repo: String,
outcome: RepoOutcomeTag,
elapsed_ms: i64,
},
ProjectFinished {
run_id: String,
project_id: String,
finished_at_ms: i64,
},
RunFinished {
run_id: String,
project_id: String,
finished_at_ms: i64,
wall_clock_ms: i64,
succeeded: u32,
inconclusive: u32,
failed: u32,
},
}Variants§
Heartbeat
RunStarted
Run-level lifecycle: dispatcher accepted the work and is about to fan out per-repo jobs.
ProjectStarted
Project-level lifecycle: emitted once per project before the per-repo fan-out begins. A run scans exactly one project today; the event carries the project’s stable id and human-facing name so subscribers can group per-repo events under the right project without a side lookup.
PhaseStarted
PhaseFinished
Fields
EnvironmentStatus
Fields
AuthSessionStatus
Fields
LiveVerificationCapabilities
RepoStarted
Per-repo lifecycle: a rayon job picked up repo and the static
pass is running.
RepoStaticDone
Static pass returned (success or no findings).
RepoDynamicDone
Dynamic / sandbox pass returned. Reserved for the sandbox
publisher; the static-pass dispatcher does not emit this yet
and the variant exists so the sandbox crate can publish into
the same bus without a RunEvent shape change.
RepoFailed
Per-repo failure: the static pass exited non-zero, panicked, or the scan lane refused to start (e.g. binary missing).
RepoIngestFailed
Ingest-time failure: the repo could not be cloned, fetched, or
snapshotted before the dispatcher saw a workspace. Emitted from
the caller (CLI / API drive-scan path) before RunStarted, so
subscribers connected at run start time can reconstruct the full
attempted-repo set from RunStarted.repos alone; the failing
repo is included there and RepoIngestFailed carries the
upstream error string for UI surfacing.
RepoFinished
Per-repo terminator. Always emitted regardless of outcome so subscribers can drop bookkeeping for the repo without diffing the success / failure event streams.
ProjectFinished
Project-level terminator. Emitted once every repo in the project
has produced a RepoFinished but before the run-level
RunFinished.
RunFinished
Run-level terminator. Emitted once every repo has produced a
RepoFinished.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RunEvent
impl<'de> Deserialize<'de> for RunEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl TS for RunEvent
impl TS for RunEvent
Source§type WithoutGenerics = RunEvent
type WithoutGenerics = RunEvent
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or (). The only requirement for these dummy types is that
EXPORT_TO must be None. Read moreSource§type OptionInnerType = RunEvent
type OptionInnerType = RunEvent
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn decl_concrete(cfg: &Config) -> String
fn decl_concrete(cfg: &Config) -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl(cfg: &Config) -> String
fn decl(cfg: &Config) -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline(cfg: &Config) -> String
fn inline(cfg: &Config) -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened(cfg: &Config) -> String
fn inline_flattened(cfg: &Config) -> String
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported, relative to the output directory.
The returned path does not include any base directory. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
Source§fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export. Read more