@xenosystem/agent-interface-host 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/acp/AcpAgentRegistryService.d.ts +43 -1
  2. package/dist/acp/AcpAgentRegistryService.d.ts.map +1 -1
  3. package/dist/acp/AcpAgentRegistryService.js +200 -1
  4. package/dist/acp/AcpAgentRegistryService.js.map +1 -1
  5. package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts +66 -0
  6. package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts.map +1 -1
  7. package/dist/acp/AcpAgentTurnExecutionAdapter.js +182 -1
  8. package/dist/acp/AcpAgentTurnExecutionAdapter.js.map +1 -1
  9. package/dist/acp/AcpPermissionBridge.d.ts.map +1 -1
  10. package/dist/acp/AcpPermissionBridge.js +3 -3
  11. package/dist/acp/AcpPermissionBridge.js.map +1 -1
  12. package/dist/acp/AcpProcessSupervisor.d.ts +81 -0
  13. package/dist/acp/AcpProcessSupervisor.d.ts.map +1 -1
  14. package/dist/acp/AcpProcessSupervisor.js +176 -2
  15. package/dist/acp/AcpProcessSupervisor.js.map +1 -1
  16. package/dist/acp/AcpRuntimeEventMapper.d.ts.map +1 -1
  17. package/dist/acp/AcpRuntimeEventMapper.js +9 -0
  18. package/dist/acp/AcpRuntimeEventMapper.js.map +1 -1
  19. package/dist/acp/AcpSessionService.d.ts +36 -0
  20. package/dist/acp/AcpSessionService.d.ts.map +1 -1
  21. package/dist/acp/AcpSessionService.js +57 -1
  22. package/dist/acp/AcpSessionService.js.map +1 -1
  23. package/dist/acp/DurableAcpPermissionPolicyStore.d.ts.map +1 -1
  24. package/dist/acp/DurableAcpPermissionPolicyStore.js +5 -3
  25. package/dist/acp/DurableAcpPermissionPolicyStore.js.map +1 -1
  26. package/dist/acp/acpRedaction.d.ts.map +1 -1
  27. package/dist/acp/acpRedaction.js +2 -0
  28. package/dist/acp/acpRedaction.js.map +1 -1
  29. package/dist/acp/acpTypes.d.ts +111 -1
  30. package/dist/acp/acpTypes.d.ts.map +1 -1
  31. package/dist/acp/acpTypes.js +21 -1
  32. package/dist/acp/acpTypes.js.map +1 -1
  33. package/dist/index.d.ts +108 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +236 -11
  36. package/dist/index.js.map +1 -1
  37. package/dist/isolation/CommandExecution.d.ts +7 -12
  38. package/dist/isolation/CommandExecution.d.ts.map +1 -1
  39. package/dist/isolation/CommandExecution.js +7 -12
  40. package/dist/isolation/CommandExecution.js.map +1 -1
  41. package/dist/isolation/CommandStream.d.ts +100 -0
  42. package/dist/isolation/CommandStream.d.ts.map +1 -0
  43. package/dist/isolation/CommandStream.js +47 -0
  44. package/dist/isolation/CommandStream.js.map +1 -0
  45. package/dist/isolation/RunExecutionEnvironment.d.ts +15 -0
  46. package/dist/isolation/RunExecutionEnvironment.d.ts.map +1 -1
  47. package/dist/isolation/RunExecutionEnvironment.js +45 -9
  48. package/dist/isolation/RunExecutionEnvironment.js.map +1 -1
  49. package/dist/isolation/RunIsolationService.d.ts +10 -5
  50. package/dist/isolation/RunIsolationService.d.ts.map +1 -1
  51. package/dist/isolation/RunIsolationService.js +7 -3
  52. package/dist/isolation/RunIsolationService.js.map +1 -1
  53. package/dist/isolation/SandboxCapabilities.d.ts +28 -0
  54. package/dist/isolation/SandboxCapabilities.d.ts.map +1 -0
  55. package/dist/isolation/SandboxCapabilities.js +33 -0
  56. package/dist/isolation/SandboxCapabilities.js.map +1 -0
  57. package/dist/isolation/SandboxCommandExecutor.d.ts +4 -7
  58. package/dist/isolation/SandboxCommandExecutor.d.ts.map +1 -1
  59. package/dist/isolation/SandboxCommandExecutor.js +6 -7
  60. package/dist/isolation/SandboxCommandExecutor.js.map +1 -1
  61. package/dist/isolation/SandboxCommandStream.d.ts +38 -0
  62. package/dist/isolation/SandboxCommandStream.d.ts.map +1 -0
  63. package/dist/isolation/SandboxCommandStream.js +232 -0
  64. package/dist/isolation/SandboxCommandStream.js.map +1 -0
  65. package/dist/isolation/shellArgv.d.ts +15 -0
  66. package/dist/isolation/shellArgv.d.ts.map +1 -0
  67. package/dist/isolation/shellArgv.js +31 -0
  68. package/dist/isolation/shellArgv.js.map +1 -0
  69. package/dist/isolation/useIdempotency.d.ts +19 -0
  70. package/dist/isolation/useIdempotency.d.ts.map +1 -0
  71. package/dist/isolation/useIdempotency.js +57 -0
  72. package/dist/isolation/useIdempotency.js.map +1 -0
  73. package/dist/localRpcTransport.d.ts +18 -0
  74. package/dist/localRpcTransport.d.ts.map +1 -1
  75. package/dist/localRpcTransport.js +38 -4
  76. package/dist/localRpcTransport.js.map +1 -1
  77. package/dist/node.d.ts +19 -0
  78. package/dist/node.d.ts.map +1 -1
  79. package/dist/node.js +19 -0
  80. package/dist/node.js.map +1 -1
  81. package/dist/observation/XenoUseRunObserver.d.ts +20 -0
  82. package/dist/observation/XenoUseRunObserver.d.ts.map +1 -1
  83. package/dist/observation/XenoUseRunObserver.js +27 -13
  84. package/dist/observation/XenoUseRunObserver.js.map +1 -1
  85. package/dist/runtime/RuntimeTimelineProjection.d.ts +2 -2
  86. package/dist/runtime/RuntimeTimelineProjection.d.ts.map +1 -1
  87. package/dist/runtime/RuntimeTimelineProjection.js +194 -1
  88. package/dist/runtime/RuntimeTimelineProjection.js.map +1 -1
  89. package/dist/sdk/DurablePendingInjectionStore.d.ts +24 -0
  90. package/dist/sdk/DurablePendingInjectionStore.d.ts.map +1 -0
  91. package/dist/sdk/DurablePendingInjectionStore.js +103 -0
  92. package/dist/sdk/DurablePendingInjectionStore.js.map +1 -0
  93. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts +81 -1
  94. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts.map +1 -1
  95. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js +122 -3
  96. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js.map +1 -1
  97. package/dist/sdk/pendingInjections.d.ts +83 -0
  98. package/dist/sdk/pendingInjections.d.ts.map +1 -0
  99. package/dist/sdk/pendingInjections.js +79 -0
  100. package/dist/sdk/pendingInjections.js.map +1 -0
  101. package/dist/session/AgentSessionService.d.ts +34 -0
  102. package/dist/session/AgentSessionService.d.ts.map +1 -1
  103. package/dist/session/AgentSessionService.js +85 -1
  104. package/dist/session/AgentSessionService.js.map +1 -1
  105. package/dist/session/nativeTuiSessionPty.d.ts +40 -0
  106. package/dist/session/nativeTuiSessionPty.d.ts.map +1 -0
  107. package/dist/session/nativeTuiSessionPty.js +142 -0
  108. package/dist/session/nativeTuiSessionPty.js.map +1 -0
  109. package/dist/session/nodePtyLoader.d.ts +23 -0
  110. package/dist/session/nodePtyLoader.d.ts.map +1 -0
  111. package/dist/session/nodePtyLoader.js +41 -0
  112. package/dist/session/nodePtyLoader.js.map +1 -0
  113. package/dist/session/renderSupport.d.ts +34 -0
  114. package/dist/session/renderSupport.d.ts.map +1 -1
  115. package/dist/session/renderSupport.js +39 -1
  116. package/dist/session/renderSupport.js.map +1 -1
  117. package/dist/workspace/WorkspaceHostService.d.ts +27 -2
  118. package/dist/workspace/WorkspaceHostService.d.ts.map +1 -1
  119. package/dist/workspace/WorkspaceHostService.js +221 -25
  120. package/dist/workspace/WorkspaceHostService.js.map +1 -1
  121. package/package.json +6 -6
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type AgentEngineeringHostMethod, type AgentHostEvent, type AgentHostEventListener, type AgentHostInput, type AgentHostMethod, type AgentHostOutput, type AgentHostTransport, type AgentHostUnsubscribe, type AgentRuntimeProviderDescriptor, type AgentRuntimeEventDraft, type AgentRuntimeEventEnvelope, type AgentRuntimeEventListResult, type AgentWorkspaceStateLoadResult, type AgentWorkspaceStateSaveRequest, type AgentWorkspaceStateSaveResult, type AgentConversationStateLoadResult, type AgentConversationStateSaveRequest, type AgentConversationStateSaveResult, type AgentConversationStateDeleteRequest, type AgentConversationStateDeleteResult, type AgentRuntimeSelection, type AgentTurnCancelRequest, type AgentTurnSteerRequest, type AgentAcpProviderApprovalResult, type AgentTurnStartRequest } from '@xenosystem/agent-interface-contract';
1
+ import { type AgentEngineeringHostMethod, type AgentHostEvent, type AgentHostEventListener, type AgentHostInput, type AgentHostMethod, type AgentHostOutput, type AgentHostTransport, type AgentHostUnsubscribe, type AgentRuntimeProviderDescriptor, type AgentRuntimeEventDraft, type AgentRuntimeEventEnvelope, type AgentRuntimeEventListResult, type AgentWorkspaceStateLoadResult, type AgentWorkspaceStateSaveRequest, type AgentWorkspaceStateSaveResult, type AgentConversationStateLoadResult, type AgentConversationStateSaveRequest, type AgentConversationStateSaveResult, type AgentConversationStateDeleteRequest, type AgentConversationStateDeleteResult, type AgentRuntimeSelection, type AgentTurnCancelRequest, type AgentContextInjectRequest, type AgentTurnSteerRequest, type AgentAcpProviderApprovalResult, type AgentTurnStartRequest } from '@xenosystem/agent-interface-contract';
2
2
  import { type InterruptedTurnStore } from './turns/interruptedTurns.js';
