Integrate master 78ae4fc2d4d8ecaebb4b674028f781a358b92cc9 after the four independent review fixes. Keep this base update separate from those fixes and from subsequent review changes so the integration is independently reviewable and the observed-master checkpoint remains preserved. Retain activation-owned execution, caller-independent local discovery, and unconditional parent final-answer delivery. Preserve master's preset scoped scheduling tools and all delegated-child schedule deny rules. Move the new scheduling regression from the removed driver package into the surviving subagent package and run it through a real Spawn activation. Preserve master's removal of runtime invariant plugins, dependencies, exports, and test mounts. Keep context disposal before fixture directory cleanup. Combine Python workflow ordering with activation/catalog events without inventing unsupported source-plane import paths. Keep all frozen Agent Note archives byte-for-byte identical to master; do not accept Git's automatic edits to renamed archived notes. Retain current lifecycle and delivery facts in active documentation, repair its links, and regenerate catalogs/persistence schemas from merged source. All 62 master persistence roots remain; only subagent/catalog gains the PR's external membership extension. Keep master's third-party lock graph and update only workspace dependency changes. Validation before this checkpoint: 683 focused tests passed, seven Windows-only cases skipped; 2,772 archived artifacts verified. Generated catalog and active-pair checks passed. Fresh artifact build and remaining build-dependent documentation checks continue before publication.
description, kind
| description | kind |
|---|---|
| Package map for the application's Remote layer: typed Client-to-Host capability calls, results, and forwarded events, for users and maintainers navigating the group. | package-group |
api/ — Remote API layers
English | 中文
Summary
The api/ group provides the application's Remote layer: a Client environment can call the business capabilities running on the Host — manage goals, run commands, list the plugin inventory, discover file and session references — as typed method calls, receive results or streams, send uplink items on an open stream, and observe forwarded Host events. remotes decides which capabilities are exposed and how each call reaches the right session's agent; gateway carries the calls and their results between Client and Host. The stack runs over the application's shared Connection; streaming session data is deliberately outside it.
Table of Contents
Packages
The packages below provide the Remote layer; the package READMEs own the exhaustive contracts.
| Package | Role | ctx key |
|---|---|---|
remotes/ |
Chooses which Host capabilities and events the Client can consume. | — |
gateway/ |
Carries typed unary calls, multiplexed streams with their Client uplinks, and forwarded Host events. | ctx.typertGateway / ctx.remote |
job-controller/ |
Streams one background job's observation record to the Client. | ctx.jobController / ctx.remote.job |
session-controller/ |
Owns Session commands, history streams, live control state, and Agent/Session identity policy. | ctx.sessionController / ctx.remote.session |
settings-controller/ |
Owns the configuration-surface reads and writes over the settings-domain seams. | ctx.settingsController, ctx.credentialsController / ctx.remote.settings, ctx.remote.credentials |
workspace-controller/ |
Owns Workspace mutations and the complete Client Workspace projection. | ctx.workspaceController / ctx.remote.workspace |
terminal-controller/ |
Session-owned interactive shells, screen recovery and browser terminal control. | ctx.terminalController / ctx.remote.terminal |
workspace-files/ |
Owns bounded workspace file access — stat, paged read, list, and the instrumented-operation changes feed — and the Client file resource provider over it. |
ctx.workspaceFiles / ctx.remote.workspaceFiles |
Remote calls run Client → Host over the application's shared Connection; stream items flow Host → Client on the Gateway mux, and a stream's uplink items flow Client → Host on the same logical stream. API Gateway owns Remote transport, while the controller packages own Session, configuration-surface, and Workspace behavior. Feature packages register exact Connection Fetch routes for responses that do not fit Remote invocation, such as streamed downloads.
Related documentation
Start with the API Gateway reference to see the Remote model end to end, then the Typert subsystem page for the shared definitions and Connection for the physical carrier.
- API Gateway reference — the current-state reference for the Typert API Gateway: programming model, generation pipeline, and runtime invocation.
- Typert subsystem reference — the public contracts shared by protocol, Gateway, and consumer assemblies.
- Connection — the RPC carrier,
/apitrust fence, and response envelopes behind every Remote call.
Dev Note
Working context for maintainers — click to expand
None.