vercel 58.4.4 → 58.5.1

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 (87) hide show
  1. package/dist/chunks/{add-P7WBQMBW.js → add-2KSAN7EK.js} +42 -7
  2. package/dist/chunks/{add-245XOFJO.js → add-HTKUQ3KF.js} +2 -2
  3. package/dist/chunks/{add-XH24V5VU.js → add-Y3ACMZQ3.js} +2 -2
  4. package/dist/chunks/{build-M7NJYJPE.js → build-SOTUMEPT.js} +2 -2
  5. package/dist/chunks/{chunk-MAHXF73X.js → chunk-3L2YLLHC.js} +1 -1
  6. package/dist/chunks/{chunk-M5NOLAJ4.js → chunk-4PZ2IIZI.js} +1 -1
  7. package/dist/chunks/{chunk-2LBVX2H3.js → chunk-4ZZI2JPE.js} +1 -1
  8. package/dist/chunks/{chunk-3QAUXPIR.js → chunk-7RTO3VPE.js} +82 -44
  9. package/dist/chunks/{chunk-XE5VSQ25.js → chunk-CVZWB2MA.js} +1 -1
  10. package/dist/chunks/{chunk-YCPUAG77.js → chunk-FQ4R66UG.js} +1 -1
  11. package/dist/chunks/{chunk-CPFNFVCL.js → chunk-GE5R7SYE.js} +1 -1
  12. package/dist/chunks/{chunk-SJYAUEZR.js → chunk-GKLT2ZGC.js} +3 -15
  13. package/dist/chunks/{chunk-NJUPUGOE.js → chunk-HT2XWSAJ.js} +1 -1
  14. package/dist/chunks/chunk-I2XE3GMB.js +21 -0
  15. package/dist/chunks/{chunk-4BUPRO5B.js → chunk-I5F5AE2Q.js} +1 -1
  16. package/dist/chunks/{chunk-IEDUCUDV.js → chunk-IKIPDMQT.js} +7 -5
  17. package/dist/chunks/{chunk-Y5GTPWXB.js → chunk-IRX26ZL5.js} +1 -1
  18. package/dist/chunks/{chunk-UE3JUVUZ.js → chunk-LTEFJ3VD.js} +2 -2
  19. package/dist/chunks/{chunk-4CCY5OPH.js → chunk-LXRK7KPA.js} +263 -192
  20. package/dist/chunks/{chunk-2FMPLU44.js → chunk-MEOBIY2L.js} +2 -2
  21. package/dist/chunks/chunk-MXLA3VQS.js +20 -0
  22. package/dist/chunks/{chunk-62MH5KPX.js → chunk-NXLNRLL7.js} +1 -1
  23. package/dist/chunks/{chunk-2WILSD7J.js → chunk-OQ6UFVGM.js} +1 -1
  24. package/dist/chunks/{chunk-ZGBBPJ6B.js → chunk-PGH6RJJF.js} +1 -1
  25. package/dist/chunks/{chunk-YDUINEII.js → chunk-QS5I33VI.js} +5 -3
  26. package/dist/chunks/{chunk-EBLH23AQ.js → chunk-TEQKKTJQ.js} +4 -7
  27. package/dist/chunks/{chunk-2MAPZXVV.js → chunk-TQE7DRGH.js} +5 -5
  28. package/dist/chunks/{chunk-4UYKSYKQ.js → chunk-UMA66MKW.js} +66 -2
  29. package/dist/chunks/{chunk-HSYF5SI3.js → chunk-YFQSZI5Q.js} +1 -1
  30. package/dist/chunks/{chunk-AQDWMAPM.js → chunk-Z3VYQ7JP.js} +7 -5
  31. package/dist/chunks/chunk-ZHDQMUK4.js +96 -0
  32. package/dist/chunks/{chunk-NJ6QXKQD.js → chunk-ZYCVYZSR.js} +1 -1
  33. package/dist/chunks/{clear-HWIKQ4NC.js → clear-GLMDDDUR.js} +2 -2
  34. package/dist/chunks/{compile-vercel-config-U5NRIMZ2.js → compile-vercel-config-7JTL7U5E.js} +1 -1
  35. package/dist/chunks/{constants-3FSSR6E7.js → constants-T6BULVX6.js} +1 -1
  36. package/dist/chunks/{delete-NVMGVD5Z.js → delete-HE6FCDYS.js} +2 -2
  37. package/dist/chunks/{delete-FZCOUFGN.js → delete-M3DCAYTX.js} +2 -2
  38. package/dist/chunks/{disable-ERM2BWEQ.js → disable-LHOHFHGU.js} +2 -2
  39. package/dist/chunks/{discard-KM5OLEN4.js → discard-D2SI77HA.js} +2 -2
  40. package/dist/chunks/{edit-TOSB2EMI.js → edit-PSUYL34C.js} +2 -2
  41. package/dist/chunks/{edit-HT3UTATZ.js → edit-XCJDQOZR.js} +3 -3
  42. package/dist/chunks/{enable-BQL6AOQV.js → enable-QXXBU3QH.js} +2 -2
  43. package/dist/chunks/{export-UOWQHOG3.js → export-CRCAJ72L.js} +2 -2
  44. package/dist/chunks/{image-F5SC6Q7Y.js → image-4YES44D3.js} +3 -3
  45. package/dist/chunks/{inspect-LGKOLH2O.js → inspect-CFJWOYWD.js} +3 -3
  46. package/dist/chunks/{inspect-GKJ6T5H4.js → inspect-FEW47KAZ.js} +2 -2
  47. package/dist/chunks/{inspect-PZJM2CWT.js → inspect-GYUTUSOP.js} +5 -5
  48. package/dist/chunks/{inspect-35FU5R62.js → inspect-JIGB2JK7.js} +2 -2
  49. package/dist/chunks/{inspect-5J5GSTOB.js → inspect-WUT7EW6R.js} +2 -2
  50. package/dist/chunks/{list-ITFJYYQ2.js → list-4N6HI5LH.js} +5 -5
  51. package/dist/chunks/{list-2IIE7CAP.js → list-W4ZLROFI.js} +3 -3
  52. package/dist/chunks/{list-KZETH3ZE.js → list-ZQOF2B2L.js} +1 -1
  53. package/dist/chunks/{login-BQPJCJEZ.js → login-FWYKZ642.js} +2 -2
  54. package/dist/chunks/{ls-UXUEP54B.js → ls-7YYHSZIR.js} +2 -2
  55. package/dist/chunks/{ls-ZZFLH7PK.js → ls-AV2WYGNW.js} +2 -2
  56. package/dist/chunks/{ls-DL2LA35C.js → ls-DD7RQ7KH.js} +2 -2
  57. package/dist/chunks/{ls-7GHDK4MD.js → ls-V7E37ERN.js} +6 -6
  58. package/dist/chunks/{ls-YSFWSM6J.js → ls-VOD4NK6A.js} +2 -2
  59. package/dist/chunks/{open-ADNJQN5E.js → open-YEJQVMYZ.js} +2 -2
  60. package/dist/chunks/{permissions-72SZCBIY.js → permissions-OJCRKNGQ.js} +4 -4
  61. package/dist/chunks/{publish-OOAGSEBM.js → publish-XDKQYIKH.js} +2 -2
  62. package/dist/chunks/{push-B6TZDXNF.js → push-Z2EQUVOV.js} +2 -2
  63. package/dist/chunks/{query-LZWS5TDH.js → query-KEICHLVN.js} +1 -1
  64. package/dist/chunks/{reorder-MRHFKPMK.js → reorder-Z6YCND2X.js} +2 -2
  65. package/dist/chunks/{reply-BKTJXO3B.js → reply-CIWFPTEK.js} +2 -2
  66. package/dist/chunks/{resolve-BKVGSGPN.js → resolve-BYDSKVYN.js} +2 -2
  67. package/dist/chunks/{restore-USR7SKWV.js → restore-2KP5DLEC.js} +2 -2
  68. package/dist/chunks/{rm-KUWPNZIS.js → rm-5Z75EGOZ.js} +2 -2
  69. package/dist/chunks/{rm-2UO6BT3A.js → rm-FRKS6Y2G.js} +4 -4
  70. package/dist/chunks/{rm-37MKKV3I.js → rm-RJOWQHQV.js} +2 -2
  71. package/dist/chunks/{rm-VY3OHKFH.js → rm-TNCPDKEX.js} +2 -2
  72. package/dist/chunks/{rule-inspect-JVDOOTWK.js → rule-inspect-NOSNKD63.js} +6 -13
  73. package/dist/chunks/{rules-NTBFZBIF.js → rules-THS42KX4.js} +9 -6
  74. package/dist/chunks/{schema-6EZ72OVH.js → schema-MDLX6ZDL.js} +1 -1
  75. package/dist/chunks/schema-R54OXIXC.js +426 -0
  76. package/dist/chunks/{tags-HNPC63QA.js → tags-NDPHPWME.js} +2 -2
  77. package/dist/chunks/{update-LUYWNZP3.js → update-YAN3MGMW.js} +36 -4
  78. package/dist/commands/build/index.js +60 -21
  79. package/dist/commands/deploy/index.js +21 -14
  80. package/dist/commands/dev/index.js +33 -9
  81. package/dist/commands/env/index.js +7 -7
  82. package/dist/commands/link/index.js +8 -8
  83. package/dist/commands/list/index.js +2 -2
  84. package/dist/commands-bulk.js +1183 -941
  85. package/dist/index.js +11 -10
  86. package/dist/version.mjs +1 -1
  87. package/package.json +47 -47
