shipthis 0.1.52 → 0.1.53

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 (96) hide show
  1. package/dist/{AppleBundleIdDetails-BUJnAu52.js → AppleBundleIdDetails-CJuXU0MW.js} +4 -4
  2. package/dist/{Command-B-MWAVPL.js → Command-U8TqM6Zs.js} +2 -2
  3. package/dist/{CommandGame-DPJEVhuw.js → CommandGame-hqY43vRo.js} +3 -3
  4. package/dist/{Create-CmEndHAZ.js → Create-C--pV63B.js} +2 -2
  5. package/dist/{CredentialDetailsView-B7Y9sj8K.js → CredentialDetailsView-DUpRMBiJ.js} +1 -1
  6. package/dist/{ErrorBox-DS5e6VmF.js → ErrorBox-DLRncz8K.js} +1 -1
  7. package/dist/{GameStatus-XFGHRbVP.js → GameStatus-DRheSF2O.js} +2 -2
  8. package/dist/{Import-ea-wsQt-.js → Import-CTgEEj_f.js} +3 -3
  9. package/dist/{JobLogTail-BwFUt8LB.js → JobLogTail-7oEEQxIO.js} +3 -3
  10. package/dist/{JobProgress-_cIUK7Ho.js → JobProgress-DwvTh5rS.js} +4 -4
  11. package/dist/{JobStatusTable-CyDhk3lr.js → JobStatusTable-DBM_PBPQ.js} +3 -3
  12. package/dist/{ProjectCredentialsTable-0DY-GdfY.js → ProjectCredentialsTable-BamSpb5B.js} +2 -2
  13. package/dist/{UserCredentialsTable-CTJMS9Kc.js → UserCredentialsTable-N_fIOf8N.js} +2 -2
  14. package/dist/{baseAppleCommand-9xmssZ7g.js → baseAppleCommand-oekzwny6.js} +1 -1
  15. package/dist/{baseCommand-CpAJaJoG.js → baseCommand-ByzFMr-B.js} +11 -1
  16. package/dist/{baseGameAndroidCommand-HO8as-RL.js → baseGameAndroidCommand-GvH1QAja.js} +2 -2
  17. package/dist/{baseGameCommand-Cbx4ywHl.js → baseGameCommand-D8Z3SaiJ.js} +1 -1
  18. package/dist/commands/apiKey/create.js +3 -3
  19. package/dist/commands/apiKey/list.js +3 -3
  20. package/dist/commands/apiKey/revoke.js +3 -3
  21. package/dist/commands/apple/apiKey/create.js +6 -6
  22. package/dist/commands/apple/apiKey/delete.js +4 -4
  23. package/dist/commands/apple/apiKey/export.js +5 -5
  24. package/dist/commands/apple/apiKey/import.js +5 -5
  25. package/dist/commands/apple/apiKey/status.js +4 -4
  26. package/dist/commands/apple/certificate/create.js +6 -6
  27. package/dist/commands/apple/certificate/delete.js +4 -4
  28. package/dist/commands/apple/certificate/export.js +5 -5
  29. package/dist/commands/apple/certificate/import.js +5 -5
  30. package/dist/commands/apple/certificate/show.js +5 -5
  31. package/dist/commands/apple/certificate/status.js +4 -4
  32. package/dist/commands/apple/login.js +2 -2
  33. package/dist/commands/apple/status.js +3 -3
  34. package/dist/commands/dashboard.js +2 -2
  35. package/dist/commands/game/android/apiKey/connect.js +9 -9
  36. package/dist/commands/game/android/apiKey/create.js +11 -11
  37. package/dist/commands/game/android/apiKey/delete.js +4 -4
  38. package/dist/commands/game/android/apiKey/export.js +6 -6
  39. package/dist/commands/game/android/apiKey/import.js +6 -6
  40. package/dist/commands/game/android/apiKey/invite.js +3 -3
  41. package/dist/commands/game/android/apiKey/policy.js +3 -3
  42. package/dist/commands/game/android/apiKey/show.js +8 -8
  43. package/dist/commands/game/android/apiKey/status.js +6 -6
  44. package/dist/commands/game/android/keyStore/create.js +8 -8
  45. package/dist/commands/game/android/keyStore/delete.js +4 -4
  46. package/dist/commands/game/android/keyStore/export.js +5 -5
  47. package/dist/commands/game/android/keyStore/import.js +9 -9
  48. package/dist/commands/game/android/keyStore/status.js +5 -5
  49. package/dist/commands/game/android/status.js +2 -2
  50. package/dist/commands/game/build/download.js +3 -3
  51. package/dist/commands/game/build/list.js +5 -5
  52. package/dist/commands/game/create.js +2 -2
  53. package/dist/commands/game/details.js +3 -3
  54. package/dist/commands/game/export.js +2 -2
  55. package/dist/commands/game/ios/app/addTester.js +4 -4
  56. package/dist/commands/game/ios/app/create.js +3 -3
  57. package/dist/commands/game/ios/app/status.js +6 -6
  58. package/dist/commands/game/ios/app/sync.js +4 -4
  59. package/dist/commands/game/ios/profile/create.js +6 -6
  60. package/dist/commands/game/ios/profile/delete.js +4 -4
  61. package/dist/commands/game/ios/profile/export.js +5 -5
  62. package/dist/commands/game/ios/profile/import.js +5 -5
  63. package/dist/commands/game/ios/profile/show.js +7 -7
  64. package/dist/commands/game/ios/profile/status.js +6 -6
  65. package/dist/commands/game/ios/status.js +9 -9
  66. package/dist/commands/game/ios/wizard.js +3 -3
  67. package/dist/commands/game/job/list.js +3 -3
  68. package/dist/commands/game/job/logs.js +82 -0
  69. package/dist/commands/game/job/status.js +6 -6
  70. package/dist/commands/game/list.js +3 -3
  71. package/dist/commands/game/ship.js +10 -10
  72. package/dist/commands/game/status.js +6 -6
  73. package/dist/commands/game/wizard.js +31 -28
  74. package/dist/commands/internal/fastlane.js +2 -2
  75. package/dist/commands/internal/readme.js +2 -2
  76. package/dist/commands/login.js +2 -2
  77. package/dist/commands/status.js +3 -3
  78. package/dist/commands/util/android-build-method.js +2 -2
  79. package/dist/commands/util/glass.js +1 -1
  80. package/dist/{export-Blt3BR-u.js → export-DQ2Qh09K.js} +1 -1
  81. package/dist/{import-IVcS8WFM.js → import-sVng7ksa.js} +1 -1
  82. package/dist/{index-KJtngKaE.js → index-DwEIHNF1.js} +4 -4
  83. package/dist/{index-B5s20dhm.js → index-Dz17cbww.js} +5 -5
  84. package/dist/{index-By3xdL8c.js → index-N3S598Wc.js} +1 -1
  85. package/dist/{upload-B56rRpZW.js → upload-DoiCgi3a.js} +1 -1
  86. package/dist/{useAppleApp-BHUjGmw0.js → useAppleApp-J4dx2Wyz.js} +1 -1
  87. package/dist/{useAppleBundleId-Cv5maswG.js → useAppleBundleId-DUdnv1T0.js} +1 -1
  88. package/dist/{useAppleProfiles-kDiUOXiX.js → useAppleProfiles-DDdAtArV.js} +1 -1
  89. package/dist/{useGoogleStatus-BHd_Wp59.js → useGoogleStatus-DciPkOMu.js} +2 -2
  90. package/dist/{useProjectCredentials-ADtDLDmx.js → useProjectCredentials-B4cjpmpB.js} +2 -2
  91. package/dist/{useWebSocket-DlNe_zDR.js → useWebSocket-B1hQm8Ak.js} +1 -1
  92. package/docs/game/job/logs.md +30 -0
  93. package/docs/game/job.md +31 -0
  94. package/npm-shrinkwrap.json +63 -46
  95. package/oclif.manifest.json +241 -198
  96. package/package.json +2 -1
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Args, Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { N as getJob, J as JobStatus } from '../../../baseCommand-CpAJaJoG.js';
4
+ import { N as getJob, J as JobStatus } from '../../../baseCommand-ByzFMr-B.js';
5
5
  import 'ink-spinner';
