@ankhorage/deploy 0.13.101 → 0.14.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.
Files changed (120) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +1 -1
  3. package/dist/capabilities/index.d.ts +13 -0
  4. package/dist/capabilities/index.d.ts.map +1 -0
  5. package/dist/capabilities/index.js +12 -0
  6. package/dist/capabilities/index.js.map +1 -0
  7. package/dist/cli/createDeployCliProvider.d.ts +1 -0
  8. package/dist/cli/createDeployCliProvider.d.ts.map +1 -1
  9. package/dist/cli/createDeployCliProvider.js +3 -1
  10. package/dist/cli/createDeployCliProvider.js.map +1 -1
  11. package/dist/engine/release/resumeReleaseExecution.d.ts +6 -2
  12. package/dist/engine/release/resumeReleaseExecution.d.ts.map +1 -1
  13. package/dist/engine/release/resumeReleaseExecution.js +4 -0
  14. package/dist/engine/release/resumeReleaseExecution.js.map +1 -1
  15. package/dist/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.d.ts.map +1 -1
  16. package/dist/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.js +1 -1
  17. package/dist/features/authoring/application/use-cases/fromDeployReleaseAuthoringValue.js.map +1 -1
  18. package/dist/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.d.ts.map +1 -1
  19. package/dist/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.js +1 -1
  20. package/dist/features/authoring/application/use-cases/toDeployReleaseAuthoringValue.js.map +1 -1
  21. package/dist/project/android/readCurrentProjectAndroidDeployment.js +1 -1
  22. package/dist/project/android/readCurrentProjectAndroidDeployment.js.map +1 -1
  23. package/dist/project/android/recordProjectAndroidDeployment.js +1 -1
  24. package/dist/project/android/recordProjectAndroidDeployment.js.map +1 -1
  25. package/dist/project/history/parseProjectDeploymentHistoryRecord.d.ts.map +1 -1
  26. package/dist/project/history/parseProjectDeploymentHistoryRecord.js +9 -3
  27. package/dist/project/history/parseProjectDeploymentHistoryRecord.js.map +1 -1
  28. package/dist/project/history/validation/diagnostic.d.ts.map +1 -1
  29. package/dist/project/history/validation/diagnostic.js +1 -3
  30. package/dist/project/history/validation/diagnostic.js.map +1 -1
  31. package/dist/project/history/validation/execution.d.ts.map +1 -1
  32. package/dist/project/history/validation/execution.js +1 -2
  33. package/dist/project/history/validation/execution.js.map +1 -1
  34. package/dist/project/history/validation/failure.d.ts.map +1 -1
  35. package/dist/project/history/validation/failure.js +1 -3
  36. package/dist/project/history/validation/failure.js.map +1 -1
  37. package/dist/project/history/validation/observedTarget.d.ts.map +1 -1
  38. package/dist/project/history/validation/observedTarget.js +1 -3
  39. package/dist/project/history/validation/observedTarget.js.map +1 -1
  40. package/dist/project/history/validation/plan.d.ts.map +1 -1
  41. package/dist/project/history/validation/plan.js +1 -2
  42. package/dist/project/history/validation/plan.js.map +1 -1
  43. package/dist/project/history/validation/planStep.d.ts.map +1 -1
  44. package/dist/project/history/validation/planStep.js +1 -3
  45. package/dist/project/history/validation/planStep.js.map +1 -1
  46. package/dist/project/history/validation/providerSelection.d.ts.map +1 -1
  47. package/dist/project/history/validation/providerSelection.js +1 -3
  48. package/dist/project/history/validation/providerSelection.js.map +1 -1
  49. package/dist/project/history/validation/requiredAction.d.ts.map +1 -1
  50. package/dist/project/history/validation/requiredAction.js +1 -3
  51. package/dist/project/history/validation/requiredAction.js.map +1 -1
  52. package/dist/project/history/validation/shared.d.ts +4 -0
  53. package/dist/project/history/validation/shared.d.ts.map +1 -1
  54. package/dist/project/history/validation/shared.js +8 -0
  55. package/dist/project/history/validation/shared.js.map +1 -1
  56. package/dist/project/history/validation/stepOutcome.d.ts.map +1 -1
  57. package/dist/project/history/validation/stepOutcome.js +1 -2
  58. package/dist/project/history/validation/stepOutcome.js.map +1 -1
  59. package/dist/project/history/validation/targetChange.d.ts.map +1 -1
  60. package/dist/project/history/validation/targetChange.js +1 -3
  61. package/dist/project/history/validation/targetChange.js.map +1 -1
  62. package/dist/project/history/validation/verification.d.ts.map +1 -1
  63. package/dist/project/history/validation/verification.js +1 -3
  64. package/dist/project/history/validation/verification.js.map +1 -1
  65. package/dist/project/index.d.ts +3 -3
  66. package/dist/project/index.d.ts.map +1 -1
  67. package/dist/project/index.js +3 -3
  68. package/dist/project/index.js.map +1 -1
  69. package/dist/project/io/assertSafeSegment.d.ts +0 -1
  70. package/dist/project/io/assertSafeSegment.d.ts.map +1 -1
  71. package/dist/project/io/assertSafeSegment.js +1 -1
  72. package/dist/project/io/assertSafeSegment.js.map +1 -1
  73. package/dist/project/ios/readCurrentProjectIosDeployment.js +1 -1
  74. package/dist/project/ios/readCurrentProjectIosDeployment.js.map +1 -1
  75. package/dist/project/ios/recordProjectIosDeployment.js +1 -1
  76. package/dist/project/ios/recordProjectIosDeployment.js.map +1 -1
  77. package/dist/project/listProjectDeploymentHistory.d.ts +6 -0
  78. package/dist/project/listProjectDeploymentHistory.d.ts.map +1 -0
  79. package/dist/project/{history/listProjectDeploymentHistory.js → listProjectDeploymentHistory.js} +3 -2
  80. package/dist/project/listProjectDeploymentHistory.js.map +1 -0
  81. package/dist/project/readProjectDeploymentHistory.d.ts +7 -0
  82. package/dist/project/readProjectDeploymentHistory.d.ts.map +1 -0
  83. package/dist/project/{history/readProjectDeploymentHistory.js → readProjectDeploymentHistory.js} +6 -5
  84. package/dist/project/readProjectDeploymentHistory.js.map +1 -0
  85. package/dist/project/recordProjectDeploymentHistory.d.ts +7 -0
  86. package/dist/project/recordProjectDeploymentHistory.d.ts.map +1 -0
  87. package/dist/project/{history/recordProjectDeploymentHistory.js → recordProjectDeploymentHistory.js} +6 -5
  88. package/dist/project/recordProjectDeploymentHistory.js.map +1 -0
  89. package/dist/project/release/readProjectRelease.js +1 -1
  90. package/dist/project/release/readProjectRelease.js.map +1 -1
  91. package/dist/project/release/readProjectReleaseAndroidArtifact.js +1 -1
  92. package/dist/project/release/readProjectReleaseAndroidArtifact.js.map +1 -1
  93. package/dist/project/release/readProjectReleaseIosArtifact.js +1 -1
  94. package/dist/project/release/readProjectReleaseIosArtifact.js.map +1 -1
  95. package/dist/project/release/writeProjectRelease.js +1 -1
  96. package/dist/project/release/writeProjectRelease.js.map +1 -1
  97. package/dist/project/releaseHistory/parseReleaseHistoryDesired.js +1 -1
  98. package/dist/project/releaseHistory/parseReleaseHistoryDesired.js.map +1 -1
  99. package/dist/project/releaseInput/parseProjectRelease.d.ts.map +1 -0
  100. package/dist/project/releaseInput/parseProjectRelease.js.map +1 -0
  101. package/dist/project/web/readCurrentProjectWebDeployment.js +1 -1
  102. package/dist/project/web/readCurrentProjectWebDeployment.js.map +1 -1
  103. package/dist/project/web/readCurrentProjectWebProductionDeployment.js +1 -1
  104. package/dist/project/web/readCurrentProjectWebProductionDeployment.js.map +1 -1
  105. package/dist/project/web/recordProjectWebDeployment.js +1 -1
  106. package/dist/project/web/recordProjectWebDeployment.js.map +1 -1
  107. package/package.json +25 -8
  108. package/dist/project/history/listProjectDeploymentHistory.d.ts +0 -5
  109. package/dist/project/history/listProjectDeploymentHistory.d.ts.map +0 -1
  110. package/dist/project/history/listProjectDeploymentHistory.js.map +0 -1
  111. package/dist/project/history/readProjectDeploymentHistory.d.ts +0 -6
  112. package/dist/project/history/readProjectDeploymentHistory.d.ts.map +0 -1
  113. package/dist/project/history/readProjectDeploymentHistory.js.map +0 -1
  114. package/dist/project/history/recordProjectDeploymentHistory.d.ts +0 -6
  115. package/dist/project/history/recordProjectDeploymentHistory.d.ts.map +0 -1
  116. package/dist/project/history/recordProjectDeploymentHistory.js.map +0 -1
  117. package/dist/project/release/parseProjectRelease.d.ts.map +0 -1
  118. package/dist/project/release/parseProjectRelease.js.map +0 -1
  119. /package/dist/project/{release → releaseInput}/parseProjectRelease.d.ts +0 -0
  120. /package/dist/project/{release → releaseInput}/parseProjectRelease.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"providerSelection.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/providerSelection.ts"],"names":[],"mappings":"AAMA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQ3D"}