@@ -6,14 +6,14 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  setupAndLink
9
- } from "./chunk-UE3JUVUZ.js";
9
+ } from "./chunk-LTEFJ3VD.js";
10
10
  import {
11
11
  detectExplicitScope,
12
12
  getLinkedProject,
13
13
  param,
14
14
  printProjectNotFoundError,
15
15
  resolveProjectCwd
16
- } from "./chunk-4CCY5OPH.js";
16
+ } from "./chunk-LXRK7KPA.js";
17
17
  import {
18
18
  buildCommandWithYes,
19
19
  outputActionRequired
@@ -0,0 +1,20 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+
8
+ // src/commands/alerts/rules/schema-help.ts
9
+ var CUSTOM_ALERT_EVENT_HELP = [
10
+ "Run `vercel metrics schema <metric-or-prefix>` to discover available metrics, aggregations, and dimensions. Metric IDs use the `vercel.` namespace, for example `vercel.request.count`.",
11
+ "Custom alert queries use query-engine event and measure names instead of the public metric ID.",
12
+ '`vercel.request.count` maps to `event: "incomingRequest"` and `measure: "count"`.',
13
+ '`vercel.function_invocation.count` maps to `event: "serverlessFunctionInvocation"` and `measure: "count"`.',
14
+ '`vercel.external_api_request.count` maps to `event: "outgoingRequest"` and `measure: "count"`.',
15
+ '`vercel.sandbox.cpu_total_time_ms` maps to `event: "sandboxUsage"` and `measure: "cpuTotalTimeMs"`.'
16
+ ];
17
+
18
+ export {
19
+ CUSTOM_ALERT_EVENT_HELP
20
+ };
@@ -20,7 +20,7 @@ import {
20
20
  getLinkedProject,
21
21
  getProjectByNameOrId,
22
22
  getScope
23
- } from "./chunk-4CCY5OPH.js";
23
+ } from "./chunk-LXRK7KPA.js";
24
24
  import {
25
25
  AGENT_REASON,
26
26
  buildCommandWithGlobalFlags,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  ALIGNED_LABEL_WIDTH
9
- } from "./chunk-4CCY5OPH.js";
9
+ } from "./chunk-LXRK7KPA.js";
10
10
  import {
11
11
  require_ms
12
12
  } from "./chunk-GGP5R3FU.js";
