@qawolf/ci-sdk 0.13.0 → 0.15.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 (244) hide show
  1. package/.eslintrc.json +27 -0
  2. package/README.md +41 -1
  3. package/dist/cjs/index.d.ts +4 -0
  4. package/dist/cjs/index.d.ts.map +1 -0
  5. package/dist/cjs/index.js +4 -16
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/lib/api/ci-greenlight.d.ts +114 -0
  8. package/dist/cjs/lib/api/ci-greenlight.d.ts.map +1 -0
  9. package/dist/cjs/lib/api/ci-greenlight.js +2 -0
  10. package/dist/cjs/lib/api/ci-greenlight.js.map +1 -0
  11. package/dist/cjs/lib/api/deploy.d.ts +72 -0
  12. package/dist/cjs/lib/api/deploy.d.ts.map +1 -0
  13. package/dist/cjs/lib/api/deploy.js +5 -4
  14. package/dist/cjs/lib/api/deploy.js.map +1 -0
  15. package/dist/cjs/lib/api/index.d.ts +3 -0
  16. package/dist/cjs/lib/api/index.d.ts.map +1 -0
  17. package/dist/cjs/lib/api/index.js +4 -16
  18. package/dist/cjs/lib/api/index.js.map +1 -0
  19. package/dist/cjs/lib/api-types.d.ts +5 -0
  20. package/dist/cjs/lib/api-types.d.ts.map +1 -0
  21. package/dist/cjs/lib/api-types.js +1 -0
  22. package/dist/cjs/lib/api-types.js.map +1 -0
  23. package/dist/cjs/lib/sdk/dependencies.d.ts +11 -0
  24. package/dist/cjs/lib/sdk/dependencies.d.ts.map +1 -0
  25. package/dist/cjs/lib/sdk/dependencies.js +1 -0
  26. package/dist/cjs/lib/sdk/dependencies.js.map +1 -0
  27. package/dist/cjs/lib/sdk/domain/attempt-deploy.d.ts +36 -0
  28. package/dist/cjs/lib/sdk/domain/attempt-deploy.d.ts.map +1 -0
  29. package/dist/cjs/lib/sdk/domain/attempt-deploy.js +19 -7
  30. package/dist/cjs/lib/sdk/domain/attempt-deploy.js.map +1 -0
  31. package/dist/cjs/lib/sdk/domain/poll-ci-greenlight.d.ts +78 -0
  32. package/dist/cjs/lib/sdk/domain/poll-ci-greenlight.d.ts.map +1 -0
  33. package/dist/cjs/lib/sdk/domain/poll-ci-greenlight.js +11 -10
  34. package/dist/cjs/lib/sdk/domain/poll-ci-greenlight.js.map +1 -0
  35. package/dist/cjs/lib/sdk/domain/previewTesting/constants.d.ts +5 -0
  36. package/dist/cjs/lib/sdk/domain/previewTesting/constants.d.ts.map +1 -0
  37. package/dist/cjs/lib/sdk/domain/previewTesting/constants.js +8 -0
  38. package/dist/cjs/lib/sdk/domain/previewTesting/constants.js.map +1 -0
  39. package/dist/cjs/lib/sdk/domain/previewTesting/createEnvironmentAction.d.ts +19 -0
  40. package/dist/cjs/lib/sdk/domain/previewTesting/createEnvironmentAction.d.ts.map +1 -0
  41. package/dist/cjs/lib/sdk/domain/previewTesting/createEnvironmentAction.js +63 -0
  42. package/dist/cjs/lib/sdk/domain/previewTesting/createEnvironmentAction.js.map +1 -0
  43. package/dist/cjs/lib/sdk/domain/previewTesting/createEnvironmentVariables.d.ts +9 -0
  44. package/dist/cjs/lib/sdk/domain/previewTesting/createEnvironmentVariables.d.ts.map +1 -0
  45. package/dist/cjs/lib/sdk/domain/previewTesting/createEnvironmentVariables.js +33 -0
  46. package/dist/cjs/lib/sdk/domain/previewTesting/createEnvironmentVariables.js.map +1 -0
  47. package/dist/cjs/lib/sdk/domain/previewTesting/deleteEnvironment.d.ts +6 -0
  48. package/dist/cjs/lib/sdk/domain/previewTesting/deleteEnvironment.d.ts.map +1 -0
  49. package/dist/cjs/lib/sdk/domain/previewTesting/deleteEnvironment.js +28 -0
  50. package/dist/cjs/lib/sdk/domain/previewTesting/deleteEnvironment.js.map +1 -0
  51. package/dist/cjs/lib/sdk/domain/previewTesting/deleteEnvironmentAction.d.ts +6 -0
  52. package/dist/cjs/lib/sdk/domain/previewTesting/deleteEnvironmentAction.d.ts.map +1 -0
  53. package/dist/cjs/lib/sdk/domain/previewTesting/deleteEnvironmentAction.js +13 -0
  54. package/dist/cjs/lib/sdk/domain/previewTesting/deleteEnvironmentAction.js.map +1 -0
  55. package/dist/cjs/lib/sdk/domain/previewTesting/findOrCreateEnvironment.d.ts +29 -0
  56. package/dist/cjs/lib/sdk/domain/previewTesting/findOrCreateEnvironment.d.ts.map +1 -0
  57. package/dist/cjs/lib/sdk/domain/previewTesting/findOrCreateEnvironment.js +153 -0
  58. package/dist/cjs/lib/sdk/domain/previewTesting/findOrCreateEnvironment.js.map +1 -0
  59. package/dist/cjs/lib/sdk/domain/previewTesting/findOrCreateTrigger.d.ts +18 -0
  60. package/dist/cjs/lib/sdk/domain/previewTesting/findOrCreateTrigger.d.ts.map +1 -0
  61. package/dist/cjs/lib/sdk/domain/previewTesting/findOrCreateTrigger.js +99 -0
  62. package/dist/cjs/lib/sdk/domain/previewTesting/findOrCreateTrigger.js.map +1 -0
  63. package/dist/cjs/lib/sdk/domain/previewTesting/findRepositoryIdByName.d.ts +6 -0
  64. package/dist/cjs/lib/sdk/domain/previewTesting/findRepositoryIdByName.d.ts.map +1 -0
  65. package/dist/cjs/lib/sdk/domain/previewTesting/findRepositoryIdByName.js +38 -0
  66. package/dist/cjs/lib/sdk/domain/previewTesting/findRepositoryIdByName.js.map +1 -0
  67. package/dist/cjs/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.d.ts +4 -0
  68. package/dist/cjs/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.d.ts.map +1 -0
  69. package/dist/cjs/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.js +39 -0
  70. package/dist/cjs/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.js.map +1 -0
  71. package/dist/cjs/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.d.ts +6 -0
  72. package/dist/cjs/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.d.ts.map +1 -0
  73. package/dist/cjs/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.js +35 -0
  74. package/dist/cjs/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.js.map +1 -0
  75. package/dist/cjs/lib/sdk/domain/previewTesting/getTagsFromEnvironment.d.ts +9 -0
  76. package/dist/cjs/lib/sdk/domain/previewTesting/getTagsFromEnvironment.d.ts.map +1 -0
  77. package/dist/cjs/lib/sdk/domain/previewTesting/getTagsFromEnvironment.js +41 -0
  78. package/dist/cjs/lib/sdk/domain/previewTesting/getTagsFromEnvironment.js.map +1 -0
  79. package/dist/cjs/lib/sdk/domain/previewTesting/index.d.ts +23 -0
  80. package/dist/cjs/lib/sdk/domain/previewTesting/index.d.ts.map +1 -0
  81. package/dist/cjs/lib/sdk/domain/previewTesting/index.js +32 -0
  82. package/dist/cjs/lib/sdk/domain/previewTesting/index.js.map +1 -0
  83. package/dist/cjs/lib/sdk/index.d.ts +15 -0
  84. package/dist/cjs/lib/sdk/index.d.ts.map +1 -0
  85. package/dist/cjs/lib/sdk/index.js +6 -2
  86. package/dist/cjs/lib/sdk/index.js.map +1 -0
  87. package/dist/cjs/lib/sdk/log/default.d.ts +3 -0
  88. package/dist/cjs/lib/sdk/log/default.d.ts.map +1 -0
  89. package/dist/cjs/lib/sdk/log/default.js +4 -3
  90. package/dist/cjs/lib/sdk/log/default.js.map +1 -0
  91. package/dist/cjs/lib/utils.d.ts +7 -0
  92. package/dist/cjs/lib/utils.d.ts.map +1 -0
  93. package/dist/cjs/lib/utils.js +1 -0
  94. package/dist/cjs/lib/utils.js.map +1 -0
  95. package/dist/cjs/tests/test-lib.d.ts +17 -0
  96. package/dist/cjs/tests/test-lib.d.ts.map +1 -0
  97. package/dist/cjs/tests/test-lib.js +48 -0
  98. package/dist/cjs/tests/test-lib.js.map +1 -0
  99. package/dist/esm/index.d.ts +4 -0
  100. package/dist/esm/index.d.ts.map +1 -0
  101. package/dist/esm/index.js +1 -0
  102. package/dist/esm/index.js.map +1 -0
  103. package/dist/esm/lib/api/ci-greenlight.d.ts +114 -0
  104. package/dist/esm/lib/api/ci-greenlight.d.ts.map +1 -0
  105. package/dist/esm/lib/api/ci-greenlight.js +2 -0
  106. package/dist/esm/lib/api/ci-greenlight.js.map +1 -0
  107. package/dist/esm/lib/api/deploy.d.ts +72 -0
  108. package/dist/esm/lib/api/deploy.d.ts.map +1 -0
  109. package/dist/esm/lib/api/deploy.js +5 -4
  110. package/dist/esm/lib/api/deploy.js.map +1 -0
  111. package/dist/esm/lib/api/index.d.ts +3 -0
  112. package/dist/esm/lib/api/index.d.ts.map +1 -0
  113. package/dist/esm/lib/api/index.js +1 -0
  114. package/dist/esm/lib/api/index.js.map +1 -0
  115. package/dist/esm/lib/api-types.d.ts +5 -0
  116. package/dist/esm/lib/api-types.d.ts.map +1 -0
  117. package/dist/esm/lib/api-types.js +1 -0
  118. package/dist/esm/lib/api-types.js.map +1 -0
  119. package/dist/esm/lib/sdk/dependencies.d.ts +11 -0
  120. package/dist/esm/lib/sdk/dependencies.d.ts.map +1 -0
  121. package/dist/esm/lib/sdk/dependencies.js +1 -0
  122. package/dist/esm/lib/sdk/dependencies.js.map +1 -0
  123. package/dist/esm/lib/sdk/domain/attempt-deploy.d.ts +36 -0
  124. package/dist/esm/lib/sdk/domain/attempt-deploy.d.ts.map +1 -0
  125. package/dist/esm/lib/sdk/domain/attempt-deploy.js +19 -7
  126. package/dist/esm/lib/sdk/domain/attempt-deploy.js.map +1 -0
  127. package/dist/esm/lib/sdk/domain/poll-ci-greenlight.d.ts +78 -0
  128. package/dist/esm/lib/sdk/domain/poll-ci-greenlight.d.ts.map +1 -0
  129. package/dist/esm/lib/sdk/domain/poll-ci-greenlight.js +11 -10
  130. package/dist/esm/lib/sdk/domain/poll-ci-greenlight.js.map +1 -0
  131. package/dist/esm/lib/sdk/domain/previewTesting/constants.d.ts +5 -0
  132. package/dist/esm/lib/sdk/domain/previewTesting/constants.d.ts.map +1 -0
  133. package/dist/esm/lib/sdk/domain/previewTesting/constants.js +5 -0
  134. package/dist/esm/lib/sdk/domain/previewTesting/constants.js.map +1 -0
  135. package/dist/esm/lib/sdk/domain/previewTesting/createEnvironmentAction.d.ts +19 -0
  136. package/dist/esm/lib/sdk/domain/previewTesting/createEnvironmentAction.d.ts.map +1 -0
  137. package/dist/esm/lib/sdk/domain/previewTesting/createEnvironmentAction.js +59 -0
  138. package/dist/esm/lib/sdk/domain/previewTesting/createEnvironmentAction.js.map +1 -0
  139. package/dist/esm/lib/sdk/domain/previewTesting/createEnvironmentVariables.d.ts +9 -0
  140. package/dist/esm/lib/sdk/domain/previewTesting/createEnvironmentVariables.d.ts.map +1 -0
  141. package/dist/esm/lib/sdk/domain/previewTesting/createEnvironmentVariables.js +29 -0
  142. package/dist/esm/lib/sdk/domain/previewTesting/createEnvironmentVariables.js.map +1 -0
  143. package/dist/esm/lib/sdk/domain/previewTesting/deleteEnvironment.d.ts +6 -0
  144. package/dist/esm/lib/sdk/domain/previewTesting/deleteEnvironment.d.ts.map +1 -0
  145. package/dist/esm/lib/sdk/domain/previewTesting/deleteEnvironment.js +24 -0
  146. package/dist/esm/lib/sdk/domain/previewTesting/deleteEnvironment.js.map +1 -0
  147. package/dist/esm/lib/sdk/domain/previewTesting/deleteEnvironmentAction.d.ts +6 -0
  148. package/dist/esm/lib/sdk/domain/previewTesting/deleteEnvironmentAction.d.ts.map +1 -0
  149. package/dist/esm/lib/sdk/domain/previewTesting/deleteEnvironmentAction.js +9 -0
  150. package/dist/esm/lib/sdk/domain/previewTesting/deleteEnvironmentAction.js.map +1 -0
  151. package/dist/esm/lib/sdk/domain/previewTesting/findOrCreateEnvironment.d.ts +29 -0
  152. package/dist/esm/lib/sdk/domain/previewTesting/findOrCreateEnvironment.d.ts.map +1 -0
  153. package/dist/esm/lib/sdk/domain/previewTesting/findOrCreateEnvironment.js +149 -0
  154. package/dist/esm/lib/sdk/domain/previewTesting/findOrCreateEnvironment.js.map +1 -0
  155. package/dist/esm/lib/sdk/domain/previewTesting/findOrCreateTrigger.d.ts +18 -0
  156. package/dist/esm/lib/sdk/domain/previewTesting/findOrCreateTrigger.d.ts.map +1 -0
  157. package/dist/esm/lib/sdk/domain/previewTesting/findOrCreateTrigger.js +95 -0
  158. package/dist/esm/lib/sdk/domain/previewTesting/findOrCreateTrigger.js.map +1 -0
  159. package/dist/esm/lib/sdk/domain/previewTesting/findRepositoryIdByName.d.ts +6 -0
  160. package/dist/esm/lib/sdk/domain/previewTesting/findRepositoryIdByName.d.ts.map +1 -0
  161. package/dist/esm/lib/sdk/domain/previewTesting/findRepositoryIdByName.js +34 -0
  162. package/dist/esm/lib/sdk/domain/previewTesting/findRepositoryIdByName.js.map +1 -0
  163. package/dist/esm/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.d.ts +4 -0
  164. package/dist/esm/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.d.ts.map +1 -0
  165. package/dist/esm/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.js +35 -0
  166. package/dist/esm/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.js.map +1 -0
  167. package/dist/esm/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.d.ts +6 -0
  168. package/dist/esm/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.d.ts.map +1 -0
  169. package/dist/esm/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.js +31 -0
  170. package/dist/esm/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.js.map +1 -0
  171. package/dist/esm/lib/sdk/domain/previewTesting/getTagsFromEnvironment.d.ts +9 -0
  172. package/dist/esm/lib/sdk/domain/previewTesting/getTagsFromEnvironment.d.ts.map +1 -0
  173. package/dist/esm/lib/sdk/domain/previewTesting/getTagsFromEnvironment.js +37 -0
  174. package/dist/esm/lib/sdk/domain/previewTesting/getTagsFromEnvironment.js.map +1 -0
  175. package/dist/esm/lib/sdk/domain/previewTesting/index.d.ts +23 -0
  176. package/dist/esm/lib/sdk/domain/previewTesting/index.d.ts.map +1 -0
  177. package/dist/esm/lib/sdk/domain/previewTesting/index.js +27 -0
  178. package/dist/esm/lib/sdk/domain/previewTesting/index.js.map +1 -0
  179. package/dist/esm/lib/sdk/index.d.ts +15 -0
  180. package/dist/esm/lib/sdk/index.d.ts.map +1 -0
  181. package/dist/esm/lib/sdk/index.js +6 -2
  182. package/dist/esm/lib/sdk/index.js.map +1 -0
  183. package/dist/esm/lib/sdk/log/default.d.ts +3 -0
  184. package/dist/esm/lib/sdk/log/default.d.ts.map +1 -0
  185. package/dist/esm/lib/sdk/log/default.js +4 -3
  186. package/dist/esm/lib/sdk/log/default.js.map +1 -0
  187. package/dist/esm/lib/utils.d.ts +7 -0
  188. package/dist/esm/lib/utils.d.ts.map +1 -0
  189. package/dist/esm/lib/utils.js +1 -0
  190. package/dist/esm/lib/utils.js.map +1 -0
  191. package/dist/esm/tests/test-lib.d.ts +17 -0
  192. package/dist/esm/tests/test-lib.d.ts.map +1 -0
  193. package/dist/esm/tests/test-lib.js +42 -0
  194. package/dist/esm/tests/test-lib.js.map +1 -0
  195. package/dist/types/index.d.ts +1 -0
  196. package/dist/types/index.d.ts.map +1 -0
  197. package/dist/types/lib/api/ci-greenlight.d.ts +11 -10
  198. package/dist/types/lib/api/ci-greenlight.d.ts.map +1 -0
  199. package/dist/types/lib/api/deploy.d.ts +26 -25
  200. package/dist/types/lib/api/deploy.d.ts.map +1 -0
  201. package/dist/types/lib/api/index.d.ts +1 -0
  202. package/dist/types/lib/api/index.d.ts.map +1 -0
  203. package/dist/types/lib/api-types.d.ts +1 -0
  204. package/dist/types/lib/api-types.d.ts.map +1 -0
  205. package/dist/types/lib/sdk/dependencies.d.ts +3 -2
  206. package/dist/types/lib/sdk/dependencies.d.ts.map +1 -0
  207. package/dist/types/lib/sdk/domain/attempt-deploy.d.ts +18 -3
  208. package/dist/types/lib/sdk/domain/attempt-deploy.d.ts.map +1 -0
  209. package/dist/types/lib/sdk/domain/poll-ci-greenlight.d.ts +24 -23
  210. package/dist/types/lib/sdk/domain/poll-ci-greenlight.d.ts.map +1 -0
  211. package/dist/types/lib/sdk/domain/previewTesting/constants.d.ts +5 -0
  212. package/dist/types/lib/sdk/domain/previewTesting/constants.d.ts.map +1 -0
  213. package/dist/types/lib/sdk/domain/previewTesting/createEnvironmentAction.d.ts +19 -0
  214. package/dist/types/lib/sdk/domain/previewTesting/createEnvironmentAction.d.ts.map +1 -0
  215. package/dist/types/lib/sdk/domain/previewTesting/createEnvironmentVariables.d.ts +9 -0
  216. package/dist/types/lib/sdk/domain/previewTesting/createEnvironmentVariables.d.ts.map +1 -0
  217. package/dist/types/lib/sdk/domain/previewTesting/deleteEnvironment.d.ts +6 -0
  218. package/dist/types/lib/sdk/domain/previewTesting/deleteEnvironment.d.ts.map +1 -0
  219. package/dist/types/lib/sdk/domain/previewTesting/deleteEnvironmentAction.d.ts +6 -0
  220. package/dist/types/lib/sdk/domain/previewTesting/deleteEnvironmentAction.d.ts.map +1 -0
  221. package/dist/types/lib/sdk/domain/previewTesting/findOrCreateEnvironment.d.ts +29 -0
  222. package/dist/types/lib/sdk/domain/previewTesting/findOrCreateEnvironment.d.ts.map +1 -0
  223. package/dist/types/lib/sdk/domain/previewTesting/findOrCreateTrigger.d.ts +18 -0
  224. package/dist/types/lib/sdk/domain/previewTesting/findOrCreateTrigger.d.ts.map +1 -0
  225. package/dist/types/lib/sdk/domain/previewTesting/findRepositoryIdByName.d.ts +6 -0
  226. package/dist/types/lib/sdk/domain/previewTesting/findRepositoryIdByName.d.ts.map +1 -0
  227. package/dist/types/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.d.ts +4 -0
  228. package/dist/types/lib/sdk/domain/previewTesting/getEnvironmentIdForBranch.d.ts.map +1 -0
  229. package/dist/types/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.d.ts +6 -0
  230. package/dist/types/lib/sdk/domain/previewTesting/getEnvironmentVariablesFromEnvironment.d.ts.map +1 -0
  231. package/dist/types/lib/sdk/domain/previewTesting/getTagsFromEnvironment.d.ts +9 -0
  232. package/dist/types/lib/sdk/domain/previewTesting/getTagsFromEnvironment.d.ts.map +1 -0
  233. package/dist/types/lib/sdk/domain/previewTesting/index.d.ts +23 -0
  234. package/dist/types/lib/sdk/domain/previewTesting/index.d.ts.map +1 -0
  235. package/dist/types/lib/sdk/index.d.ts +8 -1
  236. package/dist/types/lib/sdk/index.d.ts.map +1 -0
  237. package/dist/types/lib/sdk/log/default.d.ts +2 -1
  238. package/dist/types/lib/sdk/log/default.d.ts.map +1 -0
  239. package/dist/types/lib/utils.d.ts +1 -0
  240. package/dist/types/lib/utils.d.ts.map +1 -0
  241. package/dist/types/tests/test-lib.d.ts +17 -0
  242. package/dist/types/tests/test-lib.d.ts.map +1 -0
  243. package/package.json +4 -2
  244. package/project.json +6 -0
