@rustrak/client 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +18 -0
  2. package/dist/client.cjs +1 -1
  3. package/dist/client.mjs +1 -1
  4. package/dist/generated/client/client.gen.d.cts +1 -0
  5. package/dist/generated/client/index.d.cts +10 -0
  6. package/dist/generated/client/types.gen.d.cts +1 -1
  7. package/dist/generated/client/types.gen.d.mts +1 -1
  8. package/dist/generated/client/utils.gen.cjs +1 -1
  9. package/dist/generated/client/utils.gen.d.cts +2 -0
  10. package/dist/generated/client/utils.gen.d.cts.map +1 -1
  11. package/dist/generated/client/utils.gen.mjs +1 -1
  12. package/dist/generated/client.gen.cjs +2 -1
  13. package/dist/generated/client.gen.cjs.map +1 -1
  14. package/dist/generated/client.gen.mjs +1 -1
  15. package/dist/generated/core/params.gen.d.cts +1 -0
  16. package/dist/generated/core/queryKeySerializer.gen.d.cts +1 -0
  17. package/dist/generated/sdk.gen.cjs +728 -439
  18. package/dist/generated/sdk.gen.cjs.map +1 -1
  19. package/dist/generated/sdk.gen.d.cts +49 -27
  20. package/dist/generated/sdk.gen.d.cts.map +1 -1
  21. package/dist/generated/sdk.gen.d.mts +49 -28
  22. package/dist/generated/sdk.gen.d.mts.map +1 -1
  23. package/dist/generated/sdk.gen.mjs +728 -441
  24. package/dist/generated/sdk.gen.mjs.map +1 -1
  25. package/dist/generated/types.gen.d.cts +347 -0
  26. package/dist/generated/types.gen.d.cts.map +1 -1
  27. package/dist/generated/types.gen.d.mts +347 -0
  28. package/dist/generated/types.gen.d.mts.map +1 -1
  29. package/dist/generated/zod.gen.cjs +251 -1
  30. package/dist/generated/zod.gen.cjs.map +1 -1
  31. package/dist/generated/zod.gen.mjs +214 -2
  32. package/dist/generated/zod.gen.mjs.map +1 -1
  33. package/dist/index.cjs +2 -2
  34. package/dist/index.d.cts +3 -3
  35. package/dist/index.d.mts +3 -3
  36. package/dist/index.mjs +2 -2
  37. package/dist/utils/http.cjs.map +1 -1
  38. package/dist/utils/http.mjs.map +1 -1
  39. package/package.json +5 -5
@@ -1,6 +1,6 @@
1
1
  const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
- const require_bodySerializer_gen = require("./core/bodySerializer.gen.cjs");
3
2
  const require_client_gen = require("./client.gen.cjs");
3
+ const require_bodySerializer_gen = require("./core/bodySerializer.gen.cjs");
4
4
  const require_zod_gen = require("./zod.gen.cjs");
5
5
  let zod = require("zod");
6
6
  zod = require_runtime.__toESM(zod, 1);
@@ -111,6 +111,28 @@ var Sentry = class extends HeyApiClient {
111
111
  });
112
112
  }