@@ -19,7 +19,7 @@ import {
19
19
  require_lib,
20
20
  require_minimatch,
21
21
  require_pluralize
22
- } from "./chunk-4CCY5OPH.js";
22
+ } from "./chunk-LXRK7KPA.js";
23
23
  import {
24
24
  CantParseJSONFile,
25
25
  cmd,
@@ -11,7 +11,7 @@ import {
11
11
  getLinkedProject,
12
12
  getProjectByNameOrId,
13
13
  getScope
14
- } from "./chunk-4CCY5OPH.js";
14
+ } from "./chunk-LXRK7KPA.js";
15
15
  import {
16
16
  AGENT_REASON,
17
17
  buildCommandWithGlobalFlags,
@@ -117,7 +117,8 @@ async function resolveAlertsScope(client, opts) {
117
117
  }
118
118
  return {
119
119
  teamId: team.id,
120
- projectId: projectResult.id
120
+ projectId: projectResult.id,
121
+ projectName: projectResult.name
121
122
  };
122
123
  }
123
124
  const linkedProject = await getLinkedProject(client);
@@ -147,7 +148,8 @@ async function resolveAlertsScope(client, opts) {
147
148
  }
148
149
  return {
149
150
  teamId: linkedProject.org.id,
150
- projectId: linkedProject.project.id
151
+ projectId: linkedProject.project.id,
152
+ projectName: linkedProject.project.name
151
153
  };
152
154
  }
153
155
 
@@ -65,21 +65,18 @@ function humanizeReference(value, opts = {}) {
65
65
  return opts.case === "title" ? label : label.toLowerCase();
66
66
  }).join(" / ");
67
67
  }