6
6
  import 'node:crypto';
7
7
  import 'node:fs';
@@ -22,20 +22,20 @@ import 'socket.io-client';
22
22
  import 'fullscreen-ink';
23
23
  import 'string-length';
24
24
  import 'strip-ansi';
25
- import { J as JobLogTail } from '../../../JobLogTail-BwFUt8LB.js';
26
- import { J as JobStatusTable } from '../../../JobStatusTable-CyDhk3lr.js';
25
+ import { J as JobLogTail } from '../../../JobLogTail-7oEEQxIO.js';
26
+ import { J as JobStatusTable } from '../../../JobStatusTable-DBM_PBPQ.js';
27
27
  import 'open';
28
28
  import '@inkjs/ui';
29
- import { b as BaseGameCommand } from '../../../baseGameCommand-Cbx4ywHl.js';
29
+ import { b as BaseGameCommand } from '../../../baseGameCommand-D8Z3SaiJ.js';
30
30
  import 'marked';
31
31
  import 'marked-terminal';
32
32
  import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
33
33
  import 'qrcode';
34
34
  import 'godot-export-presets';
35
- import { C as Command } from '../../../Command-B-MWAVPL.js';
35
+ import { C as Command } from '../../../Command-U8TqM6Zs.js';
36
36
  import 'chalk';
37
37
  import '@expo/apple-utils/build/index.js';
38
- import '../../../useWebSocket-DlNe_zDR.js';
38
+ import '../../../useWebSocket-B1hQm8Ak.js';
39
39
  import '../../../TruncatedText-DhEXCrnE.js';
40
40
  import '../../../Title-BCQtayg6.js';
