eas-cli 12.5.4 → 12.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,22 @@
1
+ import EasCommand from '../../commandUtils/EasCommand';
2
+ import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
3
+ import { PauseUpdateChannelMutationVariables, UpdateChannelBasicInfoFragment } from '../../graphql/generated';
4
+ export declare function pauseUpdateChannelAsync(graphqlClient: ExpoGraphqlClient, { channelId }: PauseUpdateChannelMutationVariables): Promise<UpdateChannelBasicInfoFragment>;
5
+ export default class ChannelPause extends EasCommand {
6
+ static description: string;
7
+ static args: {
8
+ name: string;
9
+ required: boolean;
10
+ description: string;
11
+ }[];
12
+ static flags: {
13
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ 'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
16
+ };
17
+ static contextDefinition: {
18
+ loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
19
+ privateProjectConfig: import("../../commandUtils/context/PrivateProjectConfigContextField").PrivateProjectConfigContextField;
20
+ };
21
+ runAsync(): Promise<void>;
22
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.pauseUpdateChannelAsync = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const core_1 = require("@oclif/core");
7
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ const graphql_1 = require("graphql");
9
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
10
+ const queries_1 = require("../../channel/queries");
11
+ const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
12
+ const flags_1 = require("../../commandUtils/flags");
13
+ const client_1 = require("../../graphql/client");
14
+ const ChannelQuery_1 = require("../../graphql/queries/ChannelQuery");
15
+ const UpdateChannelBasicInfo_1 = require("../../graphql/types/UpdateChannelBasicInfo");
16
+ const log_1 = tslib_1.__importDefault(require("../../log"));
17
+ const json_1 = require("../../utils/json");
18
+ async function pauseUpdateChannelAsync(graphqlClient, { channelId }) {
19
+ const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
20
+ .mutation((0, graphql_tag_1.default) `
21
+ mutation PauseUpdateChannel($channelId: ID!) {
22
+ updateChannel {
23
+ pauseUpdateChannel(channelId: $channelId) {
24
+ id
25
+ ...UpdateChannelBasicInfoFragment
26
+ }
27
+ }
28
+ }
29
+ ${(0, graphql_1.print)(UpdateChannelBasicInfo_1.UpdateChannelBasicInfoFragmentNode)}
30
+ `, { channelId })
31
+ .toPromise());
32
+ const channel = data.updateChannel.pauseUpdateChannel;
33
+ if (!channel) {
34
+ throw new Error(`Could not find a channel with id: ${channelId}`);
35
+ }
36
+ return channel;
37
+ }
38
+ exports.pauseUpdateChannelAsync = pauseUpdateChannelAsync;
39
+ class ChannelPause extends EasCommand_1.default {
40
+ async runAsync() {
41
+ const { args, flags: { json, 'non-interactive': nonInteractive }, } = await this.parse(_a);
42
+ const { privateProjectConfig: { projectId }, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
43
+ nonInteractive,
44
+ });
45
+ if (json) {
46
+ (0, json_1.enableJsonOutput)();
47
+ }
48
+ const existingChannel = args.name
49
+ ? await ChannelQuery_1.ChannelQuery.viewUpdateChannelAsync(graphqlClient, {
50
+ appId: projectId,
51
+ channelName: args.name,
52
+ })
53
+ : await (0, queries_1.selectChannelOnAppAsync)(graphqlClient, {
54
+ projectId,
55
+ selectionPromptTitle: 'Select a channel to edit',
56
+ paginatedQueryOptions: { json, nonInteractive, offset: 0 },
57
+ });
58
+ const channel = await pauseUpdateChannelAsync(graphqlClient, {
59
+ channelId: existingChannel.id,
60
+ });
61
+ if (json) {
62
+ (0, json_1.printJsonOnlyOutput)(channel);
63
+ }
64
+ else {
65
+ log_1.default.withTick((0, chalk_1.default) `Channel {bold ${channel.name}} is now paused.\n`);
66
+ log_1.default.addNewLineIfNone();
67
+ log_1.default.log((0, chalk_1.default) `Users with builds on channel {bold ${channel.name}} will no longer receive updates.`);
68
+ }
69
+ }
70
+ }
71
+ _a = ChannelPause;
72
+ ChannelPause.description = 'pause a channel to stop it from sending updates';
73
+ ChannelPause.args = [
74
+ {
75
+ name: 'name',
76
+ required: false,
77
+ description: 'Name of the channel to edit',
78
+ },
79
+ ];
80
+ ChannelPause.flags = {
81
+ branch: core_1.Flags.string({
82
+ description: 'Name of the branch to point to',
83
+ }),
84
+ ...flags_1.EasNonInteractiveAndJsonFlags,
85
+ };
86
+ ChannelPause.contextDefinition = {
87
+ ..._a.ContextOptions.ProjectConfig,
88
+ ..._a.ContextOptions.LoggedIn,
89
+ };
90
+ exports.default = ChannelPause;
@@ -0,0 +1,22 @@
1
+ import EasCommand from '../../commandUtils/EasCommand';
2
+ import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
3
+ import { ResumeUpdateChannelMutationVariables, UpdateChannelBasicInfoFragment } from '../../graphql/generated';
4
+ export declare function resumeUpdateChannelAsync(graphqlClient: ExpoGraphqlClient, { channelId }: ResumeUpdateChannelMutationVariables): Promise<UpdateChannelBasicInfoFragment>;
5
+ export default class ChannelResume extends EasCommand {
6
+ static description: string;
7
+ static args: {
8
+ name: string;
9
+ required: boolean;
10
+ description: string;
11
+ }[];
12
+ static flags: {
13
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ 'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
16
+ };
17
+ static contextDefinition: {
18
+ loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
19
+ privateProjectConfig: import("../../commandUtils/context/PrivateProjectConfigContextField").PrivateProjectConfigContextField;
20
+ };
21
+ runAsync(): Promise<void>;
22
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.resumeUpdateChannelAsync = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const core_1 = require("@oclif/core");
7
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ const graphql_1 = require("graphql");
9
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
10
+ const queries_1 = require("../../channel/queries");
11
+ const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
12
+ const flags_1 = require("../../commandUtils/flags");
13
+ const client_1 = require("../../graphql/client");
14
+ const ChannelQuery_1 = require("../../graphql/queries/ChannelQuery");
15
+ const UpdateChannelBasicInfo_1 = require("../../graphql/types/UpdateChannelBasicInfo");
16
+ const log_1 = tslib_1.__importDefault(require("../../log"));
17
+ const json_1 = require("../../utils/json");
18
+ async function resumeUpdateChannelAsync(graphqlClient, { channelId }) {
19
+ const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
20
+ .mutation((0, graphql_tag_1.default) `
21
+ mutation ResumeUpdateChannel($channelId: ID!) {
22
+ updateChannel {
23
+ resumeUpdateChannel(channelId: $channelId) {
24
+ id
25
+ ...UpdateChannelBasicInfoFragment
26
+ }
27
+ }
28
+ }
29
+ ${(0, graphql_1.print)(UpdateChannelBasicInfo_1.UpdateChannelBasicInfoFragmentNode)}
30
+ `, { channelId })
31
+ .toPromise());
32
+ const channel = data.updateChannel.resumeUpdateChannel;
33
+ if (!channel) {
34
+ throw new Error(`Could not find a channel with id: ${channelId}`);
35
+ }
36
+ return channel;
37
+ }
38
+ exports.resumeUpdateChannelAsync = resumeUpdateChannelAsync;
39
+ class ChannelResume extends EasCommand_1.default {
40
+ async runAsync() {
41
+ const { args, flags: { json, 'non-interactive': nonInteractive }, } = await this.parse(_a);
42
+ const { privateProjectConfig: { projectId }, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
43
+ nonInteractive,
44
+ });
45
+ if (json) {
46
+ (0, json_1.enableJsonOutput)();
47
+ }
48
+ const existingChannel = args.name
49
+ ? await ChannelQuery_1.ChannelQuery.viewUpdateChannelAsync(graphqlClient, {
50
+ appId: projectId,
51
+ channelName: args.name,
52
+ })
53
+ : await (0, queries_1.selectChannelOnAppAsync)(graphqlClient, {
54
+ projectId,
55
+ selectionPromptTitle: 'Select a channel to edit',
56
+ paginatedQueryOptions: { json, nonInteractive, offset: 0 },
57
+ });
58
+ const channel = await resumeUpdateChannelAsync(graphqlClient, {
59
+ channelId: existingChannel.id,
60
+ });
61
+ if (json) {
62
+ (0, json_1.printJsonOnlyOutput)(channel);
63
+ }
64
+ else {
65
+ log_1.default.withTick((0, chalk_1.default) `Channel {bold ${channel.name}} is now active.\n`);
66
+ log_1.default.addNewLineIfNone();
67
+ log_1.default.log((0, chalk_1.default) `Users with builds on channel {bold ${channel.name}} will now receive updates.`);
68
+ }
69
+ }
70
+ }
71
+ _a = ChannelResume;
72
+ ChannelResume.description = 'resume a channel to start sending updates';
73
+ ChannelResume.args = [
74
+ {
75
+ name: 'name',
76
+ required: false,
77
+ description: 'Name of the channel to edit',
78
+ },
79
+ ];
80
+ ChannelResume.flags = {
81
+ branch: core_1.Flags.string({
82
+ description: 'Name of the branch to point to',
83
+ }),
84
+ ...flags_1.EasNonInteractiveAndJsonFlags,
85
+ };
86
+ ChannelResume.contextDefinition = {
87
+ ..._a.ContextOptions.ProjectConfig,
88
+ ..._a.ContextOptions.LoggedIn,
89
+ };
90
+ exports.default = ChannelResume;
@@ -13,5 +13,4 @@ export default class EnvironmentVariablePush extends EasCommand {
13
13
  };