68
- function formatRuleScope(projectId, {
68
+ function formatRuleScope(rule, {
69
69
  projectIdMaxLength = 48,
70
70
  filterMaxLength = 80
71
71
  } = {}) {
72
+ const { projectId } = rule;
72
73
  if (!projectId) {
73
74
  return "team-wide";
74
75
  }
75
- const projectIdMatch = projectId.match(/^projectId eq '([^']+)'$/);
76
- if (projectIdMatch?.[1]) {
77
- return `project: ${truncateMiddle(projectIdMatch[1], projectIdMaxLength)}`;
78
- }
79
- if (!/\s/.test(projectId)) {
76
+ if (isCustomAlertRule(rule)) {
80
77
  return `project: ${truncateMiddle(projectId, projectIdMaxLength)}`;
81
78
  }
82
- return `project filter: ${truncateMiddle(projectId, filterMaxLength)}`;
79
+ return truncateMiddle(projectId, filterMaxLength);
83
80
  }
84
81
  function isCustomAlertRule(rule) {
85
82
  return Boolean(rule.customAlert) || Boolean(
@@ -6,19 +6,19 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  writeProjectSettings
9
- } from "./chunk-M5NOLAJ4.js";
9
+ } from "./chunk-4PZ2IIZI.js";
10
10
  import {
11
11
  autoInstallVercelPlugin
12
- } from "./chunk-NJUPUGOE.js";
12
+ } from "./chunk-HT2XWSAJ.js";
13
13
  import {
14
14
  stamp_default
15
15
  } from "./chunk-64IF634X.js";
16
16
  import {
17
17
  ensureLink
18
- } from "./chunk-2FMPLU44.js";
18
+ } from "./chunk-MEOBIY2L.js";
19
19
  import {
20
20
  pullCommand
21
- } from "./chunk-YCPUAG77.js";
21
+ } from "./chunk-FQ4R66UG.js";
22
22
  import {
23
23
  help
24
24
  } from "./chunk-ZX2FSPWV.js";
@@ -28,7 +28,7 @@ import {
28
28
  envPullCommandLogic,
29
29
  humanizePath,
30
30
  parseTarget
31
- } from "./chunk-4CCY5OPH.js";
31
+ } from "./chunk-LXRK7KPA.js";
32
32
  import {
33
33
  TelemetryClient
34
34
  } from "./chunk-ECCWJHC6.js";
@@ -27,6 +27,13 @@ var scopeOptions = [
27
27
  description: "Team-wide rules only (omit project filter; ignore linked project)."
28
28
  }
29
29
  ];
30
+ var addScopeOptions = [
31
+ {
32
+ ...scopeOptions[0],
33
+ description: "Target project when the body omits projectId; built-in rules otherwise remain team-wide."
34
+ },
35
+ scopeOptions[1]
36
+ ];
30
37
  var rulesLsSubcommand = {
31
38
  name: "ls",
32
39
  aliases: ["list"],
@@ -64,13 +71,48 @@ var rulesLsSubcommand = {
64
71
  }
65
72
  ]
66
73
  };
