@alwaysmeticulous/sdk-bundles-api 2.324.0 → 2.325.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.
|
@@ -28,6 +28,24 @@ export type MeticulousIORedisWrapper = <T>(client: T) => T;
|
|
|
28
28
|
* across the bundle boundary.
|
|
29
29
|
*/
|
|
30
30
|
export type MeticulousPostgresJsWrapper = <T>(sql: T) => T;
|
|
31
|
+
/**
|
|
32
|
+
* The kinds of Cloudflare binding the recorder captures. Normally inferred from the binding
|
|
33
|
+
* itself; name one explicitly when inference gets it wrong. `"skip"` leaves it untouched.
|
|
34
|
+
*/
|
|
35
|
+
export type MeticulousCloudflareBindingKind = "kv" | "r2" | "queue" | "durable-object-namespace" | "fetcher" | "skip";
|
|
36
|
+
export interface MeticulousCloudflareEnvOptions {
|
|
37
|
+
/** Binding names to leave unrecorded, on top of the defaults (`ASSETS`, `__STATIC_CONTENT`). */
|
|
38
|
+
skipBindings?: readonly string[];
|
|
39
|
+
/** Overrides for the inferred binding kind, keyed by `env` key. */
|
|
40
|
+
bindings?: Readonly<Record<string, MeticulousCloudflareBindingKind>>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Wraps a Cloudflare `env` so calls through its bindings are recorded (record mode) or served from
|
|
44
|
+
* recordings (replay mode), returning a shallow copy with each recognised binding replaced. Apply it
|
|
45
|
+
* at the request edge: `const env = handle.withMeticulousCloudflareEnv(context.cloudflare.env)`.
|
|
46
|
+
* Safe to call across the bundle boundary.
|
|
47
|
+
*/
|
|
48
|
+
export type MeticulousCloudflareEnvWrapper = <TEnv extends object>(env: TEnv, options?: MeticulousCloudflareEnvOptions) => TEnv;
|
|
31
49
|
/** Identifies one wrapped operation to the recorder. See {@link MeticulousOperationWrapper}. */
|
|
32
50
|
export interface MeticulousOperationSpec {
|
|
33
51
|
/**
|
|
@@ -196,6 +214,36 @@ export interface BackendRecorderHandle {
|
|
|
196
214
|
* guard with `handle?.withMeticulousOperation`.
|
|
197
215
|
*/
|
|
198
216
|
withMeticulousOperation?: MeticulousOperationWrapper;
|
|
217
|
+
/**
|
|
218
|
+
* The Meticulous Cloudflare `env` wrapper. Apply it at your request edge
|
|
219
|
+
* (`const env = handle.withMeticulousCloudflareEnv(context.cloudflare.env)`) so calls through
|
|
220
|
+
* your KV, R2, queue, Durable Object and service bindings are recorded (record mode) or served
|
|
221
|
+
* from recordings (replay mode).
|
|
222
|
+
*
|
|
223
|
+
* Required for an app that runs on **Node** with Cloudflare bindings — a React Router or
|
|
224
|
+
* TanStack Start dev server or container using `cloudflareDevProxy`, or anything else built on
|
|
225
|
+
* wrangler's `getPlatformProxy`. There each binding is a proxy object created per process: there
|
|
226
|
+
* is no module for a require hook to intercept and no prototype to patch, so handing us `env` is
|
|
227
|
+
* the only seam. (A deployed Worker records through `@alwaysmeticulous/backend-recorder-workerd`
|
|
228
|
+
* instead.)
|
|
229
|
+
*
|
|
230
|
+
* Returns a shallow copy of `env` with each recognised binding replaced by a wrapper; plain
|
|
231
|
+
* variables are passed through untouched. It dispatches per call, so it is safe to apply while
|
|
232
|
+
* building your request handler, and with the recorder disabled or uninitialised it returns `env`
|
|
233
|
+
* unchanged.
|
|
234
|
+
*
|
|
235
|
+
* Apply it **before any `env` wrapper of your own**. Outermost, a replayed call is served without
|
|
236
|
+
* your wrapper running at all; innermost, your wrapper still runs — emitting spans, retrying,
|
|
237
|
+
* mutating — around a call that never happens.
|
|
238
|
+
*
|
|
239
|
+
* Arguments and results are stored as JSON, so both must be JSON-serializable. R2 is a partial
|
|
240
|
+
* exception: its calls are recorded but still run for real during a replay, because what its
|
|
241
|
+
* operations return is a metadata handle that cannot be captured cheaply.
|
|
242
|
+
*
|
|
243
|
+
* Optional so older recorder bundles (which predate this field) still satisfy the type;
|
|
244
|
+
* guard with `handle?.withMeticulousCloudflareEnv`.
|
|
245
|
+
*/
|
|
246
|
+
withMeticulousCloudflareEnv?: MeticulousCloudflareEnvWrapper;
|
|
199
247
|
/**
|
|
200
248
|
* Records a value into the session without stubbing anything — app state a replay should be
|
|
201
249
|
* able to account for (resolved feature flags, a chosen experiment arm) that no call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-backend-recorder.d.ts","sourceRoot":"","sources":["../../../src/backend-recorder/bundle-to-sdk/init-backend-recorder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,cAAc,EAAE,CAAC,MAAM,EAAE;YACvB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,OAAO,CAAC;YACd,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;SAC5C,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KACxB,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAE3D,gGAAgG;AAChG,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,EACzC,IAAI,EAAE,uBAAuB,EAC7B,EAAE,EAAE,MAAM,CAAC,KACR,CAAC,CAAC;AAEP;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,KACX,IAAI,CAAC;AAEV;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IAEtD;;;;;;;;;;;;;;;;OAgBG;IACH,qBAAqB,CAAC,EAAE,wBAAwB,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,sBAAsB,CAAC,EAAE,2BAA2B,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,uBAAuB,CAAC,EAAE,0BAA0B,CAAC;IAErD;;;;;;;;;;OAUG;IACH,2BAA2B,CAAC,EAAE,6BAA6B,CAAC;IAE5D;;;;;;;;;;;OAWG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;CAChD"}
|
|
1
|
+
{"version":3,"file":"init-backend-recorder.d.ts","sourceRoot":"","sources":["../../../src/backend-recorder/bundle-to-sdk/init-backend-recorder.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,5 +14,5 @@ export { MeticulousPublicApi, MeticulousPressureObserver, MeticulousPressureObse
|
|
|
14
14
|
export { MeticulousPrivateApi } from "./window-api/private-window-api";
|
|
15
15
|
export { RunCrawlOptions, RunCrawlResult, } from "./crawler/sdk-to-bundle/run-crawl";
|
|
16
16
|
export { BackendRecorderConfig } from "./backend-recorder/sdk-to-bundle/init-backend-recorder";
|
|
17
|
-
export { BackendRecorderHandle, MeticulousPrismaExtension, MeticulousIORedisWrapper, MeticulousPostgresJsWrapper, MeticulousOperationSpec, MeticulousOperationWrapper, MeticulousObservationRecorder, } from "./backend-recorder/bundle-to-sdk/init-backend-recorder";
|
|
17
|
+
export { BackendRecorderHandle, MeticulousCloudflareBindingKind, MeticulousCloudflareEnvOptions, MeticulousCloudflareEnvWrapper, MeticulousPrismaExtension, MeticulousIORedisWrapper, MeticulousPostgresJsWrapper, MeticulousOperationSpec, MeticulousOperationWrapper, MeticulousObservationRecorder, } from "./backend-recorder/bundle-to-sdk/init-backend-recorder";
|
|
18
18
|
//# 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,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACZ,6BAA6B,EAC7B,eAAe,EACf,+BAA+B,EAC/B,sBAAsB,EACtB,uCAAuC,EACvC,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,2BAA2B,EAC3B,kCAAkC,EAClC,oBAAoB,EACpB,kCAAkC,EAClC,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,gEAAgE,CAAC;AAChH,OAAO,EAAE,mCAAmC,EAAE,MAAM,sEAAsE,CAAC;AAC3H,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,GACvB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AACnG,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,qCAAqC,EACrC,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EACL,eAAe,EACf,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,wDAAwD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACZ,6BAA6B,EAC7B,eAAe,EACf,+BAA+B,EAC/B,sBAAsB,EACtB,uCAAuC,EACvC,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,2BAA2B,EAC3B,kCAAkC,EAClC,oBAAoB,EACpB,kCAAkC,EAClC,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,gEAAgE,CAAC;AAChH,OAAO,EAAE,mCAAmC,EAAE,MAAM,sEAAsE,CAAC;AAC3H,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,GACvB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AACnG,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,qCAAqC,EACrC,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EACL,eAAe,EACf,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,wDAAwD,CAAC"}
|