@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.
- package/dist/acp/AcpAgentRegistryService.d.ts +43 -1
- package/dist/acp/AcpAgentRegistryService.d.ts.map +1 -1
- package/dist/acp/AcpAgentRegistryService.js +200 -1
- package/dist/acp/AcpAgentRegistryService.js.map +1 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts +66 -0
- package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts.map +1 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.js +182 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.js.map +1 -1
- package/dist/acp/AcpPermissionBridge.d.ts.map +1 -1
- package/dist/acp/AcpPermissionBridge.js +3 -3
- package/dist/acp/AcpPermissionBridge.js.map +1 -1
- package/dist/acp/AcpProcessSupervisor.d.ts +81 -0
- package/dist/acp/AcpProcessSupervisor.d.ts.map +1 -1
- package/dist/acp/AcpProcessSupervisor.js +176 -2
- package/dist/acp/AcpProcessSupervisor.js.map +1 -1
- package/dist/acp/AcpRuntimeEventMapper.d.ts.map +1 -1
- package/dist/acp/AcpRuntimeEventMapper.js +9 -0
- package/dist/acp/AcpRuntimeEventMapper.js.map +1 -1
- package/dist/acp/AcpSessionService.d.ts +36 -0
- package/dist/acp/AcpSessionService.d.ts.map +1 -1
- package/dist/acp/AcpSessionService.js +57 -1
- package/dist/acp/AcpSessionService.js.map +1 -1
- package/dist/acp/DurableAcpPermissionPolicyStore.d.ts.map +1 -1
- package/dist/acp/DurableAcpPermissionPolicyStore.js +5 -3
- package/dist/acp/DurableAcpPermissionPolicyStore.js.map +1 -1
- package/dist/acp/acpRedaction.d.ts.map +1 -1
- package/dist/acp/acpRedaction.js +2 -0
- package/dist/acp/acpRedaction.js.map +1 -1
- package/dist/acp/acpTypes.d.ts +111 -1
- package/dist/acp/acpTypes.d.ts.map +1 -1
- package/dist/acp/acpTypes.js +21 -1
- package/dist/acp/acpTypes.js.map +1 -1
- package/dist/index.d.ts +108 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +236 -11
- package/dist/index.js.map +1 -1
- package/dist/isolation/CommandExecution.d.ts +7 -12
- package/dist/isolation/CommandExecution.d.ts.map +1 -1
- package/dist/isolation/CommandExecution.js +7 -12
- package/dist/isolation/CommandExecution.js.map +1 -1
- package/dist/isolation/CommandStream.d.ts +100 -0
- package/dist/isolation/CommandStream.d.ts.map +1 -0
- package/dist/isolation/CommandStream.js +47 -0
- package/dist/isolation/CommandStream.js.map +1 -0
- package/dist/isolation/RunExecutionEnvironment.d.ts +15 -0
- package/dist/isolation/RunExecutionEnvironment.d.ts.map +1 -1
- package/dist/isolation/RunExecutionEnvironment.js +45 -9
- package/dist/isolation/RunExecutionEnvironment.js.map +1 -1
- package/dist/isolation/RunIsolationService.d.ts +10 -5
- package/dist/isolation/RunIsolationService.d.ts.map +1 -1
- package/dist/isolation/RunIsolationService.js +7 -3
- package/dist/isolation/RunIsolationService.js.map +1 -1
- package/dist/isolation/SandboxCapabilities.d.ts +28 -0
- package/dist/isolation/SandboxCapabilities.d.ts.map +1 -0
- package/dist/isolation/SandboxCapabilities.js +33 -0
- package/dist/isolation/SandboxCapabilities.js.map +1 -0
- package/dist/isolation/SandboxCommandExecutor.d.ts +4 -7
- package/dist/isolation/SandboxCommandExecutor.d.ts.map +1 -1
- package/dist/isolation/SandboxCommandExecutor.js +6 -7
- package/dist/isolation/SandboxCommandExecutor.js.map +1 -1
- package/dist/isolation/SandboxCommandStream.d.ts +38 -0
- package/dist/isolation/SandboxCommandStream.d.ts.map +1 -0
- package/dist/isolation/SandboxCommandStream.js +232 -0
- package/dist/isolation/SandboxCommandStream.js.map +1 -0
- package/dist/isolation/shellArgv.d.ts +15 -0
- package/dist/isolation/shellArgv.d.ts.map +1 -0
- package/dist/isolation/shellArgv.js +31 -0
- package/dist/isolation/shellArgv.js.map +1 -0
- package/dist/isolation/useIdempotency.d.ts +19 -0
- package/dist/isolation/useIdempotency.d.ts.map +1 -0
- package/dist/isolation/useIdempotency.js +57 -0
- package/dist/isolation/useIdempotency.js.map +1 -0
- package/dist/localRpcTransport.d.ts +18 -0
- package/dist/localRpcTransport.d.ts.map +1 -1
- package/dist/localRpcTransport.js +38 -4
- package/dist/localRpcTransport.js.map +1 -1
- package/dist/node.d.ts +19 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +19 -0
- package/dist/node.js.map +1 -1
- package/dist/observation/XenoUseRunObserver.d.ts +20 -0
- package/dist/observation/XenoUseRunObserver.d.ts.map +1 -1
- package/dist/observation/XenoUseRunObserver.js +27 -13
- package/dist/observation/XenoUseRunObserver.js.map +1 -1
- package/dist/runtime/RuntimeTimelineProjection.d.ts +2 -2
- package/dist/runtime/RuntimeTimelineProjection.d.ts.map +1 -1
- package/dist/runtime/RuntimeTimelineProjection.js +194 -1
- package/dist/runtime/RuntimeTimelineProjection.js.map +1 -1
- package/dist/sdk/DurablePendingInjectionStore.d.ts +24 -0
- package/dist/sdk/DurablePendingInjectionStore.d.ts.map +1 -0
- package/dist/sdk/DurablePendingInjectionStore.js +103 -0
- package/dist/sdk/DurablePendingInjectionStore.js.map +1 -0
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts +81 -1
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts.map +1 -1
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js +122 -3
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js.map +1 -1
- package/dist/sdk/pendingInjections.d.ts +83 -0
- package/dist/sdk/pendingInjections.d.ts.map +1 -0
- package/dist/sdk/pendingInjections.js +79 -0
- package/dist/sdk/pendingInjections.js.map +1 -0
- package/dist/session/AgentSessionService.d.ts +34 -0
- package/dist/session/AgentSessionService.d.ts.map +1 -1
- package/dist/session/AgentSessionService.js +85 -1
- package/dist/session/AgentSessionService.js.map +1 -1
- package/dist/session/nativeTuiSessionPty.d.ts +40 -0
- package/dist/session/nativeTuiSessionPty.d.ts.map +1 -0
- package/dist/session/nativeTuiSessionPty.js +142 -0
- package/dist/session/nativeTuiSessionPty.js.map +1 -0
- package/dist/session/nodePtyLoader.d.ts +23 -0
- package/dist/session/nodePtyLoader.d.ts.map +1 -0
- package/dist/session/nodePtyLoader.js +41 -0
- package/dist/session/nodePtyLoader.js.map +1 -0
- package/dist/session/renderSupport.d.ts +34 -0
- package/dist/session/renderSupport.d.ts.map +1 -1
- package/dist/session/renderSupport.js +39 -1
- package/dist/session/renderSupport.js.map +1 -1
- package/dist/workspace/WorkspaceHostService.d.ts +27 -2
- package/dist/workspace/WorkspaceHostService.d.ts.map +1 -1
- package/dist/workspace/WorkspaceHostService.js +221 -25
- package/dist/workspace/WorkspaceHostService.js.map +1 -1
- 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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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, {
|
|
655
|
-
|
|
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
|
|
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`
|
|
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
|
|
2347
|
-
:
|
|
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';
|