shipthis 0.1.9 → 0.1.10

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 (122) hide show
  1. package/dist/AppleBundleIdDetails-CjP5y0cj.js +74 -0
  2. package/dist/AppleBundleIdDetails-CztWY_mT.js +73 -0
  3. package/dist/AppleBundleIdDetails-DKeSAte9.js +73 -0
  4. package/dist/Command-D6rWEZRM.js +204 -0
  5. package/dist/Command-Dn0P_KOV.js +205 -0
  6. package/dist/Command-YJJp90ru.js +204 -0
  7. package/dist/CommandGame-cPaTk1wh.js +8 -0
  8. package/dist/CommandGame-k04mHiDl.js +8 -0
  9. package/dist/CommandGame-pI9VXKxi.js +8 -0
  10. package/dist/CreateKeystore-BnNdeDUa.js +57 -0
  11. package/dist/CreateKeystore-Cf-nsK_M.js +56 -0
  12. package/dist/CreateKeystore-g1z6DsU5.js +56 -0
  13. package/dist/JobProgress-CPkWVSlH.js +108 -0
  14. package/dist/JobProgress-biiLhigg.js +109 -0
  15. package/dist/JobProgress-jmGAzvxS.js +108 -0
  16. package/dist/JobStatusTable-BA_q-kgE.js +75 -0
  17. package/dist/JobStatusTable-ByW0bN6c.js +75 -0
  18. package/dist/JobStatusTable-CgaTS7jS.js +75 -0
  19. package/dist/ProjectCredentialsTable-8kXt7sTS.js +37 -0
  20. package/dist/ProjectCredentialsTable-DRMK_SNw.js +37 -0
  21. package/dist/ProjectCredentialsTable-DfkpvTf8.js +37 -0
  22. package/dist/UserCredentialsTable-DMh8Wpy7.js +82 -0
  23. package/dist/UserCredentialsTable-DgHZJSHG.js +82 -0
  24. package/dist/UserCredentialsTable-TflQvTEP.js +82 -0
  25. package/dist/baseAppleCommand-1isaFxCQ.js +10 -0
  26. package/dist/baseAppleCommand-B9wyIqdL.js +10 -0
  27. package/dist/baseAppleCommand-DpasCbje.js +10 -0
  28. package/dist/baseGameAndroidCommand-6vsMpE7a.js +43 -0
  29. package/dist/baseGameAndroidCommand-B3LRG701.js +43 -0
  30. package/dist/baseGameAndroidCommand-C9BuS2Sr.js +43 -0
  31. package/dist/commands/apple/apiKey/create.js +7 -7
  32. package/dist/commands/apple/apiKey/export.js +6 -6
  33. package/dist/commands/apple/apiKey/import.js +6 -6
  34. package/dist/commands/apple/apiKey/status.js +5 -5
  35. package/dist/commands/apple/certificate/create.js +7 -7
  36. package/dist/commands/apple/certificate/export.js +6 -6
  37. package/dist/commands/apple/certificate/import.js +6 -6
  38. package/dist/commands/apple/certificate/status.js +5 -5
  39. package/dist/commands/apple/login.js +2 -2
  40. package/dist/commands/apple/status.js +4 -4
  41. package/dist/commands/dashboard.js +1 -1
  42. package/dist/commands/game/android/apiKey/connect.js +8 -8
  43. package/dist/commands/game/android/apiKey/create.js +10 -10
  44. package/dist/commands/game/android/apiKey/export.js +7 -7
  45. package/dist/commands/game/android/apiKey/import.js +7 -7
  46. package/dist/commands/game/android/apiKey/invite.js +4 -4
  47. package/dist/commands/game/android/apiKey/status.js +7 -7
  48. package/dist/commands/game/android/keyStore/create.js +8 -8
  49. package/dist/commands/game/android/keyStore/export.js +6 -6
  50. package/dist/commands/game/android/keyStore/import.js +6 -6
  51. package/dist/commands/game/android/keyStore/status.js +6 -6
  52. package/dist/commands/game/android/status.js +4 -4
  53. package/dist/commands/game/build/download.js +4 -4
  54. package/dist/commands/game/build/list.js +5 -5
  55. package/dist/commands/game/create.js +2 -2
  56. package/dist/commands/game/details.js +21 -7
  57. package/dist/commands/game/export.js +1 -1
  58. package/dist/commands/game/ios/app/addTester.js +5 -5
  59. package/dist/commands/game/ios/app/create.js +4 -4
  60. package/dist/commands/game/ios/app/status.js +7 -7
  61. package/dist/commands/game/ios/app/sync.js +5 -5
  62. package/dist/commands/game/ios/profile/create.js +7 -7
  63. package/dist/commands/game/ios/profile/export.js +6 -6
  64. package/dist/commands/game/ios/profile/import.js +6 -6
  65. package/dist/commands/game/ios/profile/status.js +6 -6
  66. package/dist/commands/game/ios/status.js +7 -7
  67. package/dist/commands/game/ios/wizard.js +2 -2
  68. package/dist/commands/game/job/list.js +4 -4
  69. package/dist/commands/game/job/status.js +7 -7
  70. package/dist/commands/game/list.js +4 -4
  71. package/dist/commands/game/ship.js +9 -9
  72. package/dist/commands/game/status.js +4 -4
  73. package/dist/commands/game/wizard.js +490 -34
  74. package/dist/commands/internal/fastlane.js +1 -1
  75. package/dist/commands/internal/readme.js +255 -770
  76. package/dist/commands/login.js +2 -2
  77. package/dist/commands/status.js +4 -4
  78. package/dist/export-B_F6vXIK.js +36 -0
  79. package/dist/export-C_lu1FD9.js +36 -0
  80. package/dist/export-rS9o87LD.js +36 -0
  81. package/dist/import-7T3J63j2.js +38 -0
  82. package/dist/import-Brg3zYmT.js +38 -0
  83. package/dist/import-DPbg8WvS.js +38 -0
  84. package/dist/index-BB7X1Pqp.js +695 -0
  85. package/dist/index-BQnkBr1Q.js +136 -0
  86. package/dist/index-BX9h2vPV.js +123 -0
  87. package/dist/index-BjGSEqP5.js +135 -0
  88. package/dist/index-Bv3x8c78.js +693 -0
  89. package/dist/index-ByOvCs4O.js +122 -0
  90. package/dist/index-BzffuqPa.js +24 -0
  91. package/dist/index-C9734Cj2.js +693 -0
  92. package/dist/index-CKYExssR.js +136 -0
  93. package/dist/index-Cz_KLwWf.js +136 -0
  94. package/dist/index-DOgF4dFK.js +24 -0
  95. package/dist/index-DgbQBx6x.js +122 -0
  96. package/dist/index-DxHPjZav.js +136 -0
  97. package/dist/index-m4HTrJ5J.js +135 -0
  98. package/dist/upload-2naN75Zu.js +60 -0
  99. package/dist/upload-Cx71802W.js +60 -0
  100. package/dist/upload-DvAE1vDq.js +60 -0
  101. package/dist/useAndroidServiceAccountTestResult-BDc7XpKE.js +52 -0
  102. package/dist/useAndroidServiceAccountTestResult-B_ekRewZ.js +52 -0
  103. package/dist/useAndroidServiceAccountTestResult-Ce1x0Eh8.js +52 -0
  104. package/dist/useAppleApp-BEtLQa7n.js +32 -0
  105. package/dist/useAppleApp-CApC0-4Q.js +32 -0
  106. package/dist/useAppleApp-CETIcsJS.js +32 -0
  107. package/dist/useAppleBundleId-DXbMDRLd.js +64 -0
  108. package/dist/useAppleBundleId-SmzY6rkm.js +64 -0
  109. package/dist/useAppleBundleId-gPBzJwQg.js +64 -0
  110. package/dist/useJobWatching-BIG6fnTN.js +45 -0
  111. package/dist/useJobWatching-Cp-CYd90.js +45 -0
  112. package/dist/useJobWatching-D-YzSlK8.js +45 -0
  113. package/dist/useProjectCredentials-CKngz2rd.js +54 -0
  114. package/dist/useProjectCredentials-EapDge1I.js +54 -0
  115. package/dist/useProjectCredentials-vjedBbKl.js +54 -0
  116. package/dist/useWebSocket-Bep1zAVG.js +36 -0
  117. package/dist/useWebSocket-CBqsjHbt.js +36 -0
  118. package/dist/useWebSocket-rBLiZsKb.js +36 -0
  119. package/dist/wizard-ChPegnMW.js +133 -0
  120. package/npm-shrinkwrap.json +251 -223
  121. package/oclif.manifest.json +256 -220
  122. package/package.json +2 -4