74
+ var rulesSchemaSubcommand = {
75
+ name: "schema",
76
+ aliases: [],
77
+ description: "Show alert rule body schema and examples by alert type",
78
+ arguments: [],
79
+ options: [
80
+ {
81
+ name: "type",
82
+ shorthand: null,
83
+ type: String,
84
+ argument: "TYPE",
85
+ deprecated: false,
86
+ description: "Alert rule type to describe: usage_anomaly, error_anomaly, or custom_alert."
87
+ },
88
+ formatOption
89
+ ],
90
+ examples: [
91
+ {
92
+ name: "List supported rule types",
93
+ value: `${packageName} alerts rules schema`
94
+ },
95
+ {
96
+ name: "Show error anomaly rule schema",
97
+ value: `${packageName} alerts rules schema --type error_anomaly`
98
+ },
99
+ {
100
+ name: "Show custom alert rule schema",
101
+ value: `${packageName} alerts rules schema --type custom_alert`
102
+ },
103
+ {
104
+ name: "Schema as JSON",
105
+ value: `${packageName} alerts rules schema --type custom_alert --format json`
106
+ }
107
+ ]
108
+ };
67
109
  var rulesAddSubcommand = {
68
110
  name: "add",
69
111
  aliases: ["create"],
70
112
  description: "Create an alert rule from a JSON body file",
71
113
  arguments: [],
72
114
  options: [
73
- ...scopeOptions,
115
+ ...addScopeOptions,
74
116
  formatOption,
75
117
  jsonOption,
76
118
  {
@@ -153,7 +195,7 @@ var rulesUpdateSubcommand = {
153
195
  type: String,
154
196
  argument: "PATH",
155
197
  deprecated: false,
156
- description: "Path to JSON with fields to update (partial document)."
198
+ description: "Path to partial JSON. Omitted fields remain unchanged; null clears supported optional fields."
157
199
  }
158
200
  ],
159
201
  examples: [
@@ -170,6 +212,7 @@ var rulesAggregateCommand = {
170
212
  arguments: [],
171
213
  subcommands: [
172
214
  rulesLsSubcommand,
215
+ rulesSchemaSubcommand,
173
216
  rulesAddSubcommand,
174
217
  rulesInspectSubcommand,
175
218
  rulesRmSubcommand,
@@ -181,15 +224,36 @@ var rulesAggregateCommand = {
181
224
  name: "List rules",
182
225
  value: `${packageName} alerts rules ls`
183
226
  },
227
+ {
228
+ name: "List custom alert rules",
229
+ value: `${packageName} alerts rules ls --type custom_alert`
230
+ },
231
+ {
232
+ name: "Show schema for a rule type",
233
+ value: `${packageName} alerts rules schema --type custom_alert`
234
+ },
184
235
  {
185
236
  name: "Add a rule",
186
237
  value: `${packageName} alerts rules add --body ./rule.json`
238
+ },
239
+ {
240
+ name: "Inspect a rule",
241
+ value: `${packageName} alerts rules inspect ar_abc123`
242
+ },
243
+ {
244
+ name: "Update a rule",
245
+ value: `${packageName} alerts rules update ar_abc123 --body ./patch.json`
246
+ },
247
+ {
248
+ name: "Delete a rule",
249
+ value: `${packageName} alerts rules rm ar_abc123`
187
250
  }
188
251
  ]
189
252
  };
190
253
 
191
254
  export {
192
255
  rulesLsSubcommand,
256
+ rulesSchemaSubcommand,
193
257
  rulesAddSubcommand,
194
258
  rulesInspectSubcommand,
195
259
  rulesRmSubcommand,
@@ -8,7 +8,7 @@ import {
8
8
  formatCondition,
9
9
  formatTransform,
10
10
  isTargetTransform
11
- } from "./chunk-4BUPRO5B.js";
11
+ } from "./chunk-I5F5AE2Q.js";
12
12
  import {
13
13
  output_manager_default
14
14
  } from "./chunk-OX7KI3LF.js";
@@ -7,12 +7,14 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getUpdateCommandInfo,
9
9
  isGlobal
10
- } from "./chunk-NJ6QXKQD.js";
10
+ } from "./chunk-ZYCVYZSR.js";
11
+ import {
12
+ progress
13
+ } from "./chunk-I2XE3GMB.js";
11
14
  import {
12
15
  getGlobalPathConfig,
13
- progress,
14
16
  writeToConfigFile
15
- } from "./chunk-SJYAUEZR.js";
17
+ } from "./chunk-GKLT2ZGC.js";
16
18
  import {
17
19
  validateJsonOutput
18
20
  } from "./chunk-XPKWKPWA.js";
@@ -20,7 +22,7 @@ import {
20
22
  apiCommand,
21
23
  listSubcommand4 as listSubcommand,
22
24
  loginCommand
23
- } from "./chunk-3QAUXPIR.js";
25
+ } from "./chunk-7RTO3VPE.js";
24
26
  import {
25
27
  require_semver
26
28
  } from "./chunk-IB5L4LKZ.js";
@@ -29,7 +31,7 @@ import {
29
31
  } from "./chunk-ZX2FSPWV.js";