package/.eslintrc.json ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ * ESLint config files allow comments, so please comment all changes you make here.
3
+ * Unless you are changing a rule for reasons very specific to this project, you
4
+ * should consider making the change in our @qawolf base config instead. There is
5
+ * also a `.eslintrc.json` file in this repo root folder for any rules that we want
6
+ * in this repo but not necessarily in other repos that use our @qawolf base config.
7
+ */
8
+ {
9
+ "root": true,
10
+ "rules": {
11
+ "no-restricted-imports": [
12
+ "error",
13
+ {
14
+ // playground-* and runner-* packages are only to be
15
+ // imported by playgrounds and runners and their packages
16
+ "patterns": ["@qawolf/playground-*", "@qawolf/runner-*"]
17
+ }
18
+ ]
19
+ },
20
+ "extends": [
21
+ "@qawolf",
22
+ "plugin:react/recommended",
23
+ "plugin:react-hooks/recommended",
24
+ "../../.eslintrc.json"
25
+ ],
26
+ "ignorePatterns": ["!**/*", "/**/*.js", "/**/*.d.ts", "dist", "node_modules"]
27
+ }
package/README.md CHANGED
@@ -83,6 +83,36 @@ const { pollCiGreenlightStatus } = makeQaWolfSdk({
83
83
  })();
