Skip to main content

NativeTsRuntime

Struct NativeTsRuntime 

Source
pub struct NativeTsRuntime { /* private fields */ }
Expand description

Runtime that compiles TypeScript to a native executable and speaks JSON over stdin/stdout with that executable.

Implementations§

Source§

impl NativeTsRuntime

Source

pub const DEFAULT_MAX_STDOUT_BYTES: usize

Default maximum bytes retained from a compiler or runtime stdout pipe.

Source

pub const DEFAULT_MAX_STDERR_BYTES: usize

Default maximum bytes retained from a compiler or runtime stderr pipe.

Source

pub fn new(config: NativeTsRuntimeConfig) -> Self

Source

pub fn config(&self) -> &NativeTsRuntimeConfig

Source

pub fn with_output_limits( self, max_stdout_bytes: usize, max_stderr_bytes: usize, ) -> Self

Override the independent byte limits for each compiler and runtime stdout/stderr pipe.

Exceeding either limit terminates the direct child process and returns a runtime error. A zero limit allows an empty pipe but rejects its first byte of output.

Source

pub fn max_stdout_bytes(&self) -> usize

Return the configured byte limit for each stdout pipe.

Source

pub fn max_stderr_bytes(&self) -> usize

Return the configured byte limit for each stderr pipe.

Source

pub fn with_compile_timeout(self, timeout: Duration) -> Self

Set the maximum duration of each cold compiler process.

Cache hits do not start a compiler and therefore do not consume this timeout. By default, compilation has no runtime-owned timeout and remains bounded only by caller cancellation or an outer host timeout.

Source

pub fn with_invocation_timeout(self, timeout: Duration) -> Self

Set the maximum duration of each workflow or step artifact invocation.

The timeout covers writing the complete request to stdin, reading both output pipes, and waiting for process exit. By default, invocation has no runtime-owned timeout and remains bounded only by caller cancellation or an outer host timeout.

Source

pub fn compile_timeout(&self) -> Option<Duration>

Return the configured cold-compilation timeout, if any.

Source

pub fn invocation_timeout(&self) -> Option<Duration>

Return the configured workflow and step invocation timeout, if any.

Source

pub async fn preflight( &self, spec: &WorkflowSpec, ) -> Result<NativeTsRuntimePreflight>

Trait Implementations§

Source§

impl Clone for NativeTsRuntime

Source§

fn clone(&self) -> NativeTsRuntime

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NativeTsRuntime

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FlowRuntime for NativeTsRuntime

Source§

fn run_workflow<'life0, 'async_trait>( &'life0 self, invocation: WorkflowInvocation, ) -> Pin<Box<dyn Future<Output = Result<RuntimeCommand>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Replay the deterministic workflow function and return the next command.
Source§

fn run_step<'life0, 'async_trait>( &'life0 self, invocation: StepInvocation, ) -> Pin<Box<dyn Future<Output = Result<JsonValue>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute one side-effecting step. The engine persists success/failure.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more