30
32
  import {
31
33
  login
32
- } from "./chunk-4CCY5OPH.js";
34
+ } from "./chunk-LXRK7KPA.js";
33
35
  import {
34
36
  TelemetryClient,
35
37
  isNativeBinaryInstall
@@ -0,0 +1,96 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import {
8
+ isJSONObject
9
+ } from "./chunk-GKLT2ZGC.js";
10
+ import {
11
+ getProjectByNameOrId
12
+ } from "./chunk-LXRK7KPA.js";
13
+ import {
14
+ AGENT_REASON,
15
+ outputAgentError
16
+ } from "./chunk-TJJ562C5.js";
17
+ import {
18
+ ProjectNotFound,
19
+ isAPIError
20
+ } from "./chunk-SOFC4MLS.js";
21
+ import {
22
+ output_manager_default
23
+ } from "./chunk-OX7KI3LF.js";
24
+
25
+ // src/commands/alerts/rules/custom-alert-query.ts
26
+ async function resolveCustomAlertProjectName(client, scope, projectId) {
27
+ if (scope.projectId === projectId && scope.projectName) {
28
+ return scope.projectName;
29
+ }
30
+ try {
31
+ const project = await getProjectByNameOrId(client, projectId, scope.teamId);
32
+ return project instanceof ProjectNotFound ? void 0 : project.name;
33
+ } catch (error) {
34
+ if (isAPIError(error)) {
35
+ return void 0;
36
+ }
37
+ throw error;
38
+ }
39
+ }
40
+ function parseCustomAlertQueryBody(client, body) {
41
+ const customAlert = body.customAlert;
42
+ if (!isJSONObject(customAlert)) {
43
+ return void 0;
44
+ }
45
+ const queryJsonString = customAlert.queryJsonString;
46
+ if (typeof queryJsonString !== "string") {
47
+ return void 0;
48
+ }
49
+ let query;
50
+ try {
51
+ query = JSON.parse(queryJsonString);
52
+ } catch {
53
+ const message = "Invalid JSON in customAlert.queryJsonString.";
54
+ outputAgentError(
55
+ client,
56
+ {
57
+ status: "error",
58
+ reason: AGENT_REASON.INVALID_ARGUMENTS,
59
+ message,
60
+ hint: "Provide queryJsonString as an escaped JSON string. Run `vercel alerts rules schema --type custom_alert` for examples."
61
+ },
62
+ 1
63
+ );
64
+ output_manager_default.error(message);
65
+ return 1;
66
+ }
67
+ if (!isJSONObject(query)) {
68
+ return void 0;
69
+ }
70
+ return { customAlert, query };
71
+ }
72
+ function setMissingCustomAlertProjectScope(parsedQuery, teamId, projectId, projectName) {
73
+ const existingScope = parsedQuery.query.scope;
74
+ if (existingScope !== void 0 && !isJSONObject(existingScope)) {
75
+ return;
76
+ }
77
+ const projectScope = existingScope ?? {
78
+ type: "project",
79
+ ownerId: teamId,
80
+ projectIds: [projectId]
81
+ };
82
+ if (!Object.hasOwn(projectScope, "projectId")) {
83
+ projectScope.projectId = projectId;
84
+ }
85
+ if (projectName && !Object.hasOwn(projectScope, "projectName")) {
86
+ projectScope.projectName = projectName;
87
+ }
88
+ parsedQuery.query.scope = projectScope;
89
+ parsedQuery.customAlert.queryJsonString = JSON.stringify(parsedQuery.query);
90
+ }
91
+
92
+ export {
93
+ resolveCustomAlertProjectName,
94
+ parseCustomAlertQueryBody,
95
+ setMissingCustomAlertProjectScope
96
+ };
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_lib
9
- } from "./chunk-4CCY5OPH.js";
9
+ } from "./chunk-LXRK7KPA.js";
10
10
  import {
11
11
  isNativeBinaryInstall
12
12
  } from "./chunk-ECCWJHC6.js";
@@ -13,7 +13,7 @@ import {
13
13
  requireVcrRepository,
14
14
  resolveVcrScope,
15
15
  validateVcrJsonOutput
16
- } from "./chunk-62MH5KPX.js";
16
+ } from "./chunk-NXLNRLL7.js";
17
17
  import "./chunk-G75NFPIT.js";
18
18
  import "./chunk-BUZRVER7.js";
19
19
  import "./chunk-XPKWKPWA.js";
@@ -21,7 +21,7 @@ import {
21
21
  permissionsClearSubcommand
22
22
  } from "./chunk-J6LK45HT.js";
23
23
  import "./chunk-R6IGDGX3.js";
24
- import "./chunk-4CCY5OPH.js";
24
+ import "./chunk-LXRK7KPA.js";
25
25
  import "./chunk-ECCWJHC6.js";
26
26
  import {
27
27
  AGENT_REASON,
@@ -11,7 +11,7 @@ import {
11
11
  findSourceVercelConfigFile,
12
12
  getVercelConfigPath,
13
13
  normalizeConfig
14
- } from "./chunk-4CCY5OPH.js";
14
+ } from "./chunk-LXRK7KPA.js";
15
15
  import "./chunk-ECCWJHC6.js";
16
16
  import "./chunk-TJJ562C5.js";
17
17
  import "./chunk-KBEX5MYS.js";
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import "./chunk-TZ2YI2VH.js";
8
8
 
9
9
  // src/util/constants.ts
