@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,27 @@
|
|
|
1
|
+
import type { CodeFileRecord, CodeIndexStats } from './codeTypes.js';
|
|
2
|
+
export interface FileIndexBuildOptions {
|
|
3
|
+
rootDirectory: string;
|
|
4
|
+
maxFiles?: number | undefined;
|
|
5
|
+
maxFileBytes?: number | undefined;
|
|
6
|
+
}
|
|
7
|
+
export interface FileIndexBuildResult {
|
|
8
|
+
files: CodeFileRecord[];
|
|
9
|
+
ignoredCount: number;
|
|
10
|
+
truncated: boolean;
|
|
11
|
+
totalBytes: number;
|
|
12
|
+
indexedBytes: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function buildFileIndex(options: FileIndexBuildOptions): FileIndexBuildResult;
|
|
15
|
+
export declare function createStats(params: {
|
|
16
|
+
rootDirectory: string;
|
|
17
|
+
startedAt: number;
|
|
18
|
+
files: CodeFileRecord[];
|
|
19
|
+
ignoredCount: number;
|
|
20
|
+
truncated: boolean;
|
|
21
|
+
totalBytes: number;
|
|
22
|
+
indexedBytes: number;
|
|
23
|
+
symbolCount: number;
|
|
24
|
+
dependencyNodeCount: number;
|
|
25
|
+
dependencyEdgeCount: number;
|
|
26
|
+
}): CodeIndexStats;
|
|
27
|
+
//# sourceMappingURL=fileIndexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileIndexer.d.ts","sourceRoot":"","sources":["../../src/codebase/fileIndexer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAWpE,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAqEnF;AAmFD,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;CAC5B,GAAG,cAAc,CAgBjB"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { basename, extname, join } from 'path';
|
|
2
|
+
import { closeSync, existsSync, openSync, readFileSync, readSync, readdirSync, statSync } from 'fs';
|
|
3
|
+
import { detectLanguage, hashBuffer, looksBinary, shouldSkipDirectory, shouldSkipFileContent, stableId, toRelative, } from './codeUtils.js';
|
|
4
|
+
const DEFAULT_MAX_FILES = 20_000;
|
|
5
|
+
const DEFAULT_MAX_FILE_BYTES = 256 * 1024;
|
|
6
|
+
const SAMPLE_BYTES = 8 * 1024;
|
|
7
|
+
export function buildFileIndex(options) {
|
|
8
|
+
const maxFiles = Math.max(1, options.maxFiles || DEFAULT_MAX_FILES);
|
|
9
|
+
const maxFileBytes = Math.max(1024, options.maxFileBytes || DEFAULT_MAX_FILE_BYTES);
|
|
10
|
+
const rootDirectory = options.rootDirectory;
|
|
11
|
+
const files = [];
|
|
12
|
+
let ignoredCount = 0;
|
|
13
|
+
let truncated = false;
|
|
14
|
+
let totalBytes = 0;
|
|
15
|
+
let indexedBytes = 0;
|
|
16
|
+
const walk = (dirPath) => {
|
|
17
|
+
if (truncated)
|
|
18
|
+
return;
|
|
19
|
+
let entries;
|
|
20
|
+
try {
|
|
21
|
+
entries = readdirSync(dirPath).sort((a, b) => a.localeCompare(b));
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
ignoredCount += 1;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
for (const entry of entries) {
|
|
28
|
+
if (truncated)
|
|
29
|
+
return;
|
|
30
|
+
const absolutePath = join(dirPath, entry);
|
|
31
|
+
let stat;
|
|
32
|
+
try {
|
|
33
|
+
stat = statSync(absolutePath);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
ignoredCount += 1;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (stat.isDirectory()) {
|
|
40
|
+
const reason = shouldSkipDirectory(entry);
|
|
41
|
+
if (reason) {
|
|
42
|
+
ignoredCount += 1;
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
walk(absolutePath);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (!stat.isFile()) {
|
|
49
|
+
ignoredCount += 1;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (files.length >= maxFiles) {
|
|
53
|
+
truncated = true;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
totalBytes += stat.size;
|
|
57
|
+
const contentSkipReason = shouldSkipFileContent(absolutePath);
|
|
58
|
+
const record = createFileRecord({
|
|
59
|
+
rootDirectory,
|
|
60
|
+
absolutePath,
|
|
61
|
+
size: stat.size,
|
|
62
|
+
mtimeMs: stat.mtimeMs,
|
|
63
|
+
contentSkipReason,
|
|
64
|
+
maxFileBytes,
|
|
65
|
+
});
|
|
66
|
+
if (record.ignoredReason)
|
|
67
|
+
ignoredCount += 1;
|
|
68
|
+
if (record.isTextIndexed)
|
|
69
|
+
indexedBytes += record.size;
|
|
70
|
+
files.push(record);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
walk(rootDirectory);
|
|
74
|
+
return { files, ignoredCount, truncated, totalBytes, indexedBytes };
|
|
75
|
+
}
|
|
76
|
+
function createFileRecord(params) {
|
|
77
|
+
const { rootDirectory, absolutePath, size, mtimeMs, contentSkipReason, maxFileBytes } = params;
|
|
78
|
+
const relativePath = toRelative(rootDirectory, absolutePath);
|
|
79
|
+
const name = basename(absolutePath);
|
|
80
|
+
const extension = extname(absolutePath).toLowerCase();
|
|
81
|
+
let sample = Buffer.alloc(0);
|
|
82
|
+
let hash = '';
|
|
83
|
+
let isBinary = false;
|
|
84
|
+
let textContent;
|
|
85
|
+
let textSample;
|
|
86
|
+
let lineCount;
|
|
87
|
+
let ignoredReason = contentSkipReason || undefined;
|
|
88
|
+
try {
|
|
89
|
+
sample = readFileSample(absolutePath, SAMPLE_BYTES);
|
|
90
|
+
isBinary = looksBinary(absolutePath, sample);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
ignoredReason = ignoredReason || 'unreadable file';
|
|
94
|
+
}
|
|
95
|
+
if (!ignoredReason && !isBinary && size <= maxFileBytes && existsSync(absolutePath)) {
|
|
96
|
+
try {
|
|
97
|
+
const buffer = readFileSync(absolutePath);
|
|
98
|
+
hash = hashBuffer(buffer);
|
|
99
|
+
textContent = buffer.toString('utf-8');
|
|
100
|
+
textSample = textContent.slice(0, SAMPLE_BYTES);
|
|
101
|
+
lineCount = textContent ? textContent.split(/\r?\n/).length : 0;
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
ignoredReason = 'unreadable file';
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else if (!hash) {
|
|
108
|
+
try {
|
|
109
|
+
hash = hashBuffer(sample);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
hash = stableId(relativePath, size, Math.round(mtimeMs));
|
|
113
|
+
}
|
|
114
|
+
if (!ignoredReason && !isBinary && size > maxFileBytes) {
|
|
115
|
+
ignoredReason = `file exceeds text indexing limit (${maxFileBytes} bytes)`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const language = detectLanguage(absolutePath, isBinary);
|
|
119
|
+
return {
|
|
120
|
+
id: stableId('file', relativePath),
|
|
121
|
+
rootDirectory,
|
|
122
|
+
absolutePath,
|
|
123
|
+
relativePath,
|
|
124
|
+
basename: name,
|
|
125
|
+
extension,
|
|
126
|
+
language,
|
|
127
|
+
size,
|
|
128
|
+
mtimeMs,
|
|
129
|
+
hash,
|
|
130
|
+
indexedAt: Date.now(),
|
|
131
|
+
isBinary,
|
|
132
|
+
isTextIndexed: !!textContent && !ignoredReason,
|
|
133
|
+
ignoredReason,
|
|
134
|
+
lineCount,
|
|
135
|
+
textSample,
|
|
136
|
+
textContent,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
function readFileSample(filePath, maxBytes) {
|
|
140
|
+
const fd = openSync(filePath, 'r');
|
|
141
|
+
try {
|
|
142
|
+
const buffer = Buffer.allocUnsafe(maxBytes);
|
|
143
|
+
const bytesRead = readSync(fd, buffer, 0, maxBytes, 0);
|
|
144
|
+
return Buffer.from(buffer.subarray(0, bytesRead));
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
closeSync(fd);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
export function createStats(params) {
|
|
151
|
+
return {
|
|
152
|
+
rootDirectory: params.rootDirectory,
|
|
153
|
+
indexedAt: Date.now(),
|
|
154
|
+
fileCount: params.files.length,
|
|
155
|
+
textFileCount: params.files.filter((file) => file.isTextIndexed).length,
|
|
156
|
+
binaryFileCount: params.files.filter((file) => file.isBinary).length,
|
|
157
|
+
ignoredCount: params.ignoredCount,
|
|
158
|
+
totalBytes: params.totalBytes,
|
|
159
|
+
indexedBytes: params.indexedBytes,
|
|
160
|
+
symbolCount: params.symbolCount,
|
|
161
|
+
dependencyNodeCount: params.dependencyNodeCount,
|
|
162
|
+
dependencyEdgeCount: params.dependencyEdgeCount,
|
|
163
|
+
truncated: params.truncated,
|
|
164
|
+
durationMs: Date.now() - params.startedAt,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=fileIndexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileIndexer.js","sourceRoot":"","sources":["../../src/codebase/fileIndexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbolIndexer.d.ts","sourceRoot":"","sources":["../../src/codebase/symbolIndexer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,gBAAgB,EAAE,CAe1E"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { lineColumnAt, stableId } from './codeUtils.js';
|
|
2
|
+
const TS_LIKE = new Set(['typescript', 'javascript', 'tsx', 'jsx']);
|
|
3
|
+
export function extractSymbols(files) {
|
|
4
|
+
const symbols = [];
|
|
5
|
+
const seen = new Set();
|
|
6
|
+
for (const file of files) {
|
|
7
|
+
if (!file.textContent || !file.isTextIndexed)
|
|
8
|
+
continue;
|
|
9
|
+
const extracted = extractFileSymbols(file);
|
|
10
|
+
for (const symbol of extracted) {
|
|
11
|
+
if (seen.has(symbol.id))
|
|
12
|
+
continue;
|
|
13
|
+
seen.add(symbol.id);
|
|
14
|
+
symbols.push(symbol);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return symbols.sort((a, b) => a.relativePath.localeCompare(b.relativePath) || a.line - b.line || a.name.localeCompare(b.name));
|
|
18
|
+
}
|
|
19
|
+
function extractFileSymbols(file) {
|
|
20
|
+
if (TS_LIKE.has(file.language))
|
|
21
|
+
return extractTsLikeSymbols(file);
|
|
22
|
+
if (file.language === 'markdown')
|
|
23
|
+
return extractMarkdownSymbols(file);
|
|
24
|
+
if (file.language === 'json')
|
|
25
|
+
return extractJsonSymbols(file);
|
|
26
|
+
if (file.language === 'css')
|
|
27
|
+
return extractCssSymbols(file);
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
function extractTsLikeSymbols(file) {
|
|
31
|
+
const content = file.textContent || '';
|
|
32
|
+
const lines = content.split(/\r?\n/);
|
|
33
|
+
const symbols = [];
|
|
34
|
+
const addSymbol = (name, kind, lineIndex, columnIndex, signature, exportKind) => {
|
|
35
|
+
if (!name)
|
|
36
|
+
return;
|
|
37
|
+
symbols.push(createSymbol(file, name, kind, lineIndex + 1, columnIndex + 1, signature, exportKind));
|
|
38
|
+
};
|
|
39
|
+
lines.forEach((line, lineIndex) => {
|
|
40
|
+
const trimmed = line.trim();
|
|
41
|
+
if (!trimmed || trimmed.startsWith('//'))
|
|
42
|
+
return;
|
|
43
|
+
matchAll(line, /\b(export\s+default\s+)?(export\s+)?(?:async\s+)?function\s+([A-Za-z_$][\w$]*)\s*\(([^)]*)\)/g)
|
|
44
|
+
.forEach((match) => {
|
|
45
|
+
const name = capture(match, 3);
|
|
46
|
+
addSymbol(name, isHook(name) ? 'hook' : 'function', lineIndex, match.index + line.indexOf(name, match.index), trimmed, exportKind(match[1], match[2]));
|
|
47
|
+
});
|
|
48
|
+
matchAll(line, /\b(export\s+default\s+)?(export\s+)?class\s+([A-Za-z_$][\w$]*)/g)
|
|
49
|
+
.forEach((match) => {
|
|
50
|
+
const name = capture(match, 3);
|
|
51
|
+
addSymbol(name, 'class', lineIndex, match.index + line.indexOf(name, match.index), trimmed, exportKind(match[1], match[2]));
|
|
52
|
+
});
|
|
53
|
+
matchAll(line, /\b(export\s+)?interface\s+([A-Za-z_$][\w$]*)/g)
|
|
54
|
+
.forEach((match) => {
|
|
55
|
+
const name = capture(match, 2);
|
|
56
|
+
addSymbol(name, 'interface', lineIndex, match.index + line.indexOf(name, match.index), trimmed, match[1] ? 'named' : 'none');
|
|
57
|
+
});
|
|
58
|
+
matchAll(line, /\b(export\s+)?type\s+([A-Za-z_$][\w$]*)/g)
|
|
59
|
+
.forEach((match) => {
|
|
60
|
+
const name = capture(match, 2);
|
|
61
|
+
addSymbol(name, 'type', lineIndex, match.index + line.indexOf(name, match.index), trimmed, match[1] ? 'named' : 'none');
|
|
62
|
+
});
|
|
63
|
+
matchAll(line, /\b(export\s+)?enum\s+([A-Za-z_$][\w$]*)/g)
|
|
64
|
+
.forEach((match) => {
|
|
65
|
+
const name = capture(match, 2);
|
|
66
|
+
addSymbol(name, 'enum', lineIndex, match.index + line.indexOf(name, match.index), trimmed, match[1] ? 'named' : 'none');
|
|
67
|
+
});
|
|
68
|
+
matchAll(line, /\b(export\s+)?(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)?\s*=>/g)
|
|
69
|
+
.forEach((match) => {
|
|
70
|
+
const name = capture(match, 2);
|
|
71
|
+
addSymbol(name, variableKind(name), lineIndex, match.index + line.indexOf(name, match.index), trimmed, match[1] ? 'named' : 'none');
|
|
72
|
+
});
|
|
73
|
+
matchAll(line, /\b(export\s+)?(?:const|let|var)\s+(use[A-Z][A-Za-z0-9_$]*Store)\s*=\s*create\b/g)
|
|
74
|
+
.forEach((match) => {
|
|
75
|
+
const name = capture(match, 2);
|
|
76
|
+
addSymbol(name, 'store', lineIndex, match.index + line.indexOf(name, match.index), trimmed, match[1] ? 'named' : 'none');
|
|
77
|
+
});
|
|
78
|
+
matchAll(line, /\b(export\s+)?(?:const|let|var)\s+([A-Z][A-Za-z0-9_$]*)\s*=\s*(?:memo|forwardRef|React\.memo|React\.forwardRef)?\s*\(?/g)
|
|
79
|
+
.filter((match) => !line.slice(match.index).includes('=>') || /<[A-Za-z]/.test(lines.slice(lineIndex, lineIndex + 8).join('\n')))
|
|
80
|
+
.forEach((match) => {
|
|
81
|
+
const name = capture(match, 2);
|
|
82
|
+
addSymbol(name, 'component', lineIndex, match.index + line.indexOf(name, match.index), trimmed, match[1] ? 'named' : 'none');
|
|
83
|
+
});
|
|
84
|
+
matchAll(line, /(?:ipcMain\.handle|safeHandle|ipcRenderer\.invoke|ipcRenderer\.send)\(\s*['"`]([^'"`]+)['"`]/g)
|
|
85
|
+
.forEach((match) => addSymbol(capture(match, 1), 'ipc', lineIndex, match.index, trimmed, 'none'));
|
|
86
|
+
});
|
|
87
|
+
if (file.basename.endsWith('Store.ts') || file.basename.endsWith('Store.tsx') || file.basename.endsWith('Store.js')) {
|
|
88
|
+
const storeName = file.basename.replace(/\.[^.]+$/, '');
|
|
89
|
+
const firstCreate = content.indexOf('create');
|
|
90
|
+
const loc = firstCreate >= 0 ? lineColumnAt(content, firstCreate) : { line: 1, column: 1 };
|
|
91
|
+
symbols.push(createSymbol(file, storeName, 'store', loc.line, loc.column, `store file: ${file.relativePath}`, 'none'));
|
|
92
|
+
}
|
|
93
|
+
return symbols;
|
|
94
|
+
}
|
|
95
|
+
function extractMarkdownSymbols(file) {
|
|
96
|
+
const lines = (file.textContent || '').split(/\r?\n/);
|
|
97
|
+
return lines
|
|
98
|
+
.map((line, index) => {
|
|
99
|
+
const match = /^(#{1,6})\s+(.+)$/.exec(line);
|
|
100
|
+
if (!match)
|
|
101
|
+
return null;
|
|
102
|
+
const name = capture(match, 2).trim();
|
|
103
|
+
return createSymbol(file, name, 'markdown-heading', index + 1, capture(match, 1).length + 2, line.trim(), 'none');
|
|
104
|
+
})
|
|
105
|
+
.filter((symbol) => !!symbol);
|
|
106
|
+
}
|
|
107
|
+
function extractJsonSymbols(file) {
|
|
108
|
+
if (file.basename !== 'package.json')
|
|
109
|
+
return [];
|
|
110
|
+
try {
|
|
111
|
+
const pkg = JSON.parse(file.textContent || '{}');
|
|
112
|
+
const symbols = [];
|
|
113
|
+
if (typeof pkg.name === 'string') {
|
|
114
|
+
symbols.push(createSymbol(file, pkg.name, 'package', 1, 1, `package ${pkg.name}`, 'none'));
|
|
115
|
+
}
|
|
116
|
+
const scripts = pkg.scripts && typeof pkg.scripts === 'object' ? pkg.scripts : {};
|
|
117
|
+
for (const name of Object.keys(scripts)) {
|
|
118
|
+
const index = (file.textContent || '').indexOf(`"${name}"`);
|
|
119
|
+
const loc = index >= 0 ? lineColumnAt(file.textContent || '', index) : { line: 1, column: 1 };
|
|
120
|
+
symbols.push(createSymbol(file, name, 'script', loc.line, loc.column, `npm script: ${name}`, 'none'));
|
|
121
|
+
}
|
|
122
|
+
return symbols;
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return [];
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function extractCssSymbols(file) {
|
|
129
|
+
const content = file.textContent || '';
|
|
130
|
+
return matchAll(content, /\.([_a-zA-Z][\w-]*)\b/g)
|
|
131
|
+
.slice(0, 500)
|
|
132
|
+
.map((match) => {
|
|
133
|
+
const loc = lineColumnAt(content, match.index);
|
|
134
|
+
const name = capture(match, 1);
|
|
135
|
+
return createSymbol(file, name, 'css-class', loc.line, loc.column, `.${name}`, 'none');
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
function createSymbol(file, name, kind, line, column, signature, exportKind = 'none') {
|
|
139
|
+
return {
|
|
140
|
+
id: stableId('symbol', file.relativePath, kind, name, line, column),
|
|
141
|
+
name,
|
|
142
|
+
kind,
|
|
143
|
+
filePath: file.absolutePath,
|
|
144
|
+
relativePath: file.relativePath,
|
|
145
|
+
language: file.language,
|
|
146
|
+
line,
|
|
147
|
+
column,
|
|
148
|
+
exportKind,
|
|
149
|
+
signature,
|
|
150
|
+
text: signature,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function matchAll(text, pattern) {
|
|
154
|
+
const matches = [];
|
|
155
|
+
let match;
|
|
156
|
+
pattern.lastIndex = 0;
|
|
157
|
+
while ((match = pattern.exec(text))) {
|
|
158
|
+
matches.push(match);
|
|
159
|
+
if (match.index === pattern.lastIndex)
|
|
160
|
+
pattern.lastIndex += 1;
|
|
161
|
+
}
|
|
162
|
+
return matches;
|
|
163
|
+
}
|
|
164
|
+
function capture(match, index) {
|
|
165
|
+
return match[index] ?? '';
|
|
166
|
+
}
|
|
167
|
+
function exportKind(defaultExport, namedExport) {
|
|
168
|
+
if (defaultExport)
|
|
169
|
+
return 'default';
|
|
170
|
+
if (namedExport)
|
|
171
|
+
return 'named';
|
|
172
|
+
return 'none';
|
|
173
|
+
}
|
|
174
|
+
function isHook(name) {
|
|
175
|
+
return /^use[A-Z]/.test(name);
|
|
176
|
+
}
|
|
177
|
+
function variableKind(name) {
|
|
178
|
+
if (isHook(name))
|
|
179
|
+
return 'hook';
|
|
180
|
+
if (/^[A-Z]/.test(name))
|
|
181
|
+
return 'component';
|
|
182
|
+
return 'function';
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=symbolIndexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbolIndexer.js","sourceRoot":"","sources":["../../src/codebase/symbolIndexer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEvD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;AAEnE,MAAM,UAAU,cAAc,CAAC,KAAuB;IACpD,MAAM,OAAO,GAAuB,EAAE,CAAA;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,SAAQ;QACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC1C,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,SAAQ;YACjC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACnB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAChI,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAoB;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACjE,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAA;IACrE,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAC3D,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAoB;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,OAAO,GAAuB,EAAE,CAAA;IAEtC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,IAAoB,EAAE,SAAiB,EAAE,WAAmB,EAAE,SAAkB,EAAE,UAAyC,EAAE,EAAE;QAC9J,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;IACrG,CAAC,CAAA;IAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAM;QAEhD,QAAQ,CAAC,IAAI,EAAE,+FAA+F,CAAC;aAC5G,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxJ,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,IAAI,EAAE,iEAAiE,CAAC;aAC9E,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7H,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,IAAI,EAAE,+CAA+C,CAAC;aAC5D,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC9H,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,IAAI,EAAE,0CAA0C,CAAC;aACvD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACzH,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,IAAI,EAAE,0CAA0C,CAAC;aACvD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACzH,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,IAAI,EAAE,+GAA+G,CAAC;aAC5H,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACrI,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,IAAI,EAAE,iFAAiF,CAAC;aAC9F,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC1H,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,IAAI,EAAE,yHAAyH,CAAC;aACtI,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAChI,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9B,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC9H,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,IAAI,EAAE,+FAA+F,CAAC;aAC5G,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACrG,CAAC,CAAC,CAAA;IAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpH,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACvD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QAC1F,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;IACxH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAoB;IAClD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACrD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;IACnH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,MAAM,EAA8B,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAoB;IAC9C,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc;QAAE,OAAO,EAAE,CAAA;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAwB,CAAA;QACvE,MAAM,OAAO,GAAuB,EAAE,CAAA;QACtC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5F,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QACjF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;YAC3D,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;YAC7F,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QACvG,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;IACtC,OAAO,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;SAC/C,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACb,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC9B,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,YAAY,CACnB,IAAoB,EACpB,IAAY,EACZ,IAAoB,EACpB,IAAY,EACZ,MAAc,EACd,SAAkB,EAClB,aAA2C,MAAM;IAEjD,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;QACnE,IAAI;QACJ,IAAI;QACJ,QAAQ,EAAE,IAAI,CAAC,YAAY;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI;QACJ,MAAM;QACN,UAAU;QACV,SAAS;QACT,IAAI,EAAE,SAAS;KAChB,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAe;IAC7C,MAAM,OAAO,GAAsB,EAAE,CAAA;IACrC,IAAI,KAA6B,CAAA;IACjC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAA;IACrB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,SAAS;YAAE,OAAO,CAAC,SAAS,IAAI,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,KAAsB,EAAE,KAAa;IACpD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,aAAsB,EAAE,WAAoB;IAC9D,IAAI,aAAa;QAAE,OAAO,SAAS,CAAA;IACnC,IAAI,WAAW;QAAE,OAAO,OAAO,CAAA;IAC/B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAA;IAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAA;IAC3C,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ChangedFileSummary, CodeFileRecord, WhatChangedResponse } from './codeTypes.js';
|
|
2
|
+
export declare function summarizeWhatChanged(rootDirectory: string, files: CodeFileRecord[], maxFiles?: number): WhatChangedResponse;
|
|
3
|
+
export declare function createChangedFileSummary(rootDirectory: string, file: CodeFileRecord): ChangedFileSummary;
|
|
4
|
+
//# sourceMappingURL=whatChanged.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatChanged.d.ts","sourceRoot":"","sources":["../../src/codebase/whatChanged.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAG7F,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,QAAQ,SAAK,GAAG,mBAAmB,CA2BvH;AAyGD,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,kBAAkB,CAQxG"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { execFileSync } from 'child_process';
|
|
2
|
+
import { toRelative } from './codeUtils.js';
|
|
3
|
+
export function summarizeWhatChanged(rootDirectory, files, maxFiles = 80) {
|
|
4
|
+
const limit = Math.max(1, maxFiles);
|
|
5
|
+
if (isGitRepository(rootDirectory)) {
|
|
6
|
+
return summarizeGitChanges(rootDirectory, limit);
|
|
7
|
+
}
|
|
8
|
+
const recent = files
|
|
9
|
+
.slice()
|
|
10
|
+
.sort((a, b) => b.mtimeMs - a.mtimeMs)
|
|
11
|
+
.slice(0, limit)
|
|
12
|
+
.map((file) => ({
|
|
13
|
+
path: file.absolutePath,
|
|
14
|
+
relativePath: file.relativePath,
|
|
15
|
+
status: 'recent',
|
|
16
|
+
size: file.size,
|
|
17
|
+
mtimeMs: file.mtimeMs,
|
|
18
|
+
}));
|
|
19
|
+
const summary = recent.length
|
|
20
|
+
? `No git repository was detected. Showing ${recent.length} most recently modified indexed files.`
|
|
21
|
+
: 'No git repository was detected and no indexed files are available.';
|
|
22
|
+
return {
|
|
23
|
+
success: true,
|
|
24
|
+
isGitRepo: false,
|
|
25
|
+
rootDirectory,
|
|
26
|
+
summary,
|
|
27
|
+
changedFiles: recent,
|
|
28
|
+
workPacket: createWorkPacket(summary, recent),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function summarizeGitChanges(rootDirectory, maxFiles) {
|
|
32
|
+
const status = runGit(rootDirectory, ['status', '--short']);
|
|
33
|
+
const diffStat = runGit(rootDirectory, ['diff', '--stat']);
|
|
34
|
+
const numstat = runGit(rootDirectory, ['diff', '--numstat']);
|
|
35
|
+
const changedFiles = parseStatus(rootDirectory, status, maxFiles);
|
|
36
|
+
const statsByPath = parseNumstat(numstat);
|
|
37
|
+
for (const file of changedFiles) {
|
|
38
|
+
const stats = statsByPath.get(file.relativePath);
|
|
39
|
+
if (stats) {
|
|
40
|
+
file.additions = stats.additions;
|
|
41
|
+
file.deletions = stats.deletions;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const summary = changedFiles.length
|
|
45
|
+
? `Git workspace has ${changedFiles.length} changed files${changedFiles.length >= maxFiles ? ' (truncated)' : ''}.`
|
|
46
|
+
: 'Git workspace is clean.';
|
|
47
|
+
return {
|
|
48
|
+
success: true,
|
|
49
|
+
isGitRepo: true,
|
|
50
|
+
rootDirectory,
|
|
51
|
+
summary,
|
|
52
|
+
changedFiles,
|
|
53
|
+
diffStat,
|
|
54
|
+
workPacket: createWorkPacket(summary, changedFiles, diffStat),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function isGitRepository(rootDirectory) {
|
|
58
|
+
try {
|
|
59
|
+
execFileSync('git', ['-C', rootDirectory, 'rev-parse', '--is-inside-work-tree'], { encoding: 'utf-8', timeout: 3000, stdio: ['ignore', 'pipe', 'ignore'] });
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function runGit(rootDirectory, args) {
|
|
67
|
+
try {
|
|
68
|
+
return execFileSync('git', ['-C', rootDirectory, ...args], { encoding: 'utf-8', timeout: 5000, stdio: ['ignore', 'pipe', 'ignore'] });
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return '';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function parseStatus(rootDirectory, status, maxFiles) {
|
|
75
|
+
return status
|
|
76
|
+
.split(/\r?\n/)
|
|
77
|
+
.map((line) => line.trimEnd())
|
|
78
|
+
.filter(Boolean)
|
|
79
|
+
.slice(0, maxFiles)
|
|
80
|
+
.map((line) => {
|
|
81
|
+
const statusCode = line.slice(0, 2).trim() || 'M';
|
|
82
|
+
let relativePath = line.slice(3).trim();
|
|
83
|
+
if (relativePath.includes(' -> ')) {
|
|
84
|
+
relativePath = relativePath.split(' -> ').pop()?.trim() || relativePath;
|
|
85
|
+
}
|
|
86
|
+
relativePath = relativePath.replace(/^"|"$/g, '');
|
|
87
|
+
return {
|
|
88
|
+
path: `${rootDirectory}${rootDirectory.endsWith('\\') || rootDirectory.endsWith('/') ? '' : '/'}${relativePath}`.replace(/\//g, process.platform === 'win32' ? '\\' : '/'),
|
|
89
|
+
relativePath,
|
|
90
|
+
status: statusCode,
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
function parseNumstat(numstat) {
|
|
95
|
+
const map = new Map();
|
|
96
|
+
for (const line of numstat.split(/\r?\n/)) {
|
|
97
|
+
const parts = line.split(/\t/);
|
|
98
|
+
if (parts.length < 3)
|
|
99
|
+
continue;
|
|
100
|
+
const additions = Number(parts[0]);
|
|
101
|
+
const deletions = Number(parts[1]);
|
|
102
|
+
const relativePath = parts.slice(2).join('\t').trim();
|
|
103
|
+
if (!relativePath)
|
|
104
|
+
continue;
|
|
105
|
+
map.set(relativePath, {
|
|
106
|
+
additions: Number.isFinite(additions) ? additions : 0,
|
|
107
|
+
deletions: Number.isFinite(deletions) ? deletions : 0,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return map;
|
|
111
|
+
}
|
|
112
|
+
function createWorkPacket(summary, changedFiles, diffStat) {
|
|
113
|
+
const fileLines = changedFiles.map((file) => {
|
|
114
|
+
const stats = file.additions !== undefined || file.deletions !== undefined
|
|
115
|
+
? ` (+${file.additions || 0}/-${file.deletions || 0})`
|
|
116
|
+
: '';
|
|
117
|
+
return `- ${file.status} ${file.relativePath}${stats}`;
|
|
118
|
+
});
|
|
119
|
+
return [
|
|
120
|
+
'# Workspace Change Packet',
|
|
121
|
+
'',
|
|
122
|
+
summary,
|
|
123
|
+
'',
|
|
124
|
+
'## Changed Files',
|
|
125
|
+
fileLines.length ? fileLines.join('\n') : '- none',
|
|
126
|
+
diffStat ? `\n## Diff Stat\n${diffStat.trim()}` : '',
|
|
127
|
+
].filter(Boolean).join('\n');
|
|
128
|
+
}
|
|
129
|
+
export function createChangedFileSummary(rootDirectory, file) {
|
|
130
|
+
return {
|
|
131
|
+
path: file.absolutePath,
|
|
132
|
+
relativePath: toRelative(rootDirectory, file.absolutePath),
|
|
133
|
+
status: 'indexed',
|
|
134
|
+
size: file.size,
|
|
135
|
+
mtimeMs: file.mtimeMs,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=whatChanged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatChanged.js","sourceRoot":"","sources":["../../src/codebase/whatChanged.ts"],"names":[],"mappings":"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"}
|