@xenosystem/agent-interface-host 0.1.3
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/LICENSE +67 -0
- package/dist/acp/AcpAgentRegistryService.d.ts +77 -0
- package/dist/acp/AcpAgentRegistryService.d.ts.map +1 -0
- package/dist/acp/AcpAgentRegistryService.js +754 -0
- package/dist/acp/AcpAgentRegistryService.js.map +1 -0
- package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts +56 -0
- package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts.map +1 -0
- package/dist/acp/AcpAgentTurnExecutionAdapter.js +323 -0
- package/dist/acp/AcpAgentTurnExecutionAdapter.js.map +1 -0
- package/dist/acp/AcpApprovalPortAdapter.d.ts +41 -0
- package/dist/acp/AcpApprovalPortAdapter.d.ts.map +1 -0
- package/dist/acp/AcpApprovalPortAdapter.js +82 -0
- package/dist/acp/AcpApprovalPortAdapter.js.map +1 -0
- package/dist/acp/AcpCoordinationBridge.d.ts +13 -0
- package/dist/acp/AcpCoordinationBridge.d.ts.map +1 -0
- package/dist/acp/AcpCoordinationBridge.js +13 -0
- package/dist/acp/AcpCoordinationBridge.js.map +1 -0
- package/dist/acp/AcpDiagnosticsService.d.ts +61 -0
- package/dist/acp/AcpDiagnosticsService.d.ts.map +1 -0
- package/dist/acp/AcpDiagnosticsService.js +203 -0
- package/dist/acp/AcpDiagnosticsService.js.map +1 -0
- package/dist/acp/AcpExternalCertificationHarness.d.ts +47 -0
- package/dist/acp/AcpExternalCertificationHarness.d.ts.map +1 -0
- package/dist/acp/AcpExternalCertificationHarness.js +176 -0
- package/dist/acp/AcpExternalCertificationHarness.js.map +1 -0
- package/dist/acp/AcpHostBridge.d.ts +81 -0
- package/dist/acp/AcpHostBridge.d.ts.map +1 -0
- package/dist/acp/AcpHostBridge.js +101 -0
- package/dist/acp/AcpHostBridge.js.map +1 -0
- package/dist/acp/AcpInteractivePermissionBridge.d.ts +77 -0
- package/dist/acp/AcpInteractivePermissionBridge.d.ts.map +1 -0
- package/dist/acp/AcpInteractivePermissionBridge.js +127 -0
- package/dist/acp/AcpInteractivePermissionBridge.js.map +1 -0
- package/dist/acp/AcpPermissionBridge.d.ts +19 -0
- package/dist/acp/AcpPermissionBridge.d.ts.map +1 -0
- package/dist/acp/AcpPermissionBridge.js +110 -0
- package/dist/acp/AcpPermissionBridge.js.map +1 -0
- package/dist/acp/AcpPermissionPolicy.d.ts +111 -0
- package/dist/acp/AcpPermissionPolicy.d.ts.map +1 -0
- package/dist/acp/AcpPermissionPolicy.js +167 -0
- package/dist/acp/AcpPermissionPolicy.js.map +1 -0
- package/dist/acp/AcpProcessSupervisor.d.ts +134 -0
- package/dist/acp/AcpProcessSupervisor.d.ts.map +1 -0
- package/dist/acp/AcpProcessSupervisor.js +674 -0
- package/dist/acp/AcpProcessSupervisor.js.map +1 -0
- package/dist/acp/AcpProviderApprovalService.d.ts +27 -0
- package/dist/acp/AcpProviderApprovalService.d.ts.map +1 -0
- package/dist/acp/AcpProviderApprovalService.js +128 -0
- package/dist/acp/AcpProviderApprovalService.js.map +1 -0
- package/dist/acp/AcpProviderCatalogService.d.ts +69 -0
- package/dist/acp/AcpProviderCatalogService.d.ts.map +1 -0
- package/dist/acp/AcpProviderCatalogService.js +707 -0
- package/dist/acp/AcpProviderCatalogService.js.map +1 -0
- package/dist/acp/AcpProviderModelService.d.ts +6 -0
- package/dist/acp/AcpProviderModelService.d.ts.map +1 -0
- package/dist/acp/AcpProviderModelService.js +274 -0
- package/dist/acp/AcpProviderModelService.js.map +1 -0
- package/dist/acp/AcpProviderVersionReadiness.d.ts +6 -0
- package/dist/acp/AcpProviderVersionReadiness.d.ts.map +1 -0
- package/dist/acp/AcpProviderVersionReadiness.js +100 -0
- package/dist/acp/AcpProviderVersionReadiness.js.map +1 -0
- package/dist/acp/AcpRuntimeEventMapper.d.ts +16 -0
- package/dist/acp/AcpRuntimeEventMapper.d.ts.map +1 -0
- package/dist/acp/AcpRuntimeEventMapper.js +326 -0
- package/dist/acp/AcpRuntimeEventMapper.js.map +1 -0
- package/dist/acp/AcpSessionService.d.ts +65 -0
- package/dist/acp/AcpSessionService.d.ts.map +1 -0
- package/dist/acp/AcpSessionService.js +931 -0
- package/dist/acp/AcpSessionService.js.map +1 -0
- package/dist/acp/DurableAcpPermissionPolicyStore.d.ts +25 -0
- package/dist/acp/DurableAcpPermissionPolicyStore.d.ts.map +1 -0
- package/dist/acp/DurableAcpPermissionPolicyStore.js +100 -0
- package/dist/acp/DurableAcpPermissionPolicyStore.js.map +1 -0
- package/dist/acp/acpCommandSafety.d.ts +63 -0
- package/dist/acp/acpCommandSafety.d.ts.map +1 -0
- package/dist/acp/acpCommandSafety.js +90 -0
- package/dist/acp/acpCommandSafety.js.map +1 -0
- package/dist/acp/acpErrors.d.ts +47 -0
- package/dist/acp/acpErrors.d.ts.map +1 -0
- package/dist/acp/acpErrors.js +93 -0
- package/dist/acp/acpErrors.js.map +1 -0
- package/dist/acp/acpRedaction.d.ts +9 -0
- package/dist/acp/acpRedaction.d.ts.map +1 -0
- package/dist/acp/acpRedaction.js +69 -0
- package/dist/acp/acpRedaction.js.map +1 -0
- package/dist/acp/acpSessionResume.d.ts +8 -0
- package/dist/acp/acpSessionResume.d.ts.map +1 -0
- package/dist/acp/acpSessionResume.js +31 -0
- package/dist/acp/acpSessionResume.js.map +1 -0
- package/dist/acp/acpTypes.d.ts +467 -0
- package/dist/acp/acpTypes.d.ts.map +1 -0
- package/dist/acp/acpTypes.js +2 -0
- package/dist/acp/acpTypes.js.map +1 -0
- package/dist/agent/chooseDirectoryBridge.d.ts +29 -0
- package/dist/agent/chooseDirectoryBridge.d.ts.map +1 -0
- package/dist/agent/chooseDirectoryBridge.js +116 -0
- package/dist/agent/chooseDirectoryBridge.js.map +1 -0
- package/dist/agent/permissionProfiles.d.ts +29 -0
- package/dist/agent/permissionProfiles.d.ts.map +1 -0
- package/dist/agent/permissionProfiles.js +107 -0
- package/dist/agent/permissionProfiles.js.map +1 -0
- package/dist/agent/runtimeAuthorityPrompt.d.ts +13 -0
- package/dist/agent/runtimeAuthorityPrompt.d.ts.map +1 -0
- package/dist/agent/runtimeAuthorityPrompt.js +45 -0
- package/dist/agent/runtimeAuthorityPrompt.js.map +1 -0
- package/dist/agent/runtimeModeOutputGuard.d.ts +6 -0
- package/dist/agent/runtimeModeOutputGuard.d.ts.map +1 -0
- package/dist/agent/runtimeModeOutputGuard.js +40 -0
- package/dist/agent/runtimeModeOutputGuard.js.map +1 -0
- package/dist/agent/workspacePlacementBridge.d.ts +29 -0
- package/dist/agent/workspacePlacementBridge.d.ts.map +1 -0
- package/dist/agent/workspacePlacementBridge.js +143 -0
- package/dist/agent/workspacePlacementBridge.js.map +1 -0
- package/dist/agentSearch/AgentSearchService.d.ts +81 -0
- package/dist/agentSearch/AgentSearchService.d.ts.map +1 -0
- package/dist/agentSearch/AgentSearchService.js +1038 -0
- package/dist/agentSearch/AgentSearchService.js.map +1 -0
- package/dist/agentSearch/JsonInvertedIndexAdapter.d.ts +44 -0
- package/dist/agentSearch/JsonInvertedIndexAdapter.d.ts.map +1 -0
- package/dist/agentSearch/JsonInvertedIndexAdapter.js +307 -0
- package/dist/agentSearch/JsonInvertedIndexAdapter.js.map +1 -0
- package/dist/agentSearch/SearchIndexAdapter.d.ts +33 -0
- package/dist/agentSearch/SearchIndexAdapter.d.ts.map +1 -0
- package/dist/agentSearch/SearchIndexAdapter.js +2 -0
- package/dist/agentSearch/SearchIndexAdapter.js.map +1 -0
- package/dist/agentSearch/SearchSourceWatcher.d.ts +29 -0
- package/dist/agentSearch/SearchSourceWatcher.d.ts.map +1 -0
- package/dist/agentSearch/SearchSourceWatcher.js +150 -0
- package/dist/agentSearch/SearchSourceWatcher.js.map +1 -0
- package/dist/agentSearch/SqliteFtsIndexAdapter.d.ts +58 -0
- package/dist/agentSearch/SqliteFtsIndexAdapter.d.ts.map +1 -0
- package/dist/agentSearch/SqliteFtsIndexAdapter.js +420 -0
- package/dist/agentSearch/SqliteFtsIndexAdapter.js.map +1 -0
- package/dist/agentSearch/conversationIndexer.d.ts +69 -0
- package/dist/agentSearch/conversationIndexer.d.ts.map +1 -0
- package/dist/agentSearch/conversationIndexer.js +313 -0
- package/dist/agentSearch/conversationIndexer.js.map +1 -0
- package/dist/agentSearch/searchTypes.d.ts +264 -0
- package/dist/agentSearch/searchTypes.d.ts.map +1 -0
- package/dist/agentSearch/searchTypes.js +2 -0
- package/dist/agentSearch/searchTypes.js.map +1 -0
- package/dist/agentSearch/searchUtils.d.ts +12 -0
- package/dist/agentSearch/searchUtils.d.ts.map +1 -0
- package/dist/agentSearch/searchUtils.js +125 -0
- package/dist/agentSearch/searchUtils.js.map +1 -0
- package/dist/agentSearch/workspaceMetadataIndexer.d.ts +3 -0
- package/dist/agentSearch/workspaceMetadataIndexer.d.ts.map +1 -0
- package/dist/agentSearch/workspaceMetadataIndexer.js +125 -0
- package/dist/agentSearch/workspaceMetadataIndexer.js.map +1 -0
- package/dist/cli/CliControlPlaneService.d.ts +269 -0
- package/dist/cli/CliControlPlaneService.d.ts.map +1 -0
- package/dist/cli/CliControlPlaneService.js +1874 -0
- package/dist/cli/CliControlPlaneService.js.map +1 -0
- package/dist/cloud/XenoCloudAgentTurnExecutionAdapter.d.ts +91 -0
- package/dist/cloud/XenoCloudAgentTurnExecutionAdapter.d.ts.map +1 -0
- package/dist/cloud/XenoCloudAgentTurnExecutionAdapter.js +379 -0
- package/dist/cloud/XenoCloudAgentTurnExecutionAdapter.js.map +1 -0
- package/dist/codebase/CodebaseIntelligenceService.d.ts +68 -0
- package/dist/codebase/CodebaseIntelligenceService.d.ts.map +1 -0
- package/dist/codebase/CodebaseIntelligenceService.js +1717 -0
- package/dist/codebase/CodebaseIntelligenceService.js.map +1 -0
- package/dist/codebase/LanguageServerProcessManager.d.ts +85 -0
- package/dist/codebase/LanguageServerProcessManager.d.ts.map +1 -0
- package/dist/codebase/LanguageServerProcessManager.js +607 -0
- package/dist/codebase/LanguageServerProcessManager.js.map +1 -0
- package/dist/codebase/codeTypes.d.ts +485 -0
- package/dist/codebase/codeTypes.d.ts.map +1 -0
- package/dist/codebase/codeTypes.js +2 -0
- package/dist/codebase/codeTypes.js.map +1 -0
- package/dist/codebase/codeUtils.d.ts +24 -0
- package/dist/codebase/codeUtils.d.ts.map +1 -0
- package/dist/codebase/codeUtils.js +177 -0
- package/dist/codebase/codeUtils.js.map +1 -0
- package/dist/codebase/contextPacks.d.ts +18 -0
- package/dist/codebase/contextPacks.d.ts.map +1 -0
- package/dist/codebase/contextPacks.js +180 -0
- package/dist/codebase/contextPacks.js.map +1 -0
- package/dist/codebase/dependencyGraph.d.ts +3 -0
- package/dist/codebase/dependencyGraph.d.ts.map +1 -0
- package/dist/codebase/dependencyGraph.js +209 -0
- package/dist/codebase/dependencyGraph.js.map +1 -0
- package/dist/codebase/fileIndexer.d.ts +27 -0
- package/dist/codebase/fileIndexer.d.ts.map +1 -0
- package/dist/codebase/fileIndexer.js +167 -0
- package/dist/codebase/fileIndexer.js.map +1 -0
- package/dist/codebase/symbolIndexer.d.ts +3 -0
- package/dist/codebase/symbolIndexer.d.ts.map +1 -0
- package/dist/codebase/symbolIndexer.js +184 -0
- package/dist/codebase/symbolIndexer.js.map +1 -0
- package/dist/codebase/whatChanged.d.ts +4 -0
- package/dist/codebase/whatChanged.d.ts.map +1 -0
- package/dist/codebase/whatChanged.js +138 -0
- package/dist/codebase/whatChanged.js.map +1 -0
- package/dist/coordination/CoordinationService.d.ts +166 -0
- package/dist/coordination/CoordinationService.d.ts.map +1 -0
- package/dist/coordination/CoordinationService.js +247 -0
- package/dist/coordination/CoordinationService.js.map +1 -0
- package/dist/coordination/claims.d.ts +122 -0
- package/dist/coordination/claims.d.ts.map +1 -0
- package/dist/coordination/claims.js +196 -0
- package/dist/coordination/claims.js.map +1 -0
- package/dist/coordination/coordinationTools.d.ts +40 -0
- package/dist/coordination/coordinationTools.d.ts.map +1 -0
- package/dist/coordination/coordinationTools.js +92 -0
- package/dist/coordination/coordinationTools.js.map +1 -0
- package/dist/coordination/laneBridge.d.ts +84 -0
- package/dist/coordination/laneBridge.d.ts.map +1 -0
- package/dist/coordination/laneBridge.js +86 -0
- package/dist/coordination/laneBridge.js.map +1 -0
- package/dist/coordination/messages.d.ts +225 -0
- package/dist/coordination/messages.d.ts.map +1 -0
- package/dist/coordination/messages.js +335 -0
- package/dist/coordination/messages.js.map +1 -0
- package/dist/coordination/permissionWaitRegistry.d.ts +32 -0
- package/dist/coordination/permissionWaitRegistry.d.ts.map +1 -0
- package/dist/coordination/permissionWaitRegistry.js +59 -0
- package/dist/coordination/permissionWaitRegistry.js.map +1 -0
- package/dist/coordination/query.d.ts +187 -0
- package/dist/coordination/query.d.ts.map +1 -0
- package/dist/coordination/query.js +138 -0
- package/dist/coordination/query.js.map +1 -0
- package/dist/coordination/renderInbox.d.ts +15 -0
- package/dist/coordination/renderInbox.d.ts.map +1 -0
- package/dist/coordination/renderInbox.js +19 -0
- package/dist/coordination/renderInbox.js.map +1 -0
- package/dist/coordination/runtimeEvents.d.ts +53 -0
- package/dist/coordination/runtimeEvents.d.ts.map +1 -0
- package/dist/coordination/runtimeEvents.js +112 -0
- package/dist/coordination/runtimeEvents.js.map +1 -0
- package/dist/detachedHostService.d.ts +77 -0
- package/dist/detachedHostService.d.ts.map +1 -0
- package/dist/detachedHostService.js +66 -0
- package/dist/detachedHostService.js.map +1 -0
- package/dist/detachedHostSupervisor.d.ts +102 -0
- package/dist/detachedHostSupervisor.d.ts.map +1 -0
- package/dist/detachedHostSupervisor.js +168 -0
- package/dist/detachedHostSupervisor.js.map +1 -0
- package/dist/durableRuntimeEventStore.d.ts +49 -0
- package/dist/durableRuntimeEventStore.d.ts.map +1 -0
- package/dist/durableRuntimeEventStore.js +364 -0
- package/dist/durableRuntimeEventStore.js.map +1 -0
- package/dist/engineering/EngineeringWorkbenchService.d.ts +142 -0
- package/dist/engineering/EngineeringWorkbenchService.d.ts.map +1 -0
- package/dist/engineering/EngineeringWorkbenchService.js +2301 -0
- package/dist/engineering/EngineeringWorkbenchService.js.map +1 -0
- package/dist/engineering/LandingService.d.ts +112 -0
- package/dist/engineering/LandingService.d.ts.map +1 -0
- package/dist/engineering/LandingService.js +239 -0
- package/dist/engineering/LandingService.js.map +1 -0
- package/dist/engineering/engineeringTypes.d.ts +2 -0
- package/dist/engineering/engineeringTypes.d.ts.map +1 -0
- package/dist/engineering/engineeringTypes.js +2 -0
- package/dist/engineering/engineeringTypes.js.map +1 -0
- package/dist/engineering/patchReview.d.ts +11 -0
- package/dist/engineering/patchReview.d.ts.map +1 -0
- package/dist/engineering/patchReview.js +174 -0
- package/dist/engineering/patchReview.js.map +1 -0
- package/dist/index.d.ts +834 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3242 -0
- package/dist/index.js.map +1 -0
- package/dist/intake/IntakeService.d.ts +84 -0
- package/dist/intake/IntakeService.d.ts.map +1 -0
- package/dist/intake/IntakeService.js +117 -0
- package/dist/intake/IntakeService.js.map +1 -0
- package/dist/intake/RepositoryTodoIntakeSource.d.ts +72 -0
- package/dist/intake/RepositoryTodoIntakeSource.d.ts.map +1 -0
- package/dist/intake/RepositoryTodoIntakeSource.js +168 -0
- package/dist/intake/RepositoryTodoIntakeSource.js.map +1 -0
- package/dist/intake/WorkspaceTodoIntakeSource.d.ts +53 -0
- package/dist/intake/WorkspaceTodoIntakeSource.d.ts.map +1 -0
- package/dist/intake/WorkspaceTodoIntakeSource.js +81 -0
- package/dist/intake/WorkspaceTodoIntakeSource.js.map +1 -0
- package/dist/isolation/CommandExecution.d.ts +132 -0
- package/dist/isolation/CommandExecution.d.ts.map +1 -0
- package/dist/isolation/CommandExecution.js +48 -0
- package/dist/isolation/CommandExecution.js.map +1 -0
- package/dist/isolation/LocalCommandExecutor.d.ts +27 -0
- package/dist/isolation/LocalCommandExecutor.d.ts.map +1 -0
- package/dist/isolation/LocalCommandExecutor.js +97 -0
- package/dist/isolation/LocalCommandExecutor.js.map +1 -0
- package/dist/isolation/RunExecutionEnvironment.d.ts +135 -0
- package/dist/isolation/RunExecutionEnvironment.d.ts.map +1 -0
- package/dist/isolation/RunExecutionEnvironment.js +206 -0
- package/dist/isolation/RunExecutionEnvironment.js.map +1 -0
- package/dist/isolation/RunIsolationService.d.ts +90 -0
- package/dist/isolation/RunIsolationService.d.ts.map +1 -0
- package/dist/isolation/RunIsolationService.js +86 -0
- package/dist/isolation/RunIsolationService.js.map +1 -0
- package/dist/isolation/SandboxCommandExecutor.d.ts +93 -0
- package/dist/isolation/SandboxCommandExecutor.d.ts.map +1 -0
- package/dist/isolation/SandboxCommandExecutor.js +189 -0
- package/dist/isolation/SandboxCommandExecutor.js.map +1 -0
- package/dist/knowledge/WorkspaceKnowledgeService.d.ts +71 -0
- package/dist/knowledge/WorkspaceKnowledgeService.d.ts.map +1 -0
- package/dist/knowledge/WorkspaceKnowledgeService.js +103 -0
- package/dist/knowledge/WorkspaceKnowledgeService.js.map +1 -0
- package/dist/localHostAuthority.d.ts +24 -0
- package/dist/localHostAuthority.d.ts.map +1 -0
- package/dist/localHostAuthority.js +87 -0
- package/dist/localHostAuthority.js.map +1 -0
- package/dist/localHostLease.d.ts +51 -0
- package/dist/localHostLease.d.ts.map +1 -0
- package/dist/localHostLease.js +167 -0
- package/dist/localHostLease.js.map +1 -0
- package/dist/localHostPaths.d.ts +30 -0
- package/dist/localHostPaths.d.ts.map +1 -0
- package/dist/localHostPaths.js +60 -0
- package/dist/localHostPaths.js.map +1 -0
- package/dist/localRpcTransport.d.ts +21 -0
- package/dist/localRpcTransport.d.ts.map +1 -0
- package/dist/localRpcTransport.js +423 -0
- package/dist/localRpcTransport.js.map +1 -0
- package/dist/node.d.ts +104 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +103 -0
- package/dist/node.js.map +1 -0
- package/dist/observation/DirectoryBaselineScanner.d.ts +44 -0
- package/dist/observation/DirectoryBaselineScanner.d.ts.map +1 -0
- package/dist/observation/DirectoryBaselineScanner.js +112 -0
- package/dist/observation/DirectoryBaselineScanner.js.map +1 -0
- package/dist/observation/MountContentReader.d.ts +63 -0
- package/dist/observation/MountContentReader.d.ts.map +1 -0
- package/dist/observation/MountContentReader.js +158 -0
- package/dist/observation/MountContentReader.js.map +1 -0
- package/dist/observation/RunObservationService.d.ts +229 -0
- package/dist/observation/RunObservationService.d.ts.map +1 -0
- package/dist/observation/RunObservationService.js +248 -0
- package/dist/observation/RunObservationService.js.map +1 -0
- package/dist/observation/XenoUseObservationSource.d.ts +42 -0
- package/dist/observation/XenoUseObservationSource.d.ts.map +1 -0
- package/dist/observation/XenoUseObservationSource.js +104 -0
- package/dist/observation/XenoUseObservationSource.js.map +1 -0
- package/dist/observation/XenoUseRunObserver.d.ts +140 -0
- package/dist/observation/XenoUseRunObserver.d.ts.map +1 -0
- package/dist/observation/XenoUseRunObserver.js +256 -0
- package/dist/observation/XenoUseRunObserver.js.map +1 -0
- package/dist/pluginMcp/PluginMcpManagerService.d.ts +141 -0
- package/dist/pluginMcp/PluginMcpManagerService.d.ts.map +1 -0
- package/dist/pluginMcp/PluginMcpManagerService.js +1821 -0
- package/dist/pluginMcp/PluginMcpManagerService.js.map +1 -0
- package/dist/pluginMcp/pluginMcpTypes.d.ts +349 -0
- package/dist/pluginMcp/pluginMcpTypes.d.ts.map +1 -0
- package/dist/pluginMcp/pluginMcpTypes.js +2 -0
- package/dist/pluginMcp/pluginMcpTypes.js.map +1 -0
- package/dist/policy/WorkspacePolicyService.d.ts +83 -0
- package/dist/policy/WorkspacePolicyService.d.ts.map +1 -0
- package/dist/policy/WorkspacePolicyService.js +809 -0
- package/dist/policy/WorkspacePolicyService.js.map +1 -0
- package/dist/policy/policyGuard.d.ts +27 -0
- package/dist/policy/policyGuard.d.ts.map +1 -0
- package/dist/policy/policyGuard.js +143 -0
- package/dist/policy/policyGuard.js.map +1 -0
- package/dist/policy/policyTypes.d.ts +190 -0
- package/dist/policy/policyTypes.d.ts.map +1 -0
- package/dist/policy/policyTypes.js +2 -0
- package/dist/policy/policyTypes.js.map +1 -0
- package/dist/runtime/RuntimeEventStore.d.ts +42 -0
- package/dist/runtime/RuntimeEventStore.d.ts.map +1 -0
- package/dist/runtime/RuntimeEventStore.js +412 -0
- package/dist/runtime/RuntimeEventStore.js.map +1 -0
- package/dist/runtime/RuntimeEventStoreRepositoryAdapter.d.ts +21 -0
- package/dist/runtime/RuntimeEventStoreRepositoryAdapter.d.ts.map +1 -0
- package/dist/runtime/RuntimeEventStoreRepositoryAdapter.js +41 -0
- package/dist/runtime/RuntimeEventStoreRepositoryAdapter.js.map +1 -0
- package/dist/runtime/RuntimeTimelineProjection.d.ts +5 -0
- package/dist/runtime/RuntimeTimelineProjection.d.ts.map +1 -0
- package/dist/runtime/RuntimeTimelineProjection.js +705 -0
- package/dist/runtime/RuntimeTimelineProjection.js.map +1 -0
- package/dist/runtime/runtimeEventTypes.d.ts +73 -0
- package/dist/runtime/runtimeEventTypes.d.ts.map +1 -0
- package/dist/runtime/runtimeEventTypes.js +2 -0
- package/dist/runtime/runtimeEventTypes.js.map +1 -0
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts +117 -0
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts.map +1 -0
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js +214 -0
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js.map +1 -0
- package/dist/session/AgentSessionService.d.ts +285 -0
- package/dist/session/AgentSessionService.d.ts.map +1 -0
- package/dist/session/AgentSessionService.js +444 -0
- package/dist/session/AgentSessionService.js.map +1 -0
- package/dist/session/bufferedSessionPty.d.ts +27 -0
- package/dist/session/bufferedSessionPty.d.ts.map +1 -0
- package/dist/session/bufferedSessionPty.js +49 -0
- package/dist/session/bufferedSessionPty.js.map +1 -0
- package/dist/session/renderSupport.d.ts +53 -0
- package/dist/session/renderSupport.d.ts.map +1 -0
- package/dist/session/renderSupport.js +41 -0
- package/dist/session/renderSupport.js.map +1 -0
- package/dist/session/runtimeEventChannel.d.ts +56 -0
- package/dist/session/runtimeEventChannel.d.ts.map +1 -0
- package/dist/session/runtimeEventChannel.js +53 -0
- package/dist/session/runtimeEventChannel.js.map +1 -0
- package/dist/state/JsonAgentStateRepository.d.ts +29 -0
- package/dist/state/JsonAgentStateRepository.d.ts.map +1 -0
- package/dist/state/JsonAgentStateRepository.js +165 -0
- package/dist/state/JsonAgentStateRepository.js.map +1 -0
- package/dist/state/SqliteAgentStateRepository.d.ts +58 -0
- package/dist/state/SqliteAgentStateRepository.d.ts.map +1 -0
- package/dist/state/SqliteAgentStateRepository.js +777 -0
- package/dist/state/SqliteAgentStateRepository.js.map +1 -0
- package/dist/state/createAgentStateRepository.d.ts +4 -0
- package/dist/state/createAgentStateRepository.d.ts.map +1 -0
- package/dist/state/createAgentStateRepository.js +12 -0
- package/dist/state/createAgentStateRepository.js.map +1 -0
- package/dist/state/stateSanitizers.d.ts +7 -0
- package/dist/state/stateSanitizers.d.ts.map +1 -0
- package/dist/state/stateSanitizers.js +87 -0
- package/dist/state/stateSanitizers.js.map +1 -0
- package/dist/subagents/AcpSubagentExecutionAdapter.d.ts +12 -0
- package/dist/subagents/AcpSubagentExecutionAdapter.d.ts.map +1 -0
- package/dist/subagents/AcpSubagentExecutionAdapter.js +119 -0
- package/dist/subagents/AcpSubagentExecutionAdapter.js.map +1 -0
- package/dist/subagents/CliSubagentExecutionAdapter.d.ts +13 -0
- package/dist/subagents/CliSubagentExecutionAdapter.d.ts.map +1 -0
- package/dist/subagents/CliSubagentExecutionAdapter.js +217 -0
- package/dist/subagents/CliSubagentExecutionAdapter.js.map +1 -0
- package/dist/subagents/HostTurnSubagentExecutionAdapter.d.ts +78 -0
- package/dist/subagents/HostTurnSubagentExecutionAdapter.d.ts.map +1 -0
- package/dist/subagents/HostTurnSubagentExecutionAdapter.js +160 -0
- package/dist/subagents/HostTurnSubagentExecutionAdapter.js.map +1 -0
- package/dist/subagents/SubagentRunService.d.ts +103 -0
- package/dist/subagents/SubagentRunService.d.ts.map +1 -0
- package/dist/subagents/SubagentRunService.js +1183 -0
- package/dist/subagents/SubagentRunService.js.map +1 -0
- package/dist/subagents/SubagentScheduler.d.ts +167 -0
- package/dist/subagents/SubagentScheduler.d.ts.map +1 -0
- package/dist/subagents/SubagentScheduler.js +530 -0
- package/dist/subagents/SubagentScheduler.js.map +1 -0
- package/dist/subagents/TeamAgentRouter.d.ts +104 -0
- package/dist/subagents/TeamAgentRouter.d.ts.map +1 -0
- package/dist/subagents/TeamAgentRouter.js +435 -0
- package/dist/subagents/TeamAgentRouter.js.map +1 -0
- package/dist/subagents/capabilityMatcher.d.ts +3 -0
- package/dist/subagents/capabilityMatcher.d.ts.map +1 -0
- package/dist/subagents/capabilityMatcher.js +127 -0
- package/dist/subagents/capabilityMatcher.js.map +1 -0
- package/dist/subagents/subagentRunPort.d.ts +43 -0
- package/dist/subagents/subagentRunPort.d.ts.map +1 -0
- package/dist/subagents/subagentRunPort.js +24 -0
- package/dist/subagents/subagentRunPort.js.map +1 -0
- package/dist/subagents/subagentTypes.d.ts +330 -0
- package/dist/subagents/subagentTypes.d.ts.map +1 -0
- package/dist/subagents/subagentTypes.js +2 -0
- package/dist/subagents/subagentTypes.js.map +1 -0
- package/dist/subagents/subagentWorkspaceAuthority.d.ts +29 -0
- package/dist/subagents/subagentWorkspaceAuthority.d.ts.map +1 -0
- package/dist/subagents/subagentWorkspaceAuthority.js +173 -0
- package/dist/subagents/subagentWorkspaceAuthority.js.map +1 -0
- package/dist/support/SupportDiagnosticsService.d.ts +87 -0
- package/dist/support/SupportDiagnosticsService.d.ts.map +1 -0
- package/dist/support/SupportDiagnosticsService.js +1199 -0
- package/dist/support/SupportDiagnosticsService.js.map +1 -0
- package/dist/turns/DurableInterruptedTurnStore.d.ts +14 -0
- package/dist/turns/DurableInterruptedTurnStore.d.ts.map +1 -0
- package/dist/turns/DurableInterruptedTurnStore.js +63 -0
- package/dist/turns/DurableInterruptedTurnStore.js.map +1 -0
- package/dist/turns/interruptedTurns.d.ts +50 -0
- package/dist/turns/interruptedTurns.d.ts.map +1 -0
- package/dist/turns/interruptedTurns.js +54 -0
- package/dist/turns/interruptedTurns.js.map +1 -0
- package/dist/turns/turnAdmission.d.ts +113 -0
- package/dist/turns/turnAdmission.d.ts.map +1 -0
- package/dist/turns/turnAdmission.js +136 -0
- package/dist/turns/turnAdmission.js.map +1 -0
- package/dist/workspace/WorkspaceHostService.d.ts +126 -0
- package/dist/workspace/WorkspaceHostService.d.ts.map +1 -0
- package/dist/workspace/WorkspaceHostService.js +841 -0
- package/dist/workspace/WorkspaceHostService.js.map +1 -0
- package/dist/workspace/WorkspaceShellService.d.ts +71 -0
- package/dist/workspace/WorkspaceShellService.d.ts.map +1 -0
- package/dist/workspace/WorkspaceShellService.js +273 -0
- package/dist/workspace/WorkspaceShellService.js.map +1 -0
- package/dist/workspace/fileAssociations.d.ts +12 -0
- package/dist/workspace/fileAssociations.d.ts.map +1 -0
- package/dist/workspace/fileAssociations.js +202 -0
- package/dist/workspace/fileAssociations.js.map +1 -0
- package/dist/workspace/scrollbackBuffer.d.ts +48 -0
- package/dist/workspace/scrollbackBuffer.d.ts.map +1 -0
- package/dist/workspace/scrollbackBuffer.js +94 -0
- package/dist/workspace/scrollbackBuffer.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
export class InMemoryAcpPermissionPolicyStore {
|
|
2
|
+
rules = [];
|
|
3
|
+
constructor(initial = []) {
|
|
4
|
+
this.rules.push(...initial);
|
|
5
|
+
}
|
|
6
|
+
list() {
|
|
7
|
+
return [...this.rules];
|
|
8
|
+
}
|
|
9
|
+
add(rule) {
|
|
10
|
+
this.rules.push(rule);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Case- and separator-insensitive containment with a BOUNDARY check.
|
|
15
|
+
*
|
|
16
|
+
* `C:/repo` must not match `C:/repo-evil`. A bare `startsWith` says it does,
|
|
17
|
+
* and that is the classic way a scoped grant silently becomes a wider one.
|
|
18
|
+
*/
|
|
19
|
+
export function isWithinPathPrefix(path, prefix) {
|
|
20
|
+
const normalise = (value) => value.replace(/\\/gu, '/').replace(/\/+$/u, '').toLowerCase();
|
|
21
|
+
const target = normalise(path);
|
|
22
|
+
const root = normalise(prefix);
|
|
23
|
+
if (!root)
|
|
24
|
+
return false;
|
|
25
|
+
if (target === root)
|
|
26
|
+
return true;
|
|
27
|
+
return target.startsWith(`${root}/`);
|
|
28
|
+
}
|
|
29
|
+
function ruleMatches(rule, request) {
|
|
30
|
+
const toolCall = request.toolCall;
|
|
31
|
+
// No tool call means we cannot know what is being permitted. ACP requires the
|
|
32
|
+
// field, so its absence is a malformed or hostile request — never a match.
|
|
33
|
+
if (!toolCall)
|
|
34
|
+
return false;
|
|
35
|
+
if (rule.kind && toolCall.kind !== rule.kind)
|
|
36
|
+
return false;
|
|
37
|
+
if (!rule.pathPrefix)
|
|
38
|
+
return true;
|
|
39
|
+
const locations = toolCall.locations || [];
|
|
40
|
+
// A path-scoped rule cannot speak for a call that declares no path.
|
|
41
|
+
if (locations.length === 0)
|
|
42
|
+
return false;
|
|
43
|
+
return locations.every((location) => isWithinPathPrefix(location.path, rule.pathPrefix));
|
|
44
|
+
}
|
|
45
|
+
export function evaluateAcpPermissionPolicy(request, rules) {
|
|
46
|
+
let allow;
|
|
47
|
+
for (const rule of rules) {
|
|
48
|
+
if (!ruleMatches(rule, request))
|
|
49
|
+
continue;
|
|
50
|
+
// Deny wins outright — no need to look further, and order must not matter.
|
|
51
|
+
if (rule.decision === 'deny')
|
|
52
|
+
return { decision: 'deny', ruleId: rule.id };
|
|
53
|
+
allow ??= rule;
|
|
54
|
+
}
|
|
55
|
+
return allow ? { decision: 'allow', ruleId: allow.id } : { decision: 'ask' };
|
|
56
|
+
}
|
|
57
|
+
const ALLOW_KINDS = new Set(['allow_once', 'allow_always']);
|
|
58
|
+
const REJECT_KINDS = new Set(['reject_once', 'reject_always']);
|
|
59
|
+
/**
|
|
60
|
+
* The option to select for a decision, or undefined when the agent offered
|
|
61
|
+
* nothing that means it. Undefined must escalate to a human — never a guess.
|
|
62
|
+
*/
|
|
63
|
+
export function selectOptionForDecision(options, decision) {
|
|
64
|
+
const wanted = decision === 'allow' ? ALLOW_KINDS : REJECT_KINDS;
|
|
65
|
+
// Prefer the `_once` form: the policy already remembers, so re-arming the
|
|
66
|
+
// agent's own memory would put the same rule in two places.
|
|
67
|
+
const preferred = decision === 'allow' ? 'allow_once' : 'reject_once';
|
|
68
|
+
const candidates = (options || []).filter((option) => option.kind && wanted.has(option.kind));
|
|
69
|
+
return candidates.find((option) => option.kind === preferred) || candidates[0];
|
|
70
|
+
}
|
|
71
|
+
/** Derives the rule to store when a user picks an `*_always` option. */
|
|
72
|
+
export function ruleFromAlwaysChoice(request, optionKind, id, now) {
|
|
73
|
+
if (optionKind !== 'allow_always' && optionKind !== 'reject_always')
|
|
74
|
+
return undefined;
|
|
75
|
+
const toolCall = request.toolCall;
|
|
76
|
+
if (!toolCall)
|
|
77
|
+
return undefined;
|
|
78
|
+
const decision = optionKind === 'allow_always' ? 'allow' : 'deny';
|
|
79
|
+
const locations = toolCall.locations || [];
|
|
80
|
+
// Scope to the common directory when the call names files; an unscoped rule
|
|
81
|
+
// is only minted when the call genuinely has no path (e.g. `execute`).
|
|
82
|
+
const pathPrefix = locations.length > 0 ? commonDirectory(locations.map((l) => l.path)) : undefined;
|
|
83
|
+
return {
|
|
84
|
+
id,
|
|
85
|
+
decision,
|
|
86
|
+
...(toolCall.kind ? { kind: toolCall.kind } : {}),
|
|
87
|
+
...(pathPrefix ? { pathPrefix } : {}),
|
|
88
|
+
createdAt: now,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function commonDirectory(paths) {
|
|
92
|
+
const dirs = paths.map((path) => {
|
|
93
|
+
const normalised = path.replace(/\\/gu, '/');
|
|
94
|
+
const cut = normalised.lastIndexOf('/');
|
|
95
|
+
return cut === -1 ? '' : normalised.slice(0, cut);
|
|
96
|
+
});
|
|
97
|
+
if (dirs.length === 0 || dirs.some((dir) => !dir))
|
|
98
|
+
return undefined;
|
|
99
|
+
let common = dirs[0];
|
|
100
|
+
for (const dir of dirs.slice(1)) {
|
|
101
|
+
while (!isWithinPathPrefix(dir, common)) {
|
|
102
|
+
const cut = common.lastIndexOf('/');
|
|
103
|
+
if (cut <= 0)
|
|
104
|
+
return undefined;
|
|
105
|
+
common = common.slice(0, cut);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return common;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Answers permission requests from stored policy, delegating anything the
|
|
112
|
+
* policy cannot decide.
|
|
113
|
+
*
|
|
114
|
+
* Note it never *reports* an allow it could not actually express: if the policy
|
|
115
|
+
* says allow and the agent offered no allow-kind option, the request escalates
|
|
116
|
+
* with a named reason rather than being answered.
|
|
117
|
+
*/
|
|
118
|
+
export class PolicyGatedAcpPermissionBridge {
|
|
119
|
+
store;
|
|
120
|
+
delegate;
|
|
121
|
+
onDecision;
|
|
122
|
+
now;
|
|
123
|
+
newRuleId;
|
|
124
|
+
ruleCounter = 0;
|
|
125
|
+
constructor(options) {
|
|
126
|
+
this.store = options.store;
|
|
127
|
+
this.delegate = options.delegate;
|
|
128
|
+
this.onDecision = options.onDecision;
|
|
129
|
+
this.now = options.now || (() => Date.now());
|
|
130
|
+
this.newRuleId = options.newRuleId || (() => `acp-permission-rule-${++this.ruleCounter}`);
|
|
131
|
+
}
|
|
132
|
+
async requestPermission(request) {
|
|
133
|
+
const evaluation = evaluateAcpPermissionPolicy(request, this.store.list());
|
|
134
|
+
if (evaluation.decision !== 'ask') {
|
|
135
|
+
const option = selectOptionForDecision(request.options, evaluation.decision);
|
|
136
|
+
if (option) {
|
|
137
|
+
const outcome = { outcome: 'selected', selectedOptionId: option.id };
|
|
138
|
+
this.onDecision?.({ ...evaluation, source: 'policy', outcome });
|
|
139
|
+
return outcome;
|
|
140
|
+
}
|
|
141
|
+
// The policy has an answer the agent gave us no way to express. Guessing
|
|
142
|
+
// an option id here would grant or refuse something other than what was
|
|
143
|
+
// decided, so it escalates instead.
|
|
144
|
+
this.onDecision?.({
|
|
145
|
+
...evaluation,
|
|
146
|
+
source: 'policy',
|
|
147
|
+
outcome: { outcome: 'cancelled' },
|
|
148
|
+
escalationReason: `policy decided ${evaluation.decision} but the agent offered no matching option kind`,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
const outcome = await this.delegate.requestPermission(request);
|
|
152
|
+
if (outcome.outcome === 'selected') {
|
|
153
|
+
const chosen = (request.options || []).find((option) => option.id === outcome.selectedOptionId);
|
|
154
|
+
const rule = chosen?.kind
|
|
155
|
+
? ruleFromAlwaysChoice(request, chosen.kind, this.newRuleId(), this.now())
|
|
156
|
+
: undefined;
|
|
157
|
+
if (rule)
|
|
158
|
+
this.store.add(rule);
|
|
159
|
+
}
|
|
160
|
+
this.onDecision?.({ decision: 'ask', source: 'user', outcome });
|
|
161
|
+
return outcome;
|
|
162
|
+
}
|
|
163
|
+
cancelOutstanding(reason) {
|
|
164
|
+
this.delegate.cancelOutstanding?.(reason);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=AcpPermissionPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcpPermissionPolicy.js","sourceRoot":"","sources":["../../src/acp/AcpPermissionPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { type AcpPermissionBridge } from './AcpPermissionBridge.js';
|
|
2
|
+
import { type AcpHostBridge } from './AcpHostBridge.js';
|
|
3
|
+
import { type CoordinationLaneBridge } from '../coordination/laneBridge.js';
|
|
4
|
+
import type { AcpAgentConfig, AcpDiagnostics, AcpInitializeResponse, AcpProcessStatus, AcpPromptExecutionContext, AcpSessionNewRequest, AcpSessionNewResponse, AcpSessionPromptResponse, AcpSessionUpdateNotification } from './acpTypes.js';
|
|
5
|
+
export interface AcpSupervisorOptions {
|
|
6
|
+
permissionBridge?: undefined | AcpPermissionBridge;
|
|
7
|
+
hostBridge?: undefined | AcpHostBridge;
|
|
8
|
+
/** §5.2b. Absent means coordination is refused BY NAME, never silently empty. */
|
|
9
|
+
coordinationBridge?: undefined | CoordinationLaneBridge;
|
|
10
|
+
requestTimeoutMs?: undefined | number;
|
|
11
|
+
}
|
|
12
|
+
export interface AcpPromptResult {
|
|
13
|
+
result: AcpSessionPromptResponse;
|
|
14
|
+
updates: AcpSessionUpdateNotification[];
|
|
15
|
+
}
|
|
16
|
+
export interface AcpCreateSessionOptions {
|
|
17
|
+
cwd?: undefined | string;
|
|
18
|
+
mcpServers?: undefined | AcpSessionNewRequest['mcpServers'];
|
|
19
|
+
additionalDirectories?: undefined | string[];
|
|
20
|
+
_meta?: undefined | Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
export declare const XENO_ACP_CONTEXT_META_KEY = "xeno.dev/context";
|
|
23
|
+
/**
|
|
24
|
+
* What `initialize` actually sends. Exported so the advertisement can be
|
|
25
|
+
* asserted where it is TRANSMITTED rather than where it is computed — a test
|
|
26
|
+
* against the helper alone stays green while this object hand-lists something
|
|
27
|
+
* else, which is exactly how the list fell behind the dispatcher before.
|
|
28
|
+
*/
|
|
29
|
+
export declare const DEFAULT_CLIENT_CAPABILITIES: {
|
|
30
|
+
readonly fs: {
|
|
31
|
+
readonly readTextFile: false;
|
|
32
|
+
readonly writeTextFile: false;
|
|
33
|
+
};
|
|
34
|
+
readonly terminal: false;
|
|
35
|
+
readonly _meta: {
|
|
36
|
+
readonly "xeno.dev": {
|
|
37
|
+
readonly chooseDirectory: true;
|
|
38
|
+
/**
|
|
39
|
+
* 🔴 DERIVED from the dispatch table, never listed here.
|
|
40
|
+
*
|
|
41
|
+
* `initialize` sends this, and it is the whole difference between a
|
|
42
|
+
* method that is reachable and one that is merely implemented. Hand-listed,
|
|
43
|
+
* it silently fell behind the dispatcher — exactly the shape this repo has
|
|
44
|
+
* hit five times. Now a method cannot be dispatched without being
|
|
45
|
+
* advertised, because both read the same array.
|
|
46
|
+
*/
|
|
47
|
+
readonly hostRequests: Record<string, true>;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Hub-facing facade over `@xenosystem/acp-core`.
|
|
53
|
+
*
|
|
54
|
+
* Hub owns policy, redacted diagnostics, and UI bridges. Core owns spawning, the official
|
|
55
|
+
* ACP SDK connection, session lifecycle, cancellation, and transport validation.
|
|
56
|
+
*/
|
|
57
|
+
export declare class AcpProcessSupervisor {
|
|
58
|
+
private readonly config;
|
|
59
|
+
private runtime;
|
|
60
|
+
private readonly sessions;
|
|
61
|
+
private status;
|
|
62
|
+
private lifecycle;
|
|
63
|
+
private stderrTail;
|
|
64
|
+
private protocolVersion;
|
|
65
|
+
private agentInfo;
|
|
66
|
+
private agentCapabilities;
|
|
67
|
+
private lastErrorCode;
|
|
68
|
+
private readonly permissionBridge;
|
|
69
|
+
private readonly hostBridge;
|
|
70
|
+
private readonly coordinationBridge;
|
|
71
|
+
private readonly requestTimeoutMs;
|
|
72
|
+
constructor(config: AcpAgentConfig, options?: AcpSupervisorOptions);
|
|
73
|
+
getStatus(): AcpProcessStatus;
|
|
74
|
+
initialize(): Promise<AcpInitializeResponse>;
|
|
75
|
+
createSession(options?: AcpCreateSessionOptions): Promise<AcpSessionNewResponse>;
|
|
76
|
+
supportsResumeSession(): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* XENO ACP compatibility path for embedding cores that predate `AgentProcess.resumeSession`.
|
|
79
|
+
* The provider-native continuation id is rebound to a fresh ACP session via bounded `_meta`.
|
|
80
|
+
*/
|
|
81
|
+
supportsSessionNewResumeState(): boolean;
|
|
82
|
+
resumeSession(sessionId: string, options?: AcpCreateSessionOptions): Promise<AcpSessionNewResponse>;
|
|
83
|
+
prompt(sessionId: string, prompt: string, options?: {
|
|
84
|
+
timeoutMs?: undefined | number;
|
|
85
|
+
signal?: undefined | AbortSignal;
|
|
86
|
+
model?: undefined | string;
|
|
87
|
+
systemPrompt?: undefined | string;
|
|
88
|
+
execution?: undefined | AcpPromptExecutionContext;
|
|
89
|
+
onUpdate?: undefined | ((update: AcpSessionUpdateNotification) => void);
|
|
90
|
+
}): Promise<AcpPromptResult>;
|
|
91
|
+
cancelSession(sessionId: string): Promise<unknown>;
|
|
92
|
+
restart(): Promise<AcpInitializeResponse>;
|
|
93
|
+
/**
|
|
94
|
+
* Wait, briefly, for a transport that is going away to actually be gone.
|
|
95
|
+
*
|
|
96
|
+
* This exists because `getStatus()` is a LIVE READ of a value that is still settling right
|
|
97
|
+
* after a cancellation, and three separate decisions were each sampling it at one arbitrary
|
|
98
|
+
* instant: whether to emit `acp.agent.exited` against the cancelled request, whether to discard
|
|
99
|
+
* the conversation session, and whether the next prompt may reuse the process.
|
|
100
|
+
*
|
|
101
|
+
* ⚠️ What that costs is ATTRIBUTION, not the event: a missed sample defers the exit to
|
|
102
|
+
* `closeConversationSession`, which reports it under the synthetic id `acp-session-close`. The
|
|
103
|
+
* first draft of this note claimed the event could be lost entirely; it cannot, and the
|
|
104
|
+
* distinction matters to anyone consuming these events.
|
|
105
|
+
*
|
|
106
|
+
* A cancelled prompt aborts the connection mid-flight, so "is it dead yet" is genuinely
|
|
107
|
+
* unanswerable in that same tick. This gives the answer a bounded chance to arrive instead of
|
|
108
|
+
* guessing, and returns what was actually established.
|
|
109
|
+
*
|
|
110
|
+
* ⚠️ INTERIM, with a named exit condition. The right mechanism is a push: `AgentProcess`
|
|
111
|
+
* (`@xenosystem/acp-core`, which we own) exposes `onStderr` and `status()` and **no exit
|
|
112
|
+
* callback**, so there is nothing to subscribe to and polling is the only honest option from
|
|
113
|
+
* this side. Adding `onExit` upstream and reporting the exit when it is OBSERVED — rather than
|
|
114
|
+
* when someone thinks to look — removes both the poll and the deadline. Raised as a cross-repo
|
|
115
|
+
* requirement rather than worked around silently.
|
|
116
|
+
*/
|
|
117
|
+
waitForExit(timeoutMs: number): Promise<boolean>;
|
|
118
|
+
stop(): Promise<void>;
|
|
119
|
+
diagnostics(): AcpDiagnostics;
|
|
120
|
+
private validateConfig;
|
|
121
|
+
private buildSessionNewRequest;
|
|
122
|
+
private classifyCoreError;
|
|
123
|
+
private transition;
|
|
124
|
+
private captureStderr;
|
|
125
|
+
private normalizeSessionUpdate;
|
|
126
|
+
private normalizeUpdate;
|
|
127
|
+
private normalizeToolStatus;
|
|
128
|
+
private normalizePlanEntries;
|
|
129
|
+
private normalizeToolContent;
|
|
130
|
+
private normalizeToolLocations;
|
|
131
|
+
private normalizeToolPayload;
|
|
132
|
+
private waitForExitDiagnostics;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=AcpProcessSupervisor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcpProcessSupervisor.d.ts","sourceRoot":"","sources":["../../src/acp/AcpProcessSupervisor.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,mBAAmB,EAGzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAqC,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAO9G,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EAIrB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAAA;IAClD,UAAU,CAAC,EAAE,SAAS,GAAG,aAAa,CAAA;IACtC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,SAAS,GAAG,sBAAsB,CAAA;IACvD,gBAAgB,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,wBAAwB,CAAA;IAChC,OAAO,EAAE,4BAA4B,EAAE,CAAA;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAC3D,qBAAqB,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,CAAA;IAC5C,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC5C;AAcD,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;YASlC;;;;;;;;eAQG;;;;CAIC,CAAA;AAOV;;;;;GAKG;AACH,qBAAa,oBAAoB;IAgB7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAfzB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;gBAGtB,MAAM,EAAE,cAAc,EACvC,OAAO,GAAE,oBAAyB;IASpC,SAAS,IAAI,gBAAgB;IAMvB,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC;IA+E5C,aAAa,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiB1F,qBAAqB,IAAI,OAAO;IAWhC;;;OAGG;IACH,6BAA6B,IAAI,OAAO;IAalC,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC;IAqB3B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;QACvD,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;QAC9B,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;QAChC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;QAC1B,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;QACjC,SAAS,CAAC,EAAE,SAAS,GAAG,yBAAyB,CAAA;QACjD,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,CAAC,CAAA;KACnE,GAAG,OAAO,CAAC,eAAe,CAAC;IA8D3B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQlD,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAK/C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,WAAW,IAAI,cAAc;IA0B7B,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,eAAe;IAiGvB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,oBAAoB;YAed,sBAAsB;CAMrC"}
|