41
41
  import '../../../StatusTable-DzRWcMr4.js';
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render, Box, Text } from 'ink';
4
- import { c as getProjects, g as getShortUUID, d as getShortDate } from '../../baseCommand-CpAJaJoG.js';
5
- import { B as BaseAuthenticatedCommand } from '../../baseGameCommand-Cbx4ywHl.js';
4
+ import { c as getProjects, g as getShortUUID, d as getShortDate } from '../../baseCommand-ByzFMr-B.js';
5
+ import { B as BaseAuthenticatedCommand } from '../../baseGameCommand-D8Z3SaiJ.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'chalk';
@@ -31,7 +31,7 @@ import 'marked';
31
31
  import 'marked-terminal';
32
32
  import 'qrcode';
33
33
  import 'godot-export-presets';
34
- import { C as Command } from '../../Command-B-MWAVPL.js';
34
+ import { C as Command } from '../../Command-U8TqM6Zs.js';
35
35
  import '@expo/apple-utils/build/index.js';
36
36
  import 'fs';
37
37
  import 'path';
@@ -1,8 +1,8 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { useStdout, useStderr, Box, Text, render } from 'ink';
4
- import { a3 as LogLevel, W as WEB_URL, g as getShortUUID, a4 as getShortAuthRequiredUrl, N as getJob, O as downloadBuildById, a5 as getErrorMessage } from '../../baseCommand-CpAJaJoG.js';
5
- import { j as CommandContext, d as GameContext, s as useSafeInput, M as Markdown, b as BaseGameCommand } from '../../baseGameCommand-Cbx4ywHl.js';
4
+ import { a4 as LogLevel, W as WEB_URL, g as getShortUUID, a5 as getShortAuthRequiredUrl, N as getJob, Q as downloadBuildById, a6 as getErrorMessage } from '../../baseCommand-ByzFMr-B.js';
5
+ import { j as CommandContext, d as GameContext, s as useSafeInput, M as Markdown, b as BaseGameCommand } from '../../baseGameCommand-D8Z3SaiJ.js';
6
6
  import 'ink-spinner';
7
7
  import 'node:crypto';
8
8
  import 'node:fs';
@@ -24,28 +24,28 @@ import 'fullscreen-ink';
24
24
  import 'string-length';
25
25
  import 'strip-ansi';
26
26
  import open from 'open';
27
- import { u as useShip, J as JobProgress } from '../../JobProgress-_cIUK7Ho.js';
28
- import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-BwFUt8LB.js';
29
- import { J as JobStatusTable } from '../../JobStatusTable-CyDhk3lr.js';
27
+ import { u as useShip, J as JobProgress } from '../../JobProgress-DwvTh5rS.js';
28
+ import { u as useJobWatching, J as JobLogTail } from '../../JobLogTail-7oEEQxIO.js';
29
+ import { J as JobStatusTable } from '../../JobStatusTable-DBM_PBPQ.js';
30
30
  import '@inkjs/ui';
31
31
  import 'qrcode';
32
32
  import 'godot-export-presets';
33
33
  import 'marked';
34
34
  import 'marked-terminal';
35
- import { C as CommandGame } from '../../CommandGame-DPJEVhuw.js';
35
+ import { C as CommandGame } from '../../CommandGame-hqY43vRo.js';
36
36
  import 'chalk';
37
37
  import '@expo/apple-utils/build/index.js';
38
38
  import 'fs';
39
39
  import 'path';
40
- import '../../useProjectCredentials-ADtDLDmx.js';
40
+ import '../../useProjectCredentials-B4cjpmpB.js';
41
41
  import '../../git-BpsfNFZ_.js';
42
42
  import '../../ProgressSpinner-Um6ARKlk.js';
43
- import '../../useWebSocket-DlNe_zDR.js';
43
+ import '../../useWebSocket-B1hQm8Ak.js';
44
44
  import '../../TruncatedText-DhEXCrnE.js';
45
45
  import '../../Title-BCQtayg6.js';
46
46
  import '../../StatusTable-DzRWcMr4.js';
47
- import '../../ErrorBox-DS5e6VmF.js';
48
- import '../../Command-B-MWAVPL.js';
47
+ import '../../ErrorBox-DLRncz8K.js';
48
+ import '../../Command-U8TqM6Zs.js';
49
49
 
