moonbit-community/proton/command does not have a README file

AppCommandRequestContext

Request-scoped context for one bridged app command dispatch.

CommandContext

Request-scoped context supplied to typed application command handlers.

Lifecycle-owned task and event capabilities are added by the application runner; the registrar keeps handlers independent from transport details.

CommandWindow

Window-scoped application capabilities available to one command request. The native window identity and implementation remain owned by the Proton runtime; extensions can only invoke these semantic operations.

ExtensionSpecError

pub(all) suberror ExtensionSpecError {
InvalidContract(detail~ : String)
ForeignCommandRoute(extension_id~ : String, operation_name~ : String)
} derive(Eq)

Invalid typed metadata supplied while constructing an extension spec.

ExtensionSpecError::equal

ExtensionSpecError::message

fn ExtensionSpecError::message(self : ExtensionSpecError) -> String

ExtensionSpecError::not_equal

ExtensionSpecError::output

fn ExtensionSpecError::output(self : ExtensionSpecError, logger : &Logger) -> Unit

ExtensionSpecError::to_string

fn ExtensionSpecError::to_string(self : ExtensionSpecError) -> String

PermissionScopeValidationError

pub(all) suberror PermissionScopeValidationError {
Invalid(detail~ : String)
} derive(Eq)

A stable validation failure for an extension's renderer permission scope.

PermissionScopeValidationError::message

PermissionScopeValidationError::not_equal

PermissionScopeValidationError::output

PermissionScopeValidationError::to_string

AppCommandApiDescriptor

pub struct AppCommandApiDescriptor {
api_name : String
}

One JavaScript-facing API descriptor exposed by a user app command extension.

AppCommandApiDescriptor::AppCommandApiDescriptor

fn AppCommandApiDescriptor::AppCommandApiDescriptor(api_name : String) -> AppCommandApiDescriptor

AppCommandApiDescriptor::api_name

fn AppCommandApiDescriptor::api_name(self : AppCommandApiDescriptor) -> String

AppCommandExtensionDescriptor

pub struct AppCommandExtensionDescriptor {
id : String
js_namespace : String
apis : Array[AppCommandApiDescriptor]
scripts : Array[String]
}

JavaScript bridge metadata exposed by a user app command extension.

AppCommandExtensionDescriptor::AppCommandExtensionDescriptor

fn AppCommandExtensionDescriptor::AppCommandExtensionDescriptor(id : String, js_namespace : String, apis : Array[AppCommandApiDescriptor], scripts? : Array[String]) -> AppCommandExtensionDescriptor

AppCommandExtensionRegistry

pub struct AppCommandExtensionRegistry {
specs : Map[String, AppCommandExtensionSpec]
registration_order : Array[String]
}

Registry of command extension specs available to one user app process.

AppCommandExtensionRegistry::AppCommandExtensionRegistry

fn AppCommandExtensionRegistry::AppCommandExtensionRegistry() -> AppCommandExtensionRegistry

AppCommandExtensionRegistry::get

AppCommandExtensionRegistry::ordered_names

AppCommandExtensionRegistry::registered_ids

fn AppCommandExtensionRegistry::registered_ids(self : AppCommandExtensionRegistry) -> Array[String]

AppCommandExtensionRegistry::spec_map

AppCommandExtensionSpec

pub struct AppCommandExtensionSpec {
id : String
js_namespace : String
apis : Array[AppCommandApiDescriptor]
scripts : Array[String]
dependencies : Array[String]
register : (CommandRegistrar) -> Unit raise
resolve_permission : (Json, String) -> Json raise PermissionScopeValidationError
on_destroy : () -> Unit raise
}

Declarative user-process command extension spec.

AppCommandExtensionSpec::apis

AppCommandExtensionSpec::dependencies

fn AppCommandExtensionSpec::dependencies(self : AppCommandExtensionSpec) -> Array[String]

AppCommandExtensionSpec::destroy

fn AppCommandExtensionSpec::destroy(self : AppCommandExtensionSpec) -> Unit raise

AppCommandExtensionSpec::id

AppCommandExtensionSpec::js_namespace

fn AppCommandExtensionSpec::js_namespace(self : AppCommandExtensionSpec) -> String

AppCommandExtensionSpec::op_names

fn AppCommandExtensionSpec::op_names(self : AppCommandExtensionSpec) -> Array[String]

AppCommandExtensionSpec::register

fn AppCommandExtensionSpec::register(self : AppCommandExtensionSpec, registrar : CommandRegistrar) -> Unit raise

AppCommandExtensionSpec::resolve_permission

fn AppCommandExtensionSpec::resolve_permission(self : AppCommandExtensionSpec, scope : Json, base_path : String) -> Json raise PermissionScopeValidationError

AppCommandExtensionSpec::scripts

AppCommandExtensionSpec::typed

fn AppCommandExtensionSpec::typed(contract :
ExtensionContract
, command_routes : Array[
ContractRoute
], register : (CommandRegistrar) -> Unit raise, scripts? : Array[String], dependencies? : Array[String], resolve_permission? : (Json, String) -> Json raise PermissionScopeValidationError, on_destroy? : () -> Unit raise) -> AppCommandExtensionSpec raise ExtensionSpecError

Creates an extension spec whose JavaScript APIs and native operation names are derived from typed extension command descriptors.

AppCommandsConfig

pub struct AppCommandsConfig {
op_names : Array[String]
extensions : Array[
IpcExtensionDescriptor
]
framework_extension_ids : Array[String]
}

Commands exposed by the user app process to the framework runtime.

AppCommandsConfig::AppCommandsConfig

fn AppCommandsConfig::AppCommandsConfig(op_names : Array[String], extensions? : Array[AppCommandExtensionDescriptor], framework_extension_ids? : Array[String]) -> AppCommandsConfig

AppCommandsConfig::framework_extension_ids

fn AppCommandsConfig::framework_extension_ids(self : AppCommandsConfig) -> Array[String]

AppCommandsConfig::from_ipc_descriptors

fn AppCommandsConfig::from_ipc_descriptors(op_names : Array[String], extensions : Array[
IpcExtensionDescriptor
], framework_extension_ids : Array[String]) -> AppCommandsConfig

AppCommandsConfig::op_names

fn AppCommandsConfig::op_names(self : AppCommandsConfig) -> Array[String]

CommandRegistrar

Startup-only capability for binding typed command descriptors to handlers.

CommandRegistrar::CommandRegistrar

Creates a registrar over one application command host.

CommandRegistrar::bind

Binds one typed descriptor to an asynchronous command handler.

Request decoding and response encoding are selected from the descriptor's type parameters. The descriptor is the only source of command identity.

app_command_extension_op_name

fn app_command_extension_op_name(js_namespace : String, api_name : String) -> String

app_command_js_property_is_reserved

fn app_command_js_property_is_reserved(name : String) -> Bool

Powered by MoonBit

Site sourceReport issuePackagesBuild queueSkillsStatistics

© 2026 mooncakes.io