3
3
  import { type TurnAdmissionPolicy } from './turns/turnAdmission.js';
4
4
  import { type SubagentRunPort } from './subagents/subagentRunPort.js';
@@ -8,7 +8,9 @@ import { RunObservationService } from './observation/RunObservationService.js';
8
8
  import { RunIsolationService } from './isolation/RunIsolationService.js';
9
9
  import { IntakeService } from './intake/IntakeService.js';
10
10
  import { WorkspaceKnowledgeService } from './knowledge/WorkspaceKnowledgeService.js';
11
+ import type { AgentAcpAddPresetResult, AgentAcpAgentSummary, AgentAcpRemoveAgentResult } from '@xenosystem/agent-interface-contract';
11
12
  import { AgentSessionService } from './session/AgentSessionService.js';
13
+ import { type NativeTuiSpawnRequest } from './session/nativeTuiSessionPty.js';
12
14
  /**
13
15
  * Performs ACP provider approval — a PORT, not a direct call.
14
16
  *
@@ -121,8 +123,40 @@ export interface AgentTurnExecutionAdapter {
121
123
  * they corrected the agent and nothing happened.
122
124
  */
123
125
  steer?(request: AgentTurnSteerRequest): Promise<void> | void;
126
+ /**
127
+ * Push a pinned node into this lane's context WITHOUT starting a turn (XENO SPAWN §2.2).
128
+ *
129
+ * ⚠️ OPTIONAL, and its presence IS the capability — the same rule `turn.steer` follows, and the
130
+ * same gate (`turns/steerCapabilityAgreement.test.ts`) now holds both to it.
131
+ *
132
+ * ⚠️ THROWING IS THE REFUSAL CHANNEL, exactly as for `steer`: the coordinator reports success
133
+ * for any call that returns, so a refusal that returned would tell a user their node was pinned
134
+ * when it was not — and §3 makes that a graph edge that does not exist.
135
+ */
136
+ injectContext?(request: AgentContextInjectRequest): Promise<{
137
+ messageId?: string;
138
+ status?: 'injected' | 'deferred';
139
+ }> | {
140
+ messageId?: string;
141
+ status?: 'injected' | 'deferred';
142
+ };
124
143
  close?(): Promise<void> | void;
