@rustrak/client 0.25.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 (71) hide show
  1. package/README.md +65 -48
  2. package/dist/client.cjs +5 -4
  3. package/dist/client.cjs.map +1 -1
  4. package/dist/client.d.cts +2 -1
  5. package/dist/client.d.cts.map +1 -1
  6. package/dist/client.d.mts +2 -1
  7. package/dist/client.d.mts.map +1 -1
  8. package/dist/client.mjs +6 -5
  9. package/dist/client.mjs.map +1 -1
  10. package/dist/config.d.cts.map +1 -1
  11. package/dist/config.d.mts.map +1 -1
  12. package/dist/errors.cjs +19 -6
  13. package/dist/errors.cjs.map +1 -1
  14. package/dist/errors.d.cts +1 -1
  15. package/dist/errors.d.cts.map +1 -1
  16. package/dist/errors.d.mts +1 -1
  17. package/dist/errors.d.mts.map +1 -1
  18. package/dist/errors.mjs +19 -7
  19. package/dist/errors.mjs.map +1 -1
  20. package/dist/generated/binary.gen.cjs +6 -0
  21. package/dist/generated/binary.gen.cjs.map +1 -0
  22. package/dist/generated/binary.gen.d.cts +2 -0
  23. package/dist/generated/binary.gen.d.cts.map +1 -0
  24. package/dist/generated/binary.gen.d.mts +2 -0
  25. package/dist/generated/binary.gen.d.mts.map +1 -0
  26. package/dist/generated/binary.gen.mjs +6 -0
  27. package/dist/generated/binary.gen.mjs.map +1 -0
  28. package/dist/generated/client/client.gen.d.cts +1 -0
  29. package/dist/generated/client/index.d.cts +10 -0
  30. package/dist/generated/client/types.gen.d.cts +1 -1
  31. package/dist/generated/client/types.gen.d.mts +1 -1
  32. package/dist/generated/client/utils.gen.cjs +1 -1
  33. package/dist/generated/client/utils.gen.d.cts +2 -0
  34. package/dist/generated/client/utils.gen.d.cts.map +1 -1
  35. package/dist/generated/client/utils.gen.mjs +1 -1
  36. package/dist/generated/client.gen.cjs +2 -1
  37. package/dist/generated/client.gen.cjs.map +1 -1
  38. package/dist/generated/client.gen.mjs +1 -1
  39. package/dist/generated/core/params.gen.d.cts +1 -0
  40. package/dist/generated/core/queryKeySerializer.gen.d.cts +1 -0
  41. package/dist/generated/sdk.gen.cjs +797 -599
  42. package/dist/generated/sdk.gen.cjs.map +1 -1
  43. package/dist/generated/sdk.gen.d.cts +49 -28
  44. package/dist/generated/sdk.gen.d.cts.map +1 -1
  45. package/dist/generated/sdk.gen.d.mts +49 -29
  46. package/dist/generated/sdk.gen.d.mts.map +1 -1
  47. package/dist/generated/sdk.gen.mjs +797 -601
  48. package/dist/generated/sdk.gen.mjs.map +1 -1
  49. package/dist/generated/types.gen.d.cts +349 -20
  50. package/dist/generated/types.gen.d.cts.map +1 -1
  51. package/dist/generated/types.gen.d.mts +349 -20
  52. package/dist/generated/types.gen.d.mts.map +1 -1
  53. package/dist/generated/zod.gen.cjs +253 -18
  54. package/dist/generated/zod.gen.cjs.map +1 -1
  55. package/dist/generated/zod.gen.mjs +216 -17
  56. package/dist/generated/zod.gen.mjs.map +1 -1
  57. package/dist/index.cjs +2 -2
  58. package/dist/index.d.cts +3 -3
  59. package/dist/index.d.mts +3 -3
  60. package/dist/index.mjs +2 -2
  61. package/dist/result.cjs +0 -2
  62. package/dist/result.cjs.map +1 -1
  63. package/dist/result.d.cts.map +1 -1
  64. package/dist/result.d.mts.map +1 -1
  65. package/dist/result.mjs +0 -2
  66. package/dist/result.mjs.map +1 -1
  67. package/dist/utils/http.cjs +18 -31
  68. package/dist/utils/http.cjs.map +1 -1
  69. package/dist/utils/http.mjs +20 -32
  70. package/dist/utils/http.mjs.map +1 -1
  71. package/package.json +7 -9
@@ -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);
@@ -25,8 +25,6 @@ var HeyApiRegistry = class {
25
25
  };
26
26
  var Sentry = class extends HeyApiClient {
27
27
  /**
28
- * GET /api/0/issues/{issue_id}/
29
- *
30
28
  * One issue with its releases and its 24h and 30d series (Sentry's
31
29
  * `GroupDetailsEndpoint`). Also served under `/groups/` and the
32
30
  * organization-scoped paths, as Sentry does.
@@ -48,8 +46,6 @@ var Sentry = class extends HeyApiClient {
48
46
  });
49
47
  }
50
48
  /**
51
- * PUT /api/0/issues/{issue_id}/
52
- *
53
49
  * Sets an issue's status and returns the issue (Sentry's
54
50
  * `GroupDetailsEndpoint.put`). The change goes through Rustrak's own
55
51
  * issue update, so it is recorded and mirrored like any other.
@@ -75,8 +71,6 @@ var Sentry = class extends HeyApiClient {
75
71
  });
76
72
  }
77
73
  /**
78
- * GET /api/0/issues/{issue_id}/events/latest/
79
- *
80
74
  * The issue's most recent event (Sentry's `GroupEventDetailsEndpoint`,
81
75
  * `issues/endpoints/group_event_details.py`).
82
76
  */
@@ -97,8 +91,6 @@ var Sentry = class extends HeyApiClient {
97
91
  });
98
92
  }
99
93
  /**
100
- * GET /api/0/organizations/
101
- *
102
94
  * The organizations the token belongs to (Sentry's
103
95
  * `OrganizationIndexEndpoint`): always the one synthetic org.
104
96
  */
@@ -119,8 +111,28 @@ var Sentry = class extends HeyApiClient {
119
111
  });
120
112
  }
121
113
  /**
122
- * GET /api/0/organizations/{org_slug}/repos/
123
- *
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
+ /**
124
136
  * The code repositories connected to the organization (Sentry's
125
137
  * `OrganizationRepositoriesEndpoint`). Rustrak connects none through
126
138
  * Sentry's integrations, so the list is always empty.
@@ -142,8 +154,6 @@ var Sentry = class extends HeyApiClient {
142
154
  });
143
155
  }
144
156
  /**
145
- * GET /api/0/projects/
146
- *
147
157
  * The projects the token can see, newest first (Sentry's
148
158
  * `ProjectIndexEndpoint`, `core/endpoints/project_index.py`).
149
159
  */
@@ -164,8 +174,6 @@ var Sentry = class extends HeyApiClient {
164
174
  });
165
175
  }
166
176
  /**
167
- * GET /api/0/projects/{org_slug}/{project_slug}/issues/
168
- *
169
177
  * A project's issues, filtered by `query`, sorted by `sort` and paginated
170
178
  * by `cursor` (Sentry's `ProjectGroupIndexEndpoint`,
171
179
  * `issues/endpoints/project_group_index.py`).
@@ -187,8 +195,6 @@ var Sentry = class extends HeyApiClient {
187
195
  });
188
196
  }
189
197
  /**
190
- * POST /api/0/projects/{org_slug}/{project_slug}/user-feedback/
191
- *
192
198
  * Submit a user report about an error event (Sentry's
193
199
  * `ProjectUserReportsEndpoint`, `feedback/endpoints/project_user_reports.py`).
194
200
  * Accepts `Authorization: DSN <dsn>` as well as a token; the report becomes a
@@ -215,8 +221,6 @@ var Sentry = class extends HeyApiClient {
215
221
  });
216
222
  }
217
223
  /**
218
- * GET /{org_slug}/{project_slug}/issues/{issue_id}/
219
- *
220
224
  * The issue page GitLab's "View in Sentry" opens: Sentry redirects this
221
225
  * legacy path to the issue (`static/app/router/routes.tsx`), Rustrak to its
222
226
  * dashboard. A visitor who is not signed in goes to the login page instead,
@@ -231,7 +235,7 @@ var Sentry = class extends HeyApiClient {
231
235
  }).parseAsync(data),
232
236
  security: [{
233
237
  in: "cookie",
234
- name: "session",
238
+ name: "rustrak_session",
235
239
  type: "apiKey"
236
240
  }, {
237
241
  scheme: "bearer",
@@ -244,7 +248,6 @@ var Sentry = class extends HeyApiClient {
244
248
  };
245
249
  var SourceMaps = class extends HeyApiClient {
246
250
  /**
247
- * GET /api/0/organizations/{org_slug}/
248
251
  * Always returns 200 with synthetic org data — sentry-cli validates this before uploading.
249
252
  */
250
253
  orgDetails(options) {
@@ -260,7 +263,7 @@ var SourceMaps = class extends HeyApiClient {
260
263
  });
261
264
  }
262
265
  /**
263
- * POST /api/0/organizations/{org_slug}/artifactbundle/assemble/
266
+ * Assembles uploaded chunks into an artifact bundle (sentry-cli `sourcemaps upload`).
264
267
  */
