blob: 5b4103d24a6f84005da8d76882097a93dbdc5d16 [file] [view]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Host plugins and shell interfaces
Maka's terminal and desktop shells author their own interfaces and connect to the same business Host. The default product contains one Host composition, its exact packages and explicit publication/native grants. It does not install an editable SDK UI deployment, a separate management Host, or a foreground authoring worker.
Use the shell's Plugins page to inspect and change the selected Host composition. Preserve the observed source revision and every unrelated instance UUID. Installation stores checked immutable package bytes; adding an instance and selecting its bindings are separate operations. Read the original mutation receipt after a disconnect instead of submitting the mutation again. A committed source establishes desired state; it does not prove activation or visible success.
For an inactive Host, the generic `maka application check`, `commit`, `read` and `serve` commands operate on explicit sources and deployments. `maka application compose` emits `host.json`, `endpoints.json`, `native-grants.json` and resolved installation identities for the bundled business services. `update-defaults` previews selected package replacements without changing the source's identities, settings or grants. See the CLI `--help` and [Testing and shipping](testing-and-shipping.md).
## Custom UI request consumers
The native `ui.submit`/`ui.result` service and its SDK contracts remain available to independently authored clients. These tools require a client that implements the `watch`, `claim` and `complete` lifecycle for that request queue and explicitly supplies its management authority. Neither built-in shell currently supplies that consumer. A queued request alone does not mean a UI edit occurred, and retrying a mutation produces a new operation.
When working with such a custom client, discover its current tool names and inspect its original source and declarations. Follow the typed `UiAuthoringCommand` inputs in the SDK. Queries such as `instances`, `readDocument` and `readPackage` refer to that client's selected deployment; they do not confer access to another Root or the business Host. Observe the same request ID until its original outcome is known. A custom client owns execution, durable receipt recovery and its actual presentation checks.
For standalone SDK scene components, see [UI components](terminal-apps.md). Those contracts and examples are independent of Maka's built-in shell interfaces.