sentry 0.30.0 → 0.32.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.
package/dist/index.d.cts CHANGED
@@ -39,6 +39,146 @@ export default createSentrySDK;
39
39
 
40
40
  // --- Return types (derived from __jsonSchema) ---
41
41
 
42
+ export type ReplayListResult = {
43
+ /** Replay activity score */
44
+ activity?: number | null;
45
+ /** Browser metadata */
46
+ browser?: Record<string, unknown> | null;
47
+ /** Dead click count */
48
+ count_dead_clicks?: number | null;
49
+ /** Associated error count */
50
+ count_errors?: number | null;
51
+ /** Info event count */
52
+ count_infos?: number | null;
53
+ /** Rage click count */
54
+ count_rage_clicks?: number | null;
55
+ /** Recording segment count */
56
+ count_segments?: number | null;
57
+ /** Visited URL count */
58
+ count_urls?: number | null;
59
+ /** Warning event count */
60
+ count_warnings?: number | null;
61
+ /** Device metadata */
62
+ device?: Record<string, unknown> | null;
63
+ /** Distribution */
64
+ dist?: string | null;
65
+ /** Replay duration in seconds */
66
+ duration?: number | null;
67
+ /** Environment */
68
+ environment?: string | null;
69
+ /** Linked error IDs */
70
+ error_ids: unknown[];
71
+ /** Replay finish timestamp */
72
+ finished_at?: string | null;
73
+ /** Whether the current user has viewed the replay */
74
+ has_viewed?: boolean | null;
75
+ /** Replay ID */
76
+ id: string;
77
+ /** Linked info event IDs */
78
+ info_ids: unknown[];
79
+ /** Archived flag */
80
+ is_archived?: boolean | null;
81
+ /** Operating system metadata */
82
+ os?: Record<string, unknown> | null;
83
+ /** OTA update metadata */
84
+ ota_updates?: Record<string, unknown> | null;
85
+ /** Platform */
86
+ platform?: string | null;
87
+ /** Numeric project ID */
88
+ project_id?: string | null;
89
+ /** Associated releases */
90
+ releases: unknown[];
91
+ /** SDK metadata */
92
+ sdk?: Record<string, unknown> | null;
93
+ /** Replay start timestamp */
94
+ started_at?: string | null;
95
+ /** Replay tags */
96
+ tags: Record<string, unknown>;
97
+ /** Linked trace IDs */
98
+ trace_ids: unknown[];
99
+ /** Visited URLs */
100
+ urls: unknown[];
101
+ /** User metadata */
102
+ user?: Record<string, unknown> | null;
103
+ /** Linked warning event IDs */
104
+ warning_ids: unknown[];
105
+ };
106
+
107
+ export type ReplayViewResult = {
108
+ /** Summarized replay activity */
109
+ activity: unknown[];
110
+ /** Browser metadata */
111
+ browser?: Record<string, unknown> | null;
112
+ /** Dead click count */
113
+ count_dead_clicks?: number | null;
114
+ /** Associated error count */
115
+ count_errors?: number | null;
116
+ /** Info event count */
117
+ count_infos?: number | null;
118
+ /** Rage click count */
119
+ count_rage_clicks?: number | null;
120
+ /** Recording segment count */
121
+ count_segments?: number | null;
122
+ /** Visited URL count */
123
+ count_urls?: number | null;
124
+ /** Warning event count */
125
+ count_warnings?: number | null;
126
+ /** Device metadata */
127
+ device?: Record<string, unknown> | null;
128
+ /** Distribution */
129
+ dist?: string | null;
130
+ /** Replay duration in seconds */
131
+ duration?: number | null;
132
+ /** Environment */
133
+ environment?: string | null;
134
+ /** Linked error IDs */
135
+ error_ids: unknown[];
136
+ /** Replay finish timestamp */
137
+ finished_at?: string | null;
138
+ /** Whether the current user has viewed the replay */
139
+ has_viewed?: boolean | null;
140
+ /** Replay ID */
141
+ id: string;
142
+ /** Linked info event IDs */
143
+ info_ids: unknown[];
144
+ /** Archived flag */
145
+ is_archived?: boolean | null;
146
+ /** Operating system metadata */
147
+ os?: Record<string, unknown> | null;
148
+ /** OTA update metadata */
149
+ ota_updates?: Record<string, unknown> | null;
150
+ /** Platform */
151
+ platform?: string | null;
152
+ /** Numeric project ID */
153
+ project_id?: string | null;
154
+ /** Associated releases */
155
+ releases: unknown[];
156
+ /** SDK metadata */
157
+ sdk?: Record<string, unknown> | null;
158
+ /** Replay start timestamp */
159
+ started_at?: string | null;
160
+ /** Replay tags */
161
+ tags: Record<string, unknown>;
162
+ /** Linked trace IDs */
163
+ trace_ids: unknown[];
164
+ /** Visited URLs */
165
+ urls: unknown[];
166
+ /** User metadata */
167
+ user?: Record<string, unknown> | null;
168
+ /** Linked warning event IDs */
169
+ warning_ids: unknown[];
170
+ /** Replay click summaries */
171
+ clicks?: unknown[];
172
+ /** Replay type */
173
+ replay_type?: string | null;
174
+ /** Organization slug */
175
+ org: string;
176
+ /** Replay-related issues */
177
+ relatedIssues: unknown[];
178
+ /** Replay-related traces */
179
+ relatedTraces: unknown[];
180
+ };
181
+
42
182
  export type RepoListResult = {
43
183
  /** Repository ID */
44
184
  id: string;
@@ -68,7 +208,7 @@ export type TeamListResult = {
68
208
  /** Team name */
69
209
  name: string;
70
210
  /** Creation date (ISO 8601) */
71
- dateCreated?: string;
211
+ dateCreated?: string | null;
72
212
  /** Whether you are a member */
73
213
  isMember?: boolean;
74
214
  /** Your role in the team */
@@ -91,17 +231,13 @@ export type IssueListResult = {
91
231
  /** Number of affected users */
92
232
  userCount?: number;
93
233
  /** First occurrence (ISO 8601) */
94
- firstSeen?: string | null;
234
+ firstSeen?: string;
95
235
  /** Most recent occurrence (ISO 8601) */
96
- lastSeen?: string | null;
236
+ lastSeen?: string;
97
237
  /** Severity level */
98
238
  level?: string;
99
239
  /** Issue status */
100
240
  status?: string;
101
- /** Triage priority */
102
- priority?: string;
103
- /** Platform */
104
- platform?: string;
105
241
  /** URL to the issue in Sentry */
106
242
  permalink?: string;
107
243
  /** Project info */
@@ -109,7 +245,11 @@ export type IssueListResult = {
109
245
  /** Issue metadata */
110
246
  metadata?: Record<string, unknown>;
111
247
  /** Assigned user or team */
112
- assignedTo?: unknown | null;
248
+ assignedTo?: Record<string, unknown> | null;
249
+ /** Triage priority */
250
+ priority?: string;
251
+ /** Platform */
252
+ platform?: string;
113
253
  /** Issue substatus */
114
254
  substatus?: string | null;
115
255
  /** Whether the issue is unhandled */
@@ -124,31 +264,31 @@ export type IssueEventsResult = {
124
264
  /** Event type (error, default, transaction) */
125
265
  "event.type": string;
126
266
  /** Group (issue) ID */
127
- groupID: string | null;
267
+ groupID?: string | null;
128
268
  /** UUID-format event ID */
129
269
  eventID: string;
130
270
  /** Project ID */
131
- projectID: string;
271
+ projectID?: string;
132
272
  /** Event message */
133
- message: string;
273
+ message?: string;
134
274
  /** Event title */
135
- title: string;
275
+ title?: string;
136
276
  /** Source location (file:line) */
137
- location: string | null;
277
+ location?: string | null;
138
278
  /** Culprit function/module */
139
- culprit: string | null;
279
+ culprit?: string | null;
140
280
  /** User context */
141
- user: Record<string, unknown> | null;
281
+ user?: Record<string, unknown> | null;
142
282
  /** Event tags */
143
- tags: unknown[];
283
+ tags?: unknown[];
144
284
  /** Platform (python, javascript, etc.) */
145
- platform: string | null;
285
+ platform?: string | null;
146
286
  /** ISO 8601 creation timestamp */
147
- dateCreated: string;
287
+ dateCreated?: string;
148
288
  /** Crash file URL */
149
- crashFile: string | null;
289
+ crashFile?: string | null;
150
290
  /** Event metadata */
151
- metadata: unknown | null;
291
+ metadata?: Record<string, unknown> | null;
152
292
  };
153
293
 
154
294
  export type EventListResult = {
@@ -157,31 +297,31 @@ export type EventListResult = {
157
297
  /** Event type (error, default, transaction) */
158
298
  "event.type": string;
159
299
  /** Group (issue) ID */
160
- groupID: string | null;
300
+ groupID?: string | null;
161
301
  /** UUID-format event ID */
162
302
  eventID: string;
163
303
  /** Project ID */
164
- projectID: string;
304
+ projectID?: string;
165
305
  /** Event message */
166
- message: string;
306
+ message?: string;
167
307
  /** Event title */
168
- title: string;
308
+ title?: string;
169
309
  /** Source location (file:line) */
170
- location: string | null;
310
+ location?: string | null;
171
311
  /** Culprit function/module */
172
- culprit: string | null;
312
+ culprit?: string | null;
173
313
  /** User context */
174
- user: Record<string, unknown> | null;
314
+ user?: Record<string, unknown> | null;
175
315
  /** Event tags */
176
- tags: unknown[];
316
+ tags?: unknown[];
177
317
  /** Platform (python, javascript, etc.) */
178
- platform: string | null;
318
+ platform?: string | null;
179
319
  /** ISO 8601 creation timestamp */
180
- dateCreated: string;
320
+ dateCreated?: string;
181
321
  /** Crash file URL */
182
- crashFile: string | null;
322
+ crashFile?: string | null;
183
323
  /** Event metadata */
184
- metadata: unknown | null;
324
+ metadata?: Record<string, unknown> | null;
185
325
  };
186
326
 
187
327
  export type LogListResult = {
@@ -327,7 +467,7 @@ export type DashboardListParams = {
327
467
  export type DashboardViewParams = {
328
468
  /** Auto-refresh interval in seconds (default: 60, min: 10) */
329
469
  refresh?: string;
330
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
470
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
331
471
  period?: string;
332
472
  };
333
473
 
@@ -448,6 +588,23 @@ export type ProjectViewParams = {
448
588
  orgProject?: string;
449
589
  };
450
590
 
591
+ export type ReplayListParams = {
592
+ /** Positional argument */
593
+ orgProject?: string;
594
+ /** Number of replays (1-1000) */
595
+ limit?: number;
596
+ /** Search query (Sentry replay search syntax) */
597
+ query?: string;
598
+ /** Filter by environment (repeatable, comma-separated) */
599
+ environment?: string;
600
+ /** Sort by: date, oldest, duration, errors, activity, or a raw replay sort field */
601
+ sort?: string;
602
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
603
+ period?: string;
604
+ /** Navigate pages: "next", "prev", "first" (or raw cursor string) */
605
+ cursor?: string;
606
+ };
607
+
451
608
  export type ReleaseListParams = {
452
609
  /** Positional argument */
453
610
  orgProject?: string;
@@ -549,7 +706,7 @@ export type IssueListParams = {
549
706
  limit?: number;
550
707
  /** Sort by: date, new, freq, user */
551
708
  sort?: string;
552
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
709
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
553
710
  period?: string;
554
711
  /** Pagination cursor (use "next" for next page, "prev" for previous) */
555
712
  cursor?: string;
@@ -564,7 +721,7 @@ export type IssueEventsParams = {
564
721
  query?: string;
565
722
  /** Include full event body (stacktraces) */
566
723
  full?: boolean;
567
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
724
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
568
725
  period?: string;
569
726
  /** Navigate pages: "next", "prev", "first" (or raw cursor string) */
570
727
  cursor?: string;
@@ -605,6 +762,13 @@ export type IssueUnresolveParams = {
605
762
  issue?: string;
606
763
  };
607
764
 
765
+ export type IssueArchiveParams = {
766
+ /** Positional argument */
767
+ issue?: string;
768
+ /** Condition for unarchival: forever, auto, 30m, 10x, 10u, 10x/5m, etc. */
769
+ until?: string;
770
+ };
771
+
608
772
  export type IssueMergeParams = {
609
773
  /** Prefer this issue as the canonical parent (must match one of the provided IDs) */
610
774
  into?: string;
@@ -624,7 +788,7 @@ export type EventListParams = {
624
788
  query?: string;
625
789
  /** Include full event body (stacktraces) */
626
790
  full?: boolean;
627
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
791
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
628
792
  period?: string;
629
793
  /** Navigate pages: "next", "prev", "first" (or raw cursor string) */
630
794
  cursor?: string;
@@ -635,15 +799,17 @@ export type ExploreParams = {
635
799
  target?: string;
636
800
  /** API field or aggregate (repeatable). E.g., title, "count()", "p50(transaction.duration)" */
637
801
  field?: string;
638
- /** Dataset to query (errors, spans, metrics, logs) */
802
+ /** Dataset to query (errors, spans, metrics, logs, replays) */
639
803
  dataset?: string;
640
804
  /** Search query (Sentry search syntax) */
641
805
  query?: string;
642
806
  /** Sort field (prefix with - for desc, e.g., "-count()") */
643
807
  sort?: string;
808
+ /** Replay environment filter for --dataset replays (repeatable, comma-separated) */
809
+ environment?: string;
644
810
  /** Number of rows (1-1000) */
645
811
  limit?: number;
646
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
812
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
647
813
  period?: string;
648
814
  /** Navigate pages: "next", "prev", "first" (or raw cursor string) */
649
815
  cursor?: string;
@@ -656,7 +822,7 @@ export type LogListParams = {
656
822
  query?: string;
657
823
  /** Stream logs (optionally specify poll interval in seconds) */
658
824
  follow?: string;
659
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
825
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
660
826
  period?: string;
661
827
  /** Sort order: "newest" (default) or "oldest" */
662
828
  sort?: string;
@@ -667,6 +833,10 @@ export type SourcemapInjectParams = {
667
833
  directory?: string;
668
834
  /** Comma-separated file extensions to process (default: .js,.cjs,.mjs) */
669
835
  ext?: string;
836
+ /** Comma-separated glob patterns to exclude (gitignore-style) */
837
+ ignore?: string;
838
+ /** Path to a file with gitignore-style patterns to exclude */
839
+ ignoreFile?: string;
670
840
  /** Show what would be modified without writing */
671
841
  dryRun?: boolean;
672
842
  /** Exit successfully when no JS + sourcemap pairs are found (default: error out to catch silent build misconfigurations) */
@@ -678,8 +848,22 @@ export type SourcemapUploadParams = {
678
848
  directory?: string;
679
849
  /** Release version to associate with the upload */
680
850
  release?: string;
851
+ /** Distribution identifier to disambiguate builds within a release */
852
+ dist?: string;
681
853
  /** URL prefix for uploaded files (default: ~/) */
682
854
  urlPrefix?: string;
855
+ /** Comma-separated file extensions to process (default: .js,.cjs,.mjs) */
856
+ ext?: string;
857
+ /** Comma-separated glob patterns to exclude (gitignore-style) */
858
+ ignore?: string;
859
+ /** Path to a file with gitignore-style patterns to exclude */
860
+ ignoreFile?: string;
861
+ /** Strip a prefix from uploaded file paths (e.g. 'build/') */
862
+ stripPrefix?: string;
863
+ /** Automatically strip the longest common path prefix from all files */
864
+ stripCommonPrefix?: boolean;
865
+ /** Upload files as-is without injecting debug IDs */
866
+ noRewrite?: boolean;
683
867
  /** Exit successfully when no JS + sourcemap pairs are found (default: error out to catch silent build misconfigurations) */
684
868
  allowEmpty?: boolean;
685
869
  };
@@ -691,7 +875,7 @@ export type SpanListParams = {
691
875
  query?: string;
692
876
  /** Sort order: date, duration */
693
877
  sort?: string;
694
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
878
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
695
879
  period?: string;
696
880
  /** Navigate pages: "next", "prev", "first" (or raw cursor string) */
697
881
  cursor?: string;
@@ -711,7 +895,7 @@ export type TraceListParams = {
711
895
  query?: string;
712
896
  /** Sort by: date, duration */
713
897
  sort?: string;
714
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
898
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
715
899
  period?: string;
716
900
  /** Navigate pages: "next", "prev", "first" (or raw cursor string) */
717
901
  cursor?: string;
@@ -725,7 +909,7 @@ export type TraceViewParams = {
725
909
  };
726
910
 
727
911
  export type TraceLogsParams = {
728
- /** Time range: "7d", "2026-03-01..2026-04-01", ">=2026-03-01" */
912
+ /** Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" */
729
913
  period?: string;
730
914
  /** Number of log entries (<=1000) */
731
915
  limit?: number;
@@ -748,14 +932,16 @@ export type TrialStartParams = {
748
932
  export type InitParams = {
749
933
  /** Positional argument */
750
934
  targetDirectory?: string;
751
- /** Non-interactive mode (accept defaults) */
935
+ /** Accept non-interactive defaults (requires --features outside a TTY) */
752
936
  yes?: boolean;
753
937
  /** Show what would happen without making changes */
754
938
  dryRun?: boolean;
755
- /** Features to enable: errors,tracing,logs,replay,profiling,ai-monitoring,user-feedback */
939
+ /** Features to enable: errors,tracing,logs,replay,metrics,profiling,sourcemaps,crons,ai-monitoring,user-feedback */
756
940
  features?: string;
757
941
  /** Team slug to create the project under */
758
942
  team?: string;
943
+ /** Use the Ink-based interactive UI (default on the Bun binary). Pass --no-tui to fall back to plain log output. */
944
+ tui?: boolean;
759
945
  };
760
946
 
761
947
  export type ApiParams = {
@@ -810,7 +996,7 @@ export type SentrySDK = {
810
996
  status(params?: AuthStatusParams): Promise<unknown>;
811
997
  /** Print the stored authentication token */
812
998
  token(): Promise<unknown>;
813
- /** Show the currently authenticated user */
999
+ /** Show the currently authenticated identity */
814
1000
  whoami(): Promise<unknown>;
815
1001
  };
816
1002
  cli: {
@@ -860,6 +1046,12 @@ export type SentrySDK = {
860
1046
  /** View details of a project */
861
1047
  view(params?: ProjectViewParams): Promise<unknown>;
862
1048
  };
1049
+ replay: {
1050
+ /** List recent Session Replays */
1051
+ list(params?: ReplayListParams): Promise<ReplayListResult>;
1052
+ /** View a Session Replay */
1053
+ view(...positional: string[]): Promise<ReplayViewResult>;
1054
+ };
863
1055
  release: {
864
1056
  /** List releases with adoption and health metrics */
865
1057
  list(params?: ReleaseListParams): Promise<unknown>;
@@ -903,11 +1095,13 @@ export type SentrySDK = {
903
1095
  resolve(params?: IssueResolveParams): Promise<unknown>;
904
1096
  /** Reopen a resolved issue */
905
1097
  unresolve(params?: IssueUnresolveParams): Promise<unknown>;
1098
+ /** Archive (ignore) an issue */
1099
+ archive(params?: IssueArchiveParams): Promise<unknown>;
906
1100
  /** Merge 2+ issues into a single canonical group */
907
1101
  merge(params?: IssueMergeParams, ...positional: string[]): Promise<unknown>;
908
1102
  };
909
1103
  event: {
910
- /** View details of a specific event */
1104
+ /** View details of one or more events */
911
1105
  view(params?: EventViewParams, ...positional: string[]): Promise<unknown>;
912
1106
  /** List events for an issue */
913
1107
  list(params?: EventListParams): Promise<EventListResult>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sentry",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/getsentry/cli.git"
@@ -9,9 +9,8 @@
9
9
  "devDependencies": {
10
10
  "@anthropic-ai/sdk": "^0.39.0",
11
11
  "@biomejs/biome": "2.3.8",
12
- "@clack/prompts": "^0.11.0",
13
12
  "@mastra/client-js": "^1.4.0",
14
- "@sentry/api": "^0.113.0",
13
+ "@sentry/api": "^0.141.0",
15
14
  "@sentry/node-core": "10.50.0",
16
15
  "@sentry/sqlish": "^1.0.0",
17
16
  "@stricli/auto-complete": "^1.2.4",
@@ -21,6 +20,7 @@
21
20
  "@types/node": "^22",
22
21
  "@types/picomatch": "^4.0.3",
23
22
  "@types/qrcode-terminal": "^0.12.2",
23
+ "@types/react": "^19.2.14",
24
24
  "@types/semver": "^7.7.1",
25
25
  "binpunch": "^1.0.0",
26
26
  "chalk": "^5.6.2",
@@ -30,12 +30,16 @@
30
30
  "fast-check": "^4.5.3",
31
31
  "http-cache-semantics": "^4.2.0",
32
32
  "ignore": "^7.0.5",
33
+ "ink": "^7.0.1",
34
+ "ink-spinner": "^5.0.0",
33
35
  "marked": "^15",
34
36
  "p-limit": "^7.2.0",
35
37
  "peggy": "^5.1.0",
36
38
  "picomatch": "^4.0.3",
37
39
  "pretty-ms": "^9.3.0",
38
40
  "qrcode-terminal": "^0.12.0",
41
+ "react": "^19.2.5",
42
+ "react-devtools-core": "^7.0.1",
39
43
  "semver": "^7.7.3",
40
44
  "string-width": "^8.2.0",
41
45
  "tinyglobby": "^0.2.15",
@@ -72,6 +76,7 @@
72
76
  "@sentry/core@10.50.0": "patches/@sentry%2Fcore@10.50.0.patch"
73
77
  },
74
78
  "scripts": {
79
+ "cli": "bun run src/bin.ts",
75
80
  "dev": "bun run generate:schema && bun run generate:docs && bun run generate:sdk && bun run src/bin.ts",
76
81
  "build": "bun run generate:schema && bun run generate:docs && bun run generate:sdk && bun run script/build.ts --single",
77
82
  "build:all": "bun run generate:schema && bun run generate:docs && bun run generate:sdk && bun run script/build.ts",