@proappstore/sdk 1.16.81 → 1.16.83
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 +46 -3
- package/dist/actions.d.ts +18 -2
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +66 -13
- package/dist/actions.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -4
- package/dist/index.js.map +1 -1
- package/dist/logs.d.ts +97 -3
- package/dist/logs.d.ts.map +1 -1
- package/dist/logs.js +315 -25
- package/dist/logs.js.map +1 -1
- package/dist/rooms.d.ts +21 -2
- package/dist/rooms.d.ts.map +1 -1
- package/dist/rooms.js +53 -3
- package/dist/rooms.js.map +1 -1
- package/dist/sdk-version.js +1 -1
- package/dist/shell-resilience.d.ts.map +1 -1
- package/dist/shell-resilience.js +3 -7
- package/dist/shell-resilience.js.map +1 -1
- package/dist/telemetry-transport.d.ts +17 -0
- package/dist/telemetry-transport.d.ts.map +1 -1
- package/dist/telemetry-transport.js +23 -9
- package/dist/telemetry-transport.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -347,6 +347,16 @@ app.logs.warn('slow board render')
|
|
|
347
347
|
app.logs.info('tournament joined')
|
|
348
348
|
app.logs.capture('warn', 'checkout', 'card declined') // your own category
|
|
349
349
|
|
|
350
|
+
// A caught error, with its cause chain; a render error from your own boundary
|
|
351
|
+
app.logs.captureException(err, { operation: 'checkout' })
|
|
352
|
+
app.logs.captureReactError(error, info.componentStack) // in componentDidCatch
|
|
353
|
+
|
|
354
|
+
// Breadcrumbs: what led up to a failure (in memory only, newest 50, redacted)
|
|
355
|
+
app.logs.addBreadcrumb('navigation', 'opened game', { mode: 'blitz' })
|
|
356
|
+
|
|
357
|
+
// Delivery health: { queued, sent, dropped, duplicates, breadcrumbs, disabled, quietUntil }
|
|
358
|
+
app.logs.health()
|
|
359
|
+
|
|
350
360
|
// Manual controls (rarely needed)
|
|
351
361
|
app.logs.flush() // fire-and-forget; also runs on pagehide
|
|
352
362
|
await app.logs.flushAsync() // await the upload
|
|
@@ -374,8 +384,39 @@ Limits: `debug` is dropped unless you set `monitoring: { level: 'debug' }`; 100
|
|
|
374
384
|
entries per upload, 4 KB per entry; each app has a daily budget, and past it
|
|
375
385
|
entries are still *counted* (so spikes stay visible) while detail stops and the
|
|
376
386
|
SDK goes quiet for a minute rather than retrying. Detail rows are pruned after 30
|
|
377
|
-
days.
|
|
378
|
-
|
|
387
|
+
days. Grouping works on minified stacks, and `build` identifies the deploy.
|
|
388
|
+
|
|
389
|
+
**Readable stacks (opt-in).** Build with hidden source maps
|
|
390
|
+
(`build: { sourcemap: 'hidden' }` in `vite.config`) and pass the commit as
|
|
391
|
+
`build.sha`: the canonical deploy then uploads the maps to the platform's
|
|
392
|
+
private store for that commit (keyless, no secret) and strips them before the
|
|
393
|
+
public upload, so they are never served. The owner reads mapped frames with
|
|
394
|
+
`GET /v1/apps/:appId/logs?symbolicate=true`; each row resolves only against the
|
|
395
|
+
release its own `build.sha` names, for 30 days, and otherwise says why
|
|
396
|
+
(`missing`, `unavailable`, `mismatched`) with the raw stack kept. Outside the
|
|
397
|
+
canonical workflow, `pas sourcemaps upload` does the same from GitHub Actions.
|
|
398
|
+
See `docs/build-and-deploy.md`.
|
|
399
|
+
|
|
400
|
+
**Best-effort, and never in the way.** Telemetry never delays a move or an
|
|
401
|
+
operation result, and never changes one. Delivery can lose entries:
|
|
402
|
+
|
|
403
|
+
- The queue keeps at most 200 entries; the oldest are dropped first.
|
|
404
|
+
- A network error, timeout (10 s) or 5xx is retried after 1, 2 and 4 seconds.
|
|
405
|
+
The batch is dropped if it still fails, or 60 seconds after its first failure.
|
|
406
|
+
- Offline, the queue waits and is sent on `online`.
|
|
407
|
+
- A closing tab gets one last best-effort send.
|
|
408
|
+
|
|
409
|
+
Breadcrumbs (`navigation`, `ui`, `network`, `room`, `auth`, `action`) take up to
|
|
410
|
+
eight primitive values; other categories, objects and arrays are ignored. The
|
|
411
|
+
buffer clears when the user signs out or changes. Never put form text, DOM
|
|
412
|
+
content, tokens or user data in a breadcrumb.
|
|
413
|
+
|
|
414
|
+
A call to `app.actions.call()` that gets no response is recorded client-side: a
|
|
415
|
+
network failure or a timeout is one error entry with the call's trace (no server
|
|
416
|
+
saw it). A cancellation you asked for (`{ signal }`) is only a breadcrumb. Rooms
|
|
417
|
+
record disconnects and reconnects as breadcrumbs, and a failed recovery as one
|
|
418
|
+
error entry. See `docs/sdk-overview.md` → "Exceptions, breadcrumbs and delivery
|
|
419
|
+
health".
|
|
379
420
|
|
|
380
421
|
`app.logs` is independent of `app.usage`: usage measures engagement, logs record
|
|
381
422
|
faults.
|
|
@@ -778,7 +819,9 @@ app.logs.error('billing', 'checkout failed', { code }); // your own entries
|
|
|
778
819
|
app.logs.capture(err, 'payments'); // a caught exception
|
|
779
820
|
```
|
|
780
821
|
|
|
781
|
-
Entries include route, auth mode, and any `monitoring.build` metadata.
|
|
822
|
+
Entries include route, auth mode, and any `monitoring.build` metadata. Error entries
|
|
823
|
+
also carry recent breadcrumbs, and `app.logs.health()` reports how many entries were
|
|
824
|
+
queued, sent and dropped. The SDK
|
|
782
825
|
**never** logs tokens, credentials, SQL params, or request bodies. Works in both
|
|
783
826
|
`legacy-bearer` and `platform-cookie` modes; flushes on an interval and on
|
|
784
827
|
`pagehide`. Opt out with `initPro({ monitoring: { auto: false } })`.
|
package/dist/actions.d.ts
CHANGED
|
@@ -6,6 +6,15 @@ interface AuthLike {
|
|
|
6
6
|
/** Minimal logger surface (satisfied by Logs) — failures only, never params. */
|
|
7
7
|
interface LoggerLike {
|
|
8
8
|
capture(level: 'error', category: string, message: string, data?: Record<string, unknown>, context?: CaptureContext): void;
|
|
9
|
+
captureException?(error: unknown, context?: CaptureContext & {
|
|
10
|
+
category?: string;
|
|
11
|
+
}): void;
|
|
12
|
+
addBreadcrumb?(category: 'action', message: string, data?: Record<string, number>): void;
|
|
13
|
+
}
|
|
14
|
+
/** Options for one action call (#392). */
|
|
15
|
+
export interface ActionCallOptions {
|
|
16
|
+
/** Cancels the call. A cancellation you asked for is recorded as a breadcrumb, not an error; `AbortSignal.timeout(ms)` counts as a timeout. */
|
|
17
|
+
signal?: AbortSignal;
|
|
9
18
|
}
|
|
10
19
|
/**
|
|
11
20
|
* What a `verify` action returns (#148): the platform verifier's verdict, and
|
|
@@ -61,8 +70,15 @@ export declare class Actions {
|
|
|
61
70
|
private readonly auth;
|
|
62
71
|
private readonly logger?;
|
|
63
72
|
constructor(appId: string, apiBase: string, auth: AuthLike, logger?: LoggerLike | undefined);
|
|
64
|
-
call<T = unknown>(name: string, params?: Record<string, unknown
|
|
65
|
-
callPublic<T = unknown>(name: string, params?: Record<string, unknown
|
|
73
|
+
call<T = unknown>(name: string, params?: Record<string, unknown>, options?: ActionCallOptions): Promise<T>;
|
|
74
|
+
callPublic<T = unknown>(name: string, params?: Record<string, unknown>, options?: ActionCallOptions): Promise<T>;
|
|
75
|
+
/**
|
|
76
|
+
* The request never got a response (#392). A cancellation the caller asked
|
|
77
|
+
* for is a breadcrumb; a timeout or network failure is one error event with
|
|
78
|
+
* the call's trace, since no server saw it. The caller still gets the
|
|
79
|
+
* original error, unchanged.
|
|
80
|
+
*/
|
|
81
|
+
private transportFailed;
|
|
66
82
|
private failed;
|
|
67
83
|
}
|
|
68
84
|
export {};
|
package/dist/actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7G,UAAU,QAAQ;IAChB,kBAAkB,IAAI,IAAI,CAAC;IAC3B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC1G;AAED,gFAAgF;AAChF,UAAU,UAAU;IAClB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/actions.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import { createRequestContext, makeTraceparent } from './trace.js';
|
|
2
|
+
/**
|
|
3
|
+
* Why a call never got a response (#392): `cancelled` (expected — the caller
|
|
4
|
+
* aborted), `timeout`, or `network` (the browser could not reach the API, so no
|
|
5
|
+
* server ever logs it). Null for anything else, e.g. signed out before sending.
|
|
6
|
+
*/
|
|
7
|
+
function classifyTransportError(error, signal) {
|
|
8
|
+
const name = error?.name;
|
|
9
|
+
if (name === 'TimeoutError')
|
|
10
|
+
return 'timeout';
|
|
11
|
+
if (name === 'AbortError') {
|
|
12
|
+
return signal?.reason?.name === 'TimeoutError' ? 'timeout' : 'cancelled';
|
|
13
|
+
}
|
|
14
|
+
if (error instanceof TypeError)
|
|
15
|
+
return 'network';
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
2
18
|
const ERROR_CODE_RE = /^[A-Za-z0-9._:-]{1,64}$/;
|
|
3
19
|
/** The context a failed call is logged with (#390): its trace, its client span, and the server's safe error code. */
|
|
4
20
|
function failureContext(ctx, durationMs, errorCode) {
|
|
@@ -67,14 +83,22 @@ export class Actions {
|
|
|
67
83
|
this.auth = auth;
|
|
68
84
|
this.logger = logger;
|
|
69
85
|
}
|
|
70
|
-
async call(name, params = {}) {
|
|
86
|
+
async call(name, params = {}, options = {}) {
|
|
71
87
|
// A context per call (#390): concurrent calls never share a trace.
|
|
72
88
|
const ctx = createRequestContext(`action.${name}`);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
89
|
+
let response;
|
|
90
|
+
try {
|
|
91
|
+
response = await this.auth.authenticatedFetch(`${this.apiBase}/v1/apps/${encodeURIComponent(this.appId)}/actions/${encodeURIComponent(name)}`, {
|
|
92
|
+
method: 'POST',
|
|
93
|
+
headers: { 'Content-Type': 'application/json' },
|
|
94
|
+
body: JSON.stringify({ params }),
|
|
95
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
96
|
+
}, ctx);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
this.transportFailed(name, ctx, error, options.signal);
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
78
102
|
if (response.status === 401) {
|
|
79
103
|
// #106: record the failure (action name + status only — never the params).
|
|
80
104
|
this.logger?.capture('error', 'action', `action ${name} unauthorized`, { action: name, status: 401 }, failureContext(ctx, Date.now() - ctx.startedAt, 'unauthorized'));
|
|
@@ -85,18 +109,47 @@ export class Actions {
|
|
|
85
109
|
throw await this.failed(name, ctx, response);
|
|
86
110
|
return (await response.json());
|
|
87
111
|
}
|
|
88
|
-
async callPublic(name, params = {}) {
|
|
112
|
+
async callPublic(name, params = {}, options = {}) {
|
|
89
113
|
const ctx = createRequestContext(`action.${name}`);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
114
|
+
let response;
|
|
115
|
+
try {
|
|
116
|
+
response = await fetch(`${this.apiBase}/v1/apps/${encodeURIComponent(this.appId)}/actions/${encodeURIComponent(name)}`, {
|
|
117
|
+
method: 'POST',
|
|
118
|
+
// The URL is always the PAS API, so the trace header is allowlisted.
|
|
119
|
+
headers: { 'Content-Type': 'application/json', traceparent: makeTraceparent(ctx.traceId, ctx.spanId) },
|
|
120
|
+
body: JSON.stringify({ params }),
|
|
121
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
this.transportFailed(name, ctx, error, options.signal);
|
|
126
|
+
throw error;
|
|
127
|
+
}
|
|
96
128
|
if (!response.ok)
|
|
97
129
|
throw await this.failed(name, ctx, response);
|
|
98
130
|
return (await response.json());
|
|
99
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* The request never got a response (#392). A cancellation the caller asked
|
|
134
|
+
* for is a breadcrumb; a timeout or network failure is one error event with
|
|
135
|
+
* the call's trace, since no server saw it. The caller still gets the
|
|
136
|
+
* original error, unchanged.
|
|
137
|
+
*/
|
|
138
|
+
transportFailed(name, ctx, error, signal) {
|
|
139
|
+
try {
|
|
140
|
+
const kind = classifyTransportError(error, signal);
|
|
141
|
+
const durationMs = Date.now() - ctx.startedAt;
|
|
142
|
+
if (kind === 'cancelled') {
|
|
143
|
+
this.logger?.addBreadcrumb?.('action', `action ${name} cancelled`, { durationMs });
|
|
144
|
+
}
|
|
145
|
+
else if (kind) {
|
|
146
|
+
this.logger?.captureException?.(error, { ...failureContext(ctx, durationMs, kind === 'timeout' ? 'timeout' : 'network_error'), category: 'action' });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
// Telemetry never changes the call's outcome.
|
|
151
|
+
}
|
|
152
|
+
}
|
|
100
153
|
async failed(name, ctx, response) {
|
|
101
154
|
const text = await response.text().catch(() => '');
|
|
102
155
|
const durationMs = Date.now() - ctx.startedAt;
|
package/dist/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAA4C,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAA4C,MAAM,YAAY,CAAC;AAoB7G;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,KAAc,EAAE,MAA+B;IAC7E,MAAM,IAAI,GAAI,KAAmC,EAAE,IAAI,CAAC;IACxD,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAQ,MAAM,EAAE,MAAyC,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/G,CAAC;IACD,IAAI,KAAK,YAAY,SAAS;QAAE,OAAO,SAAS,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAEhD,qHAAqH;AACrH,SAAS,cAAc,CAAC,GAAmB,EAAE,UAAkB,EAAE,SAAkB;IACjF,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;QAC/F,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzF,CAAC;AACJ,CAAC;AAgBD;;;;;;;;GAQG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAMf;IAAyB;IALrC,IAAI,CAAgB;IACpB,IAAI,CAAiC;IACrC,OAAO,CAAgB;IACvB,UAAU,CAAgB;IAEnC,YAAqB,MAAc,EAAW,MAAc,EAAE,IAAY,EAAE,KAA+C;QACzH,KAAK,CAAC,WAAW,MAAM,YAAY,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QADlC,WAAM,GAAN,MAAM,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAE1D,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAA+B,CAAC,CAAC,CAAC,IAAI,CAAC;QACvH,IAAI,CAAC,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED,mHAAmH;IACnH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC;IAC1C,CAAC;IAED,kIAAkI;IAClI,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;IAC9G,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IAEC;IACA;IACA;IACA;IAJnB,YACmB,KAAa,EACb,OAAe,EACf,IAAc,EACd,MAAmB;QAHnB,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAU;QACd,WAAM,GAAN,MAAM,CAAa;IACnC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAc,IAAY,EAAE,SAAkC,EAAE,EAAE,UAA6B,EAAE;QACzG,mEAAmE;QACnE,MAAM,GAAG,GAAG,oBAAoB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAC3C,GAAG,IAAI,CAAC,OAAO,YAAY,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAC/F;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;gBAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,2EAA2E;YAC3E,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,IAAI,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;YACvK,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU,CAAc,IAAY,EAAE,SAAkC,EAAE,EAAE,UAA6B,EAAE;QAC/G,MAAM,GAAG,GAAG,oBAAoB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CACpB,GAAG,IAAI,CAAC,OAAO,YAAY,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAC/F;gBACE,MAAM,EAAE,MAAM;gBACd,qEAAqE;gBACrE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;gBACtG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;gBAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,IAAY,EAAE,GAAmB,EAAE,KAAc,EAAE,MAA+B;QACxG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;YAC9C,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACrF,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,GAAmB,EAAE,QAAkB;QACxE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,IAAI,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACpK,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,7 +30,8 @@ export type { DefaultRole, RoleAssignment } from './roles.js';
|
|
|
30
30
|
export { DEFAULT_ROLES } from './roles.js';
|
|
31
31
|
export type { Invite, InviteListItem, CreateInviteOptions, RedeemResult, DelegatedInvitePolicy, GroupAdminGrant, } from './invites.js';
|
|
32
32
|
export { Actions, ActionError } from './actions.js';
|
|
33
|
-
export type { ActionVerifyResult } from './actions.js';
|
|
33
|
+
export type { ActionVerifyResult, ActionCallOptions } from './actions.js';
|
|
34
|
+
export type { Breadcrumb, BreadcrumbCategory, BreadcrumbData, LogHealth } from './logs.js';
|
|
34
35
|
export type { CaptureContext } from './trace.js';
|
|
35
36
|
export { Tokens } from './tokens.js';
|
|
36
37
|
export type { AppToken, MintedAppToken, CreateTokenOptions, TokenAccess } from './tokens.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAsC,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACV,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EACzD,qBAAqB,EAAE,eAAe,GACvC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -85,7 +85,10 @@ export class ProAppStore {
|
|
|
85
85
|
const dataApiBase = opts.dataApiBase ?? (this.auth.usesPlatformCookie ? '/.pas/data' : `https://data-${opts.appId}.proappstore.online`);
|
|
86
86
|
this.kv = new Kv(opts.appId, apiBase, this.auth);
|
|
87
87
|
this.counters = new Counters(opts.appId, apiBase, this.auth);
|
|
88
|
-
|
|
88
|
+
// Constructed before Rooms and Actions: both report to the logger (#106, #392).
|
|
89
|
+
this.logs = new Logs(opts.appId, apiBase, this.auth, opts.monitoring ?? {});
|
|
90
|
+
this.auth.setTelemetryReporter(this.logs);
|
|
91
|
+
this.rooms = new Rooms(opts.appId, apiBase, this.auth, this.logs);
|
|
89
92
|
this.roles = new Roles(opts.appId, apiBase, this.auth);
|
|
90
93
|
this.proxy = new ApiProxy(opts.appId, apiBase, this.auth);
|
|
91
94
|
this.subscription = new SubscriptionApi(opts.appId, apiBase, this.auth);
|
|
@@ -102,9 +105,6 @@ export class ProAppStore {
|
|
|
102
105
|
this.webhooks = new Webhooks(opts.appId, apiBase, this.auth);
|
|
103
106
|
this.invites = new Invites(opts.appId, apiBase, this.auth);
|
|
104
107
|
this.worker = new WorkerHttp();
|
|
105
|
-
// Constructed before Actions: Actions reports failed calls to the logger (#106).
|
|
106
|
-
this.logs = new Logs(opts.appId, apiBase, this.auth, opts.monitoring ?? {});
|
|
107
|
-
this.auth.setTelemetryReporter(this.logs);
|
|
108
108
|
this.actions = new Actions(opts.appId, apiBase, this.auth, this.logs);
|
|
109
109
|
this.tokens = new Tokens(opts.appId, apiBase, this.auth);
|
|
110
110
|
// Auto-start telemetry unless the app opts out. Wrapped in try-catch
|
|
@@ -126,6 +126,15 @@ export class ProAppStore {
|
|
|
126
126
|
}
|
|
127
127
|
catch { /* non-fatal — app runs without monitoring */ }
|
|
128
128
|
}
|
|
129
|
+
// Breadcrumbs belong to one session: forget them when the signed-in user
|
|
130
|
+
// signs out or changes (#392).
|
|
131
|
+
let lastUserId = null;
|
|
132
|
+
this.auth.onChange((user) => {
|
|
133
|
+
const id = user?.id ?? null;
|
|
134
|
+
if (lastUserId !== null && id !== lastUserId)
|
|
135
|
+
this.logs.clearBreadcrumbs();
|
|
136
|
+
lastUserId = id;
|
|
137
|
+
});
|
|
129
138
|
}
|
|
130
139
|
}
|
|
131
140
|
/** Create a new ProAppStore SDK instance. Includes all free + pro features. */
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,uEAAuE;AACvE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK3C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logs.d.ts
CHANGED
|
@@ -15,8 +15,12 @@
|
|
|
15
15
|
* SSR-safe.
|
|
16
16
|
* - **Silent.** No throw path, ever. A logger that breaks the app it observes is
|
|
17
17
|
* worse than no logger.
|
|
18
|
-
* - **Backs off instead of retrying.** The server answers 202 when an
|
|
19
|
-
* its budget;
|
|
18
|
+
* - **Backs off instead of retrying into a flood.** The server answers 202 when an
|
|
19
|
+
* app is over its budget; the SDK goes quiet (see `COOLDOWN_MS`). Only a
|
|
20
|
+
* transient failure (network, timeout, 5xx) is retried, a few times with
|
|
21
|
+
* backoff and within a TTL (#392); offline, the queue waits for `online`.
|
|
22
|
+
* - **Best effort.** The queue is bounded and lives in memory: a closed tab, a
|
|
23
|
+
* long outage or an over-budget app loses entries. `health()` says how many.
|
|
20
24
|
* - **Not a replacement for usage telemetry.** `app.usage` is unchanged; the two
|
|
21
25
|
* share only the transport.
|
|
22
26
|
*/
|
|
@@ -40,6 +44,33 @@ export type AuthTelemetryEvent = {
|
|
|
40
44
|
export type { CaptureContext } from './trace.js';
|
|
41
45
|
/** Envelope version on every entry; the ingest allowlist keys on it. */
|
|
42
46
|
export declare const LOG_ENVELOPE_VERSION = 1;
|
|
47
|
+
/** What a breadcrumb records (#392). Anything else is ignored. */
|
|
48
|
+
export type BreadcrumbCategory = 'navigation' | 'ui' | 'network' | 'room' | 'auth' | 'action';
|
|
49
|
+
/** Primitive values only: a breadcrumb never carries an object, DOM node or form payload. */
|
|
50
|
+
export type BreadcrumbData = Record<string, string | number | boolean | null>;
|
|
51
|
+
export interface Breadcrumb {
|
|
52
|
+
ts: number;
|
|
53
|
+
category: BreadcrumbCategory;
|
|
54
|
+
message: string;
|
|
55
|
+
data?: BreadcrumbData;
|
|
56
|
+
}
|
|
57
|
+
/** Delivery health of `app.logs` (#392). Counts are since the logger started. */
|
|
58
|
+
export interface LogHealth {
|
|
59
|
+
/** Entries waiting to be sent. */
|
|
60
|
+
queued: number;
|
|
61
|
+
/** Entries the server accepted, or handed to `sendBeacon`. */
|
|
62
|
+
sent: number;
|
|
63
|
+
/** Entries lost: queue overflow, retries exhausted, over budget (202/429), unknown app (404). */
|
|
64
|
+
dropped: number;
|
|
65
|
+
/** Repeats folded into an earlier queued entry instead of sent again. */
|
|
66
|
+
duplicates: number;
|
|
67
|
+
/** Breadcrumbs held in memory. */
|
|
68
|
+
breadcrumbs: number;
|
|
69
|
+
/** True once the server said this app cannot accept logs (404). Permanent for the page. */
|
|
70
|
+
disabled: boolean;
|
|
71
|
+
/** Epoch ms until which nothing is sent (server backpressure), or null. */
|
|
72
|
+
quietUntil: number | null;
|
|
73
|
+
}
|
|
43
74
|
export interface MonitoringOptions {
|
|
44
75
|
/** Default true. Set false to disable auto-capture and the flush timer. */
|
|
45
76
|
auto?: boolean;
|
|
@@ -58,11 +89,26 @@ export declare function redactClient(input: string): string;
|
|
|
58
89
|
* session at all.
|
|
59
90
|
*/
|
|
60
91
|
export declare function readOrCreateClientId(): string | null;
|
|
61
|
-
/**
|
|
92
|
+
/**
|
|
93
|
+
* Serialize an unknown thrown value into a message + stack. An Error's `cause`
|
|
94
|
+
* chain (#392, up to five levels) is appended to the stack as `Caused by:`
|
|
95
|
+
* sections, so a wrapped failure keeps its root. Bounded; never throws.
|
|
96
|
+
*/
|
|
62
97
|
export declare function describeError(value: unknown): {
|
|
63
98
|
message: string;
|
|
64
99
|
stack?: string | undefined;
|
|
65
100
|
};
|
|
101
|
+
/** Category of a render error a React error boundary caught. */
|
|
102
|
+
export declare const REACT_ERROR_CATEGORY = "react.error-boundary";
|
|
103
|
+
/**
|
|
104
|
+
* The entry for a render error a React error boundary caught: the message and
|
|
105
|
+
* stack (with causes), the component stack and the path. Shared by ProShell's
|
|
106
|
+
* boundary and {@link Logs.captureReactError}, so both read the same.
|
|
107
|
+
*/
|
|
108
|
+
export declare function describeReactError(error: unknown, componentStack?: string | null): {
|
|
109
|
+
message: string;
|
|
110
|
+
data: Record<string, unknown>;
|
|
111
|
+
};
|
|
66
112
|
export declare class Logs {
|
|
67
113
|
private readonly appId;
|
|
68
114
|
private readonly apiBase;
|
|
@@ -82,6 +128,18 @@ export declare class Logs {
|
|
|
82
128
|
/** Guards against an error raised inside our own handler re-entering. */
|
|
83
129
|
private capturing;
|
|
84
130
|
private minLevel;
|
|
131
|
+
private onOnline;
|
|
132
|
+
/** In-memory only, never persisted (#392). */
|
|
133
|
+
private breadcrumbs;
|
|
134
|
+
/** Errors already recorded, so a caught-then-rethrown error is one event. */
|
|
135
|
+
private reported;
|
|
136
|
+
private stats;
|
|
137
|
+
/** A non-unload send is in flight: the next one waits for it. */
|
|
138
|
+
private sending;
|
|
139
|
+
private retryAttempt;
|
|
140
|
+
private retryStartedAt;
|
|
141
|
+
private retryAt;
|
|
142
|
+
private retryTimer;
|
|
85
143
|
constructor(appId: string, apiBase: string, auth: TelemetryAuth, options?: MonitoringOptions);
|
|
86
144
|
/** Begin auto-capture and periodic flushing. Idempotent. */
|
|
87
145
|
start(): void;
|
|
@@ -99,6 +157,18 @@ export declare class Logs {
|
|
|
99
157
|
captureAuthEvent(event: AuthTelemetryEvent): void;
|
|
100
158
|
/** Number of entries waiting to be sent. Exposed for tests and diagnostics. */
|
|
101
159
|
get pending(): number;
|
|
160
|
+
/** Delivery health: queued, sent and dropped entries, breadcrumbs, backpressure. */
|
|
161
|
+
health(): LogHealth;
|
|
162
|
+
/**
|
|
163
|
+
* Record a breadcrumb (#392): a short, redacted note of what happened before a
|
|
164
|
+
* failure. Kept in a bounded in-memory buffer (the newest 50) and attached to
|
|
165
|
+
* the next error entries; never persisted and never sent on its own. Only the
|
|
166
|
+
* listed categories are kept, and `data` keeps up to eight primitive values —
|
|
167
|
+
* do not pass form text, DOM content, tokens or user data.
|
|
168
|
+
*/
|
|
169
|
+
addBreadcrumb(category: BreadcrumbCategory, message: string, data?: BreadcrumbData): void;
|
|
170
|
+
/** Forget every breadcrumb. The SDK calls this when the signed-in user changes. */
|
|
171
|
+
clearBreadcrumbs(): void;
|
|
102
172
|
/**
|
|
103
173
|
* Queue one entry.
|
|
104
174
|
*
|
|
@@ -116,14 +186,38 @@ export declare class Logs {
|
|
|
116
186
|
captureException(error: unknown, context?: CaptureContext & {
|
|
117
187
|
category?: string;
|
|
118
188
|
}): void;
|
|
189
|
+
/**
|
|
190
|
+
* Record a render error your own React error boundary caught (#392). React
|
|
191
|
+
* does not pass a caught error to `window.onerror`, so call this from
|
|
192
|
+
* `componentDidCatch(error, info)`: `app.logs.captureReactError(error,
|
|
193
|
+
* info.componentStack)`. Same entry as ProShell's boundary (category
|
|
194
|
+
* `react.error-boundary`, stack with causes, component stack, path).
|
|
195
|
+
*/
|
|
196
|
+
captureReactError(error: unknown, componentStack?: string | null): void;
|
|
119
197
|
/** Fire-and-forget flush, safe on the unload path. */
|
|
120
198
|
flush(): void;
|
|
121
199
|
/** Await a flush. For tests and deliberate checkpoints. */
|
|
122
200
|
flushAsync(): Promise<void>;
|
|
201
|
+
private alreadyReported;
|
|
202
|
+
private markReported;
|
|
203
|
+
/** The newest breadcrumbs that fit the ingest size budget, on an object payload only. */
|
|
204
|
+
private withBreadcrumbs;
|
|
205
|
+
/** Drop the OLDEST on overflow: during a loop the newest entries are all the
|
|
206
|
+
* same fault, while the first entries include what preceded it. */
|
|
207
|
+
private trimQueue;
|
|
123
208
|
private safeData;
|
|
124
209
|
/** W3C traceparent trace-id, so a client entry can be lined up with the
|
|
125
210
|
* backend and data-worker records for the same logical request. */
|
|
126
211
|
private newTraceId;
|
|
127
212
|
private send;
|
|
213
|
+
private settle;
|
|
214
|
+
/**
|
|
215
|
+
* A transient failure: put the batch back and retry with backoff, a bounded
|
|
216
|
+
* number of times within {@link RETRY_TTL_MS}. Offline is a pause, not a
|
|
217
|
+
* failed attempt. One timer at most, so a failing endpoint cannot cause a
|
|
218
|
+
* retry storm, and the transport never logs, so it cannot recurse.
|
|
219
|
+
*/
|
|
220
|
+
private retryLater;
|
|
221
|
+
private resetRetry;
|
|
128
222
|
}
|
|
129
223
|
//# sourceMappingURL=logs.d.ts.map
|
package/dist/logs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"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"}
|