@@ -0,0 +1,60 @@
1
+ import axios from 'axios';
2
+ import { p as getAuthedHeaders, q as API_URL } from './index-BB7X1Pqp.js';
3
+
4
+ async function getNewUploadTicket(projectId = null) {
5
+ const url = projectId ? `${API_URL}/projects/${projectId}/credentials/url` : `${API_URL}/credentials/url`;
6
+ const headers = getAuthedHeaders();
7
+ const { data: uploadInfo } = await axios({
8
+ method: "post",
9
+ url,
10
+ headers
11
+ });
12
+ return uploadInfo;
13
+ }
14
+ async function uploadUserCredentials({ contents, platform, type, serialNumber }) {
15
+ const uploadInfo = await getNewUploadTicket();
16
+ const jsonBuffer = Buffer.from(JSON.stringify(contents));
17
+ await axios.put(uploadInfo.url, jsonBuffer, {
18
+ headers: {
19
+ "Content-length": jsonBuffer.length,
20
+ "Content-Type": "application/json"
21
+ }
22
+ });
23
+ const headers = getAuthedHeaders();
24
+ return await axios({
25
+ method: "post",
26
+ url: `${API_URL}/credentials`,
27
+ headers,
28
+ data: {
29
+ platform,
30
+ type,
31
+ uuid: uploadInfo.uuid,
32
+ serialNumber
33
+ }
34
+ });
35
+ }
36
+ async function uploadProjectCredentials(projectId, { contents, platform, type, serialNumber, identifier }) {
37
+ const uploadInfo = await getNewUploadTicket(projectId);
38
+ const jsonBuffer = Buffer.from(JSON.stringify(contents));
39
+ await axios.put(uploadInfo.url, jsonBuffer, {
40
+ headers: {
41
+ "Content-length": jsonBuffer.length,
42
+ "Content-Type": "application/json"
43
+ }
44
+ });
45
+ const headers = getAuthedHeaders();
46
+ return await axios({
47
+ method: "post",
48
+ url: `${API_URL}/projects/${projectId}/credentials`,
49
+ headers,
50
+ data: {
51
+ platform,
52
+ type,
53
+ uuid: uploadInfo.uuid,
54
+ identifier,
55
+ serialNumber
56
+ }
57
+ });
58
+ }
59
+
60
+ export { uploadProjectCredentials as a, uploadUserCredentials as u };
@@ -0,0 +1,60 @@
1
+ import axios from 'axios';
2
+ import { o as getAuthedHeaders, p as API_URL } from './index-C9734Cj2.js';
3
+
4
+ async function getNewUploadTicket(projectId = null) {
5
+ const url = projectId ? `${API_URL}/projects/${projectId}/credentials/url` : `${API_URL}/credentials/url`;
6
+ const headers = getAuthedHeaders();
7
+ const { data: uploadInfo } = await axios({
8
+ method: "post",
9
+ url,
10
+ headers
11
+ });
12
+ return uploadInfo;
13
+ }
14
+ async function uploadUserCredentials({ contents, platform, type, serialNumber }) {
15
+ const uploadInfo = await getNewUploadTicket();
16
+ const jsonBuffer = Buffer.from(JSON.stringify(contents));
17
+ await axios.put(uploadInfo.url, jsonBuffer, {
18
+ headers: {
19
+ "Content-length": jsonBuffer.length,
20
+ "Content-Type": "application/json"
21
+ }
22
+ });
23
+ const headers = getAuthedHeaders();
24
+ return await axios({
25
+ method: "post",
26
+ url: `${API_URL}/credentials`,
27
+ headers,
28
+ data: {
29
+ platform,
30
+ type,
31
+ uuid: uploadInfo.uuid,
32
+ serialNumber
33
+ }
34
+ });
35
+ }
36
+ async function uploadProjectCredentials(projectId, { contents, platform, type, serialNumber, identifier }) {
37
+ const uploadInfo = await getNewUploadTicket(projectId);
38
+ const jsonBuffer = Buffer.from(JSON.stringify(contents));
39
+ await axios.put(uploadInfo.url, jsonBuffer, {
40
+ headers: {
41
+ "Content-length": jsonBuffer.length,
42
+ "Content-Type": "application/json"
43
+ }
44
+ });
45
+ const headers = getAuthedHeaders();
46
+ return await axios({
47
+ method: "post",
48
+ url: `${API_URL}/projects/${projectId}/credentials`,
49
+ headers,
50
+ data: {
51
+ platform,
52
+ type,
53
+ uuid: uploadInfo.uuid,
54
+ identifier,
55
+ serialNumber
56
+ }
57
+ });
58
+ }
59
+
60
+ export { uploadProjectCredentials as a, uploadUserCredentials as u };
@@ -0,0 +1,60 @@
1
+ import axios from 'axios';
2
+ import { p as getAuthedHeaders, q as API_URL } from './index-Bv3x8c78.js';
3
+
4
+ async function getNewUploadTicket(projectId = null) {
5
+ const url = projectId ? `${API_URL}/projects/${projectId}/credentials/url` : `${API_URL}/credentials/url`;
6
+ const headers = getAuthedHeaders();
7
+ const { data: uploadInfo } = await axios({
8
+ method: "post",
9
+ url,
10
+ headers
11
+ });
12
+ return uploadInfo;
13
+ }
14
+ async function uploadUserCredentials({ contents, platform, type, serialNumber }) {
15
+ const uploadInfo = await getNewUploadTicket();
16
+ const jsonBuffer = Buffer.from(JSON.stringify(contents));
17
+ await axios.put(uploadInfo.url, jsonBuffer, {
18
+ headers: {
19
+ "Content-length": jsonBuffer.length,
20
+ "Content-Type": "application/json"
21
+ }
22
+ });
23
+ const headers = getAuthedHeaders();
24
+ return await axios({
25
+ method: "post",
26
+ url: `${API_URL}/credentials`,
27
+ headers,
28
+ data: {
29
+ platform,
30
+ type,
31
+ uuid: uploadInfo.uuid,
32
+ serialNumber
33
+ }
34
+ });
35
+ }
36
+ async function uploadProjectCredentials(projectId, { contents, platform, type, serialNumber, identifier }) {
37
+ const uploadInfo = await getNewUploadTicket(projectId);
38
+ const jsonBuffer = Buffer.from(JSON.stringify(contents));
39
+ await axios.put(uploadInfo.url, jsonBuffer, {
40
+ headers: {
41
+ "Content-length": jsonBuffer.length,
42
+ "Content-Type": "application/json"
43
+ }
44
+ });
45
+ const headers = getAuthedHeaders();
46
+ return await axios({
47
+ method: "post",
48
+ url: `${API_URL}/projects/${projectId}/credentials`,
49
+ headers,
50
+ data: {
51
+ platform,
52
+ type,
53
+ uuid: uploadInfo.uuid,
54
+ identifier,
55
+ serialNumber
56
+ }
57
+ });
58
+ }
59
+
60
+ export { uploadProjectCredentials as a, uploadUserCredentials as u };
@@ -0,0 +1,52 @@
1
+ import { p as getAuthedHeaders, q as API_URL } from './index-Bv3x8c78.js';
2
+ import axios from 'axios';
3
+ import { useQuery } from '@tanstack/react-query';
4
+
5
+ const cacheKeys = {
6
+ androidKeyTestResult: (props) => ["androidKeyTestResult", ...Object.values(props)],
7
+ androidSetupStatus: (props) => ["androidSetupStatus", ...Object.values(props)],
8
+ builds: (props) => ["builds", ...Object.values(props)],
9
+ googleStatus: () => ["googleStatus"],
10
+ job: (props) => ["job", ...Object.values(props)],
11
+ jobLogs: (props) => ["jobLogs", ...Object.values(props)],
12
+ jobs: (props) => ["jobs", ...Object.values(props)],
13
+ projectCredentials: (props) => ["projectCredentials", ...Object.values(props)],
14
+ userCredentials: (props) => ["userCredentials", ...Object.values(props)]
15
+ };
16
+
17
+ var KeyTestStatus = /* @__PURE__ */ ((KeyTestStatus2) => {
18
+ KeyTestStatus2["SUCCESS"] = "success";
19
+ KeyTestStatus2["ERROR"] = "error";
20
+ return KeyTestStatus2;
21
+ })(KeyTestStatus || {});
22
+ var KeyTestError = /* @__PURE__ */ ((KeyTestError2) => {
23
+ KeyTestError2["NO_SERVICE_ACCOUNT_KEY"] = "no_service_account_key";
24
+ KeyTestError2["NO_PACKAGE_NAME"] = "no_package_name";
25
+ KeyTestError2["APP_NOT_FOUND"] = "app_not_found";
26
+ KeyTestError2["NOT_INVITED"] = "not_invited";
27
+ return KeyTestError2;
28
+ })(KeyTestError || {});
29
+ const KeyTestErrorMessage = {
30
+ ["no_service_account_key" /* NO_SERVICE_ACCOUNT_KEY */]: "Service Account API Key not found in your account",
31
+ ["no_package_name" /* NO_PACKAGE_NAME */]: "Android Package Name has not been set",
32
+ ["app_not_found" /* APP_NOT_FOUND */]: "Application not found in Google Play Console",
33
+ ["not_invited" /* NOT_INVITED */]: "Service Account has not been invited to Google Play"
34
+ };
35
+ function niceError(keyError) {
36
+ return keyError ? KeyTestErrorMessage[keyError] : void 0;
37
+ }
38
+ const fetchKeyTestResult = async ({ projectId }, config) => {
39
+ if (!projectId) throw new Error("projectId is required");
40
+ const url = `${API_URL}/projects/${projectId}/credentials/android/key/test`;
41
+ const headers = getAuthedHeaders();
42
+ const { data } = await axios.post(url, {}, { headers, ...config });
43
+ return data;
44
+ };
45
+ const useAndroidServiceAccountTestResult = (props) => {
46
+ return useQuery({
47
+ queryKey: cacheKeys.androidKeyTestResult(props),
48
+ queryFn: () => fetchKeyTestResult(props)
49
+ });
50
+ };
51
+
52
+ export { KeyTestStatus as K, KeyTestError as a, cacheKeys as c, fetchKeyTestResult as f, niceError as n, useAndroidServiceAccountTestResult as u };
@@ -0,0 +1,52 @@
1
+ import { o as getAuthedHeaders, p as API_URL } from './index-C9734Cj2.js';
2
+ import axios from 'axios';
3
+ import { useQuery } from '@tanstack/react-query';
4
+
5
+ const cacheKeys = {
6
+ androidKeyTestResult: (props) => ["androidKeyTestResult", ...Object.values(props)],
7
+ androidSetupStatus: (props) => ["androidSetupStatus", ...Object.values(props)],
8
+ builds: (props) => ["builds", ...Object.values(props)],
9
+ googleStatus: () => ["googleStatus"],
10
+ job: (props) => ["job", ...Object.values(props)],
11
+ jobLogs: (props) => ["jobLogs", ...Object.values(props)],
12
+ jobs: (props) => ["jobs", ...Object.values(props)],
13
+ projectCredentials: (props) => ["projectCredentials", ...Object.values(props)],
14
+ userCredentials: (props) => ["userCredentials", ...Object.values(props)]
15
+ };
16
+
17
+ var KeyTestStatus = /* @__PURE__ */ ((KeyTestStatus2) => {
18
+ KeyTestStatus2["SUCCESS"] = "success";
19
+ KeyTestStatus2["ERROR"] = "error";
20
+ return KeyTestStatus2;
21
+ })(KeyTestStatus || {});
22
+ var KeyTestError = /* @__PURE__ */ ((KeyTestError2) => {
23
+ KeyTestError2["NO_SERVICE_ACCOUNT_KEY"] = "no_service_account_key";
24
+ KeyTestError2["NO_PACKAGE_NAME"] = "no_package_name";
25
+ KeyTestError2["APP_NOT_FOUND"] = "app_not_found";
26
+ KeyTestError2["NOT_INVITED"] = "not_invited";
27
+ return KeyTestError2;
28
+ })(KeyTestError || {});
29
+ const KeyTestErrorMessage = {
30
+ ["no_service_account_key" /* NO_SERVICE_ACCOUNT_KEY */]: "Service Account API Key not found in your account",
31
+ ["no_package_name" /* NO_PACKAGE_NAME */]: "Android Package Name has not been set",
32
+ ["app_not_found" /* APP_NOT_FOUND */]: "Application not found in Google Play Console",
33
+ ["not_invited" /* NOT_INVITED */]: "Service Account has not been invited to Google Play"
34
+ };
35
+ function niceError(keyError) {
36
+ return keyError ? KeyTestErrorMessage[keyError] : undefined;
37
+ }
38
+ const fetchKeyTestResult = async ({ projectId }, config) => {
39
+ if (!projectId) throw new Error("projectId is required");
40
+ const url = `${API_URL}/projects/${projectId}/credentials/android/key/test`;
41
+ const headers = getAuthedHeaders();
42
+ const { data } = await axios.post(url, {}, { headers, ...config });
43
+ return data;
44
+ };
45
+ const useAndroidServiceAccountTestResult = (props) => {
46
+ return useQuery({
47
+ queryKey: cacheKeys.androidKeyTestResult(props),
48
+ queryFn: () => fetchKeyTestResult(props)
49
+ });
50
+ };
51
+
52
+ export { KeyTestStatus as K, KeyTestError as a, cacheKeys as c, fetchKeyTestResult as f, niceError as n, useAndroidServiceAccountTestResult as u };
@@ -0,0 +1,52 @@
1
+ import { p as getAuthedHeaders, q as API_URL } from './index-BB7X1Pqp.js';
2
+ import axios from 'axios';
3
+ import { useQuery } from '@tanstack/react-query';
4
+
5
+ const cacheKeys = {
6
+ androidKeyTestResult: (props) => ["androidKeyTestResult", ...Object.values(props)],
7
+ androidSetupStatus: (props) => ["androidSetupStatus", ...Object.values(props)],
8
+ builds: (props) => ["builds", ...Object.values(props)],
9
+ googleStatus: () => ["googleStatus"],
10
+ job: (props) => ["job", ...Object.values(props)],
11
+ jobLogs: (props) => ["jobLogs", ...Object.values(props)],
12
+ jobs: (props) => ["jobs", ...Object.values(props)],
13
+ projectCredentials: (props) => ["projectCredentials", ...Object.values(props)],
14
+ userCredentials: (props) => ["userCredentials", ...Object.values(props)]
15
+ };
16
+
17
+ var KeyTestStatus = /* @__PURE__ */ ((KeyTestStatus2) => {
18
+ KeyTestStatus2["SUCCESS"] = "success";
19
+ KeyTestStatus2["ERROR"] = "error";
20
+ return KeyTestStatus2;
21
+ })(KeyTestStatus || {});
22
+ var KeyTestError = /* @__PURE__ */ ((KeyTestError2) => {
23
+ KeyTestError2["NO_SERVICE_ACCOUNT_KEY"] = "no_service_account_key";
24
+ KeyTestError2["NO_PACKAGE_NAME"] = "no_package_name";
25
+ KeyTestError2["APP_NOT_FOUND"] = "app_not_found";
26
+ KeyTestError2["NOT_INVITED"] = "not_invited";
27
+ return KeyTestError2;
28
+ })(KeyTestError || {});
29
+ const KeyTestErrorMessage = {
30
+ ["no_service_account_key" /* NO_SERVICE_ACCOUNT_KEY */]: "Service Account API Key not found in your account",
31
+ ["no_package_name" /* NO_PACKAGE_NAME */]: "Android Package Name has not been set",
32
+ ["app_not_found" /* APP_NOT_FOUND */]: "Application not found in Google Play Console",
33
+ ["not_invited" /* NOT_INVITED */]: "Service Account has not been invited to Google Play"
34
+ };
35
+ function niceError(keyError) {
36
+ return keyError ? KeyTestErrorMessage[keyError] : void 0;
37
+ }
38
+ const fetchKeyTestResult = async ({ projectId }, config) => {
39
+ if (!projectId) throw new Error("projectId is required");
40
+ const url = `${API_URL}/projects/${projectId}/credentials/android/key/test`;
41
+ const headers = getAuthedHeaders();
42
+ const { data } = await axios.post(url, {}, { headers, ...config });
43
+ return data;
44
+ };
45
+ const useAndroidServiceAccountTestResult = (props) => {
46
+ return useQuery({
47
+ queryKey: cacheKeys.androidKeyTestResult(props),
48
+ queryFn: () => fetchKeyTestResult(props)
49
+ });
50
+ };
51
+
52
+ export { KeyTestStatus as K, KeyTestError as a, cacheKeys as c, fetchKeyTestResult as f, niceError as n, useAndroidServiceAccountTestResult as u };
@@ -0,0 +1,32 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { f as App } from './index-BB7X1Pqp.js';
3
+
4
+ const queryAppleApp = async ({ ctx, iosBundleId }) => {
5
+ if (!iosBundleId) {
6
+ return { app: null, summary: null };
7
+ }
8
+ const app = await App.findAsync(ctx, {
9
+ bundleId: iosBundleId
10
+ });
11
+ if (!app) {
12
+ return { app: null, summary: null };
13
+ }
14
+ return {
15
+ app,
16
+ summary: {
17
+ id: app.id,
18
+ name: app.attributes.name,
19
+ bundleId: app.attributes.bundleId,
20
+ primaryLocale: app.attributes.primaryLocale
21
+ }
22
+ };
23
+ };
24
+ const useAppleApp = (props) => {
25
+ const queryResult = useQuery({
26
+ queryKey: ["appleApp", props.iosBundleId],
27
+ queryFn: () => queryAppleApp(props)
28
+ });
29
+ return queryResult;
30
+ };
31
+
32
+ export { queryAppleApp as q, useAppleApp as u };
@@ -0,0 +1,32 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { f as App } from './index-C9734Cj2.js';
3
+
4
+ const queryAppleApp = async ({ ctx, iosBundleId }) => {
5
+ if (!iosBundleId) {
6
+ return { app: null, summary: null };
7
+ }
8
+ const app = await App.findAsync(ctx, {
9
+ bundleId: iosBundleId
10
+ });
11
+ if (!app) {
12
+ return { app: null, summary: null };
13
+ }
14
+ return {
15
+ app,
16
+ summary: {
17
+ id: app.id,
18
+ name: app.attributes.name,
19
+ bundleId: app.attributes.bundleId,
20
+ primaryLocale: app.attributes.primaryLocale
21
+ }
22
+ };
23
+ };
24
+ const useAppleApp = (props) => {
25
+ const queryResult = useQuery({
26
+ queryKey: ["appleApp", props.iosBundleId],
27
+ queryFn: () => queryAppleApp(props)
28
+ });
29
+ return queryResult;
30
+ };
31
+
32
+ export { queryAppleApp as q, useAppleApp as u };
@@ -0,0 +1,32 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { f as App } from './index-Bv3x8c78.js';
3
+
4
+ const queryAppleApp = async ({ ctx, iosBundleId }) => {
5
+ if (!iosBundleId) {
6
+ return { app: null, summary: null };
7
+ }
8
+ const app = await App.findAsync(ctx, {
9
+ bundleId: iosBundleId
10
+ });
11
+ if (!app) {
12
+ return { app: null, summary: null };
13
+ }
14
+ return {
15
+ app,
16
+ summary: {
17
+ id: app.id,
18
+ name: app.attributes.name,
19
+ bundleId: app.attributes.bundleId,
20
+ primaryLocale: app.attributes.primaryLocale
21
+ }
22
+ };
23
+ };
24
+ const useAppleApp = (props) => {
25
+ const queryResult = useQuery({
26
+ queryKey: ["appleApp", props.iosBundleId],
27
+ queryFn: () => queryAppleApp(props)
28
+ });
29
+ return queryResult;
30
+ };
31
+
32
+ export { queryAppleApp as q, useAppleApp as u };
@@ -0,0 +1,64 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { e as BundleId, r as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, s as CapabilityType } from './index-BB7X1Pqp.js';
3
+
4
+ async function getBundleIdCapabilities(bundleId) {
5
+ const current = await bundleId.getBundleIdCapabilitiesAsync();
6
+ let existing = [];
7
+ for (const capability of current) {
8
+ const capabilityType = Object.values(CapabilityType).find((c) => capability.isType(c));
9
+ if (capabilityType) {
10
+ existing.push(capabilityType);
11
+ }
12
+ }
13
+ return existing;
14
+ }
15
+ const fetchBundleId = async ({ ctx, iosBundleId }) => {
16
+ const empty = {
17
+ bundleId: null,
18
+ bundleIdSummary: null,
19
+ capabilities: null,
20
+ capabilitiesTable: null,
21
+ projectCapabilities: null,
22
+ shouldSyncCapabilities: null
23
+ };
24
+ if (!iosBundleId) return empty;
25
+ const bundleId = await BundleId.findAsync(ctx, {
26
+ identifier: iosBundleId
27
+ });
28
+ if (!bundleId) return empty;
29
+ const bundleIdCapabilities = await getBundleIdCapabilities(bundleId);
30
+ const projectCapabilities = getGodotProjectCapabilities(Platform.IOS);
31
+ const capabilitiesTable = GODOT_CAPABILITIES.map((gc) => {
32
+ const isEnabledInBundle = bundleIdCapabilities.includes(gc.type);
33
+ const isEnabledInProject = projectCapabilities.includes(gc.type);
34
+ const isCorrectlyConfigured = isEnabledInBundle === isEnabledInProject;
35
+ return {
36
+ name: gc.name,
37
+ isEnabledInBundle,
38
+ isEnabledInProject,
39
+ isCorrectlyConfigured
40
+ };
41
+ });
42
+ return {
43
+ bundleId,
44
+ bundleIdSummary: {
45
+ id: bundleId.id,
46
+ identifier: bundleId.attributes.identifier,
47
+ name: bundleId.attributes.name,
48
+ platform: bundleId.attributes.platform
49
+ },
50
+ capabilities: bundleIdCapabilities,
51
+ capabilitiesTable,
52
+ projectCapabilities,
53
+ shouldSyncCapabilities: !capabilitiesTable.every((c) => c.isCorrectlyConfigured)
54
+ };
55
+ };
56
+ const useAppleBundleId = (props) => {
57
+ const queryResult = useQuery({
58
+ queryKey: ["appleBundleId", props.iosBundleId],
59
+ queryFn: () => fetchBundleId(props)
60
+ });
61
+ return queryResult;
62
+ };
63
+
64
+ export { fetchBundleId as f, useAppleBundleId as u };
@@ -0,0 +1,64 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { e as BundleId, r as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, s as CapabilityType } from './index-Bv3x8c78.js';
3
+
4
+ async function getBundleIdCapabilities(bundleId) {
5
+ const current = await bundleId.getBundleIdCapabilitiesAsync();
6
+ let existing = [];
7
+ for (const capability of current) {
8
+ const capabilityType = Object.values(CapabilityType).find((c) => capability.isType(c));
9
+ if (capabilityType) {
10
+ existing.push(capabilityType);
11
+ }
12
+ }
13
+ return existing;
14
+ }
15
+ const fetchBundleId = async ({ ctx, iosBundleId }) => {
16
+ const empty = {
17
+ bundleId: null,
18
+ bundleIdSummary: null,
19
+ capabilities: null,
20
+ capabilitiesTable: null,
21
+ projectCapabilities: null,
22
+ shouldSyncCapabilities: null
23
+ };
24
+ if (!iosBundleId) return empty;
25
+ const bundleId = await BundleId.findAsync(ctx, {
26
+ identifier: iosBundleId
27
+ });
28
+ if (!bundleId) return empty;
29
+ const bundleIdCapabilities = await getBundleIdCapabilities(bundleId);
30
+ const projectCapabilities = getGodotProjectCapabilities(Platform.IOS);
31
+ const capabilitiesTable = GODOT_CAPABILITIES.map((gc) => {
32
+ const isEnabledInBundle = bundleIdCapabilities.includes(gc.type);
33
+ const isEnabledInProject = projectCapabilities.includes(gc.type);
34
+ const isCorrectlyConfigured = isEnabledInBundle === isEnabledInProject;
35
+ return {
36
+ name: gc.name,
37
+ isEnabledInBundle,
38
+ isEnabledInProject,
39
+ isCorrectlyConfigured
40
+ };
41
+ });
42
+ return {
43
+ bundleId,
44
+ bundleIdSummary: {
45
+ id: bundleId.id,
46
+ identifier: bundleId.attributes.identifier,
47
+ name: bundleId.attributes.name,
48
+ platform: bundleId.attributes.platform
49
+ },
50
+ capabilities: bundleIdCapabilities,
51
+ capabilitiesTable,
52
+ projectCapabilities,
53
+ shouldSyncCapabilities: !capabilitiesTable.every((c) => c.isCorrectlyConfigured)
54
+ };
55
+ };
56
+ const useAppleBundleId = (props) => {
57
+ const queryResult = useQuery({
58
+ queryKey: ["appleBundleId", props.iosBundleId],
59
+ queryFn: () => fetchBundleId(props)
60
+ });
61
+ return queryResult;
62
+ };
63
+
64
+ export { fetchBundleId as f, useAppleBundleId as u };
@@ -0,0 +1,64 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { e as BundleId, q as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, r as CapabilityType } from './index-C9734Cj2.js';
3
+
4
+ async function getBundleIdCapabilities(bundleId) {
5
+ const current = await bundleId.getBundleIdCapabilitiesAsync();
6
+ let existing = [];
7
+ for (const capability of current) {
8
+ const capabilityType = Object.values(CapabilityType).find((c) => capability.isType(c));
9
+ if (capabilityType) {
10
+ existing.push(capabilityType);
11
+ }
12
+ }
13
+ return existing;
14
+ }
15
+ const fetchBundleId = async ({ ctx, iosBundleId }) => {
16
+ const empty = {
17
+ bundleId: null,
18
+ bundleIdSummary: null,
19
+ capabilities: null,
20
+ capabilitiesTable: null,
21
+ projectCapabilities: null,
22
+ shouldSyncCapabilities: null
23
+ };
24
+ if (!iosBundleId) return empty;
25
+ const bundleId = await BundleId.findAsync(ctx, {
26
+ identifier: iosBundleId
27
+ });
28
+ if (!bundleId) return empty;
29
+ const bundleIdCapabilities = await getBundleIdCapabilities(bundleId);
30
+ const projectCapabilities = getGodotProjectCapabilities(Platform.IOS);
31
+ const capabilitiesTable = GODOT_CAPABILITIES.map((gc) => {
32
+ const isEnabledInBundle = bundleIdCapabilities.includes(gc.type);
33
+ const isEnabledInProject = projectCapabilities.includes(gc.type);
34
+ const isCorrectlyConfigured = isEnabledInBundle === isEnabledInProject;
35
+ return {
36
+ name: gc.name,
37
+ isEnabledInBundle,
38
+ isEnabledInProject,
39
+ isCorrectlyConfigured
40
+ };
41
+ });
42
+ return {
43
+ bundleId,
44
+ bundleIdSummary: {
45
+ id: bundleId.id,
46
+ identifier: bundleId.attributes.identifier,
47
+ name: bundleId.attributes.name,
48
+ platform: bundleId.attributes.platform
49
+ },
50
+ capabilities: bundleIdCapabilities,
51
+ capabilitiesTable,
52
+ projectCapabilities,
53
+ shouldSyncCapabilities: !capabilitiesTable.every((c) => c.isCorrectlyConfigured)
54
+ };
55
+ };
56
+ const useAppleBundleId = (props) => {
57
+ const queryResult = useQuery({
58
+ queryKey: ["appleBundleId", props.iosBundleId],
59
+ queryFn: () => fetchBundleId(props)
60
+ });
61
+ return queryResult;
62
+ };
63
+
64
+ export { fetchBundleId as f, useAppleBundleId as u };
@@ -0,0 +1,45 @@
1
+ import { u as useJob } from './Command-Dn0P_KOV.js';
2
+ import { useState, useEffect } from 'react';
3
+ import { u as useWebSocket } from './useWebSocket-Bep1zAVG.js';
4
+ import { E as castJobDates, F as castObjectDates } from './index-C9734Cj2.js';
5
+
6
+ function useJobWatching({ projectId, jobId, isWatching, onJobUpdate }) {
7
+ const [websocketJob, setWebsocketJob] = useState(null);
8
+ const [mostRecentLog, setMostRecentLog] = useState(null);
9
+ const jobStatusListener = {
10
+ getPattern: () => [`project.${projectId}:job:created`, `project.${projectId}:job:updated`],
11
+ eventHandler: async (pattern, rawJob) => {
12
+ if (rawJob.id !== jobId) return;
13
+ const job2 = castJobDates(rawJob);
14
+ setWebsocketJob(job2);
15
+ if (onJobUpdate) onJobUpdate(job2);
16
+ }
17
+ };
18
+ const jobProgressListener = {
19
+ getPattern: () => `project.${projectId}:job.${jobId}:log`,
20
+ eventHandler: async (pattern, rawLogEntry) => {
21
+ const logEntry = castObjectDates(rawLogEntry, ["sentAt", "createdAt"]);
22
+ setMostRecentLog(logEntry);
23
+ }
24
+ };
25
+ useWebSocket(isWatching ? [jobStatusListener, jobProgressListener] : []);
26
+ const { isLoading, data: job } = useJob({
27
+ projectId,
28
+ jobId
29
+ });
30
+ useEffect(() => {
31
+ setWebsocketJob(null);
32
+ }, [jobId, projectId, isWatching, job]);
33
+ const fetchedJob = job ? job : null;
34
+ const data = websocketJob ? websocketJob : fetchedJob;
35
+ const progress = mostRecentLog?.progress || null;
36
+ const stage = mostRecentLog?.stage || null;
37
+ return {
38
+ isLoading,
39
+ data,
40
+ progress,
41
+ stage
42
+ };
43
+ }
44
+
45
+ export { useJobWatching as u };