@ankhorage/studio 6.0.2 → 7.0.0
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/README.md +23 -7
- package/apm/update.json +2 -2
- package/dist/authSettings.d.ts +3 -3
- package/dist/authSettings.js +3 -3
- package/dist/bindingDiagnosticsModel.d.ts +1 -1
- package/dist/bindingDiagnosticsModel.d.ts.map +1 -1
- package/dist/bindingDiagnosticsModel.js +10 -10
- package/dist/bindingDiagnosticsModel.js.map +1 -1
- package/dist/bindingMetadataModel.d.ts +0 -2
- package/dist/bindingMetadataModel.d.ts.map +1 -1
- package/dist/bindingMetadataModel.js +3 -4
- package/dist/bindingMetadataModel.js.map +1 -1
- package/dist/bindingMutationModel.d.ts +4 -4
- package/dist/bindingMutationModel.d.ts.map +1 -1
- package/dist/bindingMutationModel.js +7 -8
- package/dist/bindingMutationModel.js.map +1 -1
- package/dist/bindingOperationModel.d.ts +2 -2
- package/dist/bindingOperationModel.js +7 -7
- package/dist/bindingSchemaModel.d.ts +3 -3
- package/dist/bindingSchemaModel.js +5 -5
- package/dist/canExecuteProjectDeployRelease.d.ts +1 -1
- package/dist/canExecuteProjectDeployRelease.js +1 -1
- package/dist/canvasDragModel.d.ts +5 -7
- package/dist/canvasDragModel.d.ts.map +1 -1
- package/dist/canvasDragModel.js +9 -16
- package/dist/canvasDragModel.js.map +1 -1
- package/dist/canvasDropZones.d.ts +1 -2
- package/dist/canvasDropZones.d.ts.map +1 -1
- package/dist/canvasDropZones.js +1 -2
- package/dist/canvasDropZones.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/contractGuards.d.ts +2 -2
- package/dist/contractGuards.js +2 -2
- package/dist/core/StudioContext.d.ts +1 -1
- package/dist/core/StudioContext.js +1 -1
- package/dist/core/StudioProvider.js +5 -5
- package/dist/core/mediaAuthoringHostClient.d.ts +2 -2
- package/dist/core/mediaAuthoringHostClient.js +2 -2
- package/dist/core/mediaRemovalCoordinator.d.ts +1 -1
- package/dist/core/mediaRemovalCoordinator.d.ts.map +1 -1
- package/dist/core/mediaRemovalCoordinator.js +9 -10
- package/dist/core/mediaRemovalCoordinator.js.map +1 -1
- package/dist/core/studioManifestDraftModel.d.ts +7 -7
- package/dist/core/studioManifestDraftModel.js +7 -7
- package/dist/core/studioManifestPersistenceModel.d.ts +1 -1
- package/dist/core/studioManifestPersistenceModel.js +1 -1
- package/dist/createProjectDeployRequest.d.ts +0 -1
- package/dist/createProjectDeployRequest.d.ts.map +1 -1
- package/dist/createProjectDeployRequest.js +0 -1
- package/dist/createProjectDeployRequest.js.map +1 -1
- package/dist/externalApiApi.d.ts +3 -3
- package/dist/externalApiApi.d.ts.map +1 -1
- package/dist/externalApiApi.js +24 -40
- package/dist/externalApiApi.js.map +1 -1
- package/dist/features/project-updates/adapters/inbound/ProjectUpdateDashboardPanel.d.ts.map +1 -1
- package/dist/features/project-updates/adapters/inbound/ProjectUpdateDashboardPanel.js +12 -4
- package/dist/features/project-updates/adapters/inbound/ProjectUpdateDashboardPanel.js.map +1 -1
- package/dist/features/project-updates/adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort.d.ts +4 -0
- package/dist/features/project-updates/adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort.d.ts.map +1 -0
- package/dist/features/project-updates/adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort.js +30 -0
- package/dist/features/project-updates/adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort.js.map +1 -0
- package/dist/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.js +0 -8
- package/dist/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.js.map +1 -1
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyDescriptor.d.ts +4 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyDescriptor.d.ts.map +1 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyDescriptor.js +21 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyDescriptor.js.map +1 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyHandler.d.ts +4 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyHandler.d.ts.map +1 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyHandler.js +11 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyHandler.js.map +1 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor.d.ts +4 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor.d.ts.map +1 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor.js +10 -0
- package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor.js.map +1 -0
- package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.d.ts +11 -0
- package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.d.ts.map +1 -1
- package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.js +23 -8
- package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.js.map +1 -1
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.d.ts +4 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.d.ts.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.js +176 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.js.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.d.ts +5 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.d.ts.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.js +148 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.js.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.d.ts +5 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.d.ts.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.js +219 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.js.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyUpdatePorts.d.ts +9 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyUpdatePorts.d.ts.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyUpdatePorts.js +17 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyUpdatePorts.js.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyVerifyOwnerStepPort.d.ts +4 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyVerifyOwnerStepPort.d.ts.map +1 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyVerifyOwnerStepPort.js +80 -0
- package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyVerifyOwnerStepPort.js.map +1 -0
- package/dist/features/project-updates/composition/createStudioProjectUpdateService.d.ts.map +1 -1
- package/dist/features/project-updates/composition/createStudioProjectUpdateService.js +11 -9
- package/dist/features/project-updates/composition/createStudioProjectUpdateService.js.map +1 -1
- package/dist/features/project-updates/constants.d.ts +2 -0
- package/dist/features/project-updates/constants.d.ts.map +1 -1
- package/dist/features/project-updates/constants.js +2 -0
- package/dist/features/project-updates/constants.js.map +1 -1
- package/dist/features/project-updates/domain/applyGeneratedPackagePolicy.d.ts.map +1 -1
- package/dist/features/project-updates/domain/applyGeneratedPackagePolicy.js +6 -3
- package/dist/features/project-updates/domain/applyGeneratedPackagePolicy.js.map +1 -1
- package/dist/features/project-updates/domain/createStudioGeneratedPackagePolicyExecutionContext.d.ts +4 -0
- package/dist/features/project-updates/domain/createStudioGeneratedPackagePolicyExecutionContext.d.ts.map +1 -0
- package/dist/features/project-updates/domain/createStudioGeneratedPackagePolicyExecutionContext.js +11 -0
- package/dist/features/project-updates/domain/createStudioGeneratedPackagePolicyExecutionContext.js.map +1 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyInventorySource.d.ts +5 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyInventorySource.d.ts.map +1 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyInventorySource.js +22 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyInventorySource.js.map +1 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyMutationTarget.d.ts +10 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyMutationTarget.d.ts.map +1 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyMutationTarget.js +21 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyMutationTarget.js.map +1 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.d.ts +5 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.d.ts.map +1 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.js +18 -0
- package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.js.map +1 -0
- package/dist/host/apis/createProjectEndpointCredentialResolver.d.ts +1 -1
- package/dist/host/apis/createProjectEndpointCredentialResolver.js +1 -1
- package/dist/host/apis/createTrustedEndpointTestFetch.d.ts +1 -1
- package/dist/host/apis/createTrustedEndpointTestFetch.js +1 -1
- package/dist/host/apis/createTrustedExternalApiFetch.d.ts +1 -1
- package/dist/host/apis/createTrustedExternalApiFetch.js +1 -1
- package/dist/host/apis/requestTrustedExternalApi.d.ts +3 -12
- package/dist/host/apis/requestTrustedExternalApi.d.ts.map +1 -1
- package/dist/host/apis/requestTrustedExternalApi.js +3 -53
- package/dist/host/apis/requestTrustedExternalApi.js.map +1 -1
- package/dist/host/apis/sanitizeExternalApiOperationTestResult.d.ts +1 -1
- package/dist/host/apis/sanitizeExternalApiOperationTestResult.js +1 -1
- package/dist/host/apis/studioExternalApiService.d.ts +1 -1
- package/dist/host/apis/studioExternalApiService.d.ts.map +1 -1
- package/dist/host/apis/studioExternalApiService.js +10 -17
- package/dist/host/apis/studioExternalApiService.js.map +1 -1
- package/dist/host/auth/projectAuthHealthService.d.ts +1 -1
- package/dist/host/auth/projectAuthHealthService.js +1 -1
- package/dist/host/createStudioHost.d.ts +1 -1
- package/dist/host/createStudioHost.js +1 -1
- package/dist/host/deploy/serializeProjectDeploySecret.d.ts.map +1 -1
- package/dist/host/deploy/serializeProjectDeploySecret.js +2 -9
- package/dist/host/deploy/serializeProjectDeploySecret.js.map +1 -1
- package/dist/host/http/apiRoutes.d.ts +1 -1
- package/dist/host/http/apiRoutes.d.ts.map +1 -1
- package/dist/host/http/apiRoutes.js +19 -29
- package/dist/host/http/apiRoutes.js.map +1 -1
- package/dist/host/http/authRoutes.js +1 -1
- package/dist/host/http/deployRoutes.d.ts.map +1 -1
- package/dist/host/http/deployRoutes.js +5 -11
- package/dist/host/http/deployRoutes.js.map +1 -1
- package/dist/host/http/mediaRoutes.d.ts.map +1 -1
- package/dist/host/http/mediaRoutes.js +10 -16
- package/dist/host/http/mediaRoutes.js.map +1 -1
- package/dist/host/http/moduleRoutes.d.ts.map +1 -1
- package/dist/host/http/moduleRoutes.js +8 -20
- package/dist/host/http/moduleRoutes.js.map +1 -1
- package/dist/host/http/secretRoutes.d.ts.map +1 -1
- package/dist/host/http/secretRoutes.js +10 -20
- package/dist/host/http/secretRoutes.js.map +1 -1
- package/dist/host/http/security.d.ts +1 -1
- package/dist/host/http/security.js +1 -1
- package/dist/host/http/server.d.ts +1 -1
- package/dist/host/http/server.js +1 -1
- package/dist/host/http/serverWithSecrets.d.ts +1 -1
- package/dist/host/http/serverWithSecrets.js +1 -1
- package/dist/host/layout/auth/resolveAuthLayoutPlan.d.ts +1 -1
- package/dist/host/layout/auth/resolveAuthLayoutPlan.d.ts.map +1 -1
- package/dist/host/layout/auth/resolveAuthLayoutPlan.js +7 -13
- package/dist/host/layout/auth/resolveAuthLayoutPlan.js.map +1 -1
- package/dist/host/layout/generatedImportComposer.d.ts +1 -1
- package/dist/host/layout/generatedImportComposer.js +3 -1
- package/dist/host/layout/generatedImportComposer.js.map +1 -1
- package/dist/host/layout/layoutGenerator.d.ts +2 -1
- package/dist/host/layout/layoutGenerator.d.ts.map +1 -1
- package/dist/host/layout/layoutGenerator.js +117 -69
- package/dist/host/layout/layoutGenerator.js.map +1 -1
- package/dist/host/layout/templates/auth/navigation.d.ts.map +1 -1
- package/dist/host/layout/templates/auth/navigation.js +2 -2
- package/dist/host/layout/templates/auth/navigation.js.map +1 -1
- package/dist/host/layout/templates/auth/oauth.d.ts.map +1 -1
- package/dist/host/layout/templates/auth/oauth.js +2 -8
- package/dist/host/layout/templates/auth/oauth.js.map +1 -1
- package/dist/host/layout/templates/auth/oauthCompletion.d.ts.map +1 -1
- package/dist/host/layout/templates/auth/oauthCompletion.js +2 -2
- package/dist/host/layout/templates/auth/oauthCompletion.js.map +1 -1
- package/dist/host/layout/templates/auth/screen.d.ts +1 -1
- package/dist/host/layout/templates/auth/screen.d.ts.map +1 -1
- package/dist/host/layout/templates/auth/screen.js +19 -137
- package/dist/host/layout/templates/auth/screen.js.map +1 -1
- package/dist/host/layout/templates/auth/screenController.d.ts.map +1 -1
- package/dist/host/layout/templates/auth/screenController.js +4 -6
- package/dist/host/layout/templates/auth/screenController.js.map +1 -1
- package/dist/host/layout/templates/rootLayout.d.ts +1 -1
- package/dist/host/layout/templates/rootLayout.js +4 -4
- package/dist/host/layout/templates/screen.d.ts +1 -1
- package/dist/host/layout/templates/screen.js +1 -1
- package/dist/host/layout/templates/utils/routes.d.ts +2 -2
- package/dist/host/layout/templates/utils/routes.js +2 -2
- package/dist/host/layout/templates/utils/strings.d.ts +1 -1
- package/dist/host/layout/templates/utils/strings.js +1 -1
- package/dist/host/layout/utils/escapeStringLiteral.d.ts +0 -1
- package/dist/host/layout/utils/escapeStringLiteral.d.ts.map +1 -1
- package/dist/host/layout/utils/escapeStringLiteral.js +2 -6
- package/dist/host/layout/utils/escapeStringLiteral.js.map +1 -1
- package/dist/host/manifestSystem/index.d.ts +1 -1
- package/dist/host/manifestSystem/index.js +1 -1
- package/dist/host/media/projectAuthoringAssetWriter.d.ts +0 -1
- package/dist/host/media/projectAuthoringAssetWriter.d.ts.map +1 -1
- package/dist/host/media/projectAuthoringAssetWriter.js +8 -4
- package/dist/host/media/projectAuthoringAssetWriter.js.map +1 -1
- package/dist/host/media/removeProjectAuthoringAsset.d.ts +0 -1
- package/dist/host/media/removeProjectAuthoringAsset.d.ts.map +1 -1
- package/dist/host/media/removeProjectAuthoringAsset.js +6 -8
- package/dist/host/media/removeProjectAuthoringAsset.js.map +1 -1
- package/dist/host/modules/runtime/LocalFsTargetAdapter.d.ts +1 -1
- package/dist/host/modules/runtime/LocalFsTargetAdapter.js +2 -2
- package/dist/host/orchestrator/GeneratedRouteFileOwnership.d.ts +1 -1
- package/dist/host/orchestrator/GeneratedRouteFileOwnership.d.ts.map +1 -1
- package/dist/host/orchestrator/GeneratedRouteFileOwnership.js +8 -21
- package/dist/host/orchestrator/GeneratedRouteFileOwnership.js.map +1 -1
- package/dist/host/orchestrator/generatedAppFiles.d.ts +1 -4
- package/dist/host/orchestrator/generatedAppFiles.d.ts.map +1 -1
- package/dist/host/orchestrator/generatedAppFiles.js +4 -16
- package/dist/host/orchestrator/generatedAppFiles.js.map +1 -1
- package/dist/host/orchestrator/moduleManager.d.ts +1 -1
- package/dist/host/orchestrator/moduleManager.d.ts.map +1 -1
- package/dist/host/orchestrator/moduleManager.js +2 -8
- package/dist/host/orchestrator/moduleManager.js.map +1 -1
- package/dist/host/orchestrator/projectManager.d.ts +2 -2
- package/dist/host/orchestrator/projectManager.d.ts.map +1 -1
- package/dist/host/orchestrator/projectManager.js +9 -24
- package/dist/host/orchestrator/projectManager.js.map +1 -1
- package/dist/host/orchestrator/projectPaths.d.ts +3 -3
- package/dist/host/orchestrator/projectPaths.js +3 -3
- package/dist/host/orchestrator/projectStore.d.ts +1 -1
- package/dist/host/orchestrator/projectStore.js +1 -1
- package/dist/host/orchestrator/projectTargets.d.ts +1 -1
- package/dist/host/orchestrator/projectTargets.js +2 -2
- package/dist/host/orchestrator/reconcileProjectPackageRootAsync.d.ts +1 -1
- package/dist/host/orchestrator/reconcileProjectPackageRootAsync.js +1 -1
- package/dist/host/orchestrator/resolveMutations.d.ts +1 -1
- package/dist/host/orchestrator/resolveMutations.js +1 -1
- package/dist/host/orchestrator/scaffolder.d.ts +2 -4
- package/dist/host/orchestrator/scaffolder.d.ts.map +1 -1
- package/dist/host/orchestrator/scaffolder.js +12 -31
- package/dist/host/orchestrator/scaffolder.js.map +1 -1
- package/dist/host/orchestrator/studioInfraUp.d.ts +1 -1
- package/dist/host/orchestrator/studioInfraUp.js +1 -1
- package/dist/host/secrets/bunSupabaseVaultClient.d.ts +1 -1
- package/dist/host/secrets/bunSupabaseVaultClient.d.ts.map +1 -1
- package/dist/host/secrets/bunSupabaseVaultClient.js +6 -4
- package/dist/host/secrets/bunSupabaseVaultClient.js.map +1 -1
- package/dist/host/secrets/projectSecretService.d.ts +2 -2
- package/dist/host/secrets/projectSecretService.d.ts.map +1 -1
- package/dist/host/secrets/projectSecretService.js +9 -24
- package/dist/host/secrets/projectSecretService.js.map +1 -1
- package/dist/host/secrets/trustedOAuthInfraEnvironment.d.ts +2 -2
- package/dist/host/secrets/trustedOAuthInfraEnvironment.js +3 -3
- package/dist/host/templates/index.d.ts +2 -2
- package/dist/host/templates/index.js +2 -2
- package/dist/host/utils/requirementsInference.d.ts +2 -2
- package/dist/host/utils/requirementsInference.js +2 -2
- package/dist/host/utils/workspaceRoot.d.ts +1 -1
- package/dist/host/utils/workspaceRoot.d.ts.map +1 -1
- package/dist/host/utils/workspaceRoot.js +6 -10
- package/dist/host/utils/workspaceRoot.js.map +1 -1
- package/dist/index.d.ts +19 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -76
- package/dist/index.js.map +1 -1
- package/dist/insertModalModel.d.ts +2 -4
- package/dist/insertModalModel.d.ts.map +1 -1
- package/dist/insertModalModel.js +2 -4
- package/dist/insertModalModel.js.map +1 -1
- package/dist/manifestState.d.ts +45 -45
- package/dist/manifestState.js +58 -58
- package/dist/manifestSync.d.ts +3 -3
- package/dist/manifestSync.d.ts.map +1 -1
- package/dist/manifestSync.js +5 -4
- package/dist/manifestSync.js.map +1 -1
- package/dist/mediaAuthoringModel.d.ts +6 -8
- package/dist/mediaAuthoringModel.d.ts.map +1 -1
- package/dist/mediaAuthoringModel.js +17 -36
- package/dist/mediaAuthoringModel.js.map +1 -1
- package/dist/moduleAdminApi.d.ts +7 -9
- package/dist/moduleAdminApi.d.ts.map +1 -1
- package/dist/moduleAdminApi.js +15 -22
- package/dist/moduleAdminApi.js.map +1 -1
- package/dist/normalizeExternalApiId.d.ts +0 -1
- package/dist/normalizeExternalApiId.d.ts.map +1 -1
- package/dist/normalizeExternalApiId.js +2 -7
- package/dist/normalizeExternalApiId.js.map +1 -1
- package/dist/projectAuthApi.d.ts +1 -1
- package/dist/projectAuthApi.js +8 -9
- package/dist/projectAuthApi.js.map +1 -1
- package/dist/projectAuthHealth.d.ts +1 -1
- package/dist/projectAuthHealth.d.ts.map +1 -1
- package/dist/projectAuthHealth.js +10 -11
- package/dist/projectAuthHealth.js.map +1 -1
- package/dist/projectAuthRuntimeDiagnostics.d.ts +1 -1
- package/dist/projectAuthRuntimeDiagnostics.js +16 -24
- package/dist/projectAuthRuntimeDiagnostics.js.map +1 -1
- package/dist/projectDeployApi.d.ts +17 -17
- package/dist/projectDeployApi.js +18 -18
- package/dist/projectDeployApiError.d.ts +1 -1
- package/dist/projectDeployApiError.js +1 -1
- package/dist/projectDeployAssetPicker.d.ts +1 -1
- package/dist/projectDeployAssetPicker.d.ts.map +1 -1
- package/dist/projectDeployAssetPicker.js +10 -9
- package/dist/projectDeployAssetPicker.js.map +1 -1
- package/dist/projectDeployClient.d.ts +3 -3
- package/dist/projectDeployClient.d.ts.map +1 -1
- package/dist/projectDeployClient.js +42 -95
- package/dist/projectDeployClient.js.map +1 -1
- package/dist/projectIdentity.d.ts +1 -2
- package/dist/projectIdentity.d.ts.map +1 -1
- package/dist/projectIdentity.js +3 -4
- package/dist/projectIdentity.js.map +1 -1
- package/dist/projectOAuthSetup.d.ts +3 -3
- package/dist/projectOAuthSetup.js +3 -3
- package/dist/projectSecretApi.d.ts +6 -6
- package/dist/projectSecretApi.js +14 -14
- package/dist/projectSecretUsage.d.ts +1 -1
- package/dist/projectSecretUsage.js +1 -2
- package/dist/projectSecretUsage.js.map +1 -1
- package/dist/routeUtils.d.ts +1 -1
- package/dist/routeUtils.js +1 -1
- package/dist/runtime/actionSuppression.d.ts +0 -1
- package/dist/runtime/actionSuppression.d.ts.map +1 -1
- package/dist/runtime/actionSuppression.js +0 -1
- package/dist/runtime/actionSuppression.js.map +1 -1
- package/dist/runtime/index.d.ts +0 -2
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +0 -2
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/interactionPolicy.d.ts +1 -1
- package/dist/runtime/interactionPolicy.js +1 -1
- package/dist/runtime/interactionPolicyCore.d.ts +0 -2
- package/dist/runtime/interactionPolicyCore.d.ts.map +1 -1
- package/dist/runtime/interactionPolicyCore.js +13 -28
- package/dist/runtime/interactionPolicyCore.js.map +1 -1
- package/dist/runtime/runtimeActions.d.ts +1 -1
- package/dist/runtime/runtimeActions.js +1 -1
- package/dist/runtime/runtimeNodeMeasurement.d.ts +2 -13
- package/dist/runtime/runtimeNodeMeasurement.d.ts.map +1 -1
- package/dist/runtime/runtimeNodeMeasurement.js +17 -86
- package/dist/runtime/runtimeNodeMeasurement.js.map +1 -1
- package/dist/runtime/stationarySelection.d.ts +3 -3
- package/dist/runtime/stationarySelection.d.ts.map +1 -1
- package/dist/runtime/stationarySelection.js +15 -54
- package/dist/runtime/stationarySelection.js.map +1 -1
- package/dist/runtime/studioMediaResolver.d.ts +1 -1
- package/dist/runtime/studioMediaResolver.js +2 -2
- package/dist/runtime/useRuntimeAction.d.ts +1 -1
- package/dist/runtime/useRuntimeAction.js +1 -1
- package/dist/runtimeDiagnosticsModel.d.ts +1 -4
- package/dist/runtimeDiagnosticsModel.d.ts.map +1 -1
- package/dist/runtimeDiagnosticsModel.js +1 -4
- package/dist/runtimeDiagnosticsModel.js.map +1 -1
- package/dist/secretResponseGuard.d.ts +2 -6
- package/dist/secretResponseGuard.d.ts.map +1 -1
- package/dist/secretResponseGuard.js +3 -37
- package/dist/secretResponseGuard.js.map +1 -1
- package/dist/studioAdminRouteModel.d.ts +7 -14
- package/dist/studioAdminRouteModel.d.ts.map +1 -1
- package/dist/studioAdminRouteModel.js +17 -28
- package/dist/studioAdminRouteModel.js.map +1 -1
- package/dist/studioRuntimeApi.d.ts +1 -1
- package/dist/studioRuntimeApi.js +3 -3
- package/dist/studioSelectionModel.d.ts +0 -4
- package/dist/studioSelectionModel.d.ts.map +1 -1
- package/dist/studioSelectionModel.js +0 -5
- package/dist/studioSelectionModel.js.map +1 -1
- package/dist/types/project-updates.d.ts +7 -1
- package/dist/types/project-updates.d.ts.map +1 -1
- package/dist/ui/admin/AnkhAdminPage.js +1 -1
- package/dist/ui/admin/AuthAdminSession.d.ts +1 -1
- package/dist/ui/admin/AuthAdminSession.js +1 -1
- package/dist/ui/admin/ModuleAdminViewBoundary.d.ts +0 -1
- package/dist/ui/admin/ModuleAdminViewBoundary.d.ts.map +1 -1
- package/dist/ui/admin/ModuleAdminViewBoundary.js +2 -2
- package/dist/ui/admin/ModuleAdminViewBoundary.js.map +1 -1
- package/dist/ui/admin/ModuleAdminViewHost.d.ts +1 -1
- package/dist/ui/admin/ModuleAdminViewHost.js +1 -1
- package/dist/ui/admin/adminPagePrimitives.d.ts +5 -5
- package/dist/ui/admin/adminPagePrimitives.js +5 -5
- package/dist/ui/admin/moduleAdminViewRegistry.d.ts +1 -1
- package/dist/ui/admin/moduleAdminViewRegistry.js +1 -1
- package/dist/ui/admin/pages/ApiOperationsCard.d.ts.map +1 -1
- package/dist/ui/admin/pages/ApiOperationsCard.js +4 -7
- package/dist/ui/admin/pages/ApiOperationsCard.js.map +1 -1
- package/dist/ui/admin/pages/AuthAdminPage.d.ts +1 -1
- package/dist/ui/admin/pages/AuthAdminPage.d.ts.map +1 -1
- package/dist/ui/admin/pages/AuthAdminPage.js +26 -35
- package/dist/ui/admin/pages/AuthAdminPage.js.map +1 -1
- package/dist/ui/admin/pages/BindingsAdminPage.d.ts +1 -1
- package/dist/ui/admin/pages/BindingsAdminPage.js +1 -1
- package/dist/ui/admin/pages/ModuleDetailAdminPage.d.ts.map +1 -1
- package/dist/ui/admin/pages/ModuleDetailAdminPage.js +4 -10
- package/dist/ui/admin/pages/ModuleDetailAdminPage.js.map +1 -1
- package/dist/ui/admin/pages/ModulesAdminPage.d.ts.map +1 -1
- package/dist/ui/admin/pages/ModulesAdminPage.js +3 -9
- package/dist/ui/admin/pages/ModulesAdminPage.js.map +1 -1
- package/dist/ui/admin/pages/ScreenDetailAdminPage.js +1 -1
- package/dist/ui/admin/pages/ScreensAdminPage.js +1 -1
- package/dist/ui/admin/pages/SecretsAdminPage.d.ts +1 -1
- package/dist/ui/admin/pages/SecretsAdminPage.d.ts.map +1 -1
- package/dist/ui/admin/pages/SecretsAdminPage.js +30 -137
- package/dist/ui/admin/pages/SecretsAdminPage.js.map +1 -1
- package/dist/ui/admin/pages/ThemeModeEditorSelector.d.ts +1 -1
- package/dist/ui/admin/pages/ThemeModeEditorSelector.js +1 -1
- package/dist/ui/admin/pages/adminApiOperations.d.ts +1 -1
- package/dist/ui/admin/pages/adminApiOperations.js +1 -1
- package/dist/ui/admin/pages/adminAuthCredentialFlow.d.ts +1 -1
- package/dist/ui/admin/pages/adminAuthCredentialFlow.d.ts.map +1 -1
- package/dist/ui/admin/pages/adminAuthCredentialFlow.js +5 -14
- package/dist/ui/admin/pages/adminAuthCredentialFlow.js.map +1 -1
- package/dist/ui/admin/pages/adminAuthSessionModel.d.ts +5 -66
- package/dist/ui/admin/pages/adminAuthSessionModel.d.ts.map +1 -1
- package/dist/ui/admin/pages/adminAuthSessionModel.js +37 -132
- package/dist/ui/admin/pages/adminAuthSessionModel.js.map +1 -1
- package/dist/ui/admin/pages/adminThemeModel.d.ts +2 -2
- package/dist/ui/admin/pages/adminThemeModel.js +2 -2
- package/dist/ui/admin/pages/bindings/bindingEditorModel.d.ts +0 -3
- package/dist/ui/admin/pages/bindings/bindingEditorModel.d.ts.map +1 -1
- package/dist/ui/admin/pages/bindings/bindingEditorModel.js +7 -8
- package/dist/ui/admin/pages/bindings/bindingEditorModel.js.map +1 -1
- package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.d.ts +1 -1
- package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.d.ts.map +1 -1
- package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.js +8 -19
- package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.js.map +1 -1
- package/dist/ui/admin/pages/screens/screensAdminActions.d.ts +1 -1
- package/dist/ui/admin/pages/screens/screensAdminActions.js +1 -1
- package/dist/ui/admin/pages/themeRecipeAuthoringModel.d.ts.map +1 -1
- package/dist/ui/admin/pages/themeRecipeAuthoringModel.js +3 -8
- package/dist/ui/admin/pages/themeRecipeAuthoringModel.js.map +1 -1
- package/dist/ui/admin/pages/themeRecipeTokenOptions.d.ts +1 -1
- package/dist/ui/admin/pages/themeRecipeTokenOptions.js +1 -1
- package/dist/ui/admin/pages/useActiveThemeAdmin.d.ts +1 -1
- package/dist/ui/admin/pages/useActiveThemeAdmin.js +1 -1
- package/dist/ui/canvas/StudioCanvasDndOverlay.d.ts +1 -1
- package/dist/ui/canvas/StudioCanvasDndOverlay.js +2 -2
- package/dist/ui/canvas/canvasDndInteraction.d.ts +3 -4
- package/dist/ui/canvas/canvasDndInteraction.d.ts.map +1 -1
- package/dist/ui/canvas/canvasDndInteraction.js +5 -5
- package/dist/ui/canvas/canvasDndInteraction.js.map +1 -1
- package/dist/utils/treeUtils.d.ts +1 -1
- package/dist/utils/treeUtils.js +1 -1
- package/dist/workspacePlatform.d.ts +0 -3
- package/dist/workspacePlatform.d.ts.map +1 -1
- package/dist/workspacePlatform.js +0 -3
- package/dist/workspacePlatform.js.map +1 -1
- package/package.json +51 -50
- package/dist/constants.d.ts +0 -1636
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -10
- package/dist/constants.js.map +0 -1
- package/dist/host/zoraExtensions/index.d.ts +0 -22
- package/dist/host/zoraExtensions/index.d.ts.map +0 -1
- package/dist/host/zoraExtensions/index.js +0 -61
- package/dist/host/zoraExtensions/index.js.map +0 -1
- package/dist/runtime/appExtensionRegistry.d.ts +0 -3
- package/dist/runtime/appExtensionRegistry.d.ts.map +0 -1
- package/dist/runtime/appExtensionRegistry.js +0 -12
- package/dist/runtime/appExtensionRegistry.js.map +0 -1
- package/dist/runtime/registry.d.ts +0 -6
- package/dist/runtime/registry.d.ts.map +0 -1
- package/dist/runtime/registry.js +0 -5
- package/dist/runtime/registry.js.map +0 -1
- package/dist/ui/admin/pages/adminAuthHealthFlow.d.ts +0 -26
- package/dist/ui/admin/pages/adminAuthHealthFlow.d.ts.map +0 -1
- package/dist/ui/admin/pages/adminAuthHealthFlow.js +0 -32
- package/dist/ui/admin/pages/adminAuthHealthFlow.js.map +0 -1
package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveProjectUpdateDashboardPresentation.js","sourceRoot":"","sources":["../../../../src/features/project-updates/application/resolveProjectUpdateDashboardPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAIrD,oGAAoG;AACpG,MAAM,UAAU,yCAAyC,CAAC,KAAkC;IAC1F,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC;QAC5C,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACtE,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO;YACL,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC;YAC9D,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;YACpD,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,IAAI;YAClC,cAAc,EACZ,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;gBAC5C,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC;gBACrC,SAAS;YACX,gBAAgB,EACd,kBAAkB,CAAC,YAAY,CAAC,iBAAiB,CAAC;gBAClD,kBAAkB,CAAC,YAAY,CAAC,aAAa,CAAC;gBAC9C,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;YAC3C,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI;QACjC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC/C,YAAY;
|
|
1
|
+
{"version":3,"file":"resolveProjectUpdateDashboardPresentation.js","sourceRoot":"","sources":["../../../../src/features/project-updates/application/resolveProjectUpdateDashboardPresentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ApmApplyStepPort } from '@ankhorage/apm/types';
|
|
2
|
+
/*** Compose exact reviewed Studio package-policy execution around another trusted owner executor. */
|
|
3
|
+
export declare function createStudioGeneratedPackagePolicyApplyOwnerStepPort(base: ApmApplyStepPort | undefined): ApmApplyStepPort;
|
|
4
|
+
//# sourceMappingURL=createStudioGeneratedPackagePolicyApplyOwnerStepPort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStudioGeneratedPackagePolicyApplyOwnerStepPort.d.ts","sourceRoot":"","sources":["../../../../src/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,gBAAgB,EAGjB,MAAM,sBAAsB,CAAC;AAc9B,qGAAqG;AACrG,wBAAgB,oDAAoD,CAClE,IAAI,EAAE,gBAAgB,GAAG,SAAS,GACjC,gBAAgB,CAmBlB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { resolvePathWithinRoot } from '@ankhorage/utility/node/path';
|
|
3
|
+
import { isRecord } from '@ankhorage/utility/object';
|
|
4
|
+
import { createStudioGeneratedPackagePolicyProjectReadPort } from '../adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort';
|
|
5
|
+
import { readStudioGeneratedPackagePolicyHandler } from '../adapters/outbound/readStudioGeneratedPackagePolicyHandler';
|
|
6
|
+
import { readStudioGeneratedPackagePolicyProjectionDescriptor } from '../adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor';
|
|
7
|
+
import { currentStudioApmArtifactMatchesAsync } from '../adapters/outbound/resolveCurrentStudioApmArtifactAsync';
|
|
8
|
+
import { STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID, STUDIO_PACKAGE_NAME } from '../constants';
|
|
9
|
+
import { createStudioGeneratedPackagePolicyExecutionContext } from '../domain/createStudioGeneratedPackagePolicyExecutionContext';
|
|
10
|
+
import { readStudioGeneratedPackagePolicyMutationTarget } from '../domain/readStudioGeneratedPackagePolicyMutationTarget';
|
|
11
|
+
/*** Compose exact reviewed Studio package-policy execution around another trusted owner executor. */
|
|
12
|
+
export function createStudioGeneratedPackagePolicyApplyOwnerStepPort(base) {
|
|
13
|
+
return {
|
|
14
|
+
observeAsync: async (input) => isPackagePolicyStep(input.step)
|
|
15
|
+
? observePackagePolicyStepAsync(input.journal.rootPath, input.step)
|
|
16
|
+
: delegateObservationAsync(base, input),
|
|
17
|
+
executeAsync: async (input) => isPackagePolicyStep(input.step)
|
|
18
|
+
? executePackagePolicyStepAsync(input.journal.rootPath, input.step)
|
|
19
|
+
: delegateExecutionAsync(base, 'executeAsync', input),
|
|
20
|
+
rollbackAsync: async (input) => isPackagePolicyStep(input.step)
|
|
21
|
+
? Promise.resolve({
|
|
22
|
+
state: 'completed',
|
|
23
|
+
evidence: ['owner-approved-snapshot-restore'],
|
|
24
|
+
diagnostics: [],
|
|
25
|
+
})
|
|
26
|
+
: delegateExecutionAsync(base, 'rollbackAsync', input),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/*** Observe whether the reviewed package-policy projection is already satisfied or remains pending. */
|
|
30
|
+
async function observePackagePolicyStepAsync(rootPath, step) {
|
|
31
|
+
if (step.execution.kind !== 'projection') {
|
|
32
|
+
return { state: 'unknown', evidence: [step.id], reason: 'Projection execution is missing.' };
|
|
33
|
+
}
|
|
34
|
+
if (!(await currentStudioApmArtifactMatchesAsync(step.execution.artifact))) {
|
|
35
|
+
return {
|
|
36
|
+
state: 'conflict',
|
|
37
|
+
evidence: [`${step.execution.artifact.packageName}@${step.execution.artifact.version}`],
|
|
38
|
+
reason: 'Running Studio owner code no longer matches the reviewed projection artifact.',
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const inspection = await readStudioGeneratedPackagePolicyHandler().inspectAsync({
|
|
42
|
+
descriptor: readStudioGeneratedPackagePolicyProjectionDescriptor(),
|
|
43
|
+
context: createStudioGeneratedPackagePolicyExecutionContext(sourceVersion(step), step.execution.artifact),
|
|
44
|
+
project: createStudioGeneratedPackagePolicyProjectReadPort(rootPath),
|
|
45
|
+
});
|
|
46
|
+
if (inspection.state === 'unknown') {
|
|
47
|
+
return {
|
|
48
|
+
state: 'unknown',
|
|
49
|
+
evidence: inspection.evidence,
|
|
50
|
+
...(inspection.reason === undefined ? {} : { reason: inspection.reason }),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const satisfied = inspection.state === 'current' &&
|
|
54
|
+
inspection.generatorFingerprint === step.execution.plan.generatorFingerprint;
|
|
55
|
+
return satisfied
|
|
56
|
+
? { state: 'satisfied', evidence: inspection.evidence }
|
|
57
|
+
: { state: 'pending', evidence: inspection.evidence };
|
|
58
|
+
}
|
|
59
|
+
/*** Execute only mutation IDs frozen into the reviewed Studio package-policy projection plan. */
|
|
60
|
+
async function executePackagePolicyStepAsync(rootPath, step) {
|
|
61
|
+
if (step.execution.kind !== 'projection') {
|
|
62
|
+
return failedExecution('studio.generated-package-policy.execution-invalid', 'Reviewed package-policy step has no projection execution descriptor.', step.id);
|
|
63
|
+
}
|
|
64
|
+
if (!(await currentStudioApmArtifactMatchesAsync(step.execution.artifact))) {
|
|
65
|
+
return failedExecution('studio.generated-package-policy.artifact-mismatch', 'Running Studio owner code no longer matches the reviewed projection artifact.', `${step.execution.artifact.packageName}@${step.execution.artifact.version}`);
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
await materializePackagePolicyAsync(rootPath, step.execution, sourceVersion(step));
|
|
69
|
+
return {
|
|
70
|
+
state: 'completed',
|
|
71
|
+
evidence: step.execution.plan.mutations.map(({ id }) => id),
|
|
72
|
+
diagnostics: [],
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return failedExecution('studio.generated-package-policy.execution-failed', error instanceof Error ? error.message : 'Studio package-policy execution failed.', step.id);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/*** Materialize only mutation IDs frozen into the reviewed Studio projection plan. */
|
|
80
|
+
async function materializePackagePolicyAsync(rootPath, execution, reviewedSourceVersion) {
|
|
81
|
+
const byId = new Map(execution.plan.mutations.map((mutation) => [mutation.id, mutation]));
|
|
82
|
+
await readStudioGeneratedPackagePolicyHandler().materializeAsync({
|
|
83
|
+
descriptor: readStudioGeneratedPackagePolicyProjectionDescriptor(),
|
|
84
|
+
context: createStudioGeneratedPackagePolicyExecutionContext(reviewedSourceVersion, execution.artifact),
|
|
85
|
+
plan: execution.plan,
|
|
86
|
+
project: {
|
|
87
|
+
...createStudioGeneratedPackagePolicyProjectReadPort(rootPath),
|
|
88
|
+
applyReviewedMutationAsync: async (mutationId) => {
|
|
89
|
+
const mutation = byId.get(mutationId);
|
|
90
|
+
if (mutation === undefined)
|
|
91
|
+
throw new Error(`Unreviewed mutation '${mutationId}'.`);
|
|
92
|
+
await applyReviewedMutationAsync(rootPath, mutation);
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/*** Apply one reviewed package-policy mutation while preserving unrelated package manifest fields. */
|
|
98
|
+
async function applyReviewedMutationAsync(rootPath, mutation) {
|
|
99
|
+
const target = readStudioGeneratedPackagePolicyMutationTarget(mutation);
|
|
100
|
+
if (target === undefined) {
|
|
101
|
+
throw new Error(`Unsupported generated package-policy mutation '${mutation.id}'.`);
|
|
102
|
+
}
|
|
103
|
+
const packagePath = resolvePathWithinRoot(rootPath, 'package.json');
|
|
104
|
+
const value = JSON.parse(await readFile(packagePath, 'utf8'));
|
|
105
|
+
if (!isRecord(value))
|
|
106
|
+
throw new Error('Generated package.json must contain an object.');
|
|
107
|
+
const updated = target.section === 'packageManager'
|
|
108
|
+
? updatePackageManager(value, mutation)
|
|
109
|
+
: updateDependencySection(value, target.section, target.name, mutation);
|
|
110
|
+
await writeFile(packagePath, `${JSON.stringify(updated, null, 2)}\n`, 'utf8');
|
|
111
|
+
}
|
|
112
|
+
/*** Apply one reviewed package-manager mutation at the root manifest field. */
|
|
113
|
+
function updatePackageManager(value, mutation) {
|
|
114
|
+
if (mutation.kind === 'remove-json-pointer') {
|
|
115
|
+
return Object.fromEntries(Object.entries(value).filter(([key]) => key !== 'packageManager'));
|
|
116
|
+
}
|
|
117
|
+
if (mutation.kind !== 'set-json-pointer')
|
|
118
|
+
return value;
|
|
119
|
+
return { ...value, packageManager: mutation.value };
|
|
120
|
+
}
|
|
121
|
+
/*** Apply one reviewed dependency entry mutation without replacing its sibling declarations. */
|
|
122
|
+
function updateDependencySection(value, section, name, mutation) {
|
|
123
|
+
const current = section === 'dependencies' ? value.dependencies : value.devDependencies;
|
|
124
|
+
if (!isRecord(current)) {
|
|
125
|
+
throw new Error(`Generated package.json must define object ${section}.`);
|
|
126
|
+
}
|
|
127
|
+
const next = mutation.kind === 'remove-json-pointer'
|
|
128
|
+
? Object.fromEntries(Object.entries(current).filter(([key]) => key !== name))
|
|
129
|
+
: mutation.kind === 'set-json-pointer'
|
|
130
|
+
? { ...current, [name]: mutation.value }
|
|
131
|
+
: current;
|
|
132
|
+
return section === 'dependencies'
|
|
133
|
+
? { ...value, dependencies: next }
|
|
134
|
+
: { ...value, devDependencies: next };
|
|
135
|
+
}
|
|
136
|
+
/*** Read the reviewed source Studio version frozen into projection step evidence. */
|
|
137
|
+
function sourceVersion(step) {
|
|
138
|
+
const value = step.evidence.find((item) => item.startsWith('source:'))?.slice('source:'.length);
|
|
139
|
+
if (value === undefined) {
|
|
140
|
+
throw new Error('Reviewed Studio projection step has no source version.');
|
|
141
|
+
}
|
|
142
|
+
return value;
|
|
143
|
+
}
|
|
144
|
+
/*** Identify only the canonical Studio generated-package-policy projection step. */
|
|
145
|
+
function isPackagePolicyStep(step) {
|
|
146
|
+
return (step.owner === STUDIO_PACKAGE_NAME &&
|
|
147
|
+
step.execution.kind === 'projection' &&
|
|
148
|
+
step.execution.descriptor.id === STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID);
|
|
149
|
+
}
|
|
150
|
+
/*** Delegate an unrelated owner observation without claiming package-owner capability. */
|
|
151
|
+
async function delegateObservationAsync(base, input) {
|
|
152
|
+
return base === undefined
|
|
153
|
+
? {
|
|
154
|
+
state: 'unknown',
|
|
155
|
+
evidence: [input.step.id],
|
|
156
|
+
reason: 'No trusted Studio owner adapter handles this reviewed step.',
|
|
157
|
+
}
|
|
158
|
+
: base.observeAsync(input);
|
|
159
|
+
}
|
|
160
|
+
/*** Delegate unrelated owner execution or rollback to the previously composed owner adapter. */
|
|
161
|
+
async function delegateExecutionAsync(base, action, input) {
|
|
162
|
+
if (base === undefined) {
|
|
163
|
+
return failedExecution('studio.owner-step.unavailable', 'No trusted Studio owner adapter handles this reviewed step.', input.step.id);
|
|
164
|
+
}
|
|
165
|
+
return action === 'executeAsync' ? base.executeAsync(input) : base.rollbackAsync(input);
|
|
166
|
+
}
|
|
167
|
+
/*** Build one deterministic failed trusted-owner execution result. */
|
|
168
|
+
function failedExecution(code, reason, ...evidence) {
|
|
169
|
+
return {
|
|
170
|
+
state: 'failed',
|
|
171
|
+
evidence,
|
|
172
|
+
diagnostics: [],
|
|
173
|
+
failure: { code, reason, evidence },
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=createStudioGeneratedPackagePolicyApplyOwnerStepPort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStudioGeneratedPackagePolicyApplyOwnerStepPort.js","sourceRoot":"","sources":["../../../../src/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ApmStatusExtensionEvidencePort } from '@ankhorage/apm/types';
|
|
2
|
+
import type { resolveCurrentStudioApmArtifactAsync } from '../adapters/outbound/resolveCurrentStudioApmArtifactAsync';
|
|
3
|
+
/*** Compose current Studio generated-package-policy inspection around existing owner evidence. */
|
|
4
|
+
export declare function createStudioGeneratedPackagePolicyExtensionEvidencePort(base: ApmStatusExtensionEvidencePort | undefined, resolveArtifactAsync: typeof resolveCurrentStudioApmArtifactAsync): ApmStatusExtensionEvidencePort;
|
|
5
|
+
//# sourceMappingURL=createStudioGeneratedPackagePolicyExtensionEvidencePort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStudioGeneratedPackagePolicyExtensionEvidencePort.d.ts","sourceRoot":"","sources":["../../../../src/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKV,8BAA8B,EAE/B,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,2DAA2D,CAAC;AAKtH,kGAAkG;AAClG,wBAAgB,uDAAuD,CACrE,IAAI,EAAE,8BAA8B,GAAG,SAAS,EAChD,oBAAoB,EAAE,OAAO,oCAAoC,GAChE,8BAA8B,CAYhC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { resolveMigrationPath } from '@ankhorage/apm';
|
|
2
|
+
import { createStudioGeneratedPackagePolicyProjectReadPort } from '../adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort';
|
|
3
|
+
import { readStudioGeneratedPackagePolicyDescriptor } from '../adapters/outbound/readStudioGeneratedPackagePolicyDescriptor';
|
|
4
|
+
import { readStudioGeneratedPackagePolicyHandler } from '../adapters/outbound/readStudioGeneratedPackagePolicyHandler';
|
|
5
|
+
import { readStudioGeneratedPackagePolicyProjectionDescriptor } from '../adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor';
|
|
6
|
+
import { STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID, STUDIO_PACKAGE_NAME } from '../constants';
|
|
7
|
+
import { createStudioGeneratedPackagePolicyExecutionContext } from '../domain/createStudioGeneratedPackagePolicyExecutionContext';
|
|
8
|
+
import { readStudioGeneratedPackagePolicyInventorySource } from '../domain/readStudioGeneratedPackagePolicyInventorySource';
|
|
9
|
+
/*** Compose current Studio generated-package-policy inspection around existing owner evidence. */
|
|
10
|
+
export function createStudioGeneratedPackagePolicyExtensionEvidencePort(base, resolveArtifactAsync) {
|
|
11
|
+
return {
|
|
12
|
+
inspectExtensionEvidenceAsync: async (input) => {
|
|
13
|
+
const [baseEvidence, policyEvidence] = await Promise.all([
|
|
14
|
+
base === undefined
|
|
15
|
+
? Promise.resolve(emptyExtensionEvidence())
|
|
16
|
+
: base.inspectExtensionEvidenceAsync(input),
|
|
17
|
+
inspectPolicyEvidenceAsync(input.rootPath, input.inventory, resolveArtifactAsync),
|
|
18
|
+
]);
|
|
19
|
+
return mergeExtensionEvidence(baseEvidence, policyEvidence);
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/*** Resolve source, target artifact and supported history before inspecting Studio projection state. */
|
|
24
|
+
async function inspectPolicyEvidenceAsync(rootPath, inventory, resolveArtifactAsync) {
|
|
25
|
+
const source = readStudioGeneratedPackagePolicyInventorySource(inventory);
|
|
26
|
+
if (source === undefined)
|
|
27
|
+
return emptyExtensionEvidence();
|
|
28
|
+
const artifactResolution = await resolveArtifactAsync(rootPath);
|
|
29
|
+
if (artifactResolution.state !== 'resolved') {
|
|
30
|
+
return failedExtensionEvidence('studio.generated-package-policy.artifact-unavailable', artifactResolution.reason, artifactResolution.evidence);
|
|
31
|
+
}
|
|
32
|
+
const migration = resolveMigrationPath({
|
|
33
|
+
descriptor: readStudioGeneratedPackagePolicyDescriptor(),
|
|
34
|
+
sourceVersion: source.version,
|
|
35
|
+
targetVersion: artifactResolution.artifact.version,
|
|
36
|
+
});
|
|
37
|
+
if (!migration.supported)
|
|
38
|
+
return unsupportedHistoryEvidence(migration.blockers);
|
|
39
|
+
return inspectResolvedPolicyAsync(rootPath, source, artifactResolution.artifact, migration.noMigrationRequired);
|
|
40
|
+
}
|
|
41
|
+
/*** Inspect package policy using only the exact reviewed current Studio artifact. */
|
|
42
|
+
async function inspectResolvedPolicyAsync(rootPath, source, artifact, noMigrationRequired) {
|
|
43
|
+
const context = createStudioGeneratedPackagePolicyExecutionContext(source.version, artifact);
|
|
44
|
+
const inspection = await readStudioGeneratedPackagePolicyHandler().inspectAsync({
|
|
45
|
+
descriptor: readStudioGeneratedPackagePolicyProjectionDescriptor(),
|
|
46
|
+
context,
|
|
47
|
+
project: createStudioGeneratedPackagePolicyProjectReadPort(rootPath),
|
|
48
|
+
});
|
|
49
|
+
return projectionEvidence(source, artifact.version, noMigrationRequired, inspection);
|
|
50
|
+
}
|
|
51
|
+
/*** Convert one Studio projection inspection into stable APM owner evidence. */
|
|
52
|
+
function projectionEvidence(source, targetVersion, noMigrationRequired, inspection) {
|
|
53
|
+
return {
|
|
54
|
+
state: 'available',
|
|
55
|
+
complete: inspection.state !== 'unknown',
|
|
56
|
+
observations: [
|
|
57
|
+
{
|
|
58
|
+
packageId: source.packageId,
|
|
59
|
+
owner: STUDIO_PACKAGE_NAME,
|
|
60
|
+
projection: inspection.state,
|
|
61
|
+
migration: noMigrationRequired ? 'not-applicable' : 'pending',
|
|
62
|
+
evidence: [
|
|
63
|
+
`projection:${STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID}`,
|
|
64
|
+
`source:${source.version}`,
|
|
65
|
+
`target:${targetVersion}`,
|
|
66
|
+
...inspection.evidence,
|
|
67
|
+
],
|
|
68
|
+
...(inspection.reason === undefined ? {} : { reason: inspection.reason }),
|
|
69
|
+
...(inspection.state === 'stale'
|
|
70
|
+
? {
|
|
71
|
+
nextAction: 'Apply the reviewed Studio update to reconcile generated package policy.',
|
|
72
|
+
}
|
|
73
|
+
: {}),
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
diagnostics: inspection.state === 'unknown' ? [unknownProjectionDiagnostic(inspection)] : [],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/*** Describe an unknown projection state without treating it as current. */
|
|
80
|
+
function unknownProjectionDiagnostic(inspection) {
|
|
81
|
+
return {
|
|
82
|
+
code: 'studio.generated-package-policy.unknown',
|
|
83
|
+
severity: 'error',
|
|
84
|
+
scope: { kind: 'projection', id: STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID },
|
|
85
|
+
evidence: inspection.evidence,
|
|
86
|
+
reason: inspection.reason ?? 'Studio generated package policy could not be inspected safely.',
|
|
87
|
+
nextAction: 'Repair package.json before applying Studio-managed updates.',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/*** Preserve unsupported source-history blockers as incomplete Studio owner evidence. */
|
|
91
|
+
function unsupportedHistoryEvidence(blockers) {
|
|
92
|
+
return {
|
|
93
|
+
state: 'available',
|
|
94
|
+
complete: false,
|
|
95
|
+
observations: [],
|
|
96
|
+
diagnostics: blockers.map(protocolBlockerDiagnostic),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/*** Convert protocol validation blockers into ordinary status diagnostics without losing evidence. */
|
|
100
|
+
function protocolBlockerDiagnostic(blocker) {
|
|
101
|
+
return {
|
|
102
|
+
code: blocker.code,
|
|
103
|
+
severity: 'error',
|
|
104
|
+
scope: {
|
|
105
|
+
kind: 'migration',
|
|
106
|
+
...(blocker.scope.id === undefined ? {} : { id: blocker.scope.id }),
|
|
107
|
+
},
|
|
108
|
+
evidence: blocker.evidence,
|
|
109
|
+
reason: blocker.reason,
|
|
110
|
+
...(blocker.nextAction === undefined ? {} : { nextAction: blocker.nextAction }),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/*** Merge independent extension evidence while preserving fail-closed completeness. */
|
|
114
|
+
function mergeExtensionEvidence(base, policy) {
|
|
115
|
+
return {
|
|
116
|
+
state: base.state === 'available' || policy.state === 'available' ? 'available' : 'unavailable',
|
|
117
|
+
complete: base.complete && policy.complete,
|
|
118
|
+
observations: [...base.observations, ...policy.observations],
|
|
119
|
+
diagnostics: [...base.diagnostics, ...policy.diagnostics],
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/*** Return explicit empty owner evidence for projects that do not embed Studio. */
|
|
123
|
+
function emptyExtensionEvidence() {
|
|
124
|
+
return {
|
|
125
|
+
state: 'unavailable',
|
|
126
|
+
complete: true,
|
|
127
|
+
observations: [],
|
|
128
|
+
diagnostics: [],
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/*** Return incomplete owner evidence when current target artifact identity cannot be established. */
|
|
132
|
+
function failedExtensionEvidence(code, reason, evidence) {
|
|
133
|
+
return {
|
|
134
|
+
state: 'available',
|
|
135
|
+
complete: false,
|
|
136
|
+
observations: [],
|
|
137
|
+
diagnostics: [
|
|
138
|
+
{
|
|
139
|
+
code,
|
|
140
|
+
severity: 'error',
|
|
141
|
+
scope: { kind: 'projection', id: STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID },
|
|
142
|
+
evidence,
|
|
143
|
+
reason,
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=createStudioGeneratedPackagePolicyExtensionEvidencePort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStudioGeneratedPackagePolicyExtensionEvidencePort.js","sourceRoot":"","sources":["../../../../src/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ApmPlanProtocolPort } from '@ankhorage/apm/types';
|
|
2
|
+
import type { resolveCurrentStudioApmArtifactAsync } from '../adapters/outbound/resolveCurrentStudioApmArtifactAsync';
|
|
3
|
+
/*** Compose Studio generated-package planning around an existing package-owner protocol provider. */
|
|
4
|
+
export declare function createStudioGeneratedPackagePolicyProtocolPort(base: ApmPlanProtocolPort | undefined, resolveArtifactAsync: typeof resolveCurrentStudioApmArtifactAsync): ApmPlanProtocolPort;
|
|
5
|
+
//# sourceMappingURL=createStudioGeneratedPackagePolicyProtocolPort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStudioGeneratedPackagePolicyProtocolPort.d.ts","sourceRoot":"","sources":["../../../../src/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,mBAAmB,EAQpB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,2DAA2D,CAAC;AAuBtH,qGAAqG;AACrG,wBAAgB,8CAA8C,CAC5D,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,oBAAoB,EAAE,OAAO,oCAAoC,GAChE,mBAAmB,CAkBrB"}
|
package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.js
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { compareSemanticVersions, parseSemanticVersion, satisfiesCaretSemverRange, } from '@ankhorage/utility/semver';
|
|
2
|
+
import { createStudioGeneratedPackagePolicyProjectReadPort } from '../adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort';
|
|
3
|
+
import { readStudioGeneratedPackagePolicyHandler } from '../adapters/outbound/readStudioGeneratedPackagePolicyHandler';
|
|
4
|
+
import { readStudioGeneratedPackagePolicyProjectionDescriptor } from '../adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor';
|
|
5
|
+
import { STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID, STUDIO_PACKAGE_NAME } from '../constants';
|
|
6
|
+
import { createStudioGeneratedPackagePolicyExecutionContext } from '../domain/createStudioGeneratedPackagePolicyExecutionContext';
|
|
7
|
+
import { readStudioGeneratedPackagePolicyMutationTarget } from '../domain/readStudioGeneratedPackagePolicyMutationTarget';
|
|
8
|
+
import { readStudioGeneratedPackagePolicyStatusSource } from '../domain/readStudioGeneratedPackagePolicyStatusSource';
|
|
9
|
+
const EMPTY_PLAN_SLICE = {
|
|
10
|
+
requiredSelections: [],
|
|
11
|
+
steps: [],
|
|
12
|
+
blockers: [],
|
|
13
|
+
};
|
|
14
|
+
/*** Compose Studio generated-package planning around an existing package-owner protocol provider. */
|
|
15
|
+
export function createStudioGeneratedPackagePolicyProtocolPort(base, resolveArtifactAsync) {
|
|
16
|
+
return {
|
|
17
|
+
planProtocolAsync: async (input) => {
|
|
18
|
+
const baseResult = base === undefined ? emptyProtocolResult() : await base.planProtocolAsync(input);
|
|
19
|
+
const policySlice = needsPackagePolicyPlan(input)
|
|
20
|
+
? await planGeneratedPolicyAsync(input, resolveArtifactAsync)
|
|
21
|
+
: EMPTY_PLAN_SLICE;
|
|
22
|
+
const blockers = [...baseResult.blockers, ...policySlice.blockers];
|
|
23
|
+
return {
|
|
24
|
+
...baseResult,
|
|
25
|
+
complete: baseResult.complete && blockers.length === 0,
|
|
26
|
+
requiredSelections: [...baseResult.requiredSelections, ...policySlice.requiredSelections],
|
|
27
|
+
steps: [...baseResult.steps, ...policySlice.steps],
|
|
28
|
+
blockers,
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/*** Return whether current owner evidence requires generated package-policy repair. */
|
|
34
|
+
function needsPackagePolicyPlan(input) {
|
|
35
|
+
if (!input.policy.repairProjections)
|
|
36
|
+
return false;
|
|
37
|
+
return input.status.extensions.observations.some((observation) => observation.owner === STUDIO_PACKAGE_NAME &&
|
|
38
|
+
observation.projection === 'stale' &&
|
|
39
|
+
observation.evidence.includes(`projection:${STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID}`));
|
|
40
|
+
}
|
|
41
|
+
/*** Resolve source and target owner identities before planning the reviewed projection. */
|
|
42
|
+
async function planGeneratedPolicyAsync(input, resolveArtifactAsync) {
|
|
43
|
+
const source = readStudioGeneratedPackagePolicyStatusSource(input.status.dependencies);
|
|
44
|
+
if (source === undefined) {
|
|
45
|
+
return blockedPlanSlice('protocol.studio-generated-package-policy-source-missing', 'The generated app has no uniquely resolved direct @ankhorage/studio source package.', []);
|
|
46
|
+
}
|
|
47
|
+
const artifactResolution = await resolveArtifactAsync(input.status.rootPath);
|
|
48
|
+
if (artifactResolution.state !== 'resolved') {
|
|
49
|
+
return blockedPlanSlice('protocol.studio-generated-package-policy-artifact-unavailable', artifactResolution.reason, artifactResolution.evidence);
|
|
50
|
+
}
|
|
51
|
+
return planResolvedPolicyAsync(input, source, artifactResolution.artifact);
|
|
52
|
+
}
|
|
53
|
+
/*** Plan exact target-owner policy and derive native dependency selections from reviewed mutations. */
|
|
54
|
+
async function planResolvedPolicyAsync(input, source, artifact) {
|
|
55
|
+
const context = createStudioGeneratedPackagePolicyExecutionContext(source.version, artifact);
|
|
56
|
+
const descriptor = readStudioGeneratedPackagePolicyProjectionDescriptor();
|
|
57
|
+
const plan = await readStudioGeneratedPackagePolicyHandler().planAsync({
|
|
58
|
+
descriptor,
|
|
59
|
+
context,
|
|
60
|
+
project: createStudioGeneratedPackagePolicyProjectReadPort(input.status.rootPath),
|
|
61
|
+
});
|
|
62
|
+
const selectionResult = requiredSelections(input.status.dependencies, source, plan.mutations);
|
|
63
|
+
if (selectionResult.blockers.length > 0) {
|
|
64
|
+
return { ...EMPTY_PLAN_SLICE, blockers: selectionResult.blockers };
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
requiredSelections: selectionResult.selections,
|
|
68
|
+
steps: [projectionStep(source, artifact, descriptor, plan)],
|
|
69
|
+
blockers: [],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/*** Build the reviewed Studio generated-package-policy projection step. */
|
|
73
|
+
function projectionStep(source, artifact, descriptor, plan) {
|
|
74
|
+
return {
|
|
75
|
+
id: `projection:${STUDIO_PACKAGE_NAME}:${STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID}`,
|
|
76
|
+
kind: 'projection',
|
|
77
|
+
prerequisites: [],
|
|
78
|
+
owner: STUDIO_PACKAGE_NAME,
|
|
79
|
+
reason: 'Reconcile generated package policy to the exact running Studio owner artifact.',
|
|
80
|
+
evidence: [`source:${source.version}`, `target:${artifact.version}`, ...plan.evidence],
|
|
81
|
+
execution: { kind: 'projection', descriptor, artifact, plan },
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/*** Convert reviewed dependency-range mutations into exact safe APM dependency selections. */
|
|
85
|
+
function requiredSelections(dependencies, source, mutations) {
|
|
86
|
+
return mutations.reduce((result, mutation) => {
|
|
87
|
+
const resolved = selectionForMutation(dependencies, source, mutation);
|
|
88
|
+
return {
|
|
89
|
+
selections: resolved.selection === undefined
|
|
90
|
+
? result.selections
|
|
91
|
+
: [...result.selections, resolved.selection],
|
|
92
|
+
blockers: resolved.blocker === undefined ? result.blockers : [...result.blockers, resolved.blocker],
|
|
93
|
+
};
|
|
94
|
+
}, { selections: [], blockers: [] });
|
|
95
|
+
}
|
|
96
|
+
/*** Resolve one reviewed dependency mutation to a package selection or explicit blocker. */
|
|
97
|
+
function selectionForMutation(dependencies, source, mutation) {
|
|
98
|
+
const target = readStudioGeneratedPackagePolicyMutationTarget(mutation);
|
|
99
|
+
if (target === undefined ||
|
|
100
|
+
target.section === 'packageManager' ||
|
|
101
|
+
mutation.kind !== 'set-json-pointer' ||
|
|
102
|
+
typeof mutation.value !== 'string') {
|
|
103
|
+
return {};
|
|
104
|
+
}
|
|
105
|
+
const matches = matchingDependencies(dependencies, source, target.name);
|
|
106
|
+
const [dependency] = matches;
|
|
107
|
+
if (matches.length !== 1 || dependency?.declaration === undefined) {
|
|
108
|
+
return {
|
|
109
|
+
blocker: missingDependencyBlocker(target.name, matches.length),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const { declaration } = dependency;
|
|
113
|
+
if (declaration.range === mutation.value)
|
|
114
|
+
return {};
|
|
115
|
+
return selectionForRange(dependency, declaration.ownerPath, mutation.value);
|
|
116
|
+
}
|
|
117
|
+
/*** Find one managed declaration only inside the generated app's Studio install root and owner manifest. */
|
|
118
|
+
function matchingDependencies(dependencies, source, name) {
|
|
119
|
+
return dependencies.filter((dependency) => dependency.direct &&
|
|
120
|
+
dependency.installRootId === source.installRootId &&
|
|
121
|
+
dependency.name === name &&
|
|
122
|
+
dependency.declaration?.ownerPath === source.ownerPath);
|
|
123
|
+
}
|
|
124
|
+
/*** Build an exact target selection for one changed managed dependency range. */
|
|
125
|
+
function selectionForRange(dependency, ownerPath, range) {
|
|
126
|
+
const targetVersion = newestKnownVersionInRange(dependency, range) ?? managedRangeFloor(range);
|
|
127
|
+
if (targetVersion === undefined) {
|
|
128
|
+
return {
|
|
129
|
+
blocker: unsupportedRangeBlocker(dependency.name, range),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
selection: {
|
|
134
|
+
selector: {
|
|
135
|
+
name: dependency.name,
|
|
136
|
+
packageId: dependency.packageId,
|
|
137
|
+
installRootId: dependency.installRootId,
|
|
138
|
+
ownerPath,
|
|
139
|
+
},
|
|
140
|
+
target: { kind: 'version', version: targetVersion, manifestRange: range },
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/*** Explain a managed dependency required by Studio but missing from the generated app declaration set. */
|
|
145
|
+
function missingDependencyBlocker(name, matches) {
|
|
146
|
+
return protocolPlanBlocker('protocol.studio-generated-package-policy-dependency-missing', `Studio package policy requires managed dependency ${name}, but the current generated app does not expose one unique direct declaration.`, [name, `matches:${matches}`]);
|
|
147
|
+
}
|
|
148
|
+
/*** Explain a managed Studio range shape APM cannot safely turn into an exact native target. */
|
|
149
|
+
function unsupportedRangeBlocker(name, range) {
|
|
150
|
+
return protocolPlanBlocker('protocol.studio-generated-package-policy-range-unsupported', `Studio generated package policy uses an unsupported managed dependency range for ${name}.`, [name, range]);
|
|
151
|
+
}
|
|
152
|
+
/*** Select the highest known current/registry version admitted by the target Studio range. */
|
|
153
|
+
function newestKnownVersionInRange(dependency, range) {
|
|
154
|
+
const candidates = [
|
|
155
|
+
dependency.availability.latestVersion,
|
|
156
|
+
dependency.availability.compatibleVersion,
|
|
157
|
+
dependency.lockedVersion,
|
|
158
|
+
dependency.installed.version,
|
|
159
|
+
].filter((value) => value !== undefined && versionSatisfiesManagedRange(value, range));
|
|
160
|
+
return candidates.reduce((selected, candidate) => {
|
|
161
|
+
if (selected === undefined)
|
|
162
|
+
return candidate;
|
|
163
|
+
const left = parseSemanticVersion(selected);
|
|
164
|
+
const right = parseSemanticVersion(candidate);
|
|
165
|
+
if (left === null || right === null)
|
|
166
|
+
return selected;
|
|
167
|
+
return compareSemanticVersions(right, left) > 0 ? candidate : selected;
|
|
168
|
+
}, undefined);
|
|
169
|
+
}
|
|
170
|
+
/*** Return the exact minimum version represented by Studio's managed exact/caret/tilde ranges. */
|
|
171
|
+
function managedRangeFloor(range) {
|
|
172
|
+
const exact = range.startsWith('^') || range.startsWith('~') ? range.slice(1) : range;
|
|
173
|
+
return parseSemanticVersion(exact) === null ? undefined : exact;
|
|
174
|
+
}
|
|
175
|
+
/*** Test current versions against exact/caret/tilde range shapes emitted by Studio policy. */
|
|
176
|
+
function versionSatisfiesManagedRange(version, range) {
|
|
177
|
+
if (range.startsWith('^'))
|
|
178
|
+
return satisfiesCaretSemverRange(version, range);
|
|
179
|
+
const candidate = parseSemanticVersion(version);
|
|
180
|
+
const minimum = parseSemanticVersion(range.startsWith('~') ? range.slice(1) : range);
|
|
181
|
+
if (candidate === null || minimum === null)
|
|
182
|
+
return false;
|
|
183
|
+
if (!range.startsWith('~'))
|
|
184
|
+
return compareSemanticVersions(candidate, minimum) === 0;
|
|
185
|
+
return (compareSemanticVersions(candidate, minimum) >= 0 &&
|
|
186
|
+
candidate.major === minimum.major &&
|
|
187
|
+
candidate.minor === minimum.minor);
|
|
188
|
+
}
|
|
189
|
+
/*** Build an incomplete generated-policy slice with one stable protocol blocker. */
|
|
190
|
+
function blockedPlanSlice(code, reason, evidence) {
|
|
191
|
+
return {
|
|
192
|
+
...EMPTY_PLAN_SLICE,
|
|
193
|
+
blockers: [protocolPlanBlocker(code, reason, evidence)],
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
/*** Build one package-policy planning blocker with stable protocol ownership. */
|
|
197
|
+
function protocolPlanBlocker(code, reason, evidence) {
|
|
198
|
+
return {
|
|
199
|
+
code,
|
|
200
|
+
scope: { kind: 'projection', id: STUDIO_GENERATED_PACKAGE_POLICY_PROJECTION_ID },
|
|
201
|
+
evidence,
|
|
202
|
+
reason,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/*** Return an empty protocol result for composition around ownerless projects. */
|
|
206
|
+
function emptyProtocolResult() {
|
|
207
|
+
return {
|
|
208
|
+
complete: true,
|
|
209
|
+
requiredSelections: [],
|
|
210
|
+
files: [],
|
|
211
|
+
artifacts: [],
|
|
212
|
+
steps: [],
|
|
213
|
+
effects: [],
|
|
214
|
+
findings: [],
|
|
215
|
+
blockers: [],
|
|
216
|
+
diagnostics: [],
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=createStudioGeneratedPackagePolicyProtocolPort.js.map
|