docs: document controller Remote transport

This commit is contained in:
imccyu
2026-08-23 16:16:03 +08:00
parent 54d739cf53
commit 9b1069c234
41 changed files with 1275 additions and 178 deletions
+32
View File
@@ -92,6 +92,7 @@ export const SERVICE_PAGE: Record<string, string> = {
sessionReferenceResolver: 'session-reference.md',
sessionProjectionCache: 'session-projection.md',
sessionProjections: 'session-projection.md',
sessionController: 'session.md',
sessions: 'session.md',
settings: 'settings.md',
sessionTitle: 'session-title.md',
@@ -177,6 +178,7 @@ export const EVENT_SCOPE_PAGE: Record<string, string> = {
'agent': 'core.md',
'agent-loop': 'core.md',
'agent-preset': 'core.md',
'api-session': 'session.md',
'approval': 'approval.md',
'commands': 'commands.md',
'cordis': 'extensions.md',
@@ -279,6 +281,7 @@ export const LINK_MAP: Readonly<Record<string, string>> = {
MessageFeedbackVersion: 'feedback.md',
MessageFeedbackVersionConflict: 'feedback.md',
UserMessage: 'session.md',
ApiSessionAgentResult: 'session.md',
PreStepDecision: 'core.md',
PreStepContext: 'core.md',
RequestErrorAction: 'core.md',
@@ -288,8 +291,37 @@ export const LINK_MAP: Readonly<Record<string, string>> = {
SessionReferenceCandidate: 'session-reference.md',
SessionReferenceMentionCandidate: 'session-reference.md',
SessionReferenceInput: 'session-reference.md',
SessionAttachmentRequest: 'session.md',
SessionAttachmentValue: 'session.md',
SessionCancelRequest: 'session.md',
SessionCancelValue: 'session.md',
SessionControlFrame: 'session.md',
SessionCreateRequest: 'session.md',
SessionCreateValue: 'session.md',
SessionEvent: 'session.md',
SessionFollowFrame: 'session.md',
SessionFollowRequest: 'session.md',
SessionForkRequest: 'session.md',
SessionForkValue: 'session.md',
SessionId: 'core.md',
SessionListRequest: 'session.md',
SessionListValue: 'session.md',
SessionModels: 'session.md',
SessionModelsRequest: 'session.md',
SessionPage: 'session.md',
SessionPageRequest: 'session.md',
SessionPromptRequest: 'session.md',
SessionPromptValue: 'session.md',
SessionRenameRequest: 'session.md',
SessionRenameValue: 'session.md',
SessionRespondReceipt: 'session.md',
SessionRespondRequest: 'session.md',
SessionSearchValue: 'session.md',
SessionSelectModelRequest: 'session.md',
SessionSelectModelValue: 'session.md',
SessionSummary: 'session.md',
SessionUpdateQueueRequest: 'session.md',
SessionUpdateQueueValue: 'session.md',
SessionStartSource: 'core.md',
SessionLogSnapshot: 'session-query.md',
SessionSurfaceSnapshot: 'session-query.md',
+8
View File
@@ -149,6 +149,14 @@ const SERVICE_ROLES: ServiceRole[] = [
consumers: ['agent-loop', 'agent', 'session-persistence', 'session-query', 'session-query-sqlite', 'subagent-inprocess', 'invariants', 'message-feedback'],
note: 'Owns append-only Session instances and emits the durable session event feed.',
},
{
key: 'sessionController',
pkg: 'api-session-controller',
title: 'Host Session Remote controller',
mode: 'core',
consumers: ['apiproxy'],
note: 'Owns Session commands, cold reads, durable-event following, live control state, and Agent activation policy; apiProxy reuses its inspection and Agent-resolution operations for Session-aware domains.',
},
{
key: 'invariants',
pkg: 'invariants',
@@ -70,7 +70,7 @@ const SENTENCE_MODEL_EXPERIENCE: Readonly<Record<string, SentenceContract>> = {
'packages/client/ui-primitives': { kind: 'none', reason: 'Browser-side UI plugin layer; registers nothing model-facing.' },
'packages/client/ui-renderer': { kind: 'none', reason: 'Browser-side render assembly; registers nothing model-facing.' },
'packages/client/connection': { kind: 'none', reason: 'Browser-side UI plugin layer; registers nothing model-facing.' },
'packages/api/remotes': { kind: 'none', reason: 'The Remote BFF selects business methods and identity policy; selected services own any model-visible effect.' },
'packages/api/remotes': { kind: 'none', reason: 'The Remote BFF selects business methods and forwarded events; selected services own any model-visible effect.' },
'packages/client/runtime': { kind: 'none', reason: 'Browser-side UI plugin layer; registers nothing model-facing.' },
'packages/client/ui-layout': { kind: 'none', reason: 'Browser-side UI plugin layer; registers nothing model-facing.' },
'packages/client/ui-sidebar': { kind: 'none', reason: 'Browser-side UI plugin layer; registers nothing model-facing.' },
@@ -155,6 +155,7 @@ const SENTENCE_MODEL_EXPERIENCE: Readonly<Record<string, SentenceContract>> = {
'packages/test-support/llm-mock-server': { kind: 'none', reason: 'The test server substitutes provider wire behavior without invoking a real model.' },
'packages/test-support/llm-replay': { kind: 'none', reason: 'The keyless adapter invokes no provider model.' },
'packages/api/gateway': { kind: 'none', reason: 'Remote dispatch infrastructure; invoked business methods own any model-visible effect.' },
'packages/api/session-controller': { kind: 'none', reason: 'Session API and transport owner; invoked Agent commands own any model-visible effect.' },
'packages/typert/protocol': { kind: 'none', reason: 'Compiler-independent Remote protocol declarations; registers nothing model-facing.' },
'packages/typert/generator': { kind: 'none', reason: 'The build-time generator runs outside any agent runtime and touches no model request.' },
'packages/jobs/jobs': { kind: 'indirect', reason: 'Producer and controller plugins own all model rendering over the job registry.' },