14
14
  runAsync(): Promise<void>;
15
15
  private parseEnvFileAsync;
16
- private validateFlags;
17
16
  }
@@ -12,13 +12,19 @@ const EnvironmentVariableMutation_1 = require("../../graphql/mutations/Environme
12
12
  const EnvironmentVariablesQuery_1 = require("../../graphql/queries/EnvironmentVariablesQuery");
13
13
  const log_1 = tslib_1.__importDefault(require("../../log"));
14
14
  const prompts_1 = require("../../prompts");
15
+ const prompts_2 = require("../../utils/prompts");
15
16
  class EnvironmentVariablePush extends EasCommand_1.default {
16
17
  async runAsync() {
17
- const { flags } = await this.parse(_a);
18
- const { environment: environments, path: envPath } = this.validateFlags(flags);
18
+ let { flags: { environment: environments, path: envPath }, } = await this.parse(_a);
19
19
  const { privateProjectConfig: { projectId }, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
20
20
  nonInteractive: false,
21
21
  });
22
+ if (!environments) {
23
+ environments = await (0, prompts_2.promptVariableEnvironmentAsync)({
24
+ nonInteractive: false,
25
+ multiple: true,
26
+ });
27
+ }
22
28
  const updateVariables = await this.parseEnvFileAsync(envPath, environments);
23
29
  const variableNames = Object.keys(updateVariables);
24
30
  for (const environment of environments) {
@@ -130,12 +136,6 @@ class EnvironmentVariablePush extends EasCommand_1.default {
130
136
  }
131
137
  return pushInput;
132
138
  }
133
- validateFlags(flags) {
134
- if (!flags.environment || flags.environment.length === 0) {
135
- throw new Error('Please provide an environment to push the env file to.');
136
- }
137
- return { ...flags, environment: flags.environment };
138
- }
139
139
  }
140
140
  _a = EnvironmentVariablePush;
141
141
  EnvironmentVariablePush.description = 'push env file';
@@ -1,19 +1,19 @@
1
1
  import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class UpdateEdit extends EasCommand {
3
3
  static description: string;
4
- static hidden: boolean;
5
4
  static args: {
6
5
  name: string;
7
- required: boolean;
8
6
  description: string;
9
7
  }[];
10
8
  static flags: {
11
9
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
10
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
11
  'rollout-percentage': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
12
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
14
13
  };
15
14
  static contextDefinition: {
16
15
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
16
+ privateProjectConfig: import("../../commandUtils/context/PrivateProjectConfigContextField").PrivateProjectConfigContextField;
17
17
  };
18
18
  runAsync(): Promise<void>;
19
19
  }
@@ -5,21 +5,56 @@ const tslib_1 = require("tslib");
5
5
  const core_1 = require("@oclif/core");
6
6
  const assert_1 = tslib_1.__importDefault(require("assert"));
7
7
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ const queries_1 = require("../../branch/queries");
8
9
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
9
10
  const flags_1 = require("../../commandUtils/flags");
10
11
  const PublishMutation_1 = require("../../graphql/mutations/PublishMutation");
11
12
  const UpdateQuery_1 = require("../../graphql/queries/UpdateQuery");
12
13
  const log_1 = tslib_1.__importDefault(require("../../log"));
13
14
  const prompts_1 = require("../../prompts");
15
+ const queries_2 = require("../../update/queries");
14
16
  const utils_1 = require("../../update/utils");
15
17
  const json_1 = require("../../utils/json");
16
18
  class UpdateEdit extends EasCommand_1.default {
17
19
  async runAsync() {
18
- const { args: { groupId }, flags: { 'rollout-percentage': rolloutPercentage, json: jsonFlag, 'non-interactive': nonInteractive, }, } = await this.parse(_a);
19
- const { loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, { nonInteractive });
20
+ const { args: { groupId: maybeGroupId }, flags: { 'rollout-percentage': rolloutPercentage, json: jsonFlag, 'non-interactive': nonInteractive, branch: branchFlag, }, } = await this.parse(_a);
21
+ const { privateProjectConfig: { projectId }, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, { nonInteractive });
20
22
  if (jsonFlag) {
21
23
  (0, json_1.enableJsonOutput)();
22
24
  }
25
+ let groupId = maybeGroupId;
26
+ if (!groupId) {
27
+ let branch = branchFlag;
28
+ if (!branch) {
29
+ const validationMessage = 'Branch name may not be empty.';
30
+ if (nonInteractive) {
31
+ throw new Error(validationMessage);
32
+ }
33
+ const selectedBranch = await (0, queries_1.selectBranchOnAppAsync)(graphqlClient, {
34
+ projectId,
35
+ promptTitle: 'On which branch would you like search for an update to edit?',
36
+ displayTextForListItem: updateBranch => ({
37
+ title: updateBranch.name,
38
+ }),
39
+ paginatedQueryOptions: {
40
+ json: jsonFlag,
41
+ nonInteractive,
42
+ offset: 0,
43
+ },
44
+ });
45
+ branch = selectedBranch.name;
46
+ }
47
+ const selectedUpdateGroup = await (0, queries_2.selectUpdateGroupOnBranchAsync)(graphqlClient, {
48
+ projectId,
49
+ branchName: branch,
50
+ paginatedQueryOptions: {
51
+ json: jsonFlag,
52
+ nonInteractive,
53
+ offset: 0,
54
+ },
55
+ });
56
+ groupId = selectedUpdateGroup[0].group;
57
+ }
23
58
  const proposedUpdatesToEdit = (await UpdateQuery_1.UpdateQuery.viewUpdateGroupAsync(graphqlClient, { groupId })).map(u => ({ updateId: u.id, rolloutPercentage: u.rolloutPercentage }));
24
59
  const updatesToEdit = proposedUpdatesToEdit.filter((u) => u.rolloutPercentage !== null && u.rolloutPercentage !== undefined);
25
60
  if (updatesToEdit.length === 0) {
@@ -79,11 +114,9 @@ class UpdateEdit extends EasCommand_1.default {
79
114
  }
80
115
  _a = UpdateEdit;
81
116
  UpdateEdit.description = 'edit all the updates in an update group';
82
- UpdateEdit.hidden = true;
83
117
  UpdateEdit.args = [
84
118
  {
85
119
  name: 'groupId',
86
- required: true,
87
120
  description: 'The ID of an update group to edit.',
88
121
  },
89
122
  ];
@@ -94,9 +127,13 @@ UpdateEdit.flags = {
94
127
  min: 0,
95
128
  max: 100,
96
129
  }),
130
+ branch: core_1.Flags.string({
131
+ description: 'Branch for which to list updates to select from',
132
+ }),
97
133
  ...flags_1.EasNonInteractiveAndJsonFlags,
98
134
  };
99
135
  UpdateEdit.contextDefinition = {
136
+ ..._a.ContextOptions.ProjectConfig,
100
137
  ..._a.ContextOptions.LoggedIn,
101
138
  };
102
139
  exports.default = UpdateEdit;
@@ -683,7 +683,8 @@ export type ActivityTimelineProjectActivity = {
683
683
  export declare enum ActivityTimelineProjectActivityType {
684
684
  Build = "BUILD",
685
685
  Submission = "SUBMISSION",
686
- Update = "UPDATE"
686
+ Update = "UPDATE",
687
+ Worker = "WORKER"
687
688
  }
688
689
  /** A regular user, SSO user, or robot that can authenticate with Expo services and be a member of accounts. */
689
690
  export type Actor = {
@@ -1224,6 +1225,7 @@ export type App = Project & {
1224
1225
  workerDeploymentsCrashes?: Maybe<WorkerDeploymentCrashes>;
1225
1226
  workerDeploymentsRequest: WorkerDeploymentRequestEdge;
1226
1227
  workerDeploymentsRequests?: Maybe<WorkerDeploymentRequests>;
1228
+ workflows: Array<Workflow>;
1227
1229
  };
1228
1230
  /** Represents an Exponent App (or Experience in legacy terms) */
1229
1231
  export type AppActivityTimelineProjectActivitiesArgs = {
@@ -2140,15 +2142,11 @@ export type AuditLogMutationExportAuditLogsArgs = {
2140
2142
  };
2141
2143
  export type AuditLogQuery = {
2142
2144
  __typename?: 'AuditLogQuery';
2143
- /** Query Audit Logs by account ID */
2144
- byAccountId: Array<AuditLog>;
2145
+ /** Audit logs for account */
2146
+ byId: AuditLog;
2145
2147
  };
2146
- export type AuditLogQueryByAccountIdArgs = {
2147
- accountId: Scalars['ID']['input'];
2148
- limit: Scalars['Int']['input'];
2149
- offset: Scalars['Int']['input'];
2150
- targetEntityMutationType?: InputMaybe<Array<TargetEntityMutationType>>;
2151
- targetEntityTypeName?: InputMaybe<Array<EntityTypeName>>;
2148
+ export type AuditLogQueryByIdArgs = {
2149
+ auditLogId: Scalars['ID']['input'];
2152
2150
  };
2153
2151
  export declare enum AuditLogsExportFormat {
2154
2152
  Csv = "CSV",
@@ -3274,7 +3272,9 @@ export declare enum EntityTypeName {
3274
3272
  GoogleServiceAccountKey = "GoogleServiceAccountKey",
3275
3273
  IosAppCredentials = "IosAppCredentials",
3276
3274
  UserInvitation = "UserInvitation",
3277
- UserPermission = "UserPermission"
3275
+ UserPermission = "UserPermission",
3276
+ Workflow = "Workflow",
3277
+ WorkflowRevision = "WorkflowRevision"
3278
3278
  }
3279
3279
  export type EnvironmentSecret = {
3280
3280
  __typename?: 'EnvironmentSecret';
@@ -4575,6 +4575,22 @@ export type RequestsFilters = {
4575
4575
  status?: InputMaybe<Array<Scalars['Int']['input']>>;
4576
4576
  statusType?: InputMaybe<Array<ResponseStatusType>>;
4577
4577
  };
4578
+ export type RequestsOrderBy = {
4579
+ direction?: InputMaybe<RequestsOrderByDirection>;
4580
+ field: RequestsOrderByField;
4581
+ };
4582
+ export declare enum RequestsOrderByDirection {
4583
+ Asc = "ASC",
4584
+ Desc = "DESC"
4585
+ }
4586
+ export declare enum RequestsOrderByField {
4587
+ AssetsSum = "ASSETS_SUM",
4588
+ CacheHitRatio = "CACHE_HIT_RATIO",
4589
+ CachePassRatio = "CACHE_PASS_RATIO",
4590
+ CrashesSum = "CRASHES_SUM",
4591
+ Duration = "DURATION",
4592
+ RequestsSum = "REQUESTS_SUM"
4593
+ }
4578
4594
  export type RescindUserInvitationResult = {
4579
4595
  __typename?: 'RescindUserInvitationResult';
4580
4596
  id: Scalars['ID']['output'];
@@ -4887,6 +4903,8 @@ export type RootQuery = {
4887
4903
  /** Top-level query object for querying Webhooks. */
4888
4904
  webhook: WebhookQuery;
4889
4905
  workerDeployment: WorkerDeploymentQuery;
4906
+ workflowRevisions: WorkflowRevisionQuery;
4907
+ workflows: WorkflowQuery;
4890
4908
  };
4891
4909
  export type RootQueryAllPublicAppsArgs = {
4892
4910
  filter: AppsFilter;
@@ -6040,17 +6058,12 @@ export type UserAuditLogMutationExportUserAuditLogsArgs = {
6040
6058
  };
6041
6059
  export type UserAuditLogQuery = {
6042
6060
  __typename?: 'UserAuditLogQuery';
6043
- /** Query User Audit Logs by user ID */
6044
- byUserId: Array<UserAuditLog>;
6045
6061
  /** Audit logs for user */
6062
+ byId: UserAuditLog;
6046
6063
  byUserIdPaginated: UserAuditLogConnection;
6047
6064
  };
6048
- export type UserAuditLogQueryByUserIdArgs = {
6049
- limit: Scalars['Int']['input'];
6050
- offset: Scalars['Int']['input'];
6051
- targetEntityMutationType?: InputMaybe<Array<TargetEntityMutationType>>;
6052
- targetEntityTypeName?: InputMaybe<Array<UserEntityTypeName>>;
6053
- userId: Scalars['ID']['input'];
6065
+ export type UserAuditLogQueryByIdArgs = {
6066
+ auditLogId: Scalars['ID']['input'];
6054
6067
  };
6055
6068
  export type UserAuditLogQueryByUserIdPaginatedArgs = {
6056
6069
  after?: InputMaybe<Scalars['String']['input']>;
@@ -6325,8 +6338,10 @@ export type WorkerCustomDomain = {
6325
6338
  updatedAt: Scalars['DateTime']['output'];
6326
6339
  verificationRecord?: Maybe<CustomDomainDnsRecord>;
6327
6340
  };
6328
- export type WorkerDeployment = {
6341
+ export type WorkerDeployment = ActivityTimelineProjectActivity & {
6329
6342
  __typename?: 'WorkerDeployment';
6343
+ activityTimestamp: Scalars['DateTime']['output'];
6344
+ actor?: Maybe<Actor>;
6330
6345
  aliases?: Maybe<Array<WorkerDeploymentAlias>>;
6331
6346
  crashes?: Maybe<WorkerDeploymentCrashes>;
6332
6347
  createdAt: Scalars['DateTime']['output'];
@@ -6501,8 +6516,10 @@ export type WorkerDeploymentRequests = {
6501
6516
  byBrowser: Array<WorkerDeploymentRequestsBrowserEdge>;
6502
6517
  byCacheStatus: Array<WorkerDeploymentRequestsCacheStatusEdge>;
6503
6518
  byContinent: Array<WorkerDeploymentRequestsContinentEdge>;
6519
+ byCountry: Array<WorkerDeploymentRequestsCountryEdge>;
6504
6520
  byMethod: Array<WorkerDeploymentRequestsMethodEdge>;
6505
6521
  byOS: Array<WorkerDeploymentRequestsOperatingSystemEdge>;
6522
+ byResponseType: Array<WorkerDeploymentRequestsResponseTypeEdge>;
6506
6523
  byStatusType: Array<WorkerDeploymentRequestsStatusTypeEdge>;
6507
6524
  interval: Scalars['Int']['output'];
6508
6525
  minRowsWithoutLimit: Scalars['Int']['output'];
@@ -6510,6 +6527,38 @@ export type WorkerDeploymentRequests = {
6510
6527
  summary: WorkerDeploymentRequestsAggregationNode;
6511
6528
  timeseries: Array<WorkerDeploymentRequestsTimeseriesEdge>;
6512
6529
  };
6530
+ export type WorkerDeploymentRequestsByBrowserArgs = {
6531
+ limit?: InputMaybe<Scalars['Int']['input']>;
6532
+ orderBy?: InputMaybe<RequestsOrderBy>;
6533
+ };
6534
+ export type WorkerDeploymentRequestsByCacheStatusArgs = {
6535
+ limit?: InputMaybe<Scalars['Int']['input']>;
6536
+ orderBy?: InputMaybe<RequestsOrderBy>;
6537
+ };
6538
+ export type WorkerDeploymentRequestsByContinentArgs = {
6539
+ limit?: InputMaybe<Scalars['Int']['input']>;
6540
+ orderBy?: InputMaybe<RequestsOrderBy>;
6541
+ };
6542
+ export type WorkerDeploymentRequestsByCountryArgs = {
6543
+ limit?: InputMaybe<Scalars['Int']['input']>;
6544
+ orderBy?: InputMaybe<RequestsOrderBy>;
6545
+ };
6546
+ export type WorkerDeploymentRequestsByMethodArgs = {
6547
+ limit?: InputMaybe<Scalars['Int']['input']>;
6548
+ orderBy?: InputMaybe<RequestsOrderBy>;
6549
+ };
6550
+ export type WorkerDeploymentRequestsByOsArgs = {
6551
+ limit?: InputMaybe<Scalars['Int']['input']>;
6552
+ orderBy?: InputMaybe<RequestsOrderBy>;
6553
+ };
6554
+ export type WorkerDeploymentRequestsByResponseTypeArgs = {
6555
+ limit?: InputMaybe<Scalars['Int']['input']>;
6556
+ orderBy?: InputMaybe<RequestsOrderBy>;
6557
+ };
6558
+ export type WorkerDeploymentRequestsByStatusTypeArgs = {
6559
+ limit?: InputMaybe<Scalars['Int']['input']>;
6560
+ orderBy?: InputMaybe<RequestsOrderBy>;
6561
+ };
6513
6562
  export type WorkerDeploymentRequestsAggregationNode = {
6514
6563
  __typename?: 'WorkerDeploymentRequestsAggregationNode';
6515
6564
  assetsPerMs?: Maybe<Scalars['Float']['output']>;
@@ -6565,6 +6614,11 @@ export type WorkerDeploymentRequestsContinentEdge = {
6565
6614
  continent: ContinentCode;
6566
6615
  node: WorkerDeploymentRequestsAggregationNode;
6567
6616
  };
6617
+ export type WorkerDeploymentRequestsCountryEdge = {
6618
+ __typename?: 'WorkerDeploymentRequestsCountryEdge';
6619
+ country?: Maybe<Scalars['String']['output']>;
6620
+ node: WorkerDeploymentRequestsAggregationNode;
6621
+ };
6568
6622
  export type WorkerDeploymentRequestsMethodEdge = {
6569
6623
  __typename?: 'WorkerDeploymentRequestsMethodEdge';
6570
6624
  method: Scalars['String']['output'];
@@ -6575,6 +6629,11 @@ export type WorkerDeploymentRequestsOperatingSystemEdge = {
6575
6629
  node: WorkerDeploymentRequestsAggregationNode;
6576
6630
  os?: Maybe<UserAgentOs>;
6577
6631
  };
6632
+ export type WorkerDeploymentRequestsResponseTypeEdge = {
6633
+ __typename?: 'WorkerDeploymentRequestsResponseTypeEdge';
6634
+ node: WorkerDeploymentRequestsAggregationNode;
6635
+ responseType: ResponseType;
6636
+ };
6578
6637
  export type WorkerDeploymentRequestsStatusTypeEdge = {
6579
6638
  __typename?: 'WorkerDeploymentRequestsStatusTypeEdge';
6580
6639
  node: WorkerDeploymentRequestsAggregationNode;
@@ -6585,8 +6644,10 @@ export type WorkerDeploymentRequestsTimeseriesEdge = {
6585
6644
  byBrowser: Array<WorkerDeploymentRequestsBrowserEdge>;
6586
6645
  byCacheStatus: Array<WorkerDeploymentRequestsCacheStatusEdge>;
6587
6646
  byContinent: Array<WorkerDeploymentRequestsContinentEdge>;
6647
+ byCountry: Array<WorkerDeploymentRequestsCountryEdge>;
6588
6648
  byMethod: Array<WorkerDeploymentRequestsMethodEdge>;
6589
6649
  byOS: Array<WorkerDeploymentRequestsOperatingSystemEdge>;
6650
+ byResponseType: Array<WorkerDeploymentRequestsResponseTypeEdge>;
6590
6651
  byStatusType: Array<WorkerDeploymentRequestsStatusTypeEdge>;
6591
6652
  node?: Maybe<WorkerDeploymentRequestsAggregationNode>;
6592
6653
  timestamp: Scalars['DateTime']['output'];
@@ -6604,6 +6665,16 @@ export declare enum WorkerLoggerLevel {
6604
6665
  Trace = "TRACE",
6605
6666
  Warn = "WARN"
6606
6667
  }
6668
+ export type Workflow = {
6669
+ __typename?: 'Workflow';
6670
+ app: App;
6671
+ createdAt: Scalars['DateTime']['output'];
6672
+ fileName: Scalars['String']['output'];
6673
+ id: Scalars['ID']['output'];
6674
+ name?: Maybe<Scalars['String']['output']>;
6675
+ revisions: Array<WorkflowRevision>;
6676
+ updatedAt: Scalars['DateTime']['output'];
6677
+ };
6607
6678
  export type WorkflowJobMutation = {
6608
6679
  __typename?: 'WorkflowJobMutation';
6609
6680
  approveWorkflowJob: Scalars['ID']['output'];
@@ -6611,6 +6682,31 @@ export type WorkflowJobMutation = {
6611
6682
  export type WorkflowJobMutationApproveWorkflowJobArgs = {
6612
6683
  workflowJobId: Scalars['ID']['input'];
6613
6684
  };
6685
+ /** Look up Workflow by ID */
6686
+ export type WorkflowQuery = {
6687
+ __typename?: 'WorkflowQuery';
6688
+ byId: Workflow;
6689
+ };
6690
+ /** Look up Workflow by ID */
6691
+ export type WorkflowQueryByIdArgs = {
6692
+ workflowId: Scalars['ID']['input'];
6693
+ };
6694
+ export type WorkflowRevision = {
6695
+ __typename?: 'WorkflowRevision';
6696
+ blobSha: Scalars['String']['output'];
6697
+ commitSha: Scalars['String']['output'];
6698
+ createdAt: Scalars['DateTime']['output'];
6699
+ id: Scalars['ID']['output'];
6700
+ workflow: Workflow;
6701
+ yamlConfig: Scalars['String']['output'];
6702
+ };
6703
+ export type WorkflowRevisionQuery = {
6704
+ __typename?: 'WorkflowRevisionQuery';
6705
+ byId: WorkflowRevision;
6706
+ };
6707
+ export type WorkflowRevisionQueryByIdArgs = {
6708
+ workflowRevisionId: Scalars['ID']['input'];
6709
+ };
6614
6710
  export type DeleteAndroidAppBuildCredentialsResult = {
6615
6711
  __typename?: 'deleteAndroidAppBuildCredentialsResult';
6616
6712
  id: Scalars['ID']['output'];
@@ -6761,6 +6857,36 @@ export type UpdateChannelBranchMappingMutation = {
6761
6857
  };
6762
6858
  };
6763
6859
  };
6860
+ export type PauseUpdateChannelMutationVariables = Exact<{
6861
+ channelId: Scalars['ID']['input'];
6862
+ }>;
6863
+ export type PauseUpdateChannelMutation = {
6864
+ __typename?: 'RootMutation';
6865
+ updateChannel: {
6866
+ __typename?: 'UpdateChannelMutation';
6867
+ pauseUpdateChannel: {
6868
+ __typename?: 'UpdateChannel';
6869
+ id: string;
6870
+ name: string;
6871
+ branchMapping: string;
6872
+ };
6873
+ };
6874
+ };
6875
+ export type ResumeUpdateChannelMutationVariables = Exact<{
6876
+ channelId: Scalars['ID']['input'];
6877
+ }>;
6878
+ export type ResumeUpdateChannelMutation = {
6879
+ __typename?: 'RootMutation';
6880
+ updateChannel: {
6881
+ __typename?: 'UpdateChannelMutation';
6882
+ resumeUpdateChannel: {
6883
+ __typename?: 'UpdateChannel';
6884
+ id: string;
6885
+ name: string;
6886
+ branchMapping: string;
6887
+ };
6888
+ };
6889
+ };
6764
6890
  export type AppInfoQueryVariables = Exact<{
6765
6891
  appId: Scalars['String']['input'];
6766
6892
  }>;
@@ -11908,6 +12034,7 @@ export type ViewUpdateChannelOnAppQuery = {
11908
12034
  updateChannelByName?: {
11909
12035
  __typename?: 'UpdateChannel';
11910
12036
  id: string;
12037
+ isPaused: boolean;
11911
12038
  name: string;
11912
12039
  updatedAt: any;
11913
12040
  createdAt: any;
@@ -11978,6 +12105,7 @@ export type ViewUpdateChannelsOnAppQuery = {
11978
12105
  updateChannels: Array<{
11979
12106
  __typename?: 'UpdateChannel';
11980
12107
  id: string;
12108
+ isPaused: boolean;
11981
12109
  name: string;
11982
12110
  updatedAt: any;
11983
12111
  createdAt: any;