@ankhorage/deploy 0.1.0 → 0.3.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/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/dist/domain/DeploymentAuthenticationState.d.ts +8 -0
- package/dist/domain/DeploymentAuthenticationState.d.ts.map +1 -0
- package/dist/domain/DeploymentAuthenticationState.js +2 -0
- package/dist/domain/DeploymentAuthenticationState.js.map +1 -0
- package/dist/domain/DeploymentCredentialReference.d.ts +6 -0
- package/dist/domain/DeploymentCredentialReference.d.ts.map +1 -0
- package/dist/domain/DeploymentCredentialReference.js +2 -0
- package/dist/domain/DeploymentCredentialReference.js.map +1 -0
- package/dist/domain/DeploymentProviderCapabilityState.d.ts +7 -0
- package/dist/domain/DeploymentProviderCapabilityState.d.ts.map +1 -0
- package/dist/domain/DeploymentProviderCapabilityState.js +2 -0
- package/dist/domain/DeploymentProviderCapabilityState.js.map +1 -0
- package/dist/domain/DeploymentProviderSetupAdapter.d.ts +7 -0
- package/dist/domain/DeploymentProviderSetupAdapter.d.ts.map +1 -0
- package/dist/domain/DeploymentProviderSetupAdapter.js +2 -0
- package/dist/domain/DeploymentProviderSetupAdapter.js.map +1 -0
- package/dist/domain/DeploymentProviderSetupContext.d.ts +9 -0
- package/dist/domain/DeploymentProviderSetupContext.d.ts.map +1 -0
- package/dist/domain/DeploymentProviderSetupContext.js +2 -0
- package/dist/domain/DeploymentProviderSetupContext.js.map +1 -0
- package/dist/domain/DeploymentProviderSetupInspection.d.ts +10 -0
- package/dist/domain/DeploymentProviderSetupInspection.d.ts.map +1 -0
- package/dist/domain/DeploymentProviderSetupInspection.js +2 -0
- package/dist/domain/DeploymentProviderSetupInspection.js.map +1 -0
- package/dist/domain/DeploymentProviderSetupInspectionResult.d.ts +10 -0
- package/dist/domain/DeploymentProviderSetupInspectionResult.d.ts.map +1 -0
- package/dist/domain/DeploymentProviderSetupInspectionResult.js +2 -0
- package/dist/domain/DeploymentProviderSetupInspectionResult.js.map +1 -0
- package/dist/domain/DeploymentProvisioningRequirement.d.ts +18 -0
- package/dist/domain/DeploymentProvisioningRequirement.d.ts.map +1 -0
- package/dist/domain/DeploymentProvisioningRequirement.js +2 -0
- package/dist/domain/DeploymentProvisioningRequirement.js.map +1 -0
- package/dist/domain/DeploymentSecretResolver.d.ts +4 -0
- package/dist/domain/DeploymentSecretResolver.d.ts.map +1 -0
- package/dist/domain/DeploymentSecretResolver.js +2 -0
- package/dist/domain/DeploymentSecretResolver.js.map +1 -0
- package/dist/engine/inspectDeploymentProviderSetup.d.ts +8 -0
- package/dist/engine/inspectDeploymentProviderSetup.d.ts.map +1 -0
- package/dist/engine/inspectDeploymentProviderSetup.js +21 -0
- package/dist/engine/inspectDeploymentProviderSetup.js.map +1 -0
- package/dist/engine/providerSetup/containsTrackedSecret.d.ts +2 -0
- package/dist/engine/providerSetup/containsTrackedSecret.d.ts.map +1 -0
- package/dist/engine/providerSetup/containsTrackedSecret.js +12 -0
- package/dist/engine/providerSetup/containsTrackedSecret.js.map +1 -0
- package/dist/engine/providerSetup/createProviderSetupContext.d.ts +4 -0
- package/dist/engine/providerSetup/createProviderSetupContext.d.ts.map +1 -0
- package/dist/engine/providerSetup/createProviderSetupContext.js +4 -0
- package/dist/engine/providerSetup/createProviderSetupContext.js.map +1 -0
- package/dist/engine/providerSetup/createProviderSetupFailure.d.ts +4 -0
- package/dist/engine/providerSetup/createProviderSetupFailure.d.ts.map +1 -0
- package/dist/engine/providerSetup/createProviderSetupFailure.js +10 -0
- package/dist/engine/providerSetup/createProviderSetupFailure.js.map +1 -0
- package/dist/engine/providerSetup/createTrackedSecretResolver.d.ts +7 -0
- package/dist/engine/providerSetup/createTrackedSecretResolver.d.ts.map +1 -0
- package/dist/engine/providerSetup/createTrackedSecretResolver.js +13 -0
- package/dist/engine/providerSetup/createTrackedSecretResolver.js.map +1 -0
- package/dist/engine/providerSetup/isAppDeployTargetId.d.ts +3 -0
- package/dist/engine/providerSetup/isAppDeployTargetId.d.ts.map +1 -0
- package/dist/engine/providerSetup/isAppDeployTargetId.js +5 -0
- package/dist/engine/providerSetup/isAppDeployTargetId.js.map +1 -0
- package/dist/engine/providerSetup/isNonEmptyString.d.ts +2 -0
- package/dist/engine/providerSetup/isNonEmptyString.d.ts.map +1 -0
- package/dist/engine/providerSetup/isNonEmptyString.js +4 -0
- package/dist/engine/providerSetup/isNonEmptyString.js.map +1 -0
- package/dist/engine/providerSetup/isRecord.d.ts +2 -0
- package/dist/engine/providerSetup/isRecord.d.ts.map +1 -0
- package/dist/engine/providerSetup/isRecord.js +4 -0
- package/dist/engine/providerSetup/isRecord.js.map +1 -0
- package/dist/engine/providerSetup/normalizeAuthenticationAction.d.ts +3 -0
- package/dist/engine/providerSetup/normalizeAuthenticationAction.d.ts.map +1 -0
- package/dist/engine/providerSetup/normalizeAuthenticationAction.js +21 -0
- package/dist/engine/providerSetup/normalizeAuthenticationAction.js.map +1 -0
- package/dist/engine/providerSetup/normalizeAuthenticationState.d.ts +3 -0
- package/dist/engine/providerSetup/normalizeAuthenticationState.d.ts.map +1 -0
- package/dist/engine/providerSetup/normalizeAuthenticationState.js +13 -0
- package/dist/engine/providerSetup/normalizeAuthenticationState.js.map +1 -0
- package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.d.ts +3 -0
- package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.d.ts.map +1 -0
- package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.js +23 -0
- package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.js.map +1 -0
- package/dist/engine/providerSetup/normalizeCredentialReferences.d.ts +3 -0
- package/dist/engine/providerSetup/normalizeCredentialReferences.d.ts.map +1 -0
- package/dist/engine/providerSetup/normalizeCredentialReferences.js +18 -0
- package/dist/engine/providerSetup/normalizeCredentialReferences.js.map +1 -0
- package/dist/engine/providerSetup/normalizeManualAction.d.ts +3 -0
- package/dist/engine/providerSetup/normalizeManualAction.d.ts.map +1 -0
- package/dist/engine/providerSetup/normalizeManualAction.js +23 -0
- package/dist/engine/providerSetup/normalizeManualAction.js.map +1 -0
- package/dist/engine/providerSetup/normalizeProviderCapabilityStates.d.ts +3 -0
- package/dist/engine/providerSetup/normalizeProviderCapabilityStates.d.ts.map +1 -0
- package/dist/engine/providerSetup/normalizeProviderCapabilityStates.js +31 -0
- package/dist/engine/providerSetup/normalizeProviderCapabilityStates.js.map +1 -0
- package/dist/engine/providerSetup/normalizeProviderSetupInspection.d.ts +10 -0
- package/dist/engine/providerSetup/normalizeProviderSetupInspection.d.ts.map +1 -0
- package/dist/engine/providerSetup/normalizeProviderSetupInspection.js +25 -0
- package/dist/engine/providerSetup/normalizeProviderSetupInspection.js.map +1 -0
- package/dist/engine/providerSetup/normalizeProvisioningRequirements.d.ts +3 -0
- package/dist/engine/providerSetup/normalizeProvisioningRequirements.d.ts.map +1 -0
- package/dist/engine/providerSetup/normalizeProvisioningRequirements.js +31 -0
- package/dist/engine/providerSetup/normalizeProvisioningRequirements.js.map +1 -0
- package/dist/engine/providerSetup/prepareProviderSetupInspection.d.ts +16 -0
- package/dist/engine/providerSetup/prepareProviderSetupInspection.d.ts.map +1 -0
- package/dist/engine/providerSetup/prepareProviderSetupInspection.js +32 -0
- package/dist/engine/providerSetup/prepareProviderSetupInspection.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/project/ProjectDeploymentPaths.d.ts +17 -0
- package/dist/project/ProjectDeploymentPaths.d.ts.map +1 -0
- package/dist/project/ProjectDeploymentPaths.js +2 -0
- package/dist/project/ProjectDeploymentPaths.js.map +1 -0
- package/dist/project/ResolvedDeployProject.d.ts +11 -0
- package/dist/project/ResolvedDeployProject.d.ts.map +1 -0
- package/dist/project/ResolvedDeployProject.js +2 -0
- package/dist/project/ResolvedDeployProject.js.map +1 -0
- package/dist/project/history/ProjectDeploymentHistoryRecord.d.ts +14 -0
- package/dist/project/history/ProjectDeploymentHistoryRecord.d.ts.map +1 -0
- package/dist/project/history/ProjectDeploymentHistoryRecord.js +2 -0
- package/dist/project/history/ProjectDeploymentHistoryRecord.js.map +1 -0
- package/dist/project/history/historySchemaVersion.d.ts +2 -0
- package/dist/project/history/historySchemaVersion.d.ts.map +1 -0
- package/dist/project/history/historySchemaVersion.js +2 -0
- package/dist/project/history/historySchemaVersion.js.map +1 -0
- package/dist/project/history/listProjectDeploymentHistory.d.ts +5 -0
- package/dist/project/history/listProjectDeploymentHistory.d.ts.map +1 -0
- package/dist/project/history/listProjectDeploymentHistory.js +25 -0
- package/dist/project/history/listProjectDeploymentHistory.js.map +1 -0
- package/dist/project/history/parseProjectDeploymentHistoryRecord.d.ts +3 -0
- package/dist/project/history/parseProjectDeploymentHistoryRecord.d.ts.map +1 -0
- package/dist/project/history/parseProjectDeploymentHistoryRecord.js +40 -0
- package/dist/project/history/parseProjectDeploymentHistoryRecord.js.map +1 -0
- package/dist/project/history/readProjectDeploymentHistory.d.ts +6 -0
- package/dist/project/history/readProjectDeploymentHistory.d.ts.map +1 -0
- package/dist/project/history/readProjectDeploymentHistory.js +26 -0
- package/dist/project/history/readProjectDeploymentHistory.js.map +1 -0
- package/dist/project/history/recordProjectDeploymentHistory.d.ts +6 -0
- package/dist/project/history/recordProjectDeploymentHistory.d.ts.map +1 -0
- package/dist/project/history/recordProjectDeploymentHistory.js +40 -0
- package/dist/project/history/recordProjectDeploymentHistory.js.map +1 -0
- package/dist/project/history/validation/diagnostic.d.ts +2 -0
- package/dist/project/history/validation/diagnostic.d.ts.map +1 -0
- package/dist/project/history/validation/diagnostic.js +14 -0
- package/dist/project/history/validation/diagnostic.js.map +1 -0
- package/dist/project/history/validation/execution.d.ts +2 -0
- package/dist/project/history/validation/execution.d.ts.map +1 -0
- package/dist/project/history/validation/execution.js +40 -0
- package/dist/project/history/validation/execution.js.map +1 -0
- package/dist/project/history/validation/failure.d.ts +2 -0
- package/dist/project/history/validation/failure.d.ts.map +1 -0
- package/dist/project/history/validation/failure.js +13 -0
- package/dist/project/history/validation/failure.js.map +1 -0
- package/dist/project/history/validation/isIsoTimestamp.d.ts +2 -0
- package/dist/project/history/validation/isIsoTimestamp.d.ts.map +1 -0
- package/dist/project/history/validation/isIsoTimestamp.js +6 -0
- package/dist/project/history/validation/isIsoTimestamp.js.map +1 -0
- package/dist/project/history/validation/observedTarget.d.ts +2 -0
- package/dist/project/history/validation/observedTarget.d.ts.map +1 -0
- package/dist/project/history/validation/observedTarget.js +24 -0
- package/dist/project/history/validation/observedTarget.js.map +1 -0
- package/dist/project/history/validation/plan.d.ts +2 -0
- package/dist/project/history/validation/plan.d.ts.map +1 -0
- package/dist/project/history/validation/plan.js +18 -0
- package/dist/project/history/validation/plan.js.map +1 -0
- package/dist/project/history/validation/planStep.d.ts +2 -0
- package/dist/project/history/validation/planStep.d.ts.map +1 -0
- package/dist/project/history/validation/planStep.js +17 -0
- package/dist/project/history/validation/planStep.js.map +1 -0
- package/dist/project/history/validation/providerSelection.d.ts +2 -0
- package/dist/project/history/validation/providerSelection.d.ts.map +1 -0
- package/dist/project/history/validation/providerSelection.js +13 -0
- package/dist/project/history/validation/providerSelection.js.map +1 -0
- package/dist/project/history/validation/requiredAction.d.ts +2 -0
- package/dist/project/history/validation/requiredAction.d.ts.map +1 -0
- package/dist/project/history/validation/requiredAction.js +27 -0
- package/dist/project/history/validation/requiredAction.js.map +1 -0
- package/dist/project/history/validation/shared.d.ts +3 -0
- package/dist/project/history/validation/shared.d.ts.map +1 -0
- package/dist/project/history/validation/shared.js +8 -0
- package/dist/project/history/validation/shared.js.map +1 -0
- package/dist/project/history/validation/stepOutcome.d.ts +2 -0
- package/dist/project/history/validation/stepOutcome.d.ts.map +1 -0
- package/dist/project/history/validation/stepOutcome.js +21 -0
- package/dist/project/history/validation/stepOutcome.js.map +1 -0
- package/dist/project/history/validation/targetChange.d.ts +2 -0
- package/dist/project/history/validation/targetChange.d.ts.map +1 -0
- package/dist/project/history/validation/targetChange.js +19 -0
- package/dist/project/history/validation/targetChange.js.map +1 -0
- package/dist/project/history/validation/verification.d.ts +2 -0
- package/dist/project/history/validation/verification.d.ts.map +1 -0
- package/dist/project/history/validation/verification.js +23 -0
- package/dist/project/history/validation/verification.js.map +1 -0
- package/dist/project/index.d.ts +12 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +9 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/io/assertContainedPath.d.ts +2 -0
- package/dist/project/io/assertContainedPath.d.ts.map +1 -0
- package/dist/project/io/assertContainedPath.js +33 -0
- package/dist/project/io/assertContainedPath.js.map +1 -0
- package/dist/project/io/assertSafeSegment.d.ts +3 -0
- package/dist/project/io/assertSafeSegment.d.ts.map +1 -0
- package/dist/project/io/assertSafeSegment.js +15 -0
- package/dist/project/io/assertSafeSegment.js.map +1 -0
- package/dist/project/io/atomicWriteFile.d.ts +6 -0
- package/dist/project/io/atomicWriteFile.d.ts.map +1 -0
- package/dist/project/io/atomicWriteFile.js +18 -0
- package/dist/project/io/atomicWriteFile.js.map +1 -0
- package/dist/project/io/atomicWriteJson.d.ts +6 -0
- package/dist/project/io/atomicWriteJson.d.ts.map +1 -0
- package/dist/project/io/atomicWriteJson.js +10 -0
- package/dist/project/io/atomicWriteJson.js.map +1 -0
- package/dist/project/io/hasOnlyKeys.d.ts +2 -0
- package/dist/project/io/hasOnlyKeys.d.ts.map +1 -0
- package/dist/project/io/hasOnlyKeys.js +4 -0
- package/dist/project/io/hasOnlyKeys.js.map +1 -0
- package/dist/project/io/isMissingPathError.d.ts +2 -0
- package/dist/project/io/isMissingPathError.d.ts.map +1 -0
- package/dist/project/io/isMissingPathError.js +4 -0
- package/dist/project/io/isMissingPathError.js.map +1 -0
- package/dist/project/io/isRecord.d.ts +2 -0
- package/dist/project/io/isRecord.d.ts.map +1 -0
- package/dist/project/io/isRecord.js +4 -0
- package/dist/project/io/isRecord.js.map +1 -0
- package/dist/project/io/normalizeProjectRoot.d.ts +2 -0
- package/dist/project/io/normalizeProjectRoot.d.ts.map +1 -0
- package/dist/project/io/normalizeProjectRoot.js +18 -0
- package/dist/project/io/normalizeProjectRoot.js.map +1 -0
- package/dist/project/io/readJsonFile.d.ts +2 -0
- package/dist/project/io/readJsonFile.d.ts.map +1 -0
- package/dist/project/io/readJsonFile.js +11 -0
- package/dist/project/io/readJsonFile.js.map +1 -0
- package/dist/project/io/readProjectManifest.d.ts +6 -0
- package/dist/project/io/readProjectManifest.d.ts.map +1 -0
- package/dist/project/io/readProjectManifest.js +20 -0
- package/dist/project/io/readProjectManifest.js.map +1 -0
- package/dist/project/readProjectDeploymentConfig.d.ts +5 -0
- package/dist/project/readProjectDeploymentConfig.d.ts.map +1 -0
- package/dist/project/readProjectDeploymentConfig.js +6 -0
- package/dist/project/readProjectDeploymentConfig.js.map +1 -0
- package/dist/project/resolveDeployProject.d.ts +5 -0
- package/dist/project/resolveDeployProject.d.ts.map +1 -0
- package/dist/project/resolveDeployProject.js +15 -0
- package/dist/project/resolveDeployProject.js.map +1 -0
- package/dist/project/resolveProjectDeploymentPaths.d.ts +3 -0
- package/dist/project/resolveProjectDeploymentPaths.d.ts.map +1 -0
- package/dist/project/resolveProjectDeploymentPaths.js +25 -0
- package/dist/project/resolveProjectDeploymentPaths.js.map +1 -0
- package/dist/project/updateProjectDeploymentConfig.d.ts +7 -0
- package/dist/project/updateProjectDeploymentConfig.d.ts.map +1 -0
- package/dist/project/updateProjectDeploymentConfig.js +23 -0
- package/dist/project/updateProjectDeploymentConfig.js.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { isNonEmptyString } from './isNonEmptyString';
|
|
2
|
+
import { isRecord } from './isRecord';
|
|
3
|
+
export function normalizeCredentialReferences(value, provider) {
|
|
4
|
+
if (!Array.isArray(value))
|
|
5
|
+
return null;
|
|
6
|
+
const references = [];
|
|
7
|
+
for (const reference of value) {
|
|
8
|
+
if (!isRecord(reference) ||
|
|
9
|
+
reference.provider !== provider ||
|
|
10
|
+
!isNonEmptyString(reference.id) ||
|
|
11
|
+
!isNonEmptyString(reference.kind)) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
references.push({ provider, id: reference.id, kind: reference.kind });
|
|
15
|
+
}
|
|
16
|
+
return references;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=normalizeCredentialReferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeCredentialReferences.js","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeCredentialReferences.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,6BAA6B,CAC3C,KAAc,EACd,QAAgB;IAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,UAAU,GAAoC,EAAE,CAAC;IACvD,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,IACE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpB,SAAS,CAAC,QAAQ,KAAK,QAAQ;YAC/B,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EACjC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';\nimport { isNonEmptyString } from './isNonEmptyString';\nimport { isRecord } from './isRecord';\n\nexport function normalizeCredentialReferences(\n value: unknown,\n provider: string,\n): readonly DeploymentCredentialReference[] | null {\n if (!Array.isArray(value)) return null;\n\n const references: DeploymentCredentialReference[] = [];\n for (const reference of value) {\n if (\n !isRecord(reference) ||\n reference.provider !== provider ||\n !isNonEmptyString(reference.id) ||\n !isNonEmptyString(reference.kind)\n ) {\n return null;\n }\n references.push({ provider, id: reference.id, kind: reference.kind });\n }\n return references;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeManualAction.d.ts","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeManualAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAKpF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,IAAI,CAqB/B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { isAppDeployTargetId } from './isAppDeployTargetId';
|
|
2
|
+
import { isNonEmptyString } from './isNonEmptyString';
|
|
3
|
+
import { isRecord } from './isRecord';
|
|
4
|
+
export function normalizeManualAction(value, provider) {
|
|
5
|
+
if (!isRecord(value) ||
|
|
6
|
+
value.type !== 'manual-action' ||
|
|
7
|
+
!isAppDeployTargetId(value.target) ||
|
|
8
|
+
!isNonEmptyString(value.code) ||
|
|
9
|
+
!isNonEmptyString(value.message) ||
|
|
10
|
+
(value.provider !== undefined && value.provider !== provider) ||
|
|
11
|
+
(value.url !== undefined && !isNonEmptyString(value.url))) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
type: 'manual-action',
|
|
16
|
+
target: value.target,
|
|
17
|
+
code: value.code,
|
|
18
|
+
message: value.message,
|
|
19
|
+
...(value.provider === undefined ? {} : { provider }),
|
|
20
|
+
...(value.url === undefined ? {} : { url: value.url }),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=normalizeManualAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeManualAction.js","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeManualAction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,QAAgB;IAEhB,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,KAAK,CAAC,IAAI,KAAK,eAAe;QAC9B,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC;QAChC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC7D,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentManualAction } from '../../domain/DeploymentRequiredAction';\nimport { isAppDeployTargetId } from './isAppDeployTargetId';\nimport { isNonEmptyString } from './isNonEmptyString';\nimport { isRecord } from './isRecord';\n\nexport function normalizeManualAction(\n value: unknown,\n provider: string,\n): DeploymentManualAction | null {\n if (\n !isRecord(value) ||\n value.type !== 'manual-action' ||\n !isAppDeployTargetId(value.target) ||\n !isNonEmptyString(value.code) ||\n !isNonEmptyString(value.message) ||\n (value.provider !== undefined && value.provider !== provider) ||\n (value.url !== undefined && !isNonEmptyString(value.url))\n ) {\n return null;\n }\n\n return {\n type: 'manual-action',\n target: value.target,\n code: value.code,\n message: value.message,\n ...(value.provider === undefined ? {} : { provider }),\n ...(value.url === undefined ? {} : { url: value.url }),\n };\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DeploymentProviderCapabilityState } from '../../domain/DeploymentProviderCapabilityState';
|
|
2
|
+
export declare function normalizeProviderCapabilityStates(value: unknown): readonly DeploymentProviderCapabilityState[] | null;
|
|
3
|
+
//# sourceMappingURL=normalizeProviderCapabilityStates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeProviderCapabilityStates.d.ts","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeProviderCapabilityStates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AAIxG,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,OAAO,GACb,SAAS,iCAAiC,EAAE,GAAG,IAAI,CAmBrD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DEPLOYMENT_CAPABILITIES, } from '../../domain/DeploymentCapability';
|
|
2
|
+
import { isNonEmptyString } from './isNonEmptyString';
|
|
3
|
+
import { isRecord } from './isRecord';
|
|
4
|
+
export function normalizeProviderCapabilityStates(value) {
|
|
5
|
+
if (!Array.isArray(value))
|
|
6
|
+
return null;
|
|
7
|
+
const seen = new Set();
|
|
8
|
+
const states = [];
|
|
9
|
+
for (const raw of value) {
|
|
10
|
+
if (!isRecord(raw) || !isCapability(raw.capability) || seen.has(raw.capability))
|
|
11
|
+
return null;
|
|
12
|
+
if (raw.status !== 'available' && raw.status !== 'unavailable')
|
|
13
|
+
return null;
|
|
14
|
+
if (raw.reason !== undefined && !isNonEmptyString(raw.reason))
|
|
15
|
+
return null;
|
|
16
|
+
seen.add(raw.capability);
|
|
17
|
+
states.push({
|
|
18
|
+
capability: raw.capability,
|
|
19
|
+
status: raw.status,
|
|
20
|
+
...(raw.reason === undefined ? {} : { reason: raw.reason }),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return states.sort((left, right) => capabilityIndex(left.capability) - capabilityIndex(right.capability));
|
|
24
|
+
}
|
|
25
|
+
function isCapability(value) {
|
|
26
|
+
return DEPLOYMENT_CAPABILITIES.some((capability) => capability === value);
|
|
27
|
+
}
|
|
28
|
+
function capabilityIndex(capability) {
|
|
29
|
+
return DEPLOYMENT_CAPABILITIES.indexOf(capability);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=normalizeProviderCapabilityStates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeProviderCapabilityStates.js","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeProviderCapabilityStates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,GAExB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,iCAAiC,CAC/C,KAAc;IAEd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,MAAM,MAAM,GAAwC,EAAE,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7F,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC;YACV,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,UAAgC;IACvD,OAAO,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACrD,CAAC","sourcesContent":["import {\n DEPLOYMENT_CAPABILITIES,\n type DeploymentCapability,\n} from '../../domain/DeploymentCapability';\nimport type { DeploymentProviderCapabilityState } from '../../domain/DeploymentProviderCapabilityState';\nimport { isNonEmptyString } from './isNonEmptyString';\nimport { isRecord } from './isRecord';\n\nexport function normalizeProviderCapabilityStates(\n value: unknown,\n): readonly DeploymentProviderCapabilityState[] | null {\n if (!Array.isArray(value)) return null;\n\n const seen = new Set<DeploymentCapability>();\n const states: DeploymentProviderCapabilityState[] = [];\n for (const raw of value) {\n if (!isRecord(raw) || !isCapability(raw.capability) || seen.has(raw.capability)) return null;\n if (raw.status !== 'available' && raw.status !== 'unavailable') return null;\n if (raw.reason !== undefined && !isNonEmptyString(raw.reason)) return null;\n seen.add(raw.capability);\n states.push({\n capability: raw.capability,\n status: raw.status,\n ...(raw.reason === undefined ? {} : { reason: raw.reason }),\n });\n }\n return states.sort(\n (left, right) => capabilityIndex(left.capability) - capabilityIndex(right.capability),\n );\n}\n\nfunction isCapability(value: unknown): value is DeploymentCapability {\n return DEPLOYMENT_CAPABILITIES.some((capability) => capability === value);\n}\n\nfunction capabilityIndex(capability: DeploymentCapability): number {\n return DEPLOYMENT_CAPABILITIES.indexOf(capability);\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DeploymentProviderSetupInspection } from '../../domain/DeploymentProviderSetupInspection';
|
|
2
|
+
export type ProviderSetupNormalizationResult = {
|
|
3
|
+
readonly ok: true;
|
|
4
|
+
readonly inspection: DeploymentProviderSetupInspection;
|
|
5
|
+
} | {
|
|
6
|
+
readonly ok: false;
|
|
7
|
+
readonly unsafe: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function normalizeProviderSetupInspection(value: unknown, provider: string, secrets: ReadonlySet<string>): ProviderSetupNormalizationResult;
|
|
10
|
+
//# sourceMappingURL=normalizeProviderSetupInspection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeProviderSetupInspection.d.ts","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeProviderSetupInspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AAOxG,MAAM,MAAM,gCAAgC,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,iCAAiC,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAErD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAC3B,gCAAgC,CAmBlC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { containsTrackedSecret } from './containsTrackedSecret';
|
|
2
|
+
import { isRecord } from './isRecord';
|
|
3
|
+
import { normalizeAuthenticationState } from './normalizeAuthenticationState';
|
|
4
|
+
import { normalizeProviderCapabilityStates } from './normalizeProviderCapabilityStates';
|
|
5
|
+
import { normalizeProvisioningRequirements } from './normalizeProvisioningRequirements';
|
|
6
|
+
export function normalizeProviderSetupInspection(value, provider, secrets) {
|
|
7
|
+
if (!isRecord(value) || value.provider !== provider)
|
|
8
|
+
return { ok: false, unsafe: false };
|
|
9
|
+
const authentication = normalizeAuthenticationState(value.authentication, provider);
|
|
10
|
+
const capabilities = normalizeProviderCapabilityStates(value.capabilities);
|
|
11
|
+
const provisioning = normalizeProvisioningRequirements(value.provisioning, provider);
|
|
12
|
+
if (authentication === null || capabilities === null || provisioning === null) {
|
|
13
|
+
return { ok: false, unsafe: false };
|
|
14
|
+
}
|
|
15
|
+
const inspection = {
|
|
16
|
+
provider,
|
|
17
|
+
authentication,
|
|
18
|
+
capabilities,
|
|
19
|
+
provisioning,
|
|
20
|
+
};
|
|
21
|
+
return containsTrackedSecret(inspection, secrets)
|
|
22
|
+
? { ok: false, unsafe: true }
|
|
23
|
+
: { ok: true, inspection };
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=normalizeProviderSetupInspection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeProviderSetupInspection.js","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeProviderSetupInspection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAMxF,MAAM,UAAU,gCAAgC,CAC9C,KAAc,EACd,QAAgB,EAChB,OAA4B;IAE5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEzF,MAAM,cAAc,GAAG,4BAA4B,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,iCAAiC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,iCAAiC,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrF,IAAI,cAAc,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC9E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAsC;QACpD,QAAQ;QACR,cAAc;QACd,YAAY;QACZ,YAAY;KACb,CAAC;IACF,OAAO,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC;QAC/C,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAC7B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import type { DeploymentProviderSetupInspection } from '../../domain/DeploymentProviderSetupInspection';\nimport { containsTrackedSecret } from './containsTrackedSecret';\nimport { isRecord } from './isRecord';\nimport { normalizeAuthenticationState } from './normalizeAuthenticationState';\nimport { normalizeProviderCapabilityStates } from './normalizeProviderCapabilityStates';\nimport { normalizeProvisioningRequirements } from './normalizeProvisioningRequirements';\n\nexport type ProviderSetupNormalizationResult =\n | { readonly ok: true; readonly inspection: DeploymentProviderSetupInspection }\n | { readonly ok: false; readonly unsafe: boolean };\n\nexport function normalizeProviderSetupInspection(\n value: unknown,\n provider: string,\n secrets: ReadonlySet<string>,\n): ProviderSetupNormalizationResult {\n if (!isRecord(value) || value.provider !== provider) return { ok: false, unsafe: false };\n\n const authentication = normalizeAuthenticationState(value.authentication, provider);\n const capabilities = normalizeProviderCapabilityStates(value.capabilities);\n const provisioning = normalizeProvisioningRequirements(value.provisioning, provider);\n if (authentication === null || capabilities === null || provisioning === null) {\n return { ok: false, unsafe: false };\n }\n\n const inspection: DeploymentProviderSetupInspection = {\n provider,\n authentication,\n capabilities,\n provisioning,\n };\n return containsTrackedSecret(inspection, secrets)\n ? { ok: false, unsafe: true }\n : { ok: true, inspection };\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DeploymentProvisioningRequirement } from '../../domain/DeploymentProvisioningRequirement';
|
|
2
|
+
export declare function normalizeProvisioningRequirements(value: unknown, provider: string): readonly DeploymentProvisioningRequirement[] | null;
|
|
3
|
+
//# sourceMappingURL=normalizeProvisioningRequirements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeProvisioningRequirements.d.ts","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeProvisioningRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AAMxG,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,SAAS,iCAAiC,EAAE,GAAG,IAAI,CAWrD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { isRecord } from './isRecord';
|
|
2
|
+
import { normalizeAuthenticationAction } from './normalizeAuthenticationAction';
|
|
3
|
+
import { normalizeAutomatedProvisioningRequirement } from './normalizeAutomatedProvisioningRequirement';
|
|
4
|
+
import { normalizeManualAction } from './normalizeManualAction';
|
|
5
|
+
export function normalizeProvisioningRequirements(value, provider) {
|
|
6
|
+
if (!Array.isArray(value))
|
|
7
|
+
return null;
|
|
8
|
+
const seenAutomatedIds = new Set();
|
|
9
|
+
const requirements = [];
|
|
10
|
+
for (const raw of value) {
|
|
11
|
+
const requirement = normalizeRequirement(raw, provider, seenAutomatedIds);
|
|
12
|
+
if (requirement === null)
|
|
13
|
+
return null;
|
|
14
|
+
requirements.push(requirement);
|
|
15
|
+
}
|
|
16
|
+
return requirements;
|
|
17
|
+
}
|
|
18
|
+
function normalizeRequirement(value, provider, seen) {
|
|
19
|
+
if (!isRecord(value))
|
|
20
|
+
return null;
|
|
21
|
+
if (value.type === 'authentication') {
|
|
22
|
+
const action = normalizeAuthenticationAction(value.action, provider);
|
|
23
|
+
return action === null ? null : { type: 'authentication', action };
|
|
24
|
+
}
|
|
25
|
+
if (value.type === 'manual-action') {
|
|
26
|
+
const action = normalizeManualAction(value.action, provider);
|
|
27
|
+
return action === null ? null : { type: 'manual-action', action };
|
|
28
|
+
}
|
|
29
|
+
return normalizeAutomatedProvisioningRequirement(value, provider, seen);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=normalizeProvisioningRequirements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeProvisioningRequirements.js","sourceRoot":"","sources":["../../../src/engine/providerSetup/normalizeProvisioningRequirements.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,yCAAyC,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,UAAU,iCAAiC,CAC/C,KAAc,EACd,QAAgB;IAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,YAAY,GAAwC,EAAE,CAAC;IAE7D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC1E,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACtC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,QAAgB,EAChB,IAAiB;IAEjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7D,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,yCAAyC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC","sourcesContent":["import type { DeploymentProvisioningRequirement } from '../../domain/DeploymentProvisioningRequirement';\nimport { isRecord } from './isRecord';\nimport { normalizeAuthenticationAction } from './normalizeAuthenticationAction';\nimport { normalizeAutomatedProvisioningRequirement } from './normalizeAutomatedProvisioningRequirement';\nimport { normalizeManualAction } from './normalizeManualAction';\n\nexport function normalizeProvisioningRequirements(\n value: unknown,\n provider: string,\n): readonly DeploymentProvisioningRequirement[] | null {\n if (!Array.isArray(value)) return null;\n const seenAutomatedIds = new Set<string>();\n const requirements: DeploymentProvisioningRequirement[] = [];\n\n for (const raw of value) {\n const requirement = normalizeRequirement(raw, provider, seenAutomatedIds);\n if (requirement === null) return null;\n requirements.push(requirement);\n }\n return requirements;\n}\n\nfunction normalizeRequirement(\n value: unknown,\n provider: string,\n seen: Set<string>,\n): DeploymentProvisioningRequirement | null {\n if (!isRecord(value)) return null;\n if (value.type === 'authentication') {\n const action = normalizeAuthenticationAction(value.action, provider);\n return action === null ? null : { type: 'authentication', action };\n }\n if (value.type === 'manual-action') {\n const action = normalizeManualAction(value.action, provider);\n return action === null ? null : { type: 'manual-action', action };\n }\n return normalizeAutomatedProvisioningRequirement(value, provider, seen);\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';
|
|
2
|
+
import type { DeploymentProviderSetupAdapter } from '../../domain/DeploymentProviderSetupAdapter';
|
|
3
|
+
import type { DeploymentProviderSetupContext } from '../../domain/DeploymentProviderSetupContext';
|
|
4
|
+
import type { DeploymentProviderSetupInspectionResult } from '../../domain/DeploymentProviderSetupInspectionResult';
|
|
5
|
+
export type PreparedProviderSetupInspection = {
|
|
6
|
+
readonly ok: true;
|
|
7
|
+
readonly provider: string;
|
|
8
|
+
readonly target: AppDeployTargetId | undefined;
|
|
9
|
+
readonly context: DeploymentProviderSetupContext;
|
|
10
|
+
readonly secrets: ReadonlySet<string>;
|
|
11
|
+
} | {
|
|
12
|
+
readonly ok: false;
|
|
13
|
+
readonly result: DeploymentProviderSetupInspectionResult;
|
|
14
|
+
};
|
|
15
|
+
export declare function prepareProviderSetupInspection(adapter: DeploymentProviderSetupAdapter, context: DeploymentProviderSetupContext): PreparedProviderSetupInspection;
|
|
16
|
+
//# sourceMappingURL=prepareProviderSetupInspection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareProviderSetupInspection.d.ts","sourceRoot":"","sources":["../../../src/engine/providerSetup/prepareProviderSetupInspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,sDAAsD,CAAC;AAQpH,MAAM,MAAM,+BAA+B,GACvC;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACvC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,uCAAuC,CAAA;CAAE,CAAC;AAErF,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,8BAA8B,EACvC,OAAO,EAAE,8BAA8B,GACtC,+BAA+B,CAkBjC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createProviderSetupContext } from './createProviderSetupContext';
|
|
2
|
+
import { createProviderSetupFailure } from './createProviderSetupFailure';
|
|
3
|
+
import { createTrackedSecretResolver } from './createTrackedSecretResolver';
|
|
4
|
+
import { isAppDeployTargetId } from './isAppDeployTargetId';
|
|
5
|
+
import { isNonEmptyString } from './isNonEmptyString';
|
|
6
|
+
import { normalizeCredentialReferences } from './normalizeCredentialReferences';
|
|
7
|
+
export function prepareProviderSetupInspection(adapter, context) {
|
|
8
|
+
const { provider } = adapter;
|
|
9
|
+
const { target } = context;
|
|
10
|
+
if (!isNonEmptyString(provider) || (target !== undefined && !isAppDeployTargetId(target))) {
|
|
11
|
+
return invalidInput();
|
|
12
|
+
}
|
|
13
|
+
const credentials = normalizeCredentialReferences(context.credentials, provider);
|
|
14
|
+
if (credentials === null || typeof context.resolveSecret !== 'function') {
|
|
15
|
+
return invalidInput(provider, target);
|
|
16
|
+
}
|
|
17
|
+
const tracked = createTrackedSecretResolver(context.resolveSecret);
|
|
18
|
+
return {
|
|
19
|
+
ok: true,
|
|
20
|
+
provider,
|
|
21
|
+
target,
|
|
22
|
+
context: createProviderSetupContext(credentials, tracked.resolve, target),
|
|
23
|
+
secrets: tracked.secrets,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function invalidInput(provider, target) {
|
|
27
|
+
return {
|
|
28
|
+
ok: false,
|
|
29
|
+
result: createProviderSetupFailure('INVALID_PROVIDER_SETUP_INPUT', 'Provider setup input is invalid.', provider, target),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=prepareProviderSetupInspection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareProviderSetupInspection.js","sourceRoot":"","sources":["../../../src/engine/providerSetup/prepareProviderSetupInspection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAYhF,MAAM,UAAU,8BAA8B,CAC5C,OAAuC,EACvC,OAAuC;IAEvC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1F,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IACD,MAAM,WAAW,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjF,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QACxE,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnE,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ;QACR,MAAM;QACN,OAAO,EAAE,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QACzE,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,QAAiB,EACjB,MAA0B;IAE1B,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,0BAA0B,CAChC,8BAA8B,EAC9B,kCAAkC,EAClC,QAAQ,EACR,MAAM,CACP;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentProviderSetupAdapter } from '../../domain/DeploymentProviderSetupAdapter';\nimport type { DeploymentProviderSetupContext } from '../../domain/DeploymentProviderSetupContext';\nimport type { DeploymentProviderSetupInspectionResult } from '../../domain/DeploymentProviderSetupInspectionResult';\nimport { createProviderSetupContext } from './createProviderSetupContext';\nimport { createProviderSetupFailure } from './createProviderSetupFailure';\nimport { createTrackedSecretResolver } from './createTrackedSecretResolver';\nimport { isAppDeployTargetId } from './isAppDeployTargetId';\nimport { isNonEmptyString } from './isNonEmptyString';\nimport { normalizeCredentialReferences } from './normalizeCredentialReferences';\n\nexport type PreparedProviderSetupInspection =\n | {\n readonly ok: true;\n readonly provider: string;\n readonly target: AppDeployTargetId | undefined;\n readonly context: DeploymentProviderSetupContext;\n readonly secrets: ReadonlySet<string>;\n }\n | { readonly ok: false; readonly result: DeploymentProviderSetupInspectionResult };\n\nexport function prepareProviderSetupInspection(\n adapter: DeploymentProviderSetupAdapter,\n context: DeploymentProviderSetupContext,\n): PreparedProviderSetupInspection {\n const { provider } = adapter;\n const { target } = context;\n if (!isNonEmptyString(provider) || (target !== undefined && !isAppDeployTargetId(target))) {\n return invalidInput();\n }\n const credentials = normalizeCredentialReferences(context.credentials, provider);\n if (credentials === null || typeof context.resolveSecret !== 'function') {\n return invalidInput(provider, target);\n }\n const tracked = createTrackedSecretResolver(context.resolveSecret);\n return {\n ok: true,\n provider,\n target,\n context: createProviderSetupContext(credentials, tracked.resolve, target),\n secrets: tracked.secrets,\n };\n}\n\nfunction invalidInput(\n provider?: string,\n target?: AppDeployTargetId,\n): PreparedProviderSetupInspection {\n return {\n ok: false,\n result: createProviderSetupFailure(\n 'INVALID_PROVIDER_SETUP_INPUT',\n 'Provider setup input is invalid.',\n provider,\n target,\n ),\n };\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
|
+
export * from './domain/DeploymentAuthenticationState';
|
|
1
2
|
export * from './domain/DeploymentCapability';
|
|
3
|
+
export * from './domain/DeploymentCredentialReference';
|
|
2
4
|
export * from './domain/DeploymentCurrentState';
|
|
3
5
|
export * from './domain/DeploymentExecutionResult';
|
|
4
6
|
export * from './domain/DeploymentFailure';
|
|
5
7
|
export * from './domain/DeploymentPlan';
|
|
6
8
|
export * from './domain/DeploymentPlanDiagnostic';
|
|
7
9
|
export * from './domain/DeploymentPlanStep';
|
|
10
|
+
export * from './domain/DeploymentProviderCapabilityState';
|
|
11
|
+
export * from './domain/DeploymentProviderSetupAdapter';
|
|
12
|
+
export * from './domain/DeploymentProviderSetupContext';
|
|
13
|
+
export * from './domain/DeploymentProviderSetupInspection';
|
|
14
|
+
export * from './domain/DeploymentProviderSetupInspectionResult';
|
|
15
|
+
export * from './domain/DeploymentProvisioningRequirement';
|
|
8
16
|
export * from './domain/DeploymentRequiredAction';
|
|
17
|
+
export * from './domain/DeploymentSecretResolver';
|
|
9
18
|
export * from './domain/DeploymentStepOutcome';
|
|
10
19
|
export * from './domain/DeploymentTargetChange';
|
|
11
20
|
export * from './domain/DeploymentTargetPlanContributor';
|
|
@@ -13,4 +22,5 @@ export * from './domain/DeploymentVerificationResult';
|
|
|
13
22
|
export * from './engine/createDeploymentChanges';
|
|
14
23
|
export * from './engine/createDeploymentPlan';
|
|
15
24
|
export * from './engine/executeDeploymentPlan';
|
|
25
|
+
export * from './engine/inspectDeploymentProviderSetup';
|
|
16
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
|
+
export * from './domain/DeploymentAuthenticationState';
|
|
1
2
|
export * from './domain/DeploymentCapability';
|
|
3
|
+
export * from './domain/DeploymentCredentialReference';
|
|
2
4
|
export * from './domain/DeploymentCurrentState';
|
|
3
5
|
export * from './domain/DeploymentExecutionResult';
|
|
4
6
|
export * from './domain/DeploymentFailure';
|
|
5
7
|
export * from './domain/DeploymentPlan';
|
|
6
8
|
export * from './domain/DeploymentPlanDiagnostic';
|
|
7
9
|
export * from './domain/DeploymentPlanStep';
|
|
10
|
+
export * from './domain/DeploymentProviderCapabilityState';
|
|
11
|
+
export * from './domain/DeploymentProviderSetupAdapter';
|
|
12
|
+
export * from './domain/DeploymentProviderSetupContext';
|
|
13
|
+
export * from './domain/DeploymentProviderSetupInspection';
|
|
14
|
+
export * from './domain/DeploymentProviderSetupInspectionResult';
|
|
15
|
+
export * from './domain/DeploymentProvisioningRequirement';
|
|
8
16
|
export * from './domain/DeploymentRequiredAction';
|
|
17
|
+
export * from './domain/DeploymentSecretResolver';
|
|
9
18
|
export * from './domain/DeploymentStepOutcome';
|
|
10
19
|
export * from './domain/DeploymentTargetChange';
|
|
11
20
|
export * from './domain/DeploymentTargetPlanContributor';
|
|
@@ -13,4 +22,5 @@ export * from './domain/DeploymentVerificationResult';
|
|
|
13
22
|
export * from './engine/createDeploymentChanges';
|
|
14
23
|
export * from './engine/createDeploymentPlan';
|
|
15
24
|
export * from './engine/executeDeploymentPlan';
|
|
25
|
+
export * from './engine/inspectDeploymentProviderSetup';
|
|
16
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC","sourcesContent":["export * from './domain/DeploymentCapability';\nexport * from './domain/DeploymentCurrentState';\nexport * from './domain/DeploymentExecutionResult';\nexport * from './domain/DeploymentFailure';\nexport * from './domain/DeploymentPlan';\nexport * from './domain/DeploymentPlanDiagnostic';\nexport * from './domain/DeploymentPlanStep';\nexport * from './domain/DeploymentRequiredAction';\nexport * from './domain/DeploymentStepOutcome';\nexport * from './domain/DeploymentTargetChange';\nexport * from './domain/DeploymentTargetPlanContributor';\nexport * from './domain/DeploymentVerificationResult';\nexport * from './engine/createDeploymentChanges';\nexport * from './engine/createDeploymentPlan';\nexport * from './engine/executeDeploymentPlan';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC","sourcesContent":["export * from './domain/DeploymentAuthenticationState';\nexport * from './domain/DeploymentCapability';\nexport * from './domain/DeploymentCredentialReference';\nexport * from './domain/DeploymentCurrentState';\nexport * from './domain/DeploymentExecutionResult';\nexport * from './domain/DeploymentFailure';\nexport * from './domain/DeploymentPlan';\nexport * from './domain/DeploymentPlanDiagnostic';\nexport * from './domain/DeploymentPlanStep';\nexport * from './domain/DeploymentProviderCapabilityState';\nexport * from './domain/DeploymentProviderSetupAdapter';\nexport * from './domain/DeploymentProviderSetupContext';\nexport * from './domain/DeploymentProviderSetupInspection';\nexport * from './domain/DeploymentProviderSetupInspectionResult';\nexport * from './domain/DeploymentProvisioningRequirement';\nexport * from './domain/DeploymentRequiredAction';\nexport * from './domain/DeploymentSecretResolver';\nexport * from './domain/DeploymentStepOutcome';\nexport * from './domain/DeploymentTargetChange';\nexport * from './domain/DeploymentTargetPlanContributor';\nexport * from './domain/DeploymentVerificationResult';\nexport * from './engine/createDeploymentChanges';\nexport * from './engine/createDeploymentPlan';\nexport * from './engine/executeDeploymentPlan';\nexport * from './engine/inspectDeploymentProviderSetup';\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface ProjectDeploymentPaths {
|
|
2
|
+
readonly projectRoot: string;
|
|
3
|
+
readonly manifestPath: string;
|
|
4
|
+
readonly authoredRoot: string;
|
|
5
|
+
readonly listingRoot: string;
|
|
6
|
+
readonly assetsRoot: string;
|
|
7
|
+
readonly sharedAssetsRoot: string;
|
|
8
|
+
readonly androidAssetsRoot: string;
|
|
9
|
+
readonly androidScreenshotsRoot: string;
|
|
10
|
+
readonly iosAssetsRoot: string;
|
|
11
|
+
readonly iosScreenshotsRoot: string;
|
|
12
|
+
readonly monetizationRoot: string;
|
|
13
|
+
readonly productsPath: string;
|
|
14
|
+
readonly releasePath: string;
|
|
15
|
+
readonly historyRoot: string;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ProjectDeploymentPaths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectDeploymentPaths.d.ts","sourceRoot":"","sources":["../../src/project/ProjectDeploymentPaths.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectDeploymentPaths.js","sourceRoot":"","sources":["../../src/project/ProjectDeploymentPaths.ts"],"names":[],"mappings":"","sourcesContent":["export interface ProjectDeploymentPaths {\n readonly projectRoot: string;\n readonly manifestPath: string;\n readonly authoredRoot: string;\n readonly listingRoot: string;\n readonly assetsRoot: string;\n readonly sharedAssetsRoot: string;\n readonly androidAssetsRoot: string;\n readonly androidScreenshotsRoot: string;\n readonly iosAssetsRoot: string;\n readonly iosScreenshotsRoot: string;\n readonly monetizationRoot: string;\n readonly productsPath: string;\n readonly releasePath: string;\n readonly historyRoot: string;\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AppManifest } from '@ankhorage/contracts';
|
|
2
|
+
import type { AppDeployManifest } from '@ankhorage/contracts/deploy';
|
|
3
|
+
import type { ProjectDeploymentPaths } from './ProjectDeploymentPaths';
|
|
4
|
+
export interface ResolvedDeployProject {
|
|
5
|
+
readonly projectRoot: string;
|
|
6
|
+
readonly manifestPath: string;
|
|
7
|
+
readonly manifest: AppManifest;
|
|
8
|
+
readonly deploy: AppDeployManifest | null;
|
|
9
|
+
readonly paths: ProjectDeploymentPaths;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ResolvedDeployProject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolvedDeployProject.d.ts","sourceRoot":"","sources":["../../src/project/ResolvedDeployProject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolvedDeployProject.js","sourceRoot":"","sources":["../../src/project/ResolvedDeployProject.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppManifest } from '@ankhorage/contracts';\nimport type { AppDeployManifest } from '@ankhorage/contracts/deploy';\n\nimport type { ProjectDeploymentPaths } from './ProjectDeploymentPaths';\n\nexport interface ResolvedDeployProject {\n readonly projectRoot: string;\n readonly manifestPath: string;\n readonly manifest: AppManifest;\n readonly deploy: AppDeployManifest | null;\n readonly paths: ProjectDeploymentPaths;\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AppDeployManifest } from '@ankhorage/contracts/deploy';
|
|
2
|
+
import type { DeploymentExecutionResult } from '../../domain/DeploymentExecutionResult';
|
|
3
|
+
import type { DeploymentPlan } from '../../domain/DeploymentPlan';
|
|
4
|
+
import type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';
|
|
5
|
+
export interface ProjectDeploymentHistoryRecord {
|
|
6
|
+
readonly schemaVersion: 1;
|
|
7
|
+
readonly deploymentId: string;
|
|
8
|
+
readonly recordedAt: string;
|
|
9
|
+
readonly desired: AppDeployManifest | null;
|
|
10
|
+
readonly plan: DeploymentPlan;
|
|
11
|
+
readonly execution: DeploymentExecutionResult;
|
|
12
|
+
readonly verification?: DeploymentVerificationResult;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ProjectDeploymentHistoryRecord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectDeploymentHistoryRecord.d.ts","sourceRoot":"","sources":["../../../src/project/history/ProjectDeploymentHistoryRecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAE9F,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,4BAA4B,CAAC;CACtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectDeploymentHistoryRecord.js","sourceRoot":"","sources":["../../../src/project/history/ProjectDeploymentHistoryRecord.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppDeployManifest } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentExecutionResult } from '../../domain/DeploymentExecutionResult';\nimport type { DeploymentPlan } from '../../domain/DeploymentPlan';\nimport type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';\n\nexport interface ProjectDeploymentHistoryRecord {\n readonly schemaVersion: 1;\n readonly deploymentId: string;\n readonly recordedAt: string;\n readonly desired: AppDeployManifest | null;\n readonly plan: DeploymentPlan;\n readonly execution: DeploymentExecutionResult;\n readonly verification?: DeploymentVerificationResult;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historySchemaVersion.d.ts","sourceRoot":"","sources":["../../../src/project/history/historySchemaVersion.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yCAAyC,EAAG,CAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historySchemaVersion.js","sourceRoot":"","sources":["../../../src/project/history/historySchemaVersion.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yCAAyC,GAAG,CAAU,CAAC","sourcesContent":["export const PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION = 1 as const;\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProjectDeploymentHistoryRecord } from './ProjectDeploymentHistoryRecord';
|
|
2
|
+
export declare function listProjectDeploymentHistory(options: {
|
|
3
|
+
readonly projectRoot: string;
|
|
4
|
+
}): Promise<readonly ProjectDeploymentHistoryRecord[]>;
|
|
5
|
+
//# sourceMappingURL=listProjectDeploymentHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listProjectDeploymentHistory.d.ts","sourceRoot":"","sources":["../../../src/project/history/listProjectDeploymentHistory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAGvF,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAcrD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { promises as fs } from 'node:fs';
|
|
2
|
+
import { isMissingPathError } from '../io/isMissingPathError';
|
|
3
|
+
import { resolveDeployProject } from '../resolveDeployProject';
|
|
4
|
+
import { readProjectDeploymentHistory } from './readProjectDeploymentHistory';
|
|
5
|
+
export async function listProjectDeploymentHistory(options) {
|
|
6
|
+
const project = await resolveDeployProject({ projectRoot: options.projectRoot });
|
|
7
|
+
const entries = await readHistoryEntries(project.paths.historyRoot);
|
|
8
|
+
const ids = entries
|
|
9
|
+
.filter((entry) => entry.isDirectory())
|
|
10
|
+
.map((entry) => entry.name)
|
|
11
|
+
.sort((left, right) => left.localeCompare(right));
|
|
12
|
+
const records = await Promise.all(ids.map((deploymentId) => readProjectDeploymentHistory({ projectRoot: project.projectRoot, deploymentId })));
|
|
13
|
+
return records.filter((record) => record !== null);
|
|
14
|
+
}
|
|
15
|
+
async function readHistoryEntries(historyRoot) {
|
|
16
|
+
try {
|
|
17
|
+
return await fs.readdir(historyRoot, { withFileTypes: true });
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
if (isMissingPathError(error))
|
|
21
|
+
return [];
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=listProjectDeploymentHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listProjectDeploymentHistory.js","sourceRoot":"","sources":["../../../src/project/history/listProjectDeploymentHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,OAElD;IACC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,OAAO;SAChB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CACvB,4BAA4B,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CACjF,CACF,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAA4C,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AAC/F,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IACnD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { type Dirent, promises as fs } from 'node:fs';\n\nimport { isMissingPathError } from '../io/isMissingPathError';\nimport { resolveDeployProject } from '../resolveDeployProject';\nimport type { ProjectDeploymentHistoryRecord } from './ProjectDeploymentHistoryRecord';\nimport { readProjectDeploymentHistory } from './readProjectDeploymentHistory';\n\nexport async function listProjectDeploymentHistory(options: {\n readonly projectRoot: string;\n}): Promise<readonly ProjectDeploymentHistoryRecord[]> {\n const project = await resolveDeployProject({ projectRoot: options.projectRoot });\n const entries = await readHistoryEntries(project.paths.historyRoot);\n const ids = entries\n .filter((entry) => entry.isDirectory())\n .map((entry) => entry.name)\n .sort((left, right) => left.localeCompare(right));\n\n const records = await Promise.all(\n ids.map((deploymentId) =>\n readProjectDeploymentHistory({ projectRoot: project.projectRoot, deploymentId }),\n ),\n );\n return records.filter((record): record is ProjectDeploymentHistoryRecord => record !== null);\n}\n\nasync function readHistoryEntries(historyRoot: string): Promise<readonly Dirent[]> {\n try {\n return await fs.readdir(historyRoot, { withFileTypes: true });\n } catch (error) {\n if (isMissingPathError(error)) return [];\n throw error;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseProjectDeploymentHistoryRecord.d.ts","sourceRoot":"","sources":["../../../src/project/history/parseProjectDeploymentHistoryRecord.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAgBvF,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,OAAO,GACb,8BAA8B,CAUhC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { isAppDeployManifest } from '@ankhorage/contracts/deploy';
|
|
2
|
+
import { isSafeSegment } from '../io/assertSafeSegment';
|
|
3
|
+
import { hasOnlyKeys } from '../io/hasOnlyKeys';
|
|
4
|
+
import { isRecord } from '../io/isRecord';
|
|
5
|
+
import { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from './historySchemaVersion';
|
|
6
|
+
import { isDeploymentExecution } from './validation/execution';
|
|
7
|
+
import { isIsoTimestamp } from './validation/isIsoTimestamp';
|
|
8
|
+
import { isDeploymentPlan } from './validation/plan';
|
|
9
|
+
import { isDeploymentVerification } from './validation/verification';
|
|
10
|
+
const HISTORY_KEYS = new Set([
|
|
11
|
+
'schemaVersion',
|
|
12
|
+
'deploymentId',
|
|
13
|
+
'recordedAt',
|
|
14
|
+
'desired',
|
|
15
|
+
'plan',
|
|
16
|
+
'execution',
|
|
17
|
+
'verification',
|
|
18
|
+
]);
|
|
19
|
+
export function parseProjectDeploymentHistoryRecord(value) {
|
|
20
|
+
if (isRecord(value) && value.schemaVersion !== PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION) {
|
|
21
|
+
throw new Error(`Unsupported deployment history schema version: ${String(value.schemaVersion)}`);
|
|
22
|
+
}
|
|
23
|
+
if (!isHistoryRecord(value)) {
|
|
24
|
+
throw new Error('Deployment history record has an invalid canonical shape.');
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
function isHistoryRecord(value) {
|
|
29
|
+
return (isRecord(value) &&
|
|
30
|
+
hasOnlyKeys(value, HISTORY_KEYS) &&
|
|
31
|
+
value.schemaVersion === PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION &&
|
|
32
|
+
typeof value.deploymentId === 'string' &&
|
|
33
|
+
isSafeSegment(value.deploymentId) &&
|
|
34
|
+
isIsoTimestamp(value.recordedAt) &&
|
|
35
|
+
(value.desired === null || isAppDeployManifest(value.desired)) &&
|
|
36
|
+
isDeploymentPlan(value.plan) &&
|
|
37
|
+
isDeploymentExecution(value.execution) &&
|
|
38
|
+
(value.verification === undefined || isDeploymentVerification(value.verification)));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=parseProjectDeploymentHistoryRecord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseProjectDeploymentHistoryRecord.js","sourceRoot":"","sources":["../../../src/project/history/parseProjectDeploymentHistoryRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,yCAAyC,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,eAAe;IACf,cAAc;IACd,YAAY;IACZ,SAAS;IACT,MAAM;IACN,WAAW;IACX,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,UAAU,mCAAmC,CACjD,KAAc;IAEd,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,aAAa,KAAK,yCAAyC,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CACb,kDAAkD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC;QAChC,KAAK,CAAC,aAAa,KAAK,yCAAyC;QACjE,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;QAChC,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CACnF,CAAC;AACJ,CAAC","sourcesContent":["import { isAppDeployManifest } from '@ankhorage/contracts/deploy';\n\nimport { isSafeSegment } from '../io/assertSafeSegment';\nimport { hasOnlyKeys } from '../io/hasOnlyKeys';\nimport { isRecord } from '../io/isRecord';\nimport { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from './historySchemaVersion';\nimport type { ProjectDeploymentHistoryRecord } from './ProjectDeploymentHistoryRecord';\nimport { isDeploymentExecution } from './validation/execution';\nimport { isIsoTimestamp } from './validation/isIsoTimestamp';\nimport { isDeploymentPlan } from './validation/plan';\nimport { isDeploymentVerification } from './validation/verification';\n\nconst HISTORY_KEYS = new Set([\n 'schemaVersion',\n 'deploymentId',\n 'recordedAt',\n 'desired',\n 'plan',\n 'execution',\n 'verification',\n]);\n\nexport function parseProjectDeploymentHistoryRecord(\n value: unknown,\n): ProjectDeploymentHistoryRecord {\n if (isRecord(value) && value.schemaVersion !== PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION) {\n throw new Error(\n `Unsupported deployment history schema version: ${String(value.schemaVersion)}`,\n );\n }\n if (!isHistoryRecord(value)) {\n throw new Error('Deployment history record has an invalid canonical shape.');\n }\n return value;\n}\n\nfunction isHistoryRecord(value: unknown): value is ProjectDeploymentHistoryRecord {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, HISTORY_KEYS) &&\n value.schemaVersion === PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION &&\n typeof value.deploymentId === 'string' &&\n isSafeSegment(value.deploymentId) &&\n isIsoTimestamp(value.recordedAt) &&\n (value.desired === null || isAppDeployManifest(value.desired)) &&\n isDeploymentPlan(value.plan) &&\n isDeploymentExecution(value.execution) &&\n (value.verification === undefined || isDeploymentVerification(value.verification))\n );\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectDeploymentHistoryRecord } from './ProjectDeploymentHistoryRecord';
|
|
2
|
+
export declare function readProjectDeploymentHistory(options: {
|
|
3
|
+
readonly projectRoot: string;
|
|
4
|
+
readonly deploymentId: string;
|
|
5
|
+
}): Promise<ProjectDeploymentHistoryRecord | null>;
|
|
6
|
+
//# sourceMappingURL=readProjectDeploymentHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readProjectDeploymentHistory.d.ts","sourceRoot":"","sources":["../../../src/project/history/readProjectDeploymentHistory.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAEvF,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAkBjD"}
|