10
- var SENTRY_DSN = "https://26a24e59ba954011919a524b341b6ab5@sentry.io/1323225";
10
+ var SENTRY_DSN = "https://26a24e59ba954011919a524b341b6ab5@o205439.ingest.us.sentry.io/1323225";
11
11
  export {
12
12
  SENTRY_DSN
13
13
  };
@@ -15,7 +15,7 @@ import {
15
15
  requireProjectContext,
16
16
  resolveRoutes,
17
17
  withGlobalFlags
18
- } from "./chunk-4BUPRO5B.js";
18
+ } from "./chunk-I5F5AE2Q.js";
19
19
  import {
20
20
  deleteSubcommand
21
21
  } from "./chunk-M22O6CYY.js";
@@ -23,7 +23,7 @@ import {
23
23
  stamp_default
24
24
  } from "./chunk-64IF634X.js";
25
25
  import "./chunk-VXYGCOKL.js";
26
- import "./chunk-4CCY5OPH.js";
26
+ import "./chunk-LXRK7KPA.js";
27
27
  import "./chunk-ECCWJHC6.js";
28
28
  import {
29
29
  AGENT_REASON,
@@ -13,7 +13,7 @@ import {
13
13
  resolveCommentsScope,
14
14
  threadNotFoundMessage,
15
15
  toApiErrorParts
16
- } from "./chunk-2LBVX2H3.js";
16
+ } from "./chunk-4ZZI2JPE.js";
17
17
  import {
18
18
  canPrompt
19
19
  } from "./chunk-2473DUBR.js";
@@ -26,7 +26,7 @@ import {
26
26
  import {
27
27
  deleteSubcommand
28
28
  } from "./chunk-4LDQIDRM.js";
29
- import "./chunk-4CCY5OPH.js";
29
+ import "./chunk-LXRK7KPA.js";
30
30
  import "./chunk-ECCWJHC6.js";
31
31
  import "./chunk-TJJ562C5.js";
32
32
  import "./chunk-KBEX5MYS.js";
@@ -17,7 +17,7 @@ import {
17
17
  requireProjectContext,
18
18
  resolveRoute,
19
19
  withGlobalFlags
20
- } from "./chunk-4BUPRO5B.js";
20
+ } from "./chunk-I5F5AE2Q.js";
21
21
  import {
22
22
  disableSubcommand
23
23
  } from "./chunk-M22O6CYY.js";
@@ -25,7 +25,7 @@ import {
25
25
  stamp_default
26
26
  } from "./chunk-64IF634X.js";
27
27
  import "./chunk-VXYGCOKL.js";
28
- import "./chunk-4CCY5OPH.js";
28
+ import "./chunk-LXRK7KPA.js";
29
29
  import "./chunk-ECCWJHC6.js";
30
30
  import {
31
31
  outputAgentError
@@ -17,7 +17,7 @@ import {
17
17
  printDiffSummary,
18
18
  requireProjectContext,
19
19
  withGlobalFlags
20
- } from "./chunk-4BUPRO5B.js";
20
+ } from "./chunk-I5F5AE2Q.js";
21
21
  import {
22
22
  discardSubcommand
23
23
  } from "./chunk-M22O6CYY.js";
@@ -25,7 +25,7 @@ import {
25
25
  stamp_default
26
26
  } from "./chunk-64IF634X.js";
27
27
  import "./chunk-VXYGCOKL.js";
28
- import "./chunk-4CCY5OPH.js";
28
+ import "./chunk-LXRK7KPA.js";
29
29
  import "./chunk-ECCWJHC6.js";
30
30
  import {
31
31
  outputAgentError
@@ -16,7 +16,7 @@ import {
16
16
  threadNotFoundMessage,
17
17
  toApiErrorParts,
18
18
  updateMessage
19
- } from "./chunk-2LBVX2H3.js";
19
+ } from "./chunk-4ZZI2JPE.js";
20
20
  import "./chunk-2473DUBR.js";
21
21
  import {
22
22
  outputError
@@ -27,7 +27,7 @@ import {
27
27
  import {
28
28
  editSubcommand
29
29
  } from "./chunk-4LDQIDRM.js";
30
- import "./chunk-4CCY5OPH.js";
30
+ import "./chunk-LXRK7KPA.js";
31
31
  import "./chunk-ECCWJHC6.js";
32
32
  import "./chunk-TJJ562C5.js";
33
33
  import "./chunk-KBEX5MYS.js";
@@ -19,7 +19,7 @@ import {
19
19
  printRouteConfig,
20
20
  routingRuleToCurrentRoute,
21
21
  runInteractiveEditLoop
22
- } from "./chunk-HSYF5SI3.js";
22
+ } from "./chunk-YFQSZI5Q.js";
23
23
  import {
24
24
  getRouteVersions
25
25
  } from "./chunk-AHU7WNL2.js";
@@ -31,7 +31,7 @@ import {
31
31
  resolveRoute,
32
32
  shellQuoteRouteIdentifierForSuggestion,
33
33
  withGlobalFlags
34
- } from "./chunk-4BUPRO5B.js";
34
+ } from "./chunk-I5F5AE2Q.js";
35
35
  import {
36
36
  editSubcommand
37
37
  } from "./chunk-M22O6CYY.js";
