shipthis 0.1.33 → 0.1.35

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 (105) hide show
  1. package/README.md +8 -7
  2. package/assets/markdown/{android-success.md → android-success.md.ejs} +2 -2
  3. package/assets/markdown/apikey-create.md.ejs +11 -0
  4. package/assets/markdown/{create-google-play-game.md → create-google-play-game.md.ejs} +2 -2
  5. package/assets/markdown/{invite-service-account.md → invite-service-account.md.ejs} +1 -1
  6. package/assets/markdown/{ios-success.md → ios-success.md.ejs} +2 -2
  7. package/assets/markdown/{privacy-notification.md → privacy-notification.md.ejs} +1 -1
  8. package/assets/markdown/service-account-policy-wizard.md.ejs +26 -0
  9. package/assets/markdown/service-account-policy.md.ejs +30 -0
  10. package/assets/markdown/{ship-failure.md → ship-failure.md.ejs} +1 -1
  11. package/assets/markdown/{ship-success.md → ship-success.md.ejs} +2 -2
  12. package/dist/{AppleBundleIdDetails-BhHPCvRm.js → AppleBundleIdDetails-N_j1wv6f.js} +5 -4
  13. package/dist/{Command-BDIkuv2g.js → Command-DN1j3tjt.js} +2 -2
  14. package/dist/{CommandGame-CvBIjPZp.js → CommandGame-D2NqytWc.js} +2 -2
  15. package/dist/{Create-Lpe0B8nT.js → Create-BRdv5jXQ.js} +5 -4
  16. package/dist/{GameStatus-5XpufIY_.js → GameStatus-joyHPy0f.js} +12 -17
  17. package/dist/{Import-DFzrAG04.js → Import-BNMHsJoM.js} +5 -4
  18. package/dist/{JobLogTail-BYcJgPcL.js → JobLogTail-D35FO5v-.js} +5 -5
  19. package/dist/{JobProgress-BcrE7CUK.js → JobProgress-D-9KESaA.js} +6 -5
  20. package/dist/{JobStatusTable-Bi-y8ZZT.js → JobStatusTable-DIJ_h-gi.js} +4 -4
  21. package/dist/{ProjectCredentialsTable-B4vDJl4l.js → ProjectCredentialsTable-BMKgv99h.js} +2 -2
  22. package/dist/{RunWithSpinner-gMVA07bZ.js → RunWithSpinner-DucRnFp6.js} +2 -1
  23. package/dist/{UserCredentialsTable-CwkZTFBD.js → UserCredentialsTable-CUrTDzTK.js} +10 -10
  24. package/dist/{baseAppleCommand-BKXweb-U.js → baseAppleCommand-Cs9a52e5.js} +1 -1
  25. package/dist/{baseGameAndroidCommand-CAi-BSsH.js → baseGameAndroidCommand-BCB1SMCf.js} +2 -2
  26. package/dist/commands/apiKey/create.js +100 -0
  27. package/dist/commands/apiKey/list.js +94 -0
  28. package/dist/commands/apiKey/revoke.js +85 -0
  29. package/dist/commands/apple/apiKey/create.js +12 -9
  30. package/dist/commands/apple/apiKey/export.js +11 -8
  31. package/dist/commands/apple/apiKey/import.js +11 -8
  32. package/dist/commands/apple/apiKey/status.js +16 -13
  33. package/dist/commands/apple/certificate/create.js +12 -9
  34. package/dist/commands/apple/certificate/export.js +11 -8
  35. package/dist/commands/apple/certificate/import.js +11 -8
  36. package/dist/commands/apple/certificate/status.js +16 -13
  37. package/dist/commands/apple/login.js +2 -2
  38. package/dist/commands/apple/status.js +8 -5
  39. package/dist/commands/dashboard.js +1 -1
  40. package/dist/commands/game/android/apiKey/connect.js +13 -9
  41. package/dist/commands/game/android/apiKey/create.js +15 -11
  42. package/dist/commands/game/android/apiKey/export.js +12 -9
  43. package/dist/commands/game/android/apiKey/import.js +12 -9
  44. package/dist/commands/game/android/apiKey/invite.js +4 -4
  45. package/dist/commands/game/android/apiKey/policy.js +87 -0
  46. package/dist/commands/game/android/apiKey/status.js +11 -8
  47. package/dist/commands/game/android/keyStore/create.js +13 -10
  48. package/dist/commands/game/android/keyStore/export.js +11 -8
  49. package/dist/commands/game/android/keyStore/import.js +13 -10
  50. package/dist/commands/game/android/keyStore/status.js +10 -7
  51. package/dist/commands/game/android/status.js +1 -1
  52. package/dist/commands/game/build/download.js +9 -6
  53. package/dist/commands/game/build/list.js +9 -6
  54. package/dist/commands/game/create.js +2 -2
  55. package/dist/commands/game/details.js +8 -5
  56. package/dist/commands/game/export.js +1 -1
  57. package/dist/commands/game/ios/app/addTester.js +16 -13
  58. package/dist/commands/game/ios/app/create.js +9 -6
  59. package/dist/commands/game/ios/app/status.js +11 -8
  60. package/dist/commands/game/ios/app/sync.js +10 -7
  61. package/dist/commands/game/ios/profile/create.js +12 -9
  62. package/dist/commands/game/ios/profile/export.js +11 -8
  63. package/dist/commands/game/ios/profile/import.js +11 -8
  64. package/dist/commands/game/ios/profile/status.js +10 -7
  65. package/dist/commands/game/ios/status.js +13 -10
  66. package/dist/commands/game/ios/wizard.js +9 -6
  67. package/dist/commands/game/job/list.js +8 -5
  68. package/dist/commands/game/job/status.js +11 -8
  69. package/dist/commands/game/list.js +15 -10
  70. package/dist/commands/game/ship.js +15 -12
  71. package/dist/commands/game/status.js +10 -7
  72. package/dist/commands/game/wizard.js +24 -20
  73. package/dist/commands/internal/fastlane.js +1 -1
  74. package/dist/commands/internal/readme.js +4 -715
  75. package/dist/commands/login.js +2 -2
  76. package/dist/commands/status.js +14 -14
  77. package/dist/ejs-DirFZbza.js +716 -0
  78. package/dist/{export-DLQrUEBK.js → export-DFCZKNQk.js} +1 -1
  79. package/dist/{import-BoY5e0uJ.js → import-BpGyif-m.js} +1 -1
  80. package/dist/{index-CisLwc7e.js → index-BTXEUd8W.js} +59 -16
  81. package/dist/{index-pj8JVg5X.js → index-BwnzoldS.js} +37 -2
  82. package/dist/{index-B27WJDxn.js → index-CJWMt1s-.js} +1 -1
  83. package/dist/{index-DC0GJtAy.js → index-DlE_SPt3.js} +7 -11
  84. package/dist/{index-DfUg5j06.js → index-hoHfGrjg.js} +33 -33
  85. package/dist/{index-Crv7S0bl.js → index-izrACZbC.js} +1 -1
  86. package/dist/{upload-C8S17EU_.js → upload-D19OQsbn.js} +1 -1
  87. package/dist/{useAndroidServiceAccountTestResult-D4e5AKAZ.js → useAndroidServiceAccountTestResult-CwKeW0ED.js} +1 -1
  88. package/dist/{useAppleApp-Dr6URQvC.js → useAppleApp-BZc_cNa-.js} +1 -1
  89. package/dist/{useAppleBundleId-DELAwSQp.js → useAppleBundleId-DvMXAvWD.js} +1 -1
  90. package/dist/useGoogleStatus-Cx_QIsXa.js +10 -0
  91. package/dist/{useProjectCredentials-BjvdJdQg.js → useProjectCredentials-DxdwJCfU.js} +14 -11
  92. package/dist/{useWebSocket-CRV7V69Q.js → useWebSocket-cM5yOcDv.js} +1 -1
  93. package/docs/README.md +3 -2
  94. package/docs/apiKey/create.md +27 -0
  95. package/docs/apiKey/list.md +30 -0
  96. package/docs/apiKey/revoke.md +26 -0
  97. package/docs/apiKey.md +103 -0
  98. package/docs/game/android/apiKey/policy.md +28 -0
  99. package/docs/game/android/keyStore.md +14 -4
  100. package/docs/game/android/status.md +4 -0
  101. package/docs/game/android.md +9 -305
  102. package/docs/game/ship.md +43 -11
  103. package/docs/game.md +7 -1
  104. package/package.json +11 -3
  105. /package/assets/markdown/{create-or-import-keystore.md → create-or-import-keystore.md.ejs} +0 -0
