@rustrak/client 0.18.1 → 0.19.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 (119) hide show
  1. package/README.md +325 -123
  2. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  3. package/dist/client.cjs +86 -0
  4. package/dist/client.cjs.map +1 -0
  5. package/dist/client.d.cts +18 -0
  6. package/dist/client.d.cts.map +1 -0
  7. package/dist/client.d.mts +18 -0
  8. package/dist/client.d.mts.map +1 -0
  9. package/dist/client.mjs +86 -0
  10. package/dist/client.mjs.map +1 -0
  11. package/dist/config.d.cts +10 -0
  12. package/dist/config.d.cts.map +1 -0
  13. package/dist/config.d.mts +10 -0
  14. package/dist/config.d.mts.map +1 -0
  15. package/dist/errors.cjs +52 -0
  16. package/dist/errors.cjs.map +1 -0
  17. package/dist/errors.d.cts +77 -0
  18. package/dist/errors.d.cts.map +1 -0
  19. package/dist/errors.d.mts +77 -0
  20. package/dist/errors.d.mts.map +1 -0
  21. package/dist/errors.mjs +48 -0
  22. package/dist/errors.mjs.map +1 -0
  23. package/dist/generated/client/client.gen.cjs +174 -0
  24. package/dist/generated/client/client.gen.cjs.map +1 -0
  25. package/dist/generated/client/client.gen.mjs +174 -0
  26. package/dist/generated/client/client.gen.mjs.map +1 -0
  27. package/dist/generated/client/types.gen.d.cts +71 -0
  28. package/dist/generated/client/types.gen.d.cts.map +1 -0
  29. package/dist/generated/client/types.gen.d.mts +71 -0
  30. package/dist/generated/client/types.gen.d.mts.map +1 -0
  31. package/dist/generated/client/utils.gen.cjs +184 -0
  32. package/dist/generated/client/utils.gen.cjs.map +1 -0
  33. package/dist/generated/client/utils.gen.d.cts +21 -0
  34. package/dist/generated/client/utils.gen.d.cts.map +1 -0
  35. package/dist/generated/client/utils.gen.d.mts +21 -0
  36. package/dist/generated/client/utils.gen.d.mts.map +1 -0
  37. package/dist/generated/client/utils.gen.mjs +177 -0
  38. package/dist/generated/client/utils.gen.mjs.map +1 -0
  39. package/dist/generated/client.gen.cjs +7 -0
  40. package/dist/generated/client.gen.cjs.map +1 -0
  41. package/dist/generated/client.gen.mjs +8 -0
  42. package/dist/generated/client.gen.mjs.map +1 -0
  43. package/dist/generated/core/auth.gen.cjs +12 -0
  44. package/dist/generated/core/auth.gen.cjs.map +1 -0
  45. package/dist/generated/core/auth.gen.d.cts +11 -0
  46. package/dist/generated/core/auth.gen.d.cts.map +1 -0
  47. package/dist/generated/core/auth.gen.d.mts +11 -0
  48. package/dist/generated/core/auth.gen.d.mts.map +1 -0
  49. package/dist/generated/core/auth.gen.mjs +12 -0
  50. package/dist/generated/core/auth.gen.mjs.map +1 -0
  51. package/dist/generated/core/bodySerializer.gen.cjs +21 -0
  52. package/dist/generated/core/bodySerializer.gen.cjs.map +1 -0
  53. package/dist/generated/core/bodySerializer.gen.d.cts +15 -0
  54. package/dist/generated/core/bodySerializer.gen.d.cts.map +1 -0
  55. package/dist/generated/core/bodySerializer.gen.d.mts +15 -0
  56. package/dist/generated/core/bodySerializer.gen.d.mts.map +1 -0
  57. package/dist/generated/core/bodySerializer.gen.mjs +20 -0
  58. package/dist/generated/core/bodySerializer.gen.mjs.map +1 -0
  59. package/dist/generated/core/pathSerializer.gen.cjs +87 -0
  60. package/dist/generated/core/pathSerializer.gen.cjs.map +1 -0
  61. package/dist/generated/core/pathSerializer.gen.d.cts +9 -0
  62. package/dist/generated/core/pathSerializer.gen.d.cts.map +1 -0
  63. package/dist/generated/core/pathSerializer.gen.d.mts +9 -0
  64. package/dist/generated/core/pathSerializer.gen.d.mts.map +1 -0
  65. package/dist/generated/core/pathSerializer.gen.mjs +82 -0
  66. package/dist/generated/core/pathSerializer.gen.mjs.map +1 -0
  67. package/dist/generated/core/serverSentEvents.gen.cjs +96 -0
  68. package/dist/generated/core/serverSentEvents.gen.cjs.map +1 -0
  69. package/dist/generated/core/serverSentEvents.gen.d.cts +25 -0
  70. package/dist/generated/core/serverSentEvents.gen.d.cts.map +1 -0
  71. package/dist/generated/core/serverSentEvents.gen.d.mts +25 -0
  72. package/dist/generated/core/serverSentEvents.gen.d.mts.map +1 -0
  73. package/dist/generated/core/serverSentEvents.gen.mjs +96 -0
  74. package/dist/generated/core/serverSentEvents.gen.mjs.map +1 -0
  75. package/dist/generated/core/types.gen.d.cts +27 -0
  76. package/dist/generated/core/types.gen.d.cts.map +1 -0
  77. package/dist/generated/core/types.gen.d.mts +27 -0
  78. package/dist/generated/core/types.gen.d.mts.map +1 -0
  79. package/dist/generated/core/utils.gen.cjs +81 -0
  80. package/dist/generated/core/utils.gen.cjs.map +1 -0
  81. package/dist/generated/core/utils.gen.mjs +78 -0
  82. package/dist/generated/core/utils.gen.mjs.map +1 -0
  83. package/dist/generated/sdk.gen.cjs +3334 -0
  84. package/dist/generated/sdk.gen.cjs.map +1 -0
  85. package/dist/generated/sdk.gen.d.cts +288 -0
  86. package/dist/generated/sdk.gen.d.cts.map +1 -0
  87. package/dist/generated/sdk.gen.d.mts +288 -0
  88. package/dist/generated/sdk.gen.d.mts.map +1 -0
  89. package/dist/generated/sdk.gen.mjs +3305 -0
  90. package/dist/generated/sdk.gen.mjs.map +1 -0
  91. package/dist/generated/types.gen.d.cts +3915 -0
  92. package/dist/generated/types.gen.d.cts.map +1 -0
  93. package/dist/generated/types.gen.d.mts +3915 -0
  94. package/dist/generated/types.gen.d.mts.map +1 -0
  95. package/dist/generated/zod.gen.cjs +3273 -0
  96. package/dist/generated/zod.gen.cjs.map +1 -0
  97. package/dist/generated/zod.gen.mjs +2789 -0
  98. package/dist/generated/zod.gen.mjs.map +1 -0
  99. package/dist/index.cjs +15 -3248
  100. package/dist/index.d.cts +6 -2037
  101. package/dist/index.d.mts +6 -0
  102. package/dist/index.mjs +4 -0
  103. package/dist/result.cjs +59 -0
  104. package/dist/result.cjs.map +1 -0
  105. package/dist/result.d.cts +15 -0
  106. package/dist/result.d.cts.map +1 -0
  107. package/dist/result.d.mts +15 -0
  108. package/dist/result.d.mts.map +1 -0
  109. package/dist/result.mjs +55 -0
  110. package/dist/result.mjs.map +1 -0
  111. package/dist/utils/http.cjs +339 -0
  112. package/dist/utils/http.cjs.map +1 -0
  113. package/dist/utils/http.mjs +336 -0
  114. package/dist/utils/http.mjs.map +1 -0
  115. package/package.json +17 -12
  116. package/dist/index.cjs.map +0 -1
  117. package/dist/index.d.ts +0 -2037
  118. package/dist/index.js +0 -3232
  119. package/dist/index.js.map +0 -1
