harmos-runtime 0.1.13

Harmos runtime: managed state, undo, recovery, background work and typed streams.
Documentation
# === Package === #

[package]
include = [".cargo_vcs_info.json", "CHANGELOG.md", "Cargo.lock", "Cargo.toml", "benches/grpc/main.rs", "benches/guest/main.rs", "benches/operations/main.rs", "benches/runtime/main.rs", "benches/sidecar/commands.rs", "benches/sidecar/fixture.rs", "benches/sidecar/main.rs", "benches/sidecar/system.rs", "benches/sidecar/transfers.rs", "benches/simulation/main.rs", "benches/storage/contention.rs", "benches/storage/directories.rs", "benches/storage/files.rs", "benches/storage/filesystem.rs", "benches/storage/fixture.rs", "benches/storage/ingestion.rs", "benches/storage/main.rs", "benches/storage/metrics.rs", "benches/storage/query.rs", "benches/storage/transforms.rs", "benches/streams/main.rs", "src/application.rs", "src/config.rs", "src/error.rs", "src/filesystem/error.rs", "src/filesystem/input.rs", "src/filesystem/mod.rs", "src/filesystem/publication/mod.rs", "src/filesystem/publication/unix.rs", "src/filesystem/publication/windows.rs", "src/grpc/authentication.rs", "src/grpc/codec.rs", "src/grpc/decoding.rs", "src/grpc/dynamic.rs", "src/grpc/envelope.rs", "src/grpc/generation.rs", "src/grpc/inbound.rs", "src/grpc/input.rs", "src/grpc/listener.rs", "src/grpc/manager.rs", "src/grpc/middleware.rs", "src/grpc/native.rs", "src/grpc/origin.rs", "src/grpc/reflection.rs", "src/grpc/routing.rs", "src/grpc/server/concurrency.rs", "src/grpc/server.rs", "src/grpc.rs", "src/guest/collection.rs", "src/guest/host/mod.rs", "src/guest/host/sdk.rs", "src/guest/host/serving.rs", "src/guest/host/session.rs", "src/guest/mod.rs", "src/lib.rs", "src/observers/driver.rs", "src/observers/mod.rs", "src/observers/native.rs", "src/operations/admission.rs", "src/operations/authored.rs", "src/operations/authorization.rs", "src/operations/binding.rs", "src/operations/caller.rs", "src/operations/catalog.rs", "src/operations/children.rs", "src/operations/component.rs", "src/operations/context.rs", "src/operations/execution.rs", "src/operations/finalization.rs", "src/operations/grpc.rs", "src/operations/handler.rs", "src/operations/instances.rs", "src/operations/invocation.rs", "src/operations/lane.rs", "src/operations/manager/admission.rs", "src/operations/manager/cache.rs", "src/operations/manager/construction.rs", "src/operations/manager/discovery.rs", "src/operations/manager/entry.rs", "src/operations/manager/grants.rs", "src/operations/manager/inspection.rs", "src/operations/manager/lookup.rs", "src/operations/manager/mod.rs", "src/operations/manager/registration.rs", "src/operations/manager/registry.rs", "src/operations/manager/residents.rs", "src/operations/manager/retirement.rs", "src/operations/manager/shutdown.rs", "src/operations/manager/staging.rs", "src/operations/manager/submission.rs", "src/operations/middleware.rs", "src/operations/mod.rs", "src/operations/native.rs", "src/operations/refusal.rs", "src/operations/registration.rs", "src/operations/remote.rs", "src/operations/resident.rs", "src/operations/scope.rs", "src/operations/sdk.rs", "src/operations/session.rs", "src/operations/streaming.rs", "src/operations/surface.rs", "src/operations/wire.rs", "src/plugin/backend.rs", "src/plugin/definition.rs", "src/plugin/definitions.rs", "src/plugin/events.rs", "src/plugin/host/guest.rs", "src/plugin/host/progress.rs", "src/plugin/host/sidecar.rs", "src/plugin/host.rs", "src/plugin/manager/retirement.rs", "src/plugin/manager.rs", "src/plugin/mod.rs", "src/plugin/reload.rs", "src/plugin/router.rs", "src/plugin/scope.rs", "src/plugin/status.rs", "src/prelude.rs", "src/records/listeners.rs", "src/records/manager.rs", "src/records/mod.rs", "src/records/registration.rs", "src/runtime/boot.rs", "src/runtime/launch.rs", "src/runtime/lifecycle.rs", "src/runtime.rs", "src/services/mod.rs", "src/services/restart.rs", "src/services/runner.rs", "src/services/sidecar/carrier.rs", "src/services/sidecar/cleanup.rs", "src/services/sidecar/configuration.rs", "src/services/sidecar/connection.rs", "src/services/sidecar/exchange.rs", "src/services/sidecar/frames.rs", "src/services/sidecar/handshake.rs", "src/services/sidecar/lifecycle.rs", "src/services/sidecar/managed.rs", "src/services/sidecar/mod.rs", "src/services/sidecar/observers.rs", "src/services/sidecar/physical.rs", "src/sidecar/mod.rs", "src/simulation/clock.rs", "src/simulation/entropy.rs", "src/simulation/executor.rs", "src/simulation/mod.rs", "src/state/capture.rs", "src/state/envelope.rs", "src/state/history.rs", "src/state/managed.rs", "src/state/manager.rs", "src/state/mod.rs", "src/state/record.rs", "src/state/recovery.rs", "src/state/snapshot.rs", "src/state/snapshot_codec.rs", "src/state/transaction.rs", "src/state/writer.rs", "src/storage/attachments.rs", "src/storage/capture.rs", "src/storage/consumer.rs", "src/storage/manager.rs", "src/storage/mod.rs", "src/storage/state/journal.rs", "src/storage/state/mod.rs", "src/storage/writes.rs", "src/streams/batches.rs", "src/streams/definition.rs", "src/streams/demand.rs", "src/streams/ingest.rs", "src/streams/listeners.rs", "src/streams/manager.rs", "src/streams/mod.rs", "src/streams/publication.rs", "src/streams/publications.rs", "src/streams/reader.rs", "src/streams/registration.rs", "src/streams/series.rs", "src/streams/staging.rs", "src/streams/window.rs", "src/supervision/cleanup.rs", "src/supervision/dependencies.rs", "src/supervision/executor.rs", "src/supervision/instance.rs", "src/supervision/listeners.rs", "src/supervision/mod.rs", "src/supervision/task.rs", "tests/acceptance/main.rs", "tests/acceptance/schematic.rs", "tests/acceptance/storage.rs", "tests/application/macros.rs", "tests/application/main.rs", "tests/fixtures/benchmark_grpc.rs", "tests/fixtures/benchmark_protocol.rs", "tests/fixtures/grpc/ca.pem", "tests/fixtures/grpc/server-key.pem", "tests/fixtures/grpc/server.pem", "tests/fixtures/process_client.rs", "tests/fixtures/process_provider.rs", "tests/fixtures/stream_consumer.rs", "tests/integration/main.rs", "tests/integration/report.rs", "tests/observers/execution.rs", "tests/observers/host_accessor.rs", "tests/observers/lifecycle.rs", "tests/observers/main.rs", "tests/observers/native.rs", "tests/observers/registration.rs", "tests/operations/admission.rs", "tests/operations/causation.rs", "tests/operations/children.rs", "tests/operations/clock.rs", "tests/operations/execution.rs", "tests/operations/host.rs", "tests/operations/lanes.rs", "tests/operations/main.rs", "tests/operations/middleware.rs", "tests/operations/outcomes.rs", "tests/operations/policy.rs", "tests/operations/resources.rs", "tests/operations/scoped.rs", "tests/operations/shutdown.rs", "tests/operations/wire/artifact.rs", "tests/operations/wire/authored.rs", "tests/operations/wire/authored_lifecycle.rs", "tests/operations/wire/cases.rs", "tests/operations/wire/dynamic.rs", "tests/operations/wire/endpoints.rs", "tests/operations/wire/grpc.rs", "tests/operations/wire/grpc_manager.rs", "tests/operations/wire/grpc_network.rs", "tests/operations/wire/host.rs", "tests/operations/wire/mod.rs", "tests/operations/wire/owned_wire.rs", "tests/operations/wire/plugin.rs", "tests/operations/wire/plugin_activation.rs", "tests/plugin/activation.rs", "tests/plugin/main.rs", "tests/plugin/reload.rs", "tests/plugin/retirement.rs", "tests/runtime/boot.rs", "tests/runtime/lifecycle/application.rs", "tests/runtime/lifecycle/mod.rs", "tests/runtime/lifecycle/partial.rs", "tests/runtime/lifecycle/shutdown.rs", "tests/runtime/main.rs", "tests/runtime/plugin.rs", "tests/services/lifecycle.rs", "tests/services/main.rs", "tests/services/policy.rs", "tests/services/readiness.rs", "tests/services/recovery.rs", "tests/services/scopes.rs", "tests/services/shutdown.rs", "tests/sidecar/admission.rs", "tests/sidecar/composition.rs", "tests/sidecar/consumption.rs", "tests/sidecar/dependency_routing.rs", "tests/sidecar/grants.rs", "tests/sidecar/graph.rs", "tests/sidecar/listeners.rs", "tests/sidecar/main.rs", "tests/sidecar/observer_demand.rs", "tests/sidecar/observer_hosts.rs", "tests/sidecar/operation_lifecycle.rs", "tests/sidecar/operations.rs", "tests/sidecar/process.rs", "tests/sidecar/publication_delivery.rs", "tests/sidecar/publications.rs", "tests/sidecar/routing.rs", "tests/sidecar/status.rs", "tests/sidecar/streams.rs", "tests/sidecar/visibility.rs", "tests/simulation/inverses.rs", "tests/simulation/main.rs", "tests/state/capture.rs", "tests/state/consumers.rs", "tests/state/durability.rs", "tests/state/durability_atomic_commit.rs", "tests/state/durability_delivery.rs", "tests/state/durability_history.rs", "tests/state/durability_recovery.rs", "tests/state/durability_retention.rs", "tests/state/durability_wire.rs", "tests/state/idempotency.rs", "tests/state/listeners.rs", "tests/state/main.rs", "tests/state/managed.rs", "tests/state/ordering.rs", "tests/state/poison.rs", "tests/state/records.rs", "tests/state/undo.rs", "tests/storage/coordinator.rs", "tests/storage/main.rs", "tests/storage/manager/mutations.rs", "tests/storage/manager/production.rs", "tests/storage/manager/recovery.rs", "tests/storage/manager.rs", "tests/storage/operations/deletion.rs", "tests/storage/operations/files.rs", "tests/storage/operations/objects.rs", "tests/storage/operations/plugins.rs", "tests/storage/operations/queries.rs", "tests/storage/operations/schemas.rs", "tests/storage/operations/writes.rs", "tests/storage/operations.rs", "tests/storage/runtime.rs", "tests/storage/state/admission.rs", "tests/storage/state/boot.rs", "tests/storage/state/capture.rs", "tests/storage/state/composition.rs", "tests/storage/state/files.rs", "tests/storage/state/managed.rs", "tests/storage/state/reconcile.rs", "tests/storage/state/snapshots.rs", "tests/storage/state.rs", "tests/streams/allocation.rs", "tests/streams/listeners.rs", "tests/streams/main.rs", "tests/streams/retention.rs", "tests/streams/series.rs", "tests/streams/stream_batches.rs", "tests/streams/streams_macros.rs", "tests/support/allocation.rs", "tests/support/app/minimal.rs", "tests/support/app.rs", "tests/support/durability.rs", "tests/support/fixtures.rs", "tests/support/journal.rs", "tests/support/mod.rs", "tests/support/native_publications.rs", "tests/support/native_streams/plugin.rs", "tests/support/native_streams.rs", "tests/support/operations_fixture.rs", "tests/support/pending.rs", "tests/support/process_graph_contract.rs", "tests/support/report.rs", "tests/support/runtime_mirror.rs", "tests/support/runtime_probe.rs", "tests/support/simulation.rs", "tests/support/storage_fixture.rs", "tests/support/stream_batches.rs", "tests/support/witness.rs", "tests/system/guest.rs", "tests/system/guest_contract/dependencies.rs", "tests/system/guest_contract/dependency_admission.rs", "tests/system/guest_contract/lifecycle.rs", "tests/system/guest_contract/limits.rs", "tests/system/guest_contract/mod.rs", "tests/system/guest_contract/operations.rs", "tests/system/guest_contract/publications.rs", "tests/system/main.rs", "tests/system/runtime.rs", "tests/system/schematic.rs", "tests/system/sidecar.rs"]
name = "harmos-runtime"
description = "Harmos runtime: managed state, undo, recovery, background work and typed streams."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
publish.workspace = true
autotests = false

