@muhammetgoktug/ek-sentry 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/core/client.d.ts +59 -0
  2. package/dist/core/client.d.ts.map +1 -0
  3. package/dist/core/client.js +156 -0
  4. package/dist/core/client.js.map +1 -0
  5. package/dist/core/index.d.ts +7 -0
  6. package/dist/core/index.d.ts.map +1 -0
  7. package/dist/core/index.js +5 -0
  8. package/dist/core/index.js.map +1 -0
  9. package/dist/core/scope.d.ts +14 -0
  10. package/dist/core/scope.d.ts.map +1 -0
  11. package/dist/core/scope.js +32 -0
  12. package/dist/core/scope.js.map +1 -0
  13. package/dist/core/singleton.d.ts +26 -0
  14. package/dist/core/singleton.d.ts.map +1 -0
  15. package/dist/core/singleton.js +50 -0
  16. package/dist/core/singleton.js.map +1 -0
  17. package/dist/core/transport.d.ts +18 -0
  18. package/dist/core/transport.d.ts.map +1 -0
  19. package/dist/core/transport.js +60 -0
  20. package/dist/core/transport.js.map +1 -0
  21. package/dist/core/uuid.d.ts +4 -0
  22. package/dist/core/uuid.d.ts.map +1 -0
  23. package/dist/core/uuid.js +12 -0
  24. package/dist/core/uuid.js.map +1 -0
  25. package/dist/index.d.ts +12 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +13 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/nextjs/client.d.ts +6 -0
  30. package/dist/nextjs/client.d.ts.map +1 -0
  31. package/dist/nextjs/client.js +16 -0
  32. package/dist/nextjs/client.js.map +1 -0
  33. package/dist/nextjs/server.d.ts +16 -0
  34. package/dist/nextjs/server.d.ts.map +1 -0
  35. package/dist/nextjs/server.js +25 -0
  36. package/dist/nextjs/server.js.map +1 -0
  37. package/dist/node/express.d.ts +21 -0
  38. package/dist/node/express.d.ts.map +1 -0
  39. package/dist/node/express.js +47 -0
  40. package/dist/node/express.js.map +1 -0
  41. package/dist/node/handlers.d.ts +4 -0
  42. package/dist/node/handlers.d.ts.map +1 -0
  43. package/dist/node/handlers.js +13 -0
  44. package/dist/node/handlers.js.map +1 -0
  45. package/dist/node/index.d.ts +10 -0
  46. package/dist/node/index.d.ts.map +1 -0
  47. package/dist/node/index.js +21 -0
  48. package/dist/node/index.js.map +1 -0
  49. package/dist/react-native.d.ts +6 -0
  50. package/dist/react-native.d.ts.map +1 -0
  51. package/dist/react-native.js +17 -0
  52. package/dist/react-native.js.map +1 -0
  53. package/dist/react.d.ts +17 -0
  54. package/dist/react.d.ts.map +1 -0
  55. package/dist/react.js +21 -0
  56. package/dist/react.js.map +1 -0
  57. package/dist/schemas/common.d.ts +16 -0
  58. package/dist/schemas/common.d.ts.map +1 -0
  59. package/dist/schemas/common.js +2 -0
  60. package/dist/schemas/common.js.map +1 -0
  61. package/dist/schemas/dsn.d.ts +15 -0
  62. package/dist/schemas/dsn.d.ts.map +1 -0
  63. package/dist/schemas/dsn.js +32 -0
  64. package/dist/schemas/dsn.js.map +1 -0
  65. package/dist/schemas/envelope.d.ts +21 -0
  66. package/dist/schemas/envelope.d.ts.map +1 -0
  67. package/dist/schemas/envelope.js +2 -0
  68. package/dist/schemas/envelope.js.map +1 -0
  69. package/dist/schemas/error.d.ts +56 -0
  70. package/dist/schemas/error.d.ts.map +1 -0
  71. package/dist/schemas/error.js +2 -0
  72. package/dist/schemas/error.js.map +1 -0
  73. package/dist/schemas/index.d.ts +8 -0
  74. package/dist/schemas/index.d.ts.map +1 -0
  75. package/dist/schemas/index.js +8 -0
  76. package/dist/schemas/index.js.map +1 -0
  77. package/dist/schemas/log.d.ts +16 -0
  78. package/dist/schemas/log.d.ts.map +1 -0
  79. package/dist/schemas/log.js +2 -0
  80. package/dist/schemas/log.js.map +1 -0
  81. package/dist/schemas/simple.d.ts +205 -0
  82. package/dist/schemas/simple.d.ts.map +1 -0
  83. package/dist/schemas/simple.js +125 -0
  84. package/dist/schemas/simple.js.map +1 -0
  85. package/dist/schemas/span.d.ts +21 -0
  86. package/dist/schemas/span.d.ts.map +1 -0
  87. package/dist/schemas/span.js +2 -0
  88. package/dist/schemas/span.js.map +1 -0
  89. package/dist/schemas/stacktrace.d.ts +9 -0
  90. package/dist/schemas/stacktrace.d.ts.map +1 -0
  91. package/dist/schemas/stacktrace.js +40 -0
  92. package/dist/schemas/stacktrace.js.map +1 -0
  93. package/package.json +83 -0
