heroku 11.0.2 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +14 -16
  3. package/bin/run.js +13 -49
  4. package/dist/commands/domains/add.d.ts +1 -1
  5. package/dist/commands/pg/backups/schedule.d.ts +1 -1
  6. package/dist/commands/spaces/index.d.ts +1 -1
  7. package/dist/commands/spaces/vpn/connections.d.ts +1 -1
  8. package/dist/hooks/command_not_found/performance_analytics.js +5 -4
  9. package/dist/hooks/finally/sentry.d.ts +3 -0
  10. package/dist/hooks/finally/sentry.js +42 -0
  11. package/dist/hooks/init/performance_analytics.js +5 -4
  12. package/dist/hooks/postrun/performance_analytics.js +6 -6
  13. package/dist/hooks/prerun/analytics.js +14 -7
  14. package/dist/lib/analytics-telemetry/global-telemetry.d.ts +30 -0
  15. package/dist/lib/analytics-telemetry/global-telemetry.js +103 -0
  16. package/dist/lib/analytics-telemetry/honeycomb-client.d.ts +15 -0
  17. package/dist/lib/analytics-telemetry/honeycomb-client.js +135 -0
  18. package/dist/lib/analytics-telemetry/sentry-client.d.ts +9 -0
  19. package/dist/lib/analytics-telemetry/sentry-client.js +58 -0
  20. package/dist/lib/analytics-telemetry/telemetry-utils.d.ts +68 -0
  21. package/dist/lib/analytics-telemetry/telemetry-utils.js +115 -0
  22. package/dist/lib/analytics-telemetry/telemetry-worker.d.ts +5 -0
  23. package/dist/lib/analytics-telemetry/telemetry-worker.js +37 -0
  24. package/dist/lib/analytics-telemetry/worker-client.d.ts +15 -0
  25. package/dist/lib/analytics-telemetry/worker-client.js +44 -0
  26. package/dist/lib/api.d.ts +1 -1
  27. package/dist/lib/apps/app-transfer.d.ts +1 -1
  28. package/dist/lib/apps/error_info.d.ts +1 -1
  29. package/dist/lib/apps/generation.d.ts +3 -3
  30. package/dist/lib/buildpacks/buildpacks.d.ts +1 -1
  31. package/dist/lib/container/docker_helper.d.ts +4 -4
  32. package/dist/lib/data/types.d.ts +37 -37
  33. package/dist/lib/domains/domains.js +15 -8
  34. package/dist/lib/pg/download.d.ts +1 -1
  35. package/dist/lib/pg/push_pull.d.ts +1 -1
  36. package/dist/lib/pg/setter.d.ts +1 -1
  37. package/dist/lib/pg/types.d.ts +31 -31
  38. package/dist/lib/pipelines/setup/validate.d.ts +1 -1
  39. package/dist/lib/redis/api.d.ts +7 -7
  40. package/dist/lib/spaces/hosts.d.ts +1 -1
  41. package/dist/lib/types/app_errors.d.ts +1 -1
  42. package/dist/lib/types/completion.d.ts +1 -1
  43. package/dist/lib/types/favorites.d.ts +2 -2
  44. package/dist/lib/types/notifications.d.ts +3 -3
  45. package/dist/lib/utils/multisort.d.ts +1 -1
  46. package/npm-shrinkwrap.json +837 -842
  47. package/oclif.manifest.json +1018 -1018
  48. package/package.json +7 -5
  49. package/dist/global_telemetry.d.ts +0 -62
  50. package/dist/global_telemetry.js +0 -216
@@ -11,6 +11,6 @@ export declare abstract class PGSettingsCommand extends Command {
11
11
  };
12
12
  run(): Promise<void>;
13
13
  }
14
- export declare type BooleanAsString = 'on' | 'ON' | 'true' | 'TRUE' | 'off' | 'OFF' | 'false' | 'FALSE';
14
+ export type BooleanAsString = 'on' | 'ON' | 'true' | 'TRUE' | 'off' | 'OFF' | 'false' | 'FALSE';
15
15
  export declare const booleanConverter: (value: BooleanAsString) => boolean;
16
16
  export declare const numericConverter: (value: string) => number;
@@ -1,15 +1,15 @@
1
1
  import * as Heroku from '@heroku-cli/schema';
