distributed_cli 4.0.0

The `distributed` CLI for Distributed applications: contracts check/accept, scaffold projects, describe manifests, compile clients, and render schema artifacts. Also a library so other CLIs (e.g. hops) can mount its commands.
Documentation
mod artifact;
mod commands;
mod common;
mod operation;
mod project;
mod typescript;

pub(crate) use project::render_project;

#[cfg(test)]
pub(crate) fn render_operation_artifact_json(
    operation: &super::graphql::CompiledOperation,
    manifest: &super::manifest::ClientManifest,
) -> Result<String, super::ClientCompileError> {
    artifact::render_operation_artifact_json(operation, manifest)
}

#[cfg(test)]
pub(crate) fn render_operation_module(
    operation: &super::graphql::CompiledOperation,
    manifest: &super::manifest::ClientManifest,
) -> Result<String, super::ClientCompileError> {
    operation::render_operation_module(operation, manifest)
}