version = { workspace = true }

# === Package Targets === #

[[bin]]
name = "harmos-stream-consumer-fixture"
path = "tests/fixtures/stream_consumer.rs"
required-features = ["plugin-sidecar"]
test = false
bench = false

[[bin]]
name = "harmos-grpc-benchmark-fixture"
path = "tests/fixtures/benchmark_grpc.rs"
required-features = ["grpc"]
test = false
bench = false

# === Features === #

# Core Runtime And Authoring Are Always Available
[features]
default = []
plugin = ["dep:petgraph", "dep:semver", "semver/serde", "dep:harmos-packaging"]
plugin-sidecar = ["plugin", "dep:harmos-sidecar", "harmos-sidecar/kit", "harmos-sidecar/derive", "tokio/io-util", "tokio/process"]
plugin-guest = ["plugin", "dep:harmos-guest", "harmos-guest/kit", "harmos-guest/derive", "dep:wasmtime"]
grpc = [
  "harmos-sdk/grpc",
  "generate-proto",
  "dep:tonic-reflection",
  "dep:http-body",
  "dep:heck",
  "dep:bytes",
  "dep:tonic",
  "dep:prost-reflect",
  "dep:tonic-web",
  "dep:tower",
  "dep:tower-http",
  "tonic/tls-ring",
]
# Protobuf Descriptor Projection For The Runtime Transport.
generate-proto = ["dep:harmos-packaging", "harmos-packaging/generate-proto"]
# Hands Out The Signal Kernels; Core Reductions Use Them Regardless.
signal = []
signal-fft = ["signal", "harmos-storage/fft"]
simulation = ["tokio/test-util"]

