@revturbine/sdk 0.11.12 → 0.11.16
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/CHANGELOG.md +548 -0
- package/dist/growthbook.d.ts +1 -1
- package/dist/headless.d.ts +10912 -582
- package/dist/headless.js +2 -2
- package/dist/headless.js.map +1 -1
- package/dist/index.d.ts +10952 -584
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/optimizely.d.ts +1 -1
- package/dist/types/server-node/client.d.ts +211 -3
- package/dist/types/server-node/client.d.ts.map +1 -1
- package/dist/types/server-node/index.d.ts +15 -3
- package/dist/types/server-node/index.d.ts.map +1 -1
- package/dist/types/server-node/local-server.d.ts +15 -2
- package/dist/types/server-node/local-server.d.ts.map +1 -1
- package/dist/types/server-node/types.d.ts +67 -2
- package/dist/types/server-node/types.d.ts.map +1 -1
- package/dist/types/web-sdk/config-artifact.d.ts +7 -2
- package/dist/types/web-sdk/config-artifact.d.ts.map +1 -1
- package/dist/types/web-sdk/controllers.d.ts +16 -0
- package/dist/types/web-sdk/controllers.d.ts.map +1 -1
- package/dist/types/web-sdk/customer-side.d.ts +179 -31
- package/dist/types/web-sdk/customer-side.d.ts.map +1 -1
- package/dist/types/web-sdk/headless.d.ts +2 -0
- package/dist/types/web-sdk/headless.d.ts.map +1 -1
- package/dist/types/web-sdk/local-builtin-segments.d.ts +46 -0
- package/dist/types/web-sdk/local-builtin-segments.d.ts.map +1 -0
- package/dist/types/web-sdk/react/RevTurbineProvider.d.ts.map +1 -1
- package/dist/types/web-sdk/react/RevTurbineRoute.d.ts +45 -0
- package/dist/types/web-sdk/react/RevTurbineRoute.d.ts.map +1 -0
- package/dist/types/web-sdk/react/index.d.ts +1 -0
- package/dist/types/web-sdk/react/index.d.ts.map +1 -1
- package/dist/types/web-sdk/react/usePlacement.d.ts.map +1 -1
- package/dist/types/web-sdk/slot-route.d.ts +83 -0
- package/dist/types/web-sdk/slot-route.d.ts.map +1 -0
- package/dist/types/web-sdk/theme/theme-loader.d.ts +12 -2
- package/dist/types/web-sdk/theme/theme-loader.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -3,6 +3,7 @@ export { useRevTurbine } from './useRevTurbine';
|
|
|
3
3
|
export { INIT_STATUS_OK, initStatusForError, remediationFor, type RevTurbineInitPhase, type RevTurbineInitStatus, } from './init-status';
|
|
4
4
|
export { InitFailureDiagnostic, type InitFailureDiagnosticProps, } from './InitFailureDiagnostic';
|
|
5
5
|
export * from './usePlacement';
|
|
6
|
+
export { RevTurbineRoute, useSlotRoute, type RevTurbineRouteProps, } from './RevTurbineRoute';
|
|
6
7
|
export * from './Placement';
|
|
7
8
|
export * from './SurfaceTypes';
|
|
8
9
|
export * from './PlacementDecisionInspector';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../react/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../react/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,MAAM,yBAAyB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePlacement.d.ts","sourceRoot":"","sources":["../../../../react/usePlacement.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,oCAAoC,EACzC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"usePlacement.d.ts","sourceRoot":"","sources":["../../../../react/usePlacement.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,oCAAoC,EACzC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAKnE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,yEAAyE;IACzE,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,oDAAoD;IACpD,SAAS,CAAC,EAAE,oCAAoC,CAAC;IACjD,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACnD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAC7C,OAAO,EAAE,0BAA0B,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACtD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C;;;;;OAKG;IACH,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,WAAW,EACX,MAAM,EACN,WAAoB,EACpB,SAAS,EACT,MAAM,EACN,KAAK,EACL,QAAe,EACf,mBAAmB,EACnB,iBAAiB,GAClB,EAAE,mBAAmB,GAAG,kBAAkB,CAsI1C"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slot route computation (BL-0207, ruling D-30).
|
|
3
|
+
*
|
|
4
|
+
* "The route of a slot should be calculated by react and emitted as part of
|
|
5
|
+
* its events. Slot discovery should pick this up and be able to persist that
|
|
6
|
+
* route." This module is the pure half of that: it decides what a route IS.
|
|
7
|
+
* The React layer (`usePlacement` + `<RevTurbineRoute>`) decides WHEN and
|
|
8
|
+
* from WHERE, and the controller stamps the result onto every slot lifecycle
|
|
9
|
+
* event as `route` (scaffold `slotContextBase.route`).
|
|
10
|
+
*
|
|
11
|
+
* A route is a PATH, never a URL:
|
|
12
|
+
* - no origin, no query string, no fragment — query strings are where
|
|
13
|
+
* tokens, emails and search terms live, so they never reach the wire;
|
|
14
|
+
* - the framework route PATTERN when the host supplies one
|
|
15
|
+
* (`/projects/[projectId]`, `/billing/:accountId`) — kept verbatim;
|
|
16
|
+
* - otherwise the concrete `location.pathname` with identifier-like
|
|
17
|
+
* segments (numbers, UUIDs, long hex, opaque tokens, prefixed ids,
|
|
18
|
+
* email-shaped values) templated to `:id`, so neither PII nor
|
|
19
|
+
* per-entity cardinality reaches discovery.
|
|
20
|
+
*
|
|
21
|
+
* Pure and framework-free: exported from the headless entry so a non-React
|
|
22
|
+
* host (or a Next.js app computing its own pattern) can reuse it.
|
|
23
|
+
*/
|
|
24
|
+
/** Upper bound on an emitted route — matches scaffold `SURFACE_SLOT_ROUTE_MAX_LENGTH`. */
|
|
25
|
+
export declare const SLOT_ROUTE_MAX_LENGTH = 512;
|
|
26
|
+
/** The placeholder an identifier-like path segment is templated to. */
|
|
27
|
+
export declare const SLOT_ROUTE_ID_PLACEHOLDER = ":id";
|
|
28
|
+
/**
|
|
29
|
+
* `true` when a single path segment looks like an identifier or personal data
|
|
30
|
+
* rather than a stable route name. Exported for tests and custom resolvers.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isIdentifierLikeSegment(segment: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Normalize a path, URL or route pattern into a slot route.
|
|
35
|
+
*
|
|
36
|
+
* Strips any origin, query string and fragment; collapses duplicate slashes
|
|
37
|
+
* and a trailing slash; keeps route-pattern segments (`[id]`, `:id`)
|
|
38
|
+
* verbatim; templates identifier-like segments to `:id`; bounds the result to
|
|
39
|
+
* {@link SLOT_ROUTE_MAX_LENGTH}. Returns `null` for empty or non-string input.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* normalizeSlotRoute('https://app.example.com/accounts/4821/billing?tab=x#top');
|
|
44
|
+
* // → '/accounts/:id/billing'
|
|
45
|
+
* normalizeSlotRoute('/projects/[projectId]');
|
|
46
|
+
* // → '/projects/[projectId]'
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function normalizeSlotRoute(input: string | null | undefined): string | null;
|
|
50
|
+
/**
|
|
51
|
+
* Framework route params, as Next.js `useParams()` returns them (a catch-all
|
|
52
|
+
* param is an array of segments).
|
|
53
|
+
*/
|
|
54
|
+
export type SlotRouteParams = Readonly<Record<string, string | readonly string[] | undefined>>;
|
|
55
|
+
/**
|
|
56
|
+
* Rebuild the framework route PATTERN from a concrete pathname and the
|
|
57
|
+
* framework's route params — the Next.js App Router recipe, without the SDK
|
|
58
|
+
* importing `next/navigation`:
|
|
59
|
+
*
|
|
60
|
+
* ```tsx
|
|
61
|
+
* 'use client';
|
|
62
|
+
* import { useParams, usePathname } from 'next/navigation';
|
|
63
|
+
* import { RevTurbineRoute, routePatternFromParams } from '@revturbine/sdk';
|
|
64
|
+
*
|
|
65
|
+
* export function RouteBoundary({ children }: { children: React.ReactNode }) {
|
|
66
|
+
* const route = routePatternFromParams(usePathname(), useParams());
|
|
67
|
+
* return <RevTurbineRoute route={route}>{children}</RevTurbineRoute>;
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* `/projects/p_42/settings` with `{ projectId: 'p_42' }` becomes
|
|
72
|
+
* `/projects/[projectId]/settings`; a catch-all `{ slug: ['a', 'b'] }`
|
|
73
|
+
* becomes `[...slug]`. The result is then normalized like any other route,
|
|
74
|
+
* so a segment the params did not name is still templated if it looks like
|
|
75
|
+
* an identifier.
|
|
76
|
+
*/
|
|
77
|
+
export declare function routePatternFromParams(pathname: string | null | undefined, params: SlotRouteParams | null | undefined): string | null;
|
|
78
|
+
/**
|
|
79
|
+
* The browser's current route — `window.location.pathname`, normalized.
|
|
80
|
+
* `null` outside a browser (SSR, server runtimes, workers without `location`).
|
|
81
|
+
*/
|
|
82
|
+
export declare function currentBrowserRoute(): string | null;
|
|
83
|
+
//# sourceMappingURL=slot-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot-route.d.ts","sourceRoot":"","sources":["../../../slot-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAoB/C;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAmBlF;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,GACzC,MAAM,GAAG,IAAI,CAuBf;AAaD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAGnD"}
|
|
@@ -3,8 +3,18 @@ import type { RevTurbineStorage } from '../storage';
|
|
|
3
3
|
/** Clear persisted theme (useful on identity reset). */
|
|
4
4
|
export declare function clearPersistedTheme(tenantId: string, storage?: RevTurbineStorage): void;
|
|
5
5
|
export interface ThemeLoaderOptions {
|
|
6
|
-
/**
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* RevTurbine tenant identifier — optional (BL-0335). Sent as `x-tenant-id`
|
|
8
|
+
* only when present; the key alone identifies the tenant, and the control
|
|
9
|
+
* plane ignores (with a warning) a value that differs from it (D-49).
|
|
10
|
+
*/
|
|
11
|
+
tenantId?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Namespace for the locally persisted theme. Defaults to `tenantId`, then
|
|
14
|
+
* `'local'` — so an integration that passed a tenant id keeps its existing
|
|
15
|
+
* cache key.
|
|
16
|
+
*/
|
|
17
|
+
storageScope?: string;
|
|
8
18
|
/** Base URL of the RevTurbine API Edge. */
|
|
9
19
|
endpoint: string;
|
|
10
20
|
/** API key for authentication. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-loader.d.ts","sourceRoot":"","sources":["../../../../theme/theme-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+BpD,wDAAwD;AACxD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAOvF;AAED,MAAM,WAAW,kBAAkB;IACjC
|
|
1
|
+
{"version":3,"file":"theme-loader.d.ts","sourceRoot":"","sources":["../../../../theme/theme-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+BpD,wDAAwD;AACxD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAOvF;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,kBAAkB,EACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAC1C,OAAO,CAAC,eAAe,CAAC,CA0B1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@revturbine/sdk",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.16",
|
|
4
4
|
"description": "RevTurbine customer-facing SDK — placement decisioning, entitlement checks, and usage tracking.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@11.12.0",
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@growthbook/growthbook": "^1.7.0",
|
|
58
58
|
"@optimizely/optimizely-sdk": "^6.5.0",
|
|
59
|
-
"@revt-eng/core": "0.1.
|
|
60
|
-
"@revt-eng/schema": "0.1.
|
|
61
|
-
"@revt-eng/schema-external": "0.1.
|
|
59
|
+
"@revt-eng/core": "0.1.374",
|
|
60
|
+
"@revt-eng/schema": "0.1.374",
|
|
61
|
+
"@revt-eng/schema-external": "0.1.374",
|
|
62
62
|
"@types/react": "^19.2.17",
|
|
63
63
|
"@types/react-dom": "^19.2.3",
|
|
64
64
|
"openapi-fetch": "^0.17.0",
|