@ops-ai/react-router-toggly 1.0.0 → 1.1.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.
package/dist/client.d.ts CHANGED
@@ -27,6 +27,10 @@ type EvaluationMode = 'local' | 'remote';
27
27
  * Configuration options for Toggly
28
28
  */
29
29
  interface TogglyConfig {
30
+ /** Enable compact browser telemetry (default: true with an app key). */
31
+ enableTelemetry?: boolean;
32
+ /** Browser telemetry interval, 30000–60000 ms (default: 45000). */
33
+ telemetryFlushIntervalMs?: number;
30
34
  /** Toggly application key */
31
35
  appKey?: string;
32
36
  /** Environment name (e.g., 'Production', 'Staging') */
@@ -61,6 +65,8 @@ interface TogglyConfig {
61
65
  localGates?: LocalGate[];
62
66
  /** Optional SDK error callback for reporting fetch/evaluation failures. */
63
67
  onError?: (message: string, error?: unknown) => void;
68
+ /** Host-minted browser capability; takes precedence over client identity targeting. */
69
+ instanceId?: string;
64
70
  /** Initial browser identity; hydrated server identity takes precedence. */
65
71
  identity?: string;
66
72
  /** User groups for targeting */
@@ -68,7 +74,7 @@ interface TogglyConfig {
68
74
  /** Custom claims for targeting */
69
75
  claims?: Record<string, string>;
70
76
  /**
71
- * Base URL for usage/metrics transport (default: https://app.toggly.io/).
77
+ * Base URL for usage/metrics transport (default: https://metrics.toggly.io/).
72
78
  * Separate from `baseUrl`, which is for definitions/JWKS.
73
79
  */
74
80
  metricsBaseUrl?: string;
@@ -117,6 +123,8 @@ interface TogglyConfig {
117
123
  * User identity context for feature targeting
118
124
  */
119
125
  interface IdentityContext {
126
+ /** Browser capability. An empty value clears the token; omitted identity updates use client targeting. */
127
+ instanceId?: string;
120
128
  /** Unique user identifier */
121
129
  identity?: string;
122
130
  /** User groups for targeting */
@@ -242,10 +250,18 @@ declare const HEADERS: {
242
250
  /** Meta key for loader data */
243
251
  declare const TOGGLY_LOADER_KEY: "__toggly";
244
252
 
253
+ interface FrontendTelemetry {
254
+ recordUsage(featureKey: string, variant?: string): void;
255
+ recordView(featureKey: string, variant?: string): void;
256
+ incrementCounter(metricKey: string, value?: number): void;
257
+ setGauge(metricKey: string, value: number): void;
258
+ flushTelemetry(): Promise<void>;
259
+ }
260
+
245
261
  /**
246
262
  * Toggly context value
247
263
  */
248
- interface TogglyContextValue {
264
+ interface TogglyContextValue extends FrontendTelemetry {
249
265
  /** Current feature flags */
250
266
  flags: FeatureFlags;
251
267
  /** Whether the client is initialized */
@@ -298,7 +314,7 @@ declare const TogglyContext: react.Context<TogglyContextValue | undefined>;
298
314
  /**
299
315
  * Toggly Provider component
300
316
  */
301
- declare function TogglyProvider({ children, serverContext, config, enableRefresh, refreshInterval, onFlagsChange, }: TogglyProviderProps): ReactElement;
317
+ declare function TogglyProvider(props: Readonly<TogglyProviderProps>): ReactElement;
302
318
  /**
303
319
  * Hook to access Toggly context
304
320
  */
@@ -600,4 +616,4 @@ declare function TogglyScript({ serverContext, nonce, }: {
600
616
  */
601
617
  declare function getWindowTogglyData(): ServerFeatureContext | undefined;
602
618
 
603
- export { type EvaluationResult, type EvaluationSeriesData, Feature, FeatureDisabled, type FeatureDisabledProps, FeatureEnabled, type FeatureEnabledProps, type FeatureFlags, FeatureGate, type FeatureGateProps, type FeatureProps, type FeatureRequirement, FeatureSwitch, type FeatureSwitchProps, HEADERS, type HookMetadata, type IdentityContext, type IdentitySeriesData, type LoaderDataWithToggly, RouterTogglyProvider, type RouterTogglyProviderProps, STORAGE_KEYS, type ServerFeatureContext, TOGGLY_LOADER_KEY, type TogglyConfig, TogglyConfigError, TogglyContext, type TogglyContextValue, TogglyError, type TogglyHook, TogglyNetworkError, TogglyProvider, type TogglyProviderProps, TogglyScript, TogglyTimeoutError, extractServerContext, getWindowTogglyData, hasTogglyContext, useABTest, useFeature, useFeatureCallback, useFeatureChange, useFeatureDisabled, useFeatureFlags, useFeatureGate, useFeatureRender, useFeatureValue, useFeatureWithLoading, useFeatures, useIdentity, useRefreshFlags, useToggly, useTogglyContext, useTogglyLoaderData, useTogglyReady, useTogglyRouteLoaderData };
619
+ export { type EvaluationResult, type EvaluationSeriesData, Feature, FeatureDisabled, type FeatureDisabledProps, FeatureEnabled, type FeatureEnabledProps, type FeatureFlags, FeatureGate, type FeatureGateProps, type FeatureProps, type FeatureRequirement, FeatureSwitch, type FeatureSwitchProps, type FrontendTelemetry, HEADERS, type HookMetadata, type IdentityContext, type IdentitySeriesData, type LoaderDataWithToggly, RouterTogglyProvider, type RouterTogglyProviderProps, STORAGE_KEYS, type ServerFeatureContext, TOGGLY_LOADER_KEY, type TogglyConfig, TogglyConfigError, TogglyContext, type TogglyContextValue, TogglyError, type TogglyHook, TogglyNetworkError, TogglyProvider, type TogglyProviderProps, TogglyScript, TogglyTimeoutError, extractServerContext, getWindowTogglyData, hasTogglyContext, useABTest, useFeature, useFeatureCallback, useFeatureChange, useFeatureDisabled, useFeatureFlags, useFeatureGate, useFeatureRender, useFeatureValue, useFeatureWithLoading, useFeatures, useIdentity, useRefreshFlags, useToggly, useTogglyContext, useTogglyLoaderData, useTogglyReady, useTogglyRouteLoaderData };