265
268
  artifactBundleAssemble(options) {
266
269
  return (options.client ?? this.client).post({
@@ -283,7 +286,7 @@ var SourceMaps = class extends HeyApiClient {
283
286
  });
284
287
  }
285
288
  /**
286
- * GET /api/0/organizations/{org_slug}/chunk-upload/
289
+ * Describes how sentry-cli should upload chunks: size, concurrency and accepted kinds.
287
290
  */
288
291
  chunkUploadCapability(options) {
289
292
  return (options.client ?? this.client).get({
@@ -302,7 +305,7 @@ var SourceMaps = class extends HeyApiClient {
302
305
  });
303
306
  }
304
307
  /**
305
- * POST /api/0/organizations/{org_slug}/chunk-upload/
308
+ * Receives chunks of a source map or debug file upload from sentry-cli.
306
309
  */
307
310
  chunkUpload(options) {
308
311
  return (options.client ?? this.client).post({
@@ -325,7 +328,7 @@ var SourceMaps = class extends HeyApiClient {
325
328
  });
326
329
  }
327
330
  /**
328
- * GET /api/0/projects/{org_slug}/{project_slug}/files/source-maps/
331
+ * Lists a project's uploaded source map artifacts (sentry-cli).
329
332
  */
330
333
  list(options) {
331
334
  return (options.client ?? this.client).get({
@@ -403,8 +406,6 @@ var DebugFiles = class extends HeyApiClient {
403
406
  };
404
407
  var Releases = class extends HeyApiClient {
405
408
  /**
406
- * POST /api/0/projects/{org_slug}/{project_slug}/releases/
407
- *
408
409
  * Sentry-compatible release creation. Idempotent: repeating the same
409
410
  * `(project, version)` returns 208 rather than erroring — sentry-cli and JS
410
411
  * bundler plugins call this on every build. Triggers date-based regression
@@ -436,8 +437,6 @@ var Releases = class extends HeyApiClient {
436
437
  });
437
438
  }
438
439
  /**
439
- * PUT /api/0/projects/{org_slug}/{project_slug}/releases/{version}/
440
- *
441
440
  * Generic partial update (`ref`, `url`, `dateReleased`). Setting
442
441
  * `dateReleased` IS "finalize" — there is no separate status flag.
443
442
  */
@@ -502,7 +501,7 @@ var Releases = class extends HeyApiClient {
502
501
  });
503
502
  }
504
503
  /**
505
- * GET /api/projects/{project_id}/releases/{release}/new-issues
504
+ * Lists the issues first seen in a release.
506
505
  */
507
506
  newIssues(options) {
508
507
  return (options.client ?? this.client).get({
@@ -561,9 +560,50 @@ var Access = class extends HeyApiClient {
561
560
  });
562
561
  }
563
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
+ };
564
604
  var Github = class extends HeyApiClient {
565
605
  /**
566
- * DELETE /api/github
606
+ * Disconnects the GitHub App from this instance.
567
607
  */
568
608
  disconnect(options) {
569
609
  return (options?.client ?? this.client).delete({
@@ -582,7 +622,7 @@ var Github = class extends HeyApiClient {
582
622
  });
583
623
  }
584
624
  /**
585
- * GET /api/github
625
+ * Shows whether a GitHub App is connected, and how.
586
626
  */
587
627
  status(options) {
588
628
  return (options?.client ?? this.client).get({
@@ -601,7 +641,7 @@ var Github = class extends HeyApiClient {
601
641
  });
602
642
  }
603
643
  /**
604
- * GET /api/github/callback: GitHub sends the browser here after creating the
644
+ * GitHub sends the browser here after creating the
605
645
  * app; the code trades for its credentials.
606
646
  */
607
647
  callback(options) {
@@ -620,7 +660,7 @@ var Github = class extends HeyApiClient {
620
660
  });
621
661
  }
622
662
  /**
623
- * GET /api/github/installed: GitHub sends the browser here after the app is
663
+ * GitHub sends the browser here after the app is
624
664
  * installed on an account.
625
665
  */
626
666
  installed(options) {
@@ -639,7 +679,7 @@ var Github = class extends HeyApiClient {
639
679
  });
640
680
  }
641
681
  /**
642
- * PUT /api/github/issue-template: the labels, title prefix and body footer
682
+ * The labels, title prefix and body footer
643
683
  * every GitHub issue starts with, before a project's own.
644
684
  */
645
685
  putIssueTemplate(options) {
@@ -663,7 +703,7 @@ var Github = class extends HeyApiClient {
663
703
  });
664
704
  }
665
705
  /**
666
- * POST /api/github/manifest: what the dashboard posts to GitHub so GitHub
706
+ * What the dashboard posts to GitHub so GitHub
667
707
  * creates an app already configured for this server.
668
708
  */
669
709
  manifest(options) {
@@ -687,7 +727,7 @@ var Github = class extends HeyApiClient {
687
727
  });
688
728
  }
689
729
  /**
690
- * GET /api/github/me: the GitHub username assignees sync through.
730
+ * The GitHub username assignees sync through.
691
731
  */
692
732
  getMyLogin(options) {
693
733
  return (options?.client ?? this.client).get({
@@ -706,7 +746,7 @@ var Github = class extends HeyApiClient {
706
746
  });
707
747
  }
708
748
  /**
709
- * PUT /api/github/me
749
+ * Sets or clears the caller's GitHub username, which assignees sync through.
710
750
  */
711
751
  putMyLogin(options) {
712
752
  return (options.client ?? this.client).put({
@@ -729,7 +769,7 @@ var Github = class extends HeyApiClient {
729
769
  });
730
770
  }
731
771
  /**
732
- * GET /api/github/repositories?project_id=: the repositories a project can
772
+ * The repositories a project can
733
773
  * point at, for whoever may change that project's settings.
734
774
  */
735
775
  repositories(options) {
@@ -749,7 +789,7 @@ var Github = class extends HeyApiClient {
749
789
  });
750
790
  }
751
791
  /**
752
- * POST /api/github/webhook: public, and trusted only through the signature
792
+ * Public, and trusted only through the signature
753
793
  * GitHub computes with the app's webhook secret.
754
794
  */
755
795
  webhook(options) {
@@ -769,7 +809,7 @@ var Github = class extends HeyApiClient {
769
809
  });
770
810
  }
771
811
  /**
772
- * DELETE /api/projects/{project_id}/github
812
+ * Unlinks a project from its GitHub repository.
773
813
  */
774
814
  deleteProjectRepository(options) {
775
815
  return (options.client ?? this.client).delete({
@@ -788,7 +828,7 @@ var Github = class extends HeyApiClient {
788
828
  });
789
829
  }
790
830
  /**
791
- * GET /api/projects/{project_id}/github
831
+ * Gets the GitHub repository a project is linked to.
792
832
  */
793
833
  getProjectRepository(options) {
794
834
  return (options.client ?? this.client).get({
@@ -807,7 +847,7 @@ var Github = class extends HeyApiClient {
807
847
  });
808
848
  }
809
849
  /**
810
- * PUT /api/projects/{project_id}/github
850
+ * Links a project to a GitHub repository.
811
851
  */
812
852
  putProjectRepository(options) {
813
853
  return (options.client ?? this.client).put({
@@ -830,7 +870,7 @@ var Github = class extends HeyApiClient {
830
870
  });
831
871
  }
832
872
  /**
833
- * POST /api/projects/{project_id}/github/codeowners: copies the repository's
873
+ * Copies the repository's
834
874
  * CODEOWNERS so ownership can be answered without asking GitHub each time.
835
875
  */
836
876
  syncCodeowners(options) {
@@ -850,7 +890,7 @@ var Github = class extends HeyApiClient {
850
890
  });
851
891
  }
852
892
  /**
853
- * GET /api/projects/{project_id}/issues/{issue_id}/github: the issue's links,
893
+ * The issue's links,
854
894
  * the commits that may have caused it, and who owns its culprit file.
855
895
  */
856
896
  issue(options) {
@@ -981,7 +1021,7 @@ var AlertChannels = class extends HeyApiClient {
981
1021
  });
982
1022
  }
983
1023
  /**
984
- * POST /api/alert-channels
1024
+ * Creates a notification integration (webhook, Slack, email…).
985
1025
  */
986
1026
  create(options) {
987
1027
  return (options.client ?? this.client).post({
@@ -1004,8 +1044,6 @@ var AlertChannels = class extends HeyApiClient {
1004
1044
  });
1005
1045
  }
1006
1046
  /**
1007
- * POST /api/integrations/preview-template
1008
- *
1009
1047
  * Renders a Custom Webhook template against a sample payload and hands back
1010
1048
  * the body that would be sent. The dashboard cannot run the template engine,
1011
1049
  * so it asks while the reader types; going through the dispatcher's own
@@ -1032,7 +1070,7 @@ var AlertChannels = class extends HeyApiClient {
1032
1070
  });
1033
1071
  }
1034
1072
  /**
1035
- * DELETE /api/alert-channels/{id}
1073
+ * Deletes a notification integration.
1036
1074
  */
1037
1075
  delete(options) {
1038
1076
  return (options.client ?? this.client).delete({
@@ -1051,7 +1089,7 @@ var AlertChannels = class extends HeyApiClient {
1051
1089
  });
1052
1090
  }
1053
1091
  /**
1054
- * GET /api/alert-channels/{id}
1092
+ * Gets one notification integration.
1055
1093
  */
1056
1094
  get(options) {
1057
1095
  return (options.client ?? this.client).get({
@@ -1070,7 +1108,7 @@ var AlertChannels = class extends HeyApiClient {
1070
1108
  });
1071
1109
  }
1072
1110
  /**
1073
- * PATCH /api/alert-channels/{id}
1111
+ * Updates a notification integration.
1074
1112
  */
1075
1113
  update(options) {
1076
1114
  return (options.client ?? this.client).patch({
@@ -1093,7 +1131,7 @@ var AlertChannels = class extends HeyApiClient {
1093
1131
  });
1094
1132
  }
1095
1133
  /**
1096
- * POST /api/integrations/{id}/test
1134
+ * Sends a test notification through an integration.
1097
1135
  */
1098
1136
  test(options) {
1099
1137
  return (options.client ?? this.client).post({
@@ -1118,7 +1156,7 @@ var AlertChannels = class extends HeyApiClient {
1118
1156
  };
1119
1157
  var Invitations = class extends HeyApiClient {
1120
1158
  /**
1121
- * GET /api/invitations — list invitations (needs `invitations:read`)
1159
+ * List invitations (needs `invitations:read`)
1122
1160
  */
1123
1161
  list(options) {
1124
1162
  return (options?.client ?? this.client).get({
@@ -1137,7 +1175,7 @@ var Invitations = class extends HeyApiClient {
1137
1175
  });
1138
1176
  }
1139
1177
  /**
1140
- * POST /api/invitations — create an invitation (needs `invitations:create`)
1178
+ * Create an invitation (needs `invitations:create`)
1141
1179
  *
1142
1180
  * With `send_email: true` the invite link is also emailed. A failed send
1143
1181
  * still creates the invitation, with `email_sent_at: null`, so its link can
@@ -1164,7 +1202,7 @@ var Invitations = class extends HeyApiClient {
1164
1202
  });
1165
1203
  }
1166
1204
  /**
1167
- * GET /api/invitations/email-status — whether invitation emails can be sent (needs `invitations:read`)
1205
+ * Whether invitation emails can be sent (needs `invitations:read`)
1168
1206
  */
1169
1207
  emailStatus(options) {
1170
1208
  return (options?.client ?? this.client).get({
@@ -1183,7 +1221,7 @@ var Invitations = class extends HeyApiClient {
1183
1221
  });
1184
1222
  }
1185
1223
  /**
1186
- * DELETE /api/invitations/{id} — revoke a pending invitation (needs `invitations:delete`)
1224
+ * Revoke a pending invitation (needs `invitations:delete`)
1187
1225
  */
1188
1226
  revoke(options) {
1189
1227
  return (options.client ?? this.client).delete({
@@ -1202,7 +1240,7 @@ var Invitations = class extends HeyApiClient {
1202
1240
  });
1203
1241
  }
1204
1242
  /**
1205
- * POST /api/invitations/{id}/resend — email the invite link again (needs `invitations:create`)
1243
+ * Email the invite link again (needs `invitations:create`)
1206
1244
  */
1207
1245
  resend(options) {
1208
1246
  return (options.client ?? this.client).post({
@@ -1221,34 +1259,43 @@ var Invitations = class extends HeyApiClient {
1221
1259
  });
1222
1260
  }
1223
1261
  };
1224
- var Oauth = class extends HeyApiClient {
1262
+ var Issues = class extends HeyApiClient {
1225
1263
  /**
1226
- * 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.
1227
1266
  */
1228
- getAuthorization(options) {
1229
- return (options.client ?? this.client).get({
1267
+ listAll(options) {
1268
+ return (options?.client ?? this.client).get({
1230
1269
  requestValidator: async (data) => await zod.object({
1231
1270
  body: zod.never().optional(),
1232
1271
  path: zod.never().optional(),
1233
- query: require_zod_gen.zOauthGetAuthorizationQuery
1272
+ query: require_zod_gen.zIssuesListAllQuery.optional()
1234
1273
  }).parseAsync(data),
1235
- responseValidator: async (data) => await require_zod_gen.zOauthGetAuthorizationResponse.parseAsync(data),
1236
- 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",
1237
1280
  ...options
1238
1281
  });
1239
1282
  }
1240
1283
  /**
1241
- * Approves or denies an authorization request as the signed-in user.
1284
+ * Deletes many issues at once, selected by id or by filter.
1242
1285
  */
1243
- decideAuthorization(options) {
1244
- return (options.client ?? this.client).post({
1286
+ bulkDelete(options) {
1287
+ return (options.client ?? this.client).delete({
1245
1288
  requestValidator: async (data) => await zod.object({
1246
- body: require_zod_gen.zOauthDecideAuthorizationBody,
1247
- path: zod.never().optional(),
1289
+ body: require_zod_gen.zIssuesBulkDeleteBody,
1290
+ path: require_zod_gen.zIssuesBulkDeletePath,
1248
1291
  query: zod.never().optional()
1249
1292
  }).parseAsync(data),
1250
- responseValidator: async (data) => await require_zod_gen.zOauthDecideAuthorizationResponse.parseAsync(data),
1251
- 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",
1252
1299
  ...options,
1253
1300
  headers: {
1254
1301
  "Content-Type": "application/json",
@@ -1257,78 +1304,40 @@ var Oauth = class extends HeyApiClient {
1257
1304
  });
1258
1305
  }
1259
1306
  /**
1260
- * Lists the assistants connected to the signed-in user's account.
1261
- */
1262
- listGrants(options) {
1263
- return (options?.client ?? this.client).get({
1264
- requestValidator: async (data) => await zod.object({
1265
- body: zod.never().optional(),
1266
- path: zod.never().optional(),
1267
- query: zod.never().optional()
1268
- }).parseAsync(data),
1269
- responseValidator: async (data) => await require_zod_gen.zOauthListGrantsResponse.parseAsync(data),
1270
- url: "/api/oauth/grants",
1271
- ...options
1272
- });
1273
- }
1274
- /**
1275
- * Disconnects an assistant: its tokens stop working at once.
1276
- */
1277
- revokeGrant(options) {
1278
- return (options.client ?? this.client).delete({
1279
- requestValidator: async (data) => await zod.object({
1280
- body: zod.never().optional(),
1281
- path: require_zod_gen.zOauthRevokeGrantPath,
1282
- query: zod.never().optional()
1283
- }).parseAsync(data),
1284
- responseValidator: async (data) => await require_zod_gen.zOauthRevokeGrantResponse.parseAsync(data),
1285
- url: "/api/oauth/grants/{id}",
1286
- ...options
1287
- });
1288
- }
1289
- };
1290
- var Projects = class extends HeyApiClient {
1291
- /**
1292
- * GET /api/projects - List projects with pagination
1293
- *
1294
- * Only the projects the caller holds a permission on.
1307
+ * Lists issues for a project with offset-based pagination
1295
1308
  */
1296
1309
  list(options) {
1297
- return (options?.client ?? this.client).get({
1310
+ return (options.client ?? this.client).get({
1298
1311
  requestValidator: async (data) => await zod.object({
1299
1312
  body: zod.never().optional(),
1300
- path: zod.never().optional(),
1301
- query: require_zod_gen.zProjectsListQuery.optional()
1313
+ path: require_zod_gen.zIssuesListPath,
1314
+ query: require_zod_gen.zIssuesListQuery.optional()
1302
1315
  }).parseAsync(data),
1303
- responseValidator: async (data) => await require_zod_gen.zProjectsListResponse.parseAsync(data),
1316
+ responseValidator: async (data) => await require_zod_gen.zIssuesListResponse.parseAsync(data),
1304
1317
  security: [{
1305
1318
  scheme: "bearer",
1306
1319
  type: "http"
1307
1320
  }],
1308
- url: "/api/projects",
1321
+ url: "/api/projects/{project_id}/issues",
1309
1322
  ...options
1310
1323
  });
1311
1324
  }
1312
1325
  /**
1313
- * POST /api/projects - Create a new project
1314
- *
1315
- * Needs `projects:create` and a permission on at least one project, because
1316
- * the creator's own roles extend to the new one. A token limited to chosen
1317
- * 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.
1318
1327
  */
1319
- create(options) {
1320
- return (options.client ?? this.client).post({
1328
+ bulkUpdate(options) {
1329
+ return (options.client ?? this.client).put({
1321
1330
  requestValidator: async (data) => await zod.object({
1322
- body: require_zod_gen.zProjectsCreateBody,
1323
- path: zod.never().optional(),
1331
+ body: require_zod_gen.zIssuesBulkUpdateBody,
1332
+ path: require_zod_gen.zIssuesBulkUpdatePath,
1324
1333
  query: zod.never().optional()
1325
1334
  }).parseAsync(data),
1326
- responseValidator: async (data) => await require_zod_gen.zProjectsCreateResponse.parseAsync(data),
1335
+ responseValidator: async (data) => await require_zod_gen.zIssuesBulkUpdateResponse.parseAsync(data),
1327
1336
  security: [{
1328
1337
  scheme: "bearer",
1329
1338
  type: "http"
1330
1339
  }],
1331
- url: "/api/projects",
1340
+ url: "/api/projects/{project_id}/issues",
1332
1341
  ...options,
1333
1342
  headers: {
1334
1343
  "Content-Type": "application/json",
@@ -1337,59 +1346,59 @@ var Projects = class extends HeyApiClient {
1337
1346
  });
1338
1347
  }
1339
1348
  /**
1340
- * DELETE /api/projects/{id} - Delete a project
1349
+ * Hard-deletes an issue and all associated events
1341
1350
  */
1342
1351
  delete(options) {
1343
1352
  return (options.client ?? this.client).delete({
1344
1353
  requestValidator: async (data) => await zod.object({
1345
1354
  body: zod.never().optional(),
1346
- path: require_zod_gen.zProjectsDeletePath,
1355
+ path: require_zod_gen.zIssuesDeletePath,
1347
1356
  query: zod.never().optional()
1348
1357
  }).parseAsync(data),
1349
- responseValidator: async (data) => await require_zod_gen.zProjectsDeleteResponse.parseAsync(data),
1358
+ responseValidator: async (data) => await require_zod_gen.zIssuesDeleteResponse.parseAsync(data),
1350
1359
  security: [{
1351
1360
  scheme: "bearer",
1352
1361
  type: "http"
1353
1362
  }],
1354
- url: "/api/projects/{id}",
1363
+ url: "/api/projects/{project_id}/issues/{issue_id}",
1355
1364
  ...options
1356
1365
  });
1357
1366
  }
1358
1367
  /**
1359
- * GET /api/projects/{id} - Get a project by ID
1368
+ * Gets a single issue by ID
1360
1369
  */
1361
1370
  get(options) {
1362
1371
  return (options.client ?? this.client).get({
1363
1372
  requestValidator: async (data) => await zod.object({
1364
1373
  body: zod.never().optional(),
1365
- path: require_zod_gen.zProjectsGetPath,
1374
+ path: require_zod_gen.zIssuesGetPath,
1366
1375
  query: zod.never().optional()
1367
1376
  }).parseAsync(data),
1368
- responseValidator: async (data) => await require_zod_gen.zProjectsGetResponse.parseAsync(data),
1377
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetResponse.parseAsync(data),
1369
1378
  security: [{
1370
1379
  scheme: "bearer",
1371
1380
  type: "http"
1372
1381
  }],
1373
- url: "/api/projects/{id}",
1382
+ url: "/api/projects/{project_id}/issues/{issue_id}",
1374
1383
  ...options
1375
1384
  });
1376
1385
  }
1377
1386
  /**
1378
- * PATCH /api/projects/{id} - Update a project
1387
+ * Updates issue state (resolve, mute, etc.)
1379
1388
  */
1380
1389
  update(options) {
1381
1390
  return (options.client ?? this.client).patch({
1382
1391
  requestValidator: async (data) => await zod.object({
1383
- body: require_zod_gen.zProjectsUpdateBody,
1384
- path: require_zod_gen.zProjectsUpdatePath,
1392
+ body: require_zod_gen.zIssuesUpdateBody,
1393
+ path: require_zod_gen.zIssuesUpdatePath,
1385
1394
  query: zod.never().optional()
1386
1395
  }).parseAsync(data),
1387
- responseValidator: async (data) => await require_zod_gen.zProjectsUpdateResponse.parseAsync(data),
1396
+ responseValidator: async (data) => await require_zod_gen.zIssuesUpdateResponse.parseAsync(data),
1388
1397
  security: [{
1389
1398
  scheme: "bearer",
1390
1399
  type: "http"
1391
1400
  }],
1392
- url: "/api/projects/{id}",
1401
+ url: "/api/projects/{project_id}/issues/{issue_id}",
1393
1402
  ...options,
1394
1403
  headers: {
1395
1404
  "Content-Type": "application/json",
@@ -1398,342 +1407,339 @@ var Projects = class extends HeyApiClient {
1398
1407
  });
1399
1408
  }
1400
1409
  /**
1401
- * GET /api/rate-limits - What a project without limits of its own follows
1410
+ * Chronological activity log (incl. comments).
1402
1411
  */
1403
- getRateLimits(options) {
1404
- return (options?.client ?? this.client).get({
1412
+ getActivity(options) {
1413
+ return (options.client ?? this.client).get({
1405
1414
  requestValidator: async (data) => await zod.object({
1406
1415
  body: zod.never().optional(),
1407
- path: zod.never().optional(),
1416
+ path: require_zod_gen.zIssuesGetActivityPath,
1408
1417
  query: zod.never().optional()
1409
1418
  }).parseAsync(data),
1410
- responseValidator: async (data) => await require_zod_gen.zProjectsGetRateLimitsResponse.parseAsync(data),
1419
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetActivityResponse.parseAsync(data),
1411
1420
  security: [{
1412
1421
  scheme: "bearer",
1413
1422
  type: "http"
1414
1423
  }],
1415
- url: "/api/rate-limits",
1424
+ url: "/api/projects/{project_id}/issues/{issue_id}/activity",
1416
1425
  ...options
1417
1426
  });
1418
1427
  }
1419
- };
1420
- var Agents = class extends HeyApiClient {
1421
1428
  /**
1422
- * GET /api/projects/{project_id}/agents/conversations
1423
- * 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.
1424
1430
  */
1425
- conversations(options) {
1431
+ getAggregates(options) {
1426
1432
  return (options.client ?? this.client).get({
1427
1433
  requestValidator: async (data) => await zod.object({
1428
1434
  body: zod.never().optional(),
1429
- path: require_zod_gen.zAgentsConversationsPath,
1430
- query: require_zod_gen.zAgentsConversationsQuery.optional()
1435
+ path: require_zod_gen.zIssuesGetAggregatesPath,
1436
+ query: zod.never().optional()
1431
1437
  }).parseAsync(data),
1432
- responseValidator: async (data) => await require_zod_gen.zAgentsConversationsResponse.parseAsync(data),
1438
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetAggregatesResponse.parseAsync(data),
1433
1439
  security: [{
1434
1440
  scheme: "bearer",
1435
1441
  type: "http"
1436
1442
  }],
1437
- url: "/api/projects/{project_id}/agents/conversations",
1443
+ url: "/api/projects/{project_id}/issues/{issue_id}/aggregates",
1438
1444
  ...options
1439
1445
  });
1440
1446
  }
1441
1447
  /**
1442
- * GET /api/projects/{project_id}/agents/conversations/{conversation_id}
1443
- * Returns every AI span of a conversation's turns, oldest first, with its input and output.
1448
+ * Set/clear the per-user bookmark.
1444
1449
  */
1445
- conversation(options) {
1446
- return (options.client ?? this.client).get({
1450
+ setBookmark(options) {
1451
+ return (options.client ?? this.client).put({
1447
1452
  requestValidator: async (data) => await zod.object({
1448
- body: zod.never().optional(),
1449
- path: require_zod_gen.zAgentsConversationPath,
1453
+ body: require_zod_gen.zIssuesSetBookmarkBody,
1454
+ path: require_zod_gen.zIssuesSetBookmarkPath,
1450
1455
  query: zod.never().optional()
1451
1456
  }).parseAsync(data),
1452
- responseValidator: async (data) => await require_zod_gen.zAgentsConversationResponse.parseAsync(data),
1457
+ responseValidator: async (data) => await require_zod_gen.zIssuesSetBookmarkResponse.parseAsync(data),
1453
1458
  security: [{
1454
1459
  scheme: "bearer",
1455
1460
  type: "http"
1456
1461
  }],
1457
- url: "/api/projects/{project_id}/agents/conversations/{conversation_id}",
1458
- ...options
1462
+ url: "/api/projects/{project_id}/issues/{issue_id}/bookmark",
1463
+ ...options,
1464
+ headers: {
1465
+ "Content-Type": "application/json",
1466
+ ...options.headers
1467
+ }
1459
1468
  });
1460
1469
  }
1461
1470
  /**
1462
- * GET /api/projects/{project_id}/agents/duration
1463
- * Time-bucketed avg/p95 duration for `agent`/`ai_client` spans.
1471
+ * Add a note.
1464
1472
  */
1465
- duration(options) {
1466
- return (options.client ?? this.client).get({
1473
+ createComment(options) {
1474
+ return (options.client ?? this.client).post({
1467
1475
  requestValidator: async (data) => await zod.object({
1468
- body: zod.never().optional(),
1469
- path: require_zod_gen.zAgentsDurationPath,
1470
- query: require_zod_gen.zAgentsDurationQuery.optional()
1476
+ body: require_zod_gen.zIssuesCreateCommentBody,
1477
+ path: require_zod_gen.zIssuesCreateCommentPath,
1478
+ query: zod.never().optional()
1471
1479
  }).parseAsync(data),
1472
- responseValidator: async (data) => await require_zod_gen.zAgentsDurationResponse.parseAsync(data),
1480
+ responseValidator: async (data) => await require_zod_gen.zIssuesCreateCommentResponse.parseAsync(data),
1473
1481
  security: [{
1474
1482
  scheme: "bearer",
1475
1483
  type: "http"
1476
1484
  }],
1477
- url: "/api/projects/{project_id}/agents/duration",
1478
- ...options
1485
+ url: "/api/projects/{project_id}/issues/{issue_id}/comments",
1486
+ ...options,
1487
+ headers: {
1488
+ "Content-Type": "application/json",
1489
+ ...options.headers
1490
+ }
1479
1491
  });
1480
1492
  }
1481
1493
  /**
1482
- * GET /api/projects/{project_id}/agents/environments
1483
- * The options the environment filter offers, read from the data rather than
1484
- * hardcoded — an installation may name its environments anything.
1494
+ * Lists the grouping hashes that map to an issue.
1485
1495
  */
1486
- environments(options) {
1496
+ getHashes(options) {
1487
1497
  return (options.client ?? this.client).get({
1488
1498
  requestValidator: async (data) => await zod.object({
1489
1499
  body: zod.never().optional(),
1490
- path: require_zod_gen.zAgentsEnvironmentsPath,
1500
+ path: require_zod_gen.zIssuesGetHashesPath,
1491
1501
  query: zod.never().optional()
1492
1502
  }).parseAsync(data),
1493
- responseValidator: async (data) => await require_zod_gen.zAgentsEnvironmentsResponse.parseAsync(data),
1503
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetHashesResponse.parseAsync(data),
1494
1504
  security: [{
1495
1505
  scheme: "bearer",
1496
1506
  type: "http"
1497
1507
  }],
1498
- url: "/api/projects/{project_id}/agents/environments",
1508
+ url: "/api/projects/{project_id}/issues/{issue_id}/hashes",
1499
1509
  ...options
1500
1510
  });
1501
1511
  }
1502
1512
  /**
1503
- * GET /api/projects/{project_id}/agents/models
1513
+ * Mark the issue as seen by the current user.
1504
1514
  */
1505
- modelsTable(options) {
1506
- return (options.client ?? this.client).get({
1515
+ markSeen(options) {
1516
+ return (options.client ?? this.client).post({
1507
1517
  requestValidator: async (data) => await zod.object({
1508
1518
  body: zod.never().optional(),
1509
- path: require_zod_gen.zAgentsModelsTablePath,
1510
- query: require_zod_gen.zAgentsModelsTableQuery.optional()
1519
+ path: require_zod_gen.zIssuesMarkSeenPath,
1520
+ query: zod.never().optional()
1511
1521
  }).parseAsync(data),
1512
- responseValidator: async (data) => await require_zod_gen.zAgentsModelsTableResponse.parseAsync(data),
1522
+ responseValidator: async (data) => await require_zod_gen.zIssuesMarkSeenResponse.parseAsync(data),
1513
1523
  security: [{
1514
1524
  scheme: "bearer",
1515
1525
  type: "http"
1516
1526
  }],
1517
- url: "/api/projects/{project_id}/agents/models",
1527
+ url: "/api/projects/{project_id}/issues/{issue_id}/seen",
1518
1528
  ...options
1519
1529
  });
1520
1530
  }
1521
1531
  /**
1522
- * GET /api/projects/{project_id}/agents/models/calls
1523
- * Top models by LLM call count (`gen_ai.operation.type:ai_client`).
1532
+ * Zero-filled event-count timeseries.
1524
1533
  */
1525
- modelsCalls(options) {
1534
+ getStats(options) {
1526
1535
  return (options.client ?? this.client).get({
1527
1536
  requestValidator: async (data) => await zod.object({
1528
1537
  body: zod.never().optional(),
1529
- path: require_zod_gen.zAgentsModelsCallsPath,
1530
- query: require_zod_gen.zAgentsModelsCallsQuery.optional()
1538
+ path: require_zod_gen.zIssuesGetStatsPath,
1539
+ query: require_zod_gen.zIssuesGetStatsQuery.optional()
1531
1540
  }).parseAsync(data),
1532
- responseValidator: async (data) => await require_zod_gen.zAgentsModelsCallsResponse.parseAsync(data),
1541
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetStatsResponse.parseAsync(data),
1533
1542
  security: [{
1534
1543
  scheme: "bearer",
1535
1544
  type: "http"
1536
1545
  }],
1537
- url: "/api/projects/{project_id}/agents/models/calls",
1546
+ url: "/api/projects/{project_id}/issues/{issue_id}/stats",
1538
1547
  ...options
1539
1548
  });
1540
1549
  }
1541
1550
  /**
1542
- * GET /api/projects/{project_id}/agents/models/tokens
1543
- * Top models by total tokens used (`gen_ai.operation.type:ai_client`).
1551
+ * Set/clear the per-user subscription.
1544
1552
  */
1545
- modelsTokens(options) {
1546
- return (options.client ?? this.client).get({
1553
+ setSubscription(options) {
1554
+ return (options.client ?? this.client).put({
1547
1555
  requestValidator: async (data) => await zod.object({
1548
- body: zod.never().optional(),
1549
- path: require_zod_gen.zAgentsModelsTokensPath,
1550
- query: require_zod_gen.zAgentsModelsTokensQuery.optional()
1556
+ body: require_zod_gen.zIssuesSetSubscriptionBody,
1557
+ path: require_zod_gen.zIssuesSetSubscriptionPath,
1558
+ query: zod.never().optional()
1551
1559
  }).parseAsync(data),
1552
- responseValidator: async (data) => await require_zod_gen.zAgentsModelsTokensResponse.parseAsync(data),
1560
+ responseValidator: async (data) => await require_zod_gen.zIssuesSetSubscriptionResponse.parseAsync(data),
1553
1561
  security: [{
1554
1562
  scheme: "bearer",
1555
1563
  type: "http"
1556
1564
  }],
1557
- url: "/api/projects/{project_id}/agents/models/tokens",
1558
- ...options
1565
+ url: "/api/projects/{project_id}/issues/{issue_id}/subscription",
1566
+ ...options,
1567
+ headers: {
1568
+ "Content-Type": "application/json",
1569
+ ...options.headers
1570
+ }
1559
1571
  });
1560
1572
  }
1561
1573
  /**
1562
- * GET /api/projects/{project_id}/agents/runs
1563
- * 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.
1564
1575
  */
1565
- runs(options) {
1576
+ getTagValues(options) {
1566
1577
  return (options.client ?? this.client).get({
1567
1578
  requestValidator: async (data) => await zod.object({
1568
1579
  body: zod.never().optional(),
1569
- path: require_zod_gen.zAgentsRunsPath,
1570
- query: require_zod_gen.zAgentsRunsQuery.optional()
1580
+ path: require_zod_gen.zIssuesGetTagValuesPath,
1581
+ query: zod.never().optional()
1571
1582
  }).parseAsync(data),
1572
- responseValidator: async (data) => await require_zod_gen.zAgentsRunsResponse.parseAsync(data),
1583
+ responseValidator: async (data) => await require_zod_gen.zIssuesGetTagValuesResponse.parseAsync(data),
1573
1584
  security: [{
1574
1585
  scheme: "bearer",
1575
1586
  type: "http"
1576
1587
  }],
1577
- url: "/api/projects/{project_id}/agents/runs",
1588
+ url: "/api/projects/{project_id}/issues/{issue_id}/tags/{key}",
1578
1589
  ...options
1579
1590
  });
1580
1591
  }
1581
1592
  /**
1582
- * GET /api/projects/{project_id}/agents/summary
1583
- * Agent runs, LLM calls, tool calls, errors, tokens and latency over the
1584
- * selected window — the numbers the six charts cannot state outright.
1593
+ * List user feedback for an issue.
1585
1594
  */
1586
- summary(options) {
1595
+ listUserReports(options) {
1587
1596
  return (options.client ?? this.client).get({
1588
1597
  requestValidator: async (data) => await zod.object({
1589
1598
  body: zod.never().optional(),
1590
- path: require_zod_gen.zAgentsSummaryPath,
1591
- query: require_zod_gen.zAgentsSummaryQuery.optional()
1599
+ path: require_zod_gen.zIssuesListUserReportsPath,
1600
+ query: require_zod_gen.zIssuesListUserReportsQuery.optional()
1592
1601
  }).parseAsync(data),
1593
- responseValidator: async (data) => await require_zod_gen.zAgentsSummaryResponse.parseAsync(data),
1602
+ responseValidator: async (data) => await require_zod_gen.zIssuesListUserReportsResponse.parseAsync(data),
1594
1603
  security: [{
1595
1604
  scheme: "bearer",
1596
1605
  type: "http"
1597
1606
  }],
1598
- url: "/api/projects/{project_id}/agents/summary",
1607
+ url: "/api/projects/{project_id}/issues/{issue_id}/user-reports",
1599
1608
  ...options
1600
1609
  });
1601
1610
  }
1602
1611
  /**
1603
- * GET /api/projects/{project_id}/agents/tools
1604
- * Top tools by call count (`gen_ai.operation.type:tool`).
1612
+ * Attach user feedback to an issue.
1605
1613
  */
1606
- tools(options) {
1607
- return (options.client ?? this.client).get({
1614
+ createUserReport(options) {
1615
+ return (options.client ?? this.client).post({
1608
1616
  requestValidator: async (data) => await zod.object({
1609
- body: zod.never().optional(),
1610
- path: require_zod_gen.zAgentsToolsPath,
1611
- query: require_zod_gen.zAgentsToolsQuery.optional()
1617
+ body: require_zod_gen.zIssuesCreateUserReportBody,
1618
+ path: require_zod_gen.zIssuesCreateUserReportPath,
1619
+ query: zod.never().optional()
1612
1620
  }).parseAsync(data),
1613
- responseValidator: async (data) => await require_zod_gen.zAgentsToolsResponse.parseAsync(data),
1621
+ responseValidator: async (data) => await require_zod_gen.zIssuesCreateUserReportResponse.parseAsync(data),
1614
1622
  security: [{
1615
1623
  scheme: "bearer",
1616
1624
  type: "http"
1617
1625
  }],
1618
- url: "/api/projects/{project_id}/agents/tools",
1619
- ...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
+ }
1620
1632
  });
1621
1633
  }
1634
+ };
1635
+ var Oauth = class extends HeyApiClient {
1622
1636
  /**
1623
- * GET /api/projects/{project_id}/agents/tools/stats
1637
+ * Verifies an authorization request and says who is asking.
1624
1638
  */
1625
- toolsTable(options) {
1639
+ getAuthorization(options) {
1626
1640
  return (options.client ?? this.client).get({
1627
1641
  requestValidator: async (data) => await zod.object({
1628
1642
  body: zod.never().optional(),
1629
- path: require_zod_gen.zAgentsToolsTablePath,
1630
- query: require_zod_gen.zAgentsToolsTableQuery.optional()
1643
+ path: zod.never().optional(),
1644
+ query: require_zod_gen.zOauthGetAuthorizationQuery
1631
1645
  }).parseAsync(data),
1632
- responseValidator: async (data) => await require_zod_gen.zAgentsToolsTableResponse.parseAsync(data),
1633
- security: [{
1634
- scheme: "bearer",
1635
- type: "http"
1636
- }],
1637
- url: "/api/projects/{project_id}/agents/tools/stats",
1646
+ responseValidator: async (data) => await require_zod_gen.zOauthGetAuthorizationResponse.parseAsync(data),
1647
+ url: "/api/oauth/authorize",
1638
1648
  ...options
1639
1649
  });
1640
1650
  }
1641
1651
  /**
1642
- * GET /api/projects/{project_id}/agents/traces
1643
- * Paginated per-trace_id aggregate (duration, tokens, tool usage) across
1644
- * all AI spans sharing that trace, regardless of origin.
1652
+ * Approves or denies an authorization request as the signed-in user.
1645
1653
  */
1646
- traces(options) {
1647
- return (options.client ?? this.client).get({
1654
+ decideAuthorization(options) {
1655
+ return (options.client ?? this.client).post({
1648
1656
  requestValidator: async (data) => await zod.object({
1649
- body: zod.never().optional(),
1650
- path: require_zod_gen.zAgentsTracesPath,
1651
- query: require_zod_gen.zAgentsTracesQuery.optional()
1657
+ body: require_zod_gen.zOauthDecideAuthorizationBody,
1658
+ path: zod.never().optional(),
1659
+ query: zod.never().optional()
1652
1660
  }).parseAsync(data),
1653
- responseValidator: async (data) => await require_zod_gen.zAgentsTracesResponse.parseAsync(data),
1654
- security: [{
1655
- scheme: "bearer",
1656
- type: "http"
1657
- }],
1658
- url: "/api/projects/{project_id}/agents/traces",
1659
- ...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
+ }
1660
1668
  });
1661
1669
  }
1662
- };
1663
- var AlertRules = class extends HeyApiClient {
1664
1670
  /**
1665
- * GET /api/projects/{project_id}/alert-history
1671
+ * Lists the assistants connected to the signed-in user's account.
1666
1672
  */
1667
- listHistory(options) {
1668
- return (options.client ?? this.client).get({
1673
+ listGrants(options) {
1674
+ return (options?.client ?? this.client).get({
1669
1675
  requestValidator: async (data) => await zod.object({
1670
1676
  body: zod.never().optional(),
1671
- path: require_zod_gen.zAlertRulesListHistoryPath,
1672
- query: require_zod_gen.zAlertRulesListHistoryQuery.optional()
1677
+ path: zod.never().optional(),
1678
+ query: zod.never().optional()
1673
1679
  }).parseAsync(data),
1674
- responseValidator: async (data) => await require_zod_gen.zAlertRulesListHistoryResponse.parseAsync(data),
1675
- security: [{
1676
- scheme: "bearer",
1677
- type: "http"
1678
- }],
1679
- url: "/api/projects/{project_id}/alert-history",
1680
+ responseValidator: async (data) => await require_zod_gen.zOauthListGrantsResponse.parseAsync(data),
1681
+ url: "/api/oauth/grants",
1680
1682
  ...options
1681
1683
  });
1682
1684
  }
1683
1685
  /**
1684
- * Count a project's alert deliveries per day, by outcome.
1686
+ * Disconnects an assistant: its tokens stop working at once.
1685
1687
  */
1686
- historyByDay(options) {
1687
- return (options.client ?? this.client).get({
1688
+ revokeGrant(options) {
1689
+ return (options.client ?? this.client).delete({
1688
1690
  requestValidator: async (data) => await zod.object({
1689
1691
  body: zod.never().optional(),
1690
- path: require_zod_gen.zAlertRulesHistoryByDayPath,
1691
- query: require_zod_gen.zAlertRulesHistoryByDayQuery.optional()
1692
+ path: require_zod_gen.zOauthRevokeGrantPath,
1693
+ query: zod.never().optional()
1692
1694
  }).parseAsync(data),
1693
- responseValidator: async (data) => await require_zod_gen.zAlertRulesHistoryByDayResponse.parseAsync(data),
1694
- security: [{
1695
- scheme: "bearer",
1696
- type: "http"
1697
- }],
1698
- 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}",
1699
1697
  ...options
1700
1698
  });
1701
1699
  }
1700
+ };
1701
+ var Projects = class extends HeyApiClient {
1702
1702
  /**
1703
- * GET /api/projects/{project_id}/alert-rules
1703
+ * List projects with pagination.
1704
+ *
1705
+ * Only the projects the caller holds a permission on.
1704
1706
  */
1705
1707
  list(options) {
1706
- return (options.client ?? this.client).get({
1708
+ return (options?.client ?? this.client).get({
1707
1709
  requestValidator: async (data) => await zod.object({
1708
1710
  body: zod.never().optional(),
1709
- path: require_zod_gen.zAlertRulesListPath,
1710
- query: zod.never().optional()
1711
+ path: zod.never().optional(),
1712
+ query: require_zod_gen.zProjectsListQuery.optional()
1711
1713
  }).parseAsync(data),
1712
- responseValidator: async (data) => await require_zod_gen.zAlertRulesListResponse.parseAsync(data),
1714
+ responseValidator: async (data) => await require_zod_gen.zProjectsListResponse.parseAsync(data),
1713
1715
  security: [{
1714
1716
  scheme: "bearer",
1715
1717
  type: "http"
1716
1718
  }],
1717
- url: "/api/projects/{project_id}/alert-rules",
1719
+ url: "/api/projects",
1718
1720
  ...options
1719
1721
  });
1720
1722
  }
1721
1723
  /**
1722
- * POST /api/projects/{project_id}/alert-rules
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.
1723
1729
  */
1724
1730
  create(options) {
1725
1731
  return (options.client ?? this.client).post({
1726
1732
  requestValidator: async (data) => await zod.object({
1727
- body: require_zod_gen.zAlertRulesCreateBody,
1728
- path: require_zod_gen.zAlertRulesCreatePath,
1733
+ body: require_zod_gen.zProjectsCreateBody,
1734
+ path: zod.never().optional(),
1729
1735
  query: zod.never().optional()
1730
1736
  }).parseAsync(data),
1731
- responseValidator: async (data) => await require_zod_gen.zAlertRulesCreateResponse.parseAsync(data),
1737
+ responseValidator: async (data) => await require_zod_gen.zProjectsCreateResponse.parseAsync(data),
1732
1738
  security: [{
1733
1739
  scheme: "bearer",
1734
1740
  type: "http"
1735
1741
  }],
1736
- url: "/api/projects/{project_id}/alert-rules",
1742
+ url: "/api/projects",
1737
1743
  ...options,
1738
1744
  headers: {
1739
1745
  "Content-Type": "application/json",
@@ -1742,59 +1748,59 @@ var AlertRules = class extends HeyApiClient {
1742
1748
  });
1743
1749
  }
1744
1750
  /**
1745
- * DELETE /api/projects/{project_id}/alert-rules/{rule_id}
1751
+ * Delete a project
1746
1752
  */
1747
1753
  delete(options) {
1748
1754
  return (options.client ?? this.client).delete({
1749
1755
  requestValidator: async (data) => await zod.object({
1750
1756
  body: zod.never().optional(),
1751
- path: require_zod_gen.zAlertRulesDeletePath,
1757
+ path: require_zod_gen.zProjectsDeletePath,
1752
1758
  query: zod.never().optional()
1753
1759
  }).parseAsync(data),
1754
- responseValidator: async (data) => await require_zod_gen.zAlertRulesDeleteResponse.parseAsync(data),
1760
+ responseValidator: async (data) => await require_zod_gen.zProjectsDeleteResponse.parseAsync(data),
1755
1761
  security: [{
1756
1762
  scheme: "bearer",
1757
1763
  type: "http"
1758
1764
  }],
1759
- url: "/api/projects/{project_id}/alert-rules/{rule_id}",
1765
+ url: "/api/projects/{id}",
1760
1766
  ...options
1761
1767
  });
1762
1768
  }
1763
1769
  /**
1764
- * GET /api/projects/{project_id}/alert-rules/{rule_id}
1770
+ * Get a project by ID
1765
1771
  */
1766
1772
  get(options) {
1767
1773
  return (options.client ?? this.client).get({
1768
1774
  requestValidator: async (data) => await zod.object({
1769
1775
  body: zod.never().optional(),
1770
- path: require_zod_gen.zAlertRulesGetPath,
1776
+ path: require_zod_gen.zProjectsGetPath,
1771
1777
  query: zod.never().optional()
1772
1778
  }).parseAsync(data),
1773
- responseValidator: async (data) => await require_zod_gen.zAlertRulesGetResponse.parseAsync(data),
1779
+ responseValidator: async (data) => await require_zod_gen.zProjectsGetResponse.parseAsync(data),
1774
1780
  security: [{
1775
1781
  scheme: "bearer",
1776
1782
  type: "http"
1777
1783
  }],
1778
- url: "/api/projects/{project_id}/alert-rules/{rule_id}",
1784
+ url: "/api/projects/{id}",
1779
1785
  ...options
1780
1786
  });
1781
1787
  }
1782
1788
  /**
1783
- * PATCH /api/projects/{project_id}/alert-rules/{rule_id}
1789
+ * Update a project
1784
1790
  */
1785
1791
  update(options) {
1786
1792
  return (options.client ?? this.client).patch({
1787
1793
  requestValidator: async (data) => await zod.object({
1788
- body: require_zod_gen.zAlertRulesUpdateBody,
1789
- path: require_zod_gen.zAlertRulesUpdatePath,
1794
+ body: require_zod_gen.zProjectsUpdateBody,
1795
+ path: require_zod_gen.zProjectsUpdatePath,
1790
1796
  query: zod.never().optional()
1791
1797
  }).parseAsync(data),
1792
- responseValidator: async (data) => await require_zod_gen.zAlertRulesUpdateResponse.parseAsync(data),
1798
+ responseValidator: async (data) => await require_zod_gen.zProjectsUpdateResponse.parseAsync(data),
1793
1799
  security: [{
1794
1800
  scheme: "bearer",
1795
1801
  type: "http"
1796
1802
  }],
1797
- url: "/api/projects/{project_id}/alert-rules/{rule_id}",
1803
+ url: "/api/projects/{id}",
1798
1804
  ...options,
1799
1805
  headers: {
1800
1806
  "Content-Type": "application/json",
@@ -1802,318 +1808,333 @@ var AlertRules = class extends HeyApiClient {
1802
1808
  }
1803
1809
  });
1804
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
+ }
1805
1830
  };
1806
- var Events = class extends HeyApiClient {
1831
+ var Agents = class extends HeyApiClient {
1807
1832
  /**
1808
- * GET /api/projects/{project_id}/attachments/{attachment_id}
1809
- * Downloads an attachment. Only a real image is served inline; anything
1810
- * 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.
1811
1834
  */
1812
- downloadAttachment(options) {
1835
+ conversations(options) {
1813
1836
  return (options.client ?? this.client).get({
1814
1837
  requestValidator: async (data) => await zod.object({
1815
1838
  body: zod.never().optional(),
1816
- path: require_zod_gen.zEventsDownloadAttachmentPath,
1817
- query: zod.never().optional()
1839
+ path: require_zod_gen.zAgentsConversationsPath,
1840
+ query: require_zod_gen.zAgentsConversationsQuery.optional()
1818
1841
  }).parseAsync(data),
1819
- responseValidator: async (data) => await require_zod_gen.zEventsDownloadAttachmentResponse.parseAsync(data),
1842
+ responseValidator: async (data) => await require_zod_gen.zAgentsConversationsResponse.parseAsync(data),
1820
1843
  security: [{
1821
1844
  scheme: "bearer",
1822
1845
  type: "http"
1823
1846
  }],
1824
- url: "/api/projects/{project_id}/attachments/{attachment_id}",
1847
+ url: "/api/projects/{project_id}/agents/conversations",
1825
1848
  ...options
1826
1849
  });
1827
1850
  }
1828
1851
  /**
1829
- * 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.
1830
1853
  */
1831
- getBySentryId(options) {
1854
+ conversation(options) {
1832
1855
  return (options.client ?? this.client).get({
1833
1856
  requestValidator: async (data) => await zod.object({
1834
1857
  body: zod.never().optional(),
1835
- path: require_zod_gen.zEventsGetBySentryIdPath,
1858
+ path: require_zod_gen.zAgentsConversationPath,
1836
1859
  query: zod.never().optional()
1837
1860
  }).parseAsync(data),
1838
- responseValidator: async (data) => await require_zod_gen.zEventsGetBySentryIdResponse.parseAsync(data),
1861
+ responseValidator: async (data) => await require_zod_gen.zAgentsConversationResponse.parseAsync(data),
1839
1862
  security: [{
1840
1863
  scheme: "bearer",
1841
1864
  type: "http"
1842
1865
  }],
1843
- url: "/api/projects/{project_id}/events/sentry/{event_id}",
1866
+ url: "/api/projects/{project_id}/agents/conversations/{conversation_id}",
1844
1867
  ...options
1845
1868
  });
1846
1869
  }
1847
1870
  /**
1848
- * GET /api/projects/{project_id}/issues/{issue_id}/events
1849
- * Lists events for an issue with cursor-based pagination
1871
+ * Time-bucketed avg/p95 duration for `agent`/`ai_client` spans.
1850
1872
  */
1851
- list(options) {
1873
+ duration(options) {
1852
1874
  return (options.client ?? this.client).get({
1853
1875
  requestValidator: async (data) => await zod.object({
1854
1876
  body: zod.never().optional(),
1855
- path: require_zod_gen.zEventsListPath,
1856
- query: require_zod_gen.zEventsListQuery.optional()
1877
+ path: require_zod_gen.zAgentsDurationPath,
1878
+ query: require_zod_gen.zAgentsDurationQuery.optional()
1857
1879
  }).parseAsync(data),
1858
- responseValidator: async (data) => await require_zod_gen.zEventsListResponse.parseAsync(data),
1880
+ responseValidator: async (data) => await require_zod_gen.zAgentsDurationResponse.parseAsync(data),
1859
1881
  security: [{
1860
1882
  scheme: "bearer",
1861
1883
  type: "http"
1862
1884
  }],
1863
- url: "/api/projects/{project_id}/issues/{issue_id}/events",
1885
+ url: "/api/projects/{project_id}/agents/duration",
1864
1886
  ...options
1865
1887
  });
1866
1888
  }
1867
1889
  /**
1868
- * GET /api/projects/{project_id}/issues/{issue_id}/events/{event_id}
1869
- * 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.
1870
1892
  */
1871
- get(options) {
1893
+ environments(options) {
1872
1894
  return (options.client ?? this.client).get({
1873
1895
  requestValidator: async (data) => await zod.object({
1874
1896
  body: zod.never().optional(),
1875
- path: require_zod_gen.zEventsGetPath,
1897
+ path: require_zod_gen.zAgentsEnvironmentsPath,
1876
1898
  query: zod.never().optional()
1877
1899
  }).parseAsync(data),
1878
- responseValidator: async (data) => await require_zod_gen.zEventsGetResponse.parseAsync(data),
1900
+ responseValidator: async (data) => await require_zod_gen.zAgentsEnvironmentsResponse.parseAsync(data),
1879
1901
  security: [{
1880
1902
  scheme: "bearer",
1881
1903
  type: "http"
1882
1904
  }],
1883
- url: "/api/projects/{project_id}/issues/{issue_id}/events/{event_id}",
1905
+ url: "/api/projects/{project_id}/agents/environments",
1906
+ ...options
1907
+ });
1908
+ }
1909
+ /**
1910
+ * Lists the AI models a project's agents called, with requests, tokens and latency.
1911
+ */
1912
+ modelsTable(options) {
1913
+ return (options.client ?? this.client).get({
1914
+ requestValidator: async (data) => await zod.object({
1915
+ body: 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",
1884
1925
  ...options
1885
1926
  });
1886
1927
  }
1887
1928
  /**
1888
- * GET /api/projects/{project_id}/issues/{issue_id}/events/{event_id}/attachments
1889
- * Lists the files sent with an event, such as a feedback's screenshot.
1929
+ * Top models by LLM call count (`gen_ai.operation.type:ai_client`).
1890
1930
  */
1891
- listAttachments(options) {
1931
+ modelsCalls(options) {
1892
1932
  return (options.client ?? this.client).get({
1893
1933
  requestValidator: async (data) => await zod.object({
1894
1934
  body: zod.never().optional(),
1895
- path: require_zod_gen.zEventsListAttachmentsPath,
1896
- query: zod.never().optional()
1935
+ path: require_zod_gen.zAgentsModelsCallsPath,
1936
+ query: require_zod_gen.zAgentsModelsCallsQuery.optional()
1897
1937
  }).parseAsync(data),
1898
- responseValidator: async (data) => await require_zod_gen.zEventsListAttachmentsResponse.parseAsync(data),
1938
+ responseValidator: async (data) => await require_zod_gen.zAgentsModelsCallsResponse.parseAsync(data),
1899
1939
  security: [{
1900
1940
  scheme: "bearer",
1901
1941
  type: "http"
1902
1942
  }],
1903
- url: "/api/projects/{project_id}/issues/{issue_id}/events/{event_id}/attachments",
1943
+ url: "/api/projects/{project_id}/agents/models/calls",
1904
1944
  ...options
1905
1945
  });
1906
1946
  }
1907
- };
1908
- var Environments = class extends HeyApiClient {
1909
1947
  /**
1910
- * GET /api/projects/{project_id}/environments
1911
- * 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`).
1912
1949
  */
1913
- list(options) {
1950
+ modelsTokens(options) {
1914
1951
  return (options.client ?? this.client).get({
1915
1952
  requestValidator: async (data) => await zod.object({
1916
1953
  body: zod.never().optional(),
1917
- path: require_zod_gen.zEnvironmentsListPath,
1918
- query: zod.never().optional()
1954
+ path: require_zod_gen.zAgentsModelsTokensPath,
1955
+ query: require_zod_gen.zAgentsModelsTokensQuery.optional()
1919
1956
  }).parseAsync(data),
1920
- responseValidator: async (data) => await require_zod_gen.zEnvironmentsListResponse.parseAsync(data),
1957
+ responseValidator: async (data) => await require_zod_gen.zAgentsModelsTokensResponse.parseAsync(data),
1921
1958
  security: [{
1922
1959
  scheme: "bearer",
1923
1960
  type: "http"
1924
1961
  }],
1925
- url: "/api/projects/{project_id}/environments",
1962
+ url: "/api/projects/{project_id}/agents/models/tokens",
1926
1963
  ...options
1927
1964
  });
1928
1965
  }
1929
- };
1930
- var Stats = class extends HeyApiClient {
1931
1966
  /**
1932
- * GET /api/projects/{project_id}/events/stats
1967
+ * Time-bucketed count of agent-run spans (`gen_ai.operation.type:agent`).
1933
1968
  */
1934
- getEventTimeseries(options) {
1969
+ runs(options) {
1935
1970
  return (options.client ?? this.client).get({
1936
1971
  requestValidator: async (data) => await zod.object({
1937
1972
  body: zod.never().optional(),
1938
- path: require_zod_gen.zStatsGetEventTimeseriesPath,
1939
- query: require_zod_gen.zStatsGetEventTimeseriesQuery.optional()
1973
+ path: require_zod_gen.zAgentsRunsPath,
1974
+ query: require_zod_gen.zAgentsRunsQuery.optional()
1940
1975
  }).parseAsync(data),
1941
- responseValidator: async (data) => await require_zod_gen.zStatsGetEventTimeseriesResponse.parseAsync(data),
1976
+ responseValidator: async (data) => await require_zod_gen.zAgentsRunsResponse.parseAsync(data),
1942
1977
  security: [{
1943
1978
  scheme: "bearer",
1944
1979
  type: "http"
1945
1980
  }],
1946
- url: "/api/projects/{project_id}/events/stats",
1981
+ url: "/api/projects/{project_id}/agents/runs",
1947
1982
  ...options
1948
1983
  });
1949
1984
  }
1950
1985
  /**
1951
- * GET /api/projects/{project_id}/stats/summary
1986
+ * Agent runs, LLM calls, tool calls, errors, tokens and latency over the
1987
+ * selected window — the numbers the six charts cannot state outright.
1952
1988
  */
1953
- getSummary(options) {
1989
+ summary(options) {
1954
1990
  return (options.client ?? this.client).get({
1955
1991
  requestValidator: async (data) => await zod.object({
1956
1992
  body: zod.never().optional(),
1957
- path: require_zod_gen.zStatsGetSummaryPath,
1958
- query: require_zod_gen.zStatsGetSummaryQuery.optional()
1993
+ path: require_zod_gen.zAgentsSummaryPath,
1994
+ query: require_zod_gen.zAgentsSummaryQuery.optional()
1959
1995
  }).parseAsync(data),
1960
- responseValidator: async (data) => await require_zod_gen.zStatsGetSummaryResponse.parseAsync(data),
1996
+ responseValidator: async (data) => await require_zod_gen.zAgentsSummaryResponse.parseAsync(data),
1961
1997
  security: [{
1962
1998
  scheme: "bearer",
1963
1999
  type: "http"
1964
2000
  }],
1965
- url: "/api/projects/{project_id}/stats/summary",
2001
+ url: "/api/projects/{project_id}/agents/summary",
1966
2002
  ...options
1967
2003
  });
1968
2004
  }
1969
- };
1970
- var Feedback = class extends HeyApiClient {
1971
2005
  /**
1972
- * GET /api/projects/{project_id}/feedback
1973
- * Lists user feedback with what each user submitted. Every feedback is an
1974
- * issue of category `feedback`; spam is a muted one.
2006
+ * Top tools by call count (`gen_ai.operation.type:tool`).
1975
2007
  */
1976
- list(options) {
2008
+ tools(options) {
1977
2009
  return (options.client ?? this.client).get({
1978
2010
  requestValidator: async (data) => await zod.object({
1979
2011
  body: zod.never().optional(),
1980
- path: require_zod_gen.zFeedbackListPath,
1981
- query: require_zod_gen.zFeedbackListQuery.optional()
2012
+ path: require_zod_gen.zAgentsToolsPath,
2013
+ query: require_zod_gen.zAgentsToolsQuery.optional()
1982
2014
  }).parseAsync(data),
1983
- responseValidator: async (data) => await require_zod_gen.zFeedbackListResponse.parseAsync(data),
2015
+ responseValidator: async (data) => await require_zod_gen.zAgentsToolsResponse.parseAsync(data),
1984
2016
  security: [{
1985
2017
  scheme: "bearer",
1986
2018
  type: "http"
1987
2019
  }],
1988
- url: "/api/projects/{project_id}/feedback",
2020
+ url: "/api/projects/{project_id}/agents/tools",
1989
2021
  ...options
1990
2022
  });
1991
2023
  }
1992
- };
1993
- var Issues = class extends HeyApiClient {
1994
2024
  /**
1995
- * DELETE /api/projects/{project_id}/issues (bulk delete by ids or filter)
2025
+ * Lists the tools a project's agents called, with calls, errors and latency.
1996
2026
  */
1997
- bulkDelete(options) {
1998
- return (options.client ?? this.client).delete({
2027
+ toolsTable(options) {
2028
+ return (options.client ?? this.client).get({
1999
2029
  requestValidator: async (data) => await zod.object({
2000
- body: require_zod_gen.zIssuesBulkDeleteBody,
2001
- path: require_zod_gen.zIssuesBulkDeletePath,
2002
- query: zod.never().optional()
2030
+ body: zod.never().optional(),
2031
+ path: require_zod_gen.zAgentsToolsTablePath,
2032
+ query: require_zod_gen.zAgentsToolsTableQuery.optional()
2003
2033
  }).parseAsync(data),
2004
- responseValidator: async (data) => await require_zod_gen.zIssuesBulkDeleteResponse.parseAsync(data),
2034
+ responseValidator: async (data) => await require_zod_gen.zAgentsToolsTableResponse.parseAsync(data),
2005
2035
  security: [{
2006
2036
  scheme: "bearer",
2007
2037
  type: "http"
2008
2038
  }],
2009
- url: "/api/projects/{project_id}/issues",
2010
- ...options,
2011
- headers: {
2012
- "Content-Type": "application/json",
2013
- ...options.headers
2014
- }
2039
+ url: "/api/projects/{project_id}/agents/tools/stats",
2040
+ ...options
2015
2041
  });
2016
2042
  }
2017
2043
  /**
2018
- * GET /api/projects/{project_id}/issues
2019
- * 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.
2020
2046
  */
2021
- list(options) {
2047
+ traces(options) {
2022
2048
  return (options.client ?? this.client).get({
2023
2049
  requestValidator: async (data) => await zod.object({
2024
2050
  body: zod.never().optional(),
2025
- path: require_zod_gen.zIssuesListPath,
2026
- query: require_zod_gen.zIssuesListQuery.optional()
2051
+ path: require_zod_gen.zAgentsTracesPath,
2052
+ query: require_zod_gen.zAgentsTracesQuery.optional()
2027
2053
  }).parseAsync(data),
2028
- responseValidator: async (data) => await require_zod_gen.zIssuesListResponse.parseAsync(data),
2054
+ responseValidator: async (data) => await require_zod_gen.zAgentsTracesResponse.parseAsync(data),
2029
2055
  security: [{
2030
2056
  scheme: "bearer",
2031
2057
  type: "http"
2032
2058
  }],
2033
- url: "/api/projects/{project_id}/issues",
2059
+ url: "/api/projects/{project_id}/agents/traces",
2034
2060
  ...options
2035
2061
  });
2036
2062
  }
2063
+ };
2064
+ var AlertRules = class extends HeyApiClient {
2037
2065
  /**
2038
- * PUT /api/projects/{project_id}/issues (bulk mutate)
2066
+ * Lists the alerts a project sent, newest first.
2039
2067
  */
2040
- bulkUpdate(options) {
2041
- return (options.client ?? this.client).put({
2068
+ listHistory(options) {
2069
+ return (options.client ?? this.client).get({
2042
2070
  requestValidator: async (data) => await zod.object({
2043
- body: require_zod_gen.zIssuesBulkUpdateBody,
2044
- path: require_zod_gen.zIssuesBulkUpdatePath,
2045
- query: zod.never().optional()
2071
+ body: zod.never().optional(),
2072
+ path: require_zod_gen.zAlertRulesListHistoryPath,
2073
+ query: require_zod_gen.zAlertRulesListHistoryQuery.optional()
2046
2074
  }).parseAsync(data),
2047
- responseValidator: async (data) => await require_zod_gen.zIssuesBulkUpdateResponse.parseAsync(data),
2075
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesListHistoryResponse.parseAsync(data),
2048
2076
  security: [{
2049
2077
  scheme: "bearer",
2050
2078
  type: "http"
2051
2079
  }],
2052
- url: "/api/projects/{project_id}/issues",
2053
- ...options,
2054
- headers: {
2055
- "Content-Type": "application/json",
2056
- ...options.headers
2057
- }
2080
+ url: "/api/projects/{project_id}/alert-history",
2081
+ ...options
2058
2082
  });
2059
2083
  }
2060
2084
  /**
2061
- * DELETE /api/projects/{project_id}/issues/{issue_id}
2062
- * Hard-deletes an issue and all associated events
2085
+ * Count a project's alert deliveries per day, by outcome.
2063
2086
  */
2064
- delete(options) {
2065
- return (options.client ?? this.client).delete({
2087
+ historyByDay(options) {
2088
+ return (options.client ?? this.client).get({
2066
2089
  requestValidator: async (data) => await zod.object({
2067
2090
  body: zod.never().optional(),
2068
- path: require_zod_gen.zIssuesDeletePath,
2069
- query: zod.never().optional()
2091
+ path: require_zod_gen.zAlertRulesHistoryByDayPath,
2092
+ query: require_zod_gen.zAlertRulesHistoryByDayQuery.optional()
2070
2093
  }).parseAsync(data),
2071
- responseValidator: async (data) => await require_zod_gen.zIssuesDeleteResponse.parseAsync(data),
2094
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesHistoryByDayResponse.parseAsync(data),
2072
2095
  security: [{
2073
2096
  scheme: "bearer",
2074
2097
  type: "http"
2075
2098
  }],
2076
- url: "/api/projects/{project_id}/issues/{issue_id}",
2099
+ url: "/api/projects/{project_id}/alert-history/daily",
2077
2100
  ...options
2078
2101
  });
2079
2102
  }
2080
2103
  /**
2081
- * GET /api/projects/{project_id}/issues/{issue_id}
2082
- * Gets a single issue by ID
2104
+ * Lists a project's alert rules.
2083
2105
  */
2084
- get(options) {
2106
+ list(options) {
2085
2107
  return (options.client ?? this.client).get({
2086
2108
  requestValidator: async (data) => await zod.object({
2087
2109
  body: zod.never().optional(),
2088
- path: require_zod_gen.zIssuesGetPath,
2110
+ path: require_zod_gen.zAlertRulesListPath,
2089
2111
  query: zod.never().optional()
2090
2112
  }).parseAsync(data),
2091
- responseValidator: async (data) => await require_zod_gen.zIssuesGetResponse.parseAsync(data),
2113
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesListResponse.parseAsync(data),
2092
2114
  security: [{
2093
2115
  scheme: "bearer",
2094
2116
  type: "http"
2095
2117
  }],
2096
- url: "/api/projects/{project_id}/issues/{issue_id}",
2118
+ url: "/api/projects/{project_id}/alert-rules",
2097
2119
  ...options
2098
2120
  });
2099
2121
  }
2100
2122
  /**
2101
- * PATCH /api/projects/{project_id}/issues/{issue_id}
2102
- * Updates issue state (resolve, mute, etc.)
2123
+ * Creates an alert rule in a project.
2103
2124
  */
2104
- update(options) {
2105
- return (options.client ?? this.client).patch({
2125
+ create(options) {
2126
+ return (options.client ?? this.client).post({
2106
2127
  requestValidator: async (data) => await zod.object({
2107
- body: require_zod_gen.zIssuesUpdateBody,
2108
- path: require_zod_gen.zIssuesUpdatePath,
2128
+ body: require_zod_gen.zAlertRulesCreateBody,
2129
+ path: require_zod_gen.zAlertRulesCreatePath,
2109
2130
  query: zod.never().optional()
2110
2131
  }).parseAsync(data),
2111
- responseValidator: async (data) => await require_zod_gen.zIssuesUpdateResponse.parseAsync(data),
2132
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesCreateResponse.parseAsync(data),
2112
2133
  security: [{
2113
2134
  scheme: "bearer",
2114
2135
  type: "http"
2115
2136
  }],
2116
- url: "/api/projects/{project_id}/issues/{issue_id}",
2137
+ url: "/api/projects/{project_id}/alert-rules",
2117
2138
  ...options,
2118
2139
  headers: {
2119
2140
  "Content-Type": "application/json",
@@ -2122,60 +2143,59 @@ var Issues = class extends HeyApiClient {
2122
2143
  });
2123
2144
  }
2124
2145
  /**
2125
- * GET /{issue_id}/activity — chronological activity log (incl. comments).
2146
+ * Deletes an alert rule.
2126
2147
  */
2127
- getActivity(options) {
2128
- return (options.client ?? this.client).get({
2148
+ delete(options) {
2149
+ return (options.client ?? this.client).delete({
2129
2150
  requestValidator: async (data) => await zod.object({
2130
2151
  body: zod.never().optional(),
2131
- path: require_zod_gen.zIssuesGetActivityPath,
2152
+ path: require_zod_gen.zAlertRulesDeletePath,
2132
2153
  query: zod.never().optional()
2133
2154
  }).parseAsync(data),
2134
- responseValidator: async (data) => await require_zod_gen.zIssuesGetActivityResponse.parseAsync(data),
2155
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesDeleteResponse.parseAsync(data),
2135
2156
  security: [{
2136
2157
  scheme: "bearer",
2137
2158
  type: "http"
2138
2159
  }],
2139
- url: "/api/projects/{project_id}/issues/{issue_id}/activity",
2160
+ url: "/api/projects/{project_id}/alert-rules/{rule_id}",
2140
2161
  ...options
2141
2162
  });
2142
2163
  }
2143
2164
  /**
2144
- * GET /api/projects/{project_id}/issues/{issue_id}/aggregates
2145
- * Returns the unique user count and top tags for the issue.
2165
+ * Gets one alert rule.
2146
2166
  */
2147
- getAggregates(options) {
2167
+ get(options) {
2148
2168
  return (options.client ?? this.client).get({
2149
2169
  requestValidator: async (data) => await zod.object({
2150
2170
  body: zod.never().optional(),
2151
- path: require_zod_gen.zIssuesGetAggregatesPath,
2171
+ path: require_zod_gen.zAlertRulesGetPath,
2152
2172
  query: zod.never().optional()
2153
2173
  }).parseAsync(data),
2154
- responseValidator: async (data) => await require_zod_gen.zIssuesGetAggregatesResponse.parseAsync(data),
2174
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesGetResponse.parseAsync(data),
2155
2175
  security: [{
2156
2176
  scheme: "bearer",
2157
2177
  type: "http"
2158
2178
  }],
2159
- url: "/api/projects/{project_id}/issues/{issue_id}/aggregates",
2179
+ url: "/api/projects/{project_id}/alert-rules/{rule_id}",
2160
2180
  ...options
2161
2181
  });
2162
2182
  }
2163
2183
  /**
2164
- * PUT /{issue_id}/bookmark — set/clear the per-user bookmark.
2184
+ * Updates an alert rule.
2165
2185
  */
2166
- setBookmark(options) {
2167
- return (options.client ?? this.client).put({
2186
+ update(options) {
2187
+ return (options.client ?? this.client).patch({
2168
2188
  requestValidator: async (data) => await zod.object({
2169
- body: require_zod_gen.zIssuesSetBookmarkBody,
2170
- path: require_zod_gen.zIssuesSetBookmarkPath,
2189
+ body: require_zod_gen.zAlertRulesUpdateBody,
2190
+ path: require_zod_gen.zAlertRulesUpdatePath,
2171
2191
  query: zod.never().optional()
2172
2192
  }).parseAsync(data),
2173
- responseValidator: async (data) => await require_zod_gen.zIssuesSetBookmarkResponse.parseAsync(data),
2193
+ responseValidator: async (data) => await require_zod_gen.zAlertRulesUpdateResponse.parseAsync(data),
2174
2194
  security: [{
2175
2195
  scheme: "bearer",
2176
2196
  type: "http"
2177
2197
  }],
2178
- url: "/api/projects/{project_id}/issues/{issue_id}/bookmark",
2198
+ url: "/api/projects/{project_id}/alert-rules/{rule_id}",
2179
2199
  ...options,
2180
2200
  headers: {
2181
2201
  "Content-Type": "application/json",
@@ -2183,176 +2203,168 @@ var Issues = class extends HeyApiClient {
2183
2203
  }
2184
2204
  });
2185
2205
  }
2206
+ };
2207
+ var Events = class extends HeyApiClient {
2186
2208
  /**
2187
- * POST /{issue_id}/comments — 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.
2188
2211
  */
2189
- createComment(options) {
2190
- return (options.client ?? this.client).post({
2212
+ downloadAttachment(options) {
2213
+ return (options.client ?? this.client).get({
2191
2214
  requestValidator: async (data) => await zod.object({
2192
- body: require_zod_gen.zIssuesCreateCommentBody,
2193
- path: require_zod_gen.zIssuesCreateCommentPath,
2215
+ body: zod.never().optional(),
2216
+ path: require_zod_gen.zEventsDownloadAttachmentPath,
2194
2217
  query: zod.never().optional()
2195
2218
  }).parseAsync(data),
2196
- responseValidator: async (data) => await require_zod_gen.zIssuesCreateCommentResponse.parseAsync(data),
2219
+ responseValidator: async (data) => await require_zod_gen.zEventsDownloadAttachmentResponse.parseAsync(data),
2197
2220
  security: [{
2198
2221
  scheme: "bearer",
2199
2222
  type: "http"
2200
2223
  }],
2201
- url: "/api/projects/{project_id}/issues/{issue_id}/comments",
2202
- ...options,
2203
- headers: {
2204
- "Content-Type": "application/json",
2205
- ...options.headers
2206
- }
2224
+ url: "/api/projects/{project_id}/attachments/{attachment_id}",
2225
+ ...options
2207
2226
  });
2208
2227
  }
2209
2228
  /**
2210
- * GET /api/projects/{project_id}/issues/{issue_id}/hashes
2211
- * Lists the grouping hashes that map to an issue.
2229
+ * Resolve the ID returned by a Sentry SDK without already knowing the issue.
2212
2230
  */
2213
- getHashes(options) {
2231
+ getBySentryId(options) {
2214
2232
  return (options.client ?? this.client).get({
2215
2233
  requestValidator: async (data) => await zod.object({
2216
2234
  body: zod.never().optional(),
2217
- path: require_zod_gen.zIssuesGetHashesPath,
2235
+ path: require_zod_gen.zEventsGetBySentryIdPath,
2218
2236
  query: zod.never().optional()
2219
2237
  }).parseAsync(data),
2220
- responseValidator: async (data) => await require_zod_gen.zIssuesGetHashesResponse.parseAsync(data),
2238
+ responseValidator: async (data) => await require_zod_gen.zEventsGetBySentryIdResponse.parseAsync(data),
2221
2239
  security: [{
2222
2240
  scheme: "bearer",
2223
2241
  type: "http"
2224
2242
  }],
2225
- url: "/api/projects/{project_id}/issues/{issue_id}/hashes",
2243
+ url: "/api/projects/{project_id}/events/sentry/{event_id}",
2226
2244
  ...options
2227
2245
  });
2228
2246
  }
2229
2247
  /**
2230
- * POST /{issue_id}/seen — mark the issue as seen by the current user.
2248
+ * Lists events for an issue with cursor-based pagination
2231
2249
  */
2232
- markSeen(options) {
2233
- return (options.client ?? this.client).post({
2250
+ list(options) {
2251
+ return (options.client ?? this.client).get({
2234
2252
  requestValidator: async (data) => await zod.object({
2235
2253
  body: zod.never().optional(),
2236
- path: require_zod_gen.zIssuesMarkSeenPath,
2237
- query: zod.never().optional()
2254
+ path: require_zod_gen.zEventsListPath,
2255
+ query: require_zod_gen.zEventsListQuery.optional()
2238
2256
  }).parseAsync(data),
2239
- responseValidator: async (data) => await require_zod_gen.zIssuesMarkSeenResponse.parseAsync(data),
2257
+ responseValidator: async (data) => await require_zod_gen.zEventsListResponse.parseAsync(data),
2240
2258
  security: [{
2241
2259
  scheme: "bearer",
2242
2260
  type: "http"
2243
2261
  }],
2244
- url: "/api/projects/{project_id}/issues/{issue_id}/seen",
2262
+ url: "/api/projects/{project_id}/issues/{issue_id}/events",
2245
2263
  ...options
2246
2264
  });
2247
2265
  }
2248
2266
  /**
2249
- * GET /{issue_id}/stats?window=24h|30d — zero-filled event-count timeseries.
2267
+ * Gets a single event with full data
2250
2268
  */
2251
- getStats(options) {
2269
+ get(options) {
2252
2270
  return (options.client ?? this.client).get({
2253
2271
  requestValidator: async (data) => await zod.object({
2254
2272
  body: zod.never().optional(),
2255
- path: require_zod_gen.zIssuesGetStatsPath,
2256
- query: require_zod_gen.zIssuesGetStatsQuery.optional()
2273
+ path: require_zod_gen.zEventsGetPath,
2274
+ query: zod.never().optional()
2257
2275
  }).parseAsync(data),
2258
- responseValidator: async (data) => await require_zod_gen.zIssuesGetStatsResponse.parseAsync(data),
2276
+ responseValidator: async (data) => await require_zod_gen.zEventsGetResponse.parseAsync(data),
2259
2277
  security: [{
2260
2278
  scheme: "bearer",
2261
2279
  type: "http"
2262
2280
  }],
2263
- url: "/api/projects/{project_id}/issues/{issue_id}/stats",
2281
+ url: "/api/projects/{project_id}/issues/{issue_id}/events/{event_id}",
2264
2282
  ...options
2265
2283
  });
2266
2284
  }
2267
2285
  /**
2268
- * PUT /{issue_id}/subscription — set/clear the per-user subscription.
2286
+ * Lists the files sent with an event, such as a feedback's screenshot.
2269
2287
  */
2270
- setSubscription(options) {
2271
- return (options.client ?? this.client).put({
2288
+ listAttachments(options) {
2289
+ return (options.client ?? this.client).get({
2272
2290
  requestValidator: async (data) => await zod.object({
2273
- body: require_zod_gen.zIssuesSetSubscriptionBody,
2274
- path: require_zod_gen.zIssuesSetSubscriptionPath,
2291
+ body: zod.never().optional(),
2292
+ path: require_zod_gen.zEventsListAttachmentsPath,
2275
2293
  query: zod.never().optional()
2276
2294
  }).parseAsync(data),
2277
- responseValidator: async (data) => await require_zod_gen.zIssuesSetSubscriptionResponse.parseAsync(data),
2295
+ responseValidator: async (data) => await require_zod_gen.zEventsListAttachmentsResponse.parseAsync(data),
2278
2296
  security: [{
2279
2297
  scheme: "bearer",
2280
2298
  type: "http"
2281
2299
  }],
2282
- url: "/api/projects/{project_id}/issues/{issue_id}/subscription",
2283
- ...options,
2284
- headers: {
2285
- "Content-Type": "application/json",
2286
- ...options.headers
2287
- }
2300
+ url: "/api/projects/{project_id}/issues/{issue_id}/events/{event_id}/attachments",
2301
+ ...options
2288
2302
  });
2289
2303
  }
2304
+ };
2305
+ var Environments = class extends HeyApiClient {
2290
2306
  /**
2291
- * GET /api/projects/{project_id}/issues/{issue_id}/tags/{key}
2292
- * 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.
2293
2308
  */
2294
- getTagValues(options) {
2309
+ list(options) {
2295
2310
  return (options.client ?? this.client).get({
2296
2311
  requestValidator: async (data) => await zod.object({
2297
2312
  body: zod.never().optional(),
2298
- path: require_zod_gen.zIssuesGetTagValuesPath,
2313
+ path: require_zod_gen.zEnvironmentsListPath,
2299
2314
  query: zod.never().optional()
2300
2315
  }).parseAsync(data),
2301
- responseValidator: async (data) => await require_zod_gen.zIssuesGetTagValuesResponse.parseAsync(data),
2316
+ responseValidator: async (data) => await require_zod_gen.zEnvironmentsListResponse.parseAsync(data),
2302
2317
  security: [{
2303
2318
  scheme: "bearer",
2304
2319
  type: "http"
2305
2320
  }],
2306
- url: "/api/projects/{project_id}/issues/{issue_id}/tags/{key}",
2321
+ url: "/api/projects/{project_id}/environments",
2307
2322
  ...options
2308
2323
  });
2309
2324
  }
2325
+ };
2326
+ var Stats = class extends HeyApiClient {
2310
2327
  /**
2311
- * GET /{issue_id}/user-reports — list user feedback for an issue.
2328
+ * Counts a project's events over time, bucketed for a chart.
2312
2329
  */
2313
- listUserReports(options) {
2330
+ getEventTimeseries(options) {
2314
2331
  return (options.client ?? this.client).get({
2315
2332
  requestValidator: async (data) => await zod.object({
2316
2333
  body: zod.never().optional(),
2317
- path: require_zod_gen.zIssuesListUserReportsPath,
2318
- query: require_zod_gen.zIssuesListUserReportsQuery.optional()
2334
+ path: require_zod_gen.zStatsGetEventTimeseriesPath,
2335
+ query: require_zod_gen.zStatsGetEventTimeseriesQuery.optional()
2319
2336
  }).parseAsync(data),
2320
- responseValidator: async (data) => await require_zod_gen.zIssuesListUserReportsResponse.parseAsync(data),
2337
+ responseValidator: async (data) => await require_zod_gen.zStatsGetEventTimeseriesResponse.parseAsync(data),
2321
2338
  security: [{
2322
2339
  scheme: "bearer",
2323
2340
  type: "http"
2324
2341
  }],
2325
- url: "/api/projects/{project_id}/issues/{issue_id}/user-reports",
2342
+ url: "/api/projects/{project_id}/events/stats",
2326
2343
  ...options
2327
2344
  });
2328
2345
  }
2329
2346
  /**
2330
- * POST /{issue_id}/user-reports — attach user feedback to an issue.
2347
+ * Headline figures for a project's overview: events, new and open issues.
2331
2348
  */
2332
- createUserReport(options) {
2333
- return (options.client ?? this.client).post({
2349
+ getSummary(options) {
2350
+ return (options.client ?? this.client).get({
2334
2351
  requestValidator: async (data) => await zod.object({
2335
- body: require_zod_gen.zIssuesCreateUserReportBody,
2336
- path: require_zod_gen.zIssuesCreateUserReportPath,
2337
- query: zod.never().optional()
2352
+ body: zod.never().optional(),
2353
+ path: require_zod_gen.zStatsGetSummaryPath,
2354
+ query: require_zod_gen.zStatsGetSummaryQuery.optional()
2338
2355
  }).parseAsync(data),
2339
- responseValidator: async (data) => await require_zod_gen.zIssuesCreateUserReportResponse.parseAsync(data),
2356
+ responseValidator: async (data) => await require_zod_gen.zStatsGetSummaryResponse.parseAsync(data),
2340
2357
  security: [{
2341
2358
  scheme: "bearer",
2342
2359
  type: "http"
2343
2360
  }],
2344
- url: "/api/projects/{project_id}/issues/{issue_id}/user-reports",
2345
- ...options,
2346
- headers: {
2347
- "Content-Type": "application/json",
2348
- ...options.headers
2349
- }
2361
+ url: "/api/projects/{project_id}/stats/summary",
2362
+ ...options
2350
2363
  });
2351
2364
  }
2352
2365
  };
2353
2366
  var Logs = class extends HeyApiClient {
2354
2367
  /**
2355
- * GET /api/projects/{project_id}/logs
2356
2368
  * Lists logs for a project with offset-based pagination (newest first by
2357
2369
  * log timestamp), optionally filtered by level, trace id, message and window.
2358
2370
  */
@@ -2373,7 +2385,6 @@ var Logs = class extends HeyApiClient {
2373
2385
  });
2374
2386
  }
2375
2387
  /**
2376
- * GET /api/projects/{project_id}/logs/volume
2377
2388
  * Counts a project's logs per level over time, with the list's filters.
2378
2389
  */
2379
2390
  volume(options) {
@@ -2393,7 +2404,6 @@ var Logs = class extends HeyApiClient {
2393
2404
  });
2394
2405
  }
2395
2406
  /**
2396
- * GET /api/projects/{project_id}/logs/{log_id}
2397
2407
  * Returns one of a project's logs, wherever it falls in the list.
2398
2408
  */
2399
2409
  get(options) {
@@ -2497,7 +2507,6 @@ var Members = class extends HeyApiClient {
2497
2507
  };
2498
2508
  var Monitors = class extends HeyApiClient {
2499
2509
  /**
2500
- * GET /api/projects/{project_id}/monitor-stats
2501
2510
  * Counts the check-ins of a project's monitors by status over a window, bucket by bucket.
2502
2511
  */
2503
2512
  stats(options) {
@@ -2517,7 +2526,7 @@ var Monitors = class extends HeyApiClient {
2517
2526
  });
2518
2527
  }
2519
2528
  /**
2520
- * GET /api/projects/{project_id}/monitors
2529
+ * Lists a project's cron monitors.
2521
2530
  */
2522
2531
  list(options) {
2523
2532
  return (options.client ?? this.client).get({
@@ -2536,7 +2545,7 @@ var Monitors = class extends HeyApiClient {
2536
2545
  });
2537
2546
  }
2538
2547
  /**
2539
- * POST /api/projects/{project_id}/monitors
2548
+ * Creates a cron monitor in a project.
2540
2549
  */
2541
2550
  create(options) {
2542
2551
  return (options.client ?? this.client).post({
@@ -2559,7 +2568,7 @@ var Monitors = class extends HeyApiClient {
2559
2568
  });
2560
2569
  }
2561
2570
  /**
2562
- * DELETE /api/projects/{project_id}/monitors/{slug}
2571
+ * Deletes a cron monitor and its check-ins.
2563
2572
  */
2564
2573
  delete(options) {
2565
2574
  return (options.client ?? this.client).delete({
@@ -2578,7 +2587,7 @@ var Monitors = class extends HeyApiClient {
2578
2587
  });
2579
2588
  }
2580
2589
  /**
2581
- * GET /api/projects/{project_id}/monitors/{slug}
2590
+ * Gets one cron monitor.
2582
2591
  */
2583
2592
  get(options) {
2584
2593
  return (options.client ?? this.client).get({
@@ -2597,7 +2606,7 @@ var Monitors = class extends HeyApiClient {
2597
2606
  });
2598
2607
  }
2599
2608
  /**
2600
- * PUT /api/projects/{project_id}/monitors/{slug}
2609
+ * Updates a cron monitor.
2601
2610
  */
2602
2611
  update(options) {
2603
2612
  return (options.client ?? this.client).put({
@@ -2620,7 +2629,7 @@ var Monitors = class extends HeyApiClient {
2620
2629
  });
2621
2630
  }
2622
2631
  /**
2623
- * GET /api/projects/{project_id}/monitors/{slug}/checkins
2632
+ * Lists a cron monitor's check-ins, newest first.
2624
2633
  */
2625
2634
  listCheckins(options) {
2626
2635
  return (options.client ?? this.client).get({
@@ -2641,7 +2650,7 @@ var Monitors = class extends HeyApiClient {
2641
2650
  };
2642
2651
  var Sessions = class extends HeyApiClient {
2643
2652
  /**
2644
- * GET /api/projects/{project_id}/sessions/stats
2653
+ * Session counts by release, for release health.
2645
2654
  */
2646
2655
  getStats(options) {
2647
2656
  return (options.client ?? this.client).get({
@@ -2660,7 +2669,7 @@ var Sessions = class extends HeyApiClient {
2660
2669
  });
2661
2670
  }
2662
2671
  /**
2663
- * GET /api/projects/{project_id}/sessions/summary
2672
+ * Totals and crash-free rates for a project's sessions.
2664
2673
  */
2665
2674
  getSummary(options) {
2666
2675
  return (options.client ?? this.client).get({
@@ -2679,7 +2688,7 @@ var Sessions = class extends HeyApiClient {
2679
2688
  });
2680
2689
  }
2681
2690
  /**
2682
- * GET /api/projects/{project_id}/sessions/timeseries
2691
+ * Session counts over time, bucketed for a chart.
2683
2692
  */
2684
2693
  getTimeseries(options) {
2685
2694
  return (options.client ?? this.client).get({
@@ -2700,7 +2709,6 @@ var Sessions = class extends HeyApiClient {
2700
2709
  };
2701
2710
  var Spans = class extends HeyApiClient {
2702
2711
  /**
2703
- * GET /api/projects/{project_id}/spans
2704
2712
  * Lists spans for a project with offset-based pagination (newest by
2705
2713
  * start_timestamp first), optionally filtered by op/status/trace_id.
2706
2714
  * Returns spans regardless of origin — standalone or extracted from a
@@ -2723,7 +2731,6 @@ var Spans = class extends HeyApiClient {
2723
2731
  });
2724
2732
  }
2725
2733
  /**
2726
- * GET /api/projects/{project_id}/spans/{span_id}
2727
2734
  * Returns one span together with its attributes and tags — the `gen_ai.*`
2728
2735
  * payload (prompts, responses, tool arguments and results) that the list
2729
2736
  * response deliberately omits, since `spans.data` is untrimmed and a whole
@@ -2748,7 +2755,6 @@ var Spans = class extends HeyApiClient {
2748
2755
  };
2749
2756
  var Transactions = class extends HeyApiClient {
2750
2757
  /**
2751
- * GET /api/projects/{project_id}/transactions
2752
2758
  * Lists transactions for a project with offset-based pagination (newest first).
2753
2759
  */
2754
2760
  list(options) {
@@ -2768,7 +2774,6 @@ var Transactions = class extends HeyApiClient {
2768
2774
  });
2769
2775
  }
2770
2776
  /**
2771
- * GET /api/projects/{project_id}/transactions/stats
2772
2777
  * Returns paginated aggregate performance stats (count, time spent, p50/p95/p99
2773
2778
  * latency, failure rate) grouped by transaction name + op, the most time spent
2774
2779
  * first unless `sort` asks otherwise.
@@ -2790,7 +2795,6 @@ var Transactions = class extends HeyApiClient {
2790
2795
  });
2791
2796
  }
2792
2797
  /**
2793
- * GET /api/projects/{project_id}/transactions/stats/group?name=&op=
2794
2798
  * Returns the aggregate stats for a single transaction group — a direct lookup
2795
2799
  * so the summary header works regardless of how many groups the project has.
2796
2800
  */
@@ -2833,7 +2837,6 @@ var Transactions = class extends HeyApiClient {
2833
2837
  });
2834
2838
  }
2835
2839
  /**
2836
- * GET /api/projects/{project_id}/transactions/{transaction_id}
2837
2840
  * Returns a single transaction with its full Sentry payload (spans, contexts,
2838
2841
  * measurements, tags) for the performance detail view.
2839
2842
  */
@@ -2854,7 +2857,6 @@ var Transactions = class extends HeyApiClient {
2854
2857
  });
2855
2858
  }
2856
2859
  /**
2857
- * GET /api/projects/{project_id}/transactions/{transaction_id}/spans
2858
2860
  * Returns the indexed spans extracted from a transaction, ordered for the
2859
2861
  * waterfall view (by start_timestamp ascending).
2860
2862
  */
@@ -2875,6 +2877,115 @@ var Transactions = class extends HeyApiClient {
2875
2877
  });
2876
2878
  }
2877
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
+ };
2878
2989
  var Roles = class extends HeyApiClient {
2879
2990
  /**
2880
2991
  * Lists every role with its permissions and how often it is assigned.
@@ -2966,8 +3077,6 @@ var Roles = class extends HeyApiClient {
2966
3077
  };
2967
3078
  var Schedules = class extends HeyApiClient {
2968
3079
  /**
2969
- * POST /api/schedules/preview
2970
- *
2971
3080
  * Validates a schedule and lists its next five runs from now, so no client
2972
3081
  * ever parses a crontab itself.
2973
3082
  */
@@ -3039,7 +3148,7 @@ var Settings = class extends HeyApiClient {
3039
3148
  };
3040
3149
  var Storage = class extends HeyApiClient {
3041
3150
  /**
3042
- * GET /api/storage/age — rows per age bucket, per project and kind.
3151
+ * Rows per age bucket, per project and kind.
3043
3152
  */
3044
3153
  getAge(options) {
3045
3154
  return (options?.client ?? this.client).get({
@@ -3058,7 +3167,7 @@ var Storage = class extends HeyApiClient {
3058
3167
  });
3059
3168
  }
3060
3169
  /**
3061
- * POST /api/storage/cleanup — starts deleting old data and the issues it
3170
+ * Starts deleting old data and the issues it
3062
3171
  * empties. Returns at once: the purge runs detached, in batches, and
3063
3172
  * `GET /api/storage/cleanup/status` reports its progress.
3064
3173
  */
@@ -3083,7 +3192,7 @@ var Storage = class extends HeyApiClient {
3083
3192
  });
3084
3193
  }
3085
3194
  /**
3086
- * POST /api/storage/cleanup/preview — dry-run count, mutates nothing.
3195
+ * Dry-run count, mutates nothing.
3087
3196
  */
3088
3197
  previewCleanup(options) {
3089
3198
  return (options.client ?? this.client).post({
@@ -3106,7 +3215,7 @@ var Storage = class extends HeyApiClient {
3106
3215
  });
3107
3216
  }
3108
3217
  /**
3109
- * GET /api/storage/cleanup/status — progress of the running cleanup, or the
3218
+ * Progress of the running cleanup, or the
3110
3219
  * outcome of the last one.
3111
3220
  */
3112
3221
  getCleanupStatus(options) {
@@ -3126,7 +3235,7 @@ var Storage = class extends HeyApiClient {
3126
3235
  });
3127
3236
  }
3128
3237
  /**
3129
- * GET /api/storage/compaction — whether the database file shrinks when data
3238
+ * Whether the database file shrinks when data
3130
3239
  * is deleted, and the disk a one-off compaction needs.
3131
3240
  */
3132
3241
  getCompaction(options) {
@@ -3146,7 +3255,7 @@ var Storage = class extends HeyApiClient {
3146
3255
  });
3147
3256
  }
3148
3257
  /**
3149
- * POST /api/storage/compaction — rewrites a SQLite file created before
3258
+ * Rewrites a SQLite file created before
3150
3259
  * incremental mode, so it gives freed space back from then on. Writes wait
3151
3260
  * while it runs; follow it with `GET /api/storage/cleanup/status`.
3152
3261
  */
@@ -3167,7 +3276,7 @@ var Storage = class extends HeyApiClient {
3167
3276
  });
3168
3277
  }
3169
3278
  /**
3170
- * GET /api/storage/projects — per-project counts and estimated weight.
3279
+ * Per-project counts and estimated weight.
3171
3280
  */
3172
3281
  getProjects(options) {
3173
3282
  return (options?.client ?? this.client).get({
@@ -3186,7 +3295,7 @@ var Storage = class extends HeyApiClient {
3186
3295
  });
3187
3296
  }
3188
3297
  /**
3189
- * GET /api/storage/retention
3298
+ * Gets the retention settings and the cleanup schedule.
3190
3299
  */
3191
3300
  getRetention(options) {
3192
3301
  return (options?.client ?? this.client).get({
@@ -3205,7 +3314,7 @@ var Storage = class extends HeyApiClient {
3205
3314
  });
3206
3315
  }
3207
3316
  /**
3208
- * PUT /api/storage/retention
3317
+ * Updates the retention settings; the next cleanup is scheduled at once.
3209
3318
  */
3210
3319
  updateRetention(options) {
3211
3320
  return (options.client ?? this.client).put({
@@ -3228,7 +3337,7 @@ var Storage = class extends HeyApiClient {
3228
3337
  });
3229
3338
  }
3230
3339
  /**
3231
- * POST /api/storage/retention/preview — what saving these settings would
3340
+ * What saving these settings would
3232
3341
  * delete on the next cleanup, without saving or deleting anything.
3233
3342
  */
3234
3343
  previewRetention(options) {
@@ -3252,7 +3361,7 @@ var Storage = class extends HeyApiClient {
3252
3361
  });
3253
3362
  }
3254
3363
  /**
3255
- * POST /api/storage/retention/run — enforces the saved retention now,
3364
+ * Enforces the saved retention now,
3256
3365
  * without waiting for the schedule. Follow it with the cleanup status.
3257
3366
  */
3258
3367
  runRetention(options) {
@@ -3272,7 +3381,7 @@ var Storage = class extends HeyApiClient {
3272
3381
  });
3273
3382
  }
3274
3383
  /**
3275
- * POST /api/storage/source-maps/gc — delete orphaned source maps (DB + disk).
3384
+ * Delete orphaned source maps (DB + disk).
3276
3385
  */
3277
3386
  gcSourceMaps(options) {
3278
3387
  return (options?.client ?? this.client).post({
@@ -3291,7 +3400,7 @@ var Storage = class extends HeyApiClient {
3291
3400
  });
3292
3401
  }
3293
3402
  /**
3294
- * POST /api/storage/source-maps/gc/preview — dry-run orphan count, deletes nothing.
3403
+ * Dry-run orphan count, deletes nothing.
3295
3404
  */
3296
3405
  previewSourceMapGc(options) {
3297
3406
  return (options?.client ?? this.client).post({
@@ -3310,7 +3419,7 @@ var Storage = class extends HeyApiClient {
3310
3419
  });
3311
3420
  }
3312
3421
  /**
3313
- * GET /api/storage/summary — row counts, DB size, and source-map weight.
3422
+ * Row counts, DB size, and source-map weight.
3314
3423
  */
3315
3424
  getSummary(options) {
3316
3425
  return (options?.client ?? this.client).get({
@@ -3331,7 +3440,7 @@ var Storage = class extends HeyApiClient {
3331
3440
  };
3332
3441
  var Team = class extends HeyApiClient {
3333
3442
  /**
3334
- * GET /api/team — list all users (needs `users:read`)
3443
+ * List all users (needs `users:read`)
3335
3444
  */
3336
3445
  list(options) {
3337
3446
  return (options?.client ?? this.client).get({
@@ -3350,7 +3459,7 @@ var Team = class extends HeyApiClient {
3350
3459
  });
3351
3460
  }
3352
3461
  /**
3353
- * DELETE /api/team/{user_id} — remove a user from the instance (needs `users:delete`)
3462
+ * Remove a user from the instance (needs `users:delete`)
3354
3463
  */
3355
3464
  deleteUser(options) {
3356
3465
  return (options.client ?? this.client).delete({
@@ -3369,7 +3478,7 @@ var Team = class extends HeyApiClient {
3369
3478
  });
3370
3479
  }
3371
3480
  /**
3372
- * PATCH /api/team/{user_id}/role — change a user's global role (needs `users:update`)
3481
+ * Change a user's global role (needs `users:update`)
3373
3482
  */
3374
3483
  updateRole(options) {
3375
3484
  return (options.client ?? this.client).patch({
@@ -3394,7 +3503,7 @@ var Team = class extends HeyApiClient {
3394
3503
  };
3395
3504
  var Telemetry = class extends HeyApiClient {
3396
3505
  /**
3397
- * GET /api/telemetry/preview
3506
+ * Shows the exact anonymous telemetry report this instance would send.
3398
3507
  */
3399
3508
  preview(options) {
3400
3509
  return (options?.client ?? this.client).get({
@@ -3415,7 +3524,7 @@ var Telemetry = class extends HeyApiClient {
3415
3524
  };
3416
3525
  var Tokens = class extends HeyApiClient {
3417
3526
  /**
3418
- * GET /api/tokens - List tokens (masked)
3527
+ * List tokens (masked)
3419
3528
  *
3420
3529
  * Everyone sees their own tokens; `api-tokens:read` sees every token. A token
3421
3530
  * limited to other permissions sees none: it must not reach its owner's others.
@@ -3437,7 +3546,7 @@ var Tokens = class extends HeyApiClient {
3437
3546
  });
3438
3547
  }
3439
3548
  /**
3440
- * POST /api/tokens - Create a new token (from a signed-in session only)
3549
+ * Create a new token (from a signed-in session only)
3441
3550
  *
3442
3551
  * A token cannot create tokens: a limited or expiring one could otherwise
3443
3552
  * mint itself a way out of its limits.
@@ -3463,7 +3572,7 @@ var Tokens = class extends HeyApiClient {
3463
3572
  });
3464
3573
  }
3465
3574
  /**
3466
- * DELETE /api/tokens/{id} - Revoke a token
3575
+ * Revoke a token
3467
3576
  *
3468
3577
  * Everyone may revoke their own; `api-tokens:delete` revokes any.
3469
3578
  */
@@ -3484,7 +3593,7 @@ var Tokens = class extends HeyApiClient {
3484
3593
  });
3485
3594
  }
3486
3595
  /**
3487
- * GET /api/tokens/{id} - Token details, masked
3596
+ * Token details, masked
3488
3597
  *
3489
3598
  * Tokens are stored hashed, so the full value is only ever shown on
3490
3599
  * creation. Everyone may view their own; `api-tokens:read` views any.
@@ -3553,9 +3662,117 @@ var Users = class extends HeyApiClient {
3553
3662
  });
3554
3663
  }
3555
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
+ };
3556
3774
  var Auth = class extends HeyApiClient {
3557
3775
  /**
3558
- * POST /auth/accept-invitation
3559
3776
  * Accept a pending invitation: creates the user (with the invite's email + role) and logs in.
3560
3777
  */
3561
3778
  acceptInvitation(options) {
@@ -3575,7 +3792,6 @@ var Auth = class extends HeyApiClient {
3575
3792
  });
3576
3793
  }
3577
3794
  /**
3578
- * GET /auth/invitation/{token}
3579
3795
  * Returns the invitation's details if it is still acceptable (for the accept page).
3580
3796
  */
3581
3797
  getInvitation(options) {
@@ -3591,7 +3807,6 @@ var Auth = class extends HeyApiClient {
3591
3807
  });
3592
3808
  }
3593
3809
  /**
3594
- * POST /auth/login
3595
3810
  * Authenticate user and create session
3596
3811
  */
3597
3812
  login(options) {
@@ -3611,7 +3826,6 @@ var Auth = class extends HeyApiClient {
3611
3826
  });
3612
3827
  }
3613
3828
  /**
3614
- * POST /auth/logout
3615
3829
  * Clear session
3616
3830
  */
3617
3831
  logout(options) {
@@ -3624,7 +3838,7 @@ var Auth = class extends HeyApiClient {
3624
3838
  responseValidator: async (data) => await require_zod_gen.zAuthLogoutResponse.parseAsync(data),
3625
3839
  security: [{
3626
3840
  in: "cookie",
3627
- name: "session",
3841
+ name: "rustrak_session",
3628
3842
  type: "apiKey"
3629
3843
  }],
3630
3844
  url: "/auth/logout",
@@ -3632,7 +3846,6 @@ var Auth = class extends HeyApiClient {
3632
3846
  });
3633
3847
  }
3634
3848
  /**
3635
- * GET /auth/me
3636
3849
  * Get current authenticated user
3637
3850
  */
3638
3851
  getCurrentUser(options) {
@@ -3645,7 +3858,7 @@ var Auth = class extends HeyApiClient {
3645
3858
  responseValidator: async (data) => await require_zod_gen.zAuthGetCurrentUserResponse.parseAsync(data),
3646
3859
  security: [{
3647
3860
  in: "cookie",
3648
- name: "session",
3861
+ name: "rustrak_session",
3649
3862
  type: "apiKey"
3650
3863
  }],
3651
3864
  url: "/auth/me",
@@ -3653,7 +3866,6 @@ var Auth = class extends HeyApiClient {
3653
3866
  });
3654
3867
  }
3655
3868
  /**
3656
- * PATCH /auth/me
3657
3869
  * Update the current user's presentation preferences
3658
3870
  */
3659
3871
  updateCurrentUser(options) {
@@ -3666,7 +3878,7 @@ var Auth = class extends HeyApiClient {
3666
3878
  responseValidator: async (data) => await require_zod_gen.zAuthUpdateCurrentUserResponse.parseAsync(data),
3667
3879
  security: [{
3668
3880
  in: "cookie",
3669
- name: "session",
3881
+ name: "rustrak_session",
3670
3882
  type: "apiKey"
3671
3883
  }],
3672
3884
  url: "/auth/me",
@@ -3678,8 +3890,8 @@ var Auth = class extends HeyApiClient {
3678
3890
  });
3679
3891
  }
3680
3892
  /**
3681
- * POST /auth/me/password
3682
- * Change the current user's password
3893
+ * Change the current user's password. Every other session of the user ends;
3894
+ * this one continues under a new id.
3683
3895
  */
3684
3896
  changePassword(options) {
3685
3897
  return (options.client ?? this.client).post({
@@ -3691,7 +3903,7 @@ var Auth = class extends HeyApiClient {
3691
3903
  responseValidator: async (data) => await require_zod_gen.zAuthChangePasswordResponse.parseAsync(data),
3692
3904
  security: [{
3693
3905
  in: "cookie",
3694
- name: "session",
3906
+ name: "rustrak_session",
3695
3907
  type: "apiKey"
3696
3908
  }],
3697
3909
  url: "/auth/me/password",
@@ -3703,26 +3915,6 @@ var Auth = class extends HeyApiClient {
3703
3915
  });
3704
3916
  }
3705
3917
  /**
3706
- * POST /auth/register
3707
- * Registration is invite-only — always rejected. Use `/auth/accept-invitation`.
3708
- */
3709
- register(options) {
3710
- return (options.client ?? this.client).post({
3711
- requestValidator: async (data) => await zod.object({
3712
- body: require_zod_gen.zAuthRegisterBody,
3713
- path: zod.never().optional(),
3714
- query: zod.never().optional()
3715
- }).parseAsync(data),
3716
- url: "/auth/register",
3717
- ...options,
3718
- headers: {
3719
- "Content-Type": "application/json",
3720
- ...options.headers
3721
- }
3722
- });
3723
- }
3724
- /**
3725
- * GET /auth/sso/callback
3726
3918
  * Validate the provider response, resolve or provision the local account, and
3727
3919
  * establish the normal Rustrak session.
3728
3920
  */
@@ -3739,7 +3931,6 @@ var Auth = class extends HeyApiClient {
3739
3931
  });
3740
3932
  }
3741
3933
  /**
3742
- * GET /auth/sso/config
3743
3934
  * Public, non-sensitive information used to render the login page.
3744
3935
  */
3745
3936
  ssoConfig(options) {
@@ -3755,7 +3946,6 @@ var Auth = class extends HeyApiClient {
3755
3946
  });
3756
3947
  }
3757
3948
  /**
3758
- * GET /auth/sso/link
3759
3949
  * The account an SSO login matched, shown while its owner confirms.
3760
3950
  */
3761
3951
  ssoLink(options) {
@@ -3771,7 +3961,6 @@ var Auth = class extends HeyApiClient {
3771
3961
  });
3772
3962
  }
3773
3963
  /**
3774
- * POST /auth/sso/link
3775
3964
  * Link the pending SSO identity to its account once the account's password
3776
3965
  * is given, and sign in. A wrong password keeps the link pending for a retry.
3777
3966
  */
@@ -3792,9 +3981,8 @@ var Auth = class extends HeyApiClient {
3792
3981
  });
3793
3982
  }
3794
3983
  /**
3795
- * POST /auth/sso/start
3796
3984
  * Create a one-time OIDC authorization request and retain its protections in
3797
- * the encrypted session cookie.
3985
+ * the session.
3798
3986
  */
3799
3987
  ssoStart(options) {
3800
3988
  return (options?.client ?? this.client).post({
@@ -3864,7 +4052,7 @@ var Health = class extends HeyApiClient {
3864
4052
  type: "http"
3865
4053
  }, {
3866
4054
  in: "cookie",
3867
- name: "session",
4055
+ name: "rustrak_session",
3868
4056
  type: "apiKey"
3869
4057
  }],
3870
4058
  url: "/health/version",
@@ -3898,6 +4086,10 @@ var Rustrak = class Rustrak extends HeyApiClient {
3898
4086
  get access() {
3899
4087
  return this._access ??= new Access({ client: this.client });
3900
4088
  }
4089
+ _feedback;
4090
+ get feedback() {
4091
+ return this._feedback ??= new Feedback({ client: this.client });
4092
+ }
3901
4093
  _github;
3902
4094
  get github() {
3903
4095
  return this._github ??= new Github({ client: this.client });
@@ -3910,6 +4102,10 @@ var Rustrak = class Rustrak extends HeyApiClient {
3910
4102
  get invitations() {
3911
4103
  return this._invitations ??= new Invitations({ client: this.client });
3912
4104
  }
4105
+ _issues;
4106
+ get issues() {
4107
+ return this._issues ??= new Issues({ client: this.client });
4108
+ }
3913
4109
  _oauth;
3914
4110
  get oauth() {
3915
4111
  return this._oauth ??= new Oauth({ client: this.client });
@@ -3938,14 +4134,6 @@ var Rustrak = class Rustrak extends HeyApiClient {
3938
4134
  get stats() {
3939
4135
  return this._stats ??= new Stats({ client: this.client });
3940
4136
  }
3941
- _feedback;
3942
- get feedback() {
3943
- return this._feedback ??= new Feedback({ client: this.client });
3944
- }
3945
- _issues;
3946
- get issues() {
3947
- return this._issues ??= new Issues({ client: this.client });
3948
- }
3949
4137
  _logs;
3950
4138
  get logs() {
3951
4139
  return this._logs ??= new Logs({ client: this.client });
@@ -3970,6 +4158,10 @@ var Rustrak = class Rustrak extends HeyApiClient {
3970
4158
  get transactions() {
3971
4159
  return this._transactions ??= new Transactions({ client: this.client });
3972
4160
  }
4161
+ _savedViews;
4162
+ get savedViews() {
4163
+ return this._savedViews ??= new SavedViews({ client: this.client });
4164
+ }
3973
4165
  _roles;
3974
4166
  get roles() {
3975
4167
  return this._roles ??= new Roles({ client: this.client });
@@ -4002,6 +4194,10 @@ var Rustrak = class Rustrak extends HeyApiClient {
4002
4194
  get users() {
4003
4195
  return this._users ??= new Users({ client: this.client });
4004
4196
  }
4197
+ _workspaceViews;
4198
+ get workspaceViews() {
4199
+ return this._workspaceViews ??= new WorkspaceViews({ client: this.client });
4200
+ }
4005
4201
  _auth;
4006
4202
  get auth() {
4007
4203
  return this._auth ??= new Auth({ client: this.client });
@@ -4032,6 +4228,7 @@ exports.Projects = Projects;
4032
4228
  exports.Releases = Releases;
4033
4229
  exports.Roles = Roles;
4034
4230
  exports.Rustrak = Rustrak;
4231
+ exports.SavedViews = SavedViews;
4035
4232
  exports.Schedules = Schedules;
4036
4233
  exports.Sentry = Sentry;
4037
4234
  exports.Sessions = Sessions;
@@ -4045,5 +4242,6 @@ exports.Telemetry = Telemetry;
4045
4242
  exports.Tokens = Tokens;
4046
4243
  exports.Transactions = Transactions;
4047
4244
  exports.Users = Users;
4245
+ exports.WorkspaceViews = WorkspaceViews;
4048
4246
 
4049
4247
  //# sourceMappingURL=sdk.gen.cjs.map