# === Dependencies === #

[dependencies]
# Local
harmos-domain = { workspace = true, features = ["derive"] }
harmos-guest = { workspace = true, optional = true }
harmos-macros = { workspace = true, default-features = true }
harmos-operations = { workspace = true, features = ["runtime"] }
harmos-packaging = { workspace = true, optional = true }
harmos-sdk = { workspace = true, features = ["streaming"] }
harmos-storage = { workspace = true }

# Git

# Error Handling
thiserror = { workspace = true, default-features = true }

# Logging
tracing = { workspace = true, default-features = true }

# Utilities
bytes = { workspace = true, optional = true }
# Retry Windows Use Native Entropy Or Web Crypto On Browser WebAssembly.
getrandom = { workspace = true, features = ["std", "wasm_js"] }
heck = { workspace = true, optional = true }
petgraph = { workspace = true, default-features = true, optional = true }
semver = { workspace = true, default-features = true, optional = true }
sha2 = { workspace = true, default-features = true }

# Serialization
prost-reflect = { workspace = true, optional = true, features = ["serde"] }
serde = { workspace = true, default-features = true }
serde_json = { workspace = true, default-features = true, features = ["raw_value"] }

# Configuration

# Filesystem
tempfile = { workspace = true, default-features = true }

# Parsing