125
144
  }
145
+ /**
146
+ * What this host needs from the local ACP agent registry.
147
+ *
148
+ * Structural on purpose: the registry lives in `packages/host/src/acp` with its
149
+ * own richer types, and the protocol should carry summaries rather than that
150
+ * whole shape. `isPresetId`/`presetIds` are asked of the registry rather than
151
+ * restated here, so the host cannot come to disagree with it about what exists.
152
+ */
153
+ export interface AcpAgentRegistryPort {
154
+ listSummaries(): AgentAcpAgentSummary[];
155
+ isPresetId(value: unknown): boolean;
156
+ presetIds(): string[];
157
+ addPreset(presetId: string): AgentAcpAddPresetResult;
158
+ remove(agentId: string): AgentAcpRemoveAgentResult;
159
+ }
126
160
  export interface AgentHostCoordinatorOptions {
127
161
  hostVersion: string;
128
162
  hostInstanceId: string;
@@ -206,6 +240,37 @@ export interface AgentHostCoordinatorOptions {
206
240
  * sessions, which is honest, rather than sessions that render nothing.
207
241
  */
208
242
  sessionService?: AgentSessionService;
243
+ /**
244
+ * Whether this composition can attach an agent's OWN interactive TUI to a
245
+ * PTY, per provider (ADE §2.8 `native-tui`).
246
+ *
247
+ * 🔴 `renderSupport.ts` has always taken this as an injected seam, and
248
+ * promised that "the day the PTY lane lands, the mode becomes available by
249
+ * construction instead of by someone remembering". It could not: NO
250
+ * composition could reach the seam, because the coordinator never accepted
251
+ * it and passed only `adapters`. The seam was built, tested, and wired to
252
+ * nothing.
253
+ *
254
+ * Omitted means `noNativeTuiLane` — false for every provider, which is the
255
+ * honest default for a host that spawns no vendor binary interactively.
256
+ *
257
+ * 🔴 Returns the COMMAND, not a boolean. It was a boolean for exactly one
258
+ * commit, and a boolean can say "this agent has a TUI" while nothing knows
259
+ * what to run — which would open a `native-tui` session and hand it a render
260
+ * target whose `write` throws. Deriving "can it?" from "what would we run?"
261
+ * makes that unrepresentable.
262
+ */
263
+ nativeTuiLane?: (provider: AgentRuntimeProviderDescriptor) => NativeTuiSpawnRequest | undefined;
264
+ /**
265
+ * The local ACP agent registry, so a surface can add and remove agents.
266
+ *
267
+ * 🔴 Optional like its siblings, and absence is honest rather than silent: a
268
+ * host with no registry answers `acp.agents.*` with a reason instead of an
269
+ * empty list, because "no agents" and "this host cannot manage agents" are
270
+ * different facts and a client that conflates them shows an empty picker with
271
+ * no way forward.
272
+ */
273
+ acpAgentRegistry?: AcpAgentRegistryPort;
209
274
  /**
210
275
  * Intake (§5.1). Optional like its siblings: a host with no sources wired has
211
276
  * no inbox, which is honest — an empty inbox invented for a host that cannot
@@ -316,6 +381,8 @@ export declare class AgentHostCoordinator implements AgentHostTransport {
316
381
  private readonly runIsolationService;
317
382
  private readonly runObservationBinder;
318
383
  private readonly sessionService;
384
+ private readonly nativeTuiLane;
385
+ private readonly acpAgentRegistry;
319
386
  private readonly intakeService;
320
387
  private readonly knowledgeService;
321
388
  private readonly acpApprovalService;
@@ -337,6 +404,18 @@ export declare class AgentHostCoordinator implements AgentHostTransport {
337
404
  */
338
405
  private readonly turnTimers;
339
406
  private readonly activeTurns;
407
+ /**
408
+ * The lane a conversation last ran on, kept AFTER the turn ends.
409
+ *
410
+ * 🔴 `activeTurns` cannot answer this and that is not an oversight — it is keyed by
411
+ * `(conversationId, requestId)` because everything it serves is turn-scoped. Pin-forward
412
+ * (§2.2) is normally a BETWEEN-turns act, so resolving its target from `activeTurns` would make
413
+ * the feature work only during the one window where the user is least likely to want it.
414
+ *
415
+ * ⚠️ Deliberately never cleared on turn end. "Which agent is this conversation running on" stays
416
+ * true between turns; clearing it would reintroduce the turn scope this map exists to escape.
417
+ */
418
+ private readonly conversationAdapters;
340
419
  private readonly commandResults;
341
420
  /**
342
421
  * Instructions stacked while a turn is running, per conversation.
@@ -504,6 +583,21 @@ export declare class AgentHostCoordinator implements AgentHostTransport {
504
583
  * output a viewer is reading mid-conversation.
505
584
  */
506
585
  private openSessionForRun;
586
+ /**
587
+ * ADE §2.8's switch. The substrate has always accepted a preference; until
588
+ * `session.setMode` existed, no client could express one.
589
+ */
590
+ /**
591
+ * The slice of the ACP registry this host needs — a PORT, not the service.
592
+ *
593
+ * Declared structurally so `packages/host`'s public surface does not drag the
594
+ * registry's own types across the protocol boundary, and so a composition can
595
+ * supply something else entirely.
596
+ */
597
+ private listAcpAgents;
598
+ private addAcpPreset;
599
+ private removeAcpAgent;
600
+ private setSessionMode;
507
601
  private routeSessionInput;
508
602
  /**
509
603
  * The turn a run is executing right now, if any.
@@ -720,6 +814,19 @@ export declare class AgentHostCoordinator implements AgentHostTransport {
720
814
  private recordContextCompaction;
721
815
  private cancelTurn;
722
816
  private steerTurn;
817
+ /**
818
+ * `context.inject` — push a pinned canvas node back into an agent's context (XENO SPAWN §2.2).
819
+ *
820
+ * 🔴 THE COMMAND THAT DID NOT EXIST. Both lanes could already inject — `AgentLoop.injectContext()`
821
+ * on the SDK side, `AgentProcess.injectContext()` on the ACP side — the `context.injected` event
822
+ * was defined, forwarded and PROJECTED, and nothing in this host could trigger any of it. Every
823
+ * layer was built and tested; the one that lets a surface act was missing, which is the shape
824
+ * this ecosystem keeps re-finding.
825
+ *
826
+ * ⚠️ NOT gated on an active turn, unlike `steerTurn`. Pin-forward is normally a between-turns
827
+ * act, so the lane is resolved from `conversationAdapters` rather than `activeTurns`.
828
+ */
829
+ private injectContext;
723
830
  /** True while any turn is running for this conversation. */
724
831
  private hasActiveTurn;
725
832
  private queueSnapshot;
@@ -827,7 +934,6 @@ export * from './isolation/RunIsolationService.js';
827
934
  */
828
935
  export * from './isolation/SandboxCommandExecutor.js';
829
936
  export * from './observation/XenoUseObservationSource.js';
830
- export * from './observation/XenoUseRunObserver.js';
831
937
  export * from './session/AgentSessionService.js';
832
938
  export * from './session/runtimeEventChannel.js';
833
939
  export * from './session/renderSupport.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { AgentHostProtocolError, XENO_AGENT_HOST_MIN_PROTOCOL_VERSION, XENO_AGEN
8
8
  const MAX_FLEET_COLLISIONS = 500;
9
9
  const MAX_QUEUED_INSTRUCTIONS = 50;
10
10
  const MAX_QUEUED_INSTRUCTION_LENGTH = 20_000;
11
- import { cloneProvider, isDevelopmentProviderReady, missingDevelopmentCapabilities, resolveAgentRuntimeSelection, renderWorkspaceKnowledge, selectAvailableProviders, withHostBackedCapabilities, planFanOut, routeByCapability, } from '@xenosystem/agent-interface-core';
11
+ import { cloneProvider, isDevelopmentProviderReady, missingDevelopmentCapabilities, resolveAgentRuntimeSelection, renderWorkspaceKnowledge, selectAvailableProviders, selectSessionRenderMode, withHostBackedCapabilities, planFanOut, routeByCapability, } from '@xenosystem/agent-interface-core';
12
12
  import { InMemoryInterruptedTurnStore, } from './turns/interruptedTurns.js';
13
13
  import { evaluateTurnAdmission, resolveTurnAdmissionPolicy, } from './turns/turnAdmission.js';
14
14
  import { boundSubagentWorkspace } from './subagents/subagentWorkspaceAuthority.js';
@@ -23,6 +23,7 @@ import { IntakeService } from './intake/IntakeService.js';
23
23
  import { WorkspaceKnowledgeService } from './knowledge/WorkspaceKnowledgeService.js';
24
24
  import { AgentSessionService } from './session/AgentSessionService.js';
25
25
  import { createBufferedSessionPty } from './session/bufferedSessionPty.js';
26
+ import { createNativeTuiSessionPty } from './session/nativeTuiSessionPty.js';
26
27
  import { renderSupportFor } from './session/renderSupport.js';
27
28
  import { createRuntimeEventSessionChannel } from './session/runtimeEventChannel.js';
28
29
  import { answerChooseDirectoryRequest } from './agent/chooseDirectoryBridge.js';
@@ -74,6 +75,8 @@ export class AgentHostCoordinator {
74
75
  runIsolationService;
75
76
  runObservationBinder;
76
77
  sessionService;
78
+ nativeTuiLane;
79
+ acpAgentRegistry;
77
80
  intakeService;
78
81
  knowledgeService;
79
82
  acpApprovalService;
@@ -95,6 +98,18 @@ export class AgentHostCoordinator {
95
98
  */
96
99
  turnTimers = new Map();
97
100
  activeTurns = new Map();
101
+ /**
102
+ * The lane a conversation last ran on, kept AFTER the turn ends.
103
+ *
104
+ * 🔴 `activeTurns` cannot answer this and that is not an oversight — it is keyed by
105
+ * `(conversationId, requestId)` because everything it serves is turn-scoped. Pin-forward
106
+ * (§2.2) is normally a BETWEEN-turns act, so resolving its target from `activeTurns` would make
107
+ * the feature work only during the one window where the user is least likely to want it.
108
+ *
109
+ * ⚠️ Deliberately never cleared on turn end. "Which agent is this conversation running on" stays
110
+ * true between turns; clearing it would reintroduce the turn scope this map exists to escape.
111
+ */
112
+ conversationAdapters = new Map();
98
113
  commandResults = new Map();
99
114
  /**
100
115
  * Instructions stacked while a turn is running, per conversation.
@@ -115,7 +130,7 @@ export class AgentHostCoordinator {
115
130
  providerCatalogFingerprint = '';
116
131
  providerCatalogRefresh = null;
117
132
  constructor(options) {
118
- const { providers, providerCatalogLoader, runtimeEvents, runtimeEventRepository, stateRepository, workspaceService, interactionService, permissionPolicyService, interruptedTurnStore, turnAdmissionPolicy, turnAbandonGraceMs, sdkControlService, engineeringControlService, turnExecutionAdapters, coordinationService, runObservationService, runIsolationService, runObservationBinder, sessionService, intakeService, knowledgeService, acpApprovalService, subagentRuns, resolveRunId, ...hostOptions } = options;
133
+ const { providers, providerCatalogLoader, runtimeEvents, runtimeEventRepository, stateRepository, workspaceService, interactionService, permissionPolicyService, interruptedTurnStore, turnAdmissionPolicy, turnAbandonGraceMs, sdkControlService, engineeringControlService, turnExecutionAdapters, coordinationService, runObservationService, runIsolationService, runObservationBinder, sessionService, nativeTuiLane, acpAgentRegistry, intakeService, knowledgeService, acpApprovalService, subagentRuns, resolveRunId, ...hostOptions } = options;
119
134
  if (runtimeEventRepository && runtimeEvents && runtimeEvents.length > 0) {
120
135
  throw new Error('Seeded runtimeEvents cannot be combined with a durable runtimeEventRepository.');
121
136
  }
@@ -187,6 +202,8 @@ export class AgentHostCoordinator {
187
202
  // Counts and completeness only — see the contract's `run.observation`.
188
203
  this.runObservationService?.setEventSink((summary) => this.publish('run.observation', summary));
189
204
  this.sessionService = sessionService;
205
+ this.nativeTuiLane = nativeTuiLane;
206
+ this.acpAgentRegistry = acpAgentRegistry;
190
207
  this.intakeService = intakeService;
191
208
  this.knowledgeService = knowledgeService;
192
209
  // Session lifecycle on the feed: ids, modes and viewer counts — never PTY
@@ -651,8 +668,38 @@ export class AgentHostCoordinator {
651
668
  if (!service)
652
669
  return;
653
670
  try {
654
- const support = renderSupportFor(provider, { adapters: [...this.turnExecutionAdapters.values()] });
655
- const protocol = createRuntimeEventSessionChannel({
671
+ const support = renderSupportFor(provider, {
672
+ adapters: [...this.turnExecutionAdapters.values()],
673
+ // The seam `renderSupport.ts` declares. Undefined falls back to
674
+ // `noNativeTuiLane`, so the default is unchanged.
675
+ // The predicate is DERIVED from the command, so support cannot be
676
+ // claimed for a provider we could not actually launch.
677
+ ...(this.nativeTuiLane
678
+ ? { nativeTuiLane: (candidate) => Boolean(this.nativeTuiLane?.(candidate)) }
679
+ : {}),
680
+ });
681
+ /**
682
+ * 🔴 Ask which mode before building the channel, because the two modes
683
+ * are EXCLUSIVE and this call site used to build both.
684
+ *
685
+ * `open()` refuses `native-tui` when a protocol channel is present — a
686
+ * CLI in interactive TUI mode is not also serving ACP. Passing `protocol`
687
+ * unconditionally was harmless only while `nativeTuiLane` was hardcoded
688
+ * false: the moment a lane said true, `selectSessionRenderMode` would
689
+ * pick `native-tui` and this site would hand it the one thing that makes
690
+ * it illegal, so EVERY session on that provider would be refused with
691
+ * `protocol_channel_forbidden`.
692
+ *
693
+ * That is the exact failure `renderSupport.ts` promised could not happen
694
+ * — "the mode becomes available by construction". Construction reached as
695
+ * far as `renderSupportFor` and stopped one caller short.
696
+ *
697
+ * ⚠️ This calls the SAME exported selector `open()` calls, rather than
698
+ * restating its rule. Two callers of one function cannot drift; two
699
+ * copies of a rule can.
700
+ */
701
+ const selection = selectSessionRenderMode(support);
702
+ const createProtocol = () => createRuntimeEventSessionChannel({
656
703
  runId,
657
704
  subscribe: (listener) => this.subscribe((event) => {
658
705
  if (event.type !== 'runtime.event.appended')
@@ -662,23 +709,94 @@ export class AgentHostCoordinator {
662
709
  listener(payload.event);
663
710
  }),
664
711
  });
712
+ const protocol = selection.ok && selection.mode === 'acp' ? createProtocol() : undefined;
713
+ /**
714
+ * 🔴 The PTY is chosen by MODE, and the two are not interchangeable.
715
+ *
716
+ * `acp` gets a render target — our drawing of the structured stream, with
717
+ * a `write` that THROWS because a keystroke reaching it means a mode rule
718
+ * broke. `native-tui` gets a real terminal with the vendor's own binary
719
+ * inside it, where a write is a keystroke and must land.
720
+ *
721
+ * Handing the wrong one over is the single most likely way this mode goes
722
+ * wrong, which is why the buffered pty was built to fail loudly rather
723
+ * than no-op.
724
+ */
725
+ const spawnRequest = selection.ok && selection.mode === 'native-tui'
726
+ ? this.nativeTuiLane?.(provider)
727
+ : undefined;
665
728
  const opened = service.open({
666
729
  sessionId: runId,
667
730
  runId,
668
731
  support,
669
- pty: createBufferedSessionPty(),
670
- protocol,
732
+ pty: spawnRequest ? createNativeTuiSessionPty(spawnRequest) : createBufferedSessionPty(),
733
+ ...(protocol ? { protocol } : {}),
734
+ /**
735
+ * Passed even when a channel was built above, because `session.setMode`
736
+ * CLOSES the channel on the way to `native-tui` and a closed one cannot
737
+ * be revived. Without the factory the switch would be one-way, and a
738
+ * user who tried the agent's own TUI could never get the structured
739
+ * view back.
740
+ */
741
+ createProtocol,
671
742
  });
672
743
  // A refusal is the substrate doing its job — an unexecutable provider has
673
744
  // nothing to render. Close the channel we built for it rather than leaving
674
745
  // a subscription attached to a session that never existed.
675
746
  if (!opened.ok)
676
- protocol.close();
747
+ protocol?.close();
677
748
  }
678
749
  catch {
679
750
  // Contained: see above. The run proceeds without a session.
680
751
  }
681
752
  }
753
+ /**
754
+ * ADE §2.8's switch. The substrate has always accepted a preference; until
755
+ * `session.setMode` existed, no client could express one.
756
+ */
757
+ /**
758
+ * The slice of the ACP registry this host needs — a PORT, not the service.
759
+ *
760
+ * Declared structurally so `packages/host`'s public surface does not drag the
761
+ * registry's own types across the protocol boundary, and so a composition can
762
+ * supply something else entirely.
763
+ */
764
+ listAcpAgents() {
765
+ const registry = this.acpAgentRegistry;
766
+ // "No agents" and "this host cannot manage agents" are different facts, and
767
+ // a client that conflates them shows an empty picker with no way forward.
768
+ if (!registry)
769
+ return { ok: false, agents: [], reason: 'This host has no ACP agent registry mounted.' };
770
+ return { ok: true, agents: registry.listSummaries() };
771
+ }
772
+ addAcpPreset(request) {
773
+ const registry = this.acpAgentRegistry;
774
+ if (!registry)
775
+ return { ok: false, reason: 'This host has no ACP agent registry mounted.' };
776
+ // 🔴 Validated against the registry's OWN list, not a copy of it here. A
777
+ // second list of preset ids would be free to drift from the one that
778
+ // decides — which is exactly how the previous guard came to name three
779
+ // presets while six existed.
780
+ if (!registry.isPresetId(request.presetId)) {
781
+ return {
782
+ ok: false,
783
+ reason: `Unknown agent preset '${request.presetId}'. Available: ${registry.presetIds().join(', ')}.`,
784
+ };
785
+ }
786
+ return registry.addPreset(request.presetId);
787
+ }
788
+ removeAcpAgent(request) {
789
+ const registry = this.acpAgentRegistry;
790
+ if (!registry)
791
+ return { ok: false, removed: false, reason: 'This host has no ACP agent registry mounted.' };
792
+ return registry.remove(request.agentId);
793
+ }
794
+ setSessionMode(request) {
795
+ const service = this.sessionService;
796
+ if (!service)
797
+ return { ok: false, reason: 'This host has no session substrate mounted.' };
798
+ return service.setMode(request.sessionId, request.mode);
799
+ }
682
800
  async routeSessionInput(input) {
683
801
  const service = this.sessionService;
684
802
  if (!service)
@@ -1072,7 +1190,7 @@ export class AgentHostCoordinator {
1072
1190
  // 🔴 ALWAYS present, unlike every other optional field on this row.
1073
1191
  // §5.3 requires the user to always know whether the thing running is
1074
1192
  // contained, and "always" is the word that forbids omitting it when the
1075
- // answer is unflattering. `none` IS the answer today.
1193
+ // answer is unflattering. `none` is a real answer, not a missing field.
1076
1194
  isolation: isolation.isolation,
1077
1195
  ...(isolation.mechanism === undefined ? {} : { isolationMechanism: isolation.mechanism }),
1078
1196
  ...(isolation.reason === undefined ? {} : { isolationReason: isolation.reason }),
@@ -1413,6 +1531,9 @@ export class AgentHostCoordinator {
1413
1531
  if (method === 'turn.cancel') {
1414
1532
  return await this.cancelTurn(input);
1415
1533
  }
1534
+ if (method === 'context.inject') {
1535
+ return await this.injectContext(input);
1536
+ }
1416
1537
  if (method === 'turn.steer') {
1417
1538
  return await this.steerTurn(input);
1418
1539
  }
@@ -1470,6 +1591,18 @@ export class AgentHostCoordinator {
1470
1591
  if (method === 'session.release') {
1471
1592
  return this.releaseSession(input);
1472
1593
  }
1594
+ if (method === 'acp.agents.list') {
1595
+ return this.listAcpAgents();
1596
+ }
1597
+ if (method === 'acp.agents.addPreset') {
1598
+ return this.addAcpPreset(input);
1599
+ }
1600
+ if (method === 'acp.agents.remove') {
1601
+ return this.removeAcpAgent(input);
1602
+ }
1603
+ if (method === 'session.setMode') {
1604
+ return this.setSessionMode(input);
1605
+ }
1473
1606
  if (method === 'intake.sources.list') {
1474
1607
  return this.listIntakeSources();
1475
1608
  }
@@ -2025,6 +2158,7 @@ export class AgentHostCoordinator {
2025
2158
  }
2026
2159
  const controller = new AbortController();
2027
2160
  this.activeTurns.set(activeKey, { adapter, controller, request });
2161
+ this.conversationAdapters.set(request.conversationId, adapter);
2028
2162
  // 🔴 The host ENFORCES the deadline it already validates. `timeoutMs` was checked on the way
2029
2163
  // in (1..3_600_000) and forwarded to the adapter, but nothing here ever acted on it: the
2030
2164
  // controller was aborted only for shutdown or an explicit cancel. A turn whose adapter
@@ -2342,9 +2476,21 @@ export class AgentHostCoordinator {
2342
2476
  const failure = {
2343
2477
  success: false,
2344
2478
  code: 'steer_unsupported',
2479
+ /**
2480
+ * 🔴 NAME THE LANE, exactly as the no-steer branch above does (§7.1 capability
2481
+ * honesty). This said “The provider rejected the correction”, which names nothing an
2482
+ * operator can act on — with several lanes on a host, “the provider” is the one fact
2483
+ * they need and the one this withheld.
2484
+ *
2485
+ * ⚠️ IT ONLY BECAME REACHABLE WHEN THE ACP LANE LEARNED TO STEER. Until then no ACP
2486
+ * adapter implemented `steer`, so every ACP refusal took the branch above, which does
2487
+ * name itself. Implementing the capability moved the refusal onto a path whose message
2488
+ * was weaker — an improvement that quietly regressed the diagnostics beside it.
2489
+ * `scripts/session-attach-probe.mjs` caught it; nothing in this repo did.
2490
+ */
2345
2491
  safeError: error instanceof Error && error.message
2346
- ? `The provider rejected the correction: ${error.message.slice(0, 300)}`
2347
- : 'The provider rejected the correction.',
2492
+ ? `The '${active.adapter.id}' lane rejected the correction: ${error.message.slice(0, 300)}`
2493
+ : `The '${active.adapter.id}' lane rejected the correction.`,
2348
2494
  conversationId: input.conversationId,
2349
2495
  requestId: input.requestId,
2350
2496
  };
@@ -2362,6 +2508,86 @@ export class AgentHostCoordinator {
2362
2508
  this.commandResults.set(commandKey, { method: 'turn.steer', fingerprint, result: structuredClone(result) });
2363
2509
  return result;
2364
2510
  }
2511
+ /**
2512
+ * `context.inject` — push a pinned canvas node back into an agent's context (XENO SPAWN §2.2).
2513
+ *
2514
+ * 🔴 THE COMMAND THAT DID NOT EXIST. Both lanes could already inject — `AgentLoop.injectContext()`
2515
+ * on the SDK side, `AgentProcess.injectContext()` on the ACP side — the `context.injected` event
2516
+ * was defined, forwarded and PROJECTED, and nothing in this host could trigger any of it. Every
2517
+ * layer was built and tested; the one that lets a surface act was missing, which is the shape
2518
+ * this ecosystem keeps re-finding.
2519
+ *
2520
+ * ⚠️ NOT gated on an active turn, unlike `steerTurn`. Pin-forward is normally a between-turns
2521
+ * act, so the lane is resolved from `conversationAdapters` rather than `activeTurns`.
2522
+ */
2523
+ async injectContext(input) {
2524
+ if (!this.isConnectedClient(input.command.client)) {
2525
+ return {
2526
+ success: false,
2527
+ code: 'client_not_connected',
2528
+ safeError: 'Complete the handshake before injecting context.',
2529
+ conversationId: input.conversationId,
2530
+ };
2531
+ }
2532
+ if (typeof input.content !== 'string' || !input.content.trim()) {
2533
+ return {
2534
+ success: false,
2535
+ code: 'invalid_request',
2536
+ safeError: 'Injected content must be a non-empty string.',
2537
+ conversationId: input.conversationId,
2538
+ };
2539
+ }
2540
+ const adapter = this.conversationAdapters.get(input.conversationId);
2541
+ if (!adapter) {
2542
+ // Nothing has run on this conversation yet, so there is no agent to hold the node. Said
2543
+ // plainly rather than as a generic failure: the remedy is to start a turn first.
2544
+ return {
2545
+ success: false,
2546
+ code: 'no_active_session',
2547
+ safeError: 'This conversation has no agent session yet. Start a turn before pinning a node into it.',
2548
+ conversationId: input.conversationId,
2549
+ };
2550
+ }
2551
+ if (!adapter.injectContext) {
2552
+ /**
2553
+ * 🔴 The remedy is DERIVED from what the other lanes can do, not written by hand — the same
2554
+ * rule `steerTurn` follows, so a lane gaining the capability changes this message for free.
2555
+ */
2556
+ const capable = [...this.turnExecutionAdapters.values()]
2557
+ .filter((entry) => entry.injectContext)
2558
+ .map((entry) => entry.id);
2559
+ return {
2560
+ success: false,
2561
+ code: 'inject_unsupported',
2562
+ safeError: capable.length > 0
2563
+ ? `The '${adapter.id}' lane cannot take injected context. Lanes that can: ${capable.join(', ')}.`
2564
+ : `The '${adapter.id}' lane cannot take injected context, and no lane on this host can.`,
2565
+ conversationId: input.conversationId,
2566
+ };
2567
+ }
2568
+ try {
2569
+ const outcome = await adapter.injectContext(structuredClone(input));
2570
+ return {
2571
+ success: true,
2572
+ ...(outcome?.messageId ? { messageId: outcome.messageId } : {}),
2573
+ ...(outcome?.status ? { status: outcome.status } : {}),
2574
+ deliveredVia: 'adapter',
2575
+ conversationId: input.conversationId,
2576
+ };
2577
+ }
2578
+ catch (error) {
2579
+ // Reported, never swallowed. A caller that believes a node was pinned when it was not will
2580
+ // reason about what the agent knows using an edge that does not exist.
2581
+ return {
2582
+ success: false,
2583
+ code: 'inject_unsupported',
2584
+ safeError: error instanceof Error && error.message
2585
+ ? `The provider rejected the injection: ${error.message.slice(0, 300)}`
2586
+ : 'The provider rejected the injection.',
2587
+ conversationId: input.conversationId,
2588
+ };
2589
+ }
2590
+ }
2365
2591
  /** True while any turn is running for this conversation. */
2366
2592
  hasActiveTurn(conversationId) {
2367
2593
  for (const active of this.activeTurns.values()) {
@@ -3156,7 +3382,6 @@ export * from './isolation/RunIsolationService.js';
3156
3382
  */
3157
3383
  export * from './isolation/SandboxCommandExecutor.js';
3158
3384
  export * from './observation/XenoUseObservationSource.js';
3159
- export * from './observation/XenoUseRunObserver.js';
3160
3385
  export * from './session/AgentSessionService.js';
3161
3386
  export * from './session/runtimeEventChannel.js';
3162
3387
  export * from './session/renderSupport.js';