@@ -0,0 +1,205 @@
1
+ import { z } from "zod";
2
+ import { type Platform, type SdkInfo } from "./common.js";
3
+ import type { EnvelopeItem } from "./envelope.js";
4
+ export declare const SimpleStoreInputSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
5
+ type: z.ZodLiteral<"error">;
6
+ level: z.ZodOptional<z.ZodEnum<["fatal", "error", "warning", "info", "debug"]>>;
7
+ message: z.ZodOptional<z.ZodString>;
8
+ error_type: z.ZodOptional<z.ZodString>;
9
+ error_value: z.ZodOptional<z.ZodString>;
10
+ stack: z.ZodOptional<z.ZodString>;
11
+ transaction: z.ZodOptional<z.ZodString>;
12
+ environment: z.ZodOptional<z.ZodString>;
13
+ release: z.ZodOptional<z.ZodString>;
14
+ platform: z.ZodOptional<z.ZodEnum<["node", "browser", "nextjs"]>>;
15
+ tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
16
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ type: "error";
19
+ message?: string | undefined;
20
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | undefined;
21
+ platform?: "node" | "browser" | "nextjs" | undefined;
22
+ environment?: string | undefined;
23
+ release?: string | undefined;
24
+ transaction?: string | undefined;
25
+ tags?: Record<string, string> | undefined;
26
+ extra?: Record<string, unknown> | undefined;
27
+ error_type?: string | undefined;
28
+ error_value?: string | undefined;
29
+ stack?: string | undefined;
30
+ }, {
31
+ type: "error";
32
+ message?: string | undefined;
33
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | undefined;
34
+ platform?: "node" | "browser" | "nextjs" | undefined;
35
+ environment?: string | undefined;
36
+ release?: string | undefined;
37
+ transaction?: string | undefined;
38
+ tags?: Record<string, string> | undefined;
39
+ extra?: Record<string, unknown> | undefined;
40
+ error_type?: string | undefined;
41
+ error_value?: string | undefined;
42
+ stack?: string | undefined;
43
+ }>, z.ZodObject<{
44
+ type: z.ZodLiteral<"log">;
45
+ level: z.ZodOptional<z.ZodEnum<["fatal", "error", "warning", "info", "debug"]>>;
46
+ message: z.ZodString;
47
+ logger: z.ZodOptional<z.ZodString>;
48
+ environment: z.ZodOptional<z.ZodString>;
49
+ release: z.ZodOptional<z.ZodString>;
50
+ trace_id: z.ZodOptional<z.ZodString>;
51
+ span_id: z.ZodOptional<z.ZodString>;
52
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ message: string;
55
+ type: "log";
56
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | undefined;
57
+ environment?: string | undefined;
58
+ release?: string | undefined;
59
+ logger?: string | undefined;
60
+ trace_id?: string | undefined;
61
+ span_id?: string | undefined;
62
+ attributes?: Record<string, string | number | boolean | null> | undefined;
63
+ }, {
64
+ message: string;
65
+ type: "log";
66
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | undefined;
67
+ environment?: string | undefined;
68
+ release?: string | undefined;
69
+ logger?: string | undefined;
70
+ trace_id?: string | undefined;
71
+ span_id?: string | undefined;
72
+ attributes?: Record<string, string | number | boolean | null> | undefined;
73
+ }>, z.ZodObject<{
74
+ type: z.ZodLiteral<"span">;
75
+ trace_id: z.ZodString;
76
+ span_id: z.ZodString;
77
+ parent_span_id: z.ZodOptional<z.ZodString>;
78
+ transaction: z.ZodString;
79
+ op: z.ZodOptional<z.ZodString>;
80
+ start_time: z.ZodNumber;
81
+ duration_ms: z.ZodNumber;
82
+ status: z.ZodOptional<z.ZodEnum<["ok", "error", "cancelled", "unknown"]>>;
83
+ http_method: z.ZodOptional<z.ZodString>;
84
+ http_status: z.ZodOptional<z.ZodNumber>;
85
+ environment: z.ZodOptional<z.ZodString>;
86
+ release: z.ZodOptional<z.ZodString>;
87
+ tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ type: "span";
90
+ transaction: string;
91
+ trace_id: string;
92
+ span_id: string;
93
+ start_time: number;
94
+ duration_ms: number;
95
+ status?: "error" | "ok" | "cancelled" | "unknown" | undefined;
96
+ environment?: string | undefined;
97
+ release?: string | undefined;
98
+ tags?: Record<string, string> | undefined;
99
+ parent_span_id?: string | undefined;
100
+ op?: string | undefined;
101
+ http_method?: string | undefined;
102
+ http_status?: number | undefined;
103
+ }, {
104
+ type: "span";
105
+ transaction: string;
106
+ trace_id: string;
107
+ span_id: string;
108
+ start_time: number;
109
+ duration_ms: number;
110
+ status?: "error" | "ok" | "cancelled" | "unknown" | undefined;
111
+ environment?: string | undefined;
112
+ release?: string | undefined;
113
+ tags?: Record<string, string> | undefined;
114
+ parent_span_id?: string | undefined;
115
+ op?: string | undefined;
116
+ http_method?: string | undefined;
117
+ http_status?: number | undefined;
118
+ }>]>;
119
+ export type SimpleStoreInput = z.infer<typeof SimpleStoreInputSchema>;
120
+ /** Parse raw input; a bare object with no `type` defaults to a log (simplest fetch usage). */
121
+ export declare function parseSimpleInput(body: unknown): z.SafeParseReturnType<{
122
+ type: "error";
123
+ message?: string | undefined;
124
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | undefined;
125
+ platform?: "node" | "browser" | "nextjs" | undefined;
126
+ environment?: string | undefined;
127
+ release?: string | undefined;
128
+ transaction?: string | undefined;
129
+ tags?: Record<string, string> | undefined;
130
+ extra?: Record<string, unknown> | undefined;
131
+ error_type?: string | undefined;
132
+ error_value?: string | undefined;
133
+ stack?: string | undefined;
134
+ } | {
135
+ message: string;
136
+ type: "log";
137
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | undefined;
138
+ environment?: string | undefined;
139
+ release?: string | undefined;
140
+ logger?: string | undefined;
141
+ trace_id?: string | undefined;
142
+ span_id?: string | undefined;
143
+ attributes?: Record<string, string | number | boolean | null> | undefined;
144
+ } | {
145
+ type: "span";
146
+ transaction: string;
147
+ trace_id: string;
148
+ span_id: string;
149
+ start_time: number;
150
+ duration_ms: number;
151
+ status?: "error" | "ok" | "cancelled" | "unknown" | undefined;
152
+ environment?: string | undefined;
153
+ release?: string | undefined;
154
+ tags?: Record<string, string> | undefined;
155
+ parent_span_id?: string | undefined;
156
+ op?: string | undefined;
157
+ http_method?: string | undefined;
158
+ http_status?: number | undefined;
159
+ }, {
160
+ type: "error";
161
+ message?: string | undefined;
162
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | undefined;
163
+ platform?: "node" | "browser" | "nextjs" | undefined;
164
+ environment?: string | undefined;
165
+ release?: string | undefined;
166
+ transaction?: string | undefined;
167
+ tags?: Record<string, string> | undefined;
168
+ extra?: Record<string, unknown> | undefined;
169
+ error_type?: string | undefined;
170
+ error_value?: string | undefined;
171
+ stack?: string | undefined;
172
+ } | {
173
+ message: string;
174
+ type: "log";
175
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | undefined;
176
+ environment?: string | undefined;
177
+ release?: string | undefined;
178
+ logger?: string | undefined;
179
+ trace_id?: string | undefined;
180
+ span_id?: string | undefined;
181
+ attributes?: Record<string, string | number | boolean | null> | undefined;
182
+ } | {
183
+ type: "span";
184
+ transaction: string;
185
+ trace_id: string;
186
+ span_id: string;
187
+ start_time: number;
188
+ duration_ms: number;
189
+ status?: "error" | "ok" | "cancelled" | "unknown" | undefined;
190
+ environment?: string | undefined;
191
+ release?: string | undefined;
192
+ tags?: Record<string, string> | undefined;
193
+ parent_span_id?: string | undefined;
194
+ op?: string | undefined;
195
+ http_method?: string | undefined;
196
+ http_status?: number | undefined;
197
+ }>;
198
+ export interface NormalizeDefaults {
199
+ sdk: SdkInfo;
200
+ platform: Platform;
201
+ environment: string;
202
+ }
203
+ /** Expand a simple input into a canonical, fully-defaulted envelope item. */
204
+ export declare function normalizeSimpleInput(input: SimpleStoreInput, defaults: NormalizeDefaults): EnvelopeItem;
205
+ //# sourceMappingURL=simple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/schemas/simple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAA+B,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAKvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAmDlD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG7C;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,YAAY,CAkEvG"}
@@ -0,0 +1,125 @@
1
+ import { z } from "zod";
2
+ import { LevelSchema, PlatformSchema } from "./common.js";
3
+ import { LogAttributesSchema } from "./log.js";
4
+ import { SpanStatusSchema } from "./span.js";
5
+ import { parseStackString } from "./stacktrace.js";
6
+ /**
7
+ * Friendly input shapes for the raw-HTTP `/store` endpoint (no SDK). Server fills
8
+ * `event_id`, `timestamp`, and `sdk`; a raw `stack` string is parsed into frames.
9
+ * Kept lightweight on purpose — full exception/request objects are SDK territory.
10
+ */
11
+ const SimpleErrorInputSchema = z.object({
12
+ type: z.literal("error"),
13
+ level: LevelSchema.optional(),
14
+ message: z.string().optional(),
15
+ error_type: z.string().optional(),
16
+ error_value: z.string().optional(),
17
+ stack: z.string().optional(),
18
+ transaction: z.string().optional(),
19
+ environment: z.string().optional(),
20
+ release: z.string().optional(),
21
+ platform: PlatformSchema.optional(),
22
+ tags: z.record(z.string(), z.string()).optional(),
23
+ extra: z.record(z.string(), z.unknown()).optional(),
24
+ });
25
+ const SimpleLogInputSchema = z.object({
26
+ type: z.literal("log"),
27
+ level: LevelSchema.optional(),
28
+ message: z.string(),
29
+ logger: z.string().optional(),
30
+ environment: z.string().optional(),
31
+ release: z.string().optional(),
32
+ trace_id: z.string().optional(),
33
+ span_id: z.string().optional(),
34
+ attributes: LogAttributesSchema.optional(),
35
+ });
36
+ const SimpleSpanInputSchema = z.object({
37
+ type: z.literal("span"),
38
+ trace_id: z.string(),
39
+ span_id: z.string(),
40
+ parent_span_id: z.string().optional(),
41
+ transaction: z.string(),
42
+ op: z.string().optional(),
43
+ start_time: z.number().int().nonnegative(),
44
+ duration_ms: z.number().nonnegative(),
45
+ status: SpanStatusSchema.optional(),
46
+ http_method: z.string().optional(),
47
+ http_status: z.number().int().optional(),
48
+ environment: z.string().optional(),
49
+ release: z.string().optional(),
50
+ tags: z.record(z.string(), z.string()).optional(),
51
+ });
52
+ export const SimpleStoreInputSchema = z.discriminatedUnion("type", [
53
+ SimpleErrorInputSchema,
54
+ SimpleLogInputSchema,
55
+ SimpleSpanInputSchema,
56
+ ]);
57
+ /** Parse raw input; a bare object with no `type` defaults to a log (simplest fetch usage). */
58
+ export function parseSimpleInput(body) {
59
+ const withType = body && typeof body === "object" && !("type" in body) ? { ...body, type: "log" } : body;
60
+ return SimpleStoreInputSchema.safeParse(withType);
61
+ }
62
+ /** Expand a simple input into a canonical, fully-defaulted envelope item. */
63
+ export function normalizeSimpleInput(input, defaults) {
64
+ const now = Date.now();
65
+ if (input.type === "log") {
66
+ const payload = {
67
+ timestamp: now,
68
+ level: input.level ?? "info",
69
+ message: input.message,
70
+ logger: input.logger ?? "http",
71
+ environment: input.environment ?? defaults.environment,
72
+ release: input.release,
73
+ trace_id: input.trace_id,
74
+ span_id: input.span_id,
75
+ attributes: input.attributes ?? {},
76
+ sdk: defaults.sdk,
77
+ };
78
+ return { type: "log", payload };
79
+ }
80
+ if (input.type === "span") {
81
+ const payload = {
82
+ trace_id: input.trace_id,
83
+ span_id: input.span_id,
84
+ parent_span_id: input.parent_span_id,
85
+ transaction: input.transaction,
86
+ op: input.op ?? "default",
87
+ start_time: input.start_time,
88
+ duration_ms: input.duration_ms,
89
+ status: input.status ?? "ok",
90
+ http_method: input.http_method,
91
+ http_status: input.http_status,
92
+ environment: input.environment ?? defaults.environment,
93
+ release: input.release,
94
+ tags: input.tags ?? {},
95
+ sdk: defaults.sdk,
96
+ };
97
+ return { type: "span", payload };
98
+ }
99
+ const exception = input.stack || input.error_type
100
+ ? [
101
+ {
102
+ type: input.error_type ?? "Error",
103
+ value: input.error_value ?? input.message ?? "",
104
+ frames: parseStackString(input.stack),
105
+ },
106
+ ]
107
+ : undefined;
108
+ const payload = {
109
+ event_id: globalThis.crypto.randomUUID(),
110
+ timestamp: now,
111
+ level: input.level ?? "error",
112
+ platform: input.platform ?? defaults.platform,
113
+ environment: input.environment ?? defaults.environment,
114
+ release: input.release,
115
+ transaction: input.transaction,
116
+ message: input.message,
117
+ exception,
118
+ tags: input.tags ?? {},
119
+ extra: input.extra ?? {},
120
+ breadcrumbs: [],
121
+ sdk: defaults.sdk,
122
+ };
123
+ return { type: "error", payload };
124
+ }
125
+ //# sourceMappingURL=simple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/schemas/simple.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { SdkInfo, Tags, Timestamp } from "./common.js";
2
+ export type SpanStatus = "ok" | "error" | "cancelled" | "unknown";
3
+ export interface SpanEvent {
4
+ trace_id: string;
5
+ span_id: string;
6
+ parent_span_id?: string;
7
+ /** Top-level transaction name, e.g. "GET /users/:id". */
8
+ transaction: string;
9
+ /** Operation type, e.g. "http.server", "db.query". */
10
+ op: string;
11
+ start_time: Timestamp;
12
+ duration_ms: number;
13
+ status: SpanStatus;
14
+ http_method?: string;
15
+ http_status?: number;
16
+ environment: string;
17
+ release?: string;
18
+ tags: Tags;
19
+ sdk: SdkInfo;
20
+ }
21
+ //# sourceMappingURL=span.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.d.ts","sourceRoot":"","sources":["../../src/schemas/span.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;CACd"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=span.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.js","sourceRoot":"","sources":["../../src/schemas/span.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { StackFrame } from "./error.js";
2
+ /**
3
+ * Parse a V8 `Error.stack` string into frames ordered oldest-to-newest
4
+ * (crash point last), matching the schema convention used for fingerprinting.
5
+ */
6
+ export declare function parseStackString(stack: string | undefined): StackFrame[];
7
+ /** Convenience wrapper that pulls `.stack` from an Error. */
8
+ export declare function parseStackTrace(error: Error): StackFrame[];
9
+ //# sourceMappingURL=stacktrace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacktrace.d.ts","sourceRoot":"","sources":["../../src/schemas/stacktrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAW7C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,EAAE,CAiBxE;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,EAAE,CAE1D"}
@@ -0,0 +1,40 @@
1
+ const LINE_RE = /^\s*at\s+(?:(.+?)\s+\()?(?:(.+?):(\d+):(\d+))\)?\s*$/;
2
+ function isInApp(filename) {
3
+ if (!filename)
4
+ return false;
5
+ if (filename.startsWith("node:") || filename.startsWith("internal/"))
6
+ return false;
7
+ if (filename.includes("node_modules"))
8
+ return false;
9
+ return true;
10
+ }
11
+ /**
12
+ * Parse a V8 `Error.stack` string into frames ordered oldest-to-newest
13
+ * (crash point last), matching the schema convention used for fingerprinting.
14
+ */
15
+ export function parseStackString(stack) {
16
+ if (!stack)
17
+ return [];
18
+ const frames = [];
19
+ for (const line of stack.split("\n")) {
20
+ const m = LINE_RE.exec(line);
21
+ if (!m)
22
+ continue;
23
+ const [, fn, file, lineno, colno] = m;
24
+ if (!file)
25
+ continue;
26
+ frames.push({
27
+ function: fn || "<anonymous>",
28
+ filename: file,
29
+ lineno: lineno ? Number(lineno) : undefined,
30
+ colno: colno ? Number(colno) : undefined,
31
+ in_app: isInApp(file),
32
+ });
33
+ }
34
+ return frames.reverse();
35
+ }
36
+ /** Convenience wrapper that pulls `.stack` from an Error. */
37
+ export function parseStackTrace(error) {
38
+ return parseStackString(error.stack);
39
+ }
40
+ //# sourceMappingURL=stacktrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacktrace.js","sourceRoot":"","sources":["../../src/schemas/stacktrace.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG,sDAAsD,CAAC;AAEvE,SAAS,OAAO,CAAC,QAAgB;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACnF,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,EAAE,IAAI,aAAa;YAC7B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACxC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,OAAO,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "@muhammetgoktug/ek-sentry",
3
+ "version": "0.1.1",
4
+ "description": "Self-hosted log, error & performance monitoring SDK. Works in Node.js, Next.js, React, React Native and browsers.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "README.md"
12
+ ],
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "default": "./dist/index.js"
17
+ },
18
+ "./node": {
19
+ "types": "./dist/node/index.d.ts",
20
+ "default": "./dist/node/index.js"
21
+ },
22
+ "./nextjs": {
23
+ "types": "./dist/nextjs/server.d.ts",
24
+ "default": "./dist/nextjs/server.js"
25
+ },
26
+ "./nextjs/client": {
27
+ "types": "./dist/nextjs/client.d.ts",
28
+ "default": "./dist/nextjs/client.js"
29
+ },
30
+ "./react": {
31
+ "types": "./dist/react.d.ts",
32
+ "default": "./dist/react.js"
33
+ },
34
+ "./react-native": {
35
+ "types": "./dist/react-native.d.ts",
36
+ "default": "./dist/react-native.js"
37
+ }
38
+ },
39
+ "sideEffects": false,
40
+ "peerDependencies": {
41
+ "react": ">=18"
42
+ },
43
+ "peerDependenciesMeta": {
44
+ "react": {
45
+ "optional": true
46
+ }
47
+ },
48
+ "repository": {
49
+ "type": "git",
50
+ "url": "git+https://github.com/MeGoktug/ek-sentry.git",
51
+ "directory": "packages/sdk"
52
+ },
53
+ "homepage": "https://github.com/MeGoktug/ek-sentry#readme",
54
+ "bugs": "https://github.com/MeGoktug/ek-sentry/issues",
55
+ "keywords": [
56
+ "monitoring",
57
+ "errors",
58
+ "logging",
59
+ "apm",
60
+ "observability",
61
+ "sentry",
62
+ "self-hosted",
63
+ "nodejs",
64
+ "nextjs",
65
+ "react",
66
+ "react-native"
67
+ ],
68
+ "publishConfig": {
69
+ "access": "public"
70
+ },
71
+ "devDependencies": {
72
+ "@types/react": "^19.0.2",
73
+ "react": "^19.0.0",
74
+ "typescript": "^5.7.2",
75
+ "@ek-sentry/config": "0.1.0"
76
+ },
77
+ "scripts": {
78
+ "build": "tsc -b",
79
+ "dev": "tsc -b --watch",
80
+ "typecheck": "tsc --noEmit",
81
+ "clean": "rm -rf dist .turbo *.tsbuildinfo"
82
+ }
83
+ }