# Concurrency

# Async
futures-core = { workspace = true, default-features = true }
futures-util = { workspace = true }
tokio = { workspace = true, default-features = true, features = ["rt", "sync", "time", "macros"] }

# Networking
http-body = { workspace = true, optional = true }
tonic = { workspace = true, default-features = true, optional = true }
tonic-reflection = { workspace = true, features = ["server"], optional = true }
tonic-web = { workspace = true, optional = true }
tower = { workspace = true, optional = true }
tower-http = { workspace = true, optional = true }

# Storage

# UI

# Testing

# === Build Dependencies === #

# === Dev Dependencies === #

[dev-dependencies]
# Local
harmos-packaging = { path = "../harmos-packaging", default-features = false, features = ["generate-proto"] }
harmos-sdk = { path = "../harmos-sdk", default-features = false, features = ["grpc"] }
schematic-domain = { path = "../../examples/schematic/domain" }
schematic-operations = { path = "../../examples/schematic/operations" }

# Git

# Error Handling

# Logging
tracing-perfetto-file = { workspace = true }
tracing-subscriber = { workspace = true }

# Utilities

# Serialization
arrow-array = { workspace = true }
arrow-buffer = { workspace = true }
arrow-data = { workspace = true }
arrow-ipc = { workspace = true }
arrow-schema = { workspace = true }
arrow-select = { workspace = true }
base64 = { workspace = true }
flatbuffers = { workspace = true }
prost = { workspace = true, features = ["derive"] }
protoc-bin-vendored = { workspace = true }