113
113
  /**
114
+ * Issues across projects, narrowed by `project`, filtered by `query`,
115
+ * sorted by `sort` and paginated by `cursor` (Sentry's
116
+ * `OrganizationGroupIndexEndpoint`,
117
+ * `issues/endpoints/organization_group_index.py`).
118
+ */
119
+ listOrganizationIssues(options) {
120
+ return (options.client ?? this.client).get({
121
+ requestValidator: async (data) => await zod.object({
122
+ body: zod.never().optional(),
123
+ path: require_zod_gen.zSentryListOrganizationIssuesPath,
124
+ query: require_zod_gen.zSentryListOrganizationIssuesQuery.optional()
125
+ }).parseAsync(data),
126
+ responseValidator: async (data) => await require_zod_gen.zSentryListOrganizationIssuesResponse.parseAsync(data),
127
+ security: [{
128
+ scheme: "bearer",
129
+ type: "http"
130
+ }],
131
+ url: "/api/0/organizations/{org_slug}/issues/",
132
+ ...options
133
+ });
134
+ }
135
+ /**
114
136
  * The code repositories connected to the organization (Sentry's
115
137
  * `OrganizationRepositoriesEndpoint`). Rustrak connects none through
116
138
  * Sentry's integrations, so the list is always empty.
@@ -538,6 +560,47 @@ var Access = class extends HeyApiClient {
538
560
  });
539
561
  }
540
562
  };
563
+ var Feedback = class extends HeyApiClient {
564
+ /**
565
+ * Lists user feedback across every project the reader can read issues on.
566
+ */
567
+ listAll(options) {
568
+ return (options?.client ?? this.client).get({
569
+ requestValidator: async (data) => await zod.object({
570
+ body: zod.never().optional(),
571
+ path: zod.never().optional(),
572
+ query: require_zod_gen.zFeedbackListAllQuery.optional()
573
+ }).parseAsync(data),
574
+ responseValidator: async (data) => await require_zod_gen.zFeedbackListAllResponse.parseAsync(data),
575
+ security: [{
576
+ scheme: "bearer",
577
+ type: "http"
578
+ }],
579
+ url: "/api/feedback",
580
+ ...options
581
+ });
582
+ }
583
+ /**
584
+ * Lists user feedback with what each user submitted. Every feedback is an
585
+ * issue of category `feedback`; spam is a muted one.
586
+ */
587
+ list(options) {
588
+ return (options.client ?? this.client).get({
589
+ requestValidator: async (data) => await zod.object({
590
+ body: zod.never().optional(),
591
+ path: require_zod_gen.zFeedbackListPath,
592
+ query: require_zod_gen.zFeedbackListQuery.optional()
593
+ }).parseAsync(data),
594
+ responseValidator: async (data) => await require_zod_gen.zFeedbackListResponse.parseAsync(data),
595
+ security: [{
596
+ scheme: "bearer",
597
+ type: "http"
598
+ }],
599
+ url: "/api/projects/{project_id}/feedback",
600
+ ...options
601
+ });
602
+ }
603
+ };
541
604
  var Github = class extends HeyApiClient {
542
605
  /**
543
606
  * Disconnects the GitHub App from this instance.
@@ -1196,34 +1259,43 @@ var Invitations = class extends HeyApiClient {
1196
1259
  });
1197
1260
  }
1198
1261
  };
1199
- var Oauth = class extends HeyApiClient {
1262
+ var Issues = class extends HeyApiClient {
1200
1263
  /**
1201
- * Verifies an authorization request and says who is asking.
1264
+ * Lists issues across every project the reader can read issues on, in the
1265
+ * same shape and pages as a project's list.
1202
1266
  */
1203
- getAuthorization(options) {
1204
- return (options.client ?? this.client).get({
1267
+ listAll(options) {
1268
+ return (options?.client ?? this.client).get({
1205
1269
  requestValidator: async (data) => await zod.object({
1206
1270
  body: zod.never().optional(),
1207
1271
  path: zod.never().optional(),
1208
- query: require_zod_gen.zOauthGetAuthorizationQuery
1272
+ query: require_zod_gen.zIssuesListAllQuery.optional()
1209
1273
  }).parseAsync(data),
1210
- responseValidator: async (data) => await require_zod_gen.zOauthGetAuthorizationResponse.parseAsync(data),
1211
- url: "/api/oauth/authorize",
1274
+ responseValidator: async (data) => await require_zod_gen.zIssuesListAllResponse.parseAsync(data),
1275
+ security: [{
1276
+ scheme: "bearer",
1277
+ type: "http"
1278
+ }],
1279
+ url: "/api/issues",
1212
1280
  ...options
1213
1281
  });
1214
1282
  }
1215
1283
  /**
1216
- * Approves or denies an authorization request as the signed-in user.
1284
+ * Deletes many issues at once, selected by id or by filter.
1217
1285
  */
1218
- decideAuthorization(options) {
1219
- return (options.client ?? this.client).post({
1286
+ bulkDelete(options) {
1287
+ return (options.client ?? this.client).delete({
1220
1288
  requestValidator: async (data) => await zod.object({
1221
- body: require_zod_gen.zOauthDecideAuthorizationBody,
1222
- path: zod.never().optional(),
1289
+ body: require_zod_gen.zIssuesBulkDeleteBody,
1290
+ path: require_zod_gen.zIssuesBulkDeletePath,
1223
1291
  query: zod.never().optional()
1224
1292
  }).parseAsync(data),
1225
- responseValidator: async (data) => await require_zod_gen.zOauthDecideAuthorizationResponse.parseAsync(data),
1226
- url: "/api/oauth/authorize",
1293
+ responseValidator: async (data) => await require_zod_gen.zIssuesBulkDeleteResponse.parseAsync(data),
1294
+ security: [{
1295
+ scheme: "bearer",
1296
+ type: "http"
1297
+ }],
1298
+ url: "/api/projects/{project_id}/issues",
1227
1299
  ...options,
1228
1300
  headers: {
1229
1301
  "Content-Type": "application/json",
@@ -1232,78 +1304,40 @@ var Oauth = class extends HeyApiClient {
1232
1304
  });
1233
1305
  }
1234
1306
  /**
1235
- * Lists the assistants connected to the signed-in user's account.
1236
- */
1237
- listGrants(options) {
1238
- return (options?.client ?? this.client).get({
1239
- requestValidator: async (data) => await zod.object({
1240
- body: zod.never().optional(),
1241
- path: zod.never().optional(),
1242
- query: zod.never().optional()
1243
- }).parseAsync(data),
1244
- responseValidator: async (data) => await require_zod_gen.zOauthListGrantsResponse.parseAsync(data),
1245
- url: "/api/oauth/grants",
1246
- ...options
1247
- });
1248
- }
1249
- /**
1250
- * Disconnects an assistant: its tokens stop working at once.
1251
- */
1252
- revokeGrant(options) {
1253
- return (options.client ?? this.client).delete({
1254
- requestValidator: async (data) => await zod.object({
1255
- body: zod.never().optional(),
1256
- path: require_zod_gen.zOauthRevokeGrantPath,
1257
- query: zod.never().optional()
1258
- }).parseAsync(data),
1259
- responseValidator: async (data) => await require_zod_gen.zOauthRevokeGrantResponse.parseAsync(data),
1260
- url: "/api/oauth/grants/{id}",
1261
- ...options
1262
- });
1263
- }
1264
- };
1265
- var Projects = class extends HeyApiClient {
1266
- /**
1267
- * List projects with pagination.
1268
- *
1269
- * Only the projects the caller holds a permission on.
1307
+ * Lists issues for a project with offset-based pagination
1270
1308
  */
1271
1309
  list(options) {
1272
- return (options?.client ?? this.client).get({
1310
+ return (options.client ?? this.client).get({
1273
1311
  requestValidator: async (data) => await zod.object({
1274
1312
  body: zod.never().optional(),
1275
- path: zod.never().optional(),
1276
- query: require_zod_gen.zProjectsListQuery.optional()
1313
+ path: require_zod_gen.zIssuesListPath,
1314
+ query: require_zod_gen.zIssuesListQuery.optional()
1277
1315
  }).parseAsync(data),
1278
- responseValidator: async (data) => await require_zod_gen.zProjectsListResponse.parseAsync(data),
1316
+ responseValidator: async (data) => await require_zod_gen.zIssuesListResponse.parseAsync(data),
1279
1317
  security: [{
1280
1318
  scheme: "bearer",
1281
1319
  type: "http"
1282
1320
  }],
1283
- url: "/api/projects",
1321
+ url: "/api/projects/{project_id}/issues",
1284
1322
  ...options
1285
1323
  });
1286
1324
  }
1287
1325
  /**
1288
- * Create a new project
1289
- *
1290
- * Needs `projects:create` and a permission on at least one project, because
1291
- * the creator's own roles extend to the new one. A token limited to chosen
1292
- * projects can create one, but its list does not grow to reach it.
1326
+ * Sets the status or priority of many issues at once, by id.
1293
1327
  */
1294
- create(options) {
1295
- return (options.client ?? this.client).post({
1328
+ bulkUpdate(options) {
1329
+ return (options.client ?? this.client).put({
1296
1330
  requestValidator: async (data) => await zod.object({
1297
- body: require_zod_gen.zProjectsCreateBody,
1298
- path: zod.never().optional(),
1331
+ body: require_zod_gen.zIssuesBulkUpdateBody,
1332
+ path: require_zod_gen.zIssuesBulkUpdatePath,
1299
1333
  query: zod.never().optional()
1300
1334
  }).parseAsync(data),
1301
- responseValidator: async (data) => await require_zod_gen.zProjectsCreateResponse.parseAsync(data),
1335
+ responseValidator: async (data) => await require_zod_gen.zIssuesBulkUpdateResponse.parseAsync(data),
1302
1336
  security: [{
1303
1337
  scheme: "bearer",
1304
1338
  type: "http"
1305
1339
  }],
1306
- url: "/api/projects",
1340
+ url: "/api/projects/{project_id}/issues",
1307
1341
  ...options,
1308
1342
  headers: {
1309
1343
  "Content-Type": "application/json",
@@ -1312,59 +1346,59 @@ var Projects = class extends HeyApiClient {
1312
1346
  });
1313
1347
  }
1314
1348
  /**
1315
- * Delete a project
1349
+ * Hard-deletes an issue and all associated events
1316
1350
  */
1317
1351
  delete(options) {
1318
1352
  return (options.client ?? this.client).delete({
1319
1353
  requestValidator: async (data) => await zod.object({
1320
1354
  body: zod.never().optional(),
1321
- path: require_zod_gen.zProjectsDeletePath,
1355
+ path: require_zod_gen.zIssuesDeletePath,
1322
1356
  query: zod.never().optional()
1323
1357
  }).parseAsync(data),
1324
- responseValidator: async (data) => await require_zod_gen.zProjectsDeleteResponse.parseAsync(data),
1358
+ responseValidator: async (data) => await require_zod_gen.zIssuesDeleteResponse.parseAsync(data),
1325
1359
  security: [{
1326
1360
  scheme: "bearer",
1327
1361
  type: "http"
1328
1362
  }],
1329
- url: "/api/projects/{id}",
1363
+ url: "/api/projects/{project_id}/issues/{issue_id}",
1330
1364
  ...options
1331
1365
  });
1332
1366
  }
1333
1367
  /**
1334
- * Get a project by ID
1368
+ * Gets a single issue by ID
1335
1369
  */
1336
1370
  get(options) {
1337
1371
  return (options.client ?? this.client).get({
1338
1372
  requestValidator: async (data) => await zod.object({
1339
1373
  body: zod.never().optional(),
1340
- path: require_zod_gen.zProjectsGetPath,
1374
+ path: require_zod_gen.zIssuesGetPath,
1341
1375
  query: zod.never().optional()
1342
1376
  }).parseAsync(data),
1343
- responseValidator: async (data) => await require_zod_gen.zProjectsGetResponse.parseAsync(data),
1377
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetResponse.parseAsync(data),
1344
1378
  security: [{
1345
1379
  scheme: "bearer",
1346
1380
  type: "http"
1347
1381
  }],
1348
- url: "/api/projects/{id}",
1382
+ url: "/api/projects/{project_id}/issues/{issue_id}",
1349
1383
  ...options
1350
1384
  });
1351
1385
  }
1352
1386
  /**
1353
- * Update a project
1387
+ * Updates issue state (resolve, mute, etc.)
1354
1388
  */
1355
1389
  update(options) {
1356
1390
  return (options.client ?? this.client).patch({
1357
1391
  requestValidator: async (data) => await zod.object({
1358
- body: require_zod_gen.zProjectsUpdateBody,
1359
- path: require_zod_gen.zProjectsUpdatePath,
1392
+ body: require_zod_gen.zIssuesUpdateBody,
1393
+ path: require_zod_gen.zIssuesUpdatePath,
1360
1394
  query: zod.never().optional()
1361
1395
  }).parseAsync(data),
1362
- responseValidator: async (data) => await require_zod_gen.zProjectsUpdateResponse.parseAsync(data),
1396
+ responseValidator: async (data) => await require_zod_gen.zIssuesUpdateResponse.parseAsync(data),
1363
1397
  security: [{
1364
1398
  scheme: "bearer",
1365
1399
  type: "http"
1366
1400
  }],
1367
- url: "/api/projects/{id}",
1401
+ url: "/api/projects/{project_id}/issues/{issue_id}",
1368
1402
  ...options,
1369
1403
  headers: {
1370
1404
  "Content-Type": "application/json",
@@ -1373,332 +1407,339 @@ var Projects = class extends HeyApiClient {
1373
1407
  });
1374
1408
  }
1375
1409
  /**
1376
- * What a project without limits of its own follows
1410
+ * Chronological activity log (incl. comments).
1377
1411
  */
1378
- getRateLimits(options) {
1379
- return (options?.client ?? this.client).get({
1412
+ getActivity(options) {
1413
+ return (options.client ?? this.client).get({
1380
1414
  requestValidator: async (data) => await zod.object({
1381
1415
  body: zod.never().optional(),
1382
- path: zod.never().optional(),
1416
+ path: require_zod_gen.zIssuesGetActivityPath,
1383
1417
  query: zod.never().optional()
1384
1418
  }).parseAsync(data),
1385
- responseValidator: async (data) => await require_zod_gen.zProjectsGetRateLimitsResponse.parseAsync(data),
1419
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetActivityResponse.parseAsync(data),
1386
1420
  security: [{
1387
1421
  scheme: "bearer",
1388
1422
  type: "http"
1389
1423
  }],
1390
- url: "/api/rate-limits",
1424
+ url: "/api/projects/{project_id}/issues/{issue_id}/activity",
1391
1425
  ...options
1392
1426
  });
1393
1427
  }
1394
- };
1395
- var Agents = class extends HeyApiClient {
1396
1428
  /**
1397
- * Lists conversations -- traces sharing a `gen_ai.conversation.id` -- the most recently active first.
1429
+ * Returns the unique user count and top tags for the issue.
1398
1430
  */
1399
- conversations(options) {
1431
+ getAggregates(options) {
1400
1432
  return (options.client ?? this.client).get({
1401
1433
  requestValidator: async (data) => await zod.object({
1402
1434
  body: zod.never().optional(),
1403
- path: require_zod_gen.zAgentsConversationsPath,
1404
- query: require_zod_gen.zAgentsConversationsQuery.optional()
1435
+ path: require_zod_gen.zIssuesGetAggregatesPath,
1436
+ query: zod.never().optional()
1405
1437
  }).parseAsync(data),
1406
- responseValidator: async (data) => await require_zod_gen.zAgentsConversationsResponse.parseAsync(data),
1438
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetAggregatesResponse.parseAsync(data),
1407
1439
  security: [{
1408
1440
  scheme: "bearer",
1409
1441
  type: "http"
1410
1442
  }],
1411
- url: "/api/projects/{project_id}/agents/conversations",
1443
+ url: "/api/projects/{project_id}/issues/{issue_id}/aggregates",
1412
1444
  ...options
1413
1445
  });
1414
1446
  }
1415
1447
  /**
1416
- * Returns every AI span of a conversation's turns, oldest first, with its input and output.
1448
+ * Set/clear the per-user bookmark.
1417
1449
  */
1418
- conversation(options) {
1419
- return (options.client ?? this.client).get({
1450
+ setBookmark(options) {
1451
+ return (options.client ?? this.client).put({
1420
1452
  requestValidator: async (data) => await zod.object({
1421
- body: zod.never().optional(),
1422
- path: require_zod_gen.zAgentsConversationPath,
1453
+ body: require_zod_gen.zIssuesSetBookmarkBody,
1454
+ path: require_zod_gen.zIssuesSetBookmarkPath,
1423
1455
  query: zod.never().optional()
1424
1456
  }).parseAsync(data),
1425
- responseValidator: async (data) => await require_zod_gen.zAgentsConversationResponse.parseAsync(data),
1457
+ responseValidator: async (data) => await require_zod_gen.zIssuesSetBookmarkResponse.parseAsync(data),
1426
1458
  security: [{
1427
1459
  scheme: "bearer",
1428
1460
  type: "http"
1429
1461
  }],
1430
- url: "/api/projects/{project_id}/agents/conversations/{conversation_id}",
1431
- ...options
1462
+ url: "/api/projects/{project_id}/issues/{issue_id}/bookmark",
1463
+ ...options,
1464
+ headers: {
1465
+ "Content-Type": "application/json",
1466
+ ...options.headers
1467
+ }
1432
1468
  });
1433
1469
  }
1434
1470
  /**
1435
- * Time-bucketed avg/p95 duration for `agent`/`ai_client` spans.
1471
+ * Add a note.
1436
1472
  */
1437
- duration(options) {
1438
- return (options.client ?? this.client).get({
1473
+ createComment(options) {
1474
+ return (options.client ?? this.client).post({
1439
1475
  requestValidator: async (data) => await zod.object({
1440
- body: zod.never().optional(),
1441
- path: require_zod_gen.zAgentsDurationPath,
1442
- query: require_zod_gen.zAgentsDurationQuery.optional()
1476
+ body: require_zod_gen.zIssuesCreateCommentBody,
1477
+ path: require_zod_gen.zIssuesCreateCommentPath,
1478
+ query: zod.never().optional()
1443
1479
  }).parseAsync(data),
1444
- responseValidator: async (data) => await require_zod_gen.zAgentsDurationResponse.parseAsync(data),
1480
+ responseValidator: async (data) => await require_zod_gen.zIssuesCreateCommentResponse.parseAsync(data),
1445
1481
  security: [{
1446
1482
  scheme: "bearer",
1447
1483
  type: "http"
1448
1484
  }],
1449
- url: "/api/projects/{project_id}/agents/duration",
1450
- ...options
1485
+ url: "/api/projects/{project_id}/issues/{issue_id}/comments",
1486
+ ...options,
1487
+ headers: {
1488
+ "Content-Type": "application/json",
1489
+ ...options.headers
1490
+ }
1451
1491
  });
1452
1492
  }
1453
1493
  /**
1454
- * The options the environment filter offers, read from the data rather than
1455
- * hardcoded — an installation may name its environments anything.
1494
+ * Lists the grouping hashes that map to an issue.
1456
1495
  */
1457
- environments(options) {
1496
+ getHashes(options) {
1458
1497
  return (options.client ?? this.client).get({
1459
1498
  requestValidator: async (data) => await zod.object({
1460
1499
  body: zod.never().optional(),
1461
- path: require_zod_gen.zAgentsEnvironmentsPath,
1500
+ path: require_zod_gen.zIssuesGetHashesPath,
1462
1501
  query: zod.never().optional()
1463
1502
  }).parseAsync(data),
1464
- responseValidator: async (data) => await require_zod_gen.zAgentsEnvironmentsResponse.parseAsync(data),
1503
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetHashesResponse.parseAsync(data),
1465
1504
  security: [{
1466
1505
  scheme: "bearer",
1467
1506
  type: "http"
1468
1507
  }],
1469
- url: "/api/projects/{project_id}/agents/environments",
1508
+ url: "/api/projects/{project_id}/issues/{issue_id}/hashes",
1470
1509
  ...options
1471
1510
  });
1472
1511
  }
1473
1512
  /**
1474
- * Lists the AI models a project's agents called, with requests, tokens and latency.
1513
+ * Mark the issue as seen by the current user.
1475
1514
  */
1476
- modelsTable(options) {
1477
- return (options.client ?? this.client).get({
1478
- requestValidator: async (data) => await zod.object({
1515
+ markSeen(options) {
1516
+ return (options.client ?? this.client).post({
1517
+ requestValidator: async (data) => await zod.object({
1479
1518
  body: zod.never().optional(),
1480
- path: require_zod_gen.zAgentsModelsTablePath,
1481
- query: require_zod_gen.zAgentsModelsTableQuery.optional()
1519
+ path: require_zod_gen.zIssuesMarkSeenPath,
1520
+ query: zod.never().optional()
1482
1521
  }).parseAsync(data),
1483
- responseValidator: async (data) => await require_zod_gen.zAgentsModelsTableResponse.parseAsync(data),
1522
+ responseValidator: async (data) => await require_zod_gen.zIssuesMarkSeenResponse.parseAsync(data),
1484
1523
  security: [{
1485
1524
  scheme: "bearer",
1486
1525
  type: "http"
1487
1526
  }],
1488
- url: "/api/projects/{project_id}/agents/models",
1527
+ url: "/api/projects/{project_id}/issues/{issue_id}/seen",
1489
1528
  ...options
1490
1529
  });
1491
1530
  }
1492
1531
  /**
1493
- * Top models by LLM call count (`gen_ai.operation.type:ai_client`).
1532
+ * Zero-filled event-count timeseries.
1494
1533
  */
1495
- modelsCalls(options) {
1534
+ getStats(options) {
1496
1535
  return (options.client ?? this.client).get({
1497
1536
  requestValidator: async (data) => await zod.object({
1498
1537
  body: zod.never().optional(),
1499
- path: require_zod_gen.zAgentsModelsCallsPath,
1500
- query: require_zod_gen.zAgentsModelsCallsQuery.optional()
1538
+ path: require_zod_gen.zIssuesGetStatsPath,
1539
+ query: require_zod_gen.zIssuesGetStatsQuery.optional()
1501
1540
  }).parseAsync(data),
1502
- responseValidator: async (data) => await require_zod_gen.zAgentsModelsCallsResponse.parseAsync(data),
1541
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetStatsResponse.parseAsync(data),
1503
1542
  security: [{
1504
1543
  scheme: "bearer",
1505
1544
  type: "http"
1506
1545
  }],
1507
- url: "/api/projects/{project_id}/agents/models/calls",
1546
+ url: "/api/projects/{project_id}/issues/{issue_id}/stats",
1508
1547
  ...options
1509
1548
  });
1510
1549
  }
1511
1550
  /**
1512
- * Top models by total tokens used (`gen_ai.operation.type:ai_client`).
1551
+ * Set/clear the per-user subscription.
1513
1552
  */
1514
- modelsTokens(options) {
1515
- return (options.client ?? this.client).get({
1553
+ setSubscription(options) {
1554
+ return (options.client ?? this.client).put({
1516
1555
  requestValidator: async (data) => await zod.object({
1517
- body: zod.never().optional(),
1518
- path: require_zod_gen.zAgentsModelsTokensPath,
1519
- query: require_zod_gen.zAgentsModelsTokensQuery.optional()
1556
+ body: require_zod_gen.zIssuesSetSubscriptionBody,
1557
+ path: require_zod_gen.zIssuesSetSubscriptionPath,
1558
+ query: zod.never().optional()
1520
1559
  }).parseAsync(data),
1521
- responseValidator: async (data) => await require_zod_gen.zAgentsModelsTokensResponse.parseAsync(data),
1560
+ responseValidator: async (data) => await require_zod_gen.zIssuesSetSubscriptionResponse.parseAsync(data),
1522
1561
  security: [{
1523
1562
  scheme: "bearer",
1524
1563
  type: "http"
1525
1564
  }],
1526
- url: "/api/projects/{project_id}/agents/models/tokens",
1527
- ...options
1565
+ url: "/api/projects/{project_id}/issues/{issue_id}/subscription",
1566
+ ...options,
1567
+ headers: {
1568
+ "Content-Type": "application/json",
1569
+ ...options.headers
1570
+ }
1528
1571
  });
1529
1572
  }
1530
1573
  /**
1531
- * Time-bucketed count of agent-run spans (`gen_ai.operation.type:agent`).
1574
+ * Lists the distinct values (with counts) for a tag key across the issue.
1532
1575
  */
1533
- runs(options) {
1576
+ getTagValues(options) {
1534
1577
  return (options.client ?? this.client).get({
1535
1578
  requestValidator: async (data) => await zod.object({
1536
1579
  body: zod.never().optional(),
1537
- path: require_zod_gen.zAgentsRunsPath,
1538
- query: require_zod_gen.zAgentsRunsQuery.optional()
1580
+ path: require_zod_gen.zIssuesGetTagValuesPath,
1581
+ query: zod.never().optional()
1539
1582
  }).parseAsync(data),
1540
- responseValidator: async (data) => await require_zod_gen.zAgentsRunsResponse.parseAsync(data),
1583
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetTagValuesResponse.parseAsync(data),
1541
1584
  security: [{
1542
1585
  scheme: "bearer",
1543
1586
  type: "http"
1544
1587
  }],
1545
- url: "/api/projects/{project_id}/agents/runs",
1588
+ url: "/api/projects/{project_id}/issues/{issue_id}/tags/{key}",
1546
1589
  ...options
1547
1590
  });
1548
1591
  }
1549
1592
  /**
1550
- * Agent runs, LLM calls, tool calls, errors, tokens and latency over the
1551
- * selected window — the numbers the six charts cannot state outright.
1593
+ * List user feedback for an issue.
1552
1594
  */
1553
- summary(options) {
1595
+ listUserReports(options) {
1554
1596
  return (options.client ?? this.client).get({
1555
1597
  requestValidator: async (data) => await zod.object({
1556
1598
  body: zod.never().optional(),
1557
- path: require_zod_gen.zAgentsSummaryPath,
1558
- query: require_zod_gen.zAgentsSummaryQuery.optional()
1599
+ path: require_zod_gen.zIssuesListUserReportsPath,
1600
+ query: require_zod_gen.zIssuesListUserReportsQuery.optional()
1559
1601
  }).parseAsync(data),
1560
- responseValidator: async (data) => await require_zod_gen.zAgentsSummaryResponse.parseAsync(data),
1602
+ responseValidator: async (data) => await require_zod_gen.zIssuesListUserReportsResponse.parseAsync(data),
1561
1603
  security: [{
1562
1604
  scheme: "bearer",
1563
1605
  type: "http"
1564
1606
  }],
1565
- url: "/api/projects/{project_id}/agents/summary",
1607
+ url: "/api/projects/{project_id}/issues/{issue_id}/user-reports",
1566
1608
  ...options
1567
1609
  });
1568
1610
  }
1569
1611
  /**
1570
- * Top tools by call count (`gen_ai.operation.type:tool`).
1612
+ * Attach user feedback to an issue.
1571
1613
  */
1572
- tools(options) {
1573
- return (options.client ?? this.client).get({
1614
+ createUserReport(options) {
1615
+ return (options.client ?? this.client).post({
1574
1616
  requestValidator: async (data) => await zod.object({
1575
- body: zod.never().optional(),
1576
- path: require_zod_gen.zAgentsToolsPath,
1577
- query: require_zod_gen.zAgentsToolsQuery.optional()
1617
+ body: require_zod_gen.zIssuesCreateUserReportBody,
1618
+ path: require_zod_gen.zIssuesCreateUserReportPath,
1619
+ query: zod.never().optional()
1578
1620
  }).parseAsync(data),
1579
- responseValidator: async (data) => await require_zod_gen.zAgentsToolsResponse.parseAsync(data),
1621
+ responseValidator: async (data) => await require_zod_gen.zIssuesCreateUserReportResponse.parseAsync(data),
1580
1622
  security: [{
1581
1623
  scheme: "bearer",
1582
1624
  type: "http"
1583
1625
  }],
1584
- url: "/api/projects/{project_id}/agents/tools",
1585
- ...options
1626
+ url: "/api/projects/{project_id}/issues/{issue_id}/user-reports",
1627
+ ...options,
1628
+ headers: {
1629
+ "Content-Type": "application/json",
1630
+ ...options.headers
1631
+ }
1586
1632
  });
1587
1633
  }
1634
+ };
1635
+ var Oauth = class extends HeyApiClient {
1588
1636
  /**
1589
- * Lists the tools a project's agents called, with calls, errors and latency.
1637
+ * Verifies an authorization request and says who is asking.
1590
1638
  */
1591
- toolsTable(options) {
1639
+ getAuthorization(options) {
1592
1640
  return (options.client ?? this.client).get({
1593
1641
  requestValidator: async (data) => await zod.object({
1594
1642
  body: zod.never().optional(),
1595
- path: require_zod_gen.zAgentsToolsTablePath,
1596
- query: require_zod_gen.zAgentsToolsTableQuery.optional()
1643
+ path: zod.never().optional(),
1644
+ query: require_zod_gen.zOauthGetAuthorizationQuery
1597
1645
  }).parseAsync(data),
1598
- responseValidator: async (data) => await require_zod_gen.zAgentsToolsTableResponse.parseAsync(data),
1599
- security: [{
1600
- scheme: "bearer",
1601
- type: "http"
1602
- }],
1603
- url: "/api/projects/{project_id}/agents/tools/stats",
1646
+ responseValidator: async (data) => await require_zod_gen.zOauthGetAuthorizationResponse.parseAsync(data),
1647
+ url: "/api/oauth/authorize",
1604
1648
  ...options
1605
1649
  });
1606
1650
  }
1607
1651
  /**
1608
- * Paginated per-trace_id aggregate (duration, tokens, tool usage) across
1609
- * all AI spans sharing that trace, regardless of origin.
1652
+ * Approves or denies an authorization request as the signed-in user.
1610
1653
  */
1611
- traces(options) {
1612
- return (options.client ?? this.client).get({
1654
+ decideAuthorization(options) {
1655
+ return (options.client ?? this.client).post({
1613
1656
  requestValidator: async (data) => await zod.object({
1614
- body: zod.never().optional(),
1615
- path: require_zod_gen.zAgentsTracesPath,
1616
- query: require_zod_gen.zAgentsTracesQuery.optional()
1657
+ body: require_zod_gen.zOauthDecideAuthorizationBody,
1658
+ path: zod.never().optional(),
1659
+ query: zod.never().optional()
1617
1660
  }).parseAsync(data),
1618
- responseValidator: async (data) => await require_zod_gen.zAgentsTracesResponse.parseAsync(data),
1619
- security: [{
1620
- scheme: "bearer",
1621
- type: "http"
1622
- }],
1623
- url: "/api/projects/{project_id}/agents/traces",
1624
- ...options
1661
+ responseValidator: async (data) => await require_zod_gen.zOauthDecideAuthorizationResponse.parseAsync(data),
1662
+ url: "/api/oauth/authorize",
1663
+ ...options,
1664
+ headers: {
1665
+ "Content-Type": "application/json",
1666
+ ...options.headers
1667
+ }
1625
1668
  });
1626
1669
  }
1627
- };
1628
- var AlertRules = class extends HeyApiClient {
1629
1670
  /**
1630
- * Lists the alerts a project sent, newest first.
1671
+ * Lists the assistants connected to the signed-in user's account.
1631
1672
  */
1632
- listHistory(options) {
1633
- return (options.client ?? this.client).get({
1673
+ listGrants(options) {
1674
+ return (options?.client ?? this.client).get({
1634
1675
  requestValidator: async (data) => await zod.object({
1635
1676
  body: zod.never().optional(),
1636
- path: require_zod_gen.zAlertRulesListHistoryPath,
1637
- query: require_zod_gen.zAlertRulesListHistoryQuery.optional()
1677
+ path: zod.never().optional(),
1678
+ query: zod.never().optional()
1638
1679
  }).parseAsync(data),
1639
- responseValidator: async (data) => await require_zod_gen.zAlertRulesListHistoryResponse.parseAsync(data),
1640
- security: [{
1641
- scheme: "bearer",
1642
- type: "http"
1643
- }],
1644
- url: "/api/projects/{project_id}/alert-history",
1680
+ responseValidator: async (data) => await require_zod_gen.zOauthListGrantsResponse.parseAsync(data),
1681
+ url: "/api/oauth/grants",
1645
1682
  ...options
1646
1683
  });
1647
1684
  }
1648
1685
  /**
1649
- * Count a project's alert deliveries per day, by outcome.
1686
+ * Disconnects an assistant: its tokens stop working at once.
1650
1687
  */
1651
- historyByDay(options) {
1652
- return (options.client ?? this.client).get({
1688
+ revokeGrant(options) {
1689
+ return (options.client ?? this.client).delete({
1653
1690
  requestValidator: async (data) => await zod.object({
1654
1691
  body: zod.never().optional(),
1655
- path: require_zod_gen.zAlertRulesHistoryByDayPath,
1656
- query: require_zod_gen.zAlertRulesHistoryByDayQuery.optional()
1692
+ path: require_zod_gen.zOauthRevokeGrantPath,
1693
+ query: zod.never().optional()
1657
1694
  }).parseAsync(data),
1658
- responseValidator: async (data) => await require_zod_gen.zAlertRulesHistoryByDayResponse.parseAsync(data),
1659
- security: [{
1660
- scheme: "bearer",
1661
- type: "http"
1662
- }],
1663
- url: "/api/projects/{project_id}/alert-history/daily",
1695
+ responseValidator: async (data) => await require_zod_gen.zOauthRevokeGrantResponse.parseAsync(data),
1696
+ url: "/api/oauth/grants/{id}",
1664
1697
  ...options
1665
1698
  });
1666
1699
  }
1700
+ };
1701
+ var Projects = class extends HeyApiClient {
1667
1702
  /**
1668
- * Lists a project's alert rules.
1703
+ * List projects with pagination.
1704
+ *
1705
+ * Only the projects the caller holds a permission on.
1669
1706
  */
1670
1707
  list(options) {
1671
- return (options.client ?? this.client).get({
1708
+ return (options?.client ?? this.client).get({
1672
1709
  requestValidator: async (data) => await zod.object({
1673
1710
  body: zod.never().optional(),
1674
- path: require_zod_gen.zAlertRulesListPath,
1675
- query: zod.never().optional()
1711
+ path: zod.never().optional(),
1712
+ query: require_zod_gen.zProjectsListQuery.optional()
1676
1713
  }).parseAsync(data),
1677
- responseValidator: async (data) => await require_zod_gen.zAlertRulesListResponse.parseAsync(data),
1714
+ responseValidator: async (data) => await require_zod_gen.zProjectsListResponse.parseAsync(data),
1678
1715
  security: [{
1679
1716
  scheme: "bearer",
1680
1717
  type: "http"
1681
1718
  }],
1682
- url: "/api/projects/{project_id}/alert-rules",
1719
+ url: "/api/projects",
1683
1720
  ...options
1684
1721
  });
1685
1722
  }
1686
1723
  /**
1687
- * Creates an alert rule in a project.
1724
+ * Create a new project
1725
+ *
1726
+ * Needs `projects:create` and a permission on at least one project, because
1727
+ * the creator's own roles extend to the new one. A token limited to chosen
1728
+ * projects can create one, but its list does not grow to reach it.
1688
1729
  */
1689
1730
  create(options) {
1690
1731
  return (options.client ?? this.client).post({
1691
1732
  requestValidator: async (data) => await zod.object({
1692
- body: require_zod_gen.zAlertRulesCreateBody,
1693
- path: require_zod_gen.zAlertRulesCreatePath,
1733
+ body: require_zod_gen.zProjectsCreateBody,
1734
+ path: zod.never().optional(),
1694
1735
  query: zod.never().optional()
1695
1736
  }).parseAsync(data),
1696
- responseValidator: async (data) => await require_zod_gen.zAlertRulesCreateResponse.parseAsync(data),
1737
+ responseValidator: async (data) => await require_zod_gen.zProjectsCreateResponse.parseAsync(data),
1697
1738
  security: [{
1698
1739
  scheme: "bearer",
1699
1740
  type: "http"
1700
1741
  }],
1701
- url: "/api/projects/{project_id}/alert-rules",
1742
+ url: "/api/projects",
1702
1743
  ...options,
1703
1744
  headers: {
1704
1745
  "Content-Type": "application/json",
@@ -1707,59 +1748,59 @@ var AlertRules = class extends HeyApiClient {
1707
1748
  });
1708
1749
  }
1709
1750
  /**
1710
- * Deletes an alert rule.
1751
+ * Delete a project
1711
1752
  */
1712
1753
  delete(options) {
1713
1754
  return (options.client ?? this.client).delete({
1714
1755
  requestValidator: async (data) => await zod.object({
1715
1756
  body: zod.never().optional(),
1716
- path: require_zod_gen.zAlertRulesDeletePath,
1757
+ path: require_zod_gen.zProjectsDeletePath,
1717
1758
  query: zod.never().optional()
1718
1759
  }).parseAsync(data),
1719
- responseValidator: async (data) => await require_zod_gen.zAlertRulesDeleteResponse.parseAsync(data),
1760
+ responseValidator: async (data) => await require_zod_gen.zProjectsDeleteResponse.parseAsync(data),
1720
1761
  security: [{
1721
1762
  scheme: "bearer",
1722
1763
  type: "http"
1723
1764
  }],
1724
- url: "/api/projects/{project_id}/alert-rules/{rule_id}",
1765
+ url: "/api/projects/{id}",
1725
1766
  ...options
1726
1767
  });
1727
1768
  }
1728
1769
  /**
1729
- * Gets one alert rule.
1770
+ * Get a project by ID
1730
1771
  */
1731
1772
  get(options) {
1732
1773
  return (options.client ?? this.client).get({
1733
1774
  requestValidator: async (data) => await zod.object({
1734
1775
  body: zod.never().optional(),
1735
- path: require_zod_gen.zAlertRulesGetPath,
1776
+ path: require_zod_gen.zProjectsGetPath,
1736
1777
  query: zod.never().optional()
1737
1778
  }).parseAsync(data),
1738
- responseValidator: async (data) => await require_zod_gen.zAlertRulesGetResponse.parseAsync(data),
1779
+ responseValidator: async (data) => await require_zod_gen.zProjectsGetResponse.parseAsync(data),
1739
1780
  security: [{
1740
1781
  scheme: "bearer",
1741
1782
  type: "http"
1742
1783
  }],
1743
- url: "/api/projects/{project_id}/alert-rules/{rule_id}",
1784
+ url: "/api/projects/{id}",
1744
1785
  ...options
1745
1786
  });
1746
1787
  }
1747
1788
  /**
1748
- * Updates an alert rule.
1789
+ * Update a project
1749
1790
  */
1750
1791
  update(options) {
1751
1792
  return (options.client ?? this.client).patch({
1752
1793
  requestValidator: async (data) => await zod.object({
1753
- body: require_zod_gen.zAlertRulesUpdateBody,
1754
- path: require_zod_gen.zAlertRulesUpdatePath,
1794
+ body: require_zod_gen.zProjectsUpdateBody,
1795
+ path: require_zod_gen.zProjectsUpdatePath,
1755
1796
  query: zod.never().optional()
1756
1797
  }).parseAsync(data),
1757
- responseValidator: async (data) => await require_zod_gen.zAlertRulesUpdateResponse.parseAsync(data),
1798
+ responseValidator: async (data) => await require_zod_gen.zProjectsUpdateResponse.parseAsync(data),
1758
1799
  security: [{
1759
1800
  scheme: "bearer",
1760
1801
  type: "http"
1761
1802
  }],
1762
- url: "/api/projects/{project_id}/alert-rules/{rule_id}",
1803
+ url: "/api/projects/{id}",
1763
1804
  ...options,
1764
1805
  headers: {
1765
1806
  "Content-Type": "application/json",
@@ -1767,308 +1808,333 @@ var AlertRules = class extends HeyApiClient {
1767
1808
  }
1768
1809
  });
1769
1810
  }
1811
+ /**
1812
+ * What a project without limits of its own follows
1813
+ */
1814
+ getRateLimits(options) {
1815
+ return (options?.client ?? this.client).get({
1816
+ requestValidator: async (data) => await zod.object({
1817
+ body: zod.never().optional(),
1818
+ path: zod.never().optional(),
1819
+ query: zod.never().optional()
1820
+ }).parseAsync(data),
1821
+ responseValidator: async (data) => await require_zod_gen.zProjectsGetRateLimitsResponse.parseAsync(data),
1822
+ security: [{
1823
+ scheme: "bearer",
1824
+ type: "http"
1825
+ }],
1826
+ url: "/api/rate-limits",
1827
+ ...options
1828
+ });
1829
+ }
1770
1830
  };
1771
- var Events = class extends HeyApiClient {
1831
+ var Agents = class extends HeyApiClient {
1772
1832
  /**
1773
- * Downloads an attachment. Only a real image is served inline; anything
1774
- * else, whatever type it claims, is a download that never runs.
1833
+ * Lists conversations -- traces sharing a `gen_ai.conversation.id` -- the most recently active first.
1775
1834
  */
1776
- downloadAttachment(options) {
1835
+ conversations(options) {
1777
1836
  return (options.client ?? this.client).get({
1778
1837
  requestValidator: async (data) => await zod.object({
1779
1838
  body: zod.never().optional(),
1780
- path: require_zod_gen.zEventsDownloadAttachmentPath,
1781
- query: zod.never().optional()
1839
+ path: require_zod_gen.zAgentsConversationsPath,
1840
+ query: require_zod_gen.zAgentsConversationsQuery.optional()
1782
1841
  }).parseAsync(data),
1783
- responseValidator: async (data) => await require_zod_gen.zEventsDownloadAttachmentResponse.parseAsync(data),
1842
+ responseValidator: async (data) => await require_zod_gen.zAgentsConversationsResponse.parseAsync(data),
1784
1843
  security: [{
1785
1844
  scheme: "bearer",
1786
1845
  type: "http"
1787
1846
  }],
1788
- url: "/api/projects/{project_id}/attachments/{attachment_id}",
1847
+ url: "/api/projects/{project_id}/agents/conversations",
1789
1848
  ...options
1790
1849
  });
1791
1850
  }
1792
1851
  /**
1793
- * Resolve the ID returned by a Sentry SDK without already knowing the issue.
1852
+ * Returns every AI span of a conversation's turns, oldest first, with its input and output.
1794
1853
  */
1795
- getBySentryId(options) {
1854
+ conversation(options) {
1796
1855
  return (options.client ?? this.client).get({
1797
1856
  requestValidator: async (data) => await zod.object({
1798
1857
  body: zod.never().optional(),
1799
- path: require_zod_gen.zEventsGetBySentryIdPath,
1858
+ path: require_zod_gen.zAgentsConversationPath,
1800
1859
  query: zod.never().optional()
1801
1860
  }).parseAsync(data),
1802
- responseValidator: async (data) => await require_zod_gen.zEventsGetBySentryIdResponse.parseAsync(data),
1861
+ responseValidator: async (data) => await require_zod_gen.zAgentsConversationResponse.parseAsync(data),
1803
1862
  security: [{
1804
1863
  scheme: "bearer",
1805
1864
  type: "http"
1806
1865
  }],
1807
- url: "/api/projects/{project_id}/events/sentry/{event_id}",
1866
+ url: "/api/projects/{project_id}/agents/conversations/{conversation_id}",
1808
1867
  ...options
1809
1868
  });
1810
1869
  }
1811
1870
  /**
1812
- * Lists events for an issue with cursor-based pagination
1871
+ * Time-bucketed avg/p95 duration for `agent`/`ai_client` spans.
1813
1872
  */
1814
- list(options) {
1873
+ duration(options) {
1815
1874
  return (options.client ?? this.client).get({
1816
1875
  requestValidator: async (data) => await zod.object({
1817
1876
  body: zod.never().optional(),
1818
- path: require_zod_gen.zEventsListPath,
1819
- query: require_zod_gen.zEventsListQuery.optional()
1877
+ path: require_zod_gen.zAgentsDurationPath,
1878
+ query: require_zod_gen.zAgentsDurationQuery.optional()
1820
1879
  }).parseAsync(data),
1821
- responseValidator: async (data) => await require_zod_gen.zEventsListResponse.parseAsync(data),
1880
+ responseValidator: async (data) => await require_zod_gen.zAgentsDurationResponse.parseAsync(data),
1822
1881
  security: [{
1823
1882
  scheme: "bearer",
1824
1883
  type: "http"
1825
1884
  }],
1826
- url: "/api/projects/{project_id}/issues/{issue_id}/events",
1885
+ url: "/api/projects/{project_id}/agents/duration",
1827
1886
  ...options
1828
1887
  });
1829
1888
  }
1830
1889
  /**
1831
- * Gets a single event with full data
1890
+ * The options the environment filter offers, read from the data rather than
1891
+ * hardcoded — an installation may name its environments anything.
1832
1892
  */
1833
- get(options) {
1893
+ environments(options) {
1834
1894
  return (options.client ?? this.client).get({
1835
1895
  requestValidator: async (data) => await zod.object({
1836
1896
  body: zod.never().optional(),
1837
- path: require_zod_gen.zEventsGetPath,
1897
+ path: require_zod_gen.zAgentsEnvironmentsPath,
1838
1898
  query: zod.never().optional()
1839
1899
  }).parseAsync(data),
1840
- responseValidator: async (data) => await require_zod_gen.zEventsGetResponse.parseAsync(data),
1900
+ responseValidator: async (data) => await require_zod_gen.zAgentsEnvironmentsResponse.parseAsync(data),
1841
1901
  security: [{
1842
1902
  scheme: "bearer",
1843
1903
  type: "http"
1844
1904
  }],
1845
- url: "/api/projects/{project_id}/issues/{issue_id}/events/{event_id}",
1905
+ url: "/api/projects/{project_id}/agents/environments",
1846
1906
  ...options
1847
1907
  });
1848
1908
  }
1849
1909
  /**
1850
- * Lists the files sent with an event, such as a feedback's screenshot.
1910
+ * Lists the AI models a project's agents called, with requests, tokens and latency.
1851
1911
  */
1852
- listAttachments(options) {
1912
+ modelsTable(options) {
1853
1913
  return (options.client ?? this.client).get({
1854
1914
  requestValidator: async (data) => await zod.object({
1855
1915
  body: zod.never().optional(),
1856
- path: require_zod_gen.zEventsListAttachmentsPath,
1857
- query: zod.never().optional()
1916
+ path: require_zod_gen.zAgentsModelsTablePath,
1917
+ query: require_zod_gen.zAgentsModelsTableQuery.optional()
1918
+ }).parseAsync(data),
1919
+ responseValidator: async (data) => await require_zod_gen.zAgentsModelsTableResponse.parseAsync(data),
1920
+ security: [{
1921
+ scheme: "bearer",
1922
+ type: "http"
1923
+ }],
1924
+ url: "/api/projects/{project_id}/agents/models",
1925
+ ...options
1926
+ });
1927
+ }
1928
+ /**
1929
+ * Top models by LLM call count (`gen_ai.operation.type:ai_client`).
1930
+ */
1931
+ modelsCalls(options) {
1932
+ return (options.client ?? this.client).get({
1933
+ requestValidator: async (data) => await zod.object({
1934
+ body: zod.never().optional(),
1935
+ path: require_zod_gen.zAgentsModelsCallsPath,
1936
+ query: require_zod_gen.zAgentsModelsCallsQuery.optional()
1858
1937
  }).parseAsync(data),
1859
- responseValidator: async (data) => await require_zod_gen.zEventsListAttachmentsResponse.parseAsync(data),
1938
+ responseValidator: async (data) => await require_zod_gen.zAgentsModelsCallsResponse.parseAsync(data),
1860
1939
  security: [{
1861
1940
  scheme: "bearer",
1862
1941
  type: "http"
1863
1942
  }],
1864
- url: "/api/projects/{project_id}/issues/{issue_id}/events/{event_id}/attachments",
1943
+ url: "/api/projects/{project_id}/agents/models/calls",
1865
1944
  ...options
1866
1945
  });
1867
1946
  }
1868
- };
1869
- var Environments = class extends HeyApiClient {
1870
1947
  /**
1871
- * Lists the environments a project's issues have been seen in, by name.
1948
+ * Top models by total tokens used (`gen_ai.operation.type:ai_client`).
1872
1949
  */
1873
- list(options) {
1950
+ modelsTokens(options) {
1874
1951
  return (options.client ?? this.client).get({
1875
1952
  requestValidator: async (data) => await zod.object({
1876
1953
  body: zod.never().optional(),
1877
- path: require_zod_gen.zEnvironmentsListPath,
1878
- query: zod.never().optional()
1954
+ path: require_zod_gen.zAgentsModelsTokensPath,
1955
+ query: require_zod_gen.zAgentsModelsTokensQuery.optional()
1879
1956
  }).parseAsync(data),
1880
- responseValidator: async (data) => await require_zod_gen.zEnvironmentsListResponse.parseAsync(data),
1957
+ responseValidator: async (data) => await require_zod_gen.zAgentsModelsTokensResponse.parseAsync(data),
1881
1958
  security: [{
1882
1959
  scheme: "bearer",
1883
1960
  type: "http"
1884
1961
  }],
1885
- url: "/api/projects/{project_id}/environments",
1962
+ url: "/api/projects/{project_id}/agents/models/tokens",
1886
1963
  ...options
1887
1964
  });
1888
1965
  }
1889
- };
1890
- var Stats = class extends HeyApiClient {
1891
1966
  /**
1892
- * Counts a project's events over time, bucketed for a chart.
1967
+ * Time-bucketed count of agent-run spans (`gen_ai.operation.type:agent`).
1893
1968
  */
1894
- getEventTimeseries(options) {
1969
+ runs(options) {
1895
1970
  return (options.client ?? this.client).get({
1896
1971
  requestValidator: async (data) => await zod.object({
1897
1972
  body: zod.never().optional(),
1898
- path: require_zod_gen.zStatsGetEventTimeseriesPath,
1899
- query: require_zod_gen.zStatsGetEventTimeseriesQuery.optional()
1973
+ path: require_zod_gen.zAgentsRunsPath,
1974
+ query: require_zod_gen.zAgentsRunsQuery.optional()
1900
1975
  }).parseAsync(data),
1901
- responseValidator: async (data) => await require_zod_gen.zStatsGetEventTimeseriesResponse.parseAsync(data),
1976
+ responseValidator: async (data) => await require_zod_gen.zAgentsRunsResponse.parseAsync(data),
1902
1977
  security: [{
1903
1978
  scheme: "bearer",
1904
1979
  type: "http"
1905
1980
  }],
1906
- url: "/api/projects/{project_id}/events/stats",
1981
+ url: "/api/projects/{project_id}/agents/runs",
1907
1982
  ...options
1908
1983
  });
1909
1984
  }
1910
1985
  /**
1911
- * Headline figures for a project's overview: events, new and open issues.
1986
+ * Agent runs, LLM calls, tool calls, errors, tokens and latency over the
1987
+ * selected window — the numbers the six charts cannot state outright.
1912
1988
  */
1913
- getSummary(options) {
1989
+ summary(options) {
1914
1990
  return (options.client ?? this.client).get({
1915
1991
  requestValidator: async (data) => await zod.object({
1916
1992
  body: zod.never().optional(),
1917
- path: require_zod_gen.zStatsGetSummaryPath,
1918
- query: require_zod_gen.zStatsGetSummaryQuery.optional()
1993
+ path: require_zod_gen.zAgentsSummaryPath,
1994
+ query: require_zod_gen.zAgentsSummaryQuery.optional()
1919
1995
  }).parseAsync(data),
1920
- responseValidator: async (data) => await require_zod_gen.zStatsGetSummaryResponse.parseAsync(data),
1996
+ responseValidator: async (data) => await require_zod_gen.zAgentsSummaryResponse.parseAsync(data),
1921
1997
  security: [{
1922
1998
  scheme: "bearer",
1923
1999
  type: "http"
1924
2000
  }],
1925
- url: "/api/projects/{project_id}/stats/summary",
2001
+ url: "/api/projects/{project_id}/agents/summary",
1926
2002
  ...options
1927
2003
  });
1928
2004
  }
1929
- };
1930
- var Feedback = class extends HeyApiClient {
1931
2005
  /**
1932
- * Lists user feedback with what each user submitted. Every feedback is an
1933
- * issue of category `feedback`; spam is a muted one.
2006
+ * Top tools by call count (`gen_ai.operation.type:tool`).
1934
2007
  */
1935
- list(options) {
2008
+ tools(options) {
1936
2009
  return (options.client ?? this.client).get({
1937
2010
  requestValidator: async (data) => await zod.object({
1938
2011
  body: zod.never().optional(),
1939
- path: require_zod_gen.zFeedbackListPath,
1940
- query: require_zod_gen.zFeedbackListQuery.optional()
2012
+ path: require_zod_gen.zAgentsToolsPath,
2013
+ query: require_zod_gen.zAgentsToolsQuery.optional()
1941
2014
  }).parseAsync(data),
1942
- responseValidator: async (data) => await require_zod_gen.zFeedbackListResponse.parseAsync(data),
2015
+ responseValidator: async (data) => await require_zod_gen.zAgentsToolsResponse.parseAsync(data),
1943
2016
  security: [{
1944
2017
  scheme: "bearer",
1945
2018
  type: "http"
1946
2019
  }],
1947
- url: "/api/projects/{project_id}/feedback",
2020
+ url: "/api/projects/{project_id}/agents/tools",
1948
2021
  ...options
1949
2022
  });
1950
2023
  }
1951
- };
1952
- var Issues = class extends HeyApiClient {
1953
2024
  /**
1954
- * Deletes many issues at once, selected by id or by filter.
2025
+ * Lists the tools a project's agents called, with calls, errors and latency.
1955
2026
  */
1956
- bulkDelete(options) {
1957
- return (options.client ?? this.client).delete({
2027
+ toolsTable(options) {
2028
+ return (options.client ?? this.client).get({
1958
2029
  requestValidator: async (data) => await zod.object({
1959
- body: require_zod_gen.zIssuesBulkDeleteBody,
1960
- path: require_zod_gen.zIssuesBulkDeletePath,
1961
- query: zod.never().optional()
2030
+ body: zod.never().optional(),
2031
+ path: require_zod_gen.zAgentsToolsTablePath,
2032
+ query: require_zod_gen.zAgentsToolsTableQuery.optional()
1962
2033
  }).parseAsync(data),
1963
- responseValidator: async (data) => await require_zod_gen.zIssuesBulkDeleteResponse.parseAsync(data),
2034
+ responseValidator: async (data) => await require_zod_gen.zAgentsToolsTableResponse.parseAsync(data),
1964
2035
  security: [{
1965
2036
  scheme: "bearer",
1966
2037
  type: "http"
1967
2038
  }],
1968
- url: "/api/projects/{project_id}/issues",
1969
- ...options,
1970
- headers: {
1971
- "Content-Type": "application/json",
1972
- ...options.headers
1973
- }
2039
+ url: "/api/projects/{project_id}/agents/tools/stats",
2040
+ ...options
1974
2041
  });
1975
2042
  }
1976
2043
  /**
1977
- * Lists issues for a project with offset-based pagination
2044
+ * Paginated per-trace_id aggregate (duration, tokens, tool usage) across
2045
+ * all AI spans sharing that trace, regardless of origin.
1978
2046
  */
1979
- list(options) {
2047
+ traces(options) {
1980
2048
  return (options.client ?? this.client).get({
1981
2049
  requestValidator: async (data) => await zod.object({
1982
2050
  body: zod.never().optional(),
1983
- path: require_zod_gen.zIssuesListPath,
1984
- query: require_zod_gen.zIssuesListQuery.optional()
2051
+ path: require_zod_gen.zAgentsTracesPath,
2052
+ query: require_zod_gen.zAgentsTracesQuery.optional()
1985
2053
  }).parseAsync(data),
1986
- responseValidator: async (data) => await require_zod_gen.zIssuesListResponse.parseAsync(data),
2054
+ responseValidator: async (data) => await require_zod_gen.zAgentsTracesResponse.parseAsync(data),
1987
2055
  security: [{
1988
2056
  scheme: "bearer",
1989
2057
  type: "http"
1990
2058
  }],
1991
- url: "/api/projects/{project_id}/issues",
2059
+ url: "/api/projects/{project_id}/agents/traces",
1992
2060
  ...options
1993
2061
  });
1994
2062
  }
2063
+ };
2064
+ var AlertRules = class extends HeyApiClient {
1995
2065
  /**
1996
- * Sets the status or priority of many issues at once, by id.
2066
+ * Lists the alerts a project sent, newest first.
1997
2067
  */
1998
- bulkUpdate(options) {
1999
- return (options.client ?? this.client).put({
2068
+ listHistory(options) {
2069
+ return (options.client ?? this.client).get({
2000
2070
  requestValidator: async (data) => await zod.object({
2001
- body: require_zod_gen.zIssuesBulkUpdateBody,
2002
- path: require_zod_gen.zIssuesBulkUpdatePath,
2003
- query: zod.never().optional()
2071
+ body: zod.never().optional(),
2072
+ path: require_zod_gen.zAlertRulesListHistoryPath,
2073
+ query: require_zod_gen.zAlertRulesListHistoryQuery.optional()
2004
2074
  }).parseAsync(data),
2005
- responseValidator: async (data) => await require_zod_gen.zIssuesBulkUpdateResponse.parseAsync(data),
2075
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesListHistoryResponse.parseAsync(data),
2006
2076
  security: [{
2007
2077
  scheme: "bearer",
2008
2078
  type: "http"
2009
2079
  }],
2010
- url: "/api/projects/{project_id}/issues",
2011
- ...options,
2012
- headers: {
2013
- "Content-Type": "application/json",
2014
- ...options.headers
2015
- }
2080
+ url: "/api/projects/{project_id}/alert-history",
2081
+ ...options
2016
2082
  });
2017
2083
  }
2018
2084
  /**
2019
- * Hard-deletes an issue and all associated events
2085
+ * Count a project's alert deliveries per day, by outcome.
2020
2086
  */
2021
- delete(options) {
2022
- return (options.client ?? this.client).delete({
2087
+ historyByDay(options) {
2088
+ return (options.client ?? this.client).get({
2023
2089
  requestValidator: async (data) => await zod.object({
2024
2090
  body: zod.never().optional(),
2025
- path: require_zod_gen.zIssuesDeletePath,
2026
- query: zod.never().optional()
2091
+ path: require_zod_gen.zAlertRulesHistoryByDayPath,
2092
+ query: require_zod_gen.zAlertRulesHistoryByDayQuery.optional()
2027
2093
  }).parseAsync(data),
2028
- responseValidator: async (data) => await require_zod_gen.zIssuesDeleteResponse.parseAsync(data),
2094
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesHistoryByDayResponse.parseAsync(data),
2029
2095
  security: [{
2030
2096
  scheme: "bearer",
2031
2097
  type: "http"
2032
2098
  }],
2033
- url: "/api/projects/{project_id}/issues/{issue_id}",
2099
+ url: "/api/projects/{project_id}/alert-history/daily",
2034
2100
  ...options
2035
2101
  });
2036
2102
  }
2037
2103
  /**
2038
- * Gets a single issue by ID
2104
+ * Lists a project's alert rules.
2039
2105
  */
2040
- get(options) {
2106
+ list(options) {
2041
2107
  return (options.client ?? this.client).get({
2042
2108
  requestValidator: async (data) => await zod.object({
2043
2109
  body: zod.never().optional(),
2044
- path: require_zod_gen.zIssuesGetPath,
2110
+ path: require_zod_gen.zAlertRulesListPath,
2045
2111
  query: zod.never().optional()
2046
2112
  }).parseAsync(data),
2047
- responseValidator: async (data) => await require_zod_gen.zIssuesGetResponse.parseAsync(data),
2113
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesListResponse.parseAsync(data),
2048
2114
  security: [{
2049
2115
  scheme: "bearer",
2050
2116
  type: "http"
2051
2117
  }],
2052
- url: "/api/projects/{project_id}/issues/{issue_id}",
2118
+ url: "/api/projects/{project_id}/alert-rules",
2053
2119
  ...options
2054
2120
  });
2055
2121
  }
2056
2122
  /**
2057
- * Updates issue state (resolve, mute, etc.)
2123
+ * Creates an alert rule in a project.
2058
2124
  */
2059
- update(options) {
2060
- return (options.client ?? this.client).patch({
2125
+ create(options) {
2126
+ return (options.client ?? this.client).post({
2061
2127
  requestValidator: async (data) => await zod.object({
2062
- body: require_zod_gen.zIssuesUpdateBody,
2063
- path: require_zod_gen.zIssuesUpdatePath,
2128
+ body: require_zod_gen.zAlertRulesCreateBody,
2129
+ path: require_zod_gen.zAlertRulesCreatePath,
2064
2130
  query: zod.never().optional()
2065
2131
  }).parseAsync(data),
2066
- responseValidator: async (data) => await require_zod_gen.zIssuesUpdateResponse.parseAsync(data),
2132
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesCreateResponse.parseAsync(data),
2067
2133
  security: [{
2068
2134
  scheme: "bearer",
2069
2135
  type: "http"
2070
2136
  }],
2071
- url: "/api/projects/{project_id}/issues/{issue_id}",
2137
+ url: "/api/projects/{project_id}/alert-rules",
2072
2138
  ...options,
2073
2139
  headers: {
2074
2140
  "Content-Type": "application/json",
@@ -2077,59 +2143,59 @@ var Issues = class extends HeyApiClient {
2077
2143
  });
2078
2144
  }
2079
2145
  /**
2080
- * Chronological activity log (incl. comments).
2146
+ * Deletes an alert rule.
2081
2147
  */
2082
- getActivity(options) {
2083
- return (options.client ?? this.client).get({
2148
+ delete(options) {
2149
+ return (options.client ?? this.client).delete({
2084
2150
  requestValidator: async (data) => await zod.object({
2085
2151
  body: zod.never().optional(),
2086
- path: require_zod_gen.zIssuesGetActivityPath,
2152
+ path: require_zod_gen.zAlertRulesDeletePath,
2087
2153
  query: zod.never().optional()
2088
2154
  }).parseAsync(data),
2089
- responseValidator: async (data) => await require_zod_gen.zIssuesGetActivityResponse.parseAsync(data),
2155
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesDeleteResponse.parseAsync(data),
2090
2156
  security: [{
2091
2157
  scheme: "bearer",
2092
2158
  type: "http"
2093
2159
  }],
2094
- url: "/api/projects/{project_id}/issues/{issue_id}/activity",
2160
+ url: "/api/projects/{project_id}/alert-rules/{rule_id}",
2095
2161
  ...options
2096
2162
  });
2097
2163
  }
2098
2164
  /**
2099
- * Returns the unique user count and top tags for the issue.
2165
+ * Gets one alert rule.
2100
2166
  */
2101
- getAggregates(options) {
2167
+ get(options) {
2102
2168
  return (options.client ?? this.client).get({
2103
2169
  requestValidator: async (data) => await zod.object({
2104
2170
  body: zod.never().optional(),
2105
- path: require_zod_gen.zIssuesGetAggregatesPath,
2171
+ path: require_zod_gen.zAlertRulesGetPath,
2106
2172
  query: zod.never().optional()
2107
2173
  }).parseAsync(data),
2108
- responseValidator: async (data) => await require_zod_gen.zIssuesGetAggregatesResponse.parseAsync(data),
2174
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesGetResponse.parseAsync(data),
2109
2175
  security: [{
2110
2176
  scheme: "bearer",
2111
2177
  type: "http"
2112
2178
  }],
2113
- url: "/api/projects/{project_id}/issues/{issue_id}/aggregates",
2179
+ url: "/api/projects/{project_id}/alert-rules/{rule_id}",
2114
2180
  ...options
2115
2181
  });
2116
2182
  }
2117
2183
  /**
2118
- * Set/clear the per-user bookmark.
2184
+ * Updates an alert rule.
2119
2185
  */
2120
- setBookmark(options) {
2121
- return (options.client ?? this.client).put({
2186
+ update(options) {
2187
+ return (options.client ?? this.client).patch({
2122
2188
  requestValidator: async (data) => await zod.object({
2123
- body: require_zod_gen.zIssuesSetBookmarkBody,
2124
- path: require_zod_gen.zIssuesSetBookmarkPath,
2189
+ body: require_zod_gen.zAlertRulesUpdateBody,
2190
+ path: require_zod_gen.zAlertRulesUpdatePath,
2125
2191
  query: zod.never().optional()
2126
2192
  }).parseAsync(data),
2127
- responseValidator: async (data) => await require_zod_gen.zIssuesSetBookmarkResponse.parseAsync(data),
2193
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesUpdateResponse.parseAsync(data),
2128
2194
  security: [{
2129
2195
  scheme: "bearer",
2130
2196
  type: "http"
2131
2197
  }],
2132
- url: "/api/projects/{project_id}/issues/{issue_id}/bookmark",
2198
+ url: "/api/projects/{project_id}/alert-rules/{rule_id}",
2133
2199
  ...options,
2134
2200
  headers: {
2135
2201
  "Content-Type": "application/json",
@@ -2137,168 +2203,163 @@ var Issues = class extends HeyApiClient {
2137
2203
  }
2138
2204
  });
2139
2205
  }
2206
+ };
2207
+ var Events = class extends HeyApiClient {
2140
2208
  /**
2141
- * Add a note.
2209
+ * Downloads an attachment. Only a real image is served inline; anything
2210
+ * else, whatever type it claims, is a download that never runs.
2142
2211
  */
2143
- createComment(options) {
2144
- return (options.client ?? this.client).post({
2212
+ downloadAttachment(options) {
2213
+ return (options.client ?? this.client).get({
2145
2214
  requestValidator: async (data) => await zod.object({
2146
- body: require_zod_gen.zIssuesCreateCommentBody,
2147
- path: require_zod_gen.zIssuesCreateCommentPath,
2215
+ body: zod.never().optional(),
2216
+ path: require_zod_gen.zEventsDownloadAttachmentPath,
2148
2217
  query: zod.never().optional()
2149
2218
  }).parseAsync(data),
2150
- responseValidator: async (data) => await require_zod_gen.zIssuesCreateCommentResponse.parseAsync(data),
2219
+ responseValidator: async (data) => await require_zod_gen.zEventsDownloadAttachmentResponse.parseAsync(data),
2151
2220
  security: [{
2152
2221
  scheme: "bearer",
2153
2222
  type: "http"
2154
2223
  }],
2155
- url: "/api/projects/{project_id}/issues/{issue_id}/comments",
2156
- ...options,
2157
- headers: {
2158
- "Content-Type": "application/json",
2159
- ...options.headers
2160
- }
2224
+ url: "/api/projects/{project_id}/attachments/{attachment_id}",
2225
+ ...options
2161
2226
  });
2162
2227
  }
2163
2228
  /**
2164
- * Lists the grouping hashes that map to an issue.
2229
+ * Resolve the ID returned by a Sentry SDK without already knowing the issue.
2165
2230
  */
2166
- getHashes(options) {
2231
+ getBySentryId(options) {
2167
2232
  return (options.client ?? this.client).get({
2168
2233
  requestValidator: async (data) => await zod.object({
2169
2234
  body: zod.never().optional(),
2170
- path: require_zod_gen.zIssuesGetHashesPath,
2235
+ path: require_zod_gen.zEventsGetBySentryIdPath,
2171
2236
  query: zod.never().optional()
2172
2237
  }).parseAsync(data),
2173
- responseValidator: async (data) => await require_zod_gen.zIssuesGetHashesResponse.parseAsync(data),
2238
+ responseValidator: async (data) => await require_zod_gen.zEventsGetBySentryIdResponse.parseAsync(data),
2174
2239
  security: [{
2175
2240
  scheme: "bearer",
2176
2241
  type: "http"
2177
2242
  }],
2178
- url: "/api/projects/{project_id}/issues/{issue_id}/hashes",
2243
+ url: "/api/projects/{project_id}/events/sentry/{event_id}",
2179
2244
  ...options
2180
2245
  });
2181
2246
  }
2182
2247
  /**
2183
- * Mark the issue as seen by the current user.
2248
+ * Lists events for an issue with cursor-based pagination
2184
2249
  */
2185
- markSeen(options) {
2186
- return (options.client ?? this.client).post({
2250
+ list(options) {
2251
+ return (options.client ?? this.client).get({
2187
2252
  requestValidator: async (data) => await zod.object({
2188
2253
  body: zod.never().optional(),
2189
- path: require_zod_gen.zIssuesMarkSeenPath,
2190
- query: zod.never().optional()
2254
+ path: require_zod_gen.zEventsListPath,
2255
+ query: require_zod_gen.zEventsListQuery.optional()
2191
2256
  }).parseAsync(data),
2192
- responseValidator: async (data) => await require_zod_gen.zIssuesMarkSeenResponse.parseAsync(data),
2257
+ responseValidator: async (data) => await require_zod_gen.zEventsListResponse.parseAsync(data),
2193
2258
  security: [{
2194
2259
  scheme: "bearer",
2195
2260
  type: "http"
2196
2261
  }],
2197
- url: "/api/projects/{project_id}/issues/{issue_id}/seen",
2262
+ url: "/api/projects/{project_id}/issues/{issue_id}/events",
2198
2263
  ...options
2199
2264
  });
2200
2265
  }
2201
2266
  /**
2202
- * Zero-filled event-count timeseries.
2267
+ * Gets a single event with full data
2203
2268
  */
2204
- getStats(options) {
2269
+ get(options) {
2205
2270
  return (options.client ?? this.client).get({
2206
2271
  requestValidator: async (data) => await zod.object({
2207
2272
  body: zod.never().optional(),
2208
- path: require_zod_gen.zIssuesGetStatsPath,
2209
- query: require_zod_gen.zIssuesGetStatsQuery.optional()
2273
+ path: require_zod_gen.zEventsGetPath,
2274
+ query: zod.never().optional()
2210
2275
  }).parseAsync(data),
2211
- responseValidator: async (data) => await require_zod_gen.zIssuesGetStatsResponse.parseAsync(data),
2276
+ responseValidator: async (data) => await require_zod_gen.zEventsGetResponse.parseAsync(data),
2212
2277
  security: [{
2213
2278
  scheme: "bearer",
2214
2279
  type: "http"
2215
2280
  }],
2216
- url: "/api/projects/{project_id}/issues/{issue_id}/stats",
2281
+ url: "/api/projects/{project_id}/issues/{issue_id}/events/{event_id}",
2217
2282
  ...options
2218
2283
  });
2219
2284
  }
2220
2285
  /**
2221
- * Set/clear the per-user subscription.
2286
+ * Lists the files sent with an event, such as a feedback's screenshot.
2222
2287
  */
2223
- setSubscription(options) {
2224
- return (options.client ?? this.client).put({
2288
+ listAttachments(options) {
2289
+ return (options.client ?? this.client).get({
2225
2290
  requestValidator: async (data) => await zod.object({
2226
- body: require_zod_gen.zIssuesSetSubscriptionBody,
2227
- path: require_zod_gen.zIssuesSetSubscriptionPath,
2291
+ body: zod.never().optional(),
2292
+ path: require_zod_gen.zEventsListAttachmentsPath,
2228
2293
  query: zod.never().optional()
2229
2294
  }).parseAsync(data),
2230
- responseValidator: async (data) => await require_zod_gen.zIssuesSetSubscriptionResponse.parseAsync(data),
2295
+ responseValidator: async (data) => await require_zod_gen.zEventsListAttachmentsResponse.parseAsync(data),
2231
2296
  security: [{
2232
2297
  scheme: "bearer",
2233
2298
  type: "http"
2234
2299
  }],
2235
- url: "/api/projects/{project_id}/issues/{issue_id}/subscription",
2236
- ...options,
2237
- headers: {
2238
- "Content-Type": "application/json",
2239
- ...options.headers
2240
- }
2300
+ url: "/api/projects/{project_id}/issues/{issue_id}/events/{event_id}/attachments",
2301
+ ...options
2241
2302
  });
2242
2303
  }
2304
+ };
2305
+ var Environments = class extends HeyApiClient {
2243
2306
  /**
2244
- * Lists the distinct values (with counts) for a tag key across the issue.
2307
+ * Lists the environments a project's issues have been seen in, by name.
2245
2308
  */
2246
- getTagValues(options) {
2309
+ list(options) {
2247
2310
  return (options.client ?? this.client).get({
2248
2311
  requestValidator: async (data) => await zod.object({
2249
2312
  body: zod.never().optional(),
2250
- path: require_zod_gen.zIssuesGetTagValuesPath,
2313
+ path: require_zod_gen.zEnvironmentsListPath,
2251
2314
  query: zod.never().optional()
2252
2315
  }).parseAsync(data),
2253
- responseValidator: async (data) => await require_zod_gen.zIssuesGetTagValuesResponse.parseAsync(data),
2316
+ responseValidator: async (data) => await require_zod_gen.zEnvironmentsListResponse.parseAsync(data),
2254
2317
  security: [{
2255
2318
  scheme: "bearer",
2256
2319
  type: "http"
2257
2320
  }],
2258
- url: "/api/projects/{project_id}/issues/{issue_id}/tags/{key}",
2321
+ url: "/api/projects/{project_id}/environments",
2259
2322
  ...options
2260
2323
  });
2261
2324
  }
2325
+ };
2326
+ var Stats = class extends HeyApiClient {
2262
2327
  /**
2263
- * List user feedback for an issue.
2328
+ * Counts a project's events over time, bucketed for a chart.
2264
2329
  */
2265
- listUserReports(options) {
2330
+ getEventTimeseries(options) {
2266
2331
  return (options.client ?? this.client).get({
2267
2332
  requestValidator: async (data) => await zod.object({
2268
2333
  body: zod.never().optional(),
2269
- path: require_zod_gen.zIssuesListUserReportsPath,
2270
- query: require_zod_gen.zIssuesListUserReportsQuery.optional()
2334
+ path: require_zod_gen.zStatsGetEventTimeseriesPath,
2335
+ query: require_zod_gen.zStatsGetEventTimeseriesQuery.optional()
2271
2336
  }).parseAsync(data),
2272
- responseValidator: async (data) => await require_zod_gen.zIssuesListUserReportsResponse.parseAsync(data),
2337
+ responseValidator: async (data) => await require_zod_gen.zStatsGetEventTimeseriesResponse.parseAsync(data),
2273
2338
  security: [{
2274
2339
  scheme: "bearer",
2275
2340
  type: "http"
2276
2341
  }],
2277
- url: "/api/projects/{project_id}/issues/{issue_id}/user-reports",
2342
+ url: "/api/projects/{project_id}/events/stats",
2278
2343
  ...options
2279
2344
  });
2280
2345
  }
2281
2346
  /**
2282
- * Attach user feedback to an issue.
2347
+ * Headline figures for a project's overview: events, new and open issues.
2283
2348
  */
2284
- createUserReport(options) {
2285
- return (options.client ?? this.client).post({
2349
+ getSummary(options) {
2350
+ return (options.client ?? this.client).get({
2286
2351
  requestValidator: async (data) => await zod.object({
2287
- body: require_zod_gen.zIssuesCreateUserReportBody,
2288
- path: require_zod_gen.zIssuesCreateUserReportPath,
2289
- query: zod.never().optional()
2352
+ body: zod.never().optional(),
2353
+ path: require_zod_gen.zStatsGetSummaryPath,
2354
+ query: require_zod_gen.zStatsGetSummaryQuery.optional()
2290
2355
  }).parseAsync(data),
2291
- responseValidator: async (data) => await require_zod_gen.zIssuesCreateUserReportResponse.parseAsync(data),
2356
+ responseValidator: async (data) => await require_zod_gen.zStatsGetSummaryResponse.parseAsync(data),
2292
2357
  security: [{
2293
2358
  scheme: "bearer",
2294
2359
  type: "http"
2295
2360
  }],
2296
- url: "/api/projects/{project_id}/issues/{issue_id}/user-reports",
2297
- ...options,
2298
- headers: {
2299
- "Content-Type": "application/json",
2300
- ...options.headers
2301
- }
2361
+ url: "/api/projects/{project_id}/stats/summary",
2362
+ ...options
2302
2363
  });
2303
2364
  }
2304
2365
  };
@@ -2816,6 +2877,115 @@ var Transactions = class extends HeyApiClient {
2816
2877
  });
2817
2878
  }
2818
2879
  };
2880
+ var SavedViews = class extends HeyApiClient {
2881
+ /**
2882
+ * Lists the views of one project page the caller sees: their own and the shared ones.
2883
+ */
2884
+ list(options) {
2885
+ return (options.client ?? this.client).get({
2886
+ requestValidator: async (data) => await zod.object({
2887
+ body: zod.never().optional(),
2888
+ path: require_zod_gen.zSavedViewsListPath,
2889
+ query: require_zod_gen.zSavedViewsListQuery
2890
+ }).parseAsync(data),
2891
+ responseValidator: async (data) => await require_zod_gen.zSavedViewsListResponse.parseAsync(data),
2892
+ security: [{
2893
+ scheme: "bearer",
2894
+ type: "http"
2895
+ }],
2896
+ url: "/api/projects/{project_id}/views",
2897
+ ...options
2898
+ });
2899
+ }
2900
+ /**
2901
+ * Saves a project page's address as a view, personal unless `visibility` is `project`.
2902
+ */
2903
+ create(options) {
2904
+ return (options.client ?? this.client).post({
2905
+ requestValidator: async (data) => await zod.object({
2906
+ body: require_zod_gen.zSavedViewsCreateBody,
2907
+ path: require_zod_gen.zSavedViewsCreatePath,
2908
+ query: zod.never().optional()
2909
+ }).parseAsync(data),
2910
+ responseValidator: async (data) => await require_zod_gen.zSavedViewsCreateResponse.parseAsync(data),
2911
+ security: [{
2912
+ scheme: "bearer",
2913
+ type: "http"
2914
+ }],
2915
+ url: "/api/projects/{project_id}/views",
2916
+ ...options,
2917
+ headers: {
2918
+ "Content-Type": "application/json",
2919
+ ...options.headers
2920
+ }
2921
+ });
2922
+ }
2923
+ /**
2924
+ * Sets or clears the view a project page opens on, for the caller or the project.
2925
+ */
2926
+ setDefault(options) {
2927
+ return (options.client ?? this.client).put({
2928
+ requestValidator: async (data) => await zod.object({
2929
+ body: require_zod_gen.zSavedViewsSetDefaultBody,
2930
+ path: require_zod_gen.zSavedViewsSetDefaultPath,
2931
+ query: zod.never().optional()
2932
+ }).parseAsync(data),
2933
+ responseValidator: async (data) => await require_zod_gen.zSavedViewsSetDefaultResponse.parseAsync(data),
2934
+ security: [{
2935
+ scheme: "bearer",
2936
+ type: "http"
2937
+ }],
2938
+ url: "/api/projects/{project_id}/views/default",
2939
+ ...options,
2940
+ headers: {
2941
+ "Content-Type": "application/json",
2942
+ ...options.headers
2943
+ }
2944
+ });
2945
+ }
2946
+ /**
2947
+ * Deletes a project view.
2948
+ */
2949
+ delete(options) {
2950
+ return (options.client ?? this.client).delete({
2951
+ requestValidator: async (data) => await zod.object({
2952
+ body: zod.never().optional(),
2953
+ path: require_zod_gen.zSavedViewsDeletePath,
2954
+ query: zod.never().optional()
2955
+ }).parseAsync(data),
2956
+ responseValidator: async (data) => await require_zod_gen.zSavedViewsDeleteResponse.parseAsync(data),
2957
+ security: [{
2958
+ scheme: "bearer",
2959
+ type: "http"
2960
+ }],
2961
+ url: "/api/projects/{project_id}/views/{view_id}",
2962
+ ...options
2963
+ });
2964
+ }
2965
+ /**
2966
+ * Renames a project view, or changes its address or who sees it.
2967
+ */
2968
+ update(options) {
2969
+ return (options.client ?? this.client).patch({
2970
+ requestValidator: async (data) => await zod.object({
2971
+ body: require_zod_gen.zSavedViewsUpdateBody,
2972
+ path: require_zod_gen.zSavedViewsUpdatePath,
2973
+ query: zod.never().optional()
2974
+ }).parseAsync(data),
2975
+ responseValidator: async (data) => await require_zod_gen.zSavedViewsUpdateResponse.parseAsync(data),
2976
+ security: [{
2977
+ scheme: "bearer",
2978
+ type: "http"
2979
+ }],
2980
+ url: "/api/projects/{project_id}/views/{view_id}",
2981
+ ...options,
2982
+ headers: {
2983
+ "Content-Type": "application/json",
2984
+ ...options.headers
2985
+ }
2986
+ });
2987
+ }
2988
+ };
2819
2989
  var Roles = class extends HeyApiClient {
2820
2990
  /**
2821
2991
  * Lists every role with its permissions and how often it is assigned.
@@ -3492,6 +3662,115 @@ var Users = class extends HeyApiClient {
3492
3662
  });
3493
3663
  }
3494
3664
  };
3665
+ var WorkspaceViews = class extends HeyApiClient {
3666
+ /**
3667
+ * Lists the views of one workspace page (one that spans every project).
3668
+ */
3669
+ list(options) {
3670
+ return (options.client ?? this.client).get({
3671
+ requestValidator: async (data) => await zod.object({
3672
+ body: zod.never().optional(),
3673
+ path: zod.never().optional(),
3674
+ query: require_zod_gen.zWorkspaceViewsListQuery
3675
+ }).parseAsync(data),
3676
+ responseValidator: async (data) => await require_zod_gen.zWorkspaceViewsListResponse.parseAsync(data),
3677
+ security: [{
3678
+ scheme: "bearer",
3679
+ type: "http"
3680
+ }],
3681
+ url: "/api/views",
3682
+ ...options
3683
+ });
3684
+ }
3685
+ /**
3686
+ * Saves a workspace page's address as a view, personal unless `visibility` is `project`.
3687
+ */
3688
+ create(options) {
3689
+ return (options.client ?? this.client).post({
3690
+ requestValidator: async (data) => await zod.object({
3691
+ body: require_zod_gen.zWorkspaceViewsCreateBody,
3692
+ path: zod.never().optional(),
3693
+ query: zod.never().optional()
3694
+ }).parseAsync(data),
3695
+ responseValidator: async (data) => await require_zod_gen.zWorkspaceViewsCreateResponse.parseAsync(data),
3696
+ security: [{
3697
+ scheme: "bearer",
3698
+ type: "http"
3699
+ }],
3700
+ url: "/api/views",
3701
+ ...options,
3702
+ headers: {
3703
+ "Content-Type": "application/json",
3704
+ ...options.headers
3705
+ }
3706
+ });
3707
+ }
3708
+ /**
3709
+ * Sets or clears the view a workspace page opens on, for the caller or everyone.
3710
+ */
3711
+ setDefault(options) {
3712
+ return (options.client ?? this.client).put({
3713
+ requestValidator: async (data) => await zod.object({
3714
+ body: require_zod_gen.zWorkspaceViewsSetDefaultBody,
3715
+ path: zod.never().optional(),
3716
+ query: zod.never().optional()
3717
+ }).parseAsync(data),
3718
+ responseValidator: async (data) => await require_zod_gen.zWorkspaceViewsSetDefaultResponse.parseAsync(data),
3719
+ security: [{
3720
+ scheme: "bearer",
3721
+ type: "http"
3722
+ }],
3723
+ url: "/api/views/default",
3724
+ ...options,
3725
+ headers: {
3726
+ "Content-Type": "application/json",
3727
+ ...options.headers
3728
+ }
3729
+ });
3730
+ }
3731
+ /**
3732
+ * Deletes a workspace view.
3733
+ */
3734
+ delete(options) {
3735
+ return (options.client ?? this.client).delete({
3736
+ requestValidator: async (data) => await zod.object({
3737
+ body: zod.never().optional(),
3738
+ path: require_zod_gen.zWorkspaceViewsDeletePath,
3739
+ query: zod.never().optional()
3740
+ }).parseAsync(data),
3741
+ responseValidator: async (data) => await require_zod_gen.zWorkspaceViewsDeleteResponse.parseAsync(data),
3742
+ security: [{
3743
+ scheme: "bearer",
3744
+ type: "http"
3745
+ }],
3746
+ url: "/api/views/{view_id}",
3747
+ ...options
3748
+ });
3749
+ }
3750
+ /**
3751
+ * Renames a workspace view, or changes its address or who sees it.
3752
+ */
3753
+ update(options) {
3754
+ return (options.client ?? this.client).patch({
3755
+ requestValidator: async (data) => await zod.object({
3756
+ body: require_zod_gen.zWorkspaceViewsUpdateBody,
3757
+ path: require_zod_gen.zWorkspaceViewsUpdatePath,
3758
+ query: zod.never().optional()
3759
+ }).parseAsync(data),
3760
+ responseValidator: async (data) => await require_zod_gen.zWorkspaceViewsUpdateResponse.parseAsync(data),
3761
+ security: [{
3762
+ scheme: "bearer",
3763
+ type: "http"
3764
+ }],
3765
+ url: "/api/views/{view_id}",
3766
+ ...options,
3767
+ headers: {
3768
+ "Content-Type": "application/json",
3769
+ ...options.headers
3770
+ }
3771
+ });
3772
+ }
3773
+ };
3495
3774
  var Auth = class extends HeyApiClient {
3496
3775
  /**
3497
3776
  * Accept a pending invitation: creates the user (with the invite's email + role) and logs in.
@@ -3807,6 +4086,10 @@ var Rustrak = class Rustrak extends HeyApiClient {
3807
4086
  get access() {
3808
4087
  return this._access ??= new Access({ client: this.client });
3809
4088
  }
4089
+ _feedback;
4090
+ get feedback() {
4091
+ return this._feedback ??= new Feedback({ client: this.client });
4092
+ }
3810
4093
  _github;
3811
4094
  get github() {
3812
4095
  return this._github ??= new Github({ client: this.client });
@@ -3819,6 +4102,10 @@ var Rustrak = class Rustrak extends HeyApiClient {
3819
4102
  get invitations() {
3820
4103
  return this._invitations ??= new Invitations({ client: this.client });
3821
4104
  }
4105
+ _issues;
4106
+ get issues() {
4107
+ return this._issues ??= new Issues({ client: this.client });
4108
+ }
3822
4109
  _oauth;
3823
4110
  get oauth() {
3824
4111
  return this._oauth ??= new Oauth({ client: this.client });
@@ -3847,14 +4134,6 @@ var Rustrak = class Rustrak extends HeyApiClient {
3847
4134
  get stats() {
3848
4135
  return this._stats ??= new Stats({ client: this.client });
3849
4136
  }
3850
- _feedback;
3851
- get feedback() {
3852
- return this._feedback ??= new Feedback({ client: this.client });
3853
- }
3854
- _issues;
3855
- get issues() {
3856
- return this._issues ??= new Issues({ client: this.client });
3857
- }
3858
4137
  _logs;
3859
4138
  get logs() {
3860
4139
  return this._logs ??= new Logs({ client: this.client });
@@ -3879,6 +4158,10 @@ var Rustrak = class Rustrak extends HeyApiClient {
3879
4158
  get transactions() {
3880
4159
  return this._transactions ??= new Transactions({ client: this.client });
3881
4160
  }
4161
+ _savedViews;
4162
+ get savedViews() {
4163
+ return this._savedViews ??= new SavedViews({ client: this.client });
4164
+ }
3882
4165
  _roles;
3883
4166
  get roles() {
3884
4167
  return this._roles ??= new Roles({ client: this.client });
@@ -3911,6 +4194,10 @@ var Rustrak = class Rustrak extends HeyApiClient {
3911
4194
  get users() {
3912
4195
  return this._users ??= new Users({ client: this.client });
3913
4196
  }
4197
+ _workspaceViews;
4198
+ get workspaceViews() {
4199
+ return this._workspaceViews ??= new WorkspaceViews({ client: this.client });
4200
+ }
3914
4201
  _auth;
3915
4202
  get auth() {
3916
4203
  return this._auth ??= new Auth({ client: this.client });
@@ -3941,6 +4228,7 @@ exports.Projects = Projects;
3941
4228
  exports.Releases = Releases;
3942
4229
  exports.Roles = Roles;
3943
4230
  exports.Rustrak = Rustrak;
4231
+ exports.SavedViews = SavedViews;
3944
4232
  exports.Schedules = Schedules;
3945
4233
  exports.Sentry = Sentry;
3946
4234
  exports.Sessions = Sessions;
@@ -3954,5 +4242,6 @@ exports.Telemetry = Telemetry;
3954
4242
  exports.Tokens = Tokens;
3955
4243
  exports.Transactions = Transactions;
3956
4244
  exports.Users = Users;
4245
+ exports.WorkspaceViews = WorkspaceViews;
3957
4246
 
3958
4247
  //# sourceMappingURL=sdk.gen.cjs.map