pub struct ReplConfig {
pub script_name: String,
pub limits: Option<ResourceLimits>,
pub type_check: bool,
pub type_check_stubs: Option<String>,
pub type_check_config: TypeCheckingConfig,
pub assert_message_annotations: AssertMessageAnnotations,
pub print_flush_interval: Option<Duration>,
pub os_policy: OsPolicy,
pub persistence: Persistence,
pub profile: Option<String>,
}Expand description
Arguments for the REPL session a checkout creates — mirrors
MontyRepl’s constructor surface.
Fields§
§script_name: StringScript name used in tracebacks and type-check diagnostics, and the
basis of the sandbox’s __file__: its final path component placed
under the working directory a feed starts in (/main.py at the root).
limits: Option<ResourceLimits>Sandbox resource limits enforced inside the worker. None means
unlimited (except monty’s standard recursion-depth default).
type_check: boolType-check every fed snippet before executing it.
type_check_stubs: Option<String>Stub declarations made available to type checking.
type_check_config: TypeCheckingConfigHow the worker renders typing diagnostics. Chosen here rather than on the raised error because the structured diagnostics never leave the worker — only the rendered text crosses the wire.
assert_message_annotations: AssertMessageAnnotationsGive failed assert statements pytest-style introspected messages
(see limitations/assert.md). On by default with a 120-byte
operand-repr truncation; MaxBytes customizes the truncation.
print_flush_interval: Option<Duration>How long the worker may hold buffered print() output before sending
it, batching a burst of prints into one Print event instead of one
each. None takes the worker’s default
(crate::DEFAULT_PRINT_FLUSH_INTERVAL); Duration::ZERO restores line
buffering, delivering each completed line on its own.
Output is always flushed before a suspension or a turn ends, so this only sets how long live output may lag — never what arrives, or in what order. The wire carries whole milliseconds, so a positive interval below 1 ms is sent as 1 ms rather than rounding down into the line-buffering sentinel.
os_policy: OsPolicySession clock, initial random state and sleep policy; defaults use the worker’s clock and entropy.
CallHost delegates to the caller’s OS handler through TurnEvent::OsCall.
System sleeps set system_sleep for the caller to await directly; Zero sleeps return immediately.
persistence: PersistenceWhether a serving relay may store the session; subprocess workers ignore it.
profile: Option<String>The serving relay’s profile to run the session under; None takes the
relay’s default. Subprocess workers ignore it.