1
+ {"version":3,"file":"providerSelection.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/providerSelection.ts"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQ3D"}
@@ -1,6 +1,4 @@
1
- import { hasOnlyKeys } from '../../io/hasOnlyKeys';
2
- import { isRecord } from '../../io/isRecord';
3
- import { isNonEmptyString } from './shared';
1
+ import { hasOnlyKeys, isNonEmptyString, isRecord } from './shared';
4
2
  const PROVIDER_KEYS = new Set(['build', 'publish']);
5
3
  export function isProviderSelection(value) {
6
4
  if (value === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"providerSelection.js","sourceRoot":"","sources":["../../../../src/project/history/validation/providerSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzE,OAAO,CACL,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC","sourcesContent":["import { hasOnlyKeys } from '../../io/hasOnlyKeys';\nimport { isRecord } from '../../io/isRecord';\nimport { isNonEmptyString } from './shared';\n\nconst PROVIDER_KEYS = new Set(['build', 'publish']);\n\nexport function isProviderSelection(value: unknown): boolean {\n if (value === undefined) return true;\n if (!isRecord(value) || !hasOnlyKeys(value, PROVIDER_KEYS)) return false;\n\n return (\n (value.build === undefined || isNonEmptyString(value.build)) &&\n (value.publish === undefined || isNonEmptyString(value.publish))\n );\n}\n"]}
1
+ {"version":3,"file":"providerSelection.js","sourceRoot":"","sources":["../../../../src/project/history/validation/providerSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEnE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzE,OAAO,CACL,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC","sourcesContent":["import { hasOnlyKeys, isNonEmptyString, isRecord } from './shared';\n\nconst PROVIDER_KEYS = new Set(['build', 'publish']);\n\nexport function isProviderSelection(value: unknown): boolean {\n if (value === undefined) return true;\n if (!isRecord(value) || !hasOnlyKeys(value, PROVIDER_KEYS)) return false;\n\n return (\n (value.build === undefined || isNonEmptyString(value.build)) &&\n (value.publish === undefined || isNonEmptyString(value.publish))\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"requiredAction.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/requiredAction.ts"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAcxD"}
1
+ {"version":3,"file":"requiredAction.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/requiredAction.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAcxD"}
@@ -1,6 +1,4 @@
1
- import { hasOnlyKeys } from '../../io/hasOnlyKeys';
2
- import { isRecord } from '../../io/isRecord';
3
- import { isNonEmptyString, isTargetId } from './shared';
1
+ import { hasOnlyKeys, isNonEmptyString, isRecord, isTargetId } from './shared';
4
2
  const AUTH_KEYS = new Set(['type', 'provider', 'target', 'code', 'message']);
5
3
  const MANUAL_KEYS = new Set(['type', 'target', 'provider', 'code', 'message', 'url']);
6
4
  export function isRequiredAction(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"requiredAction.js","sourceRoot":"","sources":["../../../../src/project/history/validation/requiredAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAEtF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,OAAO,CACL,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;YAC7B,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAChC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxD,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAClC,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B;IACpD,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,eAAe;QAC9B,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC;QAC/B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAC3D,CAAC;AACJ,CAAC","sourcesContent":["import { hasOnlyKeys } from '../../io/hasOnlyKeys';\nimport { isRecord } from '../../io/isRecord';\nimport { isNonEmptyString, isTargetId } from './shared';\n\nconst AUTH_KEYS = new Set(['type', 'provider', 'target', 'code', 'message']);\nconst MANUAL_KEYS = new Set(['type', 'target', 'provider', 'code', 'message', 'url']);\n\nexport function isRequiredAction(value: unknown): boolean {\n if (!isRecord(value)) return false;\n\n if (value.type === 'authentication') {\n return (\n hasOnlyKeys(value, AUTH_KEYS) &&\n isNonEmptyString(value.provider) &&\n (value.target === undefined || isTargetId(value.target)) &&\n isNonEmptyString(value.code) &&\n typeof value.message === 'string'\n );\n }\n\n return isManualAction(value);\n}\n\nfunction isManualAction(value: Record<string, unknown>): boolean {\n return (\n value.type === 'manual-action' &&\n hasOnlyKeys(value, MANUAL_KEYS) &&\n isTargetId(value.target) &&\n (value.provider === undefined || isNonEmptyString(value.provider)) &&\n isNonEmptyString(value.code) &&\n typeof value.message === 'string' &&\n (value.url === undefined || typeof value.url === 'string')\n );\n}\n"]}
1
+ {"version":3,"file":"requiredAction.js","sourceRoot":"","sources":["../../../../src/project/history/validation/requiredAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAEtF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,OAAO,CACL,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;YAC7B,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAChC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxD,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAClC,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B;IACpD,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,eAAe;QAC9B,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC;QAC/B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAC3D,CAAC;AACJ,CAAC","sourcesContent":["import { hasOnlyKeys, isNonEmptyString, isRecord, isTargetId } from './shared';\n\nconst AUTH_KEYS = new Set(['type', 'provider', 'target', 'code', 'message']);\nconst MANUAL_KEYS = new Set(['type', 'target', 'provider', 'code', 'message', 'url']);\n\nexport function isRequiredAction(value: unknown): boolean {\n if (!isRecord(value)) return false;\n\n if (value.type === 'authentication') {\n return (\n hasOnlyKeys(value, AUTH_KEYS) &&\n isNonEmptyString(value.provider) &&\n (value.target === undefined || isTargetId(value.target)) &&\n isNonEmptyString(value.code) &&\n typeof value.message === 'string'\n );\n }\n\n return isManualAction(value);\n}\n\nfunction isManualAction(value: Record<string, unknown>): boolean {\n return (\n value.type === 'manual-action' &&\n hasOnlyKeys(value, MANUAL_KEYS) &&\n isTargetId(value.target) &&\n (value.provider === undefined || isNonEmptyString(value.provider)) &&\n isNonEmptyString(value.code) &&\n typeof value.message === 'string' &&\n (value.url === undefined || typeof value.url === 'string')\n );\n}\n"]}
@@ -1,3 +1,7 @@
1
+ /*** Narrow unknown history payload values to plain records. */
2
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
3
+ /*** Reject unknown fields from canonical history payload objects. */
4
+ export declare function hasOnlyKeys(value: Record<string, unknown>, allowed: ReadonlySet<string>): boolean;
1
5
  export declare function isNonEmptyString(value: unknown): value is string;
2
6
  export declare function isTargetId(value: unknown): value is 'web' | 'android' | 'ios';
3
7
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/shared.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,KAAK,CAE7E"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/shared.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEjG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,KAAK,CAE7E"}
@@ -1,4 +1,12 @@
1
1
  import { APP_DEPLOY_TARGET_IDS } from '@ankhorage/contracts/deploy';
2
+ /*** Narrow unknown history payload values to plain records. */
3
+ export function isRecord(value) {
4
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
5
+ }
6
+ /*** Reject unknown fields from canonical history payload objects. */
7
+ export function hasOnlyKeys(value, allowed) {
8
+ return Object.keys(value).every((key) => allowed.has(key));
9
+ }
2
10
  export function isNonEmptyString(value) {
3
11
  return typeof value === 'string' && value.trim().length > 0;
4
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/project/history/validation/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { APP_DEPLOY_TARGET_IDS } from '@ankhorage/contracts/deploy';\n\nexport function isNonEmptyString(value: unknown): value is string {\n return typeof value === 'string' && value.trim().length > 0;\n}\n\nexport function isTargetId(value: unknown): value is 'web' | 'android' | 'ios' {\n return APP_DEPLOY_TARGET_IDS.some((target) => target === value);\n}\n"]}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/project/history/validation/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,WAAW,CAAC,KAA8B,EAAE,OAA4B;IACtF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { APP_DEPLOY_TARGET_IDS } from '@ankhorage/contracts/deploy';\n\n/*** Narrow unknown history payload values to plain records. */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/*** Reject unknown fields from canonical history payload objects. */\nexport function hasOnlyKeys(value: Record<string, unknown>, allowed: ReadonlySet<string>): boolean {\n return Object.keys(value).every((key) => allowed.has(key));\n}\n\nexport function isNonEmptyString(value: unknown): value is string {\n return typeof value === 'string' && value.trim().length > 0;\n}\n\nexport function isTargetId(value: unknown): value is 'web' | 'android' | 'ios' {\n return APP_DEPLOY_TARGET_IDS.some((target) => target === value);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stepOutcome.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/stepOutcome.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAerD"}
1
+ {"version":3,"file":"stepOutcome.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/stepOutcome.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAerD"}
@@ -1,7 +1,6 @@
1
- import { hasOnlyKeys } from '../../io/hasOnlyKeys';
2
- import { isRecord } from '../../io/isRecord';
3
1
  import { isDeploymentFailure } from './failure';
4
2
  import { isRequiredAction } from './requiredAction';
3
+ import { hasOnlyKeys, isRecord } from './shared';
5
4
  export function isStepOutcome(value) {
6
5
  if (!isRecord(value))
7
6
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"stepOutcome.js","sourceRoot":"","sources":["../../../../src/project/history/validation/stepOutcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC/F,KAAK,iBAAiB;YACpB,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7F,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9F;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC","sourcesContent":["import { hasOnlyKeys } from '../../io/hasOnlyKeys';\nimport { isRecord } from '../../io/isRecord';\nimport { isDeploymentFailure } from './failure';\nimport { isRequiredAction } from './requiredAction';\n\nexport function isStepOutcome(value: unknown): boolean {\n if (!isRecord(value)) return false;\n\n switch (value.status) {\n case 'completed':\n return hasOnlyKeys(value, new Set(['status']));\n case 'skipped':\n return hasOnlyKeys(value, new Set(['status', 'reason'])) && typeof value.reason === 'string';\n case 'action-required':\n return hasOnlyKeys(value, new Set(['status', 'action'])) && isRequiredAction(value.action);\n case 'failed':\n return hasOnlyKeys(value, new Set(['status', 'error'])) && isDeploymentFailure(value.error);\n default:\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"stepOutcome.js","sourceRoot":"","sources":["../../../../src/project/history/validation/stepOutcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC/F,KAAK,iBAAiB;YACpB,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7F,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9F;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC","sourcesContent":["import { isDeploymentFailure } from './failure';\nimport { isRequiredAction } from './requiredAction';\nimport { hasOnlyKeys, isRecord } from './shared';\n\nexport function isStepOutcome(value: unknown): boolean {\n if (!isRecord(value)) return false;\n\n switch (value.status) {\n case 'completed':\n return hasOnlyKeys(value, new Set(['status']));\n case 'skipped':\n return hasOnlyKeys(value, new Set(['status', 'reason'])) && typeof value.reason === 'string';\n case 'action-required':\n return hasOnlyKeys(value, new Set(['status', 'action'])) && isRequiredAction(value.action);\n case 'failed':\n return hasOnlyKeys(value, new Set(['status', 'error'])) && isDeploymentFailure(value.error);\n default:\n return false;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"targetChange.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/targetChange.ts"],"names":[],"mappings":"AAWA,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUtD"}
1
+ {"version":3,"file":"targetChange.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/targetChange.ts"],"names":[],"mappings":"AASA,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUtD"}
@@ -1,8 +1,6 @@
1
1
  import { DEPLOYMENT_CHANGE_KINDS, DEPLOYMENT_CHANGE_REASONS, } from '../../../domain/DeploymentTargetChange';
2
- import { hasOnlyKeys } from '../../io/hasOnlyKeys';
3
- import { isRecord } from '../../io/isRecord';
4
2
  import { isObservedTarget } from './observedTarget';
5
- import { isTargetId } from './shared';
3
+ import { hasOnlyKeys, isRecord, isTargetId } from './shared';
6
4
  const CHANGE_KEYS = new Set(['target', 'kind', 'desired', 'current', 'reason']);
7
5
  export function isTargetChange(value) {
8
6
  return (isRecord(value) &&
@@ -1 +1 @@
1
- {"version":3,"file":"targetChange.js","sourceRoot":"","sources":["../../../../src/project/history/validation/targetChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC;QAC/B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;QAC3D,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CACpE,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,KAAK,KAAK,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC","sourcesContent":["import {\n DEPLOYMENT_CHANGE_KINDS,\n DEPLOYMENT_CHANGE_REASONS,\n} from '../../../domain/DeploymentTargetChange';\nimport { hasOnlyKeys } from '../../io/hasOnlyKeys';\nimport { isRecord } from '../../io/isRecord';\nimport { isObservedTarget } from './observedTarget';\nimport { isTargetId } from './shared';\n\nconst CHANGE_KEYS = new Set(['target', 'kind', 'desired', 'current', 'reason']);\n\nexport function isTargetChange(value: unknown): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, CHANGE_KEYS) &&\n isTargetId(value.target) &&\n DEPLOYMENT_CHANGE_KINDS.some((kind) => kind === value.kind) &&\n isNullableObservedTarget(value.desired) &&\n isNullableObservedTarget(value.current) &&\n DEPLOYMENT_CHANGE_REASONS.some((reason) => reason === value.reason)\n );\n}\n\nfunction isNullableObservedTarget(value: unknown): boolean {\n return value === null || isObservedTarget(value);\n}\n"]}
1
+ {"version":3,"file":"targetChange.js","sourceRoot":"","sources":["../../../../src/project/history/validation/targetChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC;QAC/B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;QAC3D,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CACpE,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,KAAK,KAAK,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC","sourcesContent":["import {\n DEPLOYMENT_CHANGE_KINDS,\n DEPLOYMENT_CHANGE_REASONS,\n} from '../../../domain/DeploymentTargetChange';\nimport { isObservedTarget } from './observedTarget';\nimport { hasOnlyKeys, isRecord, isTargetId } from './shared';\n\nconst CHANGE_KEYS = new Set(['target', 'kind', 'desired', 'current', 'reason']);\n\nexport function isTargetChange(value: unknown): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, CHANGE_KEYS) &&\n isTargetId(value.target) &&\n DEPLOYMENT_CHANGE_KINDS.some((kind) => kind === value.kind) &&\n isNullableObservedTarget(value.desired) &&\n isNullableObservedTarget(value.current) &&\n DEPLOYMENT_CHANGE_REASONS.some((reason) => reason === value.reason)\n );\n}\n\nfunction isNullableObservedTarget(value: unknown): boolean {\n return value === null || isObservedTarget(value);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/verification.ts"],"names":[],"mappings":"AAMA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUhE"}
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../../src/project/history/validation/verification.ts"],"names":[],"mappings":"AAIA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUhE"}
@@ -1,6 +1,4 @@
1
- import { hasOnlyKeys } from '../../io/hasOnlyKeys';
2
- import { isRecord } from '../../io/isRecord';
3
- import { isNonEmptyString, isTargetId } from './shared';
1
+ import { hasOnlyKeys, isNonEmptyString, isRecord, isTargetId } from './shared';
4
2
  const ISSUE_KEYS = new Set(['code', 'message', 'target', 'provider']);
5
3
  export function isDeploymentVerification(value) {
6
4
  if (!isRecord(value))
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../../src/project/history/validation/verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAEtE,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAElE,OAAO,CACL,KAAK,CAAC,EAAE,KAAK,KAAK;QAClB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;QAC9B,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC","sourcesContent":["import { hasOnlyKeys } from '../../io/hasOnlyKeys';\nimport { isRecord } from '../../io/isRecord';\nimport { isNonEmptyString, isTargetId } from './shared';\n\nconst ISSUE_KEYS = new Set(['code', 'message', 'target', 'provider']);\n\nexport function isDeploymentVerification(value: unknown): boolean {\n if (!isRecord(value)) return false;\n if (value.ok === true) return hasOnlyKeys(value, new Set(['ok']));\n\n return (\n value.ok === false &&\n hasOnlyKeys(value, new Set(['ok', 'issues'])) &&\n Array.isArray(value.issues) &&\n value.issues.every(isVerificationIssue)\n );\n}\n\nfunction isVerificationIssue(value: unknown): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, ISSUE_KEYS) &&\n isNonEmptyString(value.code) &&\n typeof value.message === 'string' &&\n (value.target === undefined || isTargetId(value.target)) &&\n (value.provider === undefined || isNonEmptyString(value.provider))\n );\n}\n"]}
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../../src/project/history/validation/verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAEtE,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAElE,OAAO,CACL,KAAK,CAAC,EAAE,KAAK,KAAK;QAClB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;QAC9B,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC","sourcesContent":["import { hasOnlyKeys, isNonEmptyString, isRecord, isTargetId } from './shared';\n\nconst ISSUE_KEYS = new Set(['code', 'message', 'target', 'provider']);\n\nexport function isDeploymentVerification(value: unknown): boolean {\n if (!isRecord(value)) return false;\n if (value.ok === true) return hasOnlyKeys(value, new Set(['ok']));\n\n return (\n value.ok === false &&\n hasOnlyKeys(value, new Set(['ok', 'issues'])) &&\n Array.isArray(value.issues) &&\n value.issues.every(isVerificationIssue)\n );\n}\n\nfunction isVerificationIssue(value: unknown): boolean {\n return (\n isRecord(value) &&\n hasOnlyKeys(value, ISSUE_KEYS) &&\n isNonEmptyString(value.code) &&\n typeof value.message === 'string' &&\n (value.target === undefined || isTargetId(value.target)) &&\n (value.provider === undefined || isNonEmptyString(value.provider))\n );\n}\n"]}
@@ -8,16 +8,14 @@ export type { ProjectAndroidDeploymentAccess } from './android/ProjectAndroidDep
8
8
  export type { ProjectAndroidDeploymentExecution } from './android/ProjectAndroidDeploymentExecution';
9
9
  export type { ProjectAndroidDeploymentInspection, ProjectAndroidDeploymentInspectionResult, } from './android/ProjectAndroidDeploymentInspection';
10
10
  export { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from './history/historySchemaVersion';
11
- export { listProjectDeploymentHistory } from './history/listProjectDeploymentHistory';
12
11
  export type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';
13
- export { readProjectDeploymentHistory } from './history/readProjectDeploymentHistory';
14
- export { recordProjectDeploymentHistory } from './history/recordProjectDeploymentHistory';
15
12
  export { createProjectIosDeploymentPlan } from './ios/createProjectIosDeploymentPlan';
16
13
  export { executeProjectIosDeployment, type ExecuteProjectIosDeploymentOptions, } from './ios/executeProjectIosDeployment';
17
14
  export { inspectProjectIosDeployment, type InspectProjectIosDeploymentOptions, } from './ios/inspectProjectIosDeployment';
18
15
  export type { ProjectIosDeploymentAccess } from './ios/ProjectIosDeploymentAccess';
19
16
  export type { ProjectIosDeploymentExecution } from './ios/ProjectIosDeploymentExecution';
20
17
  export type { ProjectIosDeploymentInspection, ProjectIosDeploymentInspectionResult, } from './ios/ProjectIosDeploymentInspection';
18
+ export { listProjectDeploymentHistory } from './listProjectDeploymentHistory';
21
19
  export { createProjectMonetizationPlan } from './monetization/createProjectMonetizationPlan';
22
20
  export { executeProjectMonetizationSync } from './monetization/executeProjectMonetizationSync';
23
21
  export type { ExecuteProjectMonetizationSyncOptions } from './monetization/ExecuteProjectMonetizationSyncOptions';
@@ -33,6 +31,8 @@ export { readProjectMonetization } from './monetization/readProjectMonetization'
33
31
  export { writeProjectMonetization } from './monetization/writeProjectMonetization';
34
32
  export type { ProjectDeploymentPaths } from './ProjectDeploymentPaths';
35
33
  export { readProjectDeploymentConfig } from './readProjectDeploymentConfig';
34
+ export { readProjectDeploymentHistory } from './readProjectDeploymentHistory';
35
+ export { recordProjectDeploymentHistory } from './recordProjectDeploymentHistory';
36
36
  export { createProjectReleasePlan } from './release/createProjectReleasePlan';
37
37
  export { executeProjectRelease } from './release/executeProjectRelease';
38
38
  export { executeProjectReleaseControl } from './release/executeProjectReleaseControl';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,18 @@ export { createProjectAndroidDeploymentPlan } from './android/createProjectAndro
2
2
  export { executeProjectAndroidDeployment, } from './android/executeProjectAndroidDeployment';
3
3
  export { inspectProjectAndroidDeployment, } from './android/inspectProjectAndroidDeployment';
4
4
  export { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from './history/historySchemaVersion';
5
- export { listProjectDeploymentHistory } from './history/listProjectDeploymentHistory';
6
- export { readProjectDeploymentHistory } from './history/readProjectDeploymentHistory';
7
- export { recordProjectDeploymentHistory } from './history/recordProjectDeploymentHistory';
8
5
  export { createProjectIosDeploymentPlan } from './ios/createProjectIosDeploymentPlan';
9
6
  export { executeProjectIosDeployment, } from './ios/executeProjectIosDeployment';
10
7
  export { inspectProjectIosDeployment, } from './ios/inspectProjectIosDeployment';
8
+ export { listProjectDeploymentHistory } from './listProjectDeploymentHistory';
11
9
  export { createProjectMonetizationPlan } from './monetization/createProjectMonetizationPlan';
12
10
  export { executeProjectMonetizationSync } from './monetization/executeProjectMonetizationSync';
13
11
  export { inspectProjectMonetization } from './monetization/inspectProjectMonetization';
14
12
  export { readProjectMonetization } from './monetization/readProjectMonetization';
15
13
  export { writeProjectMonetization } from './monetization/writeProjectMonetization';
16
14
  export { readProjectDeploymentConfig } from './readProjectDeploymentConfig';
15
+ export { readProjectDeploymentHistory } from './readProjectDeploymentHistory';
16
+ export { recordProjectDeploymentHistory } from './recordProjectDeploymentHistory';
17
17
  export { createProjectReleasePlan } from './release/createProjectReleasePlan';
18
18
  export { executeProjectRelease } from './release/executeProjectRelease';
19
19
  export { executeProjectReleaseControl } from './release/executeProjectReleaseControl';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAClG,OAAO,EACL,+BAA+B,GAEhC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,+BAA+B,GAEhC,MAAM,2CAA2C,CAAC;AAOnD,OAAO,EAAE,yCAAyC,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAEtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAE/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAQvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAWxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAKhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAEL,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC","sourcesContent":["export type { MonetizationDesiredState } from '../domain/monetization/MonetizationDesiredState';\nexport type { StoreListingLocale } from '../domain/storeListing/StoreListingLocale';\nexport type { StoreListingTarget } from '../domain/storeListing/StoreListingTarget';\nexport { createProjectAndroidDeploymentPlan } from './android/createProjectAndroidDeploymentPlan';\nexport {\n executeProjectAndroidDeployment,\n type ExecuteProjectAndroidDeploymentOptions,\n} from './android/executeProjectAndroidDeployment';\nexport {\n inspectProjectAndroidDeployment,\n type InspectProjectAndroidDeploymentOptions,\n} from './android/inspectProjectAndroidDeployment';\nexport type { ProjectAndroidDeploymentAccess } from './android/ProjectAndroidDeploymentAccess';\nexport type { ProjectAndroidDeploymentExecution } from './android/ProjectAndroidDeploymentExecution';\nexport type {\n ProjectAndroidDeploymentInspection,\n ProjectAndroidDeploymentInspectionResult,\n} from './android/ProjectAndroidDeploymentInspection';\nexport { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from './history/historySchemaVersion';\nexport { listProjectDeploymentHistory } from './history/listProjectDeploymentHistory';\nexport type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';\nexport { readProjectDeploymentHistory } from './history/readProjectDeploymentHistory';\nexport { recordProjectDeploymentHistory } from './history/recordProjectDeploymentHistory';\nexport { createProjectIosDeploymentPlan } from './ios/createProjectIosDeploymentPlan';\nexport {\n executeProjectIosDeployment,\n type ExecuteProjectIosDeploymentOptions,\n} from './ios/executeProjectIosDeployment';\nexport {\n inspectProjectIosDeployment,\n type InspectProjectIosDeploymentOptions,\n} from './ios/inspectProjectIosDeployment';\nexport type { ProjectIosDeploymentAccess } from './ios/ProjectIosDeploymentAccess';\nexport type { ProjectIosDeploymentExecution } from './ios/ProjectIosDeploymentExecution';\nexport type {\n ProjectIosDeploymentInspection,\n ProjectIosDeploymentInspectionResult,\n} from './ios/ProjectIosDeploymentInspection';\nexport { createProjectMonetizationPlan } from './monetization/createProjectMonetizationPlan';\nexport { executeProjectMonetizationSync } from './monetization/executeProjectMonetizationSync';\nexport type { ExecuteProjectMonetizationSyncOptions } from './monetization/ExecuteProjectMonetizationSyncOptions';\nexport { inspectProjectMonetization } from './monetization/inspectProjectMonetization';\nexport type { InspectProjectMonetizationOptions } from './monetization/InspectProjectMonetizationOptions';\nexport type { ProjectMonetizationAccess } from './monetization/ProjectMonetizationAccess';\nexport type { ProjectMonetizationExecutionResult } from './monetization/ProjectMonetizationExecutionResult';\nexport type { ProjectMonetizationInspection } from './monetization/ProjectMonetizationInspection';\nexport type { ProjectMonetizationInspectionResult } from './monetization/ProjectMonetizationInspectionResult';\nexport type { ProjectMonetizationPlan } from './monetization/ProjectMonetizationPlan';\nexport type { ProjectMonetizationTargets } from './monetization/ProjectMonetizationTargets';\nexport { readProjectMonetization } from './monetization/readProjectMonetization';\nexport { writeProjectMonetization } from './monetization/writeProjectMonetization';\nexport type { ProjectDeploymentPaths } from './ProjectDeploymentPaths';\nexport { readProjectDeploymentConfig } from './readProjectDeploymentConfig';\nexport { createProjectReleasePlan } from './release/createProjectReleasePlan';\nexport { executeProjectRelease } from './release/executeProjectRelease';\nexport { executeProjectReleaseControl } from './release/executeProjectReleaseControl';\nexport type { ExecuteProjectReleaseControlOptions } from './release/ExecuteProjectReleaseControlOptions';\nexport type { ExecuteProjectReleaseOptions } from './release/ExecuteProjectReleaseOptions';\nexport { inspectProjectRelease } from './release/inspectProjectRelease';\nexport type { InspectProjectReleaseOptions } from './release/InspectProjectReleaseOptions';\nexport type { ProjectReleaseAccess } from './release/ProjectReleaseAccess';\nexport type { ProjectReleaseAndroidContext } from './release/ProjectReleaseAndroidContext';\nexport type { ProjectReleaseExecution } from './release/ProjectReleaseExecution';\nexport type { ProjectReleaseExecutionResult } from './release/ProjectReleaseExecutionResult';\nexport type { ProjectReleaseInput } from './release/ProjectReleaseInput';\nexport type { ProjectReleaseInspection } from './release/ProjectReleaseInspection';\nexport type { ProjectReleaseInspectionResult } from './release/ProjectReleaseInspectionResult';\nexport type { ProjectReleaseIosContext } from './release/ProjectReleaseIosContext';\nexport type { ProjectReleaseWebContext } from './release/ProjectReleaseWebContext';\nexport { readProjectRelease } from './release/readProjectRelease';\nexport { resumeProjectRelease } from './release/resumeProjectRelease';\nexport type { ResumeProjectReleaseOptions } from './release/ResumeProjectReleaseOptions';\nexport { writeProjectRelease } from './release/writeProjectRelease';\nexport { createProjectReleaseHistoryRecord } from './releaseHistory/createProjectReleaseHistoryRecord';\nexport { listProjectReleaseHistory } from './releaseHistory/listProjectReleaseHistory';\nexport type { ProjectReleaseHistoryRecord } from './releaseHistory/ProjectReleaseHistoryRecord';\nexport { readProjectReleaseHistory } from './releaseHistory/readProjectReleaseHistory';\nexport { recordProjectReleaseHistory } from './releaseHistory/recordProjectReleaseHistory';\nexport type { ResolvedDeployProject } from './ResolvedDeployProject';\nexport { resolveDeployProject } from './resolveDeployProject';\nexport { resolveProjectDeploymentPaths } from './resolveProjectDeploymentPaths';\nexport type { ProjectStoreListing } from './storeListing/ProjectStoreListing';\nexport type { ProjectStoreListingAsset } from './storeListing/ProjectStoreListingAsset';\nexport type { ProjectStoreListingAssetLocation } from './storeListing/ProjectStoreListingAssetLocation';\nexport type { ProjectStoreListingAssetSet } from './storeListing/ProjectStoreListingAssetSet';\nexport { readProjectStoreListing } from './storeListing/readProjectStoreListing';\nexport { removeProjectStoreListingAsset } from './storeListing/removeProjectStoreListingAsset';\nexport { removeProjectStoreListingLocale } from './storeListing/removeProjectStoreListingLocale';\nexport { writeProjectStoreListingAsset } from './storeListing/writeProjectStoreListingAsset';\nexport { writeProjectStoreListingLocale } from './storeListing/writeProjectStoreListingLocale';\nexport {\n type ProjectDeploymentConfigUpdater,\n updateProjectDeploymentConfig,\n} from './updateProjectDeploymentConfig';\nexport { createProjectWebDeploymentPlan } from './web/createProjectWebDeploymentPlan';\nexport {\n executeProjectWebDeployment,\n type ExecuteProjectWebDeploymentOptions,\n} from './web/executeProjectWebDeployment';\nexport {\n inspectProjectWebDeployment,\n type InspectProjectWebDeploymentOptions,\n} from './web/inspectProjectWebDeployment';\nexport type { ProjectWebDeploymentAccess } from './web/ProjectWebDeploymentAccess';\nexport type { ProjectWebDeploymentExecution } from './web/ProjectWebDeploymentExecution';\nexport type {\n ProjectWebDeploymentInspection,\n ProjectWebDeploymentInspectionResult,\n} from './web/ProjectWebDeploymentInspection';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAClG,OAAO,EACL,+BAA+B,GAEhC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,+BAA+B,GAEhC,MAAM,2CAA2C,CAAC;AAOnD,OAAO,EAAE,yCAAyC,EAAE,MAAM,gCAAgC,CAAC;AAE3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAE/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAQvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAWxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAKhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAEL,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC","sourcesContent":["export type { MonetizationDesiredState } from '../domain/monetization/MonetizationDesiredState';\nexport type { StoreListingLocale } from '../domain/storeListing/StoreListingLocale';\nexport type { StoreListingTarget } from '../domain/storeListing/StoreListingTarget';\nexport { createProjectAndroidDeploymentPlan } from './android/createProjectAndroidDeploymentPlan';\nexport {\n executeProjectAndroidDeployment,\n type ExecuteProjectAndroidDeploymentOptions,\n} from './android/executeProjectAndroidDeployment';\nexport {\n inspectProjectAndroidDeployment,\n type InspectProjectAndroidDeploymentOptions,\n} from './android/inspectProjectAndroidDeployment';\nexport type { ProjectAndroidDeploymentAccess } from './android/ProjectAndroidDeploymentAccess';\nexport type { ProjectAndroidDeploymentExecution } from './android/ProjectAndroidDeploymentExecution';\nexport type {\n ProjectAndroidDeploymentInspection,\n ProjectAndroidDeploymentInspectionResult,\n} from './android/ProjectAndroidDeploymentInspection';\nexport { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from './history/historySchemaVersion';\nexport type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';\nexport { createProjectIosDeploymentPlan } from './ios/createProjectIosDeploymentPlan';\nexport {\n executeProjectIosDeployment,\n type ExecuteProjectIosDeploymentOptions,\n} from './ios/executeProjectIosDeployment';\nexport {\n inspectProjectIosDeployment,\n type InspectProjectIosDeploymentOptions,\n} from './ios/inspectProjectIosDeployment';\nexport type { ProjectIosDeploymentAccess } from './ios/ProjectIosDeploymentAccess';\nexport type { ProjectIosDeploymentExecution } from './ios/ProjectIosDeploymentExecution';\nexport type {\n ProjectIosDeploymentInspection,\n ProjectIosDeploymentInspectionResult,\n} from './ios/ProjectIosDeploymentInspection';\nexport { listProjectDeploymentHistory } from './listProjectDeploymentHistory';\nexport { createProjectMonetizationPlan } from './monetization/createProjectMonetizationPlan';\nexport { executeProjectMonetizationSync } from './monetization/executeProjectMonetizationSync';\nexport type { ExecuteProjectMonetizationSyncOptions } from './monetization/ExecuteProjectMonetizationSyncOptions';\nexport { inspectProjectMonetization } from './monetization/inspectProjectMonetization';\nexport type { InspectProjectMonetizationOptions } from './monetization/InspectProjectMonetizationOptions';\nexport type { ProjectMonetizationAccess } from './monetization/ProjectMonetizationAccess';\nexport type { ProjectMonetizationExecutionResult } from './monetization/ProjectMonetizationExecutionResult';\nexport type { ProjectMonetizationInspection } from './monetization/ProjectMonetizationInspection';\nexport type { ProjectMonetizationInspectionResult } from './monetization/ProjectMonetizationInspectionResult';\nexport type { ProjectMonetizationPlan } from './monetization/ProjectMonetizationPlan';\nexport type { ProjectMonetizationTargets } from './monetization/ProjectMonetizationTargets';\nexport { readProjectMonetization } from './monetization/readProjectMonetization';\nexport { writeProjectMonetization } from './monetization/writeProjectMonetization';\nexport type { ProjectDeploymentPaths } from './ProjectDeploymentPaths';\nexport { readProjectDeploymentConfig } from './readProjectDeploymentConfig';\nexport { readProjectDeploymentHistory } from './readProjectDeploymentHistory';\nexport { recordProjectDeploymentHistory } from './recordProjectDeploymentHistory';\nexport { createProjectReleasePlan } from './release/createProjectReleasePlan';\nexport { executeProjectRelease } from './release/executeProjectRelease';\nexport { executeProjectReleaseControl } from './release/executeProjectReleaseControl';\nexport type { ExecuteProjectReleaseControlOptions } from './release/ExecuteProjectReleaseControlOptions';\nexport type { ExecuteProjectReleaseOptions } from './release/ExecuteProjectReleaseOptions';\nexport { inspectProjectRelease } from './release/inspectProjectRelease';\nexport type { InspectProjectReleaseOptions } from './release/InspectProjectReleaseOptions';\nexport type { ProjectReleaseAccess } from './release/ProjectReleaseAccess';\nexport type { ProjectReleaseAndroidContext } from './release/ProjectReleaseAndroidContext';\nexport type { ProjectReleaseExecution } from './release/ProjectReleaseExecution';\nexport type { ProjectReleaseExecutionResult } from './release/ProjectReleaseExecutionResult';\nexport type { ProjectReleaseInput } from './release/ProjectReleaseInput';\nexport type { ProjectReleaseInspection } from './release/ProjectReleaseInspection';\nexport type { ProjectReleaseInspectionResult } from './release/ProjectReleaseInspectionResult';\nexport type { ProjectReleaseIosContext } from './release/ProjectReleaseIosContext';\nexport type { ProjectReleaseWebContext } from './release/ProjectReleaseWebContext';\nexport { readProjectRelease } from './release/readProjectRelease';\nexport { resumeProjectRelease } from './release/resumeProjectRelease';\nexport type { ResumeProjectReleaseOptions } from './release/ResumeProjectReleaseOptions';\nexport { writeProjectRelease } from './release/writeProjectRelease';\nexport { createProjectReleaseHistoryRecord } from './releaseHistory/createProjectReleaseHistoryRecord';\nexport { listProjectReleaseHistory } from './releaseHistory/listProjectReleaseHistory';\nexport type { ProjectReleaseHistoryRecord } from './releaseHistory/ProjectReleaseHistoryRecord';\nexport { readProjectReleaseHistory } from './releaseHistory/readProjectReleaseHistory';\nexport { recordProjectReleaseHistory } from './releaseHistory/recordProjectReleaseHistory';\nexport type { ResolvedDeployProject } from './ResolvedDeployProject';\nexport { resolveDeployProject } from './resolveDeployProject';\nexport { resolveProjectDeploymentPaths } from './resolveProjectDeploymentPaths';\nexport type { ProjectStoreListing } from './storeListing/ProjectStoreListing';\nexport type { ProjectStoreListingAsset } from './storeListing/ProjectStoreListingAsset';\nexport type { ProjectStoreListingAssetLocation } from './storeListing/ProjectStoreListingAssetLocation';\nexport type { ProjectStoreListingAssetSet } from './storeListing/ProjectStoreListingAssetSet';\nexport { readProjectStoreListing } from './storeListing/readProjectStoreListing';\nexport { removeProjectStoreListingAsset } from './storeListing/removeProjectStoreListingAsset';\nexport { removeProjectStoreListingLocale } from './storeListing/removeProjectStoreListingLocale';\nexport { writeProjectStoreListingAsset } from './storeListing/writeProjectStoreListingAsset';\nexport { writeProjectStoreListingLocale } from './storeListing/writeProjectStoreListingLocale';\nexport {\n type ProjectDeploymentConfigUpdater,\n updateProjectDeploymentConfig,\n} from './updateProjectDeploymentConfig';\nexport { createProjectWebDeploymentPlan } from './web/createProjectWebDeploymentPlan';\nexport {\n executeProjectWebDeployment,\n type ExecuteProjectWebDeploymentOptions,\n} from './web/executeProjectWebDeployment';\nexport {\n inspectProjectWebDeployment,\n type InspectProjectWebDeploymentOptions,\n} from './web/inspectProjectWebDeployment';\nexport type { ProjectWebDeploymentAccess } from './web/ProjectWebDeploymentAccess';\nexport type { ProjectWebDeploymentExecution } from './web/ProjectWebDeploymentExecution';\nexport type {\n ProjectWebDeploymentInspection,\n ProjectWebDeploymentInspectionResult,\n} from './web/ProjectWebDeploymentInspection';\n"]}
@@ -1,3 +1,2 @@
1
- export declare function isSafeSegment(value: string): boolean;
2
1
  export declare function assertSafeSegment(value: string, label: string): void;
3
2
  //# sourceMappingURL=assertSafeSegment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assertSafeSegment.d.ts","sourceRoot":"","sources":["../../../src/project/io/assertSafeSegment.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASpD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIpE"}
1
+ {"version":3,"file":"assertSafeSegment.d.ts","sourceRoot":"","sources":["../../../src/project/io/assertSafeSegment.ts"],"names":[],"mappings":"AAaA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIpE"}
@@ -1,5 +1,5 @@
1
1
  import path from 'node:path';
2
- export function isSafeSegment(value) {
2
+ function isSafeSegment(value) {
3
3
  return (value.trim().length > 0 &&
4
4
  value !== '.' &&
5
5
  value !== '..' &&
@@ -1 +1 @@
1
- {"version":3,"file":"assertSafeSegment.js","sourceRoot":"","sources":["../../../src/project/io/assertSafeSegment.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,CACL,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACvB,KAAK,KAAK,GAAG;QACb,KAAK,KAAK,IAAI;QACd,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,KAAa;IAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,mCAAmC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC","sourcesContent":["import path from 'node:path';\n\nexport function isSafeSegment(value: string): boolean {\n return (\n value.trim().length > 0 &&\n value !== '.' &&\n value !== '..' &&\n !path.isAbsolute(value) &&\n !value.includes('/') &&\n !value.includes('\\\\')\n );\n}\n\nexport function assertSafeSegment(value: string, label: string): void {\n if (!isSafeSegment(value)) {\n throw new Error(`Invalid ${label}: expected one safe path segment.`);\n }\n}\n"]}
1
+ {"version":3,"file":"assertSafeSegment.js","sourceRoot":"","sources":["../../../src/project/io/assertSafeSegment.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,CACL,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACvB,KAAK,KAAK,GAAG;QACb,KAAK,KAAK,IAAI;QACd,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,KAAa;IAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,mCAAmC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC","sourcesContent":["import path from 'node:path';\n\nfunction isSafeSegment(value: string): boolean {\n return (\n value.trim().length > 0 &&\n value !== '.' &&\n value !== '..' &&\n !path.isAbsolute(value) &&\n !value.includes('/') &&\n !value.includes('\\\\')\n );\n}\n\nexport function assertSafeSegment(value: string, label: string): void {\n if (!isSafeSegment(value)) {\n throw new Error(`Invalid ${label}: expected one safe path segment.`);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { listProjectDeploymentHistory } from '../history/listProjectDeploymentHistory';
1
+ import { listProjectDeploymentHistory } from '../listProjectDeploymentHistory';
2
2
  export async function readCurrentProjectIosDeployment(options) {
3
3
  const history = await listProjectDeploymentHistory({ projectRoot: options.projectRoot });
4
4
  const evidence = history
@@ -1 +1 @@
1
- {"version":3,"file":"readCurrentProjectIosDeployment.js","sourceRoot":"","sources":["../../../src/project/ios/readCurrentProjectIosDeployment.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';\nimport type { IosPublishInspection } from '@ankhorage/contracts/deploy-provider';\n\nimport type {\n DeploymentCurrentState,\n DeploymentObservedIosTarget,\n} from '../../domain/DeploymentCurrentState';\nimport type { ProjectDeploymentHistoryRecord } from '../history/ProjectDeploymentHistoryRecord';\nimport { listProjectDeploymentHistory } from '../history/listProjectDeploymentHistory';\n\ninterface IosHistoryEvidence {\n readonly revision: string;\n readonly buildNumber: string;\n readonly bundleIdentifier: string;\n readonly recordedAt: string;\n}\n\nexport async function readCurrentProjectIosDeployment(options: {\n readonly projectRoot: string;\n readonly bundleIdentifier?: string;\n readonly providers?: AppDeployProviderSelection;\n readonly publishInspection?: IosPublishInspection | null;\n}): Promise<DeploymentCurrentState> {\n const history = await listProjectDeploymentHistory({ projectRoot: options.projectRoot });\n const evidence = history\n .map(parseEvidence)\n .filter((item): item is IosHistoryEvidence => item !== null)\n .filter((item) => matchesRequestedBundle(item, options.bundleIdentifier))\n .filter((item) => matchesRemoteBuild(item, options.publishInspection))\n .sort((left, right) => right.recordedAt.localeCompare(left.recordedAt))[0];\n return evidence === undefined\n ? { targets: {} }\n : { targets: { ios: observed(evidence, options.providers) } };\n}\n\nfunction parseEvidence(record: ProjectDeploymentHistoryRecord): IosHistoryEvidence | null {\n if (record.execution.status !== 'completed' || record.verification?.ok !== true) return null;\n const match = /^ios-(.+)-([a-f\\d]{64})$/i.exec(record.deploymentId);\n if (match === null) return null;\n const buildNumber = match[1];\n const revision = match[2];\n if (buildNumber === undefined || buildNumber.length === 0 || revision === undefined) return null;\n const desired = record.plan.changes.find((change) => change.target === 'ios')?.desired;\n if (desired?.target !== 'ios') return null;\n return {\n revision,\n buildNumber,\n bundleIdentifier: desired.bundleIdentifier,\n recordedAt: record.recordedAt,\n };\n}\n\nfunction matchesRequestedBundle(item: IosHistoryEvidence, bundleIdentifier: string | undefined) {\n return bundleIdentifier === undefined || item.bundleIdentifier === bundleIdentifier;\n}\n\nfunction matchesRemoteBuild(\n item: IosHistoryEvidence,\n inspection: IosPublishInspection | null | undefined,\n) {\n if (inspection === undefined) return true;\n if (inspection === null || inspection.bundleIdentifier !== item.bundleIdentifier) return false;\n return inspection.buildNumber === item.buildNumber;\n}\n\nfunction observed(\n item: IosHistoryEvidence,\n providers: AppDeployProviderSelection | undefined,\n): DeploymentObservedIosTarget {\n return {\n bundleIdentifier: item.bundleIdentifier,\n ...(providers === undefined ? {} : { providers }),\n revision: item.revision,\n };\n}\n"]}
1
+ {"version":3,"file":"readCurrentProjectIosDeployment.js","sourceRoot":"","sources":["../../../src/project/ios/readCurrentProjectIosDeployment.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';\nimport type { IosPublishInspection } from '@ankhorage/contracts/deploy-provider';\n\nimport type {\n DeploymentCurrentState,\n DeploymentObservedIosTarget,\n} from '../../domain/DeploymentCurrentState';\nimport type { ProjectDeploymentHistoryRecord } from '../history/ProjectDeploymentHistoryRecord';\nimport { listProjectDeploymentHistory } from '../listProjectDeploymentHistory';\n\ninterface IosHistoryEvidence {\n readonly revision: string;\n readonly buildNumber: string;\n readonly bundleIdentifier: string;\n readonly recordedAt: string;\n}\n\nexport async function readCurrentProjectIosDeployment(options: {\n readonly projectRoot: string;\n readonly bundleIdentifier?: string;\n readonly providers?: AppDeployProviderSelection;\n readonly publishInspection?: IosPublishInspection | null;\n}): Promise<DeploymentCurrentState> {\n const history = await listProjectDeploymentHistory({ projectRoot: options.projectRoot });\n const evidence = history\n .map(parseEvidence)\n .filter((item): item is IosHistoryEvidence => item !== null)\n .filter((item) => matchesRequestedBundle(item, options.bundleIdentifier))\n .filter((item) => matchesRemoteBuild(item, options.publishInspection))\n .sort((left, right) => right.recordedAt.localeCompare(left.recordedAt))[0];\n return evidence === undefined\n ? { targets: {} }\n : { targets: { ios: observed(evidence, options.providers) } };\n}\n\nfunction parseEvidence(record: ProjectDeploymentHistoryRecord): IosHistoryEvidence | null {\n if (record.execution.status !== 'completed' || record.verification?.ok !== true) return null;\n const match = /^ios-(.+)-([a-f\\d]{64})$/i.exec(record.deploymentId);\n if (match === null) return null;\n const buildNumber = match[1];\n const revision = match[2];\n if (buildNumber === undefined || buildNumber.length === 0 || revision === undefined) return null;\n const desired = record.plan.changes.find((change) => change.target === 'ios')?.desired;\n if (desired?.target !== 'ios') return null;\n return {\n revision,\n buildNumber,\n bundleIdentifier: desired.bundleIdentifier,\n recordedAt: record.recordedAt,\n };\n}\n\nfunction matchesRequestedBundle(item: IosHistoryEvidence, bundleIdentifier: string | undefined) {\n return bundleIdentifier === undefined || item.bundleIdentifier === bundleIdentifier;\n}\n\nfunction matchesRemoteBuild(\n item: IosHistoryEvidence,\n inspection: IosPublishInspection | null | undefined,\n) {\n if (inspection === undefined) return true;\n if (inspection === null || inspection.bundleIdentifier !== item.bundleIdentifier) return false;\n return inspection.buildNumber === item.buildNumber;\n}\n\nfunction observed(\n item: IosHistoryEvidence,\n providers: AppDeployProviderSelection | undefined,\n): DeploymentObservedIosTarget {\n return {\n bundleIdentifier: item.bundleIdentifier,\n ...(providers === undefined ? {} : { providers }),\n revision: item.revision,\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from '../history/historySchemaVersion';
2
- import { recordProjectDeploymentHistory } from '../history/recordProjectDeploymentHistory';
2
+ import { recordProjectDeploymentHistory } from '../recordProjectDeploymentHistory';
3
3
  export async function recordProjectIosDeployment(options) {
4
4
  const revision = options.inspection.desiredRevision;
5
5
  if (revision === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"recordProjectIosDeployment.js","sourceRoot":"","sources":["../../../src/project/ios/recordProjectIosDeployment.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yCAAyC,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAM3F,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAOhD;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,8BAA8B,CAAC;YACnC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW;YAC3C,MAAM,EAAE;gBACN,aAAa,EAAE,yCAAyC;gBACxD,YAAY,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,QAAQ,EAAE;gBAClE,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC;SACF,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC,2BAA2B,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE;YACP,IAAI;YACJ,OAAO,EAAE,+CAA+C;YACxD,MAAM,EAAE,KAAK;SACd;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentExecutionResult } from '../../domain/DeploymentExecutionResult';\nimport type { DeploymentFailure } from '../../domain/DeploymentFailure';\nimport type { DeploymentPlan } from '../../domain/DeploymentPlan';\nimport type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';\nimport type { IosDeploymentPublication } from '../../domain/IosDeploymentPublication';\nimport { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from '../history/historySchemaVersion';\nimport { recordProjectDeploymentHistory } from '../history/recordProjectDeploymentHistory';\nimport type { ProjectIosDeploymentInspection } from './ProjectIosDeploymentInspection';\n\nexport type RecordProjectIosHistoryResult =\n { readonly recorded: true } | { readonly recorded: false; readonly failure: DeploymentFailure };\n\nexport async function recordProjectIosDeployment(options: {\n readonly inspection: ProjectIosDeploymentInspection;\n readonly publication: IosDeploymentPublication;\n readonly plan: DeploymentPlan;\n readonly execution: DeploymentExecutionResult;\n readonly verification: DeploymentVerificationResult;\n readonly recordedAt: string;\n}): Promise<RecordProjectIosHistoryResult> {\n const revision = options.inspection.desiredRevision;\n if (revision === undefined) return historyFailure('IOS_HISTORY_REVISION_MISSING');\n try {\n await recordProjectDeploymentHistory({\n projectRoot: options.inspection.projectRoot,\n record: {\n schemaVersion: PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION,\n deploymentId: `ios-${options.publication.buildNumber}-${revision}`,\n recordedAt: options.recordedAt,\n desired: options.inspection.desired,\n plan: options.plan,\n execution: options.execution,\n verification: options.verification,\n },\n });\n return { recorded: true };\n } catch {\n return historyFailure('IOS_HISTORY_RECORD_FAILED');\n }\n}\n\nfunction historyFailure(code: string): RecordProjectIosHistoryResult {\n return {\n recorded: false,\n failure: {\n code,\n message: 'iOS deployment history could not be recorded.',\n target: 'ios',\n },\n };\n}\n"]}
1
+ {"version":3,"file":"recordProjectIosDeployment.js","sourceRoot":"","sources":["../../../src/project/ios/recordProjectIosDeployment.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yCAAyC,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAMnF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAOhD;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,8BAA8B,CAAC;YACnC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW;YAC3C,MAAM,EAAE;gBACN,aAAa,EAAE,yCAAyC;gBACxD,YAAY,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,QAAQ,EAAE;gBAClE,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC;SACF,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC,2BAA2B,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE;YACP,IAAI;YACJ,OAAO,EAAE,+CAA+C;YACxD,MAAM,EAAE,KAAK;SACd;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentExecutionResult } from '../../domain/DeploymentExecutionResult';\nimport type { DeploymentFailure } from '../../domain/DeploymentFailure';\nimport type { DeploymentPlan } from '../../domain/DeploymentPlan';\nimport type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';\nimport type { IosDeploymentPublication } from '../../domain/IosDeploymentPublication';\nimport { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from '../history/historySchemaVersion';\nimport { recordProjectDeploymentHistory } from '../recordProjectDeploymentHistory';\nimport type { ProjectIosDeploymentInspection } from './ProjectIosDeploymentInspection';\n\nexport type RecordProjectIosHistoryResult =\n { readonly recorded: true } | { readonly recorded: false; readonly failure: DeploymentFailure };\n\nexport async function recordProjectIosDeployment(options: {\n readonly inspection: ProjectIosDeploymentInspection;\n readonly publication: IosDeploymentPublication;\n readonly plan: DeploymentPlan;\n readonly execution: DeploymentExecutionResult;\n readonly verification: DeploymentVerificationResult;\n readonly recordedAt: string;\n}): Promise<RecordProjectIosHistoryResult> {\n const revision = options.inspection.desiredRevision;\n if (revision === undefined) return historyFailure('IOS_HISTORY_REVISION_MISSING');\n try {\n await recordProjectDeploymentHistory({\n projectRoot: options.inspection.projectRoot,\n record: {\n schemaVersion: PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION,\n deploymentId: `ios-${options.publication.buildNumber}-${revision}`,\n recordedAt: options.recordedAt,\n desired: options.inspection.desired,\n plan: options.plan,\n execution: options.execution,\n verification: options.verification,\n },\n });\n return { recorded: true };\n } catch {\n return historyFailure('IOS_HISTORY_RECORD_FAILED');\n }\n}\n\nfunction historyFailure(code: string): RecordProjectIosHistoryResult {\n return {\n recorded: false,\n failure: {\n code,\n message: 'iOS deployment history could not be recorded.',\n target: 'ios',\n },\n };\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';
2
+ /*** List canonical deployment history records for one validated Deploy project. */
3
+ export declare function listProjectDeploymentHistory(options: {
4
+ readonly projectRoot: string;
5
+ }): Promise<readonly ProjectDeploymentHistoryRecord[]>;
6
+ //# sourceMappingURL=listProjectDeploymentHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listProjectDeploymentHistory.d.ts","sourceRoot":"","sources":["../../src/project/listProjectDeploymentHistory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAK/F,mFAAmF;AACnF,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAcrD"}
@@ -1,7 +1,8 @@
1
1
  import { promises as fs } from 'node:fs';
2
- import { isMissingPathError } from '../io/isMissingPathError';
3
- import { resolveDeployProject } from '../resolveDeployProject';
2
+ import { isMissingPathError } from './io/isMissingPathError';
4
3
  import { readProjectDeploymentHistory } from './readProjectDeploymentHistory';
4
+ import { resolveDeployProject } from './resolveDeployProject';
5
+ /*** List canonical deployment history records for one validated Deploy project. */
5
6
  export async function listProjectDeploymentHistory(options) {
6
7
  const project = await resolveDeployProject({ projectRoot: options.projectRoot });
7
8
  const entries = await readHistoryEntries(project.paths.historyRoot);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listProjectDeploymentHistory.js","sourceRoot":"","sources":["../../src/project/listProjectDeploymentHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,mFAAmF;AACnF,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 type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';\nimport { isMissingPathError } from './io/isMissingPathError';\nimport { readProjectDeploymentHistory } from './readProjectDeploymentHistory';\nimport { resolveDeployProject } from './resolveDeployProject';\n\n/*** List canonical deployment history records for one validated Deploy project. */\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,7 @@
1
+ import type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';
2
+ /*** Read one canonical deployment history record from a validated Deploy project. */
3
+ export declare function readProjectDeploymentHistory(options: {
4
+ readonly projectRoot: string;
5
+ readonly deploymentId: string;
6
+ }): Promise<ProjectDeploymentHistoryRecord | null>;
7
+ //# sourceMappingURL=readProjectDeploymentHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readProjectDeploymentHistory.d.ts","sourceRoot":"","sources":["../../src/project/readProjectDeploymentHistory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAM/F,qFAAqF;AACrF,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"}
@@ -1,9 +1,10 @@
1
1
  import path from 'node:path';
2
- import { assertSafeSegment } from '../io/assertSafeSegment';
3
- import { isMissingPathError } from '../io/isMissingPathError';
4
- import { readJsonFile } from '../io/readJsonFile';
5
- import { resolveDeployProject } from '../resolveDeployProject';
6
- import { parseProjectDeploymentHistoryRecord } from './parseProjectDeploymentHistoryRecord';
2
+ import { parseProjectDeploymentHistoryRecord } from './history/parseProjectDeploymentHistoryRecord';
3
+ import { assertSafeSegment } from './io/assertSafeSegment';
4
+ import { isMissingPathError } from './io/isMissingPathError';
5
+ import { readJsonFile } from './io/readJsonFile';
6
+ import { resolveDeployProject } from './resolveDeployProject';
7
+ /*** Read one canonical deployment history record from a validated Deploy project. */
7
8
  export async function readProjectDeploymentHistory(options) {
8
9
  assertSafeSegment(options.deploymentId, 'deployment id');
9
10
  const project = await resolveDeployProject({ projectRoot: options.projectRoot });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readProjectDeploymentHistory.js","sourceRoot":"","sources":["../../src/project/readProjectDeploymentHistory.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AAEpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,OAGlD;IACC,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAEjG,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,mCAAmC,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,uDAAuD,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import path from 'node:path';\n\nimport { parseProjectDeploymentHistoryRecord } from './history/parseProjectDeploymentHistoryRecord';\nimport type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';\nimport { assertSafeSegment } from './io/assertSafeSegment';\nimport { isMissingPathError } from './io/isMissingPathError';\nimport { readJsonFile } from './io/readJsonFile';\nimport { resolveDeployProject } from './resolveDeployProject';\n\n/*** Read one canonical deployment history record from a validated Deploy project. */\nexport async function readProjectDeploymentHistory(options: {\n readonly projectRoot: string;\n readonly deploymentId: string;\n}): Promise<ProjectDeploymentHistoryRecord | null> {\n assertSafeSegment(options.deploymentId, 'deployment id');\n const project = await resolveDeployProject({ projectRoot: options.projectRoot });\n const recordPath = path.join(project.paths.historyRoot, options.deploymentId, 'deployment.json');\n\n let parsed: unknown;\n try {\n parsed = await readJsonFile(recordPath, 'Deployment history record');\n } catch (error) {\n if (isMissingPathError(error)) return null;\n throw error;\n }\n\n const record = parseProjectDeploymentHistoryRecord(parsed);\n if (record.deploymentId !== options.deploymentId) {\n throw new Error(`Deployment history id does not match its directory: ${options.deploymentId}`);\n }\n return record;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';
2
+ /*** Persist one immutable canonical deployment history record for a validated Deploy project. */
3
+ export declare function recordProjectDeploymentHistory(options: {
4
+ readonly projectRoot: string;
5
+ readonly record: ProjectDeploymentHistoryRecord;
6
+ }): Promise<void>;
7
+ //# sourceMappingURL=recordProjectDeploymentHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordProjectDeploymentHistory.d.ts","sourceRoot":"","sources":["../../src/project/recordProjectDeploymentHistory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAM/F,iGAAiG;AACjG,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;CACjD,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB"}
@@ -1,10 +1,11 @@
1
1
  import { promises as fs } from 'node:fs';
2
2
  import path from 'node:path';
3
- import { assertContainedWritePath } from '../io/assertContainedPath';
4
- import { assertSafeSegment } from '../io/assertSafeSegment';
5
- import { atomicWriteJson } from '../io/atomicWriteJson';
6
- import { resolveDeployProject } from '../resolveDeployProject';
7
- import { parseProjectDeploymentHistoryRecord } from './parseProjectDeploymentHistoryRecord';
3
+ import { parseProjectDeploymentHistoryRecord } from './history/parseProjectDeploymentHistoryRecord';
4
+ import { assertContainedWritePath } from './io/assertContainedPath';
5
+ import { assertSafeSegment } from './io/assertSafeSegment';
6
+ import { atomicWriteJson } from './io/atomicWriteJson';
7
+ import { resolveDeployProject } from './resolveDeployProject';
8
+ /*** Persist one immutable canonical deployment history record for a validated Deploy project. */
8
9
  export async function recordProjectDeploymentHistory(options) {
9
10
  const record = parseProjectDeploymentHistoryRecord(options.record);
10
11
  assertSafeSegment(record.deploymentId, 'deployment id');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordProjectDeploymentHistory.js","sourceRoot":"","sources":["../../src/project/recordProjectDeploymentHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AAEpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,OAGpD;IACC,MAAM,MAAM,GAAG,mCAAmC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC5D,MAAM,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,eAAe,CAAC;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,UAAkB,EAAE,YAAoB;IAC3E,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { promises as fs } from 'node:fs';\nimport path from 'node:path';\n\nimport { parseProjectDeploymentHistoryRecord } from './history/parseProjectDeploymentHistoryRecord';\nimport type { ProjectDeploymentHistoryRecord } from './history/ProjectDeploymentHistoryRecord';\nimport { assertContainedWritePath } from './io/assertContainedPath';\nimport { assertSafeSegment } from './io/assertSafeSegment';\nimport { atomicWriteJson } from './io/atomicWriteJson';\nimport { resolveDeployProject } from './resolveDeployProject';\n\n/*** Persist one immutable canonical deployment history record for a validated Deploy project. */\nexport async function recordProjectDeploymentHistory(options: {\n readonly projectRoot: string;\n readonly record: ProjectDeploymentHistoryRecord;\n}): Promise<void> {\n const record = parseProjectDeploymentHistoryRecord(options.record);\n assertSafeSegment(record.deploymentId, 'deployment id');\n\n const project = await resolveDeployProject({ projectRoot: options.projectRoot });\n const recordRoot = path.join(project.paths.historyRoot, record.deploymentId);\n const recordPath = path.join(recordRoot, 'deployment.json');\n await assertContainedWritePath(project.projectRoot, recordPath);\n await fs.mkdir(project.paths.historyRoot, { recursive: true });\n await createRecordDirectory(recordRoot, record.deploymentId);\n\n try {\n await atomicWriteJson({\n projectRoot: project.projectRoot,\n filePath: recordPath,\n value: record,\n });\n } catch (error) {\n await fs.rm(recordRoot, { recursive: true, force: true });\n throw error;\n }\n}\n\nasync function createRecordDirectory(recordRoot: string, deploymentId: string): Promise<void> {\n try {\n await fs.mkdir(recordRoot);\n } catch (error) {\n if (error instanceof Error && 'code' in error && error.code === 'EEXIST') {\n throw new Error(`Deployment history already exists: ${deploymentId}`, { cause: error });\n }\n throw error;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { createReleaseRevision } from '../../domain/release/createReleaseRevision';
2
2
  import { readJsonFile } from '../io/readJsonFile';
3
+ import { parseProjectRelease } from '../releaseInput/parseProjectRelease';
3
4
  import { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';
4
- import { parseProjectRelease } from './parseProjectRelease';
5
5
  export async function readProjectRelease(options) {
6
6
  const { releasePath } = resolveProjectDeploymentPaths(options.projectRoot);
7
7
  const parsed = parseProjectRelease(await readJsonFile(releasePath, 'Deploy release'));
@@ -1 +1 @@
1
- {"version":3,"file":"readProjectRelease.js","sourceRoot":"","sources":["../../../src/project/release/readProjectRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAExC;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtF,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC","sourcesContent":["import { createReleaseRevision } from '../../domain/release/createReleaseRevision';\nimport type { ReleaseDesiredState } from '../../domain/release/ReleaseDesiredState';\nimport { readJsonFile } from '../io/readJsonFile';\nimport { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';\nimport { parseProjectRelease } from './parseProjectRelease';\n\nexport async function readProjectRelease(options: {\n readonly projectRoot: string;\n}): Promise<ReleaseDesiredState> {\n const { releasePath } = resolveProjectDeploymentPaths(options.projectRoot);\n const parsed = parseProjectRelease(await readJsonFile(releasePath, 'Deploy release'));\n return {\n ...parsed,\n revision: createReleaseRevision(parsed),\n };\n}\n"]}
1
+ {"version":3,"file":"readProjectRelease.js","sourceRoot":"","sources":["../../../src/project/release/readProjectRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAExC;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,6BAA6B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtF,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC","sourcesContent":["import { createReleaseRevision } from '../../domain/release/createReleaseRevision';\nimport type { ReleaseDesiredState } from '../../domain/release/ReleaseDesiredState';\nimport { readJsonFile } from '../io/readJsonFile';\nimport { parseProjectRelease } from '../releaseInput/parseProjectRelease';\nimport { resolveProjectDeploymentPaths } from '../resolveProjectDeploymentPaths';\n\nexport async function readProjectRelease(options: {\n readonly projectRoot: string;\n}): Promise<ReleaseDesiredState> {\n const { releasePath } = resolveProjectDeploymentPaths(options.projectRoot);\n const parsed = parseProjectRelease(await readJsonFile(releasePath, 'Deploy release'));\n return {\n ...parsed,\n revision: createReleaseRevision(parsed),\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { listProjectDeploymentHistory } from '../history/listProjectDeploymentHistory';
1
+ import { listProjectDeploymentHistory } from '../listProjectDeploymentHistory';
2
2
  export async function readProjectReleaseAndroidArtifact(options) {
3
3
  const history = await listProjectDeploymentHistory({ projectRoot: options.projectRoot });
4
4
  const [evidence] = history