Skip to main content

reifydb_core/event/
operator.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2026 ReifyDB
3
4use std::path::PathBuf;
5
6use reifydb_value::value::constraint::TypeConstraint;
7
8use crate::{
9	common::{OperatorClass, WindowRequirements},
10	define_event,
11};
12
13#[derive(Debug, Clone)]
14pub struct OperatorColumn {
15	pub name: String,
16
17	pub field_type: TypeConstraint,
18
19	pub description: String,
20}
21
22define_event! {
23
24	pub struct OperatorLoadedEvent {
25
26		pub operator: String,
27
28		pub library_path: PathBuf,
29
30		pub abi: Option<u32>,
31
32		pub version: String,
33
34		pub description: String,
35
36		pub input: Vec<OperatorColumn>,
37
38		pub output: Vec<OperatorColumn>,
39
40		pub capabilities: u32,
41
42		pub class: OperatorClass,
43
44		pub window: WindowRequirements,
45
46		pub unmanaged_because: Option<String>,
47	}
48}