2
- export declare type TransferSchedule = {
2
+ export type TransferSchedule = {
3
3
  hour: number;
4
4
  name: string;
5
5
  timezone: string;
6
6
  uuid: string;
7
7
  };
8
- export declare type PublicUrlResponse = {
8
+ export type PublicUrlResponse = {
9
9
  url: string;
10
10
  };
11
- declare type TransferTargetType = 'pg_dump' | 'pg_restore' | 'gof3r' | 'htcat';
12
- export declare type BackupTransfer = {
11
+ type TransferTargetType = 'pg_dump' | 'pg_restore' | 'gof3r' | 'htcat';
12
+ export type BackupTransfer = {
13
13
  uuid: string;
14
14
  num: number;
15
15
  from_name: string;
@@ -42,12 +42,12 @@ export declare type BackupTransfer = {
42
42
  message: string;
43
43
  }>;
44
44
  };
45
- export declare type ExtendedAddon = {
45
+ export type ExtendedAddon = {
46
46
  addon_service: Required<Heroku.AddOnService>;
47
47
  plan: Required<Heroku.Plan>;
48
48
  } & Required<Heroku.AddOn>;
49
- declare type ServiceInfo = 'Status' | 'Fork/Follow' | 'Rollback' | 'Created' | 'Region' | 'Data Encryption' | 'Continuous Protection' | 'Enhanced Certificates' | 'Upgradable Extensions' | 'Plan' | 'HA Status' | 'Behind By' | 'Data Size' | 'Tables' | 'PG Version' | 'Connections' | 'Connection Pooling' | 'Credentials' | 'Restricted Credentials' | 'Mutual TLS' | 'Customer Encryption Key' | 'Following' | 'Forked From' | 'Followers' | 'Forks' | 'Maintenance' | 'Maintenance window' | 'Infrastructure' | 'Warning';
50
- export declare type PgDatabaseService = {
49
+ type ServiceInfo = 'Status' | 'Fork/Follow' | 'Rollback' | 'Created' | 'Region' | 'Data Encryption' | 'Continuous Protection' | 'Enhanced Certificates' | 'Upgradable Extensions' | 'Plan' | 'HA Status' | 'Behind By' | 'Data Size' | 'Tables' | 'PG Version' | 'Connections' | 'Connection Pooling' | 'Credentials' | 'Restricted Credentials' | 'Mutual TLS' | 'Customer Encryption Key' | 'Following' | 'Forked From' | 'Followers' | 'Forks' | 'Maintenance' | 'Maintenance window' | 'Infrastructure' | 'Warning';
50
+ export type PgDatabaseService = {
51
51
  addon_id: string;
52
52
  name: string;
53
53
  heroku_resource_id: string;
@@ -88,24 +88,24 @@ export declare type PgDatabaseService = {
88
88
  values: string[];
89
89
  }>;
90
90
  };
91
- export declare type PgStatus = {
91
+ export type PgStatus = {
92
92
  'waiting?': boolean;
93
93
  'error?': boolean;
94
94
  message: string;
95
95
  };
96
- export declare type PgUpgradeStatus = {
96
+ export type PgUpgradeStatus = {
97
97
  'waiting?': boolean;
98
98
  'error?': boolean;
99
99
  message: string;
100
100
  step: string;
101
101
  };
102
- declare type TenantInfoNames = 'Plan' | 'Status' | 'Connections' | 'PG Version' | 'Created' | 'Data Size' | 'Tables' | 'Fork/Follow' | 'Rollback' | 'Continuous Protection' | 'Billing App' | 'Add-on';
103
- export declare type TenantInfo = {
102
+ type TenantInfoNames = 'Plan' | 'Status' | 'Connections' | 'PG Version' | 'Created' | 'Data Size' | 'Tables' | 'Fork/Follow' | 'Rollback' | 'Continuous Protection' | 'Billing App' | 'Add-on';
103
+ export type TenantInfo = {
104
104
  name: TenantInfoNames;
105
105
  values: string[];
106
106
  resolve_db_name?: boolean;
107
107
  };
108
- export declare type PgDatabaseTenant = {
108
+ export type PgDatabaseTenant = {
109
109
  addon_id: string;
110
110
  name: string;
111
111
  plan: string;
@@ -118,17 +118,17 @@ export declare type PgDatabaseTenant = {
118
118
  num_bytes: number;
119
119
  info: Array<TenantInfo>;
120
120
  };
121
- export declare type PgDatabase = PgDatabaseService & PgDatabaseTenant;
122
- export declare type PgUpgradeResponse = {
121
+ export type PgDatabase = PgDatabaseService & PgDatabaseTenant;
122
+ export type PgUpgradeResponse = {
123
123
  message: string;
124
124
  };
125
- export declare type PgUpgradeError = {
125
+ export type PgUpgradeError = {
126
126
  body: {
127
127
  id: string;
128
128
  message: string;
129
129
  };
130
130
  };
131
- export declare type Link = {
131
+ export type Link = {
132
132
  id: string;
133
133
  created_at: string;
134
134
  name: string;
@@ -138,24 +138,24 @@ export declare type Link = {
138
138
  attachment_name: string;
139
139
  };
140
140
  };
141
- export declare type MaintenanceApiResponse = {
141
+ export type MaintenanceApiResponse = {
142
142
  message: string;
143
143
  };
144
- export declare type PgDatabaseConfig = {
144
+ export type PgDatabaseConfig = {
145
145
  [key: string]: any;
146
146
  'log_lock_waits': {
147
147
  value: boolean;
148
148
  };
149
149
  };
150
- export declare type SettingKey = 'log_lock_waits' | 'log_connections' | 'log_min_duration_statement' | 'log_min_error_statement' | 'log_statement' | 'track_functions' | 'pgbouncer_max_client_conn' | 'pg_bouncer_max_db_conns' | 'pg_bouncer_default_pool_size' | 'data_connector_details_logs' | 'auto_explain' | 'auto_explain.log_min_duration' | 'auto_explain.log_analyze' | 'auto_explain.log_triggers' | 'auto_explain.log_buffers' | 'auto_explain.log_verbose' | 'auto_explain.log_nested_statements' | 'auto_explain.log_format';
151
- export declare type Setting<T> = {
150
+ export type SettingKey = 'log_lock_waits' | 'log_connections' | 'log_min_duration_statement' | 'log_min_error_statement' | 'log_statement' | 'track_functions' | 'pgbouncer_max_client_conn' | 'pg_bouncer_max_db_conns' | 'pg_bouncer_default_pool_size' | 'data_connector_details_logs' | 'auto_explain' | 'auto_explain.log_min_duration' | 'auto_explain.log_analyze' | 'auto_explain.log_triggers' | 'auto_explain.log_buffers' | 'auto_explain.log_verbose' | 'auto_explain.log_nested_statements' | 'auto_explain.log_format';
151
+ export type Setting<T> = {
152
152
  value: T;
153
153
  values: Record<string, string>;
154
154
  desc: string;
155
155
  default: T;
156
156
  };
157
- export declare type SettingsResponse = Record<SettingKey, Setting<unknown>>;
158
- export declare type PGDiagnoseResponse = {
157
+ export type SettingsResponse = Record<SettingKey, Setting<unknown>>;
158
+ export type PGDiagnoseResponse = {
159
159
  id: string;
160
160
  app: string;
161
161
  database: string;
@@ -170,21 +170,21 @@ export declare type PGDiagnoseResponse = {
170
170
  PGDiagnoseCheck<BlockingResult>
171
171
  ];
172
172
  };
173
- export declare type PGDiagnoseCheck<T extends PGDiagnoseResult = PGDiagnoseResult> = {
173
+ export type PGDiagnoseCheck<T extends PGDiagnoseResult = PGDiagnoseResult> = {
174
174
  name: string;
175
175
  status: 'red' | 'yellow' | 'green';
176
176
  results: T[];
177
177
  };
178
- export declare type PGDiagnoseResult = ConnCountResult | QueriesResult | UnusedIndexesResult | BloatResult | HitRateResult | BlockingResult;
179
- export declare type ConnCountResult = {
178
+ export type PGDiagnoseResult = ConnCountResult | QueriesResult | UnusedIndexesResult | BloatResult | HitRateResult | BlockingResult;
179
+ export type ConnCountResult = {
180
180
  count: number;
181
181
  };
182
- export declare type QueriesResult = {
182
+ export type QueriesResult = {
183
183
  pid: number;
184
184
  duration: string;
185
185
  query: string;
186
186
  };
187
- export declare type UnusedIndexesResult = {
187
+ export type UnusedIndexesResult = {
188
188
  reason: string;
189
189
  index: string;
190
190
  index_scan_pct: string;
@@ -192,17 +192,17 @@ export declare type UnusedIndexesResult = {
192
192
  index_size: string;
193
193
  table_size: string;
194
194
  };
195
- export declare type BloatResult = {
195
+ export type BloatResult = {
196
196
  type: string;
197
197
  object: string;
198
198
  bloat: number;
199
199
  waste: string;
200
200
  };
201
- export declare type HitRateResult = {
201
+ export type HitRateResult = {
202
202
  name: string;
203
203
  ratio: number;
204
204
  };
205
- export declare type BlockingResult = {
205
+ export type BlockingResult = {
206
206
  blocked_pid: number;
207
207
  blocking_statement: string;
208
208
  blocking_duration: string;
@@ -210,7 +210,7 @@ export declare type BlockingResult = {
210
210
  blocked_statement: string;
211
211
  blocked_duration: string;
212
212
  };
213
- export declare type PGDiagnoseRequest = {
213
+ export type PGDiagnoseRequest = {
214
214
  url: string;
215
215
  plan: string;
216
216
  app: string;
@@ -1,5 +1,5 @@
1
1
  export declare const STAGING_APP_INDICATOR = "-staging";
2
- declare type ValidatedResponse = [false, string] | [true];
2
+ type ValidatedResponse = [false, string] | [true];
3
3
  export declare function pipelineName(name: any): ValidatedResponse;
4
4
  export declare function repoName(repo: any): ValidatedResponse;
5
5
  export declare function nameAndRepo({ name, repo }: {
@@ -1,9 +1,9 @@
1
1
  import { APIClient } from '@heroku-cli/command';
2
2
  import * as Heroku from '@heroku-cli/schema';
3
- export declare type RedisApiResponse = {
3
+ export type RedisApiResponse = {
4
4
  message: string;
5
5
  };
6
- export declare type RedisFormationConfigResponse = {
6
+ export type RedisFormationConfigResponse = {
7
7
  maxmemory_policy: {
8
8
  default: RedisEvictionPolicies;
9
9
  desc: string;
@@ -26,7 +26,7 @@ export declare type RedisFormationConfigResponse = {
26
26
  value: number;
27
27
  };
28
28
  };
29
- export declare type RedisFormationResponse = {
29
+ export type RedisFormationResponse = {
30
30
  addon_id: string;
31
31
  created_at: string;
32
32
  customer_encryption_key?: string;
@@ -46,16 +46,16 @@ export declare type RedisFormationResponse = {
46
46
  resource_url: string;
47
47
  version: string;
48
48
  };
49
- export declare type RedisFormationWaitResponse = {
49
+ export type RedisFormationWaitResponse = {
50
50
  message: string;
51
51
  'waiting?': boolean;
52
52
  };
53
- export declare type RedisMaintenanceWindowResponse = {
53
+ export type RedisMaintenanceWindowResponse = {
54
54
  scheduled_at?: string;
55
55
  window: null | string;
56
56
  };
57
- declare type HttpVerb = 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT';
58
- declare type RedisEvictionPolicies = 'allkeys-lfu' | 'allkeys-lru' | 'allkeys-random' | 'noeviction' | 'volatile-lfu' | 'volatile-lru' | 'volatile-random' | 'volatile-ttl';
57
+ type HttpVerb = 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT';
58
+ type RedisEvictionPolicies = 'allkeys-lfu' | 'allkeys-lru' | 'allkeys-random' | 'noeviction' | 'volatile-lfu' | 'volatile-lru' | 'volatile-random' | 'volatile-ttl';
59
59
  declare const _default: (app: string, database: string | undefined, json: boolean, heroku: APIClient) => {
60
60
  getRedisAddon(addons?: Required<Heroku.AddOn>[]): Promise<Required<Heroku.AddOn>>;
61
61
  info(): Promise<void>;
@@ -1,4 +1,4 @@
1
- export declare type Host = {
1
+ export type Host = {
2
2
  host_id: string;
3
3
  state: string;
4
4
  available_capacity_percentage: number;
@@ -1,4 +1,4 @@
1
- export declare type AppErrors = {
1
+ export type AppErrors = {
2
2
  start_time: string;
3
3
  end_time: string;
4
4
  step: string;
@@ -12,4 +12,4 @@ export interface Completion {
12
12
  options: (ctx: CompletionContext) => Promise<string[]> | string[];
13
13
  skipCache?: boolean;
14
14
  }
15
- export declare type FlagInput = Interfaces.FlagInput;
15
+ export type FlagInput = Interfaces.FlagInput;
@@ -1,7 +1,7 @@
1
- export declare type Favorite = {
1
+ export type Favorite = {
2
2
  id: string;
3
3
  resource_id: string;
4
4
  resource_name: string;
5
5
  type: string;
6
6
  };
7
- export declare type Favorites = Favorite[];
7
+ export type Favorites = Favorite[];
@@ -1,8 +1,8 @@
1
- declare type FollowUp = {
1
+ type FollowUp = {
2
2
  created_at: string;
3
3
  body: string;
4
4
  };
5
- export declare type Notification = {
5
+ export type Notification = {
6
6
  id: string;
7
7
  created_at: string;
8
8
  title: string;
@@ -16,5 +16,5 @@ export declare type Notification = {
16
16
  resource_name: string;
17
17
  type: string;
18
18
  };
19
- export declare type Notifications = Notification[];
19
+ export type Notifications = Notification[];
20
20
  export {};
@@ -1,4 +1,4 @@
1
- export declare type Comparator = (a: any, b: any) => number;
1
+ export type Comparator = (a: any, b: any) => number;
2
2
  /**
3
3
  * The multiSortCompareFn function is used to build a single comparator function for use
4
4
  * in Array.sort when multiple sort criteria is needed on an object type. The indices of