@@ -0,0 +1,94 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Flags } from '@oclif/core';
3
+ import { render, Box, Text } from 'ink';
4
+ import { B as BaseAuthenticatedCommand, Z as getAPIKeys, b as getShortDate } from '../../index-BwnzoldS.js';
5
+ import 'ink-spinner';
6
+ import { g as getShortUUID } from '../../index-CJWMt1s-.js';
7
+ import { T as Table } from '../../Table-FaNgpyeq.js';
8
+ import 'react';
9
+ import '@tanstack/react-query';
10
+ import 'axios';
11
+ import 'luxon';
12
+ import 'node:fs';
13
+ import 'fast-glob';
14
+ import 'uuid';
15
+ import 'yazl';
16
+ import 'socket.io-client';
17
+ import 'fullscreen-ink';
18
+ import 'string-length';
19
+ import 'strip-ansi';
20
+ import 'open';
21
+ import '@inkjs/ui';
22
+ import 'node:path';
23
+ import '../../ejs-DirFZbza.js';
24
+ import 'marked';
25
+ import 'marked-terminal';
26
+ import 'qrcode';
27
+ import '../../index-hoHfGrjg.js';
28
+ import { C as Command } from '../../Command-DN1j3tjt.js';
29
+ import 'crypto-js';
30
+ import '@expo/apple-utils/build/index.js';
31
+ import 'node:crypto';
32
+ import 'node:readline';
33
+ import 'node:url';
34
+ import 'readline-sync';
35
+ import 'isomorphic-git';
36
+ import 'deepmerge';
37
+ import 'ini';
38
+ import 'fs';
39
+ import 'path';
40
+ import '../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
41
+
42
+ class ApiKeyList extends BaseAuthenticatedCommand {
43
+ static args = {};
44
+ static description = "Displays a list of your ShipThis API keys.";
45
+ static examples = [
46
+ "<%= config.bin %> <%= command.id %>",
47
+ "<%= config.bin %> <%= command.id %> --pageNumber 1",
48
+ "<%= config.bin %> <%= command.id %> --orderBy createdAt --order asc"
49
+ ];
50
+ static flags = {
51
+ order: Flags.string({
52
+ char: "r",
53
+ default: "desc",
54
+ description: "The order to sort by",
55
+ options: ["asc", "desc"]
56
+ }),
57
+ orderBy: Flags.string({
58
+ char: "o",
59
+ default: "createdAt",
60
+ description: "The field to order by",
61
+ options: ["createdAt", "updatedAt", "name"]
62
+ }),
63
+ pageNumber: Flags.integer({ char: "p", default: 0, description: "The page number to show (starts at 0)" }),
64
+ pageSize: Flags.integer({ char: "s", default: 10, description: "The number of items to show per page" })
65
+ };
66
+ async run() {
67
+ const { flags } = this;
68
+ const params = flags;
69
+ const apiKeysListResponse = await getAPIKeys(params);
70
+ const data = apiKeysListResponse.data.map((apiKey) => ({
71
+ expiresAt: getShortDate(apiKey.expiresAt),
72
+ id: getShortUUID(apiKey.id),
73
+ lastUsedAt: apiKey.lastUsedAt ? getShortDate(apiKey.lastUsedAt) : "Never",
74
+ name: apiKey.name,
75
+ revokedAt: apiKey.revokedAt ? getShortDate(apiKey.revokedAt) : "Active"
76
+ }));
77
+ const emptyState = /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
78
+ /* @__PURE__ */ jsx(Text, { children: "No API keys found. Create one now with:" }),
79
+ /* @__PURE__ */ jsx(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1, children: /* @__PURE__ */ jsx(Text, { children: "shipthis apiKey create" }) })
80
+ ] });
81
+ render(
82
+ /* @__PURE__ */ jsxs(Command, { command: this, children: [
83
+ data.length === 0 && params.pageNumber === 0 && emptyState,
84
+ data.length > 0 && /* @__PURE__ */ jsx(Table, { data }),
85
+ apiKeysListResponse.pageCount > 1 && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: 1, children: [
86
+ /* @__PURE__ */ jsx(Text, { children: `Showing page ${flags.pageNumber + 1} of ${apiKeysListResponse.pageCount}.` }),
87
+ /* @__PURE__ */ jsx(Text, { children: "Use the --pageNumber parameter to see other pages." })
88
+ ] })
89
+ ] })
90
+ );
91
+ }
92
+ }
93
+
94
+ export { ApiKeyList as default };
@@ -0,0 +1,85 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { Args, Flags } from '@oclif/core';
3
+ import { render } from 'ink';
4
+ import { B as BaseAuthenticatedCommand, $ as revokeAPIKey } from '../../index-BwnzoldS.js';
5
+ import 'ink-spinner';
6
+ import { g as getShortUUID } from '../../index-CJWMt1s-.js';
7
+ import 'react';
8
+ import '@tanstack/react-query';
9
+ import 'axios';
10
+ import 'luxon';
11
+ import 'node:fs';
12
+ import 'fast-glob';
13
+ import 'uuid';
14
+ import 'yazl';
15
+ import 'socket.io-client';
16
+ import 'fullscreen-ink';
17
+ import 'string-length';
18
+ import 'strip-ansi';
19
+ import 'open';
20
+ import '@inkjs/ui';
21
+ import 'node:path';
22
+ import '../../ejs-DirFZbza.js';
23
+ import 'marked';
24
+ import 'marked-terminal';
25
+ import 'qrcode';
26
+ import { R as RunWithSpinner } from '../../RunWithSpinner-DucRnFp6.js';
27
+ import '../../index-hoHfGrjg.js';
28
+ import { C as Command } from '../../Command-DN1j3tjt.js';
29
+ import 'crypto-js';
30
+ import '@expo/apple-utils/build/index.js';
31
+ import 'node:crypto';
32
+ import 'node:readline';
33
+ import 'node:url';
34
+ import 'readline-sync';
35
+ import 'isomorphic-git';
36
+ import 'deepmerge';
37
+ import 'ini';
38
+ import 'fs';
39
+ import 'path';
40
+ import '../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
41
+
42
+ class ApiKeyRevoke extends BaseAuthenticatedCommand {
43
+ static args = {
44
+ apiKeyId: Args.string({
45
+ description: "The ID of the API key to revoke",
46
+ required: true
47
+ })
48
+ };
49
+ static description = "Revokes a specific ShipThis API key.";
50
+ static examples = [
51
+ "<%= config.bin %> <%= command.id %> abcd1234",
52
+ "<%= config.bin %> <%= command.id %> abcd1234 --quiet"
53
+ ];
54
+ static flags = {
55
+ quiet: Flags.boolean({
56
+ char: "q",
57
+ default: false,
58
+ description: "Suppress output except for errors"
59
+ })
60
+ };
61
+ async run() {
62
+ const revokeKey = async () => {
63
+ const { apiKeyId } = this.args;
64
+ await revokeAPIKey(apiKeyId);
65
+ console.log(`Revoked API key with ID: ${getShortUUID(apiKeyId)}`);
66
+ };
67
+ const handleComplete = async () => {
68
+ process.exit(0);
69
+ };
70
+ if (this.flags.quiet) return await revokeKey();
71
+ render(
72
+ /* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
73
+ RunWithSpinner,
74
+ {
75
+ executeMethod: revokeKey,
76
+ msgComplete: "ShipThis API key revoked successfully",
77
+ msgInProgress: "Revoking ShipThis API key...",
78
+ onComplete: handleComplete
79
+ }
80
+ ) })
81
+ );
82
+ }
83
+ }
84
+
85
+ export { ApiKeyRevoke as default };
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { g as getUserCredentials } from '../../../index-Crv7S0bl.js';
5
- import { P as Platform, C as CredentialsType, A as ApiKey, U as UserRole, a as ApiKeyType } from '../../../index-pj8JVg5X.js';
4
+ import { g as getUserCredentials } from '../../../index-izrACZbC.js';
5
+ import { P as Platform, C as CredentialsType, A as ApiKey, U as UserRole, a as ApiKeyType } from '../../../index-BwnzoldS.js';
6
6
  import 'ink-spinner';
7
7
  import 'node:crypto';
8
8
  import 'node:fs';
@@ -25,19 +25,22 @@ import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
+ import '../../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import 'qrcode';
31
- import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
32
- import '../../../index-DfUg5j06.js';
33
- import { C as Command } from '../../../Command-BDIkuv2g.js';
34
- import { B as BaseAppleCommand } from '../../../baseAppleCommand-BKXweb-U.js';
35
- import { u as uploadUserCredentials } from '../../../upload-C8S17EU_.js';
32
+ import { R as RunWithSpinner } from '../../../RunWithSpinner-DucRnFp6.js';
33
+ import '../../../index-hoHfGrjg.js';
34
+ import { C as Command } from '../../../Command-DN1j3tjt.js';
35
+ import { B as BaseAppleCommand } from '../../../baseAppleCommand-Cs9a52e5.js';
36
+ import { u as uploadUserCredentials } from '../../../upload-D19OQsbn.js';
36
37
  import '@expo/apple-utils/build/index.js';
37
38
  import 'deepmerge';
38
39
  import 'ini';
39
- import '../../../index-B27WJDxn.js';
40
- import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
40
+ import 'fs';
41
+ import 'path';
42
+ import '../../../index-CJWMt1s-.js';
43
+ import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
41
44
 
42
45
  class AppleApiKeyCreate extends BaseAppleCommand {
43
46
  static args = {};
@@ -2,8 +2,8 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import * as fs from 'node:fs';
3
3
  import { Args, Flags } from '@oclif/core';
4
4
  import { render } from 'ink';
5
- import { g as getUserCredentials } from '../../../index-Crv7S0bl.js';
6
- import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-pj8JVg5X.js';
5
+ import { g as getUserCredentials } from '../../../index-izrACZbC.js';
6
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-BwnzoldS.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -25,18 +25,21 @@ import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
+ import '../../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import 'qrcode';
31
- import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
32
- import '../../../index-DfUg5j06.js';
33
- import { C as Command } from '../../../Command-BDIkuv2g.js';
34
- import { e as exportCredential } from '../../../export-DLQrUEBK.js';
32
+ import { R as RunWithSpinner } from '../../../RunWithSpinner-DucRnFp6.js';
33
+ import '../../../index-hoHfGrjg.js';
34
+ import { C as Command } from '../../../Command-DN1j3tjt.js';
35
+ import { e as exportCredential } from '../../../export-DFCZKNQk.js';
35
36
  import '@expo/apple-utils/build/index.js';
36
37
  import 'deepmerge';
37
38
  import 'ini';
38
- import '../../../index-B27WJDxn.js';
39
- import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
+ import 'fs';
40
+ import 'path';
41
+ import '../../../index-CJWMt1s-.js';
42
+ import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
40
43
 
41
44
  class AppleApiKeyExport extends BaseAuthenticatedCommand {
42
45
  static args = {
@@ -2,8 +2,8 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import * as fs from 'node:fs';
3
3
  import { Args, Flags } from '@oclif/core';
4
4
  import { render } from 'ink';
5
- import { g as getUserCredentials } from '../../../index-Crv7S0bl.js';
6
- import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-pj8JVg5X.js';
5
+ import { g as getUserCredentials } from '../../../index-izrACZbC.js';
6
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-BwnzoldS.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -25,18 +25,21 @@ import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
+ import '../../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import 'qrcode';
31
- import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
32
- import '../../../index-DfUg5j06.js';
33
- import { C as Command } from '../../../Command-BDIkuv2g.js';
34
- import { i as importCredential } from '../../../import-BoY5e0uJ.js';
32
+ import { R as RunWithSpinner } from '../../../RunWithSpinner-DucRnFp6.js';
33
+ import '../../../index-hoHfGrjg.js';
34
+ import { C as Command } from '../../../Command-DN1j3tjt.js';
35
+ import { i as importCredential } from '../../../import-BpGyif-m.js';
35
36
  import '@expo/apple-utils/build/index.js';
36
37
  import 'deepmerge';
37
38
  import 'ini';
38
- import '../../../index-B27WJDxn.js';
39
- import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
+ import 'fs';
40
+ import 'path';
41
+ import '../../../index-CJWMt1s-.js';
42
+ import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
40
43
 
41
44
  class AppleApiKeyImport extends BaseAuthenticatedCommand {
42
45
  static args = {
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
- import { b as getShortDate, A as ApiKey, C as CredentialsType, P as Platform, B as BaseAuthenticatedCommand } from '../../../index-pj8JVg5X.js';
4
+ import { b as getShortDate, A as ApiKey, C as CredentialsType, P as Platform, B as BaseAuthenticatedCommand } from '../../../index-BwnzoldS.js';
5
5
  import Spinner from 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -23,21 +23,24 @@ import 'fullscreen-ink';
23
23
  import 'string-length';
24
24
  import 'strip-ansi';
25
25
  import 'open';
26
- import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-CwkZTFBD.js';
26
+ import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-CUrTDzTK.js';
27
27
  import '@inkjs/ui';
28
+ import '../../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import 'qrcode';
31
- import '../../../index-DfUg5j06.js';
32
+ import '../../../index-hoHfGrjg.js';
32
33
  import { T as Table } from '../../../Table-FaNgpyeq.js';
33
34
  import { T as Title } from '../../../Title-BCQtayg6.js';
34
35
  import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
35
- import { C as Command } from '../../../Command-BDIkuv2g.js';
36
+ import { C as Command } from '../../../Command-DN1j3tjt.js';
36
37
  import '@expo/apple-utils/build/index.js';
37
38
  import 'deepmerge';
38
39
  import 'ini';
39
- import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
40
- import '../../../index-B27WJDxn.js';
40
+ import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
41
+ import '../../../index-CJWMt1s-.js';
42
+ import 'fs';
43
+ import 'path';
41
44
 
42
45
  async function queryAppleApiKeys({ ctx }) {
43
46
  const keys = await ApiKey.getAsync(ctx);
@@ -49,13 +52,13 @@ const canAppleApiKeyBeUsed = (key, userCredentials) => {
49
52
  return userCredentials.some((cred) => cred.isActive && cred.serialNumber === key.id);
50
53
  };
51
54
  function getAppleApiKeySummary(key, userCredentials) {
52
- return {
53
- canBeUsed: canAppleApiKeyBeUsed(key, userCredentials),
54
- keyID: key.id,
55
- lastUsed: getShortDate(DateTime.fromISO(key.attributes.lastUsed)),
56
- name: key.attributes.nickname,
57
- roles: key.attributes.roles?.join(", ")
58
- };
55
+ const summary = {};
56
+ summary.keyID = key.id;
57
+ summary.name = key.attributes.nickname;
58
+ summary.roles = key.attributes.roles?.join(", ");
59
+ summary.lastUsed = getShortDate(DateTime.fromISO(key.attributes.lastUsed));
60
+ summary.canBeUsed = canAppleApiKeyBeUsed(key, userCredentials);
61
+ return summary;
59
62
  }
60
63
  const useAppleApiKeys = (props) => {
61
64
  const queryResult = useQuery({
@@ -1,9 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { g as getUserCredentials } from '../../../index-Crv7S0bl.js';
4
+ import { g as getUserCredentials } from '../../../index-izrACZbC.js';
5
5
  import forge from 'node-forge';
6
- import { l as CertificateType, k as Certificate, P as Platform, C as CredentialsType } from '../../../index-pj8JVg5X.js';
6
+ import { l as CertificateType, k as Certificate, P as Platform, C as CredentialsType } from '../../../index-BwnzoldS.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:fs';
@@ -26,19 +26,22 @@ import 'string-length';
26
26
  import 'strip-ansi';
27
27
  import 'open';
28
28
  import '@inkjs/ui';
29
+ import '../../../ejs-DirFZbza.js';
29
30
  import 'marked';
30
31
  import 'marked-terminal';
31
32
  import 'qrcode';
32
- import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
33
- import '../../../index-DfUg5j06.js';
34
- import { C as Command } from '../../../Command-BDIkuv2g.js';
35
- import { B as BaseAppleCommand } from '../../../baseAppleCommand-BKXweb-U.js';
36
- import { u as uploadUserCredentials } from '../../../upload-C8S17EU_.js';
33
+ import { R as RunWithSpinner } from '../../../RunWithSpinner-DucRnFp6.js';
34
+ import '../../../index-hoHfGrjg.js';
35
+ import { C as Command } from '../../../Command-DN1j3tjt.js';
36
+ import { B as BaseAppleCommand } from '../../../baseAppleCommand-Cs9a52e5.js';
37
+ import { u as uploadUserCredentials } from '../../../upload-D19OQsbn.js';
37
38
  import '@expo/apple-utils/build/index.js';
38
39
  import 'deepmerge';
39
40
  import 'ini';
40
- import '../../../index-B27WJDxn.js';
41
- import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
41
+ import 'fs';
42
+ import 'path';
43
+ import '../../../index-CJWMt1s-.js';
44
+ import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
42
45
 
43
46
  function decodeCertificate(certificateContent) {
44
47
  const decodedContent = forge.util.decode64(certificateContent);
@@ -2,8 +2,8 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import * as fs from 'node:fs';
3
3
  import { Args, Flags } from '@oclif/core';
4
4
  import { render } from 'ink';
5
- import { g as getUserCredentials } from '../../../index-Crv7S0bl.js';
6
- import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-pj8JVg5X.js';
5
+ import { g as getUserCredentials } from '../../../index-izrACZbC.js';
6
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-BwnzoldS.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -25,18 +25,21 @@ import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
+ import '../../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import 'qrcode';
31
- import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
32
- import '../../../index-DfUg5j06.js';
33
- import { C as Command } from '../../../Command-BDIkuv2g.js';
34
- import { e as exportCredential } from '../../../export-DLQrUEBK.js';
32
+ import { R as RunWithSpinner } from '../../../RunWithSpinner-DucRnFp6.js';
33
+ import '../../../index-hoHfGrjg.js';
34
+ import { C as Command } from '../../../Command-DN1j3tjt.js';
35
+ import { e as exportCredential } from '../../../export-DFCZKNQk.js';
35
36
  import '@expo/apple-utils/build/index.js';
36
37
  import 'deepmerge';
37
38
  import 'ini';
38
- import '../../../index-B27WJDxn.js';
39
- import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
+ import 'fs';
40
+ import 'path';
41
+ import '../../../index-CJWMt1s-.js';
42
+ import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
40
43
 
41
44
  class AppleCertificateExport extends BaseAuthenticatedCommand {
42
45
  static args = {
@@ -2,8 +2,8 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import * as fs from 'node:fs';
3
3
  import { Args, Flags } from '@oclif/core';
4
4
  import { render } from 'ink';
5
- import { g as getUserCredentials } from '../../../index-Crv7S0bl.js';
6
- import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-pj8JVg5X.js';
5
+ import { g as getUserCredentials } from '../../../index-izrACZbC.js';
6
+ import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-BwnzoldS.js';
7
7
  import 'ink-spinner';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -25,18 +25,21 @@ import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
+ import '../../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import 'qrcode';
31
- import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
32
- import '../../../index-DfUg5j06.js';
33
- import { C as Command } from '../../../Command-BDIkuv2g.js';
34
- import { i as importCredential } from '../../../import-BoY5e0uJ.js';
32
+ import { R as RunWithSpinner } from '../../../RunWithSpinner-DucRnFp6.js';
33
+ import '../../../index-hoHfGrjg.js';
34
+ import { C as Command } from '../../../Command-DN1j3tjt.js';
35
+ import { i as importCredential } from '../../../import-BpGyif-m.js';
35
36
  import '@expo/apple-utils/build/index.js';
36
37
  import 'deepmerge';
37
38
  import 'ini';
38
- import '../../../index-B27WJDxn.js';
39
- import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
+ import 'fs';
40
+ import 'path';
41
+ import '../../../index-CJWMt1s-.js';
42
+ import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
40
43
 
41
44
  class AppleCertificateImport extends BaseAuthenticatedCommand {
42
45
  static args = {
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { Box, Text, render } from 'ink';
4
- import { b as getShortDate, k as Certificate, l as CertificateType, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../index-pj8JVg5X.js';
4
+ import { b as getShortDate, k as Certificate, l as CertificateType, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../index-BwnzoldS.js';
5
5
  import Spinner from 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -23,21 +23,24 @@ import 'fullscreen-ink';
23
23
  import 'string-length';
24
24
  import 'strip-ansi';
25
25
  import 'open';
26
- import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-CwkZTFBD.js';
26
+ import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-CUrTDzTK.js';
27
27
  import '@inkjs/ui';
28
+ import '../../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import 'qrcode';
31
- import '../../../index-DfUg5j06.js';
32
- import { g as getShortUUID } from '../../../index-B27WJDxn.js';
32
+ import '../../../index-hoHfGrjg.js';
33
+ import { g as getShortUUID } from '../../../index-CJWMt1s-.js';
33
34
  import { T as Table } from '../../../Table-FaNgpyeq.js';
34
35
  import { T as Title } from '../../../Title-BCQtayg6.js';
35
36
  import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
36
- import { C as Command } from '../../../Command-BDIkuv2g.js';
37
+ import { C as Command } from '../../../Command-DN1j3tjt.js';
37
38
  import '@expo/apple-utils/build/index.js';
38
39
  import 'deepmerge';
39
40
  import 'ini';
40
- import '../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
41
+ import '../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
42
+ import 'fs';
43
+ import 'path';
41
44
 
42
45
  async function queryAppleCertificates({ ctx }) {
43
46
  const appleCerts = await Certificate.getAsync(ctx, {
@@ -54,13 +57,13 @@ const canAppleCertificateBeUsed = (cert, userCredentials) => {
54
57
  return userCredentials.some((cred) => cred.isActive && cred.serialNumber === cert.attributes.serialNumber);
55
58
  };
56
59
  function getAppleCertificateSummary(cert, userCredentials) {
57
- return {
58
- canBeUsed: canAppleCertificateBeUsed(cert, userCredentials),
59
- expires: getShortDate(DateTime.fromISO(cert.attributes.expirationDate)),
60
- id: getShortUUID(cert.id),
61
- name: cert.attributes.name,
62
- serial: cert.attributes.serialNumber
63
- };
60
+ const summary = {};
61
+ summary.id = getShortUUID(cert.id);
62
+ summary.name = cert.attributes.name;
63
+ summary.serial = cert.attributes.serialNumber;
64
+ summary.expires = getShortDate(DateTime.fromISO(cert.attributes.expirationDate));
65
+ summary.canBeUsed = canAppleCertificateBeUsed(cert, userCredentials);
66
+ return summary;
64
67
  }
65
68
  const useAppleCertificates = (props) => {
66
69
  const queryResult = useQuery({
@@ -1,6 +1,6 @@
1
1
  import { Flags } from '@oclif/core';
2
- import { _ as Auth, B as BaseAuthenticatedCommand } from '../../index-pj8JVg5X.js';
3
- import { a as getInput, e as getMaskedInput } from '../../index-B27WJDxn.js';
2
+ import { a3 as Auth, B as BaseAuthenticatedCommand } from '../../index-BwnzoldS.js';
3
+ import { a as getInput, e as getMaskedInput } from '../../index-CJWMt1s-.js';
4
4
  import 'node:fs';
5
5
  import 'axios';
6
6
  import 'crypto-js';
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { render } from 'ink';
3
- import { B as BaseAuthenticatedCommand } from '../../index-pj8JVg5X.js';
3
+ import { B as BaseAuthenticatedCommand } from '../../index-BwnzoldS.js';
4
4
  import 'ink-spinner';
5
5
  import 'node:crypto';
6
6
  import 'node:fs';
@@ -25,18 +25,21 @@ import 'strip-ansi';
25
25
  import { S as StatusTable } from '../../StatusTable-DzRWcMr4.js';
26
26
  import 'open';
27
27
  import '@inkjs/ui';
28
+ import '../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import { N as NextSteps } from '../../NextSteps-DbJHmscQ.js';
31
32
  import 'qrcode';
32
- import '../../index-DfUg5j06.js';
33
- import { C as Command } from '../../Command-BDIkuv2g.js';
33
+ import '../../index-hoHfGrjg.js';
34
+ import { C as Command } from '../../Command-DN1j3tjt.js';
34
35
  import '@expo/apple-utils/build/index.js';
35
36
  import 'deepmerge';
36
37
  import 'ini';
37
38
  import '../../Title-BCQtayg6.js';
38
- import '../../index-B27WJDxn.js';
39
- import '../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
39
+ import 'fs';
40
+ import 'path';
41
+ import '../../index-CJWMt1s-.js';
42
+ import '../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
40
43
 
41
44
  class AppleStatus extends BaseAuthenticatedCommand {
42
45
  static args = {};
@@ -1,5 +1,5 @@
1
1
  import open from 'open';
2
- import { B as BaseAuthenticatedCommand, X as getSingleUseUrl } from '../index-pj8JVg5X.js';
2
+ import { B as BaseAuthenticatedCommand, a0 as getSingleUseUrl } from '../index-BwnzoldS.js';
3
3
  import 'node:fs';
4
4
  import 'axios';
5
5
  import 'crypto-js';
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { Q as getGoogleStatus, T as disconnectGoogle } from '../../../../index-pj8JVg5X.js';
4
+ import { Q as getGoogleStatus, X as disconnectGoogle } from '../../../../index-BwnzoldS.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -22,22 +22,26 @@ import 'fullscreen-ink';
22
22
  import 'string-length';
23
23
  import 'strip-ansi';
24
24
  import 'open';
25
- import { C as ConnectGoogle } from '../../../../index-DC0GJtAy.js';
26
- import '../../../../index-DfUg5j06.js';
25
+ import { C as ConnectGoogle } from '../../../../index-DlE_SPt3.js';
26
+ import '../../../../index-hoHfGrjg.js';
27
27
  import '@inkjs/ui';
28
+ import '../../../../ejs-DirFZbza.js';
28
29
  import 'marked';
29
30
  import 'marked-terminal';
30
31
  import 'qrcode';
31
- import { C as CommandGame } from '../../../../CommandGame-CvBIjPZp.js';
32
- import { B as BaseGameAndroidCommand } from '../../../../baseGameAndroidCommand-CAi-BSsH.js';
32
+ import { C as CommandGame } from '../../../../CommandGame-D2NqytWc.js';
33
+ import { B as BaseGameAndroidCommand } from '../../../../baseGameAndroidCommand-BCB1SMCf.js';
33
34
  import 'crypto-js';
34
35
  import '@expo/apple-utils/build/index.js';
35
36
  import 'deepmerge';
36
37
  import 'ini';
37
- import '../../../../useAndroidServiceAccountTestResult-D4e5AKAZ.js';
38
- import '../../../../useWebSocket-CRV7V69Q.js';
39
- import '../../../../index-B27WJDxn.js';
40
- import '../../../../Command-BDIkuv2g.js';
38
+ import '../../../../useGoogleStatus-Cx_QIsXa.js';
39
+ import '../../../../useAndroidServiceAccountTestResult-CwKeW0ED.js';
40
+ import '../../../../useWebSocket-cM5yOcDv.js';
41
+ import '../../../../index-CJWMt1s-.js';
42
+ import 'fs';
43
+ import 'path';
44
+ import '../../../../Command-DN1j3tjt.js';
41
45
 
42
46
  class GameAndroidApiKeyConnect extends BaseGameAndroidCommand {
43
47
  static args = {};