@ankhorage/studio 6.0.2 → 7.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/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/infrastructure/adapters/outbound/createStudioInfraAdapterPackageResolver.d.ts +4 -1
- package/dist/features/infrastructure/adapters/outbound/createStudioInfraAdapterPackageResolver.d.ts.map +1 -1
- package/dist/features/infrastructure/adapters/outbound/createStudioInfraAdapterPackageResolver.js +10 -2
- package/dist/features/infrastructure/adapters/outbound/createStudioInfraAdapterPackageResolver.js.map +1 -1
- package/dist/features/infrastructure/composition/createStudioProjectInfraLifecycle.d.ts +5 -1
- package/dist/features/infrastructure/composition/createStudioProjectInfraLifecycle.d.ts.map +1 -1
- package/dist/features/infrastructure/composition/createStudioProjectInfraLifecycle.js +4 -3
- package/dist/features/infrastructure/composition/createStudioProjectInfraLifecycle.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 +13 -25
- 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/createScopedBunSupabaseVaultClient.d.ts +10 -0
- package/dist/host/secrets/createScopedBunSupabaseVaultClient.d.ts.map +1 -0
- package/dist/host/secrets/createScopedBunSupabaseVaultClient.js +32 -0
- package/dist/host/secrets/createScopedBunSupabaseVaultClient.js.map +1 -0
- 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/domain/readStudioGeneratedPackagePolicyStatusSource.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ApmStatusDependency } from '@ankhorage/apm/types';
|
|
2
|
+
import type { StudioGeneratedPackagePolicySource } from '../../../types/project-updates';
|
|
3
|
+
/*** Resolve the unique direct Studio package identity from evaluated APM status evidence. */
|
|
4
|
+
export declare function readStudioGeneratedPackagePolicyStatusSource(dependencies: readonly ApmStatusDependency[]): StudioGeneratedPackagePolicySource | undefined;
|
|
5
|
+
//# sourceMappingURL=readStudioGeneratedPackagePolicyStatusSource.d.ts.map
|
package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readStudioGeneratedPackagePolicyStatusSource.d.ts","sourceRoot":"","sources":["../../../../src/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AAGzF,6FAA6F;AAC7F,wBAAgB,4CAA4C,CAC1D,YAAY,EAAE,SAAS,mBAAmB,EAAE,GAC3C,kCAAkC,GAAG,SAAS,CAiBhD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { STUDIO_PACKAGE_NAME } from '../constants';
|
|
2
|
+
/*** Resolve the unique direct Studio package identity from evaluated APM status evidence. */
|
|
3
|
+
export function readStudioGeneratedPackagePolicyStatusSource(dependencies) {
|
|
4
|
+
const candidates = dependencies.filter((dependency) => dependency.direct &&
|
|
5
|
+
dependency.name === STUDIO_PACKAGE_NAME &&
|
|
6
|
+
dependency.declaration !== undefined);
|
|
7
|
+
const [dependency] = candidates;
|
|
8
|
+
const version = dependency?.lockedVersion ?? dependency?.installed.version;
|
|
9
|
+
return candidates.length === 1 && dependency?.declaration !== undefined && version !== undefined
|
|
10
|
+
? {
|
|
11
|
+
packageId: dependency.packageId,
|
|
12
|
+
installRootId: dependency.installRootId,
|
|
13
|
+
ownerPath: dependency.declaration.ownerPath,
|
|
14
|
+
version,
|
|
15
|
+
}
|
|
16
|
+
: undefined;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=readStudioGeneratedPackagePolicyStatusSource.js.map
|
package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readStudioGeneratedPackagePolicyStatusSource.js","sourceRoot":"","sources":["../../../../src/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,6FAA6F;AAC7F,MAAM,UAAU,4CAA4C,CAC1D,YAA4C;IAE5C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CACpC,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,IAAI,KAAK,mBAAmB;QACvC,UAAU,CAAC,WAAW,KAAK,SAAS,CACvC,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;IAChC,MAAM,OAAO,GAAG,UAAU,EAAE,aAAa,IAAI,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC;IAC3E,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,EAAE,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;QAC9F,CAAC,CAAC;YACE,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS;YAC3C,OAAO;SACR;QACH,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { EndpointTestCredentialResolver } from '@ankhorage/data-sources';
|
|
|
2
2
|
import type { ProjectSecretService } from '../secrets/projectSecretService';
|
|
3
3
|
/***
|
|
4
4
|
* Adapt one Studio project's secret resolver to the credential lookup contract used by external endpoint tests.
|
|
5
|
-
*
|
|
5
|
+
* TODO: Keep this secret/data-source adapter at the external-apis host edge when the Studio domains are reorganized.
|
|
6
6
|
*/
|
|
7
7
|
export declare function createProjectEndpointCredentialResolver(args: {
|
|
8
8
|
readonly projectId: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/***
|
|
2
2
|
* Adapt one Studio project's secret resolver to the credential lookup contract used by external endpoint tests.
|
|
3
|
-
*
|
|
3
|
+
* TODO: Keep this secret/data-source adapter at the external-apis host edge when the Studio domains are reorganized.
|
|
4
4
|
*/
|
|
5
5
|
export function createProjectEndpointCredentialResolver(args) {
|
|
6
6
|
return async (credential) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EndpointTestFetch } from '@ankhorage/data-sources';
|
|
2
2
|
/***
|
|
3
3
|
* Adapt Studio's trusted external HTTP transport to the endpoint-test fetch contract.
|
|
4
|
-
*
|
|
4
|
+
* TODO: Keep this thin data-source adapter at the external-apis host edge.
|
|
5
5
|
*/
|
|
6
6
|
export declare function createTrustedEndpointTestFetch(): EndpointTestFetch;
|
|
7
7
|
//# sourceMappingURL=createTrustedEndpointTestFetch.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { requestTrustedExternalApi } from './requestTrustedExternalApi';
|
|
2
2
|
/***
|
|
3
3
|
* Adapt Studio's trusted external HTTP transport to the endpoint-test fetch contract.
|
|
4
|
-
*
|
|
4
|
+
* TODO: Keep this thin data-source adapter at the external-apis host edge.
|
|
5
5
|
*/
|
|
6
6
|
export function createTrustedEndpointTestFetch() {
|
|
7
7
|
return (url, init) => requestTrustedExternalApi(url, init);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ExternalApiFetch } from '@ankhorage/data-sources';
|
|
2
2
|
/***
|
|
3
3
|
* Adapt Studio's trusted external HTTP transport to the external-API discovery fetch contract.
|
|
4
|
-
*
|
|
4
|
+
* TODO: Keep this thin data-source adapter at the external-apis host edge.
|
|
5
5
|
*/
|
|
6
6
|
export declare function createTrustedExternalApiFetch(): ExternalApiFetch;
|
|
7
7
|
//# sourceMappingURL=createTrustedExternalApiFetch.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { requestTrustedExternalApi } from './requestTrustedExternalApi';
|
|
2
2
|
/***
|
|
3
3
|
* Adapt Studio's trusted external HTTP transport to the external-API discovery fetch contract.
|
|
4
|
-
*
|
|
4
|
+
* TODO: Keep this thin data-source adapter at the external-apis host edge.
|
|
5
5
|
*/
|
|
6
6
|
export function createTrustedExternalApiFetch() {
|
|
7
7
|
return (url, init) => requestTrustedExternalApi(url, init);
|
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*/
|
|
5
|
-
export declare function requestTrustedExternalApi(rawUrl: string, init: {
|
|
6
|
-
readonly method: string;
|
|
7
|
-
readonly headers: Readonly<Record<string, string>>;
|
|
8
|
-
readonly body?: string;
|
|
9
|
-
}, options?: {
|
|
10
|
-
readonly timeoutMs?: number;
|
|
11
|
-
readonly maxResponseBytes?: number;
|
|
12
|
-
}): Promise<{
|
|
1
|
+
import { type TrustedHttpRequestInit, type TrustedHttpRequestOptions } from '@ankhorage/utility/http';
|
|
2
|
+
/*** Execute an external API request through the shared trusted HTTP transport. */
|
|
3
|
+
export declare function requestTrustedExternalApi(rawUrl: string, init: TrustedHttpRequestInit, options?: Pick<TrustedHttpRequestOptions, 'timeoutMs' | 'maxResponseBytes'>): Promise<{
|
|
13
4
|
readonly status: number;
|
|
14
5
|
text(): Promise<string>;
|
|
15
6
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestTrustedExternalApi.d.ts","sourceRoot":"","sources":["../../../src/host/apis/requestTrustedExternalApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestTrustedExternalApi.d.ts","sourceRoot":"","sources":["../../../src/host/apis/requestTrustedExternalApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC/B,MAAM,yBAAyB,CAAC;AAEjC,kFAAkF;AAClF,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,sBAAsB,EAC5B,OAAO,GAAE,IAAI,CAAC,yBAAyB,EAAE,WAAW,GAAG,kBAAkB,CAAM,GAC9E,OAAO,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAE/D"}
|
|
@@ -1,56 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const BLOCKED_HOSTNAMES = new Set([
|
|
4
|
-
'100.100.100.200',
|
|
5
|
-
'169.254.169.254',
|
|
6
|
-
'[fd00:ec2::254]',
|
|
7
|
-
'metadata.google.internal',
|
|
8
|
-
]);
|
|
9
|
-
/***
|
|
10
|
-
* Execute a credential-free, redirect-rejecting external HTTP request with timeout, target, and response-size safeguards.
|
|
11
|
-
* @utility @ankhorage/utility/http
|
|
12
|
-
*/
|
|
1
|
+
import { requestTrustedHttp, } from '@ankhorage/utility/http';
|
|
2
|
+
/*** Execute an external API request through the shared trusted HTTP transport. */
|
|
13
3
|
export async function requestTrustedExternalApi(rawUrl, init, options = {}) {
|
|
14
|
-
|
|
15
|
-
const response = await fetch(url, {
|
|
16
|
-
method: init.method,
|
|
17
|
-
headers: init.headers,
|
|
18
|
-
body: init.body,
|
|
19
|
-
credentials: 'omit',
|
|
20
|
-
redirect: 'error',
|
|
21
|
-
signal: AbortSignal.timeout(options.timeoutMs ?? DEFAULT_TIMEOUT_MS),
|
|
22
|
-
});
|
|
23
|
-
const maxBytes = options.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES;
|
|
24
|
-
const textPromise = readLimitedResponseText(response, maxBytes);
|
|
25
|
-
return { status: response.status, text: () => textPromise };
|
|
26
|
-
}
|
|
27
|
-
/***
|
|
28
|
-
* Parse an HTTP(S) URL while rejecting inline credentials and caller-blocked sensitive hosts.
|
|
29
|
-
* @utility @ankhorage/utility/url
|
|
30
|
-
*/
|
|
31
|
-
function parseTrustedUrl(rawUrl) {
|
|
32
|
-
const url = new URL(rawUrl);
|
|
33
|
-
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
34
|
-
throw new Error('External API transport supports HTTP and HTTPS only.');
|
|
35
|
-
}
|
|
36
|
-
if (url.username || url.password || BLOCKED_HOSTNAMES.has(url.hostname.toLowerCase())) {
|
|
37
|
-
throw new Error('External API target is blocked by the trusted transport policy.');
|
|
38
|
-
}
|
|
39
|
-
return url;
|
|
40
|
-
}
|
|
41
|
-
/***
|
|
42
|
-
* Read a response body as text while rejecting declared or measured payload sizes above a limit.
|
|
43
|
-
* @utility @ankhorage/utility/http
|
|
44
|
-
*/
|
|
45
|
-
async function readLimitedResponseText(response, maxBytes) {
|
|
46
|
-
const contentLength = Number(response.headers.get('content-length'));
|
|
47
|
-
if (Number.isFinite(contentLength) && contentLength > maxBytes) {
|
|
48
|
-
throw new Error('External API response exceeds the configured size limit.');
|
|
49
|
-
}
|
|
50
|
-
const bytes = await response.arrayBuffer();
|
|
51
|
-
if (bytes.byteLength > maxBytes) {
|
|
52
|
-
throw new Error('External API response exceeds the configured size limit.');
|
|
53
|
-
}
|
|
54
|
-
return new TextDecoder().decode(bytes);
|
|
4
|
+
return requestTrustedHttp(rawUrl, init, options);
|
|
55
5
|
}
|
|
56
6
|
//# sourceMappingURL=requestTrustedExternalApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestTrustedExternalApi.js","sourceRoot":"","sources":["../../../src/host/apis/requestTrustedExternalApi.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"requestTrustedExternalApi.js","sourceRoot":"","sources":["../../../src/host/apis/requestTrustedExternalApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAGnB,MAAM,yBAAyB,CAAC;AAEjC,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,IAA4B,EAC5B,UAA6E,EAAE;IAE/E,OAAO,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { EndpointTestResult } from '@ankhorage/data-sources';
|
|
|
2
2
|
import type { ExternalApiOperationTestResult } from '../../externalApiAuthoringContracts';
|
|
3
3
|
/***
|
|
4
4
|
* Project an endpoint-test result into the Studio authoring response while removing sensitive request details.
|
|
5
|
-
*
|
|
5
|
+
* TODO: Keep this external-API response projection with the external-apis application/host boundary.
|
|
6
6
|
*/
|
|
7
7
|
export declare function sanitizeExternalApiOperationTestResult(result: EndpointTestResult): ExternalApiOperationTestResult;
|
|
8
8
|
//# sourceMappingURL=sanitizeExternalApiOperationTestResult.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { redactUrlQueryValues } from '@ankhorage/utility/url';
|
|
2
2
|
/***
|
|
3
3
|
* Project an endpoint-test result into the Studio authoring response while removing sensitive request details.
|
|
4
|
-
*
|
|
4
|
+
* TODO: Keep this external-API response projection with the external-apis application/host boundary.
|
|
5
5
|
*/
|
|
6
6
|
export function sanitizeExternalApiOperationTestResult(result) {
|
|
7
7
|
const request = result.request
|
|
@@ -9,7 +9,7 @@ export declare class StudioExternalApiService {
|
|
|
9
9
|
private readonly secretService?;
|
|
10
10
|
/***
|
|
11
11
|
* Create the Studio host service that owns external-API discovery, testing, and manifest persistence.
|
|
12
|
-
*
|
|
12
|
+
* Follow-up: Move this service from the generic host subtree to the external-apis domain's host adapter.
|
|
13
13
|
*/
|
|
14
14
|
constructor(options: {
|
|
15
15
|
readonly projectManager: Pick<ProjectManager, 'getProjectManifest' | 'persistProjectManifest'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studioExternalApiService.d.ts","sourceRoot":"","sources":["../../../src/host/apis/studioExternalApiService.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"studioExternalApiService.d.ts","sourceRoot":"","sources":["../../../src/host/apis/studioExternalApiService.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAa5E,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAwC;IAEvE;;;OAGG;gBACS,OAAO,EAAE;QACnB,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,GAAG,wBAAwB,CAAC,CAAC;QAC/F,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;QAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;KAChE;IAOD,gHAAgH;IAC1G,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAYpC,wFAAwF;IAClF,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,wBAAwB,CAAC;IA6BpC,0HAA0H;IACpH,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,yBAAyB,CAAC;IA6BrC,+EAA+E;IACzE,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IAsBrC,mHAAmH;IAC7G,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC;IAuB1C,gFAAgF;IAChF,OAAO,CAAC,eAAe;IAWvB,4FAA4F;YAC9E,cAAc;IAuB5B,sGAAsG;YACxF,OAAO;CAqBtB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createManualRestApi, discoverOpenApi, introspectGraphQlApi, testEndpoint, } from '@ankhorage/data-sources';
|
|
2
2
|
import { readOwnProperty } from '@ankhorage/utility/object';
|
|
3
|
+
import { asNonEmptyString } from '@ankhorage/utility/value';
|
|
3
4
|
import { normalizeExternalApiId } from '../../normalizeExternalApiId';
|
|
4
5
|
import { removeExternalApi } from '../../removeExternalApi';
|
|
5
6
|
import { upsertExternalApi } from '../../upsertExternalApi';
|
|
@@ -14,7 +15,7 @@ export class StudioExternalApiService {
|
|
|
14
15
|
secretService;
|
|
15
16
|
/***
|
|
16
17
|
* Create the Studio host service that owns external-API discovery, testing, and manifest persistence.
|
|
17
|
-
*
|
|
18
|
+
* Follow-up: Move this service from the generic host subtree to the external-apis domain's host adapter.
|
|
18
19
|
*/
|
|
19
20
|
constructor(options) {
|
|
20
21
|
this.projectManager = options.projectManager;
|
|
@@ -45,8 +46,8 @@ export class StudioExternalApiService {
|
|
|
45
46
|
const result = createManualRestApi({
|
|
46
47
|
id: normalized.apiId,
|
|
47
48
|
baseUrl: request.baseUrl,
|
|
48
|
-
name:
|
|
49
|
-
description:
|
|
49
|
+
name: asNonEmptyString(request.name),
|
|
50
|
+
description: asNonEmptyString(request.description),
|
|
50
51
|
credential: request.credential,
|
|
51
52
|
endpoints: [
|
|
52
53
|
{
|
|
@@ -84,8 +85,8 @@ export class StudioExternalApiService {
|
|
|
84
85
|
const updated = {
|
|
85
86
|
...api,
|
|
86
87
|
baseUrl,
|
|
87
|
-
name:
|
|
88
|
-
description:
|
|
88
|
+
name: asNonEmptyString(request.name),
|
|
89
|
+
description: asNonEmptyString(request.description),
|
|
89
90
|
credential: request.credential,
|
|
90
91
|
};
|
|
91
92
|
const upsert = upsertExternalApi(manifest.infra.apis ?? {}, updated);
|
|
@@ -146,8 +147,8 @@ export class StudioExternalApiService {
|
|
|
146
147
|
id: request.apiId,
|
|
147
148
|
url: request.url,
|
|
148
149
|
fetch: this.discoveryFetch,
|
|
149
|
-
name:
|
|
150
|
-
description:
|
|
150
|
+
name: asNonEmptyString(request.name),
|
|
151
|
+
description: asNonEmptyString(request.description),
|
|
151
152
|
credential: request.credential,
|
|
152
153
|
});
|
|
153
154
|
}
|
|
@@ -157,8 +158,8 @@ export class StudioExternalApiService {
|
|
|
157
158
|
id: request.apiId,
|
|
158
159
|
endpointUrl: request.url,
|
|
159
160
|
fetch: this.discoveryFetch,
|
|
160
|
-
name:
|
|
161
|
-
description:
|
|
161
|
+
name: asNonEmptyString(request.name),
|
|
162
|
+
description: asNonEmptyString(request.description),
|
|
162
163
|
credential: request.credential,
|
|
163
164
|
});
|
|
164
165
|
return result.ok
|
|
@@ -255,12 +256,4 @@ function normalizeExternalApiUrl(value) {
|
|
|
255
256
|
return null;
|
|
256
257
|
}
|
|
257
258
|
}
|
|
258
|
-
/***
|
|
259
|
-
* Trim an optional string and normalize blank values to undefined.
|
|
260
|
-
* @utility @ankhorage/utility/value
|
|
261
|
-
*/
|
|
262
|
-
function clean(value) {
|
|
263
|
-
const normalized = value?.trim();
|
|
264
|
-
return normalized === '' ? undefined : normalized;
|
|
265
|
-
}
|
|
266
259
|
//# sourceMappingURL=studioExternalApiService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studioExternalApiService.js","sourceRoot":"","sources":["../../../src/host/apis/studioExternalApiService.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,eAAe,EAGf,oBAAoB,EACpB,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAY5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AASlG,MAAM,OAAO,wBAAwB;IAClB,cAAc,CAA0B;IACxC,cAAc,CAAmB;IACjC,aAAa,CAAoB;IACjC,aAAa,CAAyC;IAEvE;;;OAGG;IACH,YAAY,OAKX;QACC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,6BAA6B,EAAE,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,8BAA8B,EAAE,CAAC;QAC/E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,gHAAgH;IAChH,KAAK,CAAC,OAAO,CACX,SAAiB,EACjB,OAAkC;QAElC,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,OAAO,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QAEtD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACtF,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,gBAAgB,CACpB,SAAiB,EACjB,OAA6B;QAE7B,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,OAAO,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,EAAE,EAAE,UAAU,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"studioExternalApiService.js","sourceRoot":"","sources":["../../../src/host/apis/studioExternalApiService.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare class ProjectAuthHealthService {
|
|
|
7
7
|
private readonly secretService;
|
|
8
8
|
/***
|
|
9
9
|
* Create the Studio host service that combines authored Auth state, secret availability, and provider-neutral Infra diagnostics.
|
|
10
|
-
*
|
|
10
|
+
* TODO: Move this service under the auth domain's host/application boundary.
|
|
11
11
|
*/
|
|
12
12
|
constructor(options: {
|
|
13
13
|
readonly projectManager: ProjectAuthHealthManager;
|
|
@@ -8,7 +8,7 @@ export class ProjectAuthHealthService {
|
|
|
8
8
|
secretService;
|
|
9
9
|
/***
|
|
10
10
|
* Create the Studio host service that combines authored Auth state, secret availability, and provider-neutral Infra diagnostics.
|
|
11
|
-
*
|
|
11
|
+
* TODO: Move this service under the auth domain's host/application boundary.
|
|
12
12
|
*/
|
|
13
13
|
constructor(options) {
|
|
14
14
|
this.projectManager = options.projectManager;
|
|
@@ -6,7 +6,7 @@ export interface CreateStudioHostOptions {
|
|
|
6
6
|
}
|
|
7
7
|
/***
|
|
8
8
|
* Compose the Studio host edge from project, module, update, deploy, and infrastructure lifecycle owners.
|
|
9
|
-
*
|
|
9
|
+
* TODO: Keep this as thin host composition while moving domain services out of host-owned folders.
|
|
10
10
|
*/
|
|
11
11
|
export declare function createStudioHost(options: CreateStudioHostOptions): {
|
|
12
12
|
workspaceRoot: string;
|
|
@@ -5,7 +5,7 @@ import { ModuleManager } from './orchestrator/moduleManager';
|
|
|
5
5
|
import { ProjectManager } from './orchestrator/projectManager';
|
|
6
6
|
/***
|
|
7
7
|
* Compose the Studio host edge from project, module, update, deploy, and infrastructure lifecycle owners.
|
|
8
|
-
*
|
|
8
|
+
* TODO: Keep this as thin host composition while moving domain services out of host-owned folders.
|
|
9
9
|
*/
|
|
10
10
|
export function createStudioHost(options) {
|
|
11
11
|
const projectManager = new ProjectManager(options.workspaceRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeProjectDeploySecret.d.ts","sourceRoot":"","sources":["../../../src/host/deploy/serializeProjectDeploySecret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"serializeProjectDeploySecret.d.ts","sourceRoot":"","sources":["../../../src/host/deploy/serializeProjectDeploySecret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGvE,sGAAsG;AACtG,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,6BAA6B,EACxC,OAAO,EAAE,aAAa,GACrB,MAAM,GAAG,IAAI,CAKf"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
+
import { asNonEmptyString } from '@ankhorage/utility/value';
|
|
1
2
|
/*** Serialize one Deploy credential payload using provider-specific token semantics when required. */
|
|
2
3
|
export function serializeProjectDeploySecret(reference, payload) {
|
|
3
4
|
if (reference.provider === 'eas' && reference.kind === 'expo-token') {
|
|
4
|
-
return
|
|
5
|
+
return asNonEmptyString(payload.token) ?? null;
|
|
5
6
|
}
|
|
6
7
|
return JSON.stringify(payload);
|
|
7
8
|
}
|
|
8
|
-
/***
|
|
9
|
-
* Normalize an optional string to a trimmed non-empty value or null.
|
|
10
|
-
* @utility @ankhorage/utility/value
|
|
11
|
-
*/
|
|
12
|
-
function nonEmpty(value) {
|
|
13
|
-
const normalized = value?.trim();
|
|
14
|
-
return normalized === undefined || normalized.length === 0 ? null : normalized;
|
|
15
|
-
}
|
|
16
9
|
//# sourceMappingURL=serializeProjectDeploySecret.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeProjectDeploySecret.js","sourceRoot":"","sources":["../../../src/host/deploy/serializeProjectDeploySecret.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serializeProjectDeploySecret.js","sourceRoot":"","sources":["../../../src/host/deploy/serializeProjectDeploySecret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,sGAAsG;AACtG,MAAM,UAAU,4BAA4B,CAC1C,SAAwC,EACxC,OAAsB;IAEtB,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpE,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { StudioExternalApiService } from '../apis/studioExternalApiService';
|
|
|
3
3
|
import type { ProjectManager } from '../orchestrator/projectManager';
|
|
4
4
|
/***
|
|
5
5
|
* Register Studio external-API connect/manual/settings/remove/test HTTP adapters around the external API service.
|
|
6
|
-
*
|
|
6
|
+
* Follow-up: Keep this Fastify adapter at the host edge while moving reusable parsing/response primitives to their shared owners.
|
|
7
7
|
*/
|
|
8
8
|
export declare function registerProjectApiRoutes(fastify: FastifyInstance, options: {
|
|
9
9
|
readonly projectManager: ProjectManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiRoutes.d.ts","sourceRoot":"","sources":["../../../src/host/http/apiRoutes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apiRoutes.d.ts","sourceRoot":"","sources":["../../../src/host/http/apiRoutes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAS7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;IACP,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC;CAC7C,GACA,IAAI,CA6CN"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { asRecord } from '@ankhorage/utility/object';
|
|
2
|
+
import { isNonEmptyString } from '@ankhorage/utility/string';
|
|
1
3
|
import { StudioExternalApiService } from '../apis/studioExternalApiService';
|
|
2
4
|
import { ProjectSecretService } from '../secrets/projectSecretService';
|
|
3
5
|
/***
|
|
4
6
|
* Register Studio external-API connect/manual/settings/remove/test HTTP adapters around the external API service.
|
|
5
|
-
*
|
|
7
|
+
* Follow-up: Keep this Fastify adapter at the host edge while moving reusable parsing/response primitives to their shared owners.
|
|
6
8
|
*/
|
|
7
9
|
export function registerProjectApiRoutes(fastify, options) {
|
|
8
10
|
const service = options.service ??
|
|
@@ -51,14 +53,14 @@ export function registerProjectApiRoutes(fastify, options) {
|
|
|
51
53
|
}
|
|
52
54
|
/***
|
|
53
55
|
* Read one named string route parameter from a Fastify request params object.
|
|
54
|
-
*
|
|
56
|
+
* Utility candidate: @ankhorage/utility/http/fastify
|
|
55
57
|
*/
|
|
56
58
|
function readProjectId(request) {
|
|
57
59
|
return request.params.id;
|
|
58
60
|
}
|
|
59
61
|
/***
|
|
60
62
|
* Return a successful `{ok}` result directly or send failed results with a configurable semantic HTTP status.
|
|
61
|
-
*
|
|
63
|
+
* Utility candidate: @ankhorage/utility/http/fastify
|
|
62
64
|
*/
|
|
63
65
|
function sendResult(reply, result) {
|
|
64
66
|
return result.ok ? result : reply.status(422).send(result);
|
|
@@ -73,7 +75,7 @@ function invalidPayload(reply, message) {
|
|
|
73
75
|
}
|
|
74
76
|
/*** Parse an unknown connect payload into the external-API authoring contract. */
|
|
75
77
|
function readConnectRequest(value) {
|
|
76
|
-
const record =
|
|
78
|
+
const record = asRecord(value);
|
|
77
79
|
const protocol = record?.protocol;
|
|
78
80
|
if (!record ||
|
|
79
81
|
typeof record.apiId !== 'string' ||
|
|
@@ -92,7 +94,7 @@ function readConnectRequest(value) {
|
|
|
92
94
|
}
|
|
93
95
|
/*** Parse editable settings for one existing manually authored REST API. */
|
|
94
96
|
function readManualRestSettingsRequest(value) {
|
|
95
|
-
const record =
|
|
97
|
+
const record = asRecord(value);
|
|
96
98
|
if (!record || typeof record.apiId !== 'string' || typeof record.baseUrl !== 'string')
|
|
97
99
|
return null;
|
|
98
100
|
return {
|
|
@@ -105,12 +107,12 @@ function readManualRestSettingsRequest(value) {
|
|
|
105
107
|
}
|
|
106
108
|
/*** Parse an unknown external API removal payload into the canonical Studio authoring contract. */
|
|
107
109
|
function readRemoveRequest(value) {
|
|
108
|
-
const record =
|
|
110
|
+
const record = asRecord(value);
|
|
109
111
|
return record && typeof record.apiId === 'string' ? { apiId: record.apiId } : null;
|
|
110
112
|
}
|
|
111
113
|
/*** Parse an unknown manual REST payload into the external-API authoring contract. */
|
|
112
114
|
function readManualRestRequest(value) {
|
|
113
|
-
const record =
|
|
115
|
+
const record = asRecord(value);
|
|
114
116
|
if (!record ||
|
|
115
117
|
typeof record.apiId !== 'string' ||
|
|
116
118
|
typeof record.baseUrl !== 'string' ||
|
|
@@ -136,7 +138,7 @@ function readManualRestRequest(value) {
|
|
|
136
138
|
}
|
|
137
139
|
/*** Parse an unknown operation-test payload into the external-API authoring contract. */
|
|
138
140
|
function readOperationTestRequest(value) {
|
|
139
|
-
const record =
|
|
141
|
+
const record = asRecord(value);
|
|
140
142
|
if (!record ||
|
|
141
143
|
typeof record.apiId !== 'string' ||
|
|
142
144
|
typeof record.endpointId !== 'string' ||
|
|
@@ -156,7 +158,7 @@ function readOperationTestRequest(value) {
|
|
|
156
158
|
}
|
|
157
159
|
/*** Parse optional credential metadata from an unknown external-API payload. */
|
|
158
160
|
function readCredential(value) {
|
|
159
|
-
const record =
|
|
161
|
+
const record = asRecord(value);
|
|
160
162
|
if (!record || typeof record.id !== 'string' || typeof record.kind !== 'string')
|
|
161
163
|
return undefined;
|
|
162
164
|
return {
|
|
@@ -168,31 +170,31 @@ function readCredential(value) {
|
|
|
168
170
|
}
|
|
169
171
|
/***
|
|
170
172
|
* Parse an optional record whose values satisfy the shared DataContractValue contract.
|
|
171
|
-
*
|
|
173
|
+
* Follow-up: Move this reusable data-contract parser beside `DataContractValue` in `@ankhorage/contracts/data` rather than Utility.
|
|
172
174
|
*/
|
|
173
175
|
function readDataValues(value) {
|
|
174
176
|
if (value === undefined)
|
|
175
177
|
return undefined;
|
|
176
|
-
const record =
|
|
178
|
+
const record = asRecord(value);
|
|
177
179
|
if (!record || !Object.values(record).every(isDataContractValue))
|
|
178
180
|
return undefined;
|
|
179
181
|
return record;
|
|
180
182
|
}
|
|
181
183
|
/***
|
|
182
184
|
* Recursively validate the shared DataContractValue union.
|
|
183
|
-
*
|
|
185
|
+
* Follow-up: Move this reusable guard to `@ankhorage/contracts/data`; the same implementation already appears elsewhere in Studio.
|
|
184
186
|
*/
|
|
185
187
|
function isDataContractValue(value) {
|
|
186
188
|
if (value === null || ['boolean', 'number', 'string'].includes(typeof value))
|
|
187
189
|
return true;
|
|
188
190
|
if (Array.isArray(value))
|
|
189
191
|
return value.every(isDataContractValue);
|
|
190
|
-
const record =
|
|
191
|
-
return record !==
|
|
192
|
+
const record = asRecord(value);
|
|
193
|
+
return record !== undefined && Object.values(record).every(isDataContractValue);
|
|
192
194
|
}
|
|
193
195
|
/***
|
|
194
196
|
* Validate the DataOperationIntent literal union.
|
|
195
|
-
*
|
|
197
|
+
* Follow-up: Move this guard beside `DataOperationIntent` in `@ankhorage/contracts/data`.
|
|
196
198
|
*/
|
|
197
199
|
function isIntent(value) {
|
|
198
200
|
return (value === 'action' ||
|
|
@@ -201,20 +203,8 @@ function isIntent(value) {
|
|
|
201
203
|
value === 'read' ||
|
|
202
204
|
value === 'update');
|
|
203
205
|
}
|
|
204
|
-
/***
|
|
205
|
-
* Narrow an unknown non-array object to a string-keyed record.
|
|
206
|
-
* @utility @ankhorage/utility/object
|
|
207
|
-
*/
|
|
208
|
-
function readRecord(value) {
|
|
209
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value)
|
|
210
|
-
? value
|
|
211
|
-
: null;
|
|
212
|
-
}
|
|
213
|
-
/***
|
|
214
|
-
* Read a trimmed non-empty string from an unknown value.
|
|
215
|
-
* @utility @ankhorage/utility/string
|
|
216
|
-
*/
|
|
206
|
+
/*** Read a trimmed non-empty string from an external API request value. */
|
|
217
207
|
function readString(value) {
|
|
218
|
-
return
|
|
208
|
+
return isNonEmptyString(value) ? value.trim() : undefined;
|
|
219
209
|
}
|
|
220
210
|
//# sourceMappingURL=apiRoutes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiRoutes.js","sourceRoot":"","sources":["../../../src/host/http/apiRoutes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apiRoutes.js","sourceRoot":"","sources":["../../../src/host/http/apiRoutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAU7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAwB,EACxB,OAIC;IAED,MAAM,OAAO,GACX,OAAO,CAAC,OAAO;QACf,IAAI,wBAAwB,CAAC;YAC3B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,aAAa,EAAE,IAAI,oBAAoB,CAAC;gBACtC,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC;SACH,CAAC,CAAC;IAEL,uEAAuE;IACvE,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACtE,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;QACvF,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;QAC/E,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,wGAAwG;IACxG,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACnF,MAAM,IAAI,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,CAAC,KAAK,EAAE,8CAA8C,CAAC,CAAC;QACxF,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAC;QACpF,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACnE,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,CAAC,KAAK,EAAE,wCAAwC,CAAC,CAAC;QAClF,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAuB;IAC5C,OAAQ,OAAO,CAAC,MAAkC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAmB,EAAE,MAAgC;IACvE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED,sFAAsF;AACtF,SAAS,cAAc,CAAC,KAAmB,EAAE,OAAe;IAC1D,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAC5B,EAAE,EAAE,KAAK;QACT,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;KACtE,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;IAClC,IACE,CAAC,MAAM;QACP,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;QAC9B,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,EACzE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ;QACR,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,6BAA6B,CAAC,KAAc;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QACnF,OAAO,IAAI,CAAC;IACd,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrF,CAAC;AAED,sFAAsF;AACtF,SAAS,qBAAqB,CAAC,KAAc;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IACE,CAAC,MAAM;QACP,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QAClC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,SAAS,wBAAwB,CAAC,KAAc;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IACE,CAAC,MAAM;QACP,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAClG,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAAE,OAAO,SAAS,CAAC;IACnF,OAAO,MAAqD,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,MAAM;QAChB,KAAK,KAAK,QAAQ,CACnB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC"}
|