84
84
  ```
85
85
 
86
+ ## Example: pull request testing
87
+
88
+ > :warning: This section is not covered by SemVer and will change.
89
+
90
+ ```ts
91
+ const details: {
92
+ baseEnvironmentId: string | undefined;
93
+ branch: string;
94
+ commitUrl: string;
95
+ deploymentUrl: string | undefined;
96
+ pr: { number: number; title: string } | undefined;
97
+ qaWolfTeamId: string;
98
+ // company/repository
99
+ repoFullName: string;
100
+ sha: string;
101
+ variables: { [key: string]: string };
102
+ } = {};
103
+ const result = await sdk.experimental_testPreview(detail);
104
+ if (result.outcome !== "success") {
105
+ console.error(result);
106
+ throw Error("Creating a test failed");
107
+ }
108
+ ```
109
+
110
+ Then, after the PR has been closed:
111
+
112
+ ```js
113
+ await sdk.experimental_removeEnvironment({ branch: "" });
114
+ ```
115
+
86
116
  ## Versioning
87
117
 
88
118
  This package follows the [SemVer](https://semver.org/) versioning scheme. Additional notes:
@@ -101,6 +131,16 @@ an up-to-date API usage version.
101
131
 
102
132
  # Changelog
103
133
 
134
+ ## v0.15.0
135
+
136
+ - New `experimental_testPreview` and `experimental_deleteEnvironment` methods.
137
+
138
+ ## v0.14.0
139
+
140
+ - New `failReason`, `abortReason` and `httpStatus` fields added to the `attemptNotifyDeploy`
141
+ function result object to provide more context on why the operation failed or was aborted.
142
+ - Exported missing TypeScript typings describing result objects and fields for both functions.
143
+
104
144
  ## v0.13.0
105
145
 
106
146
  - New `pollTimeout` parameter for `pollCiGreenlightStatus` to allow for a custom
@@ -138,7 +178,7 @@ BREAKING CHANGES:
138
178
 
139
179
  BREAKING CHANGES:
140
180
 
141
- - Renamed `attemptDeploy` to `attemptNotifyDeploy`.
181
+ - Renamed `attemptDeploy` to `attemptNotifyDeploy` .
142
182
 
143
183
  ## v0.10.2
144
184
 
@@ -0,0 +1,4 @@
1
+ export * from "./lib/sdk/index.js";
2
+ export * from "./lib/sdk/dependencies.js";
3
+ export type { CiGreenlightStatus, CiGreenlightStatusBase, DeployConfig, DeployStatus, } from "./lib/api/index.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,MAAM,oBAAoB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -1,18 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./lib/sdk/index.js"), exports);
18
- __exportStar(require("./lib/sdk/dependencies.js"), exports);
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/sdk/index.js"), exports);
5
+ tslib_1.__exportStar(require("./lib/sdk/dependencies.js"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,oEAA0C"}
@@ -0,0 +1,114 @@
1
+ import { type ApiConfig } from "../api-types.js";
2
+ import { type SdkDependencies } from "../sdk/dependencies.js";
3
+ export type CiGreenlightBugDetails = {
4
+ /**
5
+ * The URL of this BR in the QAWolf application.
6
+ */
7
+ applicationUrl: string;
8
+ /**
9
+ * If this bug report is linked to an external issue, it will
10
+ * show up here.
11
+ */
12
+ externalIssue: {
13
+ /**
14
+ * The URL of the external issue in the external platform
15
+ * application.
16
+ */
17
+ applicationUrl: string;
18
+ /**
19
+ * The ID of this issue in the external platform.
20
+ */
21
+ externalIssueId: string;
22
+ /**
23
+ * Lowercase platform name (e.g. "jira").
24
+ */
25
+ platform: string;
26
+ } | undefined;
27
+ /**
28
+ * True if the bug is blocking.
29
+ */
30
+ isBlocking: boolean;
31
+ /**
32
+ * True if the bug has been found in this run.
33
+ */
34
+ isNew: boolean;
35
+ /**
36
+ * The name of this bug.
37
+ */
38
+ name: string;
39
+ /**
40
+ * The bug number.
41
+ */
42
+ number: number;
43
+ /**
44
+ * The priority of this bug.
45
+ */
46
+ priority: "medium" | "unprioritized" | "low" | "high" | "urgent";
47
+ };
48
+ export type CiGreenlightCompletedSuiteDetails = {
49
+ blockingBugsCount: number;
50
+ blockingBugUrls: string[];
51
+ nonBlockingBugsCount: number;
52
+ nonBlockingBugUrls: string[];
53
+ reproducedBugs: CiGreenlightBugDetails[];
54
+ };
55
+ export type CiGreenlightStatusBase = {
56
+ relevantRunId: string;
57
+ relevantRunUrl: string;
58
+ relevantRunWithBugsUrl: string;
59
+ rootRunId: string;
60
+ rootRunUrl: string;
61
+ workflowsDisabledAfterRunCount: number;
62
+ workflowsInRunCount: number;
63
+ workflowsUnderInvestigationCount: number;
64
+ };
65
+ /**
66
+ * The status of a CI greenlight run. See the API documentation here for
67
+ * more details: https://qawolf.notion.site/1b170576efea411fa785842a71e7c99e
68
+ */
69
+ export type CiGreenlightStatus = CiGreenlightStatusBase & ({
70
+ blockingBugsCount: number;
71
+ blockingBugUrls: string[];
72
+ greenlight: boolean;
73
+ nonBlockingBugsCount: number;
74
+ nonBlockingBugUrls: string[];
75
+ reproducedBugs: CiGreenlightBugDetails[];
76
+ runStage: "completed";
77
+ } | {
78
+ greenlight: false;
79
+ runStage: "initializing" | "underReview" | "canceled";
80
+ });
81
+ export declare function fetchCiGreenlightStatus({ serviceBase, apiKey }: ApiConfig, { runId, }: {
82
+ runId: string;
83
+ }, { fetch: localFetch }: SdkDependencies): Promise<{
84
+ readonly greenlightStatus: CiGreenlightStatus;
85
+ readonly httpStatus: number;
86
+ readonly ok: true;
87
+ readonly canRetry?: undefined;
88
+ readonly errorType?: undefined;
89
+ } | {
90
+ readonly canRetry: true;
91
+ readonly errorType: "not-found";
92
+ readonly httpStatus: 404;
93
+ readonly ok: false;
94
+ readonly greenlightStatus?: undefined;
95
+ } | {
96
+ readonly canRetry: true;
97
+ readonly errorType: "server";
98
+ readonly httpStatus: number;
99
+ readonly ok: false;
100
+ readonly greenlightStatus?: undefined;
101
+ } | {
102
+ readonly canRetry: false;
103
+ readonly errorType: "client";
104
+ readonly httpStatus: number;
105
+ readonly ok: false;
106
+ readonly greenlightStatus?: undefined;
107
+ } | {
108
+ readonly canRetry: true;
109
+ readonly errorType: "network";
110
+ readonly httpStatus: 0;
111
+ readonly ok: false;
112
+ readonly greenlightStatus?: undefined;
113
+ }>;
114
+ //# sourceMappingURL=ci-greenlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-greenlight.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/ci-greenlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,aAAa,EACT;QACE;;;WAGG;QACH,cAAc,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,eAAe,EAAE,MAAM,CAAC;QACxB;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,SAAS,CAAC;IACd;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,QAAQ,GAAG,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,sBAAsB,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B,EAAE,MAAM,CAAC;IACvC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gCAAgC,EAAE,MAAM,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GACrD,CACI;IACE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,QAAQ,EAAE,WAAW,CAAC;CACvB,GACD;IACE,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC;CACvD,CACJ,CAAC;AAEJ,wBAAsB,uBAAuB,CAC3C,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAClC,EACE,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;CACf,EACD,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDvC"}
@@ -34,6 +34,7 @@ async function fetchCiGreenlightStatus({ serviceBase, apiKey }, { runId, }, { fe
34
34
  }
35
35
  return {
36
36
  canRetry: false,
37
+ errorType: "client",
37
38
  httpStatus: resp.status,
38
39
  ok: false,
39
40
  };
@@ -48,3 +49,4 @@ async function fetchCiGreenlightStatus({ serviceBase, apiKey }, { runId, }, { fe
48
49
  }
49
50
  }
50
51
  exports.fetchCiGreenlightStatus = fetchCiGreenlightStatus;
52
+ //# sourceMappingURL=ci-greenlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-greenlight.js","sourceRoot":"","sources":["../../../../src/lib/api/ci-greenlight.ts"],"names":[],"mappings":";;;AA2FO,KAAK,UAAU,uBAAuB,CAC3C,EAAE,WAAW,EAAE,MAAM,EAAa,EAClC,EACE,KAAK,GAGN,EACD,EAAE,KAAK,EAAE,UAAU,EAAmB;IAEtC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAC3B,IAAI,GAAG,CACL,yBAAyB,kBAAkB,CAAC,KAAK,CAAC,EAAE,EACpD,WAAW,CACZ,EACD;YACE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;aAClC;SACF,CACF,CAAC;QAEF,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAuB,CAAC;YACnE,OAAO;gBACL,gBAAgB;gBAChB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,EAAE,EAAE,IAAI;aACA,CAAC;QACb,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,WAAW;gBACtB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,EAAE,EAAE,KAAK;aACD,CAAC;QACb,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACvB,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,EAAE,EAAE,KAAK;aACD,CAAC;QACb,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,EAAE,EAAE,KAAK;SACD,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,CAAC;YACb,EAAE,EAAE,KAAK;SACD,CAAC;IACb,CAAC;AACH,CAAC;AA5DD,0DA4DC"}
@@ -0,0 +1,72 @@
1
+ import { type ApiConfig } from "../api-types.js";
2
+ import { type SdkDependencies } from "../sdk/dependencies.js";
3
+ /**
4
+ * Refer to our official documentation for more information:
5
+ * https://qawolf.notion.site/dd72e46ceb7f451dae4e9ef06f64a2cc
6
+ */
7
+ export type DeployConfig = {
8
+ branch: string | undefined;
9
+ commitUrl: string | undefined;
10
+ deduplicationKey: string | undefined;
11
+ deploymentType: string | undefined;
12
+ deploymentUrl: string | undefined;
13
+ hostingService: "GitHub" | "GitLab" | undefined;
14
+ sha: string | undefined;
15
+ variables: Record<string, string> | undefined;
16
+ };
17
+ export type DeployStatus = {
18
+ results: Array<{
19
+ created_suite_id?: string;
20
+ failure_reason?: string;
21
+ }>;
22
+ };
23
+ export declare function postDeploySuccess({ apiKey, serviceBase }: ApiConfig, { branch, commitUrl, deduplicationKey, deploymentType, deploymentUrl, hostingService, sha, variables, }: Partial<DeployConfig>, { fetch: localFetch }: SdkDependencies): Promise<{
24
+ readonly failureReason: "no-matched-trigger";
25
+ readonly success: false;
26
+ readonly details?: undefined;
27
+ readonly runId?: undefined;
28
+ readonly httpStatus?: undefined;
29
+ } | {
30
+ readonly details: string;
31
+ readonly failureReason: "run-could-not-be-created";
32
+ readonly success: false;
33
+ readonly runId?: undefined;
34
+ readonly httpStatus?: undefined;
35
+ } | {
36
+ readonly runId: string;
37
+ readonly success: true;
38
+ readonly failureReason?: undefined;
39
+ readonly details?: undefined;
40
+ readonly httpStatus?: undefined;
41
+ } | {
42
+ readonly failureReason: "5XX-server-error";
43
+ readonly httpStatus: number;
44
+ readonly success: false;
45
+ readonly details?: undefined;
46
+ readonly runId?: undefined;
47
+ } | {
48
+ readonly failureReason: "401-unauthorized";
49
+ readonly httpStatus: 401;
50
+ readonly success: false;
51
+ readonly details?: undefined;
52
+ readonly runId?: undefined;
53
+ } | {
54
+ readonly failureReason: "403-forbidden";
55
+ readonly httpStatus: 403;
56
+ readonly success: false;
57
+ readonly details?: undefined;
58
+ readonly runId?: undefined;
59
+ } | {
60
+ readonly failureReason: "4XX-client-error";
61
+ readonly httpStatus: number;
62
+ readonly success: false;
63
+ readonly details?: undefined;
64
+ readonly runId?: undefined;
65
+ } | {
66
+ readonly failureReason: "network-error";
67
+ readonly success: false;
68
+ readonly details?: undefined;
69
+ readonly runId?: undefined;
70
+ readonly httpStatus?: undefined;
71
+ }>;
72
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,SAAS,EAClC,EACE,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,GAAG,EACH,SAAS,GACV,EAAE,OAAO,CAAC,YAAY,CAAC,EACxB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFvC"}
@@ -49,27 +49,27 @@ async function postDeploySuccess({ apiKey, serviceBase }, { branch, commitUrl, d
49
49
  else {
50
50
  if (response.status >= 500) {
51
51
  return {
52
- failureReason: "server-error",
52
+ failureReason: "5XX-server-error",
53
53
  httpStatus: response.status,
54
54
  success: false,
55
55
  };
56
56
  }
57
57
  if (response.status === 401) {
58
58
  return {
59
- failureReason: "unauthorized",
59
+ failureReason: "401-unauthorized",
60
60
  httpStatus: response.status,
61
61
  success: false,
62
62
  };
63
63
  }
64
64
  if (response.status === 403) {
65
65
  return {
66
- failureReason: "forbidden",
66
+ failureReason: "403-forbidden",
67
67
  httpStatus: response.status,
68
68
  success: false,
69
69
  };
70
70
  }
71
71
  return {
72
- failureReason: "unrecoverable-error",
72
+ failureReason: "4XX-client-error",
73
73
  httpStatus: response.status,
74
74
  success: false,
75
75
  };
@@ -83,3 +83,4 @@ async function postDeploySuccess({ apiKey, serviceBase }, { branch, commitUrl, d
83
83
  }
84
84
  }
85
85
  exports.postDeploySuccess = postDeploySuccess;
86
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/lib/api/deploy.ts"],"names":[],"mappings":";;;AAsBO,KAAK,UAAU,iBAAiB,CACrC,EAAE,MAAM,EAAE,WAAW,EAAa,EAClC,EACE,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,GAAG,EACH,SAAS,GACa,EACxB,EAAE,KAAK,EAAE,UAAU,EAAmB;IAEtC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,IAAI,GAAG,CAAC,8BAA8B,EAAE,WAAW,CAAC,EACpD;YACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM;gBACN,UAAU,EAAE,SAAS;gBACrB,iBAAiB,EAAE,gBAAgB;gBACnC,eAAe,EAAE,cAAc;gBAC/B,cAAc,EAAE,aAAa;gBAC7B,eAAe,EAAE,cAAc;gBAC/B,GAAG;gBACH,SAAS;aACV,CAAC;YACF,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,MAAM;SACf,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;YAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAChC,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAC3D,CAAC;YACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CACpC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAC/D,CAAC;YACF,IAAI,iBAAiB,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBACvD,OAAO;oBACL,aAAa,EAAE,oBAAoB;oBACnC,OAAO,EAAE,KAAK;iBACN,CAAC;YACb,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,aAAa,CAAC,cAAc;oBACrC,aAAa,EAAE,0BAA0B;oBACzC,OAAO,EAAE,KAAK;iBACN,CAAC;YACb,CAAC;YACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,OAAO;oBACL,aAAa,EAAE,oBAAoB;oBACnC,OAAO,EAAE,KAAK;iBACN,CAAC;YACb,CAAC;YACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;YACjD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBAC3B,OAAO;oBACL,aAAa,EAAE,kBAAkB;oBACjC,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAC3B,OAAO,EAAE,KAAK;iBACN,CAAC;YACb,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO;oBACL,aAAa,EAAE,kBAAkB;oBACjC,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAC3B,OAAO,EAAE,KAAK;iBACN,CAAC;YACb,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO;oBACL,aAAa,EAAE,eAAe;oBAC9B,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAC3B,OAAO,EAAE,KAAK;iBACN,CAAC;YACb,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,kBAAkB;gBACjC,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,OAAO,EAAE,KAAK;aACN,CAAC;QACb,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,aAAa,EAAE,eAAe;YAC9B,OAAO,EAAE,KAAK;SACN,CAAC;IACb,CAAC;AACH,CAAC;AAnGD,8CAmGC"}
@@ -0,0 +1,3 @@
1
+ export * from "./ci-greenlight.js";
2
+ export * from "./deploy.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
@@ -1,18 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ci-greenlight.js"), exports);
18
- __exportStar(require("./deploy.js"), exports);
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./ci-greenlight.js"), exports);
5
+ tslib_1.__exportStar(require("./deploy.js"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/api/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,sDAA4B"}
@@ -0,0 +1,5 @@
1
+ export type ApiConfig = {
2
+ apiKey: string;
3
+ serviceBase: string;
4
+ };
5
+ //# sourceMappingURL=api-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../../src/lib/api-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=api-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.js","sourceRoot":"","sources":["../../../src/lib/api-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export interface LogDriver {
2
+ error(message: string, error?: unknown): void;
3
+ info(message: string): void;
4
+ warn(message: string): void;
5
+ }
6
+ export type FetchDriver = typeof fetch;
7
+ export type SdkDependencies = {
8
+ fetch: FetchDriver;
9
+ log: LogDriver;
10
+ };
11
+ //# sourceMappingURL=dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../../../src/lib/sdk/dependencies.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC;AAEvC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../src/lib/sdk/dependencies.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import { type DeployConfig } from "../../api/deploy.js";
2
+ import { type ApiConfig } from "../../api-types.js";
3
+ import { type SdkDependencies } from "../dependencies.js";
4
+ export type AttemptDeployFailedReason = "no-matched-trigger" | "run-could-not-be-created";
5
+ export type AttemptDeployHttpAbortReason = "4XX-client-error" | "401-unauthorized" | "403-forbidden" | "5XX-server-error";
6
+ export type AttemptDeployNonHttpAbortReason = "network-error";
7
+ export type AttemptDeployAbortReason = AttemptDeployHttpAbortReason | AttemptDeployNonHttpAbortReason;
8
+ export type NotifyDeployStatus = {
9
+ /**
10
+ * A run was successfully created.
11
+ */
12
+ outcome: "success";
13
+ runId: string;
14
+ } | {
15
+ failReason: AttemptDeployFailedReason;
16
+ /**
17
+ * A run could not be created.
18
+ */
19
+ outcome: "failed";
20
+ } | {
21
+ abortReason: AttemptDeployNonHttpAbortReason;
22
+ httpStatus: undefined;
23
+ /**
24
+ * An unrecoverable error occurred.
25
+ */
26
+ outcome: "aborted";
27
+ } | {
28
+ abortReason: AttemptDeployHttpAbortReason;
29
+ httpStatus: number;
30
+ /**
31
+ * An unrecoverable HTTP error occurred.
32
+ */
33
+ outcome: "aborted";
34
+ };
35
+ export declare function attemptNotifyDeploy(deps: SdkDependencies, apiConfig: ApiConfig, config: Partial<DeployConfig>): Promise<NotifyDeployStatus>;
36
+ //# sourceMappingURL=attempt-deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt-deploy.d.ts","sourceRoot":"","sources":["../../../../../src/lib/sdk/domain/attempt-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,yBAAyB,GACjC,oBAAoB,GACpB,0BAA0B,CAAC;AAE/B,MAAM,MAAM,4BAA4B,GACpC,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,CAAC;AAEvB,MAAM,MAAM,+BAA+B,GAAG,eAAe,CAAC;AAE9D,MAAM,MAAM,wBAAwB,GAChC,4BAA4B,GAC5B,+BAA+B,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAC1B;IACE;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,UAAU,EAAE,yBAAyB,CAAC;IACtC;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC;CACnB,GACD;IACE,WAAW,EAAE,+BAA+B,CAAC;IAC7C,UAAU,EAAE,SAAS,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;CACpB,GACD;IACE,WAAW,EAAE,4BAA4B,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAEN,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAsD7B"}
@@ -9,29 +9,40 @@ async function attemptNotifyDeploy(deps, apiConfig, config) {
9
9
  if (!responseState.success) {
10
10
  if (responseState.failureReason === "no-matched-trigger") {
11
11
  log.error(`🚫 No trigger matched the request. Please contact support.`);
12
- return { outcome: "failed" };
12
+ return { failReason: "no-matched-trigger", outcome: "failed" };
13
13
  }
14
14
  else if (responseState.failureReason === "run-could-not-be-created") {
15
15
  log.error(`🚫 Run could not be created. Reason: "${responseState.details}". Please contact support.`);
16
- return { outcome: "failed" };
16
+ return { failReason: "run-could-not-be-created", outcome: "failed" };
17
17
  }
18
18
  if (responseState.failureReason === "network-error")
19
19
  log.error(`🚫 Network error from deploy_success, aborting.`);
20
- else if (responseState.failureReason === "server-error")
20
+ else if (responseState.failureReason === "5XX-server-error")
21
21
  log.error(`🚫 Server error from deploy_success (status ${responseState.httpStatus}), aborting. Please contact support.`);
22
- else if (responseState.failureReason === "unrecoverable-error") {
22
+ else if (responseState.failureReason === "4XX-client-error") {
23
23
  log.error(`🚫 Unrecoverable error from deploy_success (status ${responseState.httpStatus}), aborting. Please contact support.`);
24
24
  }
25
- else if (responseState.failureReason === "forbidden") {
25
+ else if (responseState.failureReason === "403-forbidden") {
26
26
  log.error(`🚫 Forbidden error from deploy_success (status ${responseState.httpStatus}), aborting. Please contact support.`);
27
27
  }
28
- else if (responseState.failureReason === "unauthorized") {
28
+ else if (responseState.failureReason === "401-unauthorized") {
29
29
  log.error(`🚫 Unauthorized error from deploy_success (status ${responseState.httpStatus}), aborting. Please contact support.`);
30
30
  }
31
31
  else {
32
32
  (0, utils_js_1.assertType)(responseState);
33
33
  }
34
- return { outcome: "aborted" };
34
+ if (responseState.failureReason === "network-error") {
35
+ return {
36
+ abortReason: "network-error",
37
+ httpStatus: undefined,
38
+ outcome: "aborted",
39
+ };
40
+ }
41
+ return {
42
+ abortReason: responseState.failureReason,
43
+ httpStatus: responseState.httpStatus,
44
+ outcome: "aborted",
45
+ };
35
46
  }
36
47
  log.info(`✅ Run created with ID: ${responseState.runId}`);
37
48
  return {
@@ -40,3 +51,4 @@ async function attemptNotifyDeploy(deps, apiConfig, config) {
40
51
  };
41
52
  }
42
53
  exports.attemptNotifyDeploy = attemptNotifyDeploy;
54
+ //# sourceMappingURL=attempt-deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt-deploy.js","sourceRoot":"","sources":["../../../../../src/lib/sdk/domain/attempt-deploy.ts"],"names":[],"mappings":";;;AAAA,mDAA2E;AAE3E,6CAA4C;AAmDrC,KAAK,UAAU,mBAAmB,CACvC,IAAqB,EACrB,SAAoB,EACpB,MAA6B;IAE7B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAiB,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,aAAa,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;YACzD,GAAG,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACxE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACjE,CAAC;aAAM,IAAI,aAAa,CAAC,aAAa,KAAK,0BAA0B,EAAE,CAAC;YACtE,GAAG,CAAC,KAAK,CACP,yCAAyC,aAAa,CAAC,OAAO,4BAA4B,CAC3F,CAAC;YACF,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACvE,CAAC;QAED,IAAI,aAAa,CAAC,aAAa,KAAK,eAAe;YACjD,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;aAC1D,IAAI,aAAa,CAAC,aAAa,KAAK,kBAAkB;YACzD,GAAG,CAAC,KAAK,CACP,+CAA+C,aAAa,CAAC,UAAU,sCAAsC,CAC9G,CAAC;aACC,IAAI,aAAa,CAAC,aAAa,KAAK,kBAAkB,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CACP,sDAAsD,aAAa,CAAC,UAAU,sCAAsC,CACrH,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,aAAa,KAAK,eAAe,EAAE,CAAC;YAC3D,GAAG,CAAC,KAAK,CACP,kDAAkD,aAAa,CAAC,UAAU,sCAAsC,CACjH,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,aAAa,KAAK,kBAAkB,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CACP,qDAAqD,aAAa,CAAC,UAAU,sCAAsC,CACpH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAA,qBAAU,EAAQ,aAAa,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,aAAa,CAAC,aAAa,KAAK,eAAe,EAAE,CAAC;YACpD,OAAO;gBACL,WAAW,EAAE,eAAe;gBAC5B,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;aACnB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,WAAW,EAAE,aAAa,CAAC,aAAa;YACxC,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,0BAA0B,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,aAAa,CAAC,KAAK;KAC3B,CAAC;AACJ,CAAC;AA1DD,kDA0DC"}
@@ -0,0 +1,78 @@
1
+ import { type CiGreenlightStatus } from "../../api/ci-greenlight.js";
2
+ import { type ApiConfig } from "../../api-types.js";
3
+ import { type SdkDependencies } from "../dependencies.js";
4
+ export type PollCiGreenlightPollConfig = {
5
+ /**
6
+ * Maximum number of network operations retries before aborting the job.
7
+ *
8
+ * @default 10
9
+ */
10
+ maxRetries: number;
11
+ /**
12
+ * Timeout in milliseconds before aborting this polling operation.
13
+ *
14
+ * @default 120 minutes
15
+ */
16
+ pollTimeout: number;
17
+ /**
18
+ * Interval in milliseconds between network operations retries.
19
+ *
20
+ * @default 10 seconds
21
+ */
22
+ retryInterval: number;
23
+ /**
24
+ * Interval in milliseconds between polling for a run in progress.
25
+ *
26
+ * @default 30 seconds
27
+ */
28
+ runInProgressInterval: number;
29
+ /**
30
+ * Interval in milliseconds between polling for a run under review.
31
+ *
32
+ * @default 60 minutes
33
+ */
34
+ runUnderReviewInterval: number;
35
+ };
36
+ export type PollCiGreenlightHttpAbortReason = "4XX-client-error" | "404-run-not-found" | "5XX-server-error" | "XXX-other-http-code";
37
+ export type PollCiGreenlightNonHttpAbortReason = "poll-timed-out" | "run-canceled" | "network-error";
38
+ export type PollCiGreenlightAbortReason = PollCiGreenlightNonHttpAbortReason | PollCiGreenlightHttpAbortReason;
39
+ export type PollCiGreenlightStatus = {
40
+ greenlightStatus: Extract<CiGreenlightStatus, {
41
+ runStage: "completed";
42
+ }>;
43
+ /**
44
+ * No blocking bugs were found in the run.
45
+ */
46
+ outcome: "success";
47
+ } | {
48
+ greenlightStatus: Extract<CiGreenlightStatus, {
49
+ runStage: "completed";
50
+ }>;
51
+ /**
52
+ * Blocking bugs were found in the run.
53
+ */
54
+ outcome: "failed";
55
+ } | {
56
+ abortReason: PollCiGreenlightHttpAbortReason;
57
+ httpStatus: number;
58
+ /**
59
+ * The run was aborted due to an unrecoverable error.
60
+ */
61
+ outcome: "aborted";
62
+ } | {
63
+ abortReason: PollCiGreenlightNonHttpAbortReason;
64
+ httpStatus: undefined;
65
+ /**
66
+ * The run was aborted due to an unrecoverable error.
67
+ */
68
+ outcome: "aborted";
69
+ };
70
+ export type PollCiGreenlightParams = {
71
+ /**
72
+ * Callback to be called when the lifecycle stage of the run changes.
73
+ */
74
+ onRunStageChanged?: (current: CiGreenlightStatus, previous: CiGreenlightStatus | undefined) => unknown | Promise<unknown>;
75
+ runId: string;
76
+ } & Partial<PollCiGreenlightPollConfig>;
77
+ export declare function pollCiGreenlightStatus(deps: SdkDependencies, apiConfig: ApiConfig, { runId, onRunStageChanged: onRunStageChanged, ...pollConfig }: PollCiGreenlightParams): Promise<PollCiGreenlightStatus>;
78
+ //# sourceMappingURL=poll-ci-greenlight.d.ts.map