@observa/sdk 2.3.1 → 2.4.5
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/README.md +140 -157
- package/dist/apis/ingestApi.d.ts +1 -15
- package/dist/apis/ingestApi.d.ts.map +1 -1
- package/dist/apis/ingestApi.js +2 -151
- package/dist/apis/ingestApi.js.map +1 -1
- package/dist/apis/uptimeApi.js +1 -1
- package/dist/apis/uptimeApi.js.map +1 -1
- package/dist/domain/ingest.d.ts +4 -33
- package/dist/domain/ingest.d.ts.map +1 -1
- package/dist/http/httpClient.d.ts +5 -2
- package/dist/http/httpClient.d.ts.map +1 -1
- package/dist/http/httpClient.js +44 -8
- package/dist/http/httpClient.js.map +1 -1
- package/dist/index.d.ts +18 -494
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -568
- package/dist/index.js.map +1 -1
- package/dist/sdk.d.ts +4 -9
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +7 -19
- package/dist/sdk.js.map +1 -1
- package/package.json +9 -16
- package/dist/src/apis/ingestApi.d.ts +0 -22
- package/dist/src/apis/ingestApi.js +0 -167
- package/dist/src/apis/ingestApi.js.map +0 -1
- package/dist/src/apis/uptimeApi.d.ts +0 -11
- package/dist/src/apis/uptimeApi.js +0 -39
- package/dist/src/apis/uptimeApi.js.map +0 -1
- package/dist/src/domain/ingest.d.ts +0 -47
- package/dist/src/domain/ingest.js +0 -2
- package/dist/src/domain/ingest.js.map +0 -1
- package/dist/src/domain/uptime.d.ts +0 -23
- package/dist/src/domain/uptime.js +0 -2
- package/dist/src/domain/uptime.js.map +0 -1
- package/dist/src/http/errors.d.ts +0 -33
- package/dist/src/http/errors.js +0 -54
- package/dist/src/http/errors.js.map +0 -1
- package/dist/src/http/httpClient.d.ts +0 -45
- package/dist/src/http/httpClient.js +0 -165
- package/dist/src/http/httpClient.js.map +0 -1
- package/dist/src/index.d.ts +0 -12
- package/dist/src/index.js +0 -7
- package/dist/src/index.js.map +0 -1
- package/dist/src/sdk.d.ts +0 -23
- package/dist/src/sdk.js +0 -40
- package/dist/src/sdk.js.map +0 -1
- package/dist/src/utils/processContext.d.ts +0 -34
- package/dist/src/utils/processContext.js +0 -47
- package/dist/src/utils/processContext.js.map +0 -1
- package/dist/src/utils/validate.d.ts +0 -2
- package/dist/src/utils/validate.js +0 -12
- package/dist/src/utils/validate.js.map +0 -1
- package/dist/tests/httpClient.test.d.ts +0 -1
- package/dist/tests/httpClient.test.js +0 -47
- package/dist/tests/httpClient.test.js.map +0 -1
- package/dist/tests/ingestApi.test.d.ts +0 -1
- package/dist/tests/ingestApi.test.js +0 -65
- package/dist/tests/ingestApi.test.js.map +0 -1
- package/dist/tests/observaSdk.integration.test.d.ts +0 -1
- package/dist/tests/observaSdk.integration.test.js +0 -51
- package/dist/tests/observaSdk.integration.test.js.map +0 -1
- package/dist/tests/sdk.test.d.ts +0 -1
- package/dist/tests/sdk.test.js +0 -104
- package/dist/tests/sdk.test.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/utils/processContext.d.ts +0 -35
- package/dist/utils/processContext.d.ts.map +0 -1
- package/dist/utils/processContext.js +0 -47
- package/dist/utils/processContext.js.map +0 -1
- package/src/apis/ingestApi.ts +0 -185
- package/src/apis/uptimeApi.ts +0 -58
- package/src/domain/ingest.ts +0 -89
- package/src/domain/uptime.ts +0 -86
- package/src/http/errors.ts +0 -88
- package/src/http/httpClient.ts +0 -277
- package/src/index.ts +0 -68
- package/src/sdk.ts +0 -103
- package/src/utils/processContext.ts +0 -84
- package/src/utils/validate.ts +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../src/http/httpClient.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../src/http/httpClient.ts"],"names":[],"mappings":"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"}
|
package/dist/http/httpClient.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuthError, NetworkError, TimeoutError, mapHttpError } from './errors';
|
|
1
|
+
import { AuthError, NetworkError, TimeoutError, ServerError, mapHttpError } from './errors';
|
|
2
2
|
/**
|
|
3
3
|
* Base HTTP client for the SDK.
|
|
4
4
|
*/
|
|
@@ -25,11 +25,10 @@ export class HttpClient {
|
|
|
25
25
|
setApiKey(apiKey) {
|
|
26
26
|
this.apiKey = apiKey;
|
|
27
27
|
}
|
|
28
|
-
startHealthCheck(
|
|
28
|
+
startHealthCheck() {
|
|
29
29
|
if (!this.healthCheckPromise) {
|
|
30
|
-
|
|
31
|
-
this.healthCheckPromise
|
|
32
|
-
promise.catch(() => undefined);
|
|
30
|
+
this.healthCheckPromise = this.checkHealth();
|
|
31
|
+
this.healthCheckPromise.catch(() => undefined);
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
/**
|
|
@@ -64,11 +63,10 @@ export class HttpClient {
|
|
|
64
63
|
}
|
|
65
64
|
/**
|
|
66
65
|
* Executes a request with retry logic.
|
|
66
|
+
* Request outcome depends only on request execution/retry/timeout,
|
|
67
|
+
* never on startup healthcheck state.
|
|
67
68
|
*/
|
|
68
69
|
async request(options) {
|
|
69
|
-
if (this.healthCheckPromise) {
|
|
70
|
-
await this.healthCheckPromise;
|
|
71
|
-
}
|
|
72
70
|
const retry = this.retry ?? { retries: 0 };
|
|
73
71
|
const retryOn = retry.retryOn ?? ((response, error) => {
|
|
74
72
|
if (response)
|
|
@@ -116,6 +114,12 @@ export class HttpClient {
|
|
|
116
114
|
throw new AuthError('API key is required');
|
|
117
115
|
headers['x-api-key'] = this.apiKey;
|
|
118
116
|
}
|
|
117
|
+
else if (authMode === 'dsn') {
|
|
118
|
+
// DSN is already in the request body — no header required.
|
|
119
|
+
// If apiKey is present (server-side usage), inject as bonus header for backward compat.
|
|
120
|
+
if (this.apiKey)
|
|
121
|
+
headers['x-api-key'] = this.apiKey;
|
|
122
|
+
}
|
|
119
123
|
const controller = new AbortController();
|
|
120
124
|
const timer = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
121
125
|
try {
|
|
@@ -179,6 +183,38 @@ export class HttpClient {
|
|
|
179
183
|
return text;
|
|
180
184
|
}
|
|
181
185
|
}
|
|
186
|
+
async checkHealth() {
|
|
187
|
+
const url = this.buildUrl('/health');
|
|
188
|
+
const controller = new AbortController();
|
|
189
|
+
const timer = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
190
|
+
try {
|
|
191
|
+
const response = await fetch(url, {
|
|
192
|
+
method: 'GET',
|
|
193
|
+
headers: this.headers,
|
|
194
|
+
signal: controller.signal,
|
|
195
|
+
});
|
|
196
|
+
const data = await this.readBody(response);
|
|
197
|
+
if (!response.ok) {
|
|
198
|
+
throw mapHttpError(response.status, data);
|
|
199
|
+
}
|
|
200
|
+
if (!data || typeof data !== 'object' || data.status !== 'ok') {
|
|
201
|
+
throw new ServerError('Health check failed', { details: data });
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
if (error?.name === 'AbortError') {
|
|
206
|
+
throw new TimeoutError('Request timeout');
|
|
207
|
+
}
|
|
208
|
+
if (error instanceof NetworkError || error instanceof TimeoutError)
|
|
209
|
+
throw error;
|
|
210
|
+
if (error instanceof Error && 'status' in error)
|
|
211
|
+
throw error;
|
|
212
|
+
throw new NetworkError('Network error', { details: error });
|
|
213
|
+
}
|
|
214
|
+
finally {
|
|
215
|
+
clearTimeout(timer);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
182
218
|
parseRetryAfter(value) {
|
|
183
219
|
if (!value)
|
|
184
220
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../src/http/httpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../src/http/httpClient.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,510 +1,34 @@
|
|
|
1
|
-
type ProcessContextStatic = {
|
|
2
|
-
versions?: NodeJS.ProcessVersions;
|
|
3
|
-
node?: string;
|
|
4
|
-
platform?: NodeJS.Platform;
|
|
5
|
-
arch?: string;
|
|
6
|
-
releaseName?: string;
|
|
7
|
-
};
|
|
8
|
-
type ProcessContextDynamic = {
|
|
9
|
-
pid?: number;
|
|
10
|
-
uptimeSeconds?: number;
|
|
11
|
-
memory?: NodeJS.MemoryUsage;
|
|
12
|
-
};
|
|
13
|
-
type ProcessContext = ProcessContextStatic & ProcessContextDynamic;
|
|
14
|
-
type ProcessContextOptions = {
|
|
15
|
-
includeStatic?: boolean;
|
|
16
|
-
includeDynamic?: boolean;
|
|
17
|
-
includeVersions?: boolean;
|
|
18
|
-
includeRuntime?: boolean;
|
|
19
|
-
includePid?: boolean;
|
|
20
|
-
includeUptime?: boolean;
|
|
21
|
-
includeMemory?: boolean;
|
|
22
|
-
};
|
|
23
|
-
type ProcessContextStaticOptions = {
|
|
24
|
-
includeVersions?: boolean;
|
|
25
|
-
includeRuntime?: boolean;
|
|
26
|
-
};
|
|
27
|
-
type ProcessContextDynamicOptions = {
|
|
28
|
-
includePid?: boolean;
|
|
29
|
-
includeUptime?: boolean;
|
|
30
|
-
includeMemory?: boolean;
|
|
31
|
-
};
|
|
32
|
-
declare function getProcessContext(options?: ProcessContextOptions): ProcessContext;
|
|
33
|
-
declare function getProcessContextStatic(options?: ProcessContextStaticOptions): ProcessContextStatic;
|
|
34
|
-
declare function getProcessContextDynamic(options?: ProcessContextDynamicOptions): ProcessContextDynamic;
|
|
35
|
-
|
|
36
1
|
/**
|
|
37
|
-
*
|
|
2
|
+
* Main SDK.
|
|
38
3
|
*/
|
|
39
|
-
|
|
40
|
-
type StacktraceFrame = {
|
|
41
|
-
filename?: string;
|
|
42
|
-
function?: string;
|
|
43
|
-
lineno?: number;
|
|
44
|
-
colno?: number;
|
|
45
|
-
in_app?: boolean;
|
|
46
|
-
};
|
|
47
|
-
type Stacktrace = {
|
|
48
|
-
frames: StacktraceFrame[];
|
|
49
|
-
};
|
|
50
|
-
type IngestException = {
|
|
51
|
-
type: string;
|
|
52
|
-
value: string;
|
|
53
|
-
stacktrace?: Stacktrace;
|
|
54
|
-
};
|
|
55
|
-
type RequestContext = {
|
|
56
|
-
requestId?: string;
|
|
57
|
-
userId?: string;
|
|
58
|
-
[key: string]: unknown;
|
|
59
|
-
};
|
|
60
|
-
type IngestEventContext = {
|
|
61
|
-
system?: ProcessContextDynamic;
|
|
62
|
-
runtime?: ProcessContextStatic;
|
|
63
|
-
request?: RequestContext;
|
|
64
|
-
};
|
|
4
|
+
export { ObservaSDK } from './sdk';
|
|
65
5
|
/**
|
|
66
|
-
*
|
|
6
|
+
* SDK options.
|
|
67
7
|
*/
|
|
68
|
-
type
|
|
69
|
-
/**
|
|
70
|
-
* Unique event identifier.
|
|
71
|
-
*/
|
|
72
|
-
event_id?: string;
|
|
73
|
-
/**
|
|
74
|
-
* Event ISO timestamp.
|
|
75
|
-
*/
|
|
76
|
-
timestamp?: string;
|
|
77
|
-
schema_version?: number;
|
|
78
|
-
/**
|
|
79
|
-
* Severity level.
|
|
80
|
-
*/
|
|
81
|
-
level?: IngestLevel;
|
|
82
|
-
/**
|
|
83
|
-
* Main message.
|
|
84
|
-
*/
|
|
85
|
-
message?: string;
|
|
86
|
-
exception?: IngestException;
|
|
87
|
-
context?: IngestEventContext;
|
|
88
|
-
tags?: Record<string, string>;
|
|
89
|
-
extra?: Record<string, unknown>;
|
|
90
|
-
};
|
|
8
|
+
export type { ObservaSDKOptions } from './sdk';
|
|
91
9
|
/**
|
|
92
|
-
*
|
|
10
|
+
* Base HTTP client.
|
|
93
11
|
*/
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Project DSN. Uses the SDK default when omitted.
|
|
97
|
-
*/
|
|
98
|
-
dsnKey?: string;
|
|
99
|
-
/**
|
|
100
|
-
* Event to record.
|
|
101
|
-
*/
|
|
102
|
-
event: IngestEvent;
|
|
103
|
-
idempotencyKey?: string;
|
|
104
|
-
sdkVersion?: string;
|
|
105
|
-
};
|
|
12
|
+
export { HttpClient } from './http/httpClient';
|
|
106
13
|
/**
|
|
107
|
-
*
|
|
14
|
+
* HTTP types.
|
|
108
15
|
*/
|
|
109
|
-
type
|
|
110
|
-
/**
|
|
111
|
-
* Assigned event identifier.
|
|
112
|
-
*/
|
|
113
|
-
event_id: string;
|
|
114
|
-
};
|
|
115
|
-
|
|
16
|
+
export type { HttpClientOptions, RequestOptions, RetryPolicy, AuthMode } from './http/httpClient';
|
|
116
17
|
/**
|
|
117
|
-
*
|
|
18
|
+
* Typed SDK errors.
|
|
118
19
|
*/
|
|
119
|
-
|
|
20
|
+
export { SdkError, ValidationError, AuthError, ForbiddenError, NotFoundError, ConflictError, RateLimitError, ServerError, NetworkError, TimeoutError, } from './http/errors';
|
|
120
21
|
/**
|
|
121
|
-
*
|
|
22
|
+
* Domain APIs.
|
|
122
23
|
*/
|
|
123
|
-
|
|
24
|
+
export { UptimeApi } from './apis/uptimeApi';
|
|
25
|
+
export { IngestApi } from './apis/ingestApi';
|
|
124
26
|
/**
|
|
125
|
-
*
|
|
27
|
+
* Uptime types.
|
|
126
28
|
*/
|
|
127
|
-
type
|
|
29
|
+
export type { UptimeEvent, UptimeStatus, UptimeHeartbeatInput, UptimeSummary } from './domain/uptime';
|
|
128
30
|
/**
|
|
129
|
-
*
|
|
31
|
+
* Ingestion types.
|
|
130
32
|
*/
|
|
131
|
-
type
|
|
132
|
-
|
|
133
|
-
* Number of additional retries.
|
|
134
|
-
*/
|
|
135
|
-
retries: number;
|
|
136
|
-
/**
|
|
137
|
-
* Computes the delay between retries.
|
|
138
|
-
*/
|
|
139
|
-
retryDelayMs?: (attempt: number, response?: Response, error?: unknown) => number;
|
|
140
|
-
/**
|
|
141
|
-
* Determines whether a response or error should be retried.
|
|
142
|
-
*/
|
|
143
|
-
retryOn?: (response?: Response, error?: unknown) => boolean;
|
|
144
|
-
};
|
|
145
|
-
/**
|
|
146
|
-
* Base HTTP client configuration.
|
|
147
|
-
*/
|
|
148
|
-
type HttpClientOptions = {
|
|
149
|
-
/**
|
|
150
|
-
* Backend base URL.
|
|
151
|
-
*/
|
|
152
|
-
baseUrl: string;
|
|
153
|
-
/**
|
|
154
|
-
* API key used for SDK authentication.
|
|
155
|
-
*/
|
|
156
|
-
apiKey?: string;
|
|
157
|
-
/**
|
|
158
|
-
* Request timeout in milliseconds.
|
|
159
|
-
*/
|
|
160
|
-
timeoutMs?: number;
|
|
161
|
-
/**
|
|
162
|
-
* Global headers.
|
|
163
|
-
*/
|
|
164
|
-
headers?: Record<string, string>;
|
|
165
|
-
/**
|
|
166
|
-
* Retry policy.
|
|
167
|
-
*/
|
|
168
|
-
retry?: RetryPolicy;
|
|
169
|
-
};
|
|
170
|
-
/**
|
|
171
|
-
* Per-request options.
|
|
172
|
-
*/
|
|
173
|
-
type RequestOptions = {
|
|
174
|
-
method: HttpMethod;
|
|
175
|
-
path: string;
|
|
176
|
-
query?: QueryParams;
|
|
177
|
-
body?: unknown;
|
|
178
|
-
headers?: Record<string, string>;
|
|
179
|
-
/**
|
|
180
|
-
* Defines whether the request requires an apiKey or is public.
|
|
181
|
-
*/
|
|
182
|
-
auth?: AuthMode;
|
|
183
|
-
};
|
|
184
|
-
/**
|
|
185
|
-
* Base HTTP client for the SDK.
|
|
186
|
-
*/
|
|
187
|
-
declare class HttpClient {
|
|
188
|
-
private apiKey?;
|
|
189
|
-
private readonly baseUrl;
|
|
190
|
-
private readonly timeoutMs;
|
|
191
|
-
private readonly headers;
|
|
192
|
-
private readonly retry?;
|
|
193
|
-
private healthCheckPromise?;
|
|
194
|
-
/**
|
|
195
|
-
* Creates an HTTP client with baseUrl and optional apiKey.
|
|
196
|
-
*/
|
|
197
|
-
constructor(options: HttpClientOptions);
|
|
198
|
-
/**
|
|
199
|
-
* Updates the API key at runtime.
|
|
200
|
-
*/
|
|
201
|
-
setApiKey(apiKey?: string): void;
|
|
202
|
-
startHealthCheck(healthCheck: () => Promise<unknown>): void;
|
|
203
|
-
/**
|
|
204
|
-
* GET request.
|
|
205
|
-
*/
|
|
206
|
-
get<T>(path: string, options?: Omit<RequestOptions, 'method' | 'path'>): Promise<T>;
|
|
207
|
-
/**
|
|
208
|
-
* POST request.
|
|
209
|
-
*/
|
|
210
|
-
post<T>(path: string, body?: unknown, options?: Omit<RequestOptions, 'method' | 'path' | 'body'>): Promise<T>;
|
|
211
|
-
/**
|
|
212
|
-
* PUT request.
|
|
213
|
-
*/
|
|
214
|
-
put<T>(path: string, body?: unknown, options?: Omit<RequestOptions, 'method' | 'path' | 'body'>): Promise<T>;
|
|
215
|
-
/**
|
|
216
|
-
* PATCH request.
|
|
217
|
-
*/
|
|
218
|
-
patch<T>(path: string, body?: unknown, options?: Omit<RequestOptions, 'method' | 'path' | 'body'>): Promise<T>;
|
|
219
|
-
/**
|
|
220
|
-
* DELETE request.
|
|
221
|
-
*/
|
|
222
|
-
delete<T>(path: string, options?: Omit<RequestOptions, 'method' | 'path'>): Promise<T>;
|
|
223
|
-
/**
|
|
224
|
-
* Executes a request with retry logic.
|
|
225
|
-
*/
|
|
226
|
-
request<T>(options: RequestOptions): Promise<T>;
|
|
227
|
-
/**
|
|
228
|
-
* Executes a request without retry and returns response + data.
|
|
229
|
-
*/
|
|
230
|
-
private execute;
|
|
231
|
-
/**
|
|
232
|
-
* Builds the final URL with query params.
|
|
233
|
-
*/
|
|
234
|
-
private buildUrl;
|
|
235
|
-
/**
|
|
236
|
-
* Parses the body as JSON when possible.
|
|
237
|
-
*/
|
|
238
|
-
private readBody;
|
|
239
|
-
private parseRetryAfter;
|
|
240
|
-
/**
|
|
241
|
-
* Simple delay for retries.
|
|
242
|
-
*/
|
|
243
|
-
private delay;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
type IngestNormalizationOptions = {
|
|
247
|
-
schemaVersion?: number;
|
|
248
|
-
includeContext?: boolean;
|
|
249
|
-
includeSystemContext?: boolean;
|
|
250
|
-
includeRuntimeContext?: boolean;
|
|
251
|
-
maxEventBytes?: number;
|
|
252
|
-
maxFrames?: number;
|
|
253
|
-
maxMessageLength?: number;
|
|
254
|
-
maxExceptionValueLength?: number;
|
|
255
|
-
};
|
|
256
|
-
/**
|
|
257
|
-
* Event ingestion API.
|
|
258
|
-
*/
|
|
259
|
-
declare class IngestApi {
|
|
260
|
-
private readonly http;
|
|
261
|
-
private readonly defaultDsnKey?;
|
|
262
|
-
private readonly normalization?;
|
|
263
|
-
/**
|
|
264
|
-
* Creates the ingestion client with an optional default DSN.
|
|
265
|
-
*/
|
|
266
|
-
constructor(http: HttpClient, defaultDsnKey?: string | undefined, normalization?: IngestNormalizationOptions | undefined);
|
|
267
|
-
/**
|
|
268
|
-
* Sends an event to the ingestion backend.
|
|
269
|
-
*/
|
|
270
|
-
event(input: IngestRequest): Promise<IngestResponse>;
|
|
271
|
-
health(dsnKey?: string): Promise<{
|
|
272
|
-
ok: boolean;
|
|
273
|
-
}>;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
/**
|
|
277
|
-
* Possible uptime statuses.
|
|
278
|
-
*/
|
|
279
|
-
type UptimeStatus = 'up' | 'down' | 'degraded';
|
|
280
|
-
/**
|
|
281
|
-
* Recorded uptime event.
|
|
282
|
-
*/
|
|
283
|
-
type UptimeEvent = {
|
|
284
|
-
/**
|
|
285
|
-
* Event identifier.
|
|
286
|
-
*/
|
|
287
|
-
id: string;
|
|
288
|
-
/**
|
|
289
|
-
* Project the event belongs to.
|
|
290
|
-
*/
|
|
291
|
-
projectId: string;
|
|
292
|
-
/**
|
|
293
|
-
* Uptime status.
|
|
294
|
-
*/
|
|
295
|
-
status: UptimeStatus;
|
|
296
|
-
/**
|
|
297
|
-
* Optional message for the event.
|
|
298
|
-
*/
|
|
299
|
-
message?: string;
|
|
300
|
-
/**
|
|
301
|
-
* Response time in milliseconds.
|
|
302
|
-
*/
|
|
303
|
-
responseTimeMs?: number;
|
|
304
|
-
/**
|
|
305
|
-
* ISO timestamp of the check.
|
|
306
|
-
*/
|
|
307
|
-
checkedAt?: string;
|
|
308
|
-
/**
|
|
309
|
-
* ISO timestamp of backend creation.
|
|
310
|
-
*/
|
|
311
|
-
createdAt?: string;
|
|
312
|
-
};
|
|
313
|
-
/**
|
|
314
|
-
* Payload for sending an uptime heartbeat.
|
|
315
|
-
*/
|
|
316
|
-
type UptimeHeartbeatInput = {
|
|
317
|
-
/**
|
|
318
|
-
* Project DSN. Uses the SDK default when omitted.
|
|
319
|
-
*/
|
|
320
|
-
dsnKey?: string;
|
|
321
|
-
/**
|
|
322
|
-
* Reported status.
|
|
323
|
-
*/
|
|
324
|
-
status: UptimeStatus;
|
|
325
|
-
/**
|
|
326
|
-
* Response time in milliseconds.
|
|
327
|
-
*/
|
|
328
|
-
responseTimeMs?: number;
|
|
329
|
-
/**
|
|
330
|
-
* ISO timestamp of the check.
|
|
331
|
-
*/
|
|
332
|
-
checkedAt?: string;
|
|
333
|
-
/**
|
|
334
|
-
* Optional message.
|
|
335
|
-
*/
|
|
336
|
-
message?: string;
|
|
337
|
-
};
|
|
338
|
-
/**
|
|
339
|
-
* Daily uptime summary.
|
|
340
|
-
*/
|
|
341
|
-
type UptimeSummary = {
|
|
342
|
-
/**
|
|
343
|
-
* ISO date of the summary.
|
|
344
|
-
*/
|
|
345
|
-
date: string;
|
|
346
|
-
/**
|
|
347
|
-
* Hours without data.
|
|
348
|
-
*/
|
|
349
|
-
missingHours?: number;
|
|
350
|
-
/**
|
|
351
|
-
* Accumulated delay minutes.
|
|
352
|
-
*/
|
|
353
|
-
delayMinutes?: number;
|
|
354
|
-
/**
|
|
355
|
-
* Number of delayed events.
|
|
356
|
-
*/
|
|
357
|
-
delayedCount?: number;
|
|
358
|
-
};
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* Uptime API for heartbeats and public reads.
|
|
362
|
-
*/
|
|
363
|
-
declare class UptimeApi {
|
|
364
|
-
private readonly http;
|
|
365
|
-
private readonly defaultDsnKey?;
|
|
366
|
-
/**
|
|
367
|
-
* Creates the uptime client with an optional default DSN.
|
|
368
|
-
*/
|
|
369
|
-
constructor(http: HttpClient, defaultDsnKey?: string | undefined);
|
|
370
|
-
/**
|
|
371
|
-
* Records an uptime heartbeat.
|
|
372
|
-
*/
|
|
373
|
-
recordHeartbeat(input: UptimeHeartbeatInput): Promise<UptimeEvent>;
|
|
374
|
-
/**
|
|
375
|
-
* Lists a project's daily uptime history.
|
|
376
|
-
*/
|
|
377
|
-
history(projectId: string, date: string): Promise<UptimeEvent[]>;
|
|
378
|
-
/**
|
|
379
|
-
* Gets the latest uptime event for a project.
|
|
380
|
-
*/
|
|
381
|
-
latest(projectId: string): Promise<UptimeEvent | null>;
|
|
382
|
-
/**
|
|
383
|
-
* Summarizes daily uptime.
|
|
384
|
-
*/
|
|
385
|
-
summary(projectId: string, days?: number, delayThresholdMinutes?: number): Promise<UptimeSummary[]>;
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* SDK configuration options.
|
|
390
|
-
*/
|
|
391
|
-
type ObservaSDKOptions = {
|
|
392
|
-
/**
|
|
393
|
-
* Organization API key used to authenticate SDK requests.
|
|
394
|
-
*/
|
|
395
|
-
apiKey: string;
|
|
396
|
-
/**
|
|
397
|
-
* Project DSN used to identify the destination of events and heartbeats.
|
|
398
|
-
*/
|
|
399
|
-
dsnKey: string;
|
|
400
|
-
baseUrl?: string;
|
|
401
|
-
/**
|
|
402
|
-
* HTTP request timeout in milliseconds.
|
|
403
|
-
*/
|
|
404
|
-
timeoutMs?: number;
|
|
405
|
-
/**
|
|
406
|
-
* Retry policy for transient errors.
|
|
407
|
-
*/
|
|
408
|
-
retry?: RetryPolicy;
|
|
409
|
-
/**
|
|
410
|
-
* Additional headers sent with every request.
|
|
411
|
-
*/
|
|
412
|
-
headers?: Record<string, string>;
|
|
413
|
-
ingest?: IngestNormalizationOptions;
|
|
414
|
-
};
|
|
415
|
-
/**
|
|
416
|
-
* Main SDK for error ingestion and uptime heartbeats.
|
|
417
|
-
*/
|
|
418
|
-
declare class ObservaSDK {
|
|
419
|
-
/**
|
|
420
|
-
* Uptime API (heartbeats and public reads).
|
|
421
|
-
*/
|
|
422
|
-
readonly uptime: UptimeApi;
|
|
423
|
-
/**
|
|
424
|
-
* Event ingestion API.
|
|
425
|
-
*/
|
|
426
|
-
readonly ingest: IngestApi;
|
|
427
|
-
private readonly http;
|
|
428
|
-
/**
|
|
429
|
-
* Creates an SDK instance with required apiKey and dsnKey.
|
|
430
|
-
*/
|
|
431
|
-
constructor(options: ObservaSDKOptions);
|
|
432
|
-
/**
|
|
433
|
-
* Updates the API key used by the SDK at runtime.
|
|
434
|
-
*/
|
|
435
|
-
setApiKey(apiKey: string): void;
|
|
436
|
-
getProcessContext(options?: ProcessContextOptions): ProcessContext;
|
|
437
|
-
getProcessContextStatic(options?: ProcessContextStaticOptions): ProcessContextStatic;
|
|
438
|
-
getProcessContextDynamic(options?: ProcessContextDynamicOptions): ProcessContextDynamic;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
/**
|
|
442
|
-
* Additional data to enrich SDK errors.
|
|
443
|
-
*/
|
|
444
|
-
type ErrorDetails = {
|
|
445
|
-
status?: number;
|
|
446
|
-
code?: string;
|
|
447
|
-
details?: unknown;
|
|
448
|
-
retryAfter?: number;
|
|
449
|
-
};
|
|
450
|
-
/**
|
|
451
|
-
* Base SDK error.
|
|
452
|
-
*/
|
|
453
|
-
declare class SdkError extends Error {
|
|
454
|
-
readonly status?: number;
|
|
455
|
-
readonly code?: string;
|
|
456
|
-
readonly details?: unknown;
|
|
457
|
-
/**
|
|
458
|
-
* Creates an error with optional metadata.
|
|
459
|
-
*/
|
|
460
|
-
constructor(message: string, details?: ErrorDetails);
|
|
461
|
-
}
|
|
462
|
-
/**
|
|
463
|
-
* Input validation error.
|
|
464
|
-
*/
|
|
465
|
-
declare class ValidationError extends SdkError {
|
|
466
|
-
}
|
|
467
|
-
/**
|
|
468
|
-
* Authentication error.
|
|
469
|
-
*/
|
|
470
|
-
declare class AuthError extends SdkError {
|
|
471
|
-
}
|
|
472
|
-
/**
|
|
473
|
-
* Error caused by insufficient permissions.
|
|
474
|
-
*/
|
|
475
|
-
declare class ForbiddenError extends SdkError {
|
|
476
|
-
}
|
|
477
|
-
/**
|
|
478
|
-
* Error when a resource does not exist.
|
|
479
|
-
*/
|
|
480
|
-
declare class NotFoundError extends SdkError {
|
|
481
|
-
}
|
|
482
|
-
/**
|
|
483
|
-
* Error caused by a state conflict.
|
|
484
|
-
*/
|
|
485
|
-
declare class ConflictError extends SdkError {
|
|
486
|
-
}
|
|
487
|
-
/**
|
|
488
|
-
* Error caused by rate limiting.
|
|
489
|
-
*/
|
|
490
|
-
declare class RateLimitError extends SdkError {
|
|
491
|
-
readonly retryAfter?: number;
|
|
492
|
-
constructor(message: string, details?: ErrorDetails);
|
|
493
|
-
}
|
|
494
|
-
/**
|
|
495
|
-
* Server-side error.
|
|
496
|
-
*/
|
|
497
|
-
declare class ServerError extends SdkError {
|
|
498
|
-
}
|
|
499
|
-
/**
|
|
500
|
-
* Network error.
|
|
501
|
-
*/
|
|
502
|
-
declare class NetworkError extends SdkError {
|
|
503
|
-
}
|
|
504
|
-
/**
|
|
505
|
-
* Request timeout error.
|
|
506
|
-
*/
|
|
507
|
-
declare class TimeoutError extends SdkError {
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
export { AuthError, type AuthMode, ConflictError, ForbiddenError, HttpClient, type HttpClientOptions, IngestApi, type IngestEvent, type IngestEventContext, type IngestException, type IngestLevel, type IngestNormalizationOptions, type IngestRequest, type IngestResponse, NetworkError, NotFoundError, ObservaSDK, type ObservaSDKOptions, type ProcessContext, type ProcessContextDynamic, type ProcessContextDynamicOptions, type ProcessContextOptions, type ProcessContextStatic, type ProcessContextStaticOptions, RateLimitError, type RequestContext, type RequestOptions, type RetryPolicy, SdkError, ServerError, type Stacktrace, type StacktraceFrame, TimeoutError, UptimeApi, type UptimeEvent, type UptimeHeartbeatInput, type UptimeStatus, type UptimeSummary, ValidationError, getProcessContext, getProcessContextDynamic, getProcessContextStatic };
|
|
33
|
+
export type { IngestEvent, IngestLevel, IngestRequest, IngestResponse } from './domain/ingest';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE9C;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjG;;GAEG;AACH,OAAO,EACL,QAAQ,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAA;AAEtB;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE9C;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjG;;GAEG;AACH,OAAO,EACL,QAAQ,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAA;AAEtB;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACrG;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA"}
|