@moorline/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/bootstrap/apiAdapterPackageLoader.d.ts +21 -0
- package/dist/app/bootstrap/apiAdapterPackageLoader.js +143 -0
- package/dist/app/bootstrap/apiAdapterPackageLoader.js.map +1 -0
- package/dist/app/bootstrap/officialCatalog.d.ts +1 -0
- package/dist/app/bootstrap/officialCatalog.js +2 -0
- package/dist/app/bootstrap/officialCatalog.js.map +1 -0
- package/dist/app/bootstrap/operatorPackageService.d.ts +79 -0
- package/dist/app/bootstrap/operatorPackageService.js +1025 -0
- package/dist/app/bootstrap/operatorPackageService.js.map +1 -0
- package/dist/app/bootstrap/providerPackageLoader.d.ts +12 -0
- package/dist/app/bootstrap/providerPackageLoader.js +139 -0
- package/dist/app/bootstrap/providerPackageLoader.js.map +1 -0
- package/dist/app/bootstrap/runtimeBootstrap.d.ts +12 -0
- package/dist/app/bootstrap/runtimeBootstrap.js +46 -0
- package/dist/app/bootstrap/runtimeBootstrap.js.map +1 -0
- package/dist/app/bootstrap/transportPackageLoader.d.ts +23 -0
- package/dist/app/bootstrap/transportPackageLoader.js +149 -0
- package/dist/app/bootstrap/transportPackageLoader.js.map +1 -0
- package/dist/app/control-api/services/actions.d.ts +140 -0
- package/dist/app/control-api/services/actions.js +312 -0
- package/dist/app/control-api/services/actions.js.map +1 -0
- package/dist/app/control-api/services/controlPlane.d.ts +245 -0
- package/dist/app/control-api/services/controlPlane.js +301 -0
- package/dist/app/control-api/services/controlPlane.js.map +1 -0
- package/dist/app/control-api/services/runtimeHost.d.ts +61 -0
- package/dist/app/control-api/services/runtimeHost.js +117 -0
- package/dist/app/control-api/services/runtimeHost.js.map +1 -0
- package/dist/app/control-api/services/state.d.ts +19 -0
- package/dist/app/control-api/services/state.js +177 -0
- package/dist/app/control-api/services/state.js.map +1 -0
- package/dist/core/domain/memory/operatorMemoryService.d.ts +36 -0
- package/dist/core/domain/memory/operatorMemoryService.js +81 -0
- package/dist/core/domain/memory/operatorMemoryService.js.map +1 -0
- package/dist/core/domain/memory/pathSafety.d.ts +2 -0
- package/dist/core/domain/memory/pathSafety.js +36 -0
- package/dist/core/domain/memory/pathSafety.js.map +1 -0
- package/dist/core/domain/memory/retrieval/fileWalker.d.ts +1 -0
- package/dist/core/domain/memory/retrieval/fileWalker.js +31 -0
- package/dist/core/domain/memory/retrieval/fileWalker.js.map +1 -0
- package/dist/core/domain/memory/retrieval/indexTargets.d.ts +3 -0
- package/dist/core/domain/memory/retrieval/indexTargets.js +43 -0
- package/dist/core/domain/memory/retrieval/indexTargets.js.map +1 -0
- package/dist/core/domain/memory/retrieval/markdownChunker.d.ts +3 -0
- package/dist/core/domain/memory/retrieval/markdownChunker.js +77 -0
- package/dist/core/domain/memory/retrieval/markdownChunker.js.map +1 -0
- package/dist/core/domain/memory/retrieval/parse.d.ts +2 -0
- package/dist/core/domain/memory/retrieval/parse.js +28 -0
- package/dist/core/domain/memory/retrieval/parse.js.map +1 -0
- package/dist/core/domain/memory/retrieval/ranking.d.ts +11 -0
- package/dist/core/domain/memory/retrieval/ranking.js +63 -0
- package/dist/core/domain/memory/retrieval/ranking.js.map +1 -0
- package/dist/core/domain/memory/retrieval/schema.d.ts +2 -0
- package/dist/core/domain/memory/retrieval/schema.js +105 -0
- package/dist/core/domain/memory/retrieval/schema.js.map +1 -0
- package/dist/core/domain/memory/retrieval/scope.d.ts +20 -0
- package/dist/core/domain/memory/retrieval/scope.js +38 -0
- package/dist/core/domain/memory/retrieval/scope.js.map +1 -0
- package/dist/core/domain/memory/retrieval/tokenEmbedding.d.ts +4 -0
- package/dist/core/domain/memory/retrieval/tokenEmbedding.js +44 -0
- package/dist/core/domain/memory/retrieval/tokenEmbedding.js.map +1 -0
- package/dist/core/domain/memory/retrieval/types.d.ts +88 -0
- package/dist/core/domain/memory/retrieval/types.js +7 -0
- package/dist/core/domain/memory/retrieval/types.js.map +1 -0
- package/dist/core/domain/memory/retrieval.d.ts +4 -0
- package/dist/core/domain/memory/retrieval.js +398 -0
- package/dist/core/domain/memory/retrieval.js.map +1 -0
- package/dist/core/domain/memory/store.d.ts +28 -0
- package/dist/core/domain/memory/store.js +52 -0
- package/dist/core/domain/memory/store.js.map +1 -0
- package/dist/core/domain/missions/missionDraftSetup.d.ts +12 -0
- package/dist/core/domain/missions/missionDraftSetup.js +92 -0
- package/dist/core/domain/missions/missionDraftSetup.js.map +1 -0
- package/dist/core/domain/missions/missionHookService.d.ts +41 -0
- package/dist/core/domain/missions/missionHookService.js +161 -0
- package/dist/core/domain/missions/missionHookService.js.map +1 -0
- package/dist/core/domain/missions/missionHookValidation.d.ts +8 -0
- package/dist/core/domain/missions/missionHookValidation.js +59 -0
- package/dist/core/domain/missions/missionHookValidation.js.map +1 -0
- package/dist/core/domain/missions/missionRegistry.d.ts +55 -0
- package/dist/core/domain/missions/missionRegistry.js +204 -0
- package/dist/core/domain/missions/missionRegistry.js.map +1 -0
- package/dist/core/domain/missions/missionSchedule.d.ts +24 -0
- package/dist/core/domain/missions/missionSchedule.js +441 -0
- package/dist/core/domain/missions/missionSchedule.js.map +1 -0
- package/dist/core/domain/sessions/lifecycleOrchestration.d.ts +23 -0
- package/dist/core/domain/sessions/lifecycleOrchestration.js +18 -0
- package/dist/core/domain/sessions/lifecycleOrchestration.js.map +1 -0
- package/dist/core/domain/sessions/managedWorkerSessions.d.ts +3 -0
- package/dist/core/domain/sessions/managedWorkerSessions.js +4 -0
- package/dist/core/domain/sessions/managedWorkerSessions.js.map +1 -0
- package/dist/core/domain/sessions/runtimeWorkManagementService.d.ts +129 -0
- package/dist/core/domain/sessions/runtimeWorkManagementService.js +627 -0
- package/dist/core/domain/sessions/runtimeWorkManagementService.js.map +1 -0
- package/dist/core/domain/sessions/sessionLifecycleService.d.ts +21 -0
- package/dist/core/domain/sessions/sessionLifecycleService.js +76 -0
- package/dist/core/domain/sessions/sessionLifecycleService.js.map +1 -0
- package/dist/core/domain/sessions/sessionState.d.ts +34 -0
- package/dist/core/domain/sessions/sessionState.js +154 -0
- package/dist/core/domain/sessions/sessionState.js.map +1 -0
- package/dist/core/domain/sessions/workManagement/managedSessionLimit.d.ts +3 -0
- package/dist/core/domain/sessions/workManagement/managedSessionLimit.js +15 -0
- package/dist/core/domain/sessions/workManagement/managedSessionLimit.js.map +1 -0
- package/dist/core/domain/sessions/workManagement/spaceNames.d.ts +2 -0
- package/dist/core/domain/sessions/workManagement/spaceNames.js +15 -0
- package/dist/core/domain/sessions/workManagement/spaceNames.js.map +1 -0
- package/dist/core/extension/capabilities/capabilities.d.ts +8 -0
- package/dist/core/extension/capabilities/capabilities.js +40 -0
- package/dist/core/extension/capabilities/capabilities.js.map +1 -0
- package/dist/core/extension/packages/archiveExtraction.d.ts +1 -0
- package/dist/core/extension/packages/archiveExtraction.js +194 -0
- package/dist/core/extension/packages/archiveExtraction.js.map +1 -0
- package/dist/core/extension/packages/npmRegistryClient.d.ts +24 -0
- package/dist/core/extension/packages/npmRegistryClient.js +261 -0
- package/dist/core/extension/packages/npmRegistryClient.js.map +1 -0
- package/dist/core/extension/packages/officialArchiveResolver.d.ts +2 -0
- package/dist/core/extension/packages/officialArchiveResolver.js +51 -0
- package/dist/core/extension/packages/officialArchiveResolver.js.map +1 -0
- package/dist/core/extension/packages/officialCatalog.d.ts +9 -0
- package/dist/core/extension/packages/officialCatalog.js +198 -0
- package/dist/core/extension/packages/officialCatalog.js.map +1 -0
- package/dist/core/extension/packages/packageActivation.d.ts +21 -0
- package/dist/core/extension/packages/packageActivation.js +81 -0
- package/dist/core/extension/packages/packageActivation.js.map +1 -0
- package/dist/core/extension/packages/packageApplyPlanner.d.ts +4 -0
- package/dist/core/extension/packages/packageApplyPlanner.js +79 -0
- package/dist/core/extension/packages/packageApplyPlanner.js.map +1 -0
- package/dist/core/extension/packages/packageBundleRoot.d.ts +1 -0
- package/dist/core/extension/packages/packageBundleRoot.js +34 -0
- package/dist/core/extension/packages/packageBundleRoot.js.map +1 -0
- package/dist/core/extension/packages/packageConfigSchema.d.ts +7 -0
- package/dist/core/extension/packages/packageConfigSchema.js +86 -0
- package/dist/core/extension/packages/packageConfigSchema.js.map +1 -0
- package/dist/core/extension/packages/packageDependencyResolver.d.ts +13 -0
- package/dist/core/extension/packages/packageDependencyResolver.js +128 -0
- package/dist/core/extension/packages/packageDependencyResolver.js.map +1 -0
- package/dist/core/extension/packages/packageDistroMetadata.d.ts +14 -0
- package/dist/core/extension/packages/packageDistroMetadata.js +153 -0
- package/dist/core/extension/packages/packageDistroMetadata.js.map +1 -0
- package/dist/core/extension/packages/packageInstaller.d.ts +27 -0
- package/dist/core/extension/packages/packageInstaller.js +269 -0
- package/dist/core/extension/packages/packageInstaller.js.map +1 -0
- package/dist/core/extension/packages/packageInventoryStore.d.ts +25 -0
- package/dist/core/extension/packages/packageInventoryStore.js +398 -0
- package/dist/core/extension/packages/packageInventoryStore.js.map +1 -0
- package/dist/core/extension/packages/packageManifest.d.ts +15 -0
- package/dist/core/extension/packages/packageManifest.js +65 -0
- package/dist/core/extension/packages/packageManifest.js.map +1 -0
- package/dist/core/extension/packages/packageRegistryBlocklist.d.ts +10 -0
- package/dist/core/extension/packages/packageRegistryBlocklist.js +13 -0
- package/dist/core/extension/packages/packageRegistryBlocklist.js.map +1 -0
- package/dist/core/extension/packages/packageRegistryService.d.ts +22 -0
- package/dist/core/extension/packages/packageRegistryService.js +123 -0
- package/dist/core/extension/packages/packageRegistryService.js.map +1 -0
- package/dist/core/extension/packages/packageRegistryTypes.d.ts +33 -0
- package/dist/core/extension/packages/packageRegistryTypes.js +2 -0
- package/dist/core/extension/packages/packageRegistryTypes.js.map +1 -0
- package/dist/core/extension/packages/packageSource.d.ts +8 -0
- package/dist/core/extension/packages/packageSource.js +116 -0
- package/dist/core/extension/packages/packageSource.js.map +1 -0
- package/dist/core/extension/packages/packageSourceLimits.d.ts +5 -0
- package/dist/core/extension/packages/packageSourceLimits.js +6 -0
- package/dist/core/extension/packages/packageSourceLimits.js.map +1 -0
- package/dist/core/extension/packages/packageValidation.d.ts +2 -0
- package/dist/core/extension/packages/packageValidation.js +67 -0
- package/dist/core/extension/packages/packageValidation.js.map +1 -0
- package/dist/core/extension/packages/packageVersionResolver.d.ts +28 -0
- package/dist/core/extension/packages/packageVersionResolver.js +78 -0
- package/dist/core/extension/packages/packageVersionResolver.js.map +1 -0
- package/dist/core/extension/packages/remoteArchiveDownloader.d.ts +10 -0
- package/dist/core/extension/packages/remoteArchiveDownloader.js +156 -0
- package/dist/core/extension/packages/remoteArchiveDownloader.js.map +1 -0
- package/dist/core/extension/packages/runtimeStartability.d.ts +16 -0
- package/dist/core/extension/packages/runtimeStartability.js +237 -0
- package/dist/core/extension/packages/runtimeStartability.js.map +1 -0
- package/dist/core/extension/plugins/pluginHost.d.ts +50 -0
- package/dist/core/extension/plugins/pluginHost.js +303 -0
- package/dist/core/extension/plugins/pluginHost.js.map +1 -0
- package/dist/core/extension/plugins/pluginId.d.ts +2 -0
- package/dist/core/extension/plugins/pluginId.js +8 -0
- package/dist/core/extension/plugins/pluginId.js.map +1 -0
- package/dist/core/extension/plugins/pluginManifest.d.ts +3 -0
- package/dist/core/extension/plugins/pluginManifest.js +17 -0
- package/dist/core/extension/plugins/pluginManifest.js.map +1 -0
- package/dist/core/extension/plugins/runtimePluginLoader.d.ts +7 -0
- package/dist/core/extension/plugins/runtimePluginLoader.js +160 -0
- package/dist/core/extension/plugins/runtimePluginLoader.js.map +1 -0
- package/dist/core/extension/skills/skillRegistry.d.ts +21 -0
- package/dist/core/extension/skills/skillRegistry.js +233 -0
- package/dist/core/extension/skills/skillRegistry.js.map +1 -0
- package/dist/core/extension/skills/skillWriter.d.ts +20 -0
- package/dist/core/extension/skills/skillWriter.js +150 -0
- package/dist/core/extension/skills/skillWriter.js.map +1 -0
- package/dist/core/runtime/execution/commandReactor.d.ts +31 -0
- package/dist/core/runtime/execution/commandReactor.js +38 -0
- package/dist/core/runtime/execution/commandReactor.js.map +1 -0
- package/dist/core/runtime/execution/defaultModelSelection.d.ts +4 -0
- package/dist/core/runtime/execution/defaultModelSelection.js +17 -0
- package/dist/core/runtime/execution/defaultModelSelection.js.map +1 -0
- package/dist/core/runtime/execution/drainableWorker.d.ts +27 -0
- package/dist/core/runtime/execution/drainableWorker.js +79 -0
- package/dist/core/runtime/execution/drainableWorker.js.map +1 -0
- package/dist/core/runtime/execution/orchestrationEngine.d.ts +16 -0
- package/dist/core/runtime/execution/orchestrationEngine.js +181 -0
- package/dist/core/runtime/execution/orchestrationEngine.js.map +1 -0
- package/dist/core/runtime/execution/orchestrationHealth.d.ts +45 -0
- package/dist/core/runtime/execution/orchestrationHealth.js +95 -0
- package/dist/core/runtime/execution/orchestrationHealth.js.map +1 -0
- package/dist/core/runtime/execution/pluginContext/defaultSessionOwner.d.ts +2 -0
- package/dist/core/runtime/execution/pluginContext/defaultSessionOwner.js +10 -0
- package/dist/core/runtime/execution/pluginContext/defaultSessionOwner.js.map +1 -0
- package/dist/core/runtime/execution/pluginContext/pluginCapabilities.d.ts +40 -0
- package/dist/core/runtime/execution/pluginContext/pluginCapabilities.js +73 -0
- package/dist/core/runtime/execution/pluginContext/pluginCapabilities.js.map +1 -0
- package/dist/core/runtime/execution/pluginContext/pluginContextFactory.d.ts +20 -0
- package/dist/core/runtime/execution/pluginContext/pluginContextFactory.js +18 -0
- package/dist/core/runtime/execution/pluginContext/pluginContextFactory.js.map +1 -0
- package/dist/core/runtime/execution/pluginContext/transportAuthor.d.ts +7 -0
- package/dist/core/runtime/execution/pluginContext/transportAuthor.js +15 -0
- package/dist/core/runtime/execution/pluginContext/transportAuthor.js.map +1 -0
- package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.d.ts +7 -0
- package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.js +25 -0
- package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.js.map +1 -0
- package/dist/core/runtime/execution/providerCoordination/providerPolicyTarget.d.ts +2 -0
- package/dist/core/runtime/execution/providerCoordination/providerPolicyTarget.js +5 -0
- package/dist/core/runtime/execution/providerCoordination/providerPolicyTarget.js.map +1 -0
- package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.d.ts +7 -0
- package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.js +6 -0
- package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.js.map +1 -0
- package/dist/core/runtime/execution/providerCoordination/providerRequestAttributionService.d.ts +10 -0
- package/dist/core/runtime/execution/providerCoordination/providerRequestAttributionService.js +33 -0
- package/dist/core/runtime/execution/providerCoordination/providerRequestAttributionService.js.map +1 -0
- package/dist/core/runtime/execution/providerCoordination/providerSessionCoordinator.d.ts +5 -0
- package/dist/core/runtime/execution/providerCoordination/providerSessionCoordinator.js +9 -0
- package/dist/core/runtime/execution/providerCoordination/providerSessionCoordinator.js.map +1 -0
- package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.d.ts +3 -0
- package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.js +6 -0
- package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/ports.d.ts +47 -0
- package/dist/core/runtime/execution/providerOrchestration/ports.js +2 -0
- package/dist/core/runtime/execution/providerOrchestration/ports.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.d.ts +13 -0
- package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.js +57 -0
- package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.d.ts +19 -0
- package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.js +129 -0
- package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.d.ts +32 -0
- package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.js +67 -0
- package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.d.ts +12 -0
- package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.js +71 -0
- package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.d.ts +37 -0
- package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.js +53 -0
- package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.d.ts +15 -0
- package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.js +93 -0
- package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.d.ts +37 -0
- package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.js +104 -0
- package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.js.map +1 -0
- package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.d.ts +62 -0
- package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.js +349 -0
- package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.js.map +1 -0
- package/dist/core/runtime/execution/providerProjectionTypes.d.ts +25 -0
- package/dist/core/runtime/execution/providerProjectionTypes.js +18 -0
- package/dist/core/runtime/execution/providerProjectionTypes.js.map +1 -0
- package/dist/core/runtime/execution/providerSessionDirectory.d.ts +12 -0
- package/dist/core/runtime/execution/providerSessionDirectory.js +94 -0
- package/dist/core/runtime/execution/providerSessionDirectory.js.map +1 -0
- package/dist/core/runtime/execution/runtimeDomain.d.ts +116 -0
- package/dist/core/runtime/execution/runtimeDomain.js +262 -0
- package/dist/core/runtime/execution/runtimeDomain.js.map +1 -0
- package/dist/core/runtime/execution/runtimeIngestion.d.ts +17 -0
- package/dist/core/runtime/execution/runtimeIngestion.js +254 -0
- package/dist/core/runtime/execution/runtimeIngestion.js.map +1 -0
- package/dist/core/runtime/execution/runtimeInteractionService.d.ts +66 -0
- package/dist/core/runtime/execution/runtimeInteractionService.js +230 -0
- package/dist/core/runtime/execution/runtimeInteractionService.js.map +1 -0
- package/dist/core/runtime/execution/runtimeOrchestrationRequestService.d.ts +64 -0
- package/dist/core/runtime/execution/runtimeOrchestrationRequestService.js +366 -0
- package/dist/core/runtime/execution/runtimeOrchestrationRequestService.js.map +1 -0
- package/dist/core/runtime/execution/runtimeOrchestrationRequests.d.ts +111 -0
- package/dist/core/runtime/execution/runtimeOrchestrationRequests.js +464 -0
- package/dist/core/runtime/execution/runtimeOrchestrationRequests.js.map +1 -0
- package/dist/core/runtime/execution/runtimeOrchestrationResult.d.ts +4 -0
- package/dist/core/runtime/execution/runtimeOrchestrationResult.js +7 -0
- package/dist/core/runtime/execution/runtimeOrchestrationResult.js.map +1 -0
- package/dist/core/runtime/execution/runtimePendingRequestService.d.ts +69 -0
- package/dist/core/runtime/execution/runtimePendingRequestService.js +360 -0
- package/dist/core/runtime/execution/runtimePendingRequestService.js.map +1 -0
- package/dist/core/runtime/execution/runtimePluginContextService.d.ts +100 -0
- package/dist/core/runtime/execution/runtimePluginContextService.js +576 -0
- package/dist/core/runtime/execution/runtimePluginContextService.js.map +1 -0
- package/dist/core/runtime/execution/runtimeReceiptBus.d.ts +17 -0
- package/dist/core/runtime/execution/runtimeReceiptBus.js +50 -0
- package/dist/core/runtime/execution/runtimeReceiptBus.js.map +1 -0
- package/dist/core/runtime/execution/runtimeWorkerQueues.d.ts +33 -0
- package/dist/core/runtime/execution/runtimeWorkerQueues.js +55 -0
- package/dist/core/runtime/execution/runtimeWorkerQueues.js.map +1 -0
- package/dist/core/runtime/graph/runtimePaths.d.ts +2 -0
- package/dist/core/runtime/graph/runtimePaths.js +22 -0
- package/dist/core/runtime/graph/runtimePaths.js.map +1 -0
- package/dist/core/runtime/hosting/managedSpaceMetadata.d.ts +7 -0
- package/dist/core/runtime/hosting/managedSpaceMetadata.js +14 -0
- package/dist/core/runtime/hosting/managedSpaceMetadata.js.map +1 -0
- package/dist/core/runtime/hosting/runtimeHostingService.d.ts +32 -0
- package/dist/core/runtime/hosting/runtimeHostingService.js +123 -0
- package/dist/core/runtime/hosting/runtimeHostingService.js.map +1 -0
- package/dist/core/runtime/hosting/runtimeLayout.d.ts +5 -0
- package/dist/core/runtime/hosting/runtimeLayout.js +133 -0
- package/dist/core/runtime/hosting/runtimeLayout.js.map +1 -0
- package/dist/core/runtime/hosting/runtimeManagementPort.d.ts +60 -0
- package/dist/core/runtime/hosting/runtimeManagementPort.js +28 -0
- package/dist/core/runtime/hosting/runtimeManagementPort.js.map +1 -0
- package/dist/core/runtime/hosting/runtimeTransportSurfaceService.d.ts +20 -0
- package/dist/core/runtime/hosting/runtimeTransportSurfaceService.js +82 -0
- package/dist/core/runtime/hosting/runtimeTransportSurfaceService.js.map +1 -0
- package/dist/core/runtime/hosting/systemEmbeds.d.ts +22 -0
- package/dist/core/runtime/hosting/systemEmbeds.js +25 -0
- package/dist/core/runtime/hosting/systemEmbeds.js.map +1 -0
- package/dist/core/runtime/lifecycle/managedChannelLifecycleService.d.ts +37 -0
- package/dist/core/runtime/lifecycle/managedChannelLifecycleService.js +256 -0
- package/dist/core/runtime/lifecycle/managedChannelLifecycleService.js.map +1 -0
- package/dist/core/runtime/lifecycle/runtimeLifecycleService.d.ts +43 -0
- package/dist/core/runtime/lifecycle/runtimeLifecycleService.js +322 -0
- package/dist/core/runtime/lifecycle/runtimeLifecycleService.js.map +1 -0
- package/dist/core/runtime/moorlineRuntime.d.ts +100 -0
- package/dist/core/runtime/moorlineRuntime.js +573 -0
- package/dist/core/runtime/moorlineRuntime.js.map +1 -0
- package/dist/core/runtime/moorlineRuntimeBuilder.d.ts +180 -0
- package/dist/core/runtime/moorlineRuntimeBuilder.js +681 -0
- package/dist/core/runtime/moorlineRuntimeBuilder.js.map +1 -0
- package/dist/core/runtime/runtimeAudit.d.ts +7 -0
- package/dist/core/runtime/runtimeAudit.js +32 -0
- package/dist/core/runtime/runtimeAudit.js.map +1 -0
- package/dist/core/runtime/runtimeBootstrapRegistry.d.ts +5 -0
- package/dist/core/runtime/runtimeBootstrapRegistry.js +15 -0
- package/dist/core/runtime/runtimeBootstrapRegistry.js.map +1 -0
- package/dist/core/runtime/runtimeStatus.d.ts +14 -0
- package/dist/core/runtime/runtimeStatus.js +16 -0
- package/dist/core/runtime/runtimeStatus.js.map +1 -0
- package/dist/core/runtime/supervision/managedSidecar.d.ts +71 -0
- package/dist/core/runtime/supervision/managedSidecar.js +13 -0
- package/dist/core/runtime/supervision/managedSidecar.js.map +1 -0
- package/dist/core/runtime/supervision/runtimeControl.d.ts +45 -0
- package/dist/core/runtime/supervision/runtimeControl.js +2 -0
- package/dist/core/runtime/supervision/runtimeControl.js.map +1 -0
- package/dist/core/runtime/supervision/runtimeControlService.d.ts +56 -0
- package/dist/core/runtime/supervision/runtimeControlService.js +315 -0
- package/dist/core/runtime/supervision/runtimeControlService.js.map +1 -0
- package/dist/core/runtime/supervision/runtimeSupervisor.d.ts +106 -0
- package/dist/core/runtime/supervision/runtimeSupervisor.js +425 -0
- package/dist/core/runtime/supervision/runtimeSupervisor.js.map +1 -0
- package/dist/core/runtime/supervision/sidecarLaunchDefinition.d.ts +3 -0
- package/dist/core/runtime/supervision/sidecarLaunchDefinition.js +24 -0
- package/dist/core/runtime/supervision/sidecarLaunchDefinition.js.map +1 -0
- package/dist/core/runtime/supervision/sidecarManager.d.ts +40 -0
- package/dist/core/runtime/supervision/sidecarManager.js +409 -0
- package/dist/core/runtime/supervision/sidecarManager.js.map +1 -0
- package/dist/core/shared/fs/atomicWrite.d.ts +6 -0
- package/dist/core/shared/fs/atomicWrite.js +48 -0
- package/dist/core/shared/fs/atomicWrite.js.map +1 -0
- package/dist/core/shared/fs/canonicalPathContainment.d.ts +8 -0
- package/dist/core/shared/fs/canonicalPathContainment.js +31 -0
- package/dist/core/shared/fs/canonicalPathContainment.js.map +1 -0
- package/dist/core/shared/fs/runtimeOwnedPath.d.ts +6 -0
- package/dist/core/shared/fs/runtimeOwnedPath.js +23 -0
- package/dist/core/shared/fs/runtimeOwnedPath.js.map +1 -0
- package/dist/core/shared/utils/childProcessEnv.d.ts +4 -0
- package/dist/core/shared/utils/childProcessEnv.js +66 -0
- package/dist/core/shared/utils/childProcessEnv.js.map +1 -0
- package/dist/core/shared/utils/commandRunner.d.ts +18 -0
- package/dist/core/shared/utils/commandRunner.js +51 -0
- package/dist/core/shared/utils/commandRunner.js.map +1 -0
- package/dist/core/shared/utils/payloadRedaction.d.ts +13 -0
- package/dist/core/shared/utils/payloadRedaction.js +91 -0
- package/dist/core/shared/utils/payloadRedaction.js.map +1 -0
- package/dist/core/shared/utils/remoteNetworkPolicy.d.ts +11 -0
- package/dist/core/shared/utils/remoteNetworkPolicy.js +137 -0
- package/dist/core/shared/utils/remoteNetworkPolicy.js.map +1 -0
- package/dist/core/shared/utils/runtimeMessageUtils.d.ts +27 -0
- package/dist/core/shared/utils/runtimeMessageUtils.js +383 -0
- package/dist/core/shared/utils/runtimeMessageUtils.js.map +1 -0
- package/dist/core/system/audit/auditLogger.d.ts +15 -0
- package/dist/core/system/audit/auditLogger.js +22 -0
- package/dist/core/system/audit/auditLogger.js.map +1 -0
- package/dist/core/system/backup/runtimeBackupService.d.ts +28 -0
- package/dist/core/system/backup/runtimeBackupService.js +284 -0
- package/dist/core/system/backup/runtimeBackupService.js.map +1 -0
- package/dist/core/system/config/configStore.d.ts +38 -0
- package/dist/core/system/config/configStore.js +672 -0
- package/dist/core/system/config/configStore.js.map +1 -0
- package/dist/core/system/policy/actorRulePolicy.d.ts +13 -0
- package/dist/core/system/policy/actorRulePolicy.js +87 -0
- package/dist/core/system/policy/actorRulePolicy.js.map +1 -0
- package/dist/core/system/policy/networkPolicy.d.ts +6 -0
- package/dist/core/system/policy/networkPolicy.js +71 -0
- package/dist/core/system/policy/networkPolicy.js.map +1 -0
- package/dist/core/system/policy/policyEngine.d.ts +22 -0
- package/dist/core/system/policy/policyEngine.js +41 -0
- package/dist/core/system/policy/policyEngine.js.map +1 -0
- package/dist/core/system/policy/policyProfile.d.ts +16 -0
- package/dist/core/system/policy/policyProfile.js +78 -0
- package/dist/core/system/policy/policyProfile.js.map +1 -0
- package/dist/core/system/policy/runtimeActionGuard.d.ts +24 -0
- package/dist/core/system/policy/runtimeActionGuard.js +64 -0
- package/dist/core/system/policy/runtimeActionGuard.js.map +1 -0
- package/dist/core/system/projection/managementReadModel/auditEvents.d.ts +9 -0
- package/dist/core/system/projection/managementReadModel/auditEvents.js +61 -0
- package/dist/core/system/projection/managementReadModel/auditEvents.js.map +1 -0
- package/dist/core/system/projection/managementReadModel/deps.d.ts +35 -0
- package/dist/core/system/projection/managementReadModel/deps.js +2 -0
- package/dist/core/system/projection/managementReadModel/deps.js.map +1 -0
- package/dist/core/system/projection/managementReadModel/objects/serviceObjects.d.ts +3 -0
- package/dist/core/system/projection/managementReadModel/objects/serviceObjects.js +129 -0
- package/dist/core/system/projection/managementReadModel/objects/serviceObjects.js.map +1 -0
- package/dist/core/system/projection/managementReadModel/pluginDiskRecords.d.ts +10 -0
- package/dist/core/system/projection/managementReadModel/pluginDiskRecords.js +55 -0
- package/dist/core/system/projection/managementReadModel/pluginDiskRecords.js.map +1 -0
- package/dist/core/system/projection/managementReadModel/providerAlignment.d.ts +7 -0
- package/dist/core/system/projection/managementReadModel/providerAlignment.js +48 -0
- package/dist/core/system/projection/managementReadModel/providerAlignment.js.map +1 -0
- package/dist/core/system/projection/managementReadModel/text.d.ts +1 -0
- package/dist/core/system/projection/managementReadModel/text.js +8 -0
- package/dist/core/system/projection/managementReadModel/text.js.map +1 -0
- package/dist/core/system/projection/managementReadModelService.d.ts +18 -0
- package/dist/core/system/projection/managementReadModelService.js +768 -0
- package/dist/core/system/projection/managementReadModelService.js.map +1 -0
- package/dist/core/system/projection/pendingRequestProjectionStore.d.ts +12 -0
- package/dist/core/system/projection/pendingRequestProjectionStore.js +113 -0
- package/dist/core/system/projection/pendingRequestProjectionStore.js.map +1 -0
- package/dist/core/system/projection/pendingRequestQuestions.d.ts +2 -0
- package/dist/core/system/projection/pendingRequestQuestions.js +51 -0
- package/dist/core/system/projection/pendingRequestQuestions.js.map +1 -0
- package/dist/core/system/projection/projectionStateStore.d.ts +17 -0
- package/dist/core/system/projection/projectionStateStore.js +60 -0
- package/dist/core/system/projection/projectionStateStore.js.map +1 -0
- package/dist/core/system/projection/runtimeActivityStore.d.ts +24 -0
- package/dist/core/system/projection/runtimeActivityStore.js +150 -0
- package/dist/core/system/projection/runtimeActivityStore.js.map +1 -0
- package/dist/core/system/projection/runtimeProjectionService.d.ts +41 -0
- package/dist/core/system/projection/runtimeProjectionService.js +209 -0
- package/dist/core/system/projection/runtimeProjectionService.js.map +1 -0
- package/dist/core/system/projection/runtimeReceiptStore.d.ts +11 -0
- package/dist/core/system/projection/runtimeReceiptStore.js +77 -0
- package/dist/core/system/projection/runtimeReceiptStore.js.map +1 -0
- package/dist/core/system/projection/runtimeReconciler.d.ts +25 -0
- package/dist/core/system/projection/runtimeReconciler.js +83 -0
- package/dist/core/system/projection/runtimeReconciler.js.map +1 -0
- package/dist/core/system/projection/runtimeSnapshotQuery.d.ts +46 -0
- package/dist/core/system/projection/runtimeSnapshotQuery.js +135 -0
- package/dist/core/system/projection/runtimeSnapshotQuery.js.map +1 -0
- package/dist/core/system/release/releaseArtifacts.d.ts +7 -0
- package/dist/core/system/release/releaseArtifacts.js +88 -0
- package/dist/core/system/release/releaseArtifacts.js.map +1 -0
- package/dist/core/system/release/runtimePackageLoadReport.d.ts +10 -0
- package/dist/core/system/release/runtimePackageLoadReport.js +31 -0
- package/dist/core/system/release/runtimePackageLoadReport.js.map +1 -0
- package/dist/core/system/state/canonicalEventLogStore.d.ts +16 -0
- package/dist/core/system/state/canonicalEventLogStore.js +156 -0
- package/dist/core/system/state/canonicalEventLogStore.js.map +1 -0
- package/dist/core/system/state/migrationRunner.d.ts +5 -0
- package/dist/core/system/state/migrationRunner.js +58 -0
- package/dist/core/system/state/migrationRunner.js.map +1 -0
- package/dist/core/system/state/safeJson.d.ts +8 -0
- package/dist/core/system/state/safeJson.js +36 -0
- package/dist/core/system/state/safeJson.js.map +1 -0
- package/dist/core/system/state/sqlite/connection.d.ts +2 -0
- package/dist/core/system/state/sqlite/connection.js +8 -0
- package/dist/core/system/state/sqlite/connection.js.map +1 -0
- package/dist/core/system/state/sqlite/domainEventLogRepository.d.ts +10 -0
- package/dist/core/system/state/sqlite/domainEventLogRepository.js +69 -0
- package/dist/core/system/state/sqlite/domainEventLogRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/eventIntegrity.d.ts +6 -0
- package/dist/core/system/state/sqlite/eventIntegrity.js +7 -0
- package/dist/core/system/state/sqlite/eventIntegrity.js.map +1 -0
- package/dist/core/system/state/sqlite/managedSidecarRepository.d.ts +10 -0
- package/dist/core/system/state/sqlite/managedSidecarRepository.js +62 -0
- package/dist/core/system/state/sqlite/managedSidecarRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/missionRepository.d.ts +24 -0
- package/dist/core/system/state/sqlite/missionRepository.js +252 -0
- package/dist/core/system/state/sqlite/missionRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/orchestrationRepository.d.ts +20 -0
- package/dist/core/system/state/sqlite/orchestrationRepository.js +158 -0
- package/dist/core/system/state/sqlite/orchestrationRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/pendingRequestRepository.d.ts +13 -0
- package/dist/core/system/state/sqlite/pendingRequestRepository.js +76 -0
- package/dist/core/system/state/sqlite/pendingRequestRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/providerBindingRepository.d.ts +10 -0
- package/dist/core/system/state/sqlite/providerBindingRepository.js +58 -0
- package/dist/core/system/state/sqlite/providerBindingRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/providerEventLogRepository.d.ts +10 -0
- package/dist/core/system/state/sqlite/providerEventLogRepository.js +77 -0
- package/dist/core/system/state/sqlite/providerEventLogRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/rowMappers.d.ts +2 -0
- package/dist/core/system/state/sqlite/rowMappers.js +7 -0
- package/dist/core/system/state/sqlite/rowMappers.js.map +1 -0
- package/dist/core/system/state/sqlite/runtimeHistoryPruningRepository.d.ts +23 -0
- package/dist/core/system/state/sqlite/runtimeHistoryPruningRepository.js +82 -0
- package/dist/core/system/state/sqlite/runtimeHistoryPruningRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/runtimeReceiptRepository.d.ts +9 -0
- package/dist/core/system/state/sqlite/runtimeReceiptRepository.js +47 -0
- package/dist/core/system/state/sqlite/runtimeReceiptRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/sessionMetadataRepository.d.ts +7 -0
- package/dist/core/system/state/sqlite/sessionMetadataRepository.js +25 -0
- package/dist/core/system/state/sqlite/sessionMetadataRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/sessionRepository.d.ts +12 -0
- package/dist/core/system/state/sqlite/sessionRepository.js +72 -0
- package/dist/core/system/state/sqlite/sessionRepository.js.map +1 -0
- package/dist/core/system/state/sqlite/types.d.ts +140 -0
- package/dist/core/system/state/sqlite/types.js +113 -0
- package/dist/core/system/state/sqlite/types.js.map +1 -0
- package/dist/core/system/state/sqliteSessionStore.d.ts +86 -0
- package/dist/core/system/state/sqliteSessionStore.js +210 -0
- package/dist/core/system/state/sqliteSessionStore.js.map +1 -0
- package/dist/core/system/state/sqliteSupport.d.ts +4 -0
- package/dist/core/system/state/sqliteSupport.js +32 -0
- package/dist/core/system/state/sqliteSupport.js.map +1 -0
- package/dist/core/system/vcs/gitCheckpointService.d.ts +11 -0
- package/dist/core/system/vcs/gitCheckpointService.js +32 -0
- package/dist/core/system/vcs/gitCheckpointService.js.map +1 -0
- package/dist/core/system/vcs/gitCommitParser.d.ts +3 -0
- package/dist/core/system/vcs/gitCommitParser.js +55 -0
- package/dist/core/system/vcs/gitCommitParser.js.map +1 -0
- package/dist/core/system/vcs/gitDiffFormatter.d.ts +1 -0
- package/dist/core/system/vcs/gitDiffFormatter.js +4 -0
- package/dist/core/system/vcs/gitDiffFormatter.js.map +1 -0
- package/dist/core/system/vcs/gitHistoryService.d.ts +46 -0
- package/dist/core/system/vcs/gitHistoryService.js +277 -0
- package/dist/core/system/vcs/gitHistoryService.js.map +1 -0
- package/dist/core/system/vcs/gitIgnoreTemplate.d.ts +1 -0
- package/dist/core/system/vcs/gitIgnoreTemplate.js +12 -0
- package/dist/core/system/vcs/gitIgnoreTemplate.js.map +1 -0
- package/dist/core/system/vcs/gitRepoStore.d.ts +12 -0
- package/dist/core/system/vcs/gitRepoStore.js +46 -0
- package/dist/core/system/vcs/gitRepoStore.js.map +1 -0
- package/dist/core/system/vcs/gitTrackedPaths.d.ts +6 -0
- package/dist/core/system/vcs/gitTrackedPaths.js +80 -0
- package/dist/core/system/vcs/gitTrackedPaths.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/types/app.d.ts +444 -0
- package/dist/types/app.js +2 -0
- package/dist/types/app.js.map +1 -0
- package/dist/types/config.d.ts +188 -0
- package/dist/types/config.js +422 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/distro.d.ts +1 -0
- package/dist/types/distro.js +2 -0
- package/dist/types/distro.js.map +1 -0
- package/dist/types/history.d.ts +43 -0
- package/dist/types/history.js +2 -0
- package/dist/types/history.js.map +1 -0
- package/dist/types/package.d.ts +61 -0
- package/dist/types/package.js +2 -0
- package/dist/types/package.js.map +1 -0
- package/dist/types/plugin.d.ts +1 -0
- package/dist/types/plugin.js +2 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types/provider.d.ts +2 -0
- package/dist/types/provider.js +2 -0
- package/dist/types/provider.js.map +1 -0
- package/dist/types/release.d.ts +24 -0
- package/dist/types/release.js +2 -0
- package/dist/types/release.js.map +1 -0
- package/dist/types/runtime.d.ts +2 -0
- package/dist/types/runtime.js +2 -0
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/skill.d.ts +1 -0
- package/dist/types/skill.js +2 -0
- package/dist/types/skill.js.map +1 -0
- package/dist/types/transport.d.ts +2 -0
- package/dist/types/transport.js +2 -0
- package/dist/types/transport.js.map +1 -0
- package/package.json +62 -0
- package/resources/migrations/001_sessions.sql +59 -0
- package/resources/migrations/002_pending_request_metadata.sql +2 -0
- package/resources/migrations/003_provider_projections.sql +38 -0
- package/resources/migrations/004_runtime_projection_state.sql +22 -0
- package/resources/migrations/005_runtime_robustness.sql +3 -0
- package/resources/migrations/006_provider_autostart.sql +1 -0
- package/resources/migrations/007_missions.sql +41 -0
- package/resources/migrations/008_mission_schedule_anchor.sql +5 -0
- package/resources/migrations/009_session_orchestration.sql +26 -0
- package/resources/migrations/010_mission_archival.sql +1 -0
- package/resources/migrations/011_managed_sidecars.sql +29 -0
- package/resources/migrations/012_scope_space_terminology.sql +19 -0
- package/resources/migrations/013_orchestration_dedupe.sql +5 -0
- package/resources/migrations/014_orchestration_execution_claims.sql +13 -0
- package/resources/migrations/015_mission_schedule_meta.sql +9 -0
- package/resources/migrations/016_mission_hook_bindings.sql +16 -0
- package/resources/migrations/017_domain_event_provenance.sql +1 -0
- package/resources/migrations/018_provider_event_processing.sql +8 -0
- package/resources/official-catalog.json +444 -0
- package/resources/policies/default-secure.json +160 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configStore.js","sourceRoot":"","sources":["../../../../../../../src/core/system/config/configStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Capability } from '../../extension/capabilities/capabilities.js';
|
|
2
|
+
import type { PolicyHook } from './policyEngine.js';
|
|
3
|
+
interface ActorPolicyRule {
|
|
4
|
+
actorPrefix: string;
|
|
5
|
+
allowCapabilities: Capability[];
|
|
6
|
+
denyCapabilities: Capability[];
|
|
7
|
+
targetPrefixes: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare function createActorRulePolicyHook(input: {
|
|
10
|
+
rules: ActorPolicyRule[];
|
|
11
|
+
defaultDenyUnmatchedRuntimeCapabilities?: Set<Capability>;
|
|
12
|
+
}): PolicyHook;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
const DEFAULT_DENY_UNMATCHED_RUNTIME_SENSITIVE_CAPABILITIES = new Set([
|
|
2
|
+
'command.exec',
|
|
3
|
+
'fs.write',
|
|
4
|
+
'net.connect',
|
|
5
|
+
'runtime.control'
|
|
6
|
+
]);
|
|
7
|
+
function defaultAllowDecision() {
|
|
8
|
+
return {
|
|
9
|
+
allowed: true,
|
|
10
|
+
reason: 'Allowed by actor policy'
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function actorMatchesPrefix(actor, prefix) {
|
|
14
|
+
if (actor === prefix) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (!actor.startsWith(prefix)) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return prefix.endsWith('/') || actor[prefix.length] === '/' || actor[prefix.length] === ':';
|
|
21
|
+
}
|
|
22
|
+
export function createActorRulePolicyHook(input) {
|
|
23
|
+
const defaultDeny = input.defaultDenyUnmatchedRuntimeCapabilities ?? DEFAULT_DENY_UNMATCHED_RUNTIME_SENSITIVE_CAPABILITIES;
|
|
24
|
+
return async (request) => {
|
|
25
|
+
const matchingRules = input.rules.filter((rule) => actorMatchesPrefix(request.actor, rule.actorPrefix));
|
|
26
|
+
if (matchingRules.length === 0) {
|
|
27
|
+
if (request.actor.startsWith('plugin:')) {
|
|
28
|
+
return {
|
|
29
|
+
allowed: false,
|
|
30
|
+
reason: `Denied by actor policy: no actor rule matched ${request.actor} for ${request.action}`
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if (request.actor.startsWith('runtime:') && defaultDeny.has(request.action)) {
|
|
34
|
+
return {
|
|
35
|
+
allowed: false,
|
|
36
|
+
reason: `Denied by actor policy: no actor rule matched ${request.actor} for ${request.action}`
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return defaultAllowDecision();
|
|
40
|
+
}
|
|
41
|
+
const target = request.target ?? '';
|
|
42
|
+
const applicableRules = matchingRules.flatMap((rule) => {
|
|
43
|
+
if (rule.targetPrefixes.length === 0) {
|
|
44
|
+
return [{ rule, matchedTargetPrefixLength: 0 }];
|
|
45
|
+
}
|
|
46
|
+
const matchedPrefixLength = rule.targetPrefixes
|
|
47
|
+
.filter((prefix) => target.startsWith(prefix))
|
|
48
|
+
.reduce((longest, prefix) => Math.max(longest, prefix.length), 0);
|
|
49
|
+
if (matchedPrefixLength === 0) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
return [{ rule, matchedTargetPrefixLength: matchedPrefixLength }];
|
|
53
|
+
});
|
|
54
|
+
if (applicableRules.length === 0) {
|
|
55
|
+
return {
|
|
56
|
+
allowed: false,
|
|
57
|
+
reason: `Denied by actor target policy: ${target || '(none)'}`
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const mostSpecificActorPrefix = applicableRules.reduce((longest, entry) => Math.max(longest, entry.rule.actorPrefix.length), 0);
|
|
61
|
+
const actorSpecificRules = applicableRules.filter((entry) => entry.rule.actorPrefix.length === mostSpecificActorPrefix);
|
|
62
|
+
const mostSpecificTargetPrefix = actorSpecificRules.reduce((longest, entry) => Math.max(longest, entry.matchedTargetPrefixLength), 0);
|
|
63
|
+
const resolvedRules = actorSpecificRules.filter((entry) => entry.matchedTargetPrefixLength === mostSpecificTargetPrefix);
|
|
64
|
+
if (resolvedRules.some((entry) => entry.rule.denyCapabilities.includes(request.action))) {
|
|
65
|
+
return {
|
|
66
|
+
allowed: false,
|
|
67
|
+
reason: `Denied by actor policy: ${request.action}`
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
if (resolvedRules.some((entry) => entry.rule.allowCapabilities.length > 0 &&
|
|
71
|
+
!entry.rule.allowCapabilities.includes(request.action))) {
|
|
72
|
+
return {
|
|
73
|
+
allowed: false,
|
|
74
|
+
reason: `Denied by actor policy: ${request.action}`
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (resolvedRules.some((entry) => entry.rule.allowCapabilities.length === 0 ||
|
|
78
|
+
entry.rule.allowCapabilities.includes(request.action))) {
|
|
79
|
+
return defaultAllowDecision();
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
allowed: false,
|
|
83
|
+
reason: `Denied by actor policy: ${request.action}`
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=actorRulePolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actorRulePolicy.js","sourceRoot":"","sources":["../../../../../../../src/core/system/policy/actorRulePolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
function escapeRegex(value) {
|
|
2
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
3
|
+
}
|
|
4
|
+
function patternMatches(pattern, candidate) {
|
|
5
|
+
if (pattern === '*') {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
if (!pattern.includes('*')) {
|
|
9
|
+
return candidate === pattern;
|
|
10
|
+
}
|
|
11
|
+
const expression = `^${pattern.split('*').map((segment) => escapeRegex(segment)).join('.*')}$`;
|
|
12
|
+
return new RegExp(expression, 'u').test(candidate);
|
|
13
|
+
}
|
|
14
|
+
function payloadTarget(payload) {
|
|
15
|
+
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const record = payload;
|
|
19
|
+
const direct = (typeof record.networkTarget === 'string' && record.networkTarget.trim()) ||
|
|
20
|
+
(typeof record.url === 'string' && record.url.trim()) ||
|
|
21
|
+
(typeof record.host === 'string' && record.host.trim()) ||
|
|
22
|
+
(typeof record.target === 'string' && record.target.trim());
|
|
23
|
+
return direct || null;
|
|
24
|
+
}
|
|
25
|
+
function networkTargets(input) {
|
|
26
|
+
const result = new Set();
|
|
27
|
+
if (typeof input.target === 'string' && input.target.trim()) {
|
|
28
|
+
result.add(input.target.trim());
|
|
29
|
+
}
|
|
30
|
+
const fromPayload = payloadTarget(input.payload);
|
|
31
|
+
if (fromPayload) {
|
|
32
|
+
result.add(fromPayload);
|
|
33
|
+
}
|
|
34
|
+
return [...result];
|
|
35
|
+
}
|
|
36
|
+
export function createNetworkPolicyHook(profile) {
|
|
37
|
+
return async (input) => {
|
|
38
|
+
if (input.action !== 'net.connect') {
|
|
39
|
+
return {
|
|
40
|
+
allowed: true,
|
|
41
|
+
reason: 'Allowed by network policy'
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (profile.mode === 'none') {
|
|
45
|
+
return {
|
|
46
|
+
allowed: false,
|
|
47
|
+
reason: 'Denied by network policy: network mode is none'
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const targets = networkTargets(input);
|
|
51
|
+
if (targets.length === 0) {
|
|
52
|
+
return {
|
|
53
|
+
allowed: false,
|
|
54
|
+
reason: 'Denied by network policy: no network target provided for allowlist mode'
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
for (const candidate of targets) {
|
|
58
|
+
if (profile.allowlist.some((pattern) => patternMatches(pattern, candidate))) {
|
|
59
|
+
return {
|
|
60
|
+
allowed: true,
|
|
61
|
+
reason: 'Allowed by network policy'
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
allowed: false,
|
|
67
|
+
reason: `Denied by network policy: ${targets[0]} is not allowlisted`
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=networkPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkPolicy.js","sourceRoot":"","sources":["../../../../../../../src/core/system/policy/networkPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Capability } from '../../extension/capabilities/capabilities.js';
|
|
2
|
+
export interface PolicyInput {
|
|
3
|
+
action: string;
|
|
4
|
+
actor: string;
|
|
5
|
+
target?: string;
|
|
6
|
+
payload?: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface PolicyDecision {
|
|
9
|
+
allowed: boolean;
|
|
10
|
+
reason: string;
|
|
11
|
+
requiredRedactions?: string[];
|
|
12
|
+
}
|
|
13
|
+
export type PolicyHook = (input: PolicyInput) => Promise<PolicyDecision>;
|
|
14
|
+
interface PolicyEngineConfig {
|
|
15
|
+
grantedCapabilities: Set<Capability>;
|
|
16
|
+
hooks: PolicyHook[];
|
|
17
|
+
denyUnknownCapabilities?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function createPolicyEngine(config: PolicyEngineConfig): {
|
|
20
|
+
evaluate(input: PolicyInput): Promise<PolicyDecision>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { isCapability, isPackageLocalCapability, packageOwnsCapability } from '../../extension/capabilities/capabilities.js';
|
|
2
|
+
export function createPolicyEngine(config) {
|
|
3
|
+
return {
|
|
4
|
+
async evaluate(input) {
|
|
5
|
+
if (config.denyUnknownCapabilities !== false && !isCapability(input.action)) {
|
|
6
|
+
return {
|
|
7
|
+
allowed: false,
|
|
8
|
+
reason: `Denied unknown capability: ${input.action}`
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const action = input.action;
|
|
12
|
+
if (isPackageLocalCapability(action)) {
|
|
13
|
+
const packageActorPrefix = 'plugin:';
|
|
14
|
+
const actorPackageId = input.actor.startsWith(packageActorPrefix) ? input.actor.slice(packageActorPrefix.length) : null;
|
|
15
|
+
if (!actorPackageId || !packageOwnsCapability(actorPackageId, action)) {
|
|
16
|
+
return {
|
|
17
|
+
allowed: false,
|
|
18
|
+
reason: `Denied package-local capability ${input.action} for actor ${input.actor}`
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (!config.grantedCapabilities.has(action)) {
|
|
23
|
+
return {
|
|
24
|
+
allowed: false,
|
|
25
|
+
reason: `Denied by capability policy: ${input.action}`
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
for (const hook of config.hooks) {
|
|
29
|
+
const decision = await hook(input);
|
|
30
|
+
if (!decision.allowed) {
|
|
31
|
+
return decision;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
allowed: true,
|
|
36
|
+
reason: 'Allowed'
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=policyEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policyEngine.js","sourceRoot":"","sources":["../../../../../../../src/core/system/policy/policyEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EAEtB,MAAM,8CAA8C,CAAC;AAuBtD,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,KAAkB;YAC/B,IAAI,MAAM,CAAC,uBAAuB,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5E,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,8BAA8B,KAAK,CAAC,MAAM,EAAE;iBACrD,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAoB,CAAC;YAC1C,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,MAAM,kBAAkB,GAAG,SAAS,CAAC;gBACrC,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxH,IAAI,CAAC,cAAc,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC;oBACtE,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,mCAAmC,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,KAAK,EAAE;qBACnF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,gCAAgC,KAAK,CAAC,MAAM,EAAE;iBACvD,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtB,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Capability } from '../../extension/capabilities/capabilities.js';
|
|
2
|
+
import type { NetworkPolicyProfile } from './networkPolicy.js';
|
|
3
|
+
interface PolicyProfile {
|
|
4
|
+
profile: string;
|
|
5
|
+
network: NetworkPolicyProfile;
|
|
6
|
+
denyUnknownCapabilities: boolean;
|
|
7
|
+
allowCapabilities: Capability[];
|
|
8
|
+
actorRules: Array<{
|
|
9
|
+
actorPrefix: string;
|
|
10
|
+
allowCapabilities: Capability[];
|
|
11
|
+
denyCapabilities: Capability[];
|
|
12
|
+
targetPrefixes: string[];
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
export declare function loadPolicyProfile(path: string): PolicyProfile;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { isCapability } from '../../extension/capabilities/capabilities.js';
|
|
3
|
+
function parseNetworkPolicy(raw) {
|
|
4
|
+
const value = raw.network;
|
|
5
|
+
if (value === undefined) {
|
|
6
|
+
return { mode: 'none', allowlist: [] };
|
|
7
|
+
}
|
|
8
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
9
|
+
throw new Error('Policy network must be an object with mode and allowlist.');
|
|
10
|
+
}
|
|
11
|
+
const record = value;
|
|
12
|
+
const mode = record.mode;
|
|
13
|
+
if (mode !== 'none' && mode !== 'allowlist') {
|
|
14
|
+
throw new Error(`Unsupported network policy mode: ${String(mode)}`);
|
|
15
|
+
}
|
|
16
|
+
const allowlist = Array.isArray(record.allowlist)
|
|
17
|
+
? record.allowlist.map((entry) => {
|
|
18
|
+
if (typeof entry !== 'string' || !entry.trim()) {
|
|
19
|
+
throw new Error(`Invalid network allowlist entry: ${String(entry)}`);
|
|
20
|
+
}
|
|
21
|
+
return entry.trim();
|
|
22
|
+
})
|
|
23
|
+
: [];
|
|
24
|
+
return { mode, allowlist };
|
|
25
|
+
}
|
|
26
|
+
export function loadPolicyProfile(path) {
|
|
27
|
+
const raw = JSON.parse(readFileSync(path, 'utf8'));
|
|
28
|
+
const capabilitiesRaw = Array.isArray(raw.allowCapabilities) ? raw.allowCapabilities : [];
|
|
29
|
+
const allowCapabilities = [];
|
|
30
|
+
for (const value of capabilitiesRaw) {
|
|
31
|
+
if (typeof value !== 'string' || !isCapability(value)) {
|
|
32
|
+
throw new Error(`Invalid capability in policy profile: ${String(value)}`);
|
|
33
|
+
}
|
|
34
|
+
allowCapabilities.push(value);
|
|
35
|
+
}
|
|
36
|
+
const actorRulesRaw = Array.isArray(raw.actorRules) ? raw.actorRules : [];
|
|
37
|
+
const actorRules = actorRulesRaw.map((entry) => {
|
|
38
|
+
if (typeof entry !== 'object' || entry === null) {
|
|
39
|
+
throw new Error('Policy actorRules entries must be objects');
|
|
40
|
+
}
|
|
41
|
+
const rule = entry;
|
|
42
|
+
const actorPrefix = typeof rule.actorPrefix === 'string' && rule.actorPrefix.trim() ? rule.actorPrefix : null;
|
|
43
|
+
if (!actorPrefix) {
|
|
44
|
+
throw new Error('Policy actorRules entries require actorPrefix');
|
|
45
|
+
}
|
|
46
|
+
const parseCapabilities = (value, label) => {
|
|
47
|
+
const rawItems = Array.isArray(value) ? value : [];
|
|
48
|
+
return rawItems.map((capability) => {
|
|
49
|
+
if (typeof capability !== 'string' || !isCapability(capability)) {
|
|
50
|
+
throw new Error(`Invalid capability in ${label}: ${String(capability)}`);
|
|
51
|
+
}
|
|
52
|
+
return capability;
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
const targetPrefixes = Array.isArray(rule.targetPrefixes)
|
|
56
|
+
? rule.targetPrefixes.map((value) => {
|
|
57
|
+
if (typeof value !== 'string' || !value.trim()) {
|
|
58
|
+
throw new Error(`Invalid target prefix in actor rule ${actorPrefix}`);
|
|
59
|
+
}
|
|
60
|
+
return value;
|
|
61
|
+
})
|
|
62
|
+
: [];
|
|
63
|
+
return {
|
|
64
|
+
actorPrefix,
|
|
65
|
+
allowCapabilities: parseCapabilities(rule.allowCapabilities, `actor rule ${actorPrefix}`),
|
|
66
|
+
denyCapabilities: parseCapabilities(rule.denyCapabilities, `actor rule ${actorPrefix}`),
|
|
67
|
+
targetPrefixes
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
profile: typeof raw.profile === 'string' ? raw.profile : 'unknown',
|
|
72
|
+
network: parseNetworkPolicy(raw),
|
|
73
|
+
denyUnknownCapabilities: raw.denyUnknownCapabilities !== false,
|
|
74
|
+
allowCapabilities,
|
|
75
|
+
actorRules
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=policyProfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policyProfile.js","sourceRoot":"","sources":["../../../../../../../src/core/system/policy/policyProfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Capability } from '../../extension/capabilities/capabilities.js';
|
|
2
|
+
import type { JsonAuditLogger } from '../audit/auditLogger.js';
|
|
3
|
+
import type { PolicyDecision } from './policyEngine.js';
|
|
4
|
+
interface GuardDeps {
|
|
5
|
+
evaluate(input: {
|
|
6
|
+
action: Capability;
|
|
7
|
+
actor: string;
|
|
8
|
+
target?: string;
|
|
9
|
+
payload?: unknown;
|
|
10
|
+
}): Promise<PolicyDecision>;
|
|
11
|
+
audit: JsonAuditLogger;
|
|
12
|
+
}
|
|
13
|
+
export declare class RuntimeActionGuard {
|
|
14
|
+
private readonly deps;
|
|
15
|
+
constructor(deps: GuardDeps);
|
|
16
|
+
run<T>(input: {
|
|
17
|
+
action: Capability;
|
|
18
|
+
actor: string;
|
|
19
|
+
target?: string;
|
|
20
|
+
payload?: unknown;
|
|
21
|
+
execute: () => Promise<T>;
|
|
22
|
+
}): Promise<T>;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export class RuntimeActionGuard {
|
|
2
|
+
deps;
|
|
3
|
+
constructor(deps) {
|
|
4
|
+
this.deps = deps;
|
|
5
|
+
}
|
|
6
|
+
async run(input) {
|
|
7
|
+
const decision = await this.deps.evaluate({
|
|
8
|
+
action: input.action,
|
|
9
|
+
actor: input.actor,
|
|
10
|
+
target: input.target,
|
|
11
|
+
payload: input.payload
|
|
12
|
+
});
|
|
13
|
+
await this.deps.audit.log({
|
|
14
|
+
eventType: 'policy.decision',
|
|
15
|
+
actor: input.actor,
|
|
16
|
+
action: input.action,
|
|
17
|
+
status: decision.allowed ? 'allowed' : 'denied',
|
|
18
|
+
metadata: {
|
|
19
|
+
target: input.target ?? null,
|
|
20
|
+
reason: decision.reason
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
if (!decision.allowed) {
|
|
24
|
+
await this.deps.audit.log({
|
|
25
|
+
eventType: 'tool.execution',
|
|
26
|
+
actor: input.actor,
|
|
27
|
+
action: input.action,
|
|
28
|
+
status: 'failed',
|
|
29
|
+
metadata: {
|
|
30
|
+
target: input.target ?? null,
|
|
31
|
+
reason: `blocked: ${decision.reason}`
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
throw new Error(`Action blocked by policy: ${decision.reason}`);
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
const result = await input.execute();
|
|
38
|
+
await this.deps.audit.log({
|
|
39
|
+
eventType: 'tool.execution',
|
|
40
|
+
actor: input.actor,
|
|
41
|
+
action: input.action,
|
|
42
|
+
status: 'success',
|
|
43
|
+
metadata: {
|
|
44
|
+
target: input.target ?? null
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
await this.deps.audit.log({
|
|
51
|
+
eventType: 'tool.execution',
|
|
52
|
+
actor: input.actor,
|
|
53
|
+
action: input.action,
|
|
54
|
+
status: 'failed',
|
|
55
|
+
metadata: {
|
|
56
|
+
target: input.target ?? null,
|
|
57
|
+
reason: error instanceof Error ? error.message : 'unknown failure'
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=runtimeActionGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeActionGuard.js","sourceRoot":"","sources":["../../../../../../../src/core/system/policy/runtimeActionGuard.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;IAAG,CAAC;IAEhD,KAAK,CAAC,GAAG,CAAI,KAMZ;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACxB,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAC/C,QAAQ,EAAE;gBACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxB,SAAS,EAAE,gBAAgB;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;oBAC5B,MAAM,EAAE,YAAY,QAAQ,CAAC,MAAM,EAAE;iBACtC;aACF,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxB,SAAS,EAAE,gBAAgB;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;iBAC7B;aACF,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxB,SAAS,EAAE,gBAAgB;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;oBAC5B,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB;iBACnE;aACF,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { closeSync, existsSync, openSync, readSync, statSync } from 'node:fs';
|
|
2
|
+
function readRecentLines(path, maxLines) {
|
|
3
|
+
const stats = statSync(path, { throwIfNoEntry: false });
|
|
4
|
+
if (!stats || stats.size <= 0) {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
const fd = openSync(path, 'r');
|
|
8
|
+
try {
|
|
9
|
+
const chunkSize = 8 * 1024;
|
|
10
|
+
let position = stats.size;
|
|
11
|
+
const chunks = [];
|
|
12
|
+
let newlineCount = 0;
|
|
13
|
+
while (position > 0 && newlineCount <= maxLines) {
|
|
14
|
+
const readSize = Math.min(chunkSize, position);
|
|
15
|
+
position -= readSize;
|
|
16
|
+
const chunk = Buffer.alloc(readSize);
|
|
17
|
+
readSync(fd, chunk, 0, readSize, position);
|
|
18
|
+
chunks.unshift(chunk);
|
|
19
|
+
for (const value of chunk.values()) {
|
|
20
|
+
if (value === 0x0a) {
|
|
21
|
+
newlineCount += 1;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const buffered = Buffer.concat(chunks).toString('utf8');
|
|
26
|
+
return buffered
|
|
27
|
+
.trim()
|
|
28
|
+
.split('\n')
|
|
29
|
+
.filter(Boolean)
|
|
30
|
+
.slice(-maxLines);
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
closeSync(fd);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function readRecentAuditEvents(auditLogPath) {
|
|
37
|
+
if (!existsSync(auditLogPath)) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
const lines = readRecentLines(auditLogPath, 10);
|
|
41
|
+
return lines.flatMap((line) => {
|
|
42
|
+
try {
|
|
43
|
+
const parsed = JSON.parse(line);
|
|
44
|
+
return [
|
|
45
|
+
{
|
|
46
|
+
eventType: parsed.eventType ?? 'unknown',
|
|
47
|
+
actor: parsed.actor ?? 'unknown',
|
|
48
|
+
action: parsed.action ?? 'unknown',
|
|
49
|
+
status: parsed.status ?? 'unknown',
|
|
50
|
+
target: parsed.metadata?.target ?? null,
|
|
51
|
+
reason: parsed.metadata?.reason ?? null,
|
|
52
|
+
recordedAt: parsed.timestamp ?? null
|
|
53
|
+
}
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=auditEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditEvents.js","sourceRoot":"","sources":["../../../../../../../../src/core/system/projection/managementReadModel/auditEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9E,SAAS,eAAe,CAAC,IAAY,EAAE,QAAgB;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,OAAO,QAAQ,GAAG,CAAC,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/C,QAAQ,IAAI,QAAQ,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,YAAY,IAAI,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO,QAAQ;aACZ,IAAI,EAAE;aACN,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,YAAoB;IASxD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEhD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAO7B,CAAC;YACF,OAAO;gBACL;oBACE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;oBACxC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS;oBAChC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;oBAClC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;oBAClC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI;oBACvC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI;oBACvC,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;iBACrC;aACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { MoorlineConfig, RuntimeSurfaceState } from '../../../../types/config.js';
|
|
2
|
+
import type { RuntimeProvider } from '../../../../types/provider.js';
|
|
3
|
+
import type { MissionRegistry } from '../../../domain/missions/missionRegistry.js';
|
|
4
|
+
import type { SkillRegistry } from '../../../extension/skills/skillRegistry.js';
|
|
5
|
+
import type { RuntimeControlStatus } from '../../../runtime/supervision/runtimeControl.js';
|
|
6
|
+
import type { SidecarManager } from '../../../runtime/supervision/sidecarManager.js';
|
|
7
|
+
import type { RuntimeSnapshotQuery } from '../runtimeSnapshotQuery.js';
|
|
8
|
+
import type { PluginHost } from '../../../extension/plugins/pluginHost.js';
|
|
9
|
+
import type { RuntimePluginContext } from '../../../../types/plugin.js';
|
|
10
|
+
import type { ManagementRuntimeWorkerQueueHealthRecord, ManagementPackageCatalogEntry, ManagementReadModelPresentation, ManagementRuntimeStatusProvider } from '../../../../types/app.js';
|
|
11
|
+
export interface ManagementReadModelServiceDeps {
|
|
12
|
+
homeRoot: string;
|
|
13
|
+
runtimeRoot: string;
|
|
14
|
+
config: MoorlineConfig;
|
|
15
|
+
snapshots: RuntimeSnapshotQuery;
|
|
16
|
+
missions: MissionRegistry;
|
|
17
|
+
skills: SkillRegistry;
|
|
18
|
+
provider: RuntimeProvider;
|
|
19
|
+
sidecars: SidecarManager;
|
|
20
|
+
now: () => string;
|
|
21
|
+
getRuntimeControlStatus: () => RuntimeControlStatus;
|
|
22
|
+
getRuntimeStatus: ManagementRuntimeStatusProvider;
|
|
23
|
+
getNamespaceState: () => RuntimeSurfaceState | null;
|
|
24
|
+
getManagementSurface: () => {
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
host: string;
|
|
27
|
+
port: number;
|
|
28
|
+
url: string | null;
|
|
29
|
+
};
|
|
30
|
+
getPluginHost?: () => PluginHost;
|
|
31
|
+
createPluginContext?: (actorId: string) => RuntimePluginContext;
|
|
32
|
+
getRuntimeWorkerQueues?: () => ManagementRuntimeWorkerQueueHealthRecord[];
|
|
33
|
+
packageCatalog: ManagementPackageCatalogEntry[];
|
|
34
|
+
presentation?: ManagementReadModelPresentation;
|
|
35
|
+
}
|