@@ -39,7 +39,7 @@ import {
39
39
  stamp_default
40
40
  } from "./chunk-64IF634X.js";
41
41
  import "./chunk-VXYGCOKL.js";
42
- import "./chunk-4CCY5OPH.js";
42
+ import "./chunk-LXRK7KPA.js";
43
43
  import "./chunk-ECCWJHC6.js";
44
44
  import {
45
45
  outputAgentError
@@ -17,7 +17,7 @@ import {
17
17
  requireProjectContext,
18
18
  resolveRoute,
19
19
  withGlobalFlags
20
- } from "./chunk-4BUPRO5B.js";
20
+ } from "./chunk-I5F5AE2Q.js";
21
21
  import {
22
22
  enableSubcommand
23
23
  } from "./chunk-M22O6CYY.js";
@@ -25,7 +25,7 @@ import {
25
25
  stamp_default
26
26
  } from "./chunk-64IF634X.js";
27
27
  import "./chunk-VXYGCOKL.js";
28
- import "./chunk-4CCY5OPH.js";
28
+ import "./chunk-LXRK7KPA.js";
29
29
  import "./chunk-ECCWJHC6.js";
30
30
  import {
31
31
  outputAgentError
@@ -9,11 +9,11 @@ import {
9
9
  parseSubcommandArgs,
10
10
  requireProjectContext,
11
11
  withGlobalFlags
12
- } from "./chunk-4BUPRO5B.js";
12
+ } from "./chunk-I5F5AE2Q.js";
13
13
  import {
14
14
  exportSubcommand
15
15
  } from "./chunk-M22O6CYY.js";
16
- import "./chunk-4CCY5OPH.js";
16
+ import "./chunk-LXRK7KPA.js";
17
17
  import "./chunk-ECCWJHC6.js";
18
18
  import {
19
19
  outputAgentError
@@ -56,11 +56,11 @@ async function image(client, argv, telemetry) {
56
56
  }
57
57
  switch (subcommand) {
58
58
  case "ls":
59
- return (await import("./ls-UXUEP54B.js")).default(client, args, telemetry);
59
+ return (await import("./ls-7YYHSZIR.js")).default(client, args, telemetry);
60
60
  case "inspect":
61
- return (await import("./inspect-GKJ6T5H4.js")).default(client, args, telemetry);
61
+ return (await import("./inspect-FEW47KAZ.js")).default(client, args, telemetry);
62
62
  case "rm":
63
- return (await import("./rm-VY3OHKFH.js")).default(client, args, telemetry);
63
+ return (await import("./rm-TNCPDKEX.js")).default(client, args, telemetry);
64
64
  default:
65
65
  output_manager_default.error(`Unhandled image subcommand: ${subcommand}`);
66
66
  return 1;
@@ -10,7 +10,7 @@ import {
10
10
  renderThreadDetail,
11
11
  threadAge,
12
12
  truncate
13
- } from "./chunk-2WILSD7J.js";
13
+ } from "./chunk-OQ6UFVGM.js";
14
14
  import {
15
15
  parseThreadArg
16
16
  } from "./chunk-E336ZXPP.js";
@@ -23,7 +23,7 @@ import {
23
23
  resolveCommentsScope,
24
24
  threadNotFoundMessage,
25
25
  toApiErrorParts
26
- } from "./chunk-2LBVX2H3.js";
26
+ } from "./chunk-4ZZI2JPE.js";
27
27
  import {
28
28
  canPrompt
29
29
  } from "./chunk-2473DUBR.js";
@@ -36,7 +36,7 @@ import {
36
36
  import {
37
37
  inspectSubcommand
38
38
  } from "./chunk-4LDQIDRM.js";
39
- import "./chunk-4CCY5OPH.js";
39
+ import "./chunk-LXRK7KPA.js";
40
40
  import "./chunk-ECCWJHC6.js";
41
41
  import "./chunk-TJJ562C5.js";
42
42
  import "./chunk-KBEX5MYS.js";