@@ -0,0 +1,3273 @@
1
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
+ let zod = require("zod");
3
+ zod = require_runtime.__toESM(zod, 1);
4
+ //#region src/generated/zod.gen.ts
5
+ const zAcceptInvitation = zod.object({
6
+ password: zod.string(),
7
+ token: zod.string()
8
+ });
9
+ /**
10
+ * An entry in an issue's activity log. Comments are stored as activity rows of
11
+ * type `note` with `{"text": ...}` in `data` (Sentry models notes as activity).
12
+ */
13
+ const zActivityEntry = zod.object({
14
+ created_at: zod.iso.datetime({ offset: true }),
15
+ data: zod.string(),
16
+ id: zod.uuid(),
17
+ issue_id: zod.uuid(),
18
+ type: zod.string(),
19
+ user_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable()
20
+ });
21
+ /**
22
+ * avg/p95 duration for one time bucket.
23
+ */
24
+ const zAgentDurationPoint = zod.object({
25
+ avg_ms: zod.number(),
26
+ bucket: zod.iso.datetime({ offset: true }),
27
+ p95_ms: zod.number()
28
+ });
29
+ /**
30
+ * One row of the Models table: per response model, the volume, the failures,
31
+ * the latency and the full token split.
32
+ *
33
+ * Cached input and reasoning output are SUBSETS of input/output, not
34
+ * additions — a reader comparing them must not add all four together.
35
+ */
36
+ const zAgentModelRow = zod.object({
37
+ avg_ms: zod.number(),
38
+ cached_input_tokens: zod.number(),
39
+ errors: zod.int(),
40
+ input_tokens: zod.number(),
41
+ model: zod.string(),
42
+ output_tokens: zod.number(),
43
+ p95_ms: zod.number(),
44
+ reasoning_output_tokens: zod.number(),
45
+ requests: zod.int(),
46
+ total_tokens: zod.number()
47
+ });
48
+ /**
49
+ * Headline numbers for the agents dashboard, over the selected window.
50
+ *
51
+ * Token totals exclude `agent`-type spans throughout, for the same reason
52
+ * the Traces table does: an agent span's usage is a client-side rollup of
53
+ * its `ai_client` children, so counting both double-counts.
54
+ */
55
+ const zAgentSummary = zod.object({
56
+ agent_runs: zod.int(),
57
+ avg_duration_ms: zod.number(),
58
+ error_count: zod.int(),
59
+ llm_calls: zod.int(),
60
+ p95_duration_ms: zod.number(),
61
+ tool_calls: zod.int(),
62
+ total_tokens: zod.number()
63
+ });
64
+ /**
65
+ * One time-bucketed value (count or sum) — mirrors `SessionTimeseriesPoint`.
66
+ */
67
+ const zAgentTimeseriesPoint = zod.object({
68
+ bucket: zod.iso.datetime({ offset: true }),
69
+ value: zod.number()
70
+ });
71
+ /**
72
+ * One row of the Tools table: per tool, how often it ran and how often it
73
+ * failed. A tool with a high failure rate is the most actionable signal the
74
+ * agents page can carry.
75
+ */
76
+ const zAgentToolRow = zod.object({
77
+ avg_ms: zod.number(),
78
+ calls: zod.int(),
79
+ errors: zod.int(),
80
+ p95_ms: zod.number(),
81
+ tool: zod.string()
82
+ });
83
+ zod.object({
84
+ agent_names: zod.array(zod.string()),
85
+ duration_ms: zod.number().nullable(),
86
+ error_count: zod.int(),
87
+ llm_call_count: zod.int(),
88
+ started_at: zod.iso.datetime({ offset: true }),
89
+ tool_call_count: zod.int(),
90
+ total_tokens: zod.number(),
91
+ trace_id: zod.string()
92
+ });
93
+ /**
94
+ * DTO for a channel with routing override in rule create/update
95
+ */
96
+ const zAlertRuleChannelInput = zod.object({
97
+ integration_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
98
+ routing_override: zod.record(zod.string(), zod.unknown()).optional()
99
+ });
100
+ /**
101
+ * Status of an alert delivery attempt
102
+ */
103
+ const zAlertStatus = zod.enum([
104
+ "pending",
105
+ "sent",
106
+ "failed",
107
+ "skipped"
108
+ ]);
109
+ /**
110
+ * Alert delivery history record (audit log and retry queue)
111
+ */
112
+ const zAlertHistory = zod.object({
113
+ alert_rule_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable(),
114
+ alert_type: zod.string(),
115
+ attempt_count: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
116
+ channel_name: zod.string(),
117
+ channel_type: zod.string(),
118
+ created_at: zod.iso.datetime({ offset: true }),
119
+ error_message: zod.string().nullable(),
120
+ http_status_code: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable(),
121
+ id: zod.int(),
122
+ idempotency_key: zod.string(),
123
+ integration_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable(),
124
+ issue_id: zod.uuid().nullable(),
125
+ next_retry_at: zod.iso.datetime({ offset: true }).nullable(),
126
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable(),
127
+ sent_at: zod.iso.datetime({ offset: true }).nullable(),
128
+ status: zAlertStatus
129
+ });
130
+ /**
131
+ * Type of alert trigger
132
+ */
133
+ const zAlertType = zod.enum([
134
+ "new_issue",
135
+ "regression",
136
+ "unmute"
137
+ ]);
138
+ /**
139
+ * Response for alert rule including linked integration info
140
+ */
141
+ const zAlertRuleResponse = zod.object({
142
+ alert_type: zAlertType,
143
+ channels: zod.array(zAlertRuleChannelInput),
144
+ conditions: zod.record(zod.string(), zod.unknown()),
145
+ cooldown_minutes: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
146
+ created_at: zod.iso.datetime({ offset: true }),
147
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
148
+ integration_ids: zod.array(zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })),
149
+ is_enabled: zod.boolean(),
150
+ last_triggered_at: zod.iso.datetime({ offset: true }).nullable(),
151
+ name: zod.string(),
152
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
153
+ updated_at: zod.iso.datetime({ offset: true })
154
+ });
155
+ const zAssembleBody = zod.object({
156
+ checksum: zod.string(),
157
+ chunks: zod.array(zod.string()),
158
+ projects: zod.array(zod.string())
159
+ });
160
+ const zAssembleResponse = zod.object({
161
+ detail: zod.string().nullish(),
162
+ missingChunks: zod.array(zod.string()),
163
+ state: zod.string()
164
+ });
165
+ /**
166
+ * Response that includes the full token (only on creation)
167
+ */
168
+ const zAuthTokenCreatedResponse = zod.object({
169
+ created_at: zod.iso.datetime({ offset: true }),
170
+ description: zod.string().nullable(),
171
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
172
+ token: zod.string()
173
+ });
174
+ /**
175
+ * Response for listing (token is masked)
176
+ */
177
+ const zAuthTokenResponse = zod.object({
178
+ created_at: zod.iso.datetime({ offset: true }),
179
+ description: zod.string().nullable(),
180
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
181
+ last_used_at: zod.iso.datetime({ offset: true }).nullable(),
182
+ token_prefix: zod.string()
183
+ });
184
+ /**
185
+ * What the consent page shows about the client asking.
186
+ */
187
+ const zAuthorizationInfo = zod.object({
188
+ client_id: zod.string(),
189
+ client_name: zod.string(),
190
+ redirect_host: zod.string()
191
+ });
192
+ /**
193
+ * Where the consent page sends the browser next.
194
+ */
195
+ const zAuthorizationRedirect = zod.object({ redirect_to: zod.string() });
196
+ /**
197
+ * An authorization request, as the client put it in the authorize URL.
198
+ */
199
+ const zAuthorizationRequest = zod.object({
200
+ client_id: zod.string(),
201
+ code_challenge: zod.string(),
202
+ code_challenge_method: zod.string(),
203
+ redirect_uri: zod.string(),
204
+ resource: zod.string().nullish(),
205
+ response_type: zod.string(),
206
+ state: zod.string().nullish()
207
+ });
208
+ /**
209
+ * The user's answer to a consent screen.
210
+ */
211
+ const zAuthorizationDecision = zAuthorizationRequest.and(zod.object({ approve: zod.boolean() }));
212
+ const zBookmarkResponse = zod.object({ is_bookmarked: zod.boolean() });
213
+ const zBulkDeleteResponse = zod.object({ deleted: zod.int() });
214
+ const zBulkUpdateResponse = zod.object({ updated: zod.int() });
215
+ const zChangePasswordRequest = zod.object({
216
+ current_password: zod.string(),
217
+ new_password: zod.string()
218
+ });
219
+ /**
220
+ * Status of one check-in. `Missed` and `Timeout` are only ever set by the
221
+ * server.
222
+ */
223
+ const zCheckInStatus = zod.enum([
224
+ "ok",
225
+ "error",
226
+ "in_progress",
227
+ "missed",
228
+ "timeout",
229
+ "unknown"
230
+ ]);
231
+ /**
232
+ * One check-in, as the dashboard reads it.
233
+ */
234
+ const zCheckInResponse = zod.object({
235
+ date_added: zod.iso.datetime({ offset: true }),
236
+ date_updated: zod.iso.datetime({ offset: true }),
237
+ duration_ms: zod.int().nullable(),
238
+ environment: zod.string(),
239
+ expected_time: zod.iso.datetime({ offset: true }).nullable(),
240
+ id: zod.uuid(),
241
+ status: zCheckInStatus
242
+ });
243
+ /**
244
+ * Multipart chunk upload.
245
+ * Each part's **field name** may be the SHA-1 hex digest of that part's binary content
246
+ * (sentry-cli v2 protocol, e.g. `da39a3ee5e6b4b0d3255bfef95601890afd80709`) or an arbitrary
247
+ * name like `file` (sentry-cli v3.x). Up to 64 parts per request; each part body is raw binary.
248
+ */
249
+ const zChunkUploadBody = zod.record(zod.string(), zod.unknown());
250
+ /**
251
+ * Chunk upload capabilities, in sentry-cli's camelCase.
252
+ */
253
+ const zChunkUploadOptions = zod.object({
254
+ accept: zod.array(zod.string()),
255
+ chunkSize: zod.int().gte(0),
256
+ chunksPerRequest: zod.int().gte(0),
257
+ compression: zod.array(zod.string()),
258
+ concurrency: zod.int().gte(0),
259
+ hashAlgorithm: zod.string(),
260
+ maxRequestSize: zod.int().gte(0),
261
+ url: zod.string()
262
+ });
263
+ /**
264
+ * Rows affected by a cleanup, used symmetrically for the dry-run preview ("what
265
+ * would be removed") and the executed result ("what was removed"). `spans` are
266
+ * counted directly even though they cascade from `transactions`, so the UI can
267
+ * show the true row impact. `issues_removed` is the number of issues that would
268
+ * be left with zero events and therefore deleted.
269
+ */
270
+ const zCleanupCounts = zod.object({
271
+ events: zod.int(),
272
+ issues_removed: zod.int(),
273
+ logs: zod.int(),
274
+ source_maps: zod.int(),
275
+ spans: zod.int(),
276
+ transactions: zod.int()
277
+ });
278
+ /**
279
+ * How often the cleanup that enforces retention runs.
280
+ */
281
+ const zCleanupFrequency = zod.enum(["daily", "weekly"]);
282
+ /**
283
+ * Request body for a cleanup (preview or execute): remove data older than
284
+ * `older_than_days`, optionally scoped to a single project (omit for all).
285
+ *
286
+ * `older_than_days` must be at least 1 — the service rejects smaller values,
287
+ * since a window of 0 (or negative) would move the cutoff to now/the future and
288
+ * purge the entire dataset.
289
+ */
290
+ const zCleanupRequest = zod.object({
291
+ include_events: zod.boolean().optional(),
292
+ include_logs: zod.boolean().optional(),
293
+ include_transactions: zod.boolean().optional(),
294
+ older_than_days: zod.int().gte(1),
295
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullish()
296
+ });
297
+ /**
298
+ * Where the instance's cleanup job is. There is at most one at a time.
299
+ */
300
+ const zCleanupState = zod.enum([
301
+ "idle",
302
+ "running",
303
+ "completed",
304
+ "failed"
305
+ ]);
306
+ /**
307
+ * The cleanup job as the API reports it. Kept in memory: a restart forgets
308
+ * it, and a run cut short by one is simply run again, since every batch it
309
+ * committed is already gone.
310
+ */
311
+ const zCleanupStatus = zod.object({
312
+ error: zod.string().nullable(),
313
+ finished_at: zod.iso.datetime({ offset: true }).nullable(),
314
+ removed: zCleanupCounts,
315
+ started_at: zod.iso.datetime({ offset: true }).nullable(),
316
+ state: zCleanupState
317
+ });
318
+ /**
319
+ * Maps a path as it appears in a stack trace to the path in the repository.
320
+ */
321
+ const zCodeMapping = zod.object({
322
+ source_root: zod.string(),
323
+ stack_root: zod.string()
324
+ });
325
+ /**
326
+ * Body for creating an issue comment (note).
327
+ */
328
+ const zCommentRequest = zod.object({ text: zod.string() });
329
+ const zConfirmSsoLinkRequest = zod.object({ password: zod.string() });
330
+ /**
331
+ * DTO for creating an alert rule
332
+ */
333
+ const zCreateAlertRule = zod.object({
334
+ alert_type: zAlertType,
335
+ channels: zod.array(zAlertRuleChannelInput).optional(),
336
+ conditions: zod.record(zod.string(), zod.unknown()).optional(),
337
+ cooldown_minutes: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).optional(),
338
+ name: zod.string()
339
+ });
340
+ /**
341
+ * DTO for creating a new token
342
+ */
343
+ const zCreateAuthToken = zod.object({ description: zod.string().nullish() });
344
+ const zCreateGitHubIssue = zod.object({
345
+ body: zod.string().nullish(),
346
+ title: zod.string().nullish()
347
+ });
348
+ /**
349
+ * DTO for creating a new project
350
+ */
351
+ const zCreateProject = zod.object({
352
+ name: zod.string(),
353
+ platform: zod.string().nullish(),
354
+ slug: zod.string().nullish()
355
+ });
356
+ /**
357
+ * DTO for `POST .../releases/`.
358
+ */
359
+ const zCreateRelease = zod.object({
360
+ ref: zod.string().nullish(),
361
+ url: zod.string().nullish(),
362
+ version: zod.string()
363
+ });
364
+ const zCreateUserRequest = zod.object({
365
+ email: zod.string(),
366
+ password: zod.string()
367
+ });
368
+ /**
369
+ * Response for API (full detail)
370
+ */
371
+ const zEventDetailResponse = zod.object({
372
+ data: zod.record(zod.string(), zod.unknown()),
373
+ environment: zod.string(),
374
+ event_id: zod.string(),
375
+ event_type: zod.string(),
376
+ id: zod.uuid(),
377
+ ingested_at: zod.iso.datetime({ offset: true }),
378
+ issue_id: zod.uuid().nullable(),
379
+ level: zod.string(),
380
+ platform: zod.string(),
381
+ release: zod.string(),
382
+ sdk_name: zod.string(),
383
+ sdk_version: zod.string(),
384
+ server_name: zod.string(),
385
+ timestamp: zod.iso.datetime({ offset: true }),
386
+ title: zod.string()
387
+ });
388
+ zod.object({
389
+ environment: zod.string(),
390
+ event_id: zod.string(),
391
+ event_type: zod.string(),
392
+ id: zod.uuid(),
393
+ issue_id: zod.uuid().nullable(),
394
+ level: zod.string(),
395
+ platform: zod.string(),
396
+ release: zod.string(),
397
+ timestamp: zod.iso.datetime({ offset: true }),
398
+ title: zod.string()
399
+ });
400
+ /**
401
+ * One time-bucketed point in a project's error-event volume, split by severity.
402
+ *
403
+ * `total` always equals `fatal + error + warning + info`: `info` absorbs
404
+ * `debug` and any level the SDK sent that we do not model, so the stacked
405
+ * segments of a chart always sum to the bar height and no events silently
406
+ * vanish from the series.
407
+ */
408
+ const zEventTimeseriesPoint = zod.object({
409
+ bucket: zod.iso.datetime({ offset: true }),
410
+ error: zod.int(),
411
+ fatal: zod.int(),
412
+ info: zod.int(),
413
+ total: zod.int(),
414
+ warning: zod.int()
415
+ });
416
+ /**
417
+ * The closed vocabulary a [`FieldError`] may use.
418
+ *
419
+ * Deliberately small and resource-agnostic: a large or per-endpoint
420
+ * vocabulary becomes a public API that cannot be versioned. Adding a variant
421
+ * is a wire change and requires the matching addition to the TypeScript union
422
+ * in `packages/client/src/errors.ts`, which
423
+ * `packages/client/tests/unit/app-error-contract.test.ts` enforces by parsing
424
+ * this enum out of this file.
425
+ */
426
+ const zFieldErrorCode = zod.enum([
427
+ "required",
428
+ "invalid",
429
+ "already_exists",
430
+ "too_short",
431
+ "too_long",
432
+ "custom"
433
+ ]);
434
+ /**
435
+ * One rejected input, named as data rather than buried in the prose of
436
+ * [`ErrorDetail::message`].
437
+ *
438
+ * `field` is a **dot path into the request body** (`slug`,
439
+ * `credentials.webhook_url`), not a JSON Pointer and not a UI label: a
440
+ * consumer feeds it straight to a form library's `setError`.
441
+ *
442
+ * The rejected *value* is deliberately never echoed back. One careless
443
+ * application to a password input would put a credential in the log store.
444
+ *
445
+ * The three fields are private on purpose. [`Self::new`] and [`Self::custom`]
446
+ * are the only ways to build one, which is what makes "`message` is populated
447
+ * only alongside [`FieldErrorCode::Custom`]" an invariant the compiler holds
448
+ * rather than a convention a struct literal could quietly break.
449
+ */
450
+ const zFieldError = zod.object({
451
+ code: zFieldErrorCode,
452
+ field: zod.string(),
453
+ message: zod.string().optional()
454
+ });
455
+ const zErrorDetail = zod.object({
456
+ fields: zod.array(zFieldError).optional(),
457
+ incident_id: zod.string().optional(),
458
+ message: zod.string(),
459
+ type: zod.string()
460
+ });
461
+ zod.object({ error: zErrorDetail });
462
+ /**
463
+ * One row of a "top N by X" breakdown (model or tool name).
464
+ */
465
+ const zGenAiBreakdownRow = zod.object({
466
+ label: zod.string(),
467
+ value: zod.number()
468
+ });
469
+ const zGitHubAppInfo = zod.object({
470
+ app_id: zod.int(),
471
+ created_at: zod.iso.datetime({ offset: true }),
472
+ html_url: zod.string(),
473
+ install_url: zod.string(),
474
+ last_webhook_at: zod.iso.datetime({ offset: true }).nullable(),
475
+ owner_login: zod.string(),
476
+ slug: zod.string()
477
+ });
478
+ const zGitHubInstallation = zod.object({
479
+ account_login: zod.string(),
480
+ account_type: zod.string(),
481
+ created_at: zod.iso.datetime({ offset: true }),
482
+ id: zod.int(),
483
+ suspended: zod.boolean()
484
+ });
485
+ const zGitHubLogin = zod.object({ login: zod.string().nullable() });
486
+ /**
487
+ * A repository an installation can reach.
488
+ */
489
+ const zGitHubRepository = zod.object({
490
+ default_branch: zod.string(),
491
+ full_name: zod.string(),
492
+ html_url: zod.string(),
493
+ installation_id: zod.int(),
494
+ private: zod.boolean()
495
+ });
496
+ /**
497
+ * `GET /api/github`: everything the integrations page needs in one answer.
498
+ */
499
+ const zGitHubStatus = zod.object({
500
+ app: zGitHubAppInfo.nullable(),
501
+ installations: zod.array(zGitHubInstallation),
502
+ webhook_url: zod.string()
503
+ });
504
+ /**
505
+ * Grouping model - maps a grouping key to an issue
506
+ */
507
+ const zGrouping = zod.object({
508
+ created_at: zod.iso.datetime({ offset: true }),
509
+ grouping_key: zod.string(),
510
+ grouping_key_hash: zod.string(),
511
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
512
+ issue_id: zod.uuid(),
513
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
514
+ });
515
+ const zIntervalUnit = zod.enum([
516
+ "minute",
517
+ "hour",
518
+ "day",
519
+ "week",
520
+ "month",
521
+ "year"
522
+ ]);
523
+ /**
524
+ * Filter for issues listing
525
+ */
526
+ const zIssueFilter = zod.enum([
527
+ "open",
528
+ "resolved",
529
+ "muted",
530
+ "all"
531
+ ]);
532
+ /**
533
+ * Bulk delete request: the listed `ids`, or every issue matching `filter`.
534
+ * A body with neither or both matches no variant and is rejected, so an empty
535
+ * body can never mean "all".
536
+ */
537
+ const zBulkDeleteIssues = zod.union([zod.object({ ids: zod.array(zod.uuid()) }), zod.object({ filter: zIssueFilter })]);
538
+ const zIssueLink = zod.object({
539
+ created_at: zod.iso.datetime({ offset: true }),
540
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
541
+ issue_id: zod.uuid(),
542
+ number: zod.int(),
543
+ repo_full_name: zod.string(),
544
+ state: zod.string(),
545
+ title: zod.string(),
546
+ url: zod.string()
547
+ });
548
+ /**
549
+ * Triage priority of an issue.
550
+ */
551
+ const zIssuePriority = zod.enum([
552
+ "low",
553
+ "medium",
554
+ "high"
555
+ ]);
556
+ /**
557
+ * Sort mode for issues listing
558
+ */
559
+ const zIssueSort = zod.enum([
560
+ "digest_order",
561
+ "last_seen",
562
+ "event_count"
563
+ ]);
564
+ const zIssueStatsResponse = zod.object({ data: zod.array(zod.array(zod.int())) });
565
+ /**
566
+ * How far back issue stats reach.
567
+ */
568
+ const zIssueStatsWindow = zod.enum(["24h", "30d"]);
569
+ /**
570
+ * Lifecycle status of an issue (Sentry-compatible).
571
+ */
572
+ const zIssueStatus = zod.enum([
573
+ "unresolved",
574
+ "resolved",
575
+ "ignored"
576
+ ]);
577
+ /**
578
+ * Response for API
579
+ */
580
+ const zIssueResponse = zod.object({
581
+ assigned_to: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable(),
582
+ assignee_type: zod.string().nullable(),
583
+ culprit: zod.string(),
584
+ event_count: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
585
+ first_release: zod.string(),
586
+ first_seen: zod.iso.datetime({ offset: true }),
587
+ has_seen: zod.boolean().nullish(),
588
+ id: zod.uuid(),
589
+ is_bookmarked: zod.boolean().nullish(),
590
+ is_muted: zod.boolean(),
591
+ is_resolved: zod.boolean(),
592
+ is_subscribed: zod.boolean().nullish(),
593
+ issue_category: zod.string(),
594
+ issue_type: zod.string(),
595
+ last_release: zod.string(),
596
+ last_seen: zod.iso.datetime({ offset: true }),
597
+ level: zod.string().nullable(),
598
+ logger: zod.string(),
599
+ platform: zod.string().nullable(),
600
+ priority: zIssuePriority.nullable(),
601
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
602
+ short_id: zod.string(),
603
+ status: zIssueStatus,
604
+ status_details: zod.record(zod.string(), zod.unknown()),
605
+ substatus: zod.string().nullable(),
606
+ title: zod.string(),
607
+ trend: zod.array(zod.int()).nullish(),
608
+ user_count: zod.int().nullish(),
609
+ user_report_count: zod.int().nullish(),
610
+ value: zod.string()
611
+ });
612
+ /**
613
+ * The status an update may set: an [`IssueStatus`], or `resolvedInNextRelease`
614
+ * to resolve until the next release ships.
615
+ */
616
+ const zIssueStatusUpdate = zod.enum([
617
+ "unresolved",
618
+ "resolved",
619
+ "ignored",
620
+ "resolvedInNextRelease"
621
+ ]);
622
+ /**
623
+ * Bulk mutate request: apply a status (and/or priority) to many issues.
624
+ */
625
+ const zBulkUpdateIssues = zod.object({
626
+ ids: zod.array(zod.uuid()),
627
+ priority: zIssuePriority.nullish(),
628
+ status: zIssueStatusUpdate.nullish()
629
+ });
630
+ /**
631
+ * A single tag value's usage within an issue — the shape `GET
632
+ * /issues/{id}/tags/{key}` returns per entry, matching Sentry's
633
+ * `TagValueSerializerResponse` (src/sentry/tagstore/types.py:166-173):
634
+ * a bare list of these, not `{key, values}`.
635
+ */
636
+ const zIssueTagValue = zod.object({
637
+ count: zod.int(),
638
+ first_seen: zod.iso.datetime({ offset: true }),
639
+ key: zod.string(),
640
+ last_seen: zod.iso.datetime({ offset: true }),
641
+ name: zod.string(),
642
+ value: zod.string()
643
+ });
644
+ /**
645
+ * Body of an issue update: the fields of `GroupValidator`
646
+ * (`api/helpers/group_index/validators/group.py`) Rustrak acts on.
647
+ */
648
+ const zIssueUpdate = zod.object({
649
+ status: zod.string().nullish(),
650
+ substatus: zod.string().nullish()
651
+ });
652
+ /**
653
+ * How long ago a kind of data arrived: rows per age bucket, and the oldest.
654
+ */
655
+ const zKindAge = zod.object({
656
+ counts: zod.array(zod.int()),
657
+ oldest: zod.iso.datetime({ offset: true }).nullable()
658
+ });
659
+ const zLinkGitHubIssue = zod.object({ reference: zod.string() });
660
+ const zLivenessResponse = zod.object({ status: zod.string() });
661
+ zod.object({
662
+ attributes: zod.record(zod.string(), zod.unknown()),
663
+ body: zod.string(),
664
+ id: zod.uuid(),
665
+ ingested_at: zod.iso.datetime({ offset: true }),
666
+ level: zod.string(),
667
+ severity_number: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable(),
668
+ span_id: zod.string().nullable(),
669
+ timestamp: zod.iso.datetime({ offset: true }),
670
+ trace_id: zod.string().nullable()
671
+ });
672
+ const zLoginRequest = zod.object({
673
+ email: zod.string(),
674
+ password: zod.string()
675
+ });
676
+ const zManifestRequest = zod.object({ organization: zod.string().nullish() });
677
+ /**
678
+ * What the dashboard posts to GitHub to create the app.
679
+ */
680
+ const zManifestResponse = zod.object({
681
+ action_url: zod.string(),
682
+ manifest: zod.string()
683
+ });
684
+ /**
685
+ * Turns `/mcp` on or off: the body of `PUT /api/settings/mcp`.
686
+ */
687
+ const zMcpSettings = zod.object({ enabled: zod.boolean() });
688
+ /**
689
+ * Whether `/mcp` answers, and the URL to give an assistant.
690
+ */
691
+ const zMcpStatus = zod.object({
692
+ enabled: zod.boolean(),
693
+ url: zod.string().nullable()
694
+ });
695
+ /**
696
+ * A counter measured over the requested window alongside the same counter
697
+ * over the window immediately before it.
698
+ *
699
+ * `previous` is `None` when the request asked for all time: there is no
700
+ * earlier window to compare against, and reporting `0` there would render as
701
+ * a misleading "+100%" in the UI.
702
+ */
703
+ const zMetricDelta = zod.object({
704
+ current: zod.int(),
705
+ previous: zod.int().nullable()
706
+ });
707
+ /**
708
+ * Health of one monitor environment.
709
+ */
710
+ const zMonitorEnvironmentStatus = zod.enum([
711
+ "active",
712
+ "ok",
713
+ "error"
714
+ ]);
715
+ /**
716
+ * One environment of a monitor, with its most recent check-ins for the
717
+ * timeline.
718
+ */
719
+ const zMonitorEnvironmentResponse = zod.object({
720
+ environment: zod.string(),
721
+ id: zod.uuid(),
722
+ last_checkin: zod.iso.datetime({ offset: true }).nullable(),
723
+ next_checkin: zod.iso.datetime({ offset: true }).nullable(),
724
+ next_checkin_latest: zod.iso.datetime({ offset: true }).nullable(),
725
+ recent_checkins: zod.array(zCheckInResponse),
726
+ status: zMonitorEnvironmentStatus
727
+ });
728
+ /**
729
+ * A connected client, as its user sees it.
730
+ */
731
+ const zOAuthGrant = zod.object({
732
+ client_id: zod.string(),
733
+ client_name: zod.string(),
734
+ created_at: zod.iso.datetime({ offset: true }),
735
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
736
+ });
737
+ /**
738
+ * Synthetic organization sentry-cli checks before uploading.
739
+ */
740
+ const zOrgDetails = zod.object({
741
+ features: zod.array(zod.string()),
742
+ id: zod.string(),
743
+ name: zod.string(),
744
+ slug: zod.string()
745
+ });
746
+ /**
747
+ * Body of a template preview request.
748
+ */
749
+ const zPreviewTemplateBody = zod.object({ template: zod.string() });
750
+ /**
751
+ * `rendered` when `ok`, `error` otherwise.
752
+ */
753
+ const zPreviewTemplateResponse = zod.object({
754
+ error: zod.string().nullish(),
755
+ ok: zod.boolean(),
756
+ rendered: zod.string().nullish()
757
+ });
758
+ const zProjectAge = zod.object({
759
+ events: zKindAge,
760
+ logs: zKindAge,
761
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
762
+ transactions: zKindAge
763
+ });
764
+ /**
765
+ * The at-a-glance aggregates one row of the project-list table needs.
766
+ *
767
+ * Deliberately narrower than [`ProjectStatsSummary`]: that one answers "how
768
+ * is this project doing" for a page dedicated to a single project, this one
769
+ * answers "which of my projects should I look at first" and must stay cheap
770
+ * enough to compute for every project on the page at once.
771
+ */
772
+ const zProjectListStats = zod.object({
773
+ events: zMetricDelta,
774
+ fatal_issues: zod.int(),
775
+ new_issues: zMetricDelta,
776
+ open_issues: zod.int(),
777
+ trend: zod.array(zod.int())
778
+ });
779
+ const zProjectRepository = zod.object({
780
+ auto_create_conditions: zod.record(zod.string(), zod.unknown()),
781
+ auto_create_issues: zod.boolean(),
782
+ code_mappings: zod.array(zCodeMapping),
783
+ codeowners_rules: zod.int().gte(0).nullable(),
784
+ codeowners_synced_at: zod.iso.datetime({ offset: true }).nullable(),
785
+ default_branch: zod.string(),
786
+ html_url: zod.string(),
787
+ installation_id: zod.int(),
788
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
789
+ repo_full_name: zod.string()
790
+ });
791
+ /**
792
+ * Response with DSN included
793
+ */
794
+ const zProjectResponse = zod.object({
795
+ created_at: zod.iso.datetime({ offset: true }),
796
+ digested_event_count: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
797
+ dsn: zod.string(),
798
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
799
+ name: zod.string(),
800
+ platform: zod.string().nullable(),
801
+ rate_limit_per_hour: zod.int().nullable(),
802
+ rate_limit_per_minute: zod.int().nullable(),
803
+ rate_limited_event_count: zod.int(),
804
+ sentry_key: zod.uuid(),
805
+ slug: zod.string(),
806
+ stats: zProjectListStats.nullish(),
807
+ stored_event_count: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
808
+ updated_at: zod.iso.datetime({ offset: true })
809
+ });
810
+ /**
811
+ * A project that keeps its data for other windows than the defaults. Every
812
+ * kind is set: an override replaces the defaults whole.
813
+ */
814
+ const zProjectRetention = zod.object({
815
+ events_days: zod.int().nullable(),
816
+ logs_days: zod.int().nullable(),
817
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
818
+ transactions_days: zod.int().nullable()
819
+ });
820
+ /**
821
+ * Per-project capability level for a member.
822
+ *
823
+ * Ordered by privilege: `Viewer` < `Editor` < `Admin` (derived `Ord` uses
824
+ * declaration order). An `Action` maps to the minimum role that may perform it.
825
+ */
826
+ const zProjectRole = zod.enum([
827
+ "viewer",
828
+ "editor",
829
+ "admin"
830
+ ]);
831
+ const zProjectMember = zod.object({
832
+ created_at: zod.iso.datetime({ offset: true }),
833
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
834
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
835
+ role: zProjectRole,
836
+ user_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
837
+ });
838
+ /**
839
+ * Member row joined with the user's email, for listing a project's team.
840
+ */
841
+ const zProjectMemberResponse = zod.object({
842
+ created_at: zod.iso.datetime({ offset: true }),
843
+ email: zod.string(),
844
+ role: zProjectRole,
845
+ user_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
846
+ });
847
+ /**
848
+ * Project-wide counters for the overview page, each with its previous-period
849
+ * comparison.
850
+ */
851
+ const zProjectStatsSummary = zod.object({
852
+ events: zMetricDelta,
853
+ new_issues: zMetricDelta,
854
+ open_issues: zod.int(),
855
+ period_hours: zod.int().nullable()
856
+ });
857
+ zod.object({
858
+ estimated_bytes: zod.int(),
859
+ events_bytes: zod.int(),
860
+ events_count: zod.int(),
861
+ logs_bytes: zod.int(),
862
+ logs_count: zod.int(),
863
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
864
+ project_name: zod.string(),
865
+ source_maps_count: zod.int(),
866
+ spans_count: zod.int(),
867
+ transactions_bytes: zod.int(),
868
+ transactions_count: zod.int()
869
+ });
870
+ /**
871
+ * Type of notification provider (replaces ChannelType)
872
+ */
873
+ const zProviderType = zod.enum([
874
+ "webhook",
875
+ "email",
876
+ "slack",
877
+ "custom_webhook"
878
+ ]);
879
+ /**
880
+ * Global alert integration record — stores credentials only, no routing.
881
+ */
882
+ const zAlertIntegration = zod.object({
883
+ created_at: zod.iso.datetime({ offset: true }),
884
+ credentials: zod.record(zod.string(), zod.unknown()),
885
+ failure_count: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
886
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
887
+ is_enabled: zod.boolean(),
888
+ last_failure_at: zod.iso.datetime({ offset: true }).nullable(),
889
+ last_failure_message: zod.string().nullable(),
890
+ last_success_at: zod.iso.datetime({ offset: true }).nullable(),
891
+ name: zod.string(),
892
+ provider_type: zProviderType,
893
+ updated_at: zod.iso.datetime({ offset: true })
894
+ });
895
+ /**
896
+ * DTO for creating an alert integration
897
+ */
898
+ const zCreateAlertIntegration = zod.object({
899
+ credentials: zod.record(zod.string(), zod.unknown()),
900
+ is_enabled: zod.boolean().optional(),
901
+ name: zod.string(),
902
+ provider_type: zProviderType
903
+ });
904
+ /**
905
+ * Configure project routes
906
+ * The server's per-project event limits (`MAX_EVENTS_PER_PROJECT_*`).
907
+ */
908
+ const zRateLimitsResponse = zod.object({
909
+ project_per_hour: zod.int(),
910
+ project_per_minute: zod.int()
911
+ });
912
+ const zReadinessChecks = zod.object({ database: zod.string() });
913
+ const zReadinessResponse = zod.object({
914
+ checks: zReadinessChecks,
915
+ status: zod.string()
916
+ });
917
+ zod.object({
918
+ abnormal: zod.int(),
919
+ crash_free_sessions_rate: zod.number().nullable(),
920
+ crash_free_users_rate: zod.number().nullable(),
921
+ crashed: zod.int(),
922
+ environment: zod.string(),
923
+ errored: zod.int(),
924
+ healthy: zod.int(),
925
+ release: zod.string(),
926
+ total: zod.int()
927
+ });
928
+ /**
929
+ * API response for a release.
930
+ */
931
+ const zReleaseResponse = zod.object({
932
+ dateCreated: zod.iso.datetime({ offset: true }),
933
+ dateReleased: zod.iso.datetime({ offset: true }).nullable(),
934
+ ref: zod.string().nullable(),
935
+ url: zod.string().nullable(),
936
+ version: zod.string()
937
+ });
938
+ const zRepoCommit = zod.object({
939
+ author_login: zod.string().nullable(),
940
+ author_name: zod.string(),
941
+ committed_at: zod.iso.datetime({ offset: true }),
942
+ message: zod.string(),
943
+ repo_full_name: zod.string(),
944
+ sha: zod.string(),
945
+ url: zod.string()
946
+ });
947
+ /**
948
+ * `GET .../issues/{id}/github`: the issue's "Code" block in one answer.
949
+ */
950
+ const zIssueGitHub = zod.object({
951
+ links: zod.array(zIssueLink),
952
+ owners: zod.array(zod.string()),
953
+ suspect_commits: zod.array(zRepoCommit)
954
+ });
955
+ /**
956
+ * How the last retention cleanup went.
957
+ */
958
+ const zRetentionRun = zod.object({
959
+ error: zod.string().nullable(),
960
+ finished_at: zod.iso.datetime({ offset: true }).nullable(),
961
+ removed: zCleanupCounts.nullable(),
962
+ started_at: zod.iso.datetime({ offset: true }),
963
+ status: zod.string()
964
+ });
965
+ /**
966
+ * How long each kind of data is kept, in days. `None` keeps it forever.
967
+ */
968
+ const zRetentionWindows = zod.object({
969
+ events_days: zod.int().nullable().default(null),
970
+ logs_days: zod.int().nullable().default(null),
971
+ transactions_days: zod.int().nullable().default(null)
972
+ });
973
+ /**
974
+ * Retention: how long each kind of data is kept, by default and per
975
+ * project, and when the cleanup that enforces it runs. Stored as the
976
+ * settings of the `storage_cleanup` scheduled job; a field left out takes
977
+ * its default. Keeping everything forever runs nothing.
978
+ */
979
+ const zRetentionSettings = zod.object({
980
+ defaults: zRetentionWindows.default({
981
+ events_days: null,
982
+ logs_days: null,
983
+ transactions_days: null
984
+ }),
985
+ frequency: zCleanupFrequency.default("daily"),
986
+ hour: zod.int().gte(0).lte(23).default(3),
987
+ overrides: zod.array(zProjectRetention).default([]),
988
+ weekday: zod.int().gte(0).lte(6).default(0)
989
+ });
990
+ const zRetentionResponse = zod.object({
991
+ last_run: zRetentionRun.nullable(),
992
+ next_run_at: zod.iso.datetime({ offset: true }).nullable(),
993
+ settings: zRetentionSettings
994
+ });
995
+ const zSchedule = zod.union([zod.object({
996
+ type: zod.enum(["crontab"]),
997
+ value: zod.string()
998
+ }), zod.object({
999
+ type: zod.enum(["interval"]),
1000
+ unit: zIntervalUnit,
1001
+ value: zod.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1002
+ })]);
1003
+ /**
1004
+ * A validated monitor configuration, with every default filled in.
1005
+ */
1006
+ const zMonitorConfig = zod.object({
1007
+ checkin_margin: zod.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1008
+ failure_issue_threshold: zod.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1009
+ max_runtime: zod.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1010
+ recovery_threshold: zod.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1011
+ schedule: zSchedule,
1012
+ timezone: zod.string()
1013
+ });
1014
+ /**
1015
+ * `monitor_config` as an SDK or the dashboard sends it: every field optional.
1016
+ */
1017
+ const zMonitorConfigInput = zod.object({
1018
+ checkin_margin: zod.int().gte(0).nullish(),
1019
+ failure_issue_threshold: zod.int().gte(0).nullish(),
1020
+ max_runtime: zod.int().gte(0).nullish(),
1021
+ recovery_threshold: zod.int().gte(0).nullish(),
1022
+ schedule: zSchedule.nullish(),
1023
+ timezone: zod.string().nullish()
1024
+ });
1025
+ /**
1026
+ * Body of `POST /api/projects/{project_id}/monitors`.
1027
+ */
1028
+ const zCreateMonitor = zod.object({
1029
+ config: zMonitorConfigInput,
1030
+ name: zod.string(),
1031
+ slug: zod.string().nullish()
1032
+ });
1033
+ const zMonitorResponse = zod.object({
1034
+ config: zMonitorConfig,
1035
+ created_at: zod.iso.datetime({ offset: true }),
1036
+ environments: zod.array(zMonitorEnvironmentResponse),
1037
+ id: zod.uuid(),
1038
+ is_muted: zod.boolean(),
1039
+ name: zod.string(),
1040
+ slug: zod.string()
1041
+ });
1042
+ /**
1043
+ * Body of `POST /api/schedules/preview`.
1044
+ */
1045
+ const zPreviewSchedule = zod.object({
1046
+ schedule: zSchedule,
1047
+ timezone: zod.string().nullish()
1048
+ });
1049
+ /**
1050
+ * When a schedule runs next, computed by the code that runs it: monitors
1051
+ * expect their check-ins and scheduled jobs fire at exactly these instants.
1052
+ */
1053
+ const zSchedulePreview = zod.object({ next_runs: zod.array(zod.iso.datetime({ offset: true })) });
1054
+ const zSeenResponse = zod.object({ has_seen: zod.boolean() });
1055
+ /**
1056
+ * `GroupProjectResponse` (`api/serializers/models/group.py`).
1057
+ */
1058
+ const zSentryGroupProject = zod.object({
1059
+ id: zod.string(),
1060
+ name: zod.string(),
1061
+ platform: zod.string().nullable(),
1062
+ slug: zod.string()
1063
+ });
1064
+ /**
1065
+ * Subset of `GroupSerializer` plus its seen stats
1066
+ * (`api/serializers/models/group.py`), and `stats` when the caller asked
1067
+ * for a series (`StreamGroupSerializer`, `group_stream.py`).
1068
+ */
1069
+ const zSentryIssue = zod.object({
1070
+ annotations: zod.array(zod.record(zod.string(), zod.unknown())),
1071
+ count: zod.string(),
1072
+ culprit: zod.string(),
1073
+ firstSeen: zod.iso.datetime({ offset: true }),
1074
+ id: zod.string(),
1075
+ issueCategory: zod.string(),
1076
+ issueType: zod.string(),
1077
+ lastSeen: zod.iso.datetime({ offset: true }),
1078
+ level: zod.string(),
1079
+ logger: zod.string().nullable(),
1080
+ metadata: zod.record(zod.string(), zod.unknown()),
1081
+ platform: zod.string().nullable(),
1082
+ priority: zod.string().nullable(),
1083
+ project: zSentryGroupProject,
1084
+ shortId: zod.string(),
1085
+ stats: zod.record(zod.string(), zod.unknown()).nullish(),
1086
+ status: zod.string(),
1087
+ statusDetails: zod.record(zod.string(), zod.unknown()),
1088
+ substatus: zod.string().nullable(),
1089
+ title: zod.string(),
1090
+ type: zod.string(),
1091
+ userCount: zod.int()
1092
+ });
1093
+ /**
1094
+ * A release as `serialize_releases` (`api/helpers/group_index/index.py`)
1095
+ * falls back to it, with the serializer's `shortVersion`, which is the
1096
+ * version itself (`api/serializers/models/release.py`).
1097
+ */
1098
+ const zSentryRelease = zod.object({
1099
+ shortVersion: zod.string(),
1100
+ version: zod.string()
1101
+ });
1102
+ /**
1103
+ * Subset of `GroupDetailsEndpoint`'s response
1104
+ * (`issues/endpoints/group_details.py`).
1105
+ */
1106
+ const zSentryIssueDetails = zSentryIssue.and(zod.object({
1107
+ firstRelease: zSentryRelease.nullable(),
1108
+ lastRelease: zSentryRelease.nullable(),
1109
+ userReportCount: zod.int()
1110
+ }));
1111
+ /**
1112
+ * `{"id", "name"}` of a status, as Sentry nests it in an organization.
1113
+ */
1114
+ const zSentryStatus = zod.object({
1115
+ id: zod.string(),
1116
+ name: zod.string()
1117
+ });
1118
+ /**
1119
+ * Subset of `OrganizationSummarySerializer`
1120
+ * (`api/serializers/models/organization.py`).
1121
+ */
1122
+ const zSentryOrganization = zod.object({
1123
+ id: zod.string(),
1124
+ name: zod.string(),
1125
+ slug: zod.string(),
1126
+ status: zSentryStatus
1127
+ });
1128
+ /**
1129
+ * Subset of `ProjectWithOrganizationSerializer`
1130
+ * (`api/serializers/models/project.py`). Sentry's ids are strings.
1131
+ */
1132
+ const zSentryProject = zod.object({
1133
+ dateCreated: zod.iso.datetime({ offset: true }),
1134
+ id: zod.string(),
1135
+ name: zod.string(),
1136
+ organization: zSentryOrganization,
1137
+ platform: zod.string().nullable(),
1138
+ slug: zod.string(),
1139
+ status: zod.string()
1140
+ });
1141
+ const zSentryTag = zod.object({
1142
+ key: zod.string(),
1143
+ value: zod.string()
1144
+ });
1145
+ /**
1146
+ * Subset of `EventSerializer` for an error event
1147
+ * (`api/serializers/models/event.py`).
1148
+ */
1149
+ const zSentryEvent = zod.object({
1150
+ culprit: zod.string(),
1151
+ dateCreated: zod.iso.datetime({ offset: true }),
1152
+ dateReceived: zod.iso.datetime({ offset: true }),
1153
+ entries: zod.array(zod.record(zod.string(), zod.unknown())),
1154
+ eventID: zod.string(),
1155
+ groupID: zod.string(),
1156
+ id: zod.string(),
1157
+ message: zod.string(),
1158
+ metadata: zod.record(zod.string(), zod.unknown()),
1159
+ platform: zod.string(),
1160
+ projectID: zod.string(),
1161
+ tags: zod.array(zSentryTag),
1162
+ title: zod.string(),
1163
+ type: zod.string()
1164
+ });
1165
+ /**
1166
+ * Project-wide session health summary, aggregated across all releases and environments.
1167
+ */
1168
+ const zSessionSummary = zod.object({
1169
+ abnormal: zod.int(),
1170
+ active_releases: zod.int(),
1171
+ crash_free_sessions_rate: zod.number().nullable(),
1172
+ crash_free_users_rate: zod.number().nullable(),
1173
+ crashed: zod.int(),
1174
+ errored: zod.int(),
1175
+ total: zod.int()
1176
+ });
1177
+ /**
1178
+ * One time-bucketed point in a project's session trend, aggregated across all
1179
+ * releases and environments. Powers trend charts (crash-free sessions over time).
1180
+ */
1181
+ const zSessionTimeseriesPoint = zod.object({
1182
+ bucket: zod.iso.datetime({ offset: true }),
1183
+ crash_free_sessions_rate: zod.number().nullable(),
1184
+ crashed: zod.int(),
1185
+ total: zod.int()
1186
+ });
1187
+ /**
1188
+ * Sort order direction
1189
+ */
1190
+ const zSortOrder = zod.enum(["asc", "desc"]);
1191
+ const zSourceMapFile = zod.object({
1192
+ dateUploaded: zod.string(),
1193
+ debugId: zod.string(),
1194
+ fileType: zod.string(),
1195
+ size: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1196
+ timesUsed: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1197
+ });
1198
+ /**
1199
+ * Outcome of a source-map garbage collection: orphaned `source_file` rows
1200
+ * (no `source_file_metadata` referencing them) removed from the DB and unlinked
1201
+ * from disk. `bytes_freed` is the exact summed `size` of the removed files.
1202
+ */
1203
+ const zSourceMapGcResult = zod.object({
1204
+ bytes_freed: zod.int(),
1205
+ files_removed: zod.int()
1206
+ });
1207
+ const zSourceMapList = zod.object({ data: zod.array(zSourceMapFile) });
1208
+ /**
1209
+ * Exact source-map storage weight, summed from the `size` columns.
1210
+ *
1211
+ * Source maps live in two places: `chunk` holds the raw upload bytes as in-DB
1212
+ * BYTEA, `source_file` holds the assembled artifact on the filesystem CAS. Both
1213
+ * carry a `size` column, so the weight is an exact SUM — no filesystem walk.
1214
+ */
1215
+ const zSourceMapStorage = zod.object({
1216
+ chunk_bytes: zod.int(),
1217
+ file_count: zod.int(),
1218
+ source_file_bytes: zod.int(),
1219
+ total_bytes: zod.int()
1220
+ });
1221
+ /**
1222
+ * A single indexed span — extracted from a transaction, OR standalone
1223
+ * (Sentry "span" item type). Both origins write into the same `spans`
1224
+ * table, so `transaction_id` is the only thing that distinguishes them.
1225
+ */
1226
+ const zSpanResponse = zod.object({
1227
+ description: zod.string().nullable(),
1228
+ duration_ms: zod.number().nullable(),
1229
+ environment: zod.string().nullable(),
1230
+ exclusive_time_ms: zod.number().nullable(),
1231
+ gen_ai_agent_name: zod.string().nullable(),
1232
+ gen_ai_conversation_id: zod.string().nullable(),
1233
+ gen_ai_operation_type: zod.string().nullable(),
1234
+ gen_ai_request_model: zod.string().nullable(),
1235
+ gen_ai_response_model: zod.string().nullable(),
1236
+ gen_ai_tool_name: zod.string().nullable(),
1237
+ gen_ai_usage_input_tokens: zod.number().nullable(),
1238
+ gen_ai_usage_output_tokens: zod.number().nullable(),
1239
+ gen_ai_usage_total_tokens: zod.number().nullable(),
1240
+ id: zod.uuid(),
1241
+ is_segment: zod.boolean(),
1242
+ op: zod.string().nullable(),
1243
+ parent_span_id: zod.string().nullable(),
1244
+ platform: zod.string().nullable(),
1245
+ release: zod.string().nullable(),
1246
+ segment_id: zod.string().nullable(),
1247
+ span_id: zod.string().nullable(),
1248
+ start_timestamp: zod.iso.datetime({ offset: true }).nullable(),
1249
+ status: zod.string().nullable(),
1250
+ timestamp: zod.iso.datetime({ offset: true }).nullable(),
1251
+ trace_id: zod.string().nullable(),
1252
+ transaction_id: zod.uuid().nullable()
1253
+ });
1254
+ /**
1255
+ * One span with its full attribute bag — the detail counterpart to
1256
+ * [`SpanResponse`].
1257
+ *
1258
+ * The list response deliberately omits attributes: `spans.data` is never
1259
+ * trimmed (unlike event data, which goes through `services::event_trim`), so
1260
+ * a single AI span can carry a whole prompt and a trace's worth of them would
1261
+ * dwarf the waterfall it is drawn from. Attributes are fetched one span at a
1262
+ * time instead, which is also how Sentry's own agent drawer works — the span
1263
+ * list is light and the details panel loads the selected node's attributes.
1264
+ */
1265
+ const zSpanDetailResponse = zSpanResponse.and(zod.object({
1266
+ attributes: zod.record(zod.string(), zod.unknown()),
1267
+ tags: zod.record(zod.string(), zod.unknown()).nullable()
1268
+ }));
1269
+ const zSsoConfigResponse = zod.object({
1270
+ enabled: zod.boolean(),
1271
+ provider_name: zod.string().nullable()
1272
+ });
1273
+ const zSsoLinkResponse = zod.object({
1274
+ email: zod.string(),
1275
+ provider_name: zod.string()
1276
+ });
1277
+ const zSsoStartResponse = zod.object({ authorization_url: zod.string() });
1278
+ /**
1279
+ * The age of everything the instance holds, by project and kind, keyed on
1280
+ * ingest time like retention.
1281
+ */
1282
+ const zStorageAge = zod.object({
1283
+ bucket_days: zod.array(zod.int()),
1284
+ projects: zod.array(zProjectAge)
1285
+ });
1286
+ /**
1287
+ * Instance-wide storage summary: what Rustrak is holding right now.
1288
+ *
1289
+ * Row counts are exact (indexed `COUNT(*)`). `total_db_size_bytes` is a
1290
+ * best-effort figure from the backend (`pg_database_size` / SQLite page count),
1291
+ * while `source_maps` is exact (summed `size` columns).
1292
+ */
1293
+ const zStorageSummary = zod.object({
1294
+ events_count: zod.int(),
1295
+ logs_count: zod.int(),
1296
+ source_maps: zSourceMapStorage,
1297
+ spans_count: zod.int(),
1298
+ total_db_size_bytes: zod.int(),
1299
+ transactions_count: zod.int()
1300
+ });
1301
+ const zSubscriptionResponse = zod.object({ is_subscribed: zod.boolean() });
1302
+ /**
1303
+ * A tag value with its event count within an issue.
1304
+ */
1305
+ const zTagValueCount = zod.object({
1306
+ count: zod.int(),
1307
+ value: zod.string()
1308
+ });
1309
+ /**
1310
+ * A tag key with its most common values within an issue.
1311
+ */
1312
+ const zTagSummary = zod.object({
1313
+ key: zod.string(),
1314
+ top_values: zod.array(zTagValueCount),
1315
+ total_values: zod.int().gte(0)
1316
+ });
1317
+ /**
1318
+ * Per-issue aggregates computed from recent events (capped scan).
1319
+ */
1320
+ const zIssueAggregates = zod.object({
1321
+ tags: zod.array(zTagSummary),
1322
+ user_count: zod.int()
1323
+ });
1324
+ const zTelemetryPreview = zod.object({
1325
+ enabled: zod.boolean(),
1326
+ reason: zod.string().nullable(),
1327
+ report: zod.record(zod.string(), zod.unknown()),
1328
+ sink: zod.string().nullable()
1329
+ });
1330
+ /**
1331
+ * Outcome of a test notification.
1332
+ */
1333
+ const zTestChannelResponse = zod.object({
1334
+ message: zod.string(),
1335
+ response_body: zod.string().nullable(),
1336
+ success: zod.boolean()
1337
+ });
1338
+ /**
1339
+ * Request body for the test-integration endpoint.
1340
+ */
1341
+ const zTestIntegrationBody = zod.object({ routing_override: zod.record(zod.string(), zod.unknown()).nullish() });
1342
+ /**
1343
+ * Body for toggling a per-user flag (bookmark/subscription).
1344
+ */
1345
+ const zToggleRequest = zod.object({ enabled: zod.boolean().nullish() });
1346
+ /**
1347
+ * Response model for a single transaction detail view.
1348
+ *
1349
+ * Carries the same summary fields as [`TransactionResponse`] plus the full
1350
+ * Sentry payload under `data` (spans, contexts.trace, measurements, tags,
1351
+ * request, user). The frontend builds the span waterfall and metrics view
1352
+ * from `data`.
1353
+ */
1354
+ const zTransactionDetailResponse = zod.object({
1355
+ data: zod.record(zod.string(), zod.unknown()),
1356
+ duration_ms: zod.number().nullable(),
1357
+ environment: zod.string(),
1358
+ event_id: zod.string(),
1359
+ id: zod.uuid(),
1360
+ ingested_at: zod.iso.datetime({ offset: true }),
1361
+ platform: zod.string(),
1362
+ release: zod.string(),
1363
+ start_timestamp: zod.iso.datetime({ offset: true }).nullable(),
1364
+ timestamp: zod.iso.datetime({ offset: true }),
1365
+ transaction_name: zod.string()
1366
+ });
1367
+ zod.object({
1368
+ duration_ms: zod.number().nullable(),
1369
+ environment: zod.string(),
1370
+ event_id: zod.string(),
1371
+ id: zod.uuid(),
1372
+ ingested_at: zod.iso.datetime({ offset: true }),
1373
+ platform: zod.string(),
1374
+ release: zod.string(),
1375
+ start_timestamp: zod.iso.datetime({ offset: true }).nullable(),
1376
+ timestamp: zod.iso.datetime({ offset: true }),
1377
+ transaction_name: zod.string()
1378
+ });
1379
+ /**
1380
+ * Aggregate performance stats for one (transaction_name, op) group.
1381
+ * Powers the performance overview: throughput + latency percentiles +
1382
+ * failure rate per transaction. Percentiles are continuous (linear
1383
+ * interpolation, matching Postgres `percentile_cont`).
1384
+ */
1385
+ const zTransactionStatsResponse = zod.object({
1386
+ count: zod.int(),
1387
+ failure_rate: zod.number(),
1388
+ op: zod.string().nullable(),
1389
+ p50_ms: zod.number(),
1390
+ p95_ms: zod.number(),
1391
+ p99_ms: zod.number(),
1392
+ transaction_name: zod.string()
1393
+ });
1394
+ /**
1395
+ * DTO for updating an alert integration
1396
+ */
1397
+ const zUpdateAlertIntegration = zod.object({
1398
+ credentials: zod.record(zod.string(), zod.unknown()).nullish(),
1399
+ is_enabled: zod.boolean().nullish(),
1400
+ name: zod.string().nullish()
1401
+ });
1402
+ /**
1403
+ * DTO for updating an alert rule
1404
+ */
1405
+ const zUpdateAlertRule = zod.object({
1406
+ channels: zod.array(zAlertRuleChannelInput).nullish(),
1407
+ conditions: zod.record(zod.string(), zod.unknown()).nullish(),
1408
+ cooldown_minutes: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullish(),
1409
+ is_enabled: zod.boolean().nullish(),
1410
+ name: zod.string().nullish()
1411
+ });
1412
+ /**
1413
+ * Request to update issue state.
1414
+ *
1415
+ * `status`/`substatus`/`priority`/assignment are the canonical fields.
1416
+ * `is_resolved`/`is_muted` are accepted as a deprecated compatibility shim
1417
+ * and mapped onto `status`.
1418
+ */
1419
+ const zUpdateIssueState = zod.object({
1420
+ assigned_to: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullish(),
1421
+ assignee_type: zod.string().nullish(),
1422
+ is_muted: zod.boolean().nullish(),
1423
+ is_resolved: zod.boolean().nullish(),
1424
+ priority: zIssuePriority.nullish(),
1425
+ status: zIssueStatusUpdate.nullish(),
1426
+ substatus: zod.string().nullish()
1427
+ });
1428
+ /**
1429
+ * Body of `PUT /api/projects/{project_id}/monitors/{slug}`. Fields left out
1430
+ * keep their value, including each field of `config`.
1431
+ */
1432
+ const zUpdateMonitor = zod.object({
1433
+ config: zMonitorConfigInput.nullish(),
1434
+ is_muted: zod.boolean().nullish(),
1435
+ name: zod.string().nullish()
1436
+ });
1437
+ /**
1438
+ * What a reader may change about how the dashboard is presented to them.
1439
+ *
1440
+ * Every field is doubly optional, and both levels are used: absent means
1441
+ * "leave it", `null` means "clear it". `#[serde(default)]` with
1442
+ * `deserialize_with` is what keeps those distinguishable, because plain
1443
+ * `Option<Option<T>>` collapses a missing key and an explicit null.
1444
+ */
1445
+ const zUpdatePreferencesRequest = zod.object({
1446
+ language: zod.string().nullish(),
1447
+ timezone: zod.string().nullish()
1448
+ });
1449
+ /**
1450
+ * DTO for updating a project
1451
+ */
1452
+ const zUpdateProject = zod.object({
1453
+ name: zod.string().nullish(),
1454
+ platform: zod.string().nullish(),
1455
+ rate_limit_per_hour: zod.int().nullish(),
1456
+ rate_limit_per_minute: zod.int().nullish(),
1457
+ slug: zod.string().nullish()
1458
+ });
1459
+ const zUpdateProjectRepository = zod.object({
1460
+ auto_create_conditions: zod.record(zod.string(), zod.unknown()).nullish(),
1461
+ auto_create_issues: zod.boolean().nullish(),
1462
+ code_mappings: zod.array(zCodeMapping).nullish(),
1463
+ installation_id: zod.int(),
1464
+ repo_full_name: zod.string()
1465
+ });
1466
+ /**
1467
+ * DTO for `PUT .../releases/{version}/` — generic partial update.
1468
+ * Setting `date_released` IS "finalize": there is no separate status flag.
1469
+ * Absent fields (including an explicit `null`) leave the stored value
1470
+ * unchanged, matching Sentry's own partial-update semantics for this endpoint.
1471
+ */
1472
+ const zUpdateRelease = zod.object({
1473
+ dateReleased: zod.iso.datetime({ offset: true }).nullish(),
1474
+ ref: zod.string().nullish(),
1475
+ url: zod.string().nullish()
1476
+ });
1477
+ const zUpsertProjectMember = zod.object({
1478
+ role: zProjectRole,
1479
+ user_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1480
+ });
1481
+ /**
1482
+ * A user feedback report attached to a project/issue/event.
1483
+ */
1484
+ const zUserReport = zod.object({
1485
+ comments: zod.string(),
1486
+ created_at: zod.iso.datetime({ offset: true }),
1487
+ email: zod.string(),
1488
+ event_id: zod.uuid().nullable(),
1489
+ id: zod.uuid(),
1490
+ issue_id: zod.uuid().nullable(),
1491
+ name: zod.string(),
1492
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1493
+ });
1494
+ /**
1495
+ * Body for submitting user feedback on an issue.
1496
+ */
1497
+ const zUserReportRequest = zod.object({
1498
+ comments: zod.string().nullish(),
1499
+ email: zod.string().nullish(),
1500
+ event_id: zod.uuid().nullish(),
1501
+ name: zod.string().nullish()
1502
+ });
1503
+ /**
1504
+ * Instance-wide role for a user.
1505
+ *
1506
+ * `Admin` has full access to every project and to team management.
1507
+ * `Member` only sees projects they are a member of (see `ProjectRole`).
1508
+ */
1509
+ const zUserRole = zod.enum(["admin", "member"]);
1510
+ const zCreateInvitation = zod.object({
1511
+ email: zod.string(),
1512
+ role: zUserRole
1513
+ });
1514
+ /**
1515
+ * Public-facing invitation info for the accept page.
1516
+ */
1517
+ const zInvitationInfoResponse = zod.object({
1518
+ email: zod.string(),
1519
+ expires_at: zod.iso.datetime({ offset: true }),
1520
+ role: zUserRole,
1521
+ status: zod.string()
1522
+ });
1523
+ /**
1524
+ * Public-facing invitation (no internal columns beyond what the UI needs).
1525
+ */
1526
+ const zInvitationResponse = zod.object({
1527
+ created_at: zod.iso.datetime({ offset: true }),
1528
+ email: zod.string(),
1529
+ expires_at: zod.iso.datetime({ offset: true }),
1530
+ role: zUserRole,
1531
+ status: zod.string(),
1532
+ token: zod.string()
1533
+ });
1534
+ /**
1535
+ * A user as exposed on the team roster.
1536
+ */
1537
+ const zTeamMemberResponse = zod.object({
1538
+ created_at: zod.iso.datetime({ offset: true }),
1539
+ email: zod.string(),
1540
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1541
+ is_active: zod.boolean(),
1542
+ is_primary: zod.boolean(),
1543
+ last_login: zod.iso.datetime({ offset: true }).nullable(),
1544
+ role: zUserRole
1545
+ });
1546
+ /**
1547
+ * Request body for changing a user's global role.
1548
+ */
1549
+ const zUpdateUserRole = zod.object({ role: zUserRole });
1550
+ const zUserResponse = zod.object({
1551
+ email: zod.string(),
1552
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1553
+ is_admin: zod.boolean(),
1554
+ language: zod.string().nullable(),
1555
+ role: zUserRole,
1556
+ timezone: zod.string().nullable()
1557
+ });
1558
+ const zAuthResponse = zod.object({ user: zUserResponse });
1559
+ const zVersionResponse = zod.object({ version: zod.string() });
1560
+ const zSentryGetIssuePath = zod.object({ issue_id: zod.string().regex(/^[0-9]+$/) });
1561
+ /**
1562
+ * Issue details
1563
+ */
1564
+ const zSentryGetIssueResponse = zSentryIssueDetails;
1565
+ const zSentryUpdateIssueBody = zIssueUpdate;
1566
+ const zSentryUpdateIssuePath = zod.object({ issue_id: zod.string().regex(/^[0-9]+$/) });
1567
+ /**
1568
+ * Issue updated
1569
+ */
1570
+ const zSentryUpdateIssueResponse = zSentryIssue;
1571
+ const zSentryGetLatestEventPath = zod.object({ issue_id: zod.string().regex(/^[0-9]+$/) });
1572
+ /**
1573
+ * The issue's latest event
1574
+ */
1575
+ const zSentryGetLatestEventResponse = zSentryEvent;
1576
+ /**
1577
+ * The synthetic organization
1578
+ */
1579
+ const zSentryListOrganizationsResponse = zod.array(zSentryOrganization);
1580
+ const zSourceMapsOrgDetailsPath = zod.object({ org_slug: zod.string() });
1581
+ /**
1582
+ * Synthetic org metadata accepted by sentry-cli
1583
+ */
1584
+ const zSourceMapsOrgDetailsResponse = zOrgDetails;
1585
+ const zSourceMapsArtifactBundleAssembleBody = zAssembleBody;
1586
+ const zSourceMapsArtifactBundleAssemblePath = zod.object({ org_slug: zod.string() });
1587
+ /**
1588
+ * Assembly job state (not_found / created / assembling / ok / error). Missing chunks are listed in missingChunks.
1589
+ */
1590
+ const zSourceMapsArtifactBundleAssembleResponse = zAssembleResponse;
1591
+ const zSourceMapsChunkUploadCapabilityPath = zod.object({ org_slug: zod.string() });
1592
+ /**
1593
+ * Chunk upload capabilities and URL
1594
+ */
1595
+ const zSourceMapsChunkUploadCapabilityResponse = zChunkUploadOptions;
1596
+ /**
1597
+ * One or more binary chunk files. Field names may be SHA-1 hashes (v2 protocol) or arbitrary names like 'file' (v3.x protocol).
1598
+ */
1599
+ const zSourceMapsChunkUploadBody = zChunkUploadBody;
1600
+ const zSourceMapsChunkUploadPath = zod.object({ org_slug: zod.string() });
1601
+ const zSentryListReposPath = zod.object({ org_slug: zod.string() });
1602
+ /**
1603
+ * Connected repositories: always none
1604
+ */
1605
+ const zSentryListReposResponse = zod.array(zod.record(zod.string(), zod.unknown()));
1606
+ const zSentryListProjectsQuery = zod.object({
1607
+ per_page: zod.int().nullish(),
1608
+ cursor: zod.string().nullish()
1609
+ });
1610
+ /**
1611
+ * Projects, newest first; paginated by the `Link` header
1612
+ */
1613
+ const zSentryListProjectsResponse = zod.array(zSentryProject);
1614
+ const zSourceMapsListPath = zod.object({
1615
+ org_slug: zod.string(),
1616
+ project_slug: zod.string()
1617
+ });
1618
+ /**
1619
+ * List of uploaded source map files
1620
+ */
1621
+ const zSourceMapsListResponse = zSourceMapList;
1622
+ const zSentryListIssuesPath = zod.object({
1623
+ org_slug: zod.string(),
1624
+ project_slug: zod.string()
1625
+ });
1626
+ const zSentryListIssuesQuery = zod.object({
1627
+ query: zod.string().nullish(),
1628
+ sort: zod.string().nullish(),
1629
+ limit: zod.string().nullish(),
1630
+ cursor: zod.string().nullish(),
1631
+ statsPeriod: zod.string().nullish()
1632
+ });
1633
+ /**
1634
+ * Issues; paginated by the `Link` header
1635
+ */
1636
+ const zSentryListIssuesResponse = zod.array(zSentryIssue);
1637
+ const zReleasesCreateBody = zCreateRelease;
1638
+ const zReleasesCreatePath = zod.object({
1639
+ org_slug: zod.string(),
1640
+ project_slug: zod.string()
1641
+ });
1642
+ /**
1643
+ * Release created
1644
+ */
1645
+ const zReleasesCreateResponse = zReleaseResponse;
1646
+ const zReleasesFinalizeBody = zUpdateRelease;
1647
+ const zReleasesFinalizePath = zod.object({
1648
+ org_slug: zod.string(),
1649
+ project_slug: zod.string(),
1650
+ version: zod.string()
1651
+ });
1652
+ /**
1653
+ * Release updated
1654
+ */
1655
+ const zReleasesFinalizeResponse = zReleaseResponse;
1656
+ /**
1657
+ * GitHub App removed
1658
+ */
1659
+ const zGithubDisconnectResponse = zod.void();
1660
+ /**
1661
+ * GitHub App and installations
1662
+ */
1663
+ const zGithubStatusResponse = zGitHubStatus;
1664
+ const zGithubCallbackQuery = zod.object({
1665
+ code: zod.string(),
1666
+ state: zod.string()
1667
+ });
1668
+ const zGithubInstalledQuery = zod.object({ installation_id: zod.int() });
1669
+ const zGithubManifestBody = zManifestRequest;
1670
+ /**
1671
+ * Form to post to GitHub
1672
+ */
1673
+ const zGithubManifestResponse = zManifestResponse;
1674
+ /**
1675
+ * Your GitHub username
1676
+ */
1677
+ const zGithubGetMyLoginResponse = zGitHubLogin;
1678
+ const zGithubPutMyLoginBody = zGitHubLogin;
1679
+ /**
1680
+ * GitHub username saved
1681
+ */
1682
+ const zGithubPutMyLoginResponse = zGitHubLogin;
1683
+ const zGithubRepositoriesQuery = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1684
+ /**
1685
+ * Repositories the installations reach
1686
+ */
1687
+ const zGithubRepositoriesResponse = zod.array(zGitHubRepository);
1688
+ /**
1689
+ * GitHub event payload, signed in X-Hub-Signature-256
1690
+ */
1691
+ const zGithubWebhookBody = zod.record(zod.string(), zod.unknown());
1692
+ /**
1693
+ * Event processed
1694
+ */
1695
+ const zGithubWebhookResponse = zod.void();
1696
+ /**
1697
+ * List of notification channels
1698
+ */
1699
+ const zAlertChannelsListResponse = zod.array(zAlertIntegration);
1700
+ const zAlertChannelsCreateBody = zCreateAlertIntegration;
1701
+ /**
1702
+ * Channel created
1703
+ */
1704
+ const zAlertChannelsCreateResponse = zAlertIntegration;
1705
+ const zAlertChannelsPreviewTemplateBody = zPreviewTemplateBody;
1706
+ /**
1707
+ * Rendered body, or why it would not render
1708
+ */
1709
+ const zAlertChannelsPreviewTemplateResponse = zPreviewTemplateResponse;
1710
+ const zAlertChannelsDeletePath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1711
+ /**
1712
+ * Channel deleted
1713
+ */
1714
+ const zAlertChannelsDeleteResponse = zod.void();
1715
+ const zAlertChannelsGetPath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1716
+ /**
1717
+ * Channel details
1718
+ */
1719
+ const zAlertChannelsGetResponse = zAlertIntegration;
1720
+ const zAlertChannelsUpdateBody = zUpdateAlertIntegration;
1721
+ const zAlertChannelsUpdatePath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1722
+ /**
1723
+ * Channel updated
1724
+ */
1725
+ const zAlertChannelsUpdateResponse = zAlertIntegration;
1726
+ const zAlertChannelsTestBody = zTestIntegrationBody;
1727
+ const zAlertChannelsTestPath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1728
+ /**
1729
+ * Test notification sent
1730
+ */
1731
+ const zAlertChannelsTestResponse = zTestChannelResponse;
1732
+ /**
1733
+ * List of invitations
1734
+ */
1735
+ const zInvitationsListResponse = zod.array(zInvitationResponse);
1736
+ const zInvitationsCreateBody = zCreateInvitation;
1737
+ /**
1738
+ * Invitation created
1739
+ */
1740
+ const zInvitationsCreateResponse = zInvitationResponse;
1741
+ const zInvitationsRevokePath = zod.object({ token: zod.string() });
1742
+ /**
1743
+ * Invitation revoked
1744
+ */
1745
+ const zInvitationsRevokeResponse = zod.void();
1746
+ const zOauthGetAuthorizationQuery = zod.object({
1747
+ response_type: zod.string(),
1748
+ client_id: zod.string(),
1749
+ redirect_uri: zod.string(),
1750
+ code_challenge: zod.string(),
1751
+ code_challenge_method: zod.string(),
1752
+ state: zod.string().nullish(),
1753
+ resource: zod.string().nullish()
1754
+ });
1755
+ /**
1756
+ * The verified client asking for access
1757
+ */
1758
+ const zOauthGetAuthorizationResponse = zAuthorizationInfo;
1759
+ const zOauthDecideAuthorizationBody = zAuthorizationDecision;
1760
+ /**
1761
+ * Where to send the browser
1762
+ */
1763
+ const zOauthDecideAuthorizationResponse = zAuthorizationRedirect;
1764
+ /**
1765
+ * Assistants connected to your account
1766
+ */
1767
+ const zOauthListGrantsResponse = zod.array(zOAuthGrant);
1768
+ const zOauthRevokeGrantPath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1769
+ /**
1770
+ * Disconnected
1771
+ */
1772
+ const zOauthRevokeGrantResponse = zod.void();
1773
+ const zProjectsListQuery = zod.object({
1774
+ page: zod.int().gte(1).optional(),
1775
+ per_page: zod.int().gte(1).lte(100).optional(),
1776
+ order: zSortOrder.optional(),
1777
+ stats_period: zod.string().nullish()
1778
+ });
1779
+ /**
1780
+ * Offset-based paginated response wrapper
1781
+ */
1782
+ const zProjectsListResponse = zod.object({
1783
+ items: zod.array(zod.object({
1784
+ created_at: zod.iso.datetime({ offset: true }),
1785
+ digested_event_count: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1786
+ dsn: zod.string(),
1787
+ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1788
+ name: zod.string(),
1789
+ platform: zod.string().nullable(),
1790
+ rate_limit_per_hour: zod.int().nullable(),
1791
+ rate_limit_per_minute: zod.int().nullable(),
1792
+ rate_limited_event_count: zod.int(),
1793
+ sentry_key: zod.uuid(),
1794
+ slug: zod.string(),
1795
+ stats: zProjectListStats.nullish(),
1796
+ stored_event_count: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1797
+ updated_at: zod.iso.datetime({ offset: true })
1798
+ })),
1799
+ page: zod.int(),
1800
+ per_page: zod.int(),
1801
+ total_count: zod.int(),
1802
+ total_pages: zod.int()
1803
+ });
1804
+ const zProjectsCreateBody = zCreateProject;
1805
+ /**
1806
+ * Project created
1807
+ */
1808
+ const zProjectsCreateResponse = zProjectResponse;
1809
+ const zProjectsDeletePath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1810
+ /**
1811
+ * Project deleted
1812
+ */
1813
+ const zProjectsDeleteResponse = zod.void();
1814
+ const zProjectsGetPath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1815
+ /**
1816
+ * Project details
1817
+ */
1818
+ const zProjectsGetResponse = zProjectResponse;
1819
+ const zProjectsUpdateBody = zUpdateProject;
1820
+ const zProjectsUpdatePath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1821
+ /**
1822
+ * Project updated
1823
+ */
1824
+ const zProjectsUpdateResponse = zProjectResponse;
1825
+ const zAgentsDurationPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1826
+ const zAgentsDurationQuery = zod.object({
1827
+ period_hours: zod.int().nullish(),
1828
+ environment: zod.string().nullish(),
1829
+ interval_hours: zod.int().gte(1).optional()
1830
+ });
1831
+ /**
1832
+ * Avg/p95 duration over time for agent runs and LLM calls
1833
+ */
1834
+ const zAgentsDurationResponse = zod.array(zAgentDurationPoint);
1835
+ const zAgentsEnvironmentsPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1836
+ /**
1837
+ * Environments present in this project's AI spans
1838
+ */
1839
+ const zAgentsEnvironmentsResponse = zod.array(zod.string());
1840
+ const zAgentsModelsTablePath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1841
+ const zAgentsModelsTableQuery = zod.object({
1842
+ period_hours: zod.int().nullish(),
1843
+ environment: zod.string().nullish()
1844
+ });
1845
+ /**
1846
+ * Per-model volume, failures, latency and token split
1847
+ */
1848
+ const zAgentsModelsTableResponse = zod.array(zAgentModelRow);
1849
+ const zAgentsModelsCallsPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1850
+ const zAgentsModelsCallsQuery = zod.object({
1851
+ period_hours: zod.int().nullish(),
1852
+ environment: zod.string().nullish(),
1853
+ limit: zod.int().gte(1).lte(100).optional()
1854
+ });
1855
+ /**
1856
+ * Top LLM call counts by response model
1857
+ */
1858
+ const zAgentsModelsCallsResponse = zod.array(zGenAiBreakdownRow);
1859
+ const zAgentsModelsTokensPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1860
+ const zAgentsModelsTokensQuery = zod.object({
1861
+ period_hours: zod.int().nullish(),
1862
+ environment: zod.string().nullish(),
1863
+ limit: zod.int().gte(1).lte(100).optional()
1864
+ });
1865
+ /**
1866
+ * Top total tokens used by response model
1867
+ */
1868
+ const zAgentsModelsTokensResponse = zod.array(zGenAiBreakdownRow);
1869
+ const zAgentsRunsPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1870
+ const zAgentsRunsQuery = zod.object({
1871
+ period_hours: zod.int().nullish(),
1872
+ environment: zod.string().nullish(),
1873
+ interval_hours: zod.int().gte(1).optional()
1874
+ });
1875
+ /**
1876
+ * Agent runs over time
1877
+ */
1878
+ const zAgentsRunsResponse = zod.array(zAgentTimeseriesPoint);
1879
+ const zAgentsSummaryPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1880
+ const zAgentsSummaryQuery = zod.object({
1881
+ period_hours: zod.int().nullish(),
1882
+ environment: zod.string().nullish()
1883
+ });
1884
+ /**
1885
+ * Headline totals for the selected window
1886
+ */
1887
+ const zAgentsSummaryResponse = zAgentSummary;
1888
+ const zAgentsToolsPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1889
+ const zAgentsToolsQuery = zod.object({
1890
+ period_hours: zod.int().nullish(),
1891
+ environment: zod.string().nullish(),
1892
+ limit: zod.int().gte(1).lte(100).optional()
1893
+ });
1894
+ /**
1895
+ * Top tool call counts by tool name
1896
+ */
1897
+ const zAgentsToolsResponse = zod.array(zGenAiBreakdownRow);
1898
+ const zAgentsToolsTablePath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1899
+ const zAgentsToolsTableQuery = zod.object({
1900
+ period_hours: zod.int().nullish(),
1901
+ environment: zod.string().nullish()
1902
+ });
1903
+ /**
1904
+ * Per-tool call volume, failures and latency
1905
+ */
1906
+ const zAgentsToolsTableResponse = zod.array(zAgentToolRow);
1907
+ const zAgentsTracesPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1908
+ const zAgentsTracesQuery = zod.object({
1909
+ period_hours: zod.int().nullish(),
1910
+ environment: zod.string().nullish(),
1911
+ page: zod.int().gte(1).optional(),
1912
+ per_page: zod.int().gte(1).lte(100).optional()
1913
+ });
1914
+ /**
1915
+ * Offset-based paginated response wrapper
1916
+ */
1917
+ const zAgentsTracesResponse = zod.object({
1918
+ items: zod.array(zod.object({
1919
+ agent_names: zod.array(zod.string()),
1920
+ duration_ms: zod.number().nullable(),
1921
+ error_count: zod.int(),
1922
+ llm_call_count: zod.int(),
1923
+ started_at: zod.iso.datetime({ offset: true }),
1924
+ tool_call_count: zod.int(),
1925
+ total_tokens: zod.number(),
1926
+ trace_id: zod.string()
1927
+ })),
1928
+ page: zod.int(),
1929
+ per_page: zod.int(),
1930
+ total_count: zod.int(),
1931
+ total_pages: zod.int()
1932
+ });
1933
+ const zAlertRulesListHistoryPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1934
+ const zAlertRulesListHistoryQuery = zod.object({ limit: zod.int().optional() });
1935
+ /**
1936
+ * Alert history
1937
+ */
1938
+ const zAlertRulesListHistoryResponse = zod.array(zAlertHistory);
1939
+ const zAlertRulesListPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1940
+ /**
1941
+ * List of alert rules
1942
+ */
1943
+ const zAlertRulesListResponse = zod.array(zAlertRuleResponse);
1944
+ const zAlertRulesCreateBody = zCreateAlertRule;
1945
+ const zAlertRulesCreatePath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1946
+ /**
1947
+ * Alert rule created
1948
+ */
1949
+ const zAlertRulesCreateResponse = zAlertRuleResponse;
1950
+ const zAlertRulesDeletePath = zod.object({
1951
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1952
+ rule_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1953
+ });
1954
+ /**
1955
+ * Alert rule deleted
1956
+ */
1957
+ const zAlertRulesDeleteResponse = zod.void();
1958
+ const zAlertRulesGetPath = zod.object({
1959
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1960
+ rule_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1961
+ });
1962
+ /**
1963
+ * Alert rule details
1964
+ */
1965
+ const zAlertRulesGetResponse = zAlertRuleResponse;
1966
+ const zAlertRulesUpdateBody = zUpdateAlertRule;
1967
+ const zAlertRulesUpdatePath = zod.object({
1968
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1969
+ rule_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1970
+ });
1971
+ /**
1972
+ * Alert rule updated
1973
+ */
1974
+ const zAlertRulesUpdateResponse = zAlertRuleResponse;
1975
+ const zEventsGetBySentryIdPath = zod.object({
1976
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1977
+ event_id: zod.string()
1978
+ });
1979
+ /**
1980
+ * Full event detail, including its issue ID
1981
+ */
1982
+ const zEventsGetBySentryIdResponse = zEventDetailResponse;
1983
+ const zStatsGetEventTimeseriesPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1984
+ const zStatsGetEventTimeseriesQuery = zod.object({
1985
+ period: zod.string().optional(),
1986
+ interval: zod.int().optional()
1987
+ });
1988
+ /**
1989
+ * Time-bucketed error-event volume by severity
1990
+ */
1991
+ const zStatsGetEventTimeseriesResponse = zod.array(zEventTimeseriesPoint);
1992
+ const zGithubDeleteProjectRepositoryPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1993
+ /**
1994
+ * Repository removed
1995
+ */
1996
+ const zGithubDeleteProjectRepositoryResponse = zod.void();
1997
+ const zGithubGetProjectRepositoryPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
1998
+ /**
1999
+ * The project's repository, if any
2000
+ */
2001
+ const zGithubGetProjectRepositoryResponse = zProjectRepository.nullable();
2002
+ const zGithubPutProjectRepositoryBody = zUpdateProjectRepository;
2003
+ const zGithubPutProjectRepositoryPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2004
+ /**
2005
+ * Repository saved
2006
+ */
2007
+ const zGithubPutProjectRepositoryResponse = zProjectRepository;
2008
+ const zGithubSyncCodeownersPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2009
+ /**
2010
+ * CODEOWNERS synced
2011
+ */
2012
+ const zGithubSyncCodeownersResponse = zProjectRepository;
2013
+ const zIssuesBulkDeleteBody = zBulkDeleteIssues;
2014
+ const zIssuesBulkDeletePath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2015
+ /**
2016
+ * Number of issues deleted
2017
+ */
2018
+ const zIssuesBulkDeleteResponse = zBulkDeleteResponse;
2019
+ const zIssuesListPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2020
+ const zIssuesListQuery = zod.object({
2021
+ page: zod.int().gte(1).optional(),
2022
+ per_page: zod.int().gte(1).lte(100).optional(),
2023
+ sort: zIssueSort.optional(),
2024
+ order: zSortOrder.optional(),
2025
+ filter: zIssueFilter.optional(),
2026
+ q: zod.string().nullish()
2027
+ });
2028
+ /**
2029
+ * Offset-based paginated response wrapper
2030
+ */
2031
+ const zIssuesListResponse = zod.object({
2032
+ items: zod.array(zod.object({
2033
+ assigned_to: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable(),
2034
+ assignee_type: zod.string().nullable(),
2035
+ culprit: zod.string(),
2036
+ event_count: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2037
+ first_release: zod.string(),
2038
+ first_seen: zod.iso.datetime({ offset: true }),
2039
+ has_seen: zod.boolean().nullish(),
2040
+ id: zod.uuid(),
2041
+ is_bookmarked: zod.boolean().nullish(),
2042
+ is_muted: zod.boolean(),
2043
+ is_resolved: zod.boolean(),
2044
+ is_subscribed: zod.boolean().nullish(),
2045
+ issue_category: zod.string(),
2046
+ issue_type: zod.string(),
2047
+ last_release: zod.string(),
2048
+ last_seen: zod.iso.datetime({ offset: true }),
2049
+ level: zod.string().nullable(),
2050
+ logger: zod.string(),
2051
+ platform: zod.string().nullable(),
2052
+ priority: zIssuePriority.nullable(),
2053
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2054
+ short_id: zod.string(),
2055
+ status: zIssueStatus,
2056
+ status_details: zod.record(zod.string(), zod.unknown()),
2057
+ substatus: zod.string().nullable(),
2058
+ title: zod.string(),
2059
+ trend: zod.array(zod.int()).nullish(),
2060
+ user_count: zod.int().nullish(),
2061
+ user_report_count: zod.int().nullish(),
2062
+ value: zod.string()
2063
+ })),
2064
+ page: zod.int(),
2065
+ per_page: zod.int(),
2066
+ total_count: zod.int(),
2067
+ total_pages: zod.int()
2068
+ });
2069
+ const zIssuesBulkUpdateBody = zBulkUpdateIssues;
2070
+ const zIssuesBulkUpdatePath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2071
+ /**
2072
+ * Number of issues updated
2073
+ */
2074
+ const zIssuesBulkUpdateResponse = zBulkUpdateResponse;
2075
+ const zIssuesDeletePath = zod.object({
2076
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2077
+ issue_id: zod.uuid()
2078
+ });
2079
+ /**
2080
+ * Issue deleted
2081
+ */
2082
+ const zIssuesDeleteResponse = zod.void();
2083
+ const zIssuesGetPath = zod.object({
2084
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2085
+ issue_id: zod.uuid()
2086
+ });
2087
+ /**
2088
+ * Issue details
2089
+ */
2090
+ const zIssuesGetResponse = zIssueResponse;
2091
+ const zIssuesUpdateBody = zUpdateIssueState;
2092
+ const zIssuesUpdatePath = zod.object({
2093
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2094
+ issue_id: zod.uuid()
2095
+ });
2096
+ /**
2097
+ * Issue updated
2098
+ */
2099
+ const zIssuesUpdateResponse = zIssueResponse;
2100
+ const zIssuesGetActivityPath = zod.object({
2101
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2102
+ issue_id: zod.uuid()
2103
+ });
2104
+ /**
2105
+ * Activity log (status changes, comments, …)
2106
+ */
2107
+ const zIssuesGetActivityResponse = zod.array(zActivityEntry);
2108
+ const zIssuesGetAggregatesPath = zod.object({
2109
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2110
+ issue_id: zod.uuid()
2111
+ });
2112
+ /**
2113
+ * Unique user count and top tags
2114
+ */
2115
+ const zIssuesGetAggregatesResponse = zIssueAggregates;
2116
+ const zIssuesSetBookmarkBody = zToggleRequest;
2117
+ const zIssuesSetBookmarkPath = zod.object({
2118
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2119
+ issue_id: zod.uuid()
2120
+ });
2121
+ /**
2122
+ * Updated bookmark state
2123
+ */
2124
+ const zIssuesSetBookmarkResponse = zBookmarkResponse;
2125
+ const zIssuesCreateCommentBody = zCommentRequest;
2126
+ const zIssuesCreateCommentPath = zod.object({
2127
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2128
+ issue_id: zod.uuid()
2129
+ });
2130
+ /**
2131
+ * Comment added
2132
+ */
2133
+ const zIssuesCreateCommentResponse = zActivityEntry;
2134
+ const zEventsListPath = zod.object({
2135
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2136
+ issue_id: zod.uuid()
2137
+ });
2138
+ const zEventsListQuery = zod.object({
2139
+ order: zSortOrder.optional(),
2140
+ cursor: zod.string().nullish()
2141
+ });
2142
+ /**
2143
+ * Paginated response wrapper (cursor-based)
2144
+ */
2145
+ const zEventsListResponse = zod.object({
2146
+ has_more: zod.boolean(),
2147
+ items: zod.array(zod.object({
2148
+ environment: zod.string(),
2149
+ event_id: zod.string(),
2150
+ event_type: zod.string(),
2151
+ id: zod.uuid(),
2152
+ issue_id: zod.uuid().nullable(),
2153
+ level: zod.string(),
2154
+ platform: zod.string(),
2155
+ release: zod.string(),
2156
+ timestamp: zod.iso.datetime({ offset: true }),
2157
+ title: zod.string()
2158
+ })),
2159
+ next_cursor: zod.string().nullish()
2160
+ });
2161
+ const zEventsGetPath = zod.object({
2162
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2163
+ issue_id: zod.uuid(),
2164
+ event_id: zod.uuid()
2165
+ });
2166
+ /**
2167
+ * Full event detail
2168
+ */
2169
+ const zEventsGetResponse = zEventDetailResponse;
2170
+ const zGithubIssuePath = zod.object({
2171
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2172
+ issue_id: zod.uuid()
2173
+ });
2174
+ /**
2175
+ * Links, suspect commits and owners
2176
+ */
2177
+ const zGithubIssueResponse = zIssueGitHub;
2178
+ const zGithubCreateIssueBody = zCreateGitHubIssue;
2179
+ const zGithubCreateIssuePath = zod.object({
2180
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2181
+ issue_id: zod.uuid()
2182
+ });
2183
+ /**
2184
+ * GitHub issue created and linked
2185
+ */
2186
+ const zGithubCreateIssueResponse = zIssueLink;
2187
+ const zGithubLinkIssueBody = zLinkGitHubIssue;
2188
+ const zGithubLinkIssuePath = zod.object({
2189
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2190
+ issue_id: zod.uuid()
2191
+ });
2192
+ /**
2193
+ * GitHub issue linked
2194
+ */
2195
+ const zGithubLinkIssueResponse = zIssueLink;
2196
+ const zGithubUnlinkIssuePath = zod.object({
2197
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2198
+ issue_id: zod.uuid(),
2199
+ link_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
2200
+ });
2201
+ /**
2202
+ * Link removed
2203
+ */
2204
+ const zGithubUnlinkIssueResponse = zod.void();
2205
+ const zIssuesGetHashesPath = zod.object({
2206
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2207
+ issue_id: zod.uuid()
2208
+ });
2209
+ /**
2210
+ * Grouping hashes mapped to the issue
2211
+ */
2212
+ const zIssuesGetHashesResponse = zod.array(zGrouping);
2213
+ const zIssuesMarkSeenPath = zod.object({
2214
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2215
+ issue_id: zod.uuid()
2216
+ });
2217
+ /**
2218
+ * Issue marked as seen
2219
+ */
2220
+ const zIssuesMarkSeenResponse = zSeenResponse;
2221
+ const zIssuesGetStatsPath = zod.object({
2222
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2223
+ issue_id: zod.uuid()
2224
+ });
2225
+ const zIssuesGetStatsQuery = zod.object({ window: zIssueStatsWindow.optional() });
2226
+ /**
2227
+ * Zero-filled event-count timeseries
2228
+ */
2229
+ const zIssuesGetStatsResponse = zIssueStatsResponse;
2230
+ const zIssuesSetSubscriptionBody = zToggleRequest;
2231
+ const zIssuesSetSubscriptionPath = zod.object({
2232
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2233
+ issue_id: zod.uuid()
2234
+ });
2235
+ /**
2236
+ * Updated subscription state
2237
+ */
2238
+ const zIssuesSetSubscriptionResponse = zSubscriptionResponse;
2239
+ const zIssuesGetTagValuesPath = zod.object({
2240
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2241
+ issue_id: zod.uuid(),
2242
+ key: zod.string()
2243
+ });
2244
+ /**
2245
+ * Distinct values for the tag key, one entry per value (Sentry-compatible: a bare list, not wrapped)
2246
+ */
2247
+ const zIssuesGetTagValuesResponse = zod.array(zIssueTagValue);
2248
+ const zIssuesListUserReportsPath = zod.object({
2249
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2250
+ issue_id: zod.uuid()
2251
+ });
2252
+ /**
2253
+ * User feedback reports for the issue
2254
+ */
2255
+ const zIssuesListUserReportsResponse = zod.array(zUserReport);
2256
+ const zIssuesCreateUserReportBody = zUserReportRequest;
2257
+ const zIssuesCreateUserReportPath = zod.object({
2258
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2259
+ issue_id: zod.uuid()
2260
+ });
2261
+ /**
2262
+ * User feedback attached
2263
+ */
2264
+ const zIssuesCreateUserReportResponse = zUserReport;
2265
+ const zLogsListPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2266
+ const zLogsListQuery = zod.object({
2267
+ page: zod.int().gte(1).optional(),
2268
+ per_page: zod.int().gte(1).lte(100).optional(),
2269
+ level: zod.string().nullish(),
2270
+ trace_id: zod.string().nullish()
2271
+ });
2272
+ /**
2273
+ * Offset-based paginated response wrapper
2274
+ */
2275
+ const zLogsListResponse = zod.object({
2276
+ items: zod.array(zod.object({
2277
+ attributes: zod.record(zod.string(), zod.unknown()),
2278
+ body: zod.string(),
2279
+ id: zod.uuid(),
2280
+ ingested_at: zod.iso.datetime({ offset: true }),
2281
+ level: zod.string(),
2282
+ severity_number: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }).nullable(),
2283
+ span_id: zod.string().nullable(),
2284
+ timestamp: zod.iso.datetime({ offset: true }),
2285
+ trace_id: zod.string().nullable()
2286
+ })),
2287
+ page: zod.int(),
2288
+ per_page: zod.int(),
2289
+ total_count: zod.int(),
2290
+ total_pages: zod.int()
2291
+ });
2292
+ const zMembersListPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2293
+ /**
2294
+ * List of project members
2295
+ */
2296
+ const zMembersListResponse = zod.array(zProjectMemberResponse);
2297
+ const zMembersUpsertBody = zUpsertProjectMember;
2298
+ const zMembersUpsertPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2299
+ /**
2300
+ * Member added or updated
2301
+ */
2302
+ const zMembersUpsertResponse = zProjectMember;
2303
+ const zMembersRemovePath = zod.object({
2304
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2305
+ user_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
2306
+ });
2307
+ /**
2308
+ * Member removed
2309
+ */
2310
+ const zMembersRemoveResponse = zod.void();
2311
+ const zMonitorsListPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2312
+ /**
2313
+ * Every cron monitor of the project, with its environments and recent check-ins
2314
+ */
2315
+ const zMonitorsListResponse = zod.array(zMonitorResponse);
2316
+ const zMonitorsCreateBody = zCreateMonitor;
2317
+ const zMonitorsCreatePath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2318
+ /**
2319
+ * Created
2320
+ */
2321
+ const zMonitorsCreateResponse = zMonitorResponse;
2322
+ const zMonitorsDeletePath = zod.object({
2323
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2324
+ slug: zod.string()
2325
+ });
2326
+ /**
2327
+ * Deleted with its check-ins; its issues stay
2328
+ */
2329
+ const zMonitorsDeleteResponse = zod.void();
2330
+ const zMonitorsGetPath = zod.object({
2331
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2332
+ slug: zod.string()
2333
+ });
2334
+ /**
2335
+ * The monitor
2336
+ */
2337
+ const zMonitorsGetResponse = zMonitorResponse;
2338
+ const zMonitorsUpdateBody = zUpdateMonitor;
2339
+ const zMonitorsUpdatePath = zod.object({
2340
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2341
+ slug: zod.string()
2342
+ });
2343
+ /**
2344
+ * Updated
2345
+ */
2346
+ const zMonitorsUpdateResponse = zMonitorResponse;
2347
+ const zMonitorsListCheckinsPath = zod.object({
2348
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2349
+ slug: zod.string()
2350
+ });
2351
+ const zMonitorsListCheckinsQuery = zod.object({
2352
+ page: zod.int().optional(),
2353
+ per_page: zod.int().optional(),
2354
+ environment: zod.string().nullish()
2355
+ });
2356
+ /**
2357
+ * Offset-based paginated response wrapper
2358
+ */
2359
+ const zMonitorsListCheckinsResponse = zod.object({
2360
+ items: zod.array(zod.object({
2361
+ date_added: zod.iso.datetime({ offset: true }),
2362
+ date_updated: zod.iso.datetime({ offset: true }),
2363
+ duration_ms: zod.int().nullable(),
2364
+ environment: zod.string(),
2365
+ expected_time: zod.iso.datetime({ offset: true }).nullable(),
2366
+ id: zod.uuid(),
2367
+ status: zCheckInStatus
2368
+ })),
2369
+ page: zod.int(),
2370
+ per_page: zod.int(),
2371
+ total_count: zod.int(),
2372
+ total_pages: zod.int()
2373
+ });
2374
+ const zReleasesNewIssuesPath = zod.object({
2375
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2376
+ release: zod.string()
2377
+ });
2378
+ const zReleasesNewIssuesQuery = zod.object({ limit: zod.int().optional() });
2379
+ /**
2380
+ * Issues first seen in this release, most recent first
2381
+ */
2382
+ const zReleasesNewIssuesResponse = zod.array(zIssueResponse);
2383
+ const zSessionsGetStatsPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2384
+ const zSessionsGetStatsQuery = zod.object({
2385
+ period: zod.string().nullish(),
2386
+ release: zod.string().nullish(),
2387
+ page: zod.int().gte(1).optional(),
2388
+ per_page: zod.int().gte(1).lte(100).optional()
2389
+ });
2390
+ /**
2391
+ * Offset-based paginated response wrapper
2392
+ */
2393
+ const zSessionsGetStatsResponse = zod.object({
2394
+ items: zod.array(zod.object({
2395
+ abnormal: zod.int(),
2396
+ crash_free_sessions_rate: zod.number().nullable(),
2397
+ crash_free_users_rate: zod.number().nullable(),
2398
+ crashed: zod.int(),
2399
+ environment: zod.string(),
2400
+ errored: zod.int(),
2401
+ healthy: zod.int(),
2402
+ release: zod.string(),
2403
+ total: zod.int()
2404
+ })),
2405
+ page: zod.int(),
2406
+ per_page: zod.int(),
2407
+ total_count: zod.int(),
2408
+ total_pages: zod.int()
2409
+ });
2410
+ const zSessionsGetSummaryPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2411
+ const zSessionsGetSummaryQuery = zod.object({ period: zod.string().optional() });
2412
+ /**
2413
+ * Project-wide session health summary
2414
+ */
2415
+ const zSessionsGetSummaryResponse = zSessionSummary;
2416
+ const zSessionsGetTimeseriesPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2417
+ const zSessionsGetTimeseriesQuery = zod.object({
2418
+ period: zod.string().optional(),
2419
+ interval: zod.int().optional()
2420
+ });
2421
+ /**
2422
+ * Time-bucketed session trend, project-wide
2423
+ */
2424
+ const zSessionsGetTimeseriesResponse = zod.array(zSessionTimeseriesPoint);
2425
+ const zSpansListPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2426
+ const zSpansListQuery = zod.object({
2427
+ page: zod.int().gte(1).optional(),
2428
+ per_page: zod.int().gte(1).lte(100).optional(),
2429
+ op: zod.string().nullish(),
2430
+ status: zod.string().nullish(),
2431
+ trace_id: zod.string().nullish(),
2432
+ operation_type: zod.string().nullish()
2433
+ });
2434
+ /**
2435
+ * Offset-based paginated response wrapper
2436
+ */
2437
+ const zSpansListResponse = zod.object({
2438
+ items: zod.array(zod.object({
2439
+ description: zod.string().nullable(),
2440
+ duration_ms: zod.number().nullable(),
2441
+ environment: zod.string().nullable(),
2442
+ exclusive_time_ms: zod.number().nullable(),
2443
+ gen_ai_agent_name: zod.string().nullable(),
2444
+ gen_ai_conversation_id: zod.string().nullable(),
2445
+ gen_ai_operation_type: zod.string().nullable(),
2446
+ gen_ai_request_model: zod.string().nullable(),
2447
+ gen_ai_response_model: zod.string().nullable(),
2448
+ gen_ai_tool_name: zod.string().nullable(),
2449
+ gen_ai_usage_input_tokens: zod.number().nullable(),
2450
+ gen_ai_usage_output_tokens: zod.number().nullable(),
2451
+ gen_ai_usage_total_tokens: zod.number().nullable(),
2452
+ id: zod.uuid(),
2453
+ is_segment: zod.boolean(),
2454
+ op: zod.string().nullable(),
2455
+ parent_span_id: zod.string().nullable(),
2456
+ platform: zod.string().nullable(),
2457
+ release: zod.string().nullable(),
2458
+ segment_id: zod.string().nullable(),
2459
+ span_id: zod.string().nullable(),
2460
+ start_timestamp: zod.iso.datetime({ offset: true }).nullable(),
2461
+ status: zod.string().nullable(),
2462
+ timestamp: zod.iso.datetime({ offset: true }).nullable(),
2463
+ trace_id: zod.string().nullable(),
2464
+ transaction_id: zod.uuid().nullable()
2465
+ })),
2466
+ page: zod.int(),
2467
+ per_page: zod.int(),
2468
+ total_count: zod.int(),
2469
+ total_pages: zod.int()
2470
+ });
2471
+ const zSpansGetPath = zod.object({
2472
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2473
+ span_id: zod.uuid()
2474
+ });
2475
+ /**
2476
+ * Span with its full attribute bag
2477
+ */
2478
+ const zSpansGetResponse = zSpanDetailResponse;
2479
+ const zStatsGetSummaryPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2480
+ const zStatsGetSummaryQuery = zod.object({ period: zod.string().optional() });
2481
+ /**
2482
+ * Project counters with previous-period comparison
2483
+ */
2484
+ const zStatsGetSummaryResponse = zProjectStatsSummary;
2485
+ const zTransactionsListPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2486
+ const zTransactionsListQuery = zod.object({
2487
+ page: zod.int().gte(1).optional(),
2488
+ per_page: zod.int().gte(1).lte(100).optional(),
2489
+ name: zod.string().nullish(),
2490
+ op: zod.string().nullish(),
2491
+ status: zod.string().nullish(),
2492
+ environment: zod.string().nullish(),
2493
+ release: zod.string().nullish()
2494
+ });
2495
+ /**
2496
+ * Offset-based paginated response wrapper
2497
+ */
2498
+ const zTransactionsListResponse = zod.object({
2499
+ items: zod.array(zod.object({
2500
+ duration_ms: zod.number().nullable(),
2501
+ environment: zod.string(),
2502
+ event_id: zod.string(),
2503
+ id: zod.uuid(),
2504
+ ingested_at: zod.iso.datetime({ offset: true }),
2505
+ platform: zod.string(),
2506
+ release: zod.string(),
2507
+ start_timestamp: zod.iso.datetime({ offset: true }).nullable(),
2508
+ timestamp: zod.iso.datetime({ offset: true }),
2509
+ transaction_name: zod.string()
2510
+ })),
2511
+ page: zod.int(),
2512
+ per_page: zod.int(),
2513
+ total_count: zod.int(),
2514
+ total_pages: zod.int()
2515
+ });
2516
+ const zTransactionsGetStatsPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2517
+ const zTransactionsGetStatsQuery = zod.object({
2518
+ page: zod.int().gte(1).optional(),
2519
+ per_page: zod.int().gte(1).lte(100).optional()
2520
+ });
2521
+ /**
2522
+ * Offset-based paginated response wrapper
2523
+ */
2524
+ const zTransactionsGetStatsResponse = zod.object({
2525
+ items: zod.array(zod.object({
2526
+ count: zod.int(),
2527
+ failure_rate: zod.number(),
2528
+ op: zod.string().nullable(),
2529
+ p50_ms: zod.number(),
2530
+ p95_ms: zod.number(),
2531
+ p99_ms: zod.number(),
2532
+ transaction_name: zod.string()
2533
+ })),
2534
+ page: zod.int(),
2535
+ per_page: zod.int(),
2536
+ total_count: zod.int(),
2537
+ total_pages: zod.int()
2538
+ });
2539
+ const zTransactionsGetStatGroupPath = zod.object({ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2540
+ const zTransactionsGetStatGroupQuery = zod.object({
2541
+ name: zod.string(),
2542
+ op: zod.string().nullish()
2543
+ });
2544
+ /**
2545
+ * Aggregate stats for one (transaction, op) group
2546
+ */
2547
+ const zTransactionsGetStatGroupResponse = zTransactionStatsResponse;
2548
+ const zTransactionsGetPath = zod.object({
2549
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2550
+ transaction_id: zod.uuid()
2551
+ });
2552
+ /**
2553
+ * Full transaction detail
2554
+ */
2555
+ const zTransactionsGetResponse = zTransactionDetailResponse;
2556
+ const zTransactionsGetSpansPath = zod.object({
2557
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2558
+ transaction_id: zod.uuid()
2559
+ });
2560
+ /**
2561
+ * Indexed spans for the transaction (waterfall order)
2562
+ */
2563
+ const zTransactionsGetSpansResponse = zod.array(zod.object({
2564
+ description: zod.string().nullable(),
2565
+ duration_ms: zod.number().nullable(),
2566
+ environment: zod.string().nullable(),
2567
+ exclusive_time_ms: zod.number().nullable(),
2568
+ gen_ai_agent_name: zod.string().nullable(),
2569
+ gen_ai_conversation_id: zod.string().nullable(),
2570
+ gen_ai_operation_type: zod.string().nullable(),
2571
+ gen_ai_request_model: zod.string().nullable(),
2572
+ gen_ai_response_model: zod.string().nullable(),
2573
+ gen_ai_tool_name: zod.string().nullable(),
2574
+ gen_ai_usage_input_tokens: zod.number().nullable(),
2575
+ gen_ai_usage_output_tokens: zod.number().nullable(),
2576
+ gen_ai_usage_total_tokens: zod.number().nullable(),
2577
+ id: zod.uuid(),
2578
+ is_segment: zod.boolean(),
2579
+ op: zod.string().nullable(),
2580
+ parent_span_id: zod.string().nullable(),
2581
+ platform: zod.string().nullable(),
2582
+ release: zod.string().nullable(),
2583
+ segment_id: zod.string().nullable(),
2584
+ span_id: zod.string().nullable(),
2585
+ start_timestamp: zod.iso.datetime({ offset: true }).nullable(),
2586
+ status: zod.string().nullable(),
2587
+ timestamp: zod.iso.datetime({ offset: true }).nullable(),
2588
+ trace_id: zod.string().nullable(),
2589
+ transaction_id: zod.uuid().nullable()
2590
+ }));
2591
+ /**
2592
+ * The server's per-project limits
2593
+ */
2594
+ const zProjectsGetRateLimitsResponse = zRateLimitsResponse;
2595
+ const zSchedulesPreviewBody = zPreviewSchedule;
2596
+ /**
2597
+ * The next five runs
2598
+ */
2599
+ const zSchedulesPreviewResponse = zSchedulePreview;
2600
+ /**
2601
+ * Whether the MCP endpoint is on, and its URL
2602
+ */
2603
+ const zSettingsGetMcpResponse = zMcpStatus;
2604
+ const zSettingsUpdateMcpBody = zMcpSettings;
2605
+ /**
2606
+ * The MCP endpoint's new state, and its URL
2607
+ */
2608
+ const zSettingsUpdateMcpResponse = zMcpStatus;
2609
+ /**
2610
+ * How long ago each project's data arrived, per kind
2611
+ */
2612
+ const zStorageGetAgeResponse = zStorageAge;
2613
+ const zStorageExecuteCleanupBody = zCleanupRequest;
2614
+ /**
2615
+ * Cleanup started in the background; poll its status
2616
+ */
2617
+ const zStorageExecuteCleanupResponse = zCleanupStatus;
2618
+ const zStoragePreviewCleanupBody = zCleanupRequest;
2619
+ /**
2620
+ * Dry-run: rows a cleanup would remove
2621
+ */
2622
+ const zStoragePreviewCleanupResponse = zCleanupCounts;
2623
+ /**
2624
+ * The current or last cleanup and the rows it removed
2625
+ */
2626
+ const zStorageGetCleanupStatusResponse = zCleanupStatus;
2627
+ /**
2628
+ * Per-project storage breakdown
2629
+ */
2630
+ const zStorageGetProjectsResponse = zod.array(zod.object({
2631
+ estimated_bytes: zod.int(),
2632
+ events_bytes: zod.int(),
2633
+ events_count: zod.int(),
2634
+ logs_bytes: zod.int(),
2635
+ logs_count: zod.int(),
2636
+ project_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2637
+ project_name: zod.string(),
2638
+ source_maps_count: zod.int(),
2639
+ spans_count: zod.int(),
2640
+ transactions_bytes: zod.int(),
2641
+ transactions_count: zod.int()
2642
+ }));
2643
+ /**
2644
+ * Retention settings, next cleanup and last cleanup
2645
+ */
2646
+ const zStorageGetRetentionResponse = zRetentionResponse;
2647
+ const zStorageUpdateRetentionBody = zRetentionSettings;
2648
+ /**
2649
+ * Saved; the new schedule applies within a minute
2650
+ */
2651
+ const zStorageUpdateRetentionResponse = zRetentionResponse;
2652
+ const zStoragePreviewRetentionBody = zRetentionSettings;
2653
+ /**
2654
+ * Dry-run: rows enforcing these settings now would remove
2655
+ */
2656
+ const zStoragePreviewRetentionResponse = zCleanupCounts;
2657
+ /**
2658
+ * Cleanup started in the background; poll its status
2659
+ */
2660
+ const zStorageRunRetentionResponse = zCleanupStatus;
2661
+ /**
2662
+ * Orphaned source maps removed
2663
+ */
2664
+ const zStorageGcSourceMapsResponse = zSourceMapGcResult;
2665
+ /**
2666
+ * Dry-run: orphaned source maps a GC would remove
2667
+ */
2668
+ const zStoragePreviewSourceMapGcResponse = zSourceMapGcResult;
2669
+ /**
2670
+ * Instance-wide storage summary
2671
+ */
2672
+ const zStorageGetSummaryResponse = zStorageSummary;
2673
+ /**
2674
+ * List of team members
2675
+ */
2676
+ const zTeamListResponse = zod.array(zTeamMemberResponse);
2677
+ const zTeamDeleteUserPath = zod.object({ user_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2678
+ /**
2679
+ * User deleted
2680
+ */
2681
+ const zTeamDeleteUserResponse = zod.void();
2682
+ const zTeamUpdateRoleBody = zUpdateUserRole;
2683
+ const zTeamUpdateRolePath = zod.object({ user_id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2684
+ /**
2685
+ * Role updated
2686
+ */
2687
+ const zTeamUpdateRoleResponse = zod.void();
2688
+ /**
2689
+ * What the next heartbeat would carry
2690
+ */
2691
+ const zTelemetryPreviewResponse = zTelemetryPreview;
2692
+ /**
2693
+ * List of tokens (masked)
2694
+ */
2695
+ const zTokensListResponse = zod.array(zAuthTokenResponse);
2696
+ const zTokensCreateBody = zCreateAuthToken;
2697
+ /**
2698
+ * Token created (full token shown once)
2699
+ */
2700
+ const zTokensCreateResponse = zAuthTokenCreatedResponse;
2701
+ const zTokensDeletePath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2702
+ /**
2703
+ * Token revoked
2704
+ */
2705
+ const zTokensDeleteResponse = zod.void();
2706
+ const zTokensGetPath = zod.object({ id: zod.int().min(-2147483648, { error: "Invalid value: Expected int32 to be >= -2147483648" }).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }) });
2707
+ /**
2708
+ * Token details (full token value)
2709
+ */
2710
+ const zTokensGetResponse = zAuthTokenCreatedResponse;
2711
+ const zAuthAcceptInvitationBody = zAcceptInvitation;
2712
+ /**
2713
+ * Invitation accepted, user created and logged in
2714
+ */
2715
+ const zAuthAcceptInvitationResponse = zAuthResponse;
2716
+ const zAuthGetInvitationPath = zod.object({ token: zod.string() });
2717
+ /**
2718
+ * Invitation info
2719
+ */
2720
+ const zAuthGetInvitationResponse = zInvitationInfoResponse;
2721
+ const zAuthLoginBody = zLoginRequest;
2722
+ /**
2723
+ * Logged in
2724
+ */
2725
+ const zAuthLoginResponse = zAuthResponse;
2726
+ /**
2727
+ * Logged out
2728
+ */
2729
+ const zAuthLogoutResponse = zod.void();
2730
+ /**
2731
+ * Current user
2732
+ */
2733
+ const zAuthGetCurrentUserResponse = zUserResponse;
2734
+ const zAuthUpdateCurrentUserBody = zUpdatePreferencesRequest;
2735
+ /**
2736
+ * Updated user
2737
+ */
2738
+ const zAuthUpdateCurrentUserResponse = zUserResponse;
2739
+ const zAuthChangePasswordBody = zChangePasswordRequest;
2740
+ /**
2741
+ * Password changed
2742
+ */
2743
+ const zAuthChangePasswordResponse = zod.void();
2744
+ const zAuthRegisterBody = zCreateUserRequest;
2745
+ const zAuthSsoCallbackQuery = zod.object({
2746
+ code: zod.string().nullish(),
2747
+ state: zod.string().nullish(),
2748
+ error: zod.string().nullish()
2749
+ });
2750
+ /**
2751
+ * SSO login completed
2752
+ */
2753
+ const zAuthSsoCallbackResponse = zAuthResponse;
2754
+ /**
2755
+ * Public SSO configuration
2756
+ */
2757
+ const zAuthSsoConfigResponse = zSsoConfigResponse;
2758
+ /**
2759
+ * The account waiting for its password
2760
+ */
2761
+ const zAuthSsoLinkResponse = zSsoLinkResponse;
2762
+ const zAuthConfirmSsoLinkBody = zConfirmSsoLinkRequest;
2763
+ /**
2764
+ * Identity linked and signed in
2765
+ */
2766
+ const zAuthConfirmSsoLinkResponse = zAuthResponse;
2767
+ /**
2768
+ * OIDC authorization URL
2769
+ */
2770
+ const zAuthSsoStartResponse = zSsoStartResponse;
2771
+ /**
2772
+ * Server is alive
2773
+ */
2774
+ const zHealthLivenessResponse = zLivenessResponse;
2775
+ /**
2776
+ * Service is ready
2777
+ */
2778
+ const zHealthReadinessResponse = zReadinessResponse;
2779
+ /**
2780
+ * Server version info
2781
+ */
2782
+ const zHealthVersionResponse = zVersionResponse;
2783
+ const zSentryOpenIssuePath = zod.object({
2784
+ org_slug: zod.string(),
2785
+ project_slug: zod.string(),
2786
+ issue_id: zod.string().regex(/^[0-9]+$/)
2787
+ });
2788
+ //#endregion
2789
+ exports.zAcceptInvitation = zAcceptInvitation;
2790
+ exports.zActivityEntry = zActivityEntry;
2791
+ exports.zAgentDurationPoint = zAgentDurationPoint;
2792
+ exports.zAgentModelRow = zAgentModelRow;
2793
+ exports.zAgentSummary = zAgentSummary;
2794
+ exports.zAgentTimeseriesPoint = zAgentTimeseriesPoint;
2795
+ exports.zAgentToolRow = zAgentToolRow;
2796
+ exports.zAgentsDurationPath = zAgentsDurationPath;
2797
+ exports.zAgentsDurationQuery = zAgentsDurationQuery;
2798
+ exports.zAgentsDurationResponse = zAgentsDurationResponse;
2799
+ exports.zAgentsEnvironmentsPath = zAgentsEnvironmentsPath;
2800
+ exports.zAgentsEnvironmentsResponse = zAgentsEnvironmentsResponse;
2801
+ exports.zAgentsModelsCallsPath = zAgentsModelsCallsPath;
2802
+ exports.zAgentsModelsCallsQuery = zAgentsModelsCallsQuery;
2803
+ exports.zAgentsModelsCallsResponse = zAgentsModelsCallsResponse;
2804
+ exports.zAgentsModelsTablePath = zAgentsModelsTablePath;
2805
+ exports.zAgentsModelsTableQuery = zAgentsModelsTableQuery;
2806
+ exports.zAgentsModelsTableResponse = zAgentsModelsTableResponse;
2807
+ exports.zAgentsModelsTokensPath = zAgentsModelsTokensPath;
2808
+ exports.zAgentsModelsTokensQuery = zAgentsModelsTokensQuery;
2809
+ exports.zAgentsModelsTokensResponse = zAgentsModelsTokensResponse;
2810
+ exports.zAgentsRunsPath = zAgentsRunsPath;
2811
+ exports.zAgentsRunsQuery = zAgentsRunsQuery;
2812
+ exports.zAgentsRunsResponse = zAgentsRunsResponse;
2813
+ exports.zAgentsSummaryPath = zAgentsSummaryPath;
2814
+ exports.zAgentsSummaryQuery = zAgentsSummaryQuery;
2815
+ exports.zAgentsSummaryResponse = zAgentsSummaryResponse;
2816
+ exports.zAgentsToolsPath = zAgentsToolsPath;
2817
+ exports.zAgentsToolsQuery = zAgentsToolsQuery;
2818
+ exports.zAgentsToolsResponse = zAgentsToolsResponse;
2819
+ exports.zAgentsToolsTablePath = zAgentsToolsTablePath;
2820
+ exports.zAgentsToolsTableQuery = zAgentsToolsTableQuery;
2821
+ exports.zAgentsToolsTableResponse = zAgentsToolsTableResponse;
2822
+ exports.zAgentsTracesPath = zAgentsTracesPath;
2823
+ exports.zAgentsTracesQuery = zAgentsTracesQuery;
2824
+ exports.zAgentsTracesResponse = zAgentsTracesResponse;
2825
+ exports.zAlertChannelsCreateBody = zAlertChannelsCreateBody;
2826
+ exports.zAlertChannelsCreateResponse = zAlertChannelsCreateResponse;
2827
+ exports.zAlertChannelsDeletePath = zAlertChannelsDeletePath;
2828
+ exports.zAlertChannelsDeleteResponse = zAlertChannelsDeleteResponse;
2829
+ exports.zAlertChannelsGetPath = zAlertChannelsGetPath;
2830
+ exports.zAlertChannelsGetResponse = zAlertChannelsGetResponse;
2831
+ exports.zAlertChannelsListResponse = zAlertChannelsListResponse;
2832
+ exports.zAlertChannelsPreviewTemplateBody = zAlertChannelsPreviewTemplateBody;
2833
+ exports.zAlertChannelsPreviewTemplateResponse = zAlertChannelsPreviewTemplateResponse;
2834
+ exports.zAlertChannelsTestBody = zAlertChannelsTestBody;
2835
+ exports.zAlertChannelsTestPath = zAlertChannelsTestPath;
2836
+ exports.zAlertChannelsTestResponse = zAlertChannelsTestResponse;
2837
+ exports.zAlertChannelsUpdateBody = zAlertChannelsUpdateBody;
2838
+ exports.zAlertChannelsUpdatePath = zAlertChannelsUpdatePath;
2839
+ exports.zAlertChannelsUpdateResponse = zAlertChannelsUpdateResponse;
2840
+ exports.zAlertHistory = zAlertHistory;
2841
+ exports.zAlertIntegration = zAlertIntegration;
2842
+ exports.zAlertRuleChannelInput = zAlertRuleChannelInput;
2843
+ exports.zAlertRuleResponse = zAlertRuleResponse;
2844
+ exports.zAlertRulesCreateBody = zAlertRulesCreateBody;
2845
+ exports.zAlertRulesCreatePath = zAlertRulesCreatePath;
2846
+ exports.zAlertRulesCreateResponse = zAlertRulesCreateResponse;
2847
+ exports.zAlertRulesDeletePath = zAlertRulesDeletePath;
2848
+ exports.zAlertRulesDeleteResponse = zAlertRulesDeleteResponse;
2849
+ exports.zAlertRulesGetPath = zAlertRulesGetPath;
2850
+ exports.zAlertRulesGetResponse = zAlertRulesGetResponse;
2851
+ exports.zAlertRulesListHistoryPath = zAlertRulesListHistoryPath;
2852
+ exports.zAlertRulesListHistoryQuery = zAlertRulesListHistoryQuery;
2853
+ exports.zAlertRulesListHistoryResponse = zAlertRulesListHistoryResponse;
2854
+ exports.zAlertRulesListPath = zAlertRulesListPath;
2855
+ exports.zAlertRulesListResponse = zAlertRulesListResponse;
2856
+ exports.zAlertRulesUpdateBody = zAlertRulesUpdateBody;
2857
+ exports.zAlertRulesUpdatePath = zAlertRulesUpdatePath;
2858
+ exports.zAlertRulesUpdateResponse = zAlertRulesUpdateResponse;
2859
+ exports.zAlertStatus = zAlertStatus;
2860
+ exports.zAlertType = zAlertType;
2861
+ exports.zAssembleBody = zAssembleBody;
2862
+ exports.zAssembleResponse = zAssembleResponse;
2863
+ exports.zAuthAcceptInvitationBody = zAuthAcceptInvitationBody;
2864
+ exports.zAuthAcceptInvitationResponse = zAuthAcceptInvitationResponse;
2865
+ exports.zAuthChangePasswordBody = zAuthChangePasswordBody;
2866
+ exports.zAuthChangePasswordResponse = zAuthChangePasswordResponse;
2867
+ exports.zAuthConfirmSsoLinkBody = zAuthConfirmSsoLinkBody;
2868
+ exports.zAuthConfirmSsoLinkResponse = zAuthConfirmSsoLinkResponse;
2869
+ exports.zAuthGetCurrentUserResponse = zAuthGetCurrentUserResponse;
2870
+ exports.zAuthGetInvitationPath = zAuthGetInvitationPath;
2871
+ exports.zAuthGetInvitationResponse = zAuthGetInvitationResponse;
2872
+ exports.zAuthLoginBody = zAuthLoginBody;
2873
+ exports.zAuthLoginResponse = zAuthLoginResponse;
2874
+ exports.zAuthLogoutResponse = zAuthLogoutResponse;
2875
+ exports.zAuthRegisterBody = zAuthRegisterBody;
2876
+ exports.zAuthResponse = zAuthResponse;
2877
+ exports.zAuthSsoCallbackQuery = zAuthSsoCallbackQuery;
2878
+ exports.zAuthSsoCallbackResponse = zAuthSsoCallbackResponse;
2879
+ exports.zAuthSsoConfigResponse = zAuthSsoConfigResponse;
2880
+ exports.zAuthSsoLinkResponse = zAuthSsoLinkResponse;
2881
+ exports.zAuthSsoStartResponse = zAuthSsoStartResponse;
2882
+ exports.zAuthTokenCreatedResponse = zAuthTokenCreatedResponse;
2883
+ exports.zAuthTokenResponse = zAuthTokenResponse;
2884
+ exports.zAuthUpdateCurrentUserBody = zAuthUpdateCurrentUserBody;
2885
+ exports.zAuthUpdateCurrentUserResponse = zAuthUpdateCurrentUserResponse;
2886
+ exports.zAuthorizationDecision = zAuthorizationDecision;
2887
+ exports.zAuthorizationInfo = zAuthorizationInfo;
2888
+ exports.zAuthorizationRedirect = zAuthorizationRedirect;
2889
+ exports.zAuthorizationRequest = zAuthorizationRequest;
2890
+ exports.zBookmarkResponse = zBookmarkResponse;
2891
+ exports.zBulkDeleteIssues = zBulkDeleteIssues;
2892
+ exports.zBulkDeleteResponse = zBulkDeleteResponse;
2893
+ exports.zBulkUpdateIssues = zBulkUpdateIssues;
2894
+ exports.zBulkUpdateResponse = zBulkUpdateResponse;
2895
+ exports.zChangePasswordRequest = zChangePasswordRequest;
2896
+ exports.zCheckInResponse = zCheckInResponse;
2897
+ exports.zCheckInStatus = zCheckInStatus;
2898
+ exports.zChunkUploadBody = zChunkUploadBody;
2899
+ exports.zChunkUploadOptions = zChunkUploadOptions;
2900
+ exports.zCleanupCounts = zCleanupCounts;
2901
+ exports.zCleanupFrequency = zCleanupFrequency;
2902
+ exports.zCleanupRequest = zCleanupRequest;
2903
+ exports.zCleanupState = zCleanupState;
2904
+ exports.zCleanupStatus = zCleanupStatus;
2905
+ exports.zCodeMapping = zCodeMapping;
2906
+ exports.zCommentRequest = zCommentRequest;
2907
+ exports.zConfirmSsoLinkRequest = zConfirmSsoLinkRequest;
2908
+ exports.zCreateAlertIntegration = zCreateAlertIntegration;
2909
+ exports.zCreateAlertRule = zCreateAlertRule;
2910
+ exports.zCreateAuthToken = zCreateAuthToken;
2911
+ exports.zCreateGitHubIssue = zCreateGitHubIssue;
2912
+ exports.zCreateInvitation = zCreateInvitation;
2913
+ exports.zCreateMonitor = zCreateMonitor;
2914
+ exports.zCreateProject = zCreateProject;
2915
+ exports.zCreateRelease = zCreateRelease;
2916
+ exports.zCreateUserRequest = zCreateUserRequest;
2917
+ exports.zErrorDetail = zErrorDetail;
2918
+ exports.zEventDetailResponse = zEventDetailResponse;
2919
+ exports.zEventTimeseriesPoint = zEventTimeseriesPoint;
2920
+ exports.zEventsGetBySentryIdPath = zEventsGetBySentryIdPath;
2921
+ exports.zEventsGetBySentryIdResponse = zEventsGetBySentryIdResponse;
2922
+ exports.zEventsGetPath = zEventsGetPath;
2923
+ exports.zEventsGetResponse = zEventsGetResponse;
2924
+ exports.zEventsListPath = zEventsListPath;
2925
+ exports.zEventsListQuery = zEventsListQuery;
2926
+ exports.zEventsListResponse = zEventsListResponse;
2927
+ exports.zFieldError = zFieldError;
2928
+ exports.zFieldErrorCode = zFieldErrorCode;
2929
+ exports.zGenAiBreakdownRow = zGenAiBreakdownRow;
2930
+ exports.zGitHubAppInfo = zGitHubAppInfo;
2931
+ exports.zGitHubInstallation = zGitHubInstallation;
2932
+ exports.zGitHubLogin = zGitHubLogin;
2933
+ exports.zGitHubRepository = zGitHubRepository;
2934
+ exports.zGitHubStatus = zGitHubStatus;
2935
+ exports.zGithubCallbackQuery = zGithubCallbackQuery;
2936
+ exports.zGithubCreateIssueBody = zGithubCreateIssueBody;
2937
+ exports.zGithubCreateIssuePath = zGithubCreateIssuePath;
2938
+ exports.zGithubCreateIssueResponse = zGithubCreateIssueResponse;
2939
+ exports.zGithubDeleteProjectRepositoryPath = zGithubDeleteProjectRepositoryPath;
2940
+ exports.zGithubDeleteProjectRepositoryResponse = zGithubDeleteProjectRepositoryResponse;
2941
+ exports.zGithubDisconnectResponse = zGithubDisconnectResponse;
2942
+ exports.zGithubGetMyLoginResponse = zGithubGetMyLoginResponse;
2943
+ exports.zGithubGetProjectRepositoryPath = zGithubGetProjectRepositoryPath;
2944
+ exports.zGithubGetProjectRepositoryResponse = zGithubGetProjectRepositoryResponse;
2945
+ exports.zGithubInstalledQuery = zGithubInstalledQuery;
2946
+ exports.zGithubIssuePath = zGithubIssuePath;
2947
+ exports.zGithubIssueResponse = zGithubIssueResponse;
2948
+ exports.zGithubLinkIssueBody = zGithubLinkIssueBody;
2949
+ exports.zGithubLinkIssuePath = zGithubLinkIssuePath;
2950
+ exports.zGithubLinkIssueResponse = zGithubLinkIssueResponse;
2951
+ exports.zGithubManifestBody = zGithubManifestBody;
2952
+ exports.zGithubManifestResponse = zGithubManifestResponse;
2953
+ exports.zGithubPutMyLoginBody = zGithubPutMyLoginBody;
2954
+ exports.zGithubPutMyLoginResponse = zGithubPutMyLoginResponse;
2955
+ exports.zGithubPutProjectRepositoryBody = zGithubPutProjectRepositoryBody;
2956
+ exports.zGithubPutProjectRepositoryPath = zGithubPutProjectRepositoryPath;
2957
+ exports.zGithubPutProjectRepositoryResponse = zGithubPutProjectRepositoryResponse;
2958
+ exports.zGithubRepositoriesQuery = zGithubRepositoriesQuery;
2959
+ exports.zGithubRepositoriesResponse = zGithubRepositoriesResponse;
2960
+ exports.zGithubStatusResponse = zGithubStatusResponse;
2961
+ exports.zGithubSyncCodeownersPath = zGithubSyncCodeownersPath;
2962
+ exports.zGithubSyncCodeownersResponse = zGithubSyncCodeownersResponse;
2963
+ exports.zGithubUnlinkIssuePath = zGithubUnlinkIssuePath;
2964
+ exports.zGithubUnlinkIssueResponse = zGithubUnlinkIssueResponse;
2965
+ exports.zGithubWebhookBody = zGithubWebhookBody;
2966
+ exports.zGithubWebhookResponse = zGithubWebhookResponse;
2967
+ exports.zGrouping = zGrouping;
2968
+ exports.zHealthLivenessResponse = zHealthLivenessResponse;
2969
+ exports.zHealthReadinessResponse = zHealthReadinessResponse;
2970
+ exports.zHealthVersionResponse = zHealthVersionResponse;
2971
+ exports.zIntervalUnit = zIntervalUnit;
2972
+ exports.zInvitationInfoResponse = zInvitationInfoResponse;
2973
+ exports.zInvitationResponse = zInvitationResponse;
2974
+ exports.zInvitationsCreateBody = zInvitationsCreateBody;
2975
+ exports.zInvitationsCreateResponse = zInvitationsCreateResponse;
2976
+ exports.zInvitationsListResponse = zInvitationsListResponse;
2977
+ exports.zInvitationsRevokePath = zInvitationsRevokePath;
2978
+ exports.zInvitationsRevokeResponse = zInvitationsRevokeResponse;
2979
+ exports.zIssueAggregates = zIssueAggregates;
2980
+ exports.zIssueFilter = zIssueFilter;
2981
+ exports.zIssueGitHub = zIssueGitHub;
2982
+ exports.zIssueLink = zIssueLink;
2983
+ exports.zIssuePriority = zIssuePriority;
2984
+ exports.zIssueResponse = zIssueResponse;
2985
+ exports.zIssueSort = zIssueSort;
2986
+ exports.zIssueStatsResponse = zIssueStatsResponse;
2987
+ exports.zIssueStatsWindow = zIssueStatsWindow;
2988
+ exports.zIssueStatus = zIssueStatus;
2989
+ exports.zIssueStatusUpdate = zIssueStatusUpdate;
2990
+ exports.zIssueTagValue = zIssueTagValue;
2991
+ exports.zIssueUpdate = zIssueUpdate;
2992
+ exports.zIssuesBulkDeleteBody = zIssuesBulkDeleteBody;
2993
+ exports.zIssuesBulkDeletePath = zIssuesBulkDeletePath;
2994
+ exports.zIssuesBulkDeleteResponse = zIssuesBulkDeleteResponse;
2995
+ exports.zIssuesBulkUpdateBody = zIssuesBulkUpdateBody;
2996
+ exports.zIssuesBulkUpdatePath = zIssuesBulkUpdatePath;
2997
+ exports.zIssuesBulkUpdateResponse = zIssuesBulkUpdateResponse;
2998
+ exports.zIssuesCreateCommentBody = zIssuesCreateCommentBody;
2999
+ exports.zIssuesCreateCommentPath = zIssuesCreateCommentPath;
3000
+ exports.zIssuesCreateCommentResponse = zIssuesCreateCommentResponse;
3001
+ exports.zIssuesCreateUserReportBody = zIssuesCreateUserReportBody;
3002
+ exports.zIssuesCreateUserReportPath = zIssuesCreateUserReportPath;
3003
+ exports.zIssuesCreateUserReportResponse = zIssuesCreateUserReportResponse;
3004
+ exports.zIssuesDeletePath = zIssuesDeletePath;
3005
+ exports.zIssuesDeleteResponse = zIssuesDeleteResponse;
3006
+ exports.zIssuesGetActivityPath = zIssuesGetActivityPath;
3007
+ exports.zIssuesGetActivityResponse = zIssuesGetActivityResponse;
3008
+ exports.zIssuesGetAggregatesPath = zIssuesGetAggregatesPath;
3009
+ exports.zIssuesGetAggregatesResponse = zIssuesGetAggregatesResponse;
3010
+ exports.zIssuesGetHashesPath = zIssuesGetHashesPath;
3011
+ exports.zIssuesGetHashesResponse = zIssuesGetHashesResponse;
3012
+ exports.zIssuesGetPath = zIssuesGetPath;
3013
+ exports.zIssuesGetResponse = zIssuesGetResponse;
3014
+ exports.zIssuesGetStatsPath = zIssuesGetStatsPath;
3015
+ exports.zIssuesGetStatsQuery = zIssuesGetStatsQuery;
3016
+ exports.zIssuesGetStatsResponse = zIssuesGetStatsResponse;
3017
+ exports.zIssuesGetTagValuesPath = zIssuesGetTagValuesPath;
3018
+ exports.zIssuesGetTagValuesResponse = zIssuesGetTagValuesResponse;
3019
+ exports.zIssuesListPath = zIssuesListPath;
3020
+ exports.zIssuesListQuery = zIssuesListQuery;
3021
+ exports.zIssuesListResponse = zIssuesListResponse;
3022
+ exports.zIssuesListUserReportsPath = zIssuesListUserReportsPath;
3023
+ exports.zIssuesListUserReportsResponse = zIssuesListUserReportsResponse;
3024
+ exports.zIssuesMarkSeenPath = zIssuesMarkSeenPath;
3025
+ exports.zIssuesMarkSeenResponse = zIssuesMarkSeenResponse;
3026
+ exports.zIssuesSetBookmarkBody = zIssuesSetBookmarkBody;
3027
+ exports.zIssuesSetBookmarkPath = zIssuesSetBookmarkPath;
3028
+ exports.zIssuesSetBookmarkResponse = zIssuesSetBookmarkResponse;
3029
+ exports.zIssuesSetSubscriptionBody = zIssuesSetSubscriptionBody;
3030
+ exports.zIssuesSetSubscriptionPath = zIssuesSetSubscriptionPath;
3031
+ exports.zIssuesSetSubscriptionResponse = zIssuesSetSubscriptionResponse;
3032
+ exports.zIssuesUpdateBody = zIssuesUpdateBody;
3033
+ exports.zIssuesUpdatePath = zIssuesUpdatePath;
3034
+ exports.zIssuesUpdateResponse = zIssuesUpdateResponse;
3035
+ exports.zKindAge = zKindAge;
3036
+ exports.zLinkGitHubIssue = zLinkGitHubIssue;
3037
+ exports.zLivenessResponse = zLivenessResponse;
3038
+ exports.zLoginRequest = zLoginRequest;
3039
+ exports.zLogsListPath = zLogsListPath;
3040
+ exports.zLogsListQuery = zLogsListQuery;
3041
+ exports.zLogsListResponse = zLogsListResponse;
3042
+ exports.zManifestRequest = zManifestRequest;
3043
+ exports.zManifestResponse = zManifestResponse;
3044
+ exports.zMcpSettings = zMcpSettings;
3045
+ exports.zMcpStatus = zMcpStatus;
3046
+ exports.zMembersListPath = zMembersListPath;
3047
+ exports.zMembersListResponse = zMembersListResponse;
3048
+ exports.zMembersRemovePath = zMembersRemovePath;
3049
+ exports.zMembersRemoveResponse = zMembersRemoveResponse;
3050
+ exports.zMembersUpsertBody = zMembersUpsertBody;
3051
+ exports.zMembersUpsertPath = zMembersUpsertPath;
3052
+ exports.zMembersUpsertResponse = zMembersUpsertResponse;
3053
+ exports.zMetricDelta = zMetricDelta;
3054
+ exports.zMonitorConfig = zMonitorConfig;
3055
+ exports.zMonitorConfigInput = zMonitorConfigInput;
3056
+ exports.zMonitorEnvironmentResponse = zMonitorEnvironmentResponse;
3057
+ exports.zMonitorEnvironmentStatus = zMonitorEnvironmentStatus;
3058
+ exports.zMonitorResponse = zMonitorResponse;
3059
+ exports.zMonitorsCreateBody = zMonitorsCreateBody;
3060
+ exports.zMonitorsCreatePath = zMonitorsCreatePath;
3061
+ exports.zMonitorsCreateResponse = zMonitorsCreateResponse;
3062
+ exports.zMonitorsDeletePath = zMonitorsDeletePath;
3063
+ exports.zMonitorsDeleteResponse = zMonitorsDeleteResponse;
3064
+ exports.zMonitorsGetPath = zMonitorsGetPath;
3065
+ exports.zMonitorsGetResponse = zMonitorsGetResponse;
3066
+ exports.zMonitorsListCheckinsPath = zMonitorsListCheckinsPath;
3067
+ exports.zMonitorsListCheckinsQuery = zMonitorsListCheckinsQuery;
3068
+ exports.zMonitorsListCheckinsResponse = zMonitorsListCheckinsResponse;
3069
+ exports.zMonitorsListPath = zMonitorsListPath;
3070
+ exports.zMonitorsListResponse = zMonitorsListResponse;
3071
+ exports.zMonitorsUpdateBody = zMonitorsUpdateBody;
3072
+ exports.zMonitorsUpdatePath = zMonitorsUpdatePath;
3073
+ exports.zMonitorsUpdateResponse = zMonitorsUpdateResponse;
3074
+ exports.zOAuthGrant = zOAuthGrant;
3075
+ exports.zOauthDecideAuthorizationBody = zOauthDecideAuthorizationBody;
3076
+ exports.zOauthDecideAuthorizationResponse = zOauthDecideAuthorizationResponse;
3077
+ exports.zOauthGetAuthorizationQuery = zOauthGetAuthorizationQuery;
3078
+ exports.zOauthGetAuthorizationResponse = zOauthGetAuthorizationResponse;
3079
+ exports.zOauthListGrantsResponse = zOauthListGrantsResponse;
3080
+ exports.zOauthRevokeGrantPath = zOauthRevokeGrantPath;
3081
+ exports.zOauthRevokeGrantResponse = zOauthRevokeGrantResponse;
3082
+ exports.zOrgDetails = zOrgDetails;
3083
+ exports.zPreviewSchedule = zPreviewSchedule;
3084
+ exports.zPreviewTemplateBody = zPreviewTemplateBody;
3085
+ exports.zPreviewTemplateResponse = zPreviewTemplateResponse;
3086
+ exports.zProjectAge = zProjectAge;
3087
+ exports.zProjectListStats = zProjectListStats;
3088
+ exports.zProjectMember = zProjectMember;
3089
+ exports.zProjectMemberResponse = zProjectMemberResponse;
3090
+ exports.zProjectRepository = zProjectRepository;
3091
+ exports.zProjectResponse = zProjectResponse;
3092
+ exports.zProjectRetention = zProjectRetention;
3093
+ exports.zProjectRole = zProjectRole;
3094
+ exports.zProjectStatsSummary = zProjectStatsSummary;
3095
+ exports.zProjectsCreateBody = zProjectsCreateBody;
3096
+ exports.zProjectsCreateResponse = zProjectsCreateResponse;
3097
+ exports.zProjectsDeletePath = zProjectsDeletePath;
3098
+ exports.zProjectsDeleteResponse = zProjectsDeleteResponse;
3099
+ exports.zProjectsGetPath = zProjectsGetPath;
3100
+ exports.zProjectsGetRateLimitsResponse = zProjectsGetRateLimitsResponse;
3101
+ exports.zProjectsGetResponse = zProjectsGetResponse;
3102
+ exports.zProjectsListQuery = zProjectsListQuery;
3103
+ exports.zProjectsListResponse = zProjectsListResponse;
3104
+ exports.zProjectsUpdateBody = zProjectsUpdateBody;
3105
+ exports.zProjectsUpdatePath = zProjectsUpdatePath;
3106
+ exports.zProjectsUpdateResponse = zProjectsUpdateResponse;
3107
+ exports.zProviderType = zProviderType;
3108
+ exports.zRateLimitsResponse = zRateLimitsResponse;
3109
+ exports.zReadinessChecks = zReadinessChecks;
3110
+ exports.zReadinessResponse = zReadinessResponse;
3111
+ exports.zReleaseResponse = zReleaseResponse;
3112
+ exports.zReleasesCreateBody = zReleasesCreateBody;
3113
+ exports.zReleasesCreatePath = zReleasesCreatePath;
3114
+ exports.zReleasesCreateResponse = zReleasesCreateResponse;
3115
+ exports.zReleasesFinalizeBody = zReleasesFinalizeBody;
3116
+ exports.zReleasesFinalizePath = zReleasesFinalizePath;
3117
+ exports.zReleasesFinalizeResponse = zReleasesFinalizeResponse;
3118
+ exports.zReleasesNewIssuesPath = zReleasesNewIssuesPath;
3119
+ exports.zReleasesNewIssuesQuery = zReleasesNewIssuesQuery;
3120
+ exports.zReleasesNewIssuesResponse = zReleasesNewIssuesResponse;
3121
+ exports.zRepoCommit = zRepoCommit;
3122
+ exports.zRetentionResponse = zRetentionResponse;
3123
+ exports.zRetentionRun = zRetentionRun;
3124
+ exports.zRetentionSettings = zRetentionSettings;
3125
+ exports.zRetentionWindows = zRetentionWindows;
3126
+ exports.zSchedule = zSchedule;
3127
+ exports.zSchedulePreview = zSchedulePreview;
3128
+ exports.zSchedulesPreviewBody = zSchedulesPreviewBody;
3129
+ exports.zSchedulesPreviewResponse = zSchedulesPreviewResponse;
3130
+ exports.zSeenResponse = zSeenResponse;
3131
+ exports.zSentryEvent = zSentryEvent;
3132
+ exports.zSentryGetIssuePath = zSentryGetIssuePath;
3133
+ exports.zSentryGetIssueResponse = zSentryGetIssueResponse;
3134
+ exports.zSentryGetLatestEventPath = zSentryGetLatestEventPath;
3135
+ exports.zSentryGetLatestEventResponse = zSentryGetLatestEventResponse;
3136
+ exports.zSentryGroupProject = zSentryGroupProject;
3137
+ exports.zSentryIssue = zSentryIssue;
3138
+ exports.zSentryIssueDetails = zSentryIssueDetails;
3139
+ exports.zSentryListIssuesPath = zSentryListIssuesPath;
3140
+ exports.zSentryListIssuesQuery = zSentryListIssuesQuery;
3141
+ exports.zSentryListIssuesResponse = zSentryListIssuesResponse;
3142
+ exports.zSentryListOrganizationsResponse = zSentryListOrganizationsResponse;
3143
+ exports.zSentryListProjectsQuery = zSentryListProjectsQuery;
3144
+ exports.zSentryListProjectsResponse = zSentryListProjectsResponse;
3145
+ exports.zSentryListReposPath = zSentryListReposPath;
3146
+ exports.zSentryListReposResponse = zSentryListReposResponse;
3147
+ exports.zSentryOpenIssuePath = zSentryOpenIssuePath;
3148
+ exports.zSentryOrganization = zSentryOrganization;
3149
+ exports.zSentryProject = zSentryProject;
3150
+ exports.zSentryRelease = zSentryRelease;
3151
+ exports.zSentryStatus = zSentryStatus;
3152
+ exports.zSentryTag = zSentryTag;
3153
+ exports.zSentryUpdateIssueBody = zSentryUpdateIssueBody;
3154
+ exports.zSentryUpdateIssuePath = zSentryUpdateIssuePath;
3155
+ exports.zSentryUpdateIssueResponse = zSentryUpdateIssueResponse;
3156
+ exports.zSessionSummary = zSessionSummary;
3157
+ exports.zSessionTimeseriesPoint = zSessionTimeseriesPoint;
3158
+ exports.zSessionsGetStatsPath = zSessionsGetStatsPath;
3159
+ exports.zSessionsGetStatsQuery = zSessionsGetStatsQuery;
3160
+ exports.zSessionsGetStatsResponse = zSessionsGetStatsResponse;
3161
+ exports.zSessionsGetSummaryPath = zSessionsGetSummaryPath;
3162
+ exports.zSessionsGetSummaryQuery = zSessionsGetSummaryQuery;
3163
+ exports.zSessionsGetSummaryResponse = zSessionsGetSummaryResponse;
3164
+ exports.zSessionsGetTimeseriesPath = zSessionsGetTimeseriesPath;
3165
+ exports.zSessionsGetTimeseriesQuery = zSessionsGetTimeseriesQuery;
3166
+ exports.zSessionsGetTimeseriesResponse = zSessionsGetTimeseriesResponse;
3167
+ exports.zSettingsGetMcpResponse = zSettingsGetMcpResponse;
3168
+ exports.zSettingsUpdateMcpBody = zSettingsUpdateMcpBody;
3169
+ exports.zSettingsUpdateMcpResponse = zSettingsUpdateMcpResponse;
3170
+ exports.zSortOrder = zSortOrder;
3171
+ exports.zSourceMapFile = zSourceMapFile;
3172
+ exports.zSourceMapGcResult = zSourceMapGcResult;
3173
+ exports.zSourceMapList = zSourceMapList;
3174
+ exports.zSourceMapStorage = zSourceMapStorage;
3175
+ exports.zSourceMapsArtifactBundleAssembleBody = zSourceMapsArtifactBundleAssembleBody;
3176
+ exports.zSourceMapsArtifactBundleAssemblePath = zSourceMapsArtifactBundleAssemblePath;
3177
+ exports.zSourceMapsArtifactBundleAssembleResponse = zSourceMapsArtifactBundleAssembleResponse;
3178
+ exports.zSourceMapsChunkUploadBody = zSourceMapsChunkUploadBody;
3179
+ exports.zSourceMapsChunkUploadCapabilityPath = zSourceMapsChunkUploadCapabilityPath;
3180
+ exports.zSourceMapsChunkUploadCapabilityResponse = zSourceMapsChunkUploadCapabilityResponse;
3181
+ exports.zSourceMapsChunkUploadPath = zSourceMapsChunkUploadPath;
3182
+ exports.zSourceMapsListPath = zSourceMapsListPath;
3183
+ exports.zSourceMapsListResponse = zSourceMapsListResponse;
3184
+ exports.zSourceMapsOrgDetailsPath = zSourceMapsOrgDetailsPath;
3185
+ exports.zSourceMapsOrgDetailsResponse = zSourceMapsOrgDetailsResponse;
3186
+ exports.zSpanDetailResponse = zSpanDetailResponse;
3187
+ exports.zSpanResponse = zSpanResponse;
3188
+ exports.zSpansGetPath = zSpansGetPath;
3189
+ exports.zSpansGetResponse = zSpansGetResponse;
3190
+ exports.zSpansListPath = zSpansListPath;
3191
+ exports.zSpansListQuery = zSpansListQuery;
3192
+ exports.zSpansListResponse = zSpansListResponse;
3193
+ exports.zSsoConfigResponse = zSsoConfigResponse;
3194
+ exports.zSsoLinkResponse = zSsoLinkResponse;
3195
+ exports.zSsoStartResponse = zSsoStartResponse;
3196
+ exports.zStatsGetEventTimeseriesPath = zStatsGetEventTimeseriesPath;
3197
+ exports.zStatsGetEventTimeseriesQuery = zStatsGetEventTimeseriesQuery;
3198
+ exports.zStatsGetEventTimeseriesResponse = zStatsGetEventTimeseriesResponse;
3199
+ exports.zStatsGetSummaryPath = zStatsGetSummaryPath;
3200
+ exports.zStatsGetSummaryQuery = zStatsGetSummaryQuery;
3201
+ exports.zStatsGetSummaryResponse = zStatsGetSummaryResponse;
3202
+ exports.zStorageAge = zStorageAge;
3203
+ exports.zStorageExecuteCleanupBody = zStorageExecuteCleanupBody;
3204
+ exports.zStorageExecuteCleanupResponse = zStorageExecuteCleanupResponse;
3205
+ exports.zStorageGcSourceMapsResponse = zStorageGcSourceMapsResponse;
3206
+ exports.zStorageGetAgeResponse = zStorageGetAgeResponse;
3207
+ exports.zStorageGetCleanupStatusResponse = zStorageGetCleanupStatusResponse;
3208
+ exports.zStorageGetProjectsResponse = zStorageGetProjectsResponse;
3209
+ exports.zStorageGetRetentionResponse = zStorageGetRetentionResponse;
3210
+ exports.zStorageGetSummaryResponse = zStorageGetSummaryResponse;
3211
+ exports.zStoragePreviewCleanupBody = zStoragePreviewCleanupBody;
3212
+ exports.zStoragePreviewCleanupResponse = zStoragePreviewCleanupResponse;
3213
+ exports.zStoragePreviewRetentionBody = zStoragePreviewRetentionBody;
3214
+ exports.zStoragePreviewRetentionResponse = zStoragePreviewRetentionResponse;
3215
+ exports.zStoragePreviewSourceMapGcResponse = zStoragePreviewSourceMapGcResponse;
3216
+ exports.zStorageRunRetentionResponse = zStorageRunRetentionResponse;
3217
+ exports.zStorageSummary = zStorageSummary;
3218
+ exports.zStorageUpdateRetentionBody = zStorageUpdateRetentionBody;
3219
+ exports.zStorageUpdateRetentionResponse = zStorageUpdateRetentionResponse;
3220
+ exports.zSubscriptionResponse = zSubscriptionResponse;
3221
+ exports.zTagSummary = zTagSummary;
3222
+ exports.zTagValueCount = zTagValueCount;
3223
+ exports.zTeamDeleteUserPath = zTeamDeleteUserPath;
3224
+ exports.zTeamDeleteUserResponse = zTeamDeleteUserResponse;
3225
+ exports.zTeamListResponse = zTeamListResponse;
3226
+ exports.zTeamMemberResponse = zTeamMemberResponse;
3227
+ exports.zTeamUpdateRoleBody = zTeamUpdateRoleBody;
3228
+ exports.zTeamUpdateRolePath = zTeamUpdateRolePath;
3229
+ exports.zTeamUpdateRoleResponse = zTeamUpdateRoleResponse;
3230
+ exports.zTelemetryPreview = zTelemetryPreview;
3231
+ exports.zTelemetryPreviewResponse = zTelemetryPreviewResponse;
3232
+ exports.zTestChannelResponse = zTestChannelResponse;
3233
+ exports.zTestIntegrationBody = zTestIntegrationBody;
3234
+ exports.zToggleRequest = zToggleRequest;
3235
+ exports.zTokensCreateBody = zTokensCreateBody;
3236
+ exports.zTokensCreateResponse = zTokensCreateResponse;
3237
+ exports.zTokensDeletePath = zTokensDeletePath;
3238
+ exports.zTokensDeleteResponse = zTokensDeleteResponse;
3239
+ exports.zTokensGetPath = zTokensGetPath;
3240
+ exports.zTokensGetResponse = zTokensGetResponse;
3241
+ exports.zTokensListResponse = zTokensListResponse;
3242
+ exports.zTransactionDetailResponse = zTransactionDetailResponse;
3243
+ exports.zTransactionStatsResponse = zTransactionStatsResponse;
3244
+ exports.zTransactionsGetPath = zTransactionsGetPath;
3245
+ exports.zTransactionsGetResponse = zTransactionsGetResponse;
3246
+ exports.zTransactionsGetSpansPath = zTransactionsGetSpansPath;
3247
+ exports.zTransactionsGetSpansResponse = zTransactionsGetSpansResponse;
3248
+ exports.zTransactionsGetStatGroupPath = zTransactionsGetStatGroupPath;
3249
+ exports.zTransactionsGetStatGroupQuery = zTransactionsGetStatGroupQuery;
3250
+ exports.zTransactionsGetStatGroupResponse = zTransactionsGetStatGroupResponse;
3251
+ exports.zTransactionsGetStatsPath = zTransactionsGetStatsPath;
3252
+ exports.zTransactionsGetStatsQuery = zTransactionsGetStatsQuery;
3253
+ exports.zTransactionsGetStatsResponse = zTransactionsGetStatsResponse;
3254
+ exports.zTransactionsListPath = zTransactionsListPath;
3255
+ exports.zTransactionsListQuery = zTransactionsListQuery;
3256
+ exports.zTransactionsListResponse = zTransactionsListResponse;
3257
+ exports.zUpdateAlertIntegration = zUpdateAlertIntegration;
3258
+ exports.zUpdateAlertRule = zUpdateAlertRule;
3259
+ exports.zUpdateIssueState = zUpdateIssueState;
3260
+ exports.zUpdateMonitor = zUpdateMonitor;
3261
+ exports.zUpdatePreferencesRequest = zUpdatePreferencesRequest;
3262
+ exports.zUpdateProject = zUpdateProject;
3263
+ exports.zUpdateProjectRepository = zUpdateProjectRepository;
3264
+ exports.zUpdateRelease = zUpdateRelease;
3265
+ exports.zUpdateUserRole = zUpdateUserRole;
3266
+ exports.zUpsertProjectMember = zUpsertProjectMember;
3267
+ exports.zUserReport = zUserReport;
3268
+ exports.zUserReportRequest = zUserReportRequest;
3269
+ exports.zUserResponse = zUserResponse;
3270
+ exports.zUserRole = zUserRole;
3271
+ exports.zVersionResponse = zVersionResponse;
3272
+
3273
+ //# sourceMappingURL=zod.gen.cjs.map