@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,202 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { existsSync, statSync } from 'node:fs';
|
|
3
|
+
import { extname, join } from 'node:path';
|
|
4
|
+
const DEFAULT_HANDLER_CACHE_TTL_MS = 60_000;
|
|
5
|
+
const DEFAULT_HANDLER_PROBE_TIMEOUT_MS = 2_500;
|
|
6
|
+
const DEFAULT_HANDLER_PROBE_OUTPUT_LIMIT = 16_384;
|
|
7
|
+
const defaultHandlerCache = new Map();
|
|
8
|
+
const WINDOWS_FILE_ASSOCIATION_SCRIPT = String.raw `
|
|
9
|
+
$ErrorActionPreference = 'Stop'
|
|
10
|
+
$Extension = $env:XENO_FILE_ASSOCIATION_EXTENSION
|
|
11
|
+
if ($Extension -notmatch '^\.[a-zA-Z0-9][a-zA-Z0-9+_-]{0,31}$') {
|
|
12
|
+
throw 'Invalid file extension.'
|
|
13
|
+
}
|
|
14
|
+
$source = @'
|
|
15
|
+
using System;
|
|
16
|
+
using System.Runtime.InteropServices;
|
|
17
|
+
using System.Text;
|
|
18
|
+
|
|
19
|
+
public static class XenoDefaultFileAssociation {
|
|
20
|
+
[DllImport("Shlwapi.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
21
|
+
private static extern uint AssocQueryString(
|
|
22
|
+
uint flags,
|
|
23
|
+
uint query,
|
|
24
|
+
string association,
|
|
25
|
+
string extra,
|
|
26
|
+
StringBuilder output,
|
|
27
|
+
ref uint outputLength
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
public static string Query(string extension, uint query) {
|
|
31
|
+
uint outputLength = 0;
|
|
32
|
+
AssocQueryString(0, query, extension, null, null, ref outputLength);
|
|
33
|
+
if (outputLength == 0) return null;
|
|
34
|
+
|
|
35
|
+
var output = new StringBuilder((int)outputLength);
|
|
36
|
+
uint result = AssocQueryString(0, query, extension, null, output, ref outputLength);
|
|
37
|
+
return result == 0 ? output.ToString() : null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
'@
|
|
41
|
+
|
|
42
|
+
Add-Type -TypeDefinition $source -ErrorAction Stop
|
|
43
|
+
[pscustomobject]@{
|
|
44
|
+
name = [XenoDefaultFileAssociation]::Query($Extension, 4)
|
|
45
|
+
executablePath = [XenoDefaultFileAssociation]::Query($Extension, 2)
|
|
46
|
+
} | ConvertTo-Json -Compress
|
|
47
|
+
`;
|
|
48
|
+
function isExistingFile(candidate) {
|
|
49
|
+
try {
|
|
50
|
+
return existsSync(candidate) && statSync(candidate).isFile();
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function resolveWindowsPowerShell() {
|
|
57
|
+
const windowsRoot = process.env.SystemRoot || process.env.WINDIR;
|
|
58
|
+
if (!windowsRoot)
|
|
59
|
+
return null;
|
|
60
|
+
const candidate = join(windowsRoot, 'System32', 'WindowsPowerShell', 'v1.0', 'powershell.exe');
|
|
61
|
+
return isExistingFile(candidate) ? candidate : null;
|
|
62
|
+
}
|
|
63
|
+
function normalizeHandlerName(value) {
|
|
64
|
+
if (typeof value !== 'string')
|
|
65
|
+
return null;
|
|
66
|
+
const normalized = value
|
|
67
|
+
.replace(/[\u0000-\u001f\u007f]/g, ' ')
|
|
68
|
+
.replace(/\s+/g, ' ')
|
|
69
|
+
.trim();
|
|
70
|
+
if (!normalized || normalized.startsWith('@{'))
|
|
71
|
+
return null;
|
|
72
|
+
return normalized.slice(0, 80);
|
|
73
|
+
}
|
|
74
|
+
function normalizeExecutablePath(value) {
|
|
75
|
+
if (typeof value !== 'string')
|
|
76
|
+
return null;
|
|
77
|
+
const normalized = value
|
|
78
|
+
.replace(/[\u0000-\u001f\u007f]/g, '')
|
|
79
|
+
.trim();
|
|
80
|
+
return normalized ? normalized.slice(0, 2_048) : null;
|
|
81
|
+
}
|
|
82
|
+
function handlerNameFromExecutable(executablePath) {
|
|
83
|
+
if (!executablePath)
|
|
84
|
+
return null;
|
|
85
|
+
// Split on BOTH separators instead of `basename`, which is platform-dependent:
|
|
86
|
+
// this parses WINDOWS association output, but `path.basename` follows the
|
|
87
|
+
// HOST. On Linux `\` is a legal filename character, so
|
|
88
|
+
// basename('C:\\Apps\\Cursor.exe') returns the whole string and the display
|
|
89
|
+
// name came out as 'C:\Apps\Cursor'. Reading a Windows path is a pure string
|
|
90
|
+
// operation and must not change meaning with the machine doing the reading.
|
|
91
|
+
const lastSegment = executablePath.split(/[\\/]/u).pop() ?? executablePath;
|
|
92
|
+
const executableName = lastSegment.replace(/\.[^.]+$/u, '').trim();
|
|
93
|
+
if (!executableName)
|
|
94
|
+
return null;
|
|
95
|
+
const knownNames = {
|
|
96
|
+
antigravity: 'Antigravity',
|
|
97
|
+
code: 'Visual Studio Code',
|
|
98
|
+
cursor: 'Cursor',
|
|
99
|
+
explorer: 'File Explorer',
|
|
100
|
+
notepad: 'Notepad',
|
|
101
|
+
wordpad: 'WordPad',
|
|
102
|
+
};
|
|
103
|
+
return knownNames[executableName.toLowerCase()] || executableName;
|
|
104
|
+
}
|
|
105
|
+
function parseWindowsFileAssociationOutput(output) {
|
|
106
|
+
const lines = output
|
|
107
|
+
.split(/\r?\n/)
|
|
108
|
+
.map((line) => line.trim())
|
|
109
|
+
.filter(Boolean);
|
|
110
|
+
for (let index = lines.length - 1; index >= 0; index -= 1) {
|
|
111
|
+
try {
|
|
112
|
+
const parsed = JSON.parse(lines[index]);
|
|
113
|
+
const executablePath = normalizeExecutablePath(parsed.executablePath);
|
|
114
|
+
const name = normalizeHandlerName(parsed.name) || handlerNameFromExecutable(executablePath);
|
|
115
|
+
if (name)
|
|
116
|
+
return { name, executablePath };
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
// Ignore non-JSON diagnostics and keep looking for the final probe record.
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
function runWindowsFileAssociationProbe(powershellPath, extension) {
|
|
125
|
+
return new Promise((complete) => {
|
|
126
|
+
let settled = false;
|
|
127
|
+
let stdout = '';
|
|
128
|
+
let timeout = null;
|
|
129
|
+
const finish = (value) => {
|
|
130
|
+
if (settled)
|
|
131
|
+
return;
|
|
132
|
+
settled = true;
|
|
133
|
+
if (timeout)
|
|
134
|
+
clearTimeout(timeout);
|
|
135
|
+
complete(value);
|
|
136
|
+
};
|
|
137
|
+
let child;
|
|
138
|
+
try {
|
|
139
|
+
child = spawn(powershellPath, ['-NoLogo', '-NoProfile', '-NonInteractive', '-Command', WINDOWS_FILE_ASSOCIATION_SCRIPT], {
|
|
140
|
+
env: {
|
|
141
|
+
...process.env,
|
|
142
|
+
XENO_FILE_ASSOCIATION_EXTENSION: extension,
|
|
143
|
+
},
|
|
144
|
+
windowsHide: true,
|
|
145
|
+
shell: false,
|
|
146
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
finish(null);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
timeout = setTimeout(() => {
|
|
154
|
+
child.kill();
|
|
155
|
+
finish(null);
|
|
156
|
+
}, DEFAULT_HANDLER_PROBE_TIMEOUT_MS);
|
|
157
|
+
const stdoutStream = child.stdout;
|
|
158
|
+
if (!stdoutStream) {
|
|
159
|
+
child.kill();
|
|
160
|
+
finish(null);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
stdoutStream.setEncoding('utf8');
|
|
164
|
+
stdoutStream.on('data', (chunk) => {
|
|
165
|
+
stdout += chunk;
|
|
166
|
+
if (stdout.length > DEFAULT_HANDLER_PROBE_OUTPUT_LIMIT) {
|
|
167
|
+
child.kill();
|
|
168
|
+
finish(null);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
child.once('error', () => finish(null));
|
|
172
|
+
child.once('close', (exitCode) => {
|
|
173
|
+
finish(exitCode === 0 ? parseWindowsFileAssociationOutput(stdout) : null);
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
export async function detectDefaultFileHandler(filePath) {
|
|
178
|
+
const extension = extname(filePath).toLowerCase();
|
|
179
|
+
if (!/^\.[a-z0-9][a-z0-9+_-]{0,31}$/i.test(extension))
|
|
180
|
+
return null;
|
|
181
|
+
const cached = defaultHandlerCache.get(extension);
|
|
182
|
+
if (cached && cached.expiresAt > Date.now())
|
|
183
|
+
return cached.value;
|
|
184
|
+
let value = null;
|
|
185
|
+
if (process.platform === 'win32') {
|
|
186
|
+
const powershellPath = resolveWindowsPowerShell();
|
|
187
|
+
if (powershellPath)
|
|
188
|
+
value = await runWindowsFileAssociationProbe(powershellPath, extension);
|
|
189
|
+
}
|
|
190
|
+
defaultHandlerCache.set(extension, {
|
|
191
|
+
expiresAt: Date.now() + DEFAULT_HANDLER_CACHE_TTL_MS,
|
|
192
|
+
value,
|
|
193
|
+
});
|
|
194
|
+
return value;
|
|
195
|
+
}
|
|
196
|
+
export const __defaultFileHandlerTest = {
|
|
197
|
+
clearCache() {
|
|
198
|
+
defaultHandlerCache.clear();
|
|
199
|
+
},
|
|
200
|
+
parseWindowsFileAssociationOutput,
|
|
201
|
+
};
|
|
202
|
+
//# sourceMappingURL=fileAssociations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileAssociations.js","sourceRoot":"","sources":["../../src/workspace/fileAssociations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded PTY scrollback.
|
|
3
|
+
*
|
|
4
|
+
* The original implementation was a one-liner:
|
|
5
|
+
*
|
|
6
|
+
* const combined = `${current}${next}`
|
|
7
|
+
* return combined.length > limit ? combined.slice(-limit) : combined
|
|
8
|
+
*
|
|
9
|
+
* which is correct and quietly catastrophic. Once a terminal has produced more
|
|
10
|
+
* than `limit` characters, EVERY subsequent chunk allocates a full-size string
|
|
11
|
+
* to concatenate and another to slice, then throws both away. A chatty build log
|
|
12
|
+
* emitting a few thousand chunks a second therefore costs on the order of a
|
|
13
|
+
* gigabyte a second of copying — per terminal — and the cost is paid on the host
|
|
14
|
+
* event loop, so it stalls every other run on the box.
|
|
15
|
+
*
|
|
16
|
+
* This was found by the §9b load harness on its first execution: two terminals
|
|
17
|
+
* were enough to wedge the host indefinitely.
|
|
18
|
+
*
|
|
19
|
+
* The fix keeps the chunks and trims from the front, so appending is O(chunk)
|
|
20
|
+
* rather than O(limit). It matters beyond performance: the §9b decision is
|
|
21
|
+
* whether the host must be rewritten in Rust, and a quadratic memcpy loop would
|
|
22
|
+
* have made TypeScript look inadequate at a cost that is algorithmic and
|
|
23
|
+
* present in any language.
|
|
24
|
+
*
|
|
25
|
+
* Semantics are deliberately unchanged: retain the last `limit` UTF-16 code
|
|
26
|
+
* units. (`MAX_PTY_SCROLLBACK_BYTES` is named for bytes but has always been
|
|
27
|
+
* applied to code units; preserving that is a separate decision from this fix.)
|
|
28
|
+
*/
|
|
29
|
+
export declare class ScrollbackBuffer {
|
|
30
|
+
private readonly limit;
|
|
31
|
+
private chunks;
|
|
32
|
+
private totalLength;
|
|
33
|
+
/** Cached join; invalidated on append. `null` means "recompute on next read". */
|
|
34
|
+
private joined;
|
|
35
|
+
constructor(limit: number);
|
|
36
|
+
append(chunk: string): void;
|
|
37
|
+
private trim;
|
|
38
|
+
/**
|
|
39
|
+
* The retained scrollback. Rare compared to append (it serves snapshots), so
|
|
40
|
+
* the join is done here rather than maintained eagerly. The chunk list is NOT
|
|
41
|
+
* collapsed afterwards — collapsing would recreate one large string for the
|
|
42
|
+
* next trim to slice, reintroducing the very cost this class removes.
|
|
43
|
+
*/
|
|
44
|
+
read(): string;
|
|
45
|
+
clear(): void;
|
|
46
|
+
get length(): number;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=scrollbackBuffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollbackBuffer.d.ts","sourceRoot":"","sources":["../../src/workspace/scrollbackBuffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,gBAAgB;IAMf,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAI;IACvB,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAoB;gBAEL,KAAK,EAAE,MAAM;IAM1C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ3B,OAAO,CAAC,IAAI;IAyBZ;;;;;OAKG;IACH,IAAI,IAAI,MAAM;IAKd,KAAK,IAAI,IAAI;IAMb,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded PTY scrollback.
|
|
3
|
+
*
|
|
4
|
+
* The original implementation was a one-liner:
|
|
5
|
+
*
|
|
6
|
+
* const combined = `${current}${next}`
|
|
7
|
+
* return combined.length > limit ? combined.slice(-limit) : combined
|
|
8
|
+
*
|
|
9
|
+
* which is correct and quietly catastrophic. Once a terminal has produced more
|
|
10
|
+
* than `limit` characters, EVERY subsequent chunk allocates a full-size string
|
|
11
|
+
* to concatenate and another to slice, then throws both away. A chatty build log
|
|
12
|
+
* emitting a few thousand chunks a second therefore costs on the order of a
|
|
13
|
+
* gigabyte a second of copying — per terminal — and the cost is paid on the host
|
|
14
|
+
* event loop, so it stalls every other run on the box.
|
|
15
|
+
*
|
|
16
|
+
* This was found by the §9b load harness on its first execution: two terminals
|
|
17
|
+
* were enough to wedge the host indefinitely.
|
|
18
|
+
*
|
|
19
|
+
* The fix keeps the chunks and trims from the front, so appending is O(chunk)
|
|
20
|
+
* rather than O(limit). It matters beyond performance: the §9b decision is
|
|
21
|
+
* whether the host must be rewritten in Rust, and a quadratic memcpy loop would
|
|
22
|
+
* have made TypeScript look inadequate at a cost that is algorithmic and
|
|
23
|
+
* present in any language.
|
|
24
|
+
*
|
|
25
|
+
* Semantics are deliberately unchanged: retain the last `limit` UTF-16 code
|
|
26
|
+
* units. (`MAX_PTY_SCROLLBACK_BYTES` is named for bytes but has always been
|
|
27
|
+
* applied to code units; preserving that is a separate decision from this fix.)
|
|
28
|
+
*/
|
|
29
|
+
export class ScrollbackBuffer {
|
|
30
|
+
limit;
|
|
31
|
+
chunks = [];
|
|
32
|
+
totalLength = 0;
|
|
33
|
+
/** Cached join; invalidated on append. `null` means "recompute on next read". */
|
|
34
|
+
joined = '';
|
|
35
|
+
constructor(limit) {
|
|
36
|
+
this.limit = limit;
|
|
37
|
+
if (!Number.isInteger(limit) || limit <= 0) {
|
|
38
|
+
throw new Error('ScrollbackBuffer limit must be a positive integer');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
append(chunk) {
|
|
42
|
+
if (!chunk)
|
|
43
|
+
return;
|
|
44
|
+
this.chunks.push(chunk);
|
|
45
|
+
this.totalLength += chunk.length;
|
|
46
|
+
this.joined = null;
|
|
47
|
+
this.trim();
|
|
48
|
+
}
|
|
49
|
+
trim() {
|
|
50
|
+
while (this.totalLength > this.limit) {
|
|
51
|
+
const first = this.chunks[0];
|
|
52
|
+
if (first === undefined) {
|
|
53
|
+
this.totalLength = 0;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const excess = this.totalLength - this.limit;
|
|
57
|
+
if (first.length <= excess) {
|
|
58
|
+
this.chunks.shift();
|
|
59
|
+
this.totalLength -= first.length;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
let keepFrom = excess;
|
|
63
|
+
// Never strand a lone low surrogate at the head of the buffer: the old
|
|
64
|
+
// `slice(-limit)` could split a surrogate pair and leave an unpaired unit,
|
|
65
|
+
// which renders as a replacement character in the terminal view.
|
|
66
|
+
const head = first.charCodeAt(keepFrom);
|
|
67
|
+
if (head >= 0xdc00 && head <= 0xdfff)
|
|
68
|
+
keepFrom += 1;
|
|
69
|
+
const remainder = first.slice(keepFrom);
|
|
70
|
+
this.totalLength -= first.length - remainder.length;
|
|
71
|
+
this.chunks[0] = remainder;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The retained scrollback. Rare compared to append (it serves snapshots), so
|
|
76
|
+
* the join is done here rather than maintained eagerly. The chunk list is NOT
|
|
77
|
+
* collapsed afterwards — collapsing would recreate one large string for the
|
|
78
|
+
* next trim to slice, reintroducing the very cost this class removes.
|
|
79
|
+
*/
|
|
80
|
+
read() {
|
|
81
|
+
if (this.joined === null)
|
|
82
|
+
this.joined = this.chunks.join('');
|
|
83
|
+
return this.joined;
|
|
84
|
+
}
|
|
85
|
+
clear() {
|
|
86
|
+
this.chunks = [];
|
|
87
|
+
this.totalLength = 0;
|
|
88
|
+
this.joined = '';
|
|
89
|
+
}
|
|
90
|
+
get length() {
|
|
91
|
+
return this.totalLength;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=scrollbackBuffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollbackBuffer.js","sourceRoot":"","sources":["../../src/workspace/scrollbackBuffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,gBAAgB;IAME;IALrB,MAAM,GAAa,EAAE,CAAA;IACrB,WAAW,GAAG,CAAC,CAAA;IACvB,iFAAiF;IACzE,MAAM,GAAkB,EAAE,CAAA;IAElC,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAEO,IAAI;QACV,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;gBACpB,OAAM;YACR,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAA;YAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;gBACnB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAA;gBAChC,SAAQ;YACV,CAAC;YACD,IAAI,QAAQ,GAAG,MAAM,CAAA;YACrB,uEAAuE;YACvE,2EAA2E;YAC3E,iEAAiE;YACjE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YACvC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM;gBAAE,QAAQ,IAAI,CAAC,CAAA;YACnD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACvC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;YACnD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;QAC5B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;CACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xenosystem/agent-interface-host",
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"license": "UNLICENSED",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./node": {
|
|
14
|
+
"types": "./dist/node.d.ts",
|
|
15
|
+
"import": "./dist/node.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "git+https://github.com/XENO-CORPORATION/xeno-agent-interface.git",
|
|
27
|
+
"directory": "packages/host"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@xenosystem/acp-core": "0.1.1",
|
|
31
|
+
"@xenosystem/acp-provider-manager": "0.1.1",
|
|
32
|
+
"@xenosystem/agent-sdk": "^0.9.0",
|
|
33
|
+
"better-sqlite3": "12.10.0",
|
|
34
|
+
"extract-zip": "^2.0.1",
|
|
35
|
+
"node-pty": "^1.1.0",
|
|
36
|
+
"tar": "^7.5.20",
|
|
37
|
+
"@xenosystem/agent-interface-client": "0.1.3",
|
|
38
|
+
"@xenosystem/agent-interface-core": "0.1.3",
|
|
39
|
+
"@xenosystem/agent-interface-contract": "0.1.3"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {}
|
|
42
|
+
}
|