50
50
  const JobFollow = ({
51
51
  jobId,
@@ -1,12 +1,12 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { Flags } from '@oclif/core';
3
3
  import { render } from 'ink';
4
- import { B as BaseAuthenticatedCommand } from '../../baseGameCommand-Cbx4ywHl.js';
4
+ import { B as BaseAuthenticatedCommand } from '../../baseGameCommand-D8Z3SaiJ.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'chalk';
8
8
  import 'axios';
9
- import '../../baseCommand-CpAJaJoG.js';
9
+ import '../../baseCommand-ByzFMr-B.js';
10
10
  import 'luxon';
11
11
  import 'node:crypto';
12
12
  import 'node:readline';
@@ -24,22 +24,22 @@ import 'fullscreen-ink';
24
24
  import 'ink-spinner';
25
25
  import 'string-length';
26
26
  import 'strip-ansi';
27
- import { a as GameStatus$1 } from '../../GameStatus-XFGHRbVP.js';
27
+ import { a as GameStatus$1 } from '../../GameStatus-DRheSF2O.js';
28
28
  import 'open';
29
29
  import '@inkjs/ui';
30
30
  import 'marked';
31
31
  import 'marked-terminal';
32
32
  import 'qrcode';
33
33
  import 'godot-export-presets';
34
- import { C as CommandGame } from '../../CommandGame-DPJEVhuw.js';
34
+ import { C as CommandGame } from '../../CommandGame-hqY43vRo.js';
35
35
  import 'fs';
36
36
  import 'path';
37
37
  import '@expo/apple-utils/build/index.js';
38
38
  import '../../StatusTable-DzRWcMr4.js';
39
39
  import '../../Title-BCQtayg6.js';
40
40
  import '../../NextSteps-DbJHmscQ.js';
41
- import '../../ErrorBox-DS5e6VmF.js';
42
- import '../../Command-B-MWAVPL.js';
41
+ import '../../ErrorBox-DLRncz8K.js';
42
+ import '../../Command-U8TqM6Zs.js';
43
43
 
44
44
  class GameStatus extends BaseAuthenticatedCommand {
45
45
  static args = {};
@@ -1,12 +1,12 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { Args } from '@oclif/core';
3
3
  import { useScreenSize, withFullScreen } from 'fullscreen-ink';
4
- import { i as cacheKeys, j as CommandContext, d as GameContext, s as useSafeInput, M as Markdown, u as useBuilds, y as queryBuilds, l as fetchKeyTestResult, K as KeyTestStatus, o as KeyTestError, G as GameProvider, z as CreateGooglePlayGame, B as BaseAuthenticatedCommand } from '../../baseGameCommand-Cbx4ywHl.js';
4
+ import { i as cacheKeys, j as CommandContext, d as GameContext, s as useSafeInput, M as Markdown, u as useBuilds, y as queryBuilds, l as fetchKeyTestResult, K as KeyTestStatus, o as KeyTestError, G as GameProvider, z as CreateGooglePlayGame, B as BaseAuthenticatedCommand } from '../../baseGameCommand-D8Z3SaiJ.js';
5
5
  import fs__default from 'node:fs';
6
6
  import 'node:path';
7
7
  import 'chalk';
8
8
  import axios from 'axios';
9
- import { F as queryClient, r as getAuthedHeaders, q as API_URL, E as castArrayObjectDates, m as getProject, ae as updateProject, w as getGodotVersion, v as GameEngine, x as createProject, y as DEFAULT_PLATFORM_GLOBS, W as WEB_URL, af as getGradleBuildOptionKey, P as Platform, ag as BuildType, J as JobStatus, g as getShortUUID, i as isGradleBuildEnabled, s as setGradleBuildEnabled, C as CredentialsType, Q as getGoogleStatus, l as isCWDGodotGame } from '../../baseCommand-CpAJaJoG.js';
9
+ import { F as queryClient, r as getAuthedHeaders, q as API_URL, E as castArrayObjectDates, m as getProject, af as updateProject, w as getGodotVersion, v as GameEngine, x as createProject, y as DEFAULT_PLATFORM_GLOBS, W as WEB_URL, ag as getGradleBuildOptionKey, P as Platform, ah as BuildType, J as JobStatus, g as getShortUUID, i as isGradleBuildEnabled, s as setGradleBuildEnabled, C as CredentialsType, R as getGoogleStatus, l as isCWDGodotGame } from '../../baseCommand-ByzFMr-B.js';
10
10
  import 'luxon';
11
11
  import 'node:crypto';
12
12
  import 'node:readline';
@@ -25,32 +25,32 @@ import Spinner from 'ink-spinner';
25
25
  import 'string-length';
26
26
  import 'strip-ansi';
27
27
  import 'open';
28
- import { C as ConnectGoogle } from '../../index-KJtngKaE.js';
28
+ import { C as ConnectGoogle } from '../../index-DwEIHNF1.js';
29
29
  import { TextInput, Alert } from '@inkjs/ui';
30
30
  import 'marked';
31
31
  import 'marked-terminal';
32
32
  import 'qrcode';
33
33
  import { getMajorVersion } from 'godot-export-presets';
34
- import { u as useShip, J as JobProgress } from '../../JobProgress-_cIUK7Ho.js';
35
- import { J as JobLogTail } from '../../JobLogTail-BwFUt8LB.js';
36
- import { C as CreateServiceAccountKey } from '../../index-B5s20dhm.js';
37
- import { C as CreateKeystore } from '../../Create-CmEndHAZ.js';
38
- import { I as ImportKeystore } from '../../Import-ea-wsQt-.js';
39
- import { a as getProjectCredentials } from '../../index-By3xdL8c.js';
34
+ import { u as useShip, J as JobProgress } from '../../JobProgress-DwvTh5rS.js';
35
+ import { J as JobLogTail } from '../../JobLogTail-7oEEQxIO.js';
36
+ import { C as CreateServiceAccountKey } from '../../index-Dz17cbww.js';
37
+ import { C as CreateKeystore } from '../../Create-C--pV63B.js';
38
+ import { I as ImportKeystore } from '../../Import-CTgEEj_f.js';
39
+ import { a as getProjectCredentials } from '../../index-N3S598Wc.js';
40
40
  import { T as Title } from '../../Title-BCQtayg6.js';
41
- import { E as ErrorBox } from '../../ErrorBox-DS5e6VmF.js';
42
- import { C as Command } from '../../Command-B-MWAVPL.js';
41
+ import { E as ErrorBox } from '../../ErrorBox-DLRncz8K.js';
42
+ import { C as Command } from '../../Command-U8TqM6Zs.js';
43
43
  import 'fs';
44
44
  import 'path';
45
45
  import '@expo/apple-utils/build/index.js';
46
- import '../../useWebSocket-DlNe_zDR.js';
47
- import '../../useGoogleStatus-BHd_Wp59.js';
48
- import '../../useProjectCredentials-ADtDLDmx.js';
46
+ import '../../useWebSocket-B1hQm8Ak.js';
47
+ import '../../useGoogleStatus-DciPkOMu.js';
48
+ import '../../useProjectCredentials-B4cjpmpB.js';
49
49
  import '../../git-BpsfNFZ_.js';
50
50
  import '../../ProgressSpinner-Um6ARKlk.js';
51
51
  import '../../TruncatedText-DhEXCrnE.js';
52
52
  import '../../RunWithSpinner-DucRnFp6.js';
53
- import '../../import-IVcS8WFM.js';
53
+ import '../../import-sVng7ksa.js';
54
54
 
55
55
  const useInviteServiceAccount = () => useMutation({
56
56
  async mutationFn({ developerId, projectId }) {
@@ -313,20 +313,23 @@ const InitialAndroidBuild = ({ gameId, onComplete, onError, ...boxProps }) => {
313
313
  /* @__PURE__ */ jsx(Text, { children: "Create an initial build..." }),
314
314
  (isLoadingBuilds || isLoadingJobs || shipMutation.isPending) && /* @__PURE__ */ jsx(Spinner, { type: "dots" })
315
315
  ] }),
316
- androidJob === null && /* @__PURE__ */ jsx(Text, { children: shipLog }),
317
- androidJob && /* @__PURE__ */ jsx(
318
- JobProgress,
319
- {
320
- job: androidJob,
321
- onComplete,
322
- onFailure: (j) => {
323
- setFailedJob(j);
324
- setTimeout(() => {
325
- onError(new Error(`Job ${j.id} failed`));
326
- }, 1e3);
316
+ androidJob == null && shipLog && /* @__PURE__ */ jsx(Text, { children: shipLog }),
317
+ androidJob && /* @__PURE__ */ jsxs(Fragment, { children: [
318
+ /* @__PURE__ */ jsx(
319
+ JobProgress,
320
+ {
321
+ job: androidJob,
322
+ onComplete,
323
+ onFailure: (j) => {
324
+ setFailedJob(j);
325
+ setTimeout(() => {
326
+ onError(new Error(`Job ${j.id} failed`));
327
+ }, 1e3);
328
+ }
327
329
  }
328
- }
329
- ),
330
+ ),
331
+ /* @__PURE__ */ jsx(JobLogTail, { isWatching: true, jobId: androidJob.id, length: 10, projectId: gameId })
332
+ ] }),
330
333
  failedJob && /* @__PURE__ */ jsxs(Fragment, { children: [
331
334
  /* @__PURE__ */ jsx(
332
335
  Markdown,
@@ -2,7 +2,7 @@ import fs__default, { promises } from 'node:fs';
2
2
  import path__default from 'node:path';
3
3
  import { Args, Flags } from '@oclif/core';
4
4
  import 'axios';
5
- import { B as BaseCommand } from '../../baseCommand-CpAJaJoG.js';
5
+ import { B as BaseCommand } from '../../baseCommand-ByzFMr-B.js';
6
6
  import 'luxon';
7
7
  import 'node:crypto';
8
8
  import 'node:readline';
@@ -24,7 +24,7 @@ import 'string-length';
24
24
  import 'strip-ansi';
25
25
  import 'open';
26
26
  import '@inkjs/ui';
27
- import '../../baseGameCommand-Cbx4ywHl.js';
27
+ import '../../baseGameCommand-D8Z3SaiJ.js';
28
28
  import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
@@ -1,9 +1,9 @@
1
1
  import fs__default from 'node:fs';
2
2
  import path__default from 'node:path';
3
3
  import { Args, Flags } from '@oclif/core';
4
- import { p as ejs } from '../../baseGameCommand-Cbx4ywHl.js';
4
+ import { p as ejs } from '../../baseGameCommand-D8Z3SaiJ.js';
5
5
  import 'axios';
6
- import { B as BaseCommand } from '../../baseCommand-CpAJaJoG.js';
6
+ import { B as BaseCommand } from '../../baseCommand-ByzFMr-B.js';
7
7
  import 'luxon';
8
8
  import 'node:crypto';
9
9
  import 'node:readline';
@@ -1,10 +1,10 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import axios from 'axios';
3
- import { W as WEB_URL, B as BaseCommand, a0 as acceptTerms, q as API_URL, a1 as setAuthToken } from '../baseCommand-CpAJaJoG.js';
3
+ import { W as WEB_URL, B as BaseCommand, a1 as acceptTerms, q as API_URL, a2 as setAuthToken } from '../baseCommand-ByzFMr-B.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'ink';
6
6
  import 'ink-spinner';
7
- import { a as getInput } from '../baseGameCommand-Cbx4ywHl.js';
7
+ import { a as getInput } from '../baseGameCommand-D8Z3SaiJ.js';
8
8
  import 'react';
9
9
  import 'luxon';
10
10
  import 'string-length';
@@ -3,7 +3,7 @@ import chalk from 'chalk';
3
3
  import { render } from 'ink';
4
4
  import 'node:fs';
5
5
  import 'axios';
6
- import { B as BaseCommand, l as isCWDGodotGame } from '../baseCommand-CpAJaJoG.js';
6
+ import { B as BaseCommand, l as isCWDGodotGame } from '../baseCommand-ByzFMr-B.js';
7
7
  import 'luxon';
8
8
  import 'node:crypto';
9
9
  import 'node:path';
@@ -26,13 +26,13 @@ import 'strip-ansi';
26
26
  import { S as StatusTable } from '../StatusTable-DzRWcMr4.js';
27
27
  import 'open';
28
28
  import '@inkjs/ui';
29
- import '../baseGameCommand-Cbx4ywHl.js';
29
+ import '../baseGameCommand-D8Z3SaiJ.js';
30
30
  import 'marked';
31
31
  import 'marked-terminal';
32
32
  import { N as NextSteps } from '../NextSteps-DbJHmscQ.js';
33
33
  import 'qrcode';
34
34
  import 'godot-export-presets';
35
- import { C as Command } from '../Command-B-MWAVPL.js';
35
+ import { C as Command } from '../Command-U8TqM6Zs.js';
36
36
  import 'isomorphic-git';
37
37
  import '@expo/apple-utils/build/index.js';
38
38
  import '../Title-BCQtayg6.js';
@@ -1,7 +1,7 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import 'node:fs';
3
3
  import 'axios';
4
- import { B as BaseCommand, i as isGradleBuildEnabled, s as setGradleBuildEnabled } from '../../baseCommand-CpAJaJoG.js';
4
+ import { B as BaseCommand, i as isGradleBuildEnabled, s as setGradleBuildEnabled } from '../../baseCommand-ByzFMr-B.js';
5
5
  import 'luxon';
6
6
  import 'node:crypto';
7
7
  import 'node:path';
@@ -24,7 +24,7 @@ import 'string-length';
24
24
  import 'strip-ansi';
25
25
  import 'open';
26
26
  import '@inkjs/ui';
27
- import '../../baseGameCommand-Cbx4ywHl.js';
27
+ import '../../baseGameCommand-D8Z3SaiJ.js';
28
28
  import 'marked';
29
29
  import 'marked-terminal';
30
30
  import 'qrcode';
@@ -2,7 +2,7 @@ import * as fs from 'node:fs';
2
2
  import * as path from 'node:path';
3
3
  import { Flags, Args } from '@oclif/core';
4
4
  import xcode from 'xcode';
5
- import { B as BaseCommand } from '../../baseCommand-CpAJaJoG.js';
5
+ import { B as BaseCommand } from '../../baseCommand-ByzFMr-B.js';
6
6
  import 'chalk';
7
7
  import 'axios';
8
8
  import 'luxon';
@@ -1,6 +1,6 @@
1
1
  import * as fs from 'node:fs';
2
2
  import axios from 'axios';
3
- import { q as API_URL, r as getAuthedHeaders } from './baseCommand-CpAJaJoG.js';
3
+ import { q as API_URL, r as getAuthedHeaders } from './baseCommand-ByzFMr-B.js';
4
4
 
5
5
  async function exportCredential({ credentialId, projectId, zipPath }) {
6
6
  const headers = getAuthedHeaders();
@@ -1,6 +1,6 @@
1
1
  import { promises } from 'node:fs';
2
2
  import axios from 'axios';
3
- import { q as API_URL, r as getAuthedHeaders } from './baseCommand-CpAJaJoG.js';
3
+ import { q as API_URL, r as getAuthedHeaders } from './baseCommand-ByzFMr-B.js';
4
4
 
5
5
  async function getNewImportTicket(projectId) {
6
6
  const url = projectId ? `${API_URL}/projects/${projectId}/credentials/import/url` : `${API_URL}/credentials/import/url`;
@@ -12,7 +12,7 @@ import 'readline-sync';
12
12
  import 'luxon';
13
13
  import 'axios';
14
14
  import 'isomorphic-git';
15
- import { a4 as getShortAuthRequiredUrl, a7 as getGoogleAuthUrl, W as WEB_URL } from './baseCommand-CpAJaJoG.js';
15
+ import { a5 as getShortAuthRequiredUrl, a8 as getGoogleAuthUrl, W as WEB_URL } from './baseCommand-ByzFMr-B.js';
16
16
  import '@oclif/core';
17
17
  import '@tanstack/react-query';
18
18
  import 'uuid';
@@ -20,10 +20,10 @@ import 'fast-glob';
20
20
  import 'stream';
21
21
  import 'yazl';
22
22
  import 'socket.io-client';
23
- import { u as useWebSocket } from './useWebSocket-DlNe_zDR.js';
24
- import { u as useGoogleStatus } from './useGoogleStatus-BHd_Wp59.js';
23
+ import { u as useWebSocket } from './useWebSocket-B1hQm8Ak.js';
24
+ import { u as useGoogleStatus } from './useGoogleStatus-DciPkOMu.js';
25
25
  import 'fullscreen-ink';
26
- import { d as GameContext, s as useSafeInput, M as Markdown } from './baseGameCommand-Cbx4ywHl.js';
26
+ import { d as GameContext, s as useSafeInput, M as Markdown } from './baseGameCommand-D8Z3SaiJ.js';
27
27
  import 'string-length';
28
28
  import 'strip-ansi';
29
29
  import '@inkjs/ui';
@@ -8,22 +8,22 @@ import 'node:path';
8
8
  import 'node:readline';
9
9
  import 'node:url';
10
10
  import 'readline-sync';
11
- import { r as getAuthedHeaders, q as API_URL, a6 as castObjectDates, F as queryClient, T as revokePolicy, S as enforcePolicy, P as Platform, C as CredentialsType, Q as getGoogleStatus, d as getShortDate } from './baseCommand-CpAJaJoG.js';
11
+ import { r as getAuthedHeaders, q as API_URL, a7 as castObjectDates, F as queryClient, V as revokePolicy, T as enforcePolicy, P as Platform, C as CredentialsType, R as getGoogleStatus, d as getShortDate } from './baseCommand-ByzFMr-B.js';
12
12
  import axios from 'axios';
13
13
  import 'isomorphic-git';
14
14
  import '@oclif/core';
15
15
  import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
16
16
  import 'luxon';
17
- import { i as cacheKeys, d as GameContext, s as useSafeInput, M as Markdown } from './baseGameCommand-Cbx4ywHl.js';
17
+ import { i as cacheKeys, d as GameContext, s as useSafeInput, M as Markdown } from './baseGameCommand-D8Z3SaiJ.js';
18
18
  import 'uuid';
19
19
  import 'fast-glob';
20
20
  import 'stream';
21
21
  import 'yazl';
22
22
  import 'socket.io-client';
23
23
  import 'fullscreen-ink';
24
- import { u as useWebSocket } from './useWebSocket-DlNe_zDR.js';
25
- import { u as useProjectCredentials } from './useProjectCredentials-ADtDLDmx.js';
26
- import { u as useGoogleStatus } from './useGoogleStatus-BHd_Wp59.js';
24
+ import { u as useWebSocket } from './useWebSocket-B1hQm8Ak.js';
25
+ import { u as useProjectCredentials } from './useProjectCredentials-B4cjpmpB.js';
26
+ import { u as useGoogleStatus } from './useGoogleStatus-DciPkOMu.js';
27
27
  import 'string-length';
28
28
  import 'strip-ansi';
29
29
  import 'open';
@@ -1,5 +1,5 @@
1
1
  import axios from 'axios';
2
- import { q as API_URL, E as castArrayObjectDates, r as getAuthedHeaders } from './baseCommand-CpAJaJoG.js';
2
+ import { q as API_URL, E as castArrayObjectDates, r as getAuthedHeaders } from './baseCommand-ByzFMr-B.js';
3
3
  import 'node:fs';
4
4
 
5
5
  async function getUserCredentials(pageSize = 100) {
@@ -1,5 +1,5 @@
1
1
  import axios from 'axios';
2
- import { q as API_URL, r as getAuthedHeaders } from './baseCommand-CpAJaJoG.js';
2
+ import { q as API_URL, r as getAuthedHeaders } from './baseCommand-ByzFMr-B.js';
3
3
 
4
4
  async function getNewUploadTicket(projectId = null) {
5
5
  const url = projectId ? `${API_URL}/projects/${projectId}/credentials/url` : `${API_URL}/credentials/url`;
@@ -1,5 +1,5 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { h as App } from './baseCommand-CpAJaJoG.js';
2
+ import { h as App } from './baseCommand-ByzFMr-B.js';
3
3
 
4
4
  const queryAppleApp = async ({ ctx, iosBundleId }) => {
5
5
  if (!iosBundleId) {
@@ -1,5 +1,5 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { f as BundleId, t as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, u as CapabilityType } from './baseCommand-CpAJaJoG.js';
2
+ import { f as BundleId, t as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, u as CapabilityType } from './baseCommand-ByzFMr-B.js';
3
3
 
4
4
  async function getBundleIdCapabilities(bundleId) {
5
5
  const current = await bundleId.getBundleIdCapabilitiesAsync();
@@ -1,6 +1,6 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
2
  import { DateTime } from 'luxon';
3
- import { d as getShortDate, o as Profile, p as ProfileType } from './baseCommand-CpAJaJoG.js';
3
+ import { d as getShortDate, o as Profile, p as ProfileType } from './baseCommand-ByzFMr-B.js';
4
4
  import 'node:crypto';
5
5
  import 'node:fs';
6
6
  import 'node:path';
@@ -1,6 +1,6 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { Q as getGoogleStatus } from './baseCommand-CpAJaJoG.js';
3
- import { i as cacheKeys } from './baseGameCommand-Cbx4ywHl.js';
2
+ import { R as getGoogleStatus } from './baseCommand-ByzFMr-B.js';
3
+ import { i as cacheKeys } from './baseGameCommand-D8Z3SaiJ.js';
4
4
 
5
5
  const useGoogleStatus = () => useQuery({
6
6
  queryFn: getGoogleStatus,
@@ -1,6 +1,6 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
2
  import axios from 'axios';
3
- import { r as getAuthedHeaders, q as API_URL, E as castArrayObjectDates, g as getShortUUID, d as getShortDate } from './baseCommand-CpAJaJoG.js';
3
+ import { r as getAuthedHeaders, q as API_URL, E as castArrayObjectDates, g as getShortUUID, d as getShortDate } from './baseCommand-ByzFMr-B.js';
4
4
  import 'node:crypto';
5
5
  import 'node:fs';
6
6
  import 'node:path';
@@ -11,7 +11,7 @@ import 'isomorphic-git';
11
11
  import '@oclif/core';
12
12
  import 'react';
13
13
  import 'luxon';
14
- import { i as cacheKeys } from './baseGameCommand-Cbx4ywHl.js';
14
+ import { i as cacheKeys } from './baseGameCommand-D8Z3SaiJ.js';
15
15
  import 'uuid';
16
16
  import 'fast-glob';
17
17
  import 'stream';
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from 'react';
2
2
  import { io } from 'socket.io-client';
3
- import { I as WS_URL, K as getAuthToken } from './baseCommand-CpAJaJoG.js';
3
+ import { I as WS_URL, K as getAuthToken } from './baseCommand-ByzFMr-B.js';
4
4
 
5
5
  function useWebSocket(listeners = []) {
6
6
  const log = () => {
@@ -0,0 +1,30 @@
1
+ # Command: `game job logs`
2
+
3
+ ## Description
4
+
5
+ Downloads the full plain-text logs for a job and writes them to stdout.
6
+
7
+ ## Help Output
8
+
9
+ ```help
10
+ USAGE
11
+ $ shipthis game job logs JOB_ID [-g <value>]
12
+
13
+ ARGUMENTS
14
+ JOB_ID The id of the job to get the logs for
15
+
16
+ FLAGS
17
+ -g, --gameId=<value> The ID of the game
18
+
19
+ DESCRIPTION
20
+ Downloads the full plain-text logs for a job and writes them to stdout.
21
+
22
+ EXAMPLES
23
+ $ shipthis game job logs 4d32239e
24
+
25
+ $ shipthis game job logs 4d32239e > job.log
26
+
27
+ $ shipthis game job logs 4d32239e | grep -i error
28
+
29
+ $ shipthis game job logs --gameId 0c179fc4 4d32239e | less
30
+ ```
package/docs/game/job.md CHANGED
@@ -48,6 +48,37 @@ EXAMPLES
48
48
  $ shipthis game job list --gameId 0c179fc4
49
49
  ```
50
50
 
51
+ ### `game job logs`
52
+
53
+ #### Description
54
+
55
+ Downloads the full plain-text logs for a job and writes them to stdout.
56
+
57
+ #### Help Output
58
+
59
+ ```help
60
+ USAGE
61
+ $ shipthis game job logs JOB_ID [-g <value>]
62
+
63
+ ARGUMENTS
64
+ JOB_ID The id of the job to get the logs for
65
+
66
+ FLAGS
67
+ -g, --gameId=<value> The ID of the game
68
+
69
+ DESCRIPTION
70
+ Downloads the full plain-text logs for a job and writes them to stdout.
71
+
72
+ EXAMPLES
73
+ $ shipthis game job logs 4d32239e
74
+
75
+ $ shipthis game job logs 4d32239e > job.log
76
+
77
+ $ shipthis game job logs 4d32239e | grep -i error
78
+
79
+ $ shipthis game job logs --gameId 0c179fc4 4d32239e | less
80
+ ```
81
+
51
82
  ### `game job status`
52
83
 
53
84
  #### Description