# Configuration

# Filesystem
tar = { workspace = true }
tempfile = { workspace = true, default-features = true }

# Parsing
syn = { workspace = true, default-features = true, features = ["visit"] }

# Concurrency

# Async
futures-util = { workspace = true, features = ["async-await-macro"] }
tokio = { workspace = true, default-features = true, features = [
  "io-util",
  "macros",
  "process",
  "rt",
  "rt-multi-thread",
  "test-util",
  "time",
] }

# Networking
http-body-util = { workspace = true }

# Storage

# UI

# Testing
criterion = { workspace = true, default-features = false }

# === Target Dependencies === #

[target.'cfg(windows)'.dependencies]
# Local

# Git

# Error Handling

# Logging

# Utilities
windows-sys = { workspace = true, features = ["Win32_Storage_FileSystem", "Win32_System_WindowsProgramming"] }

# Serialization

# Configuration

# Filesystem

# Parsing

# Concurrency

# Async

# Networking

# Storage

# UI

# Testing

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
# Local
harmos-sidecar = { workspace = true, optional = true }

# Git

# Error Handling

# Logging

# Utilities
wasmtime = { workspace = true, optional = true }

# Serialization

# Configuration

# Filesystem

# Parsing

# Concurrency

# Async
# The executable throughput fixture owns four native runtime workers.
tokio = { workspace = true, default-features = true, features = ["rt-multi-thread"] }

# Networking

# Storage

# UI

# Testing

# === Test Targets === #

[[test]]
name = "integration"
path = "tests/integration/main.rs"

[[test]]
name = "acceptance"
path = "tests/acceptance/main.rs"

[[test]]
name = "system"
path = "tests/system/main.rs"

# === Bench Targets === #

[[bench]]
name = "integration-runtime"
path = "benches/runtime/main.rs"
harness = false

[[bench]]
name = "integration-operations"
path = "benches/operations/main.rs"
harness = false

[[bench]]
name = "integration-storage"
path = "benches/storage/main.rs"
harness = false

[[bench]]
name = "integration-streams"
path = "benches/streams/main.rs"
harness = false

[[bench]]
name = "integration-sidecar"
path = "benches/sidecar/main.rs"
harness = false
required-features = ["plugin-sidecar"]

[[bench]]
name = "system-sidecar-host"
path = "benches/sidecar/system.rs"
harness = false
required-features = ["plugin-sidecar"]

[[bench]]
name = "system-guest"
path = "benches/guest/main.rs"
harness = false
required-features = ["plugin-guest"]

[[bench]]
name = "system-grpc"
path = "benches/grpc/main.rs"
harness = false
required-features = ["grpc"]

[[bench]]
name = "integration-simulation"
path = "benches/simulation/main.rs"
harness = false
required-features = ["simulation"]

# === Example Targets === #

# === Workspace Lints === #

# === Lints === #

[lints]
workspace = true

# === Profiles === #

# === Patches === #

# === Other === #