@agentuity/react 0.0.111 → 0.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/analytics.d.ts +94 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +120 -0
- package/dist/analytics.js.map +1 -0
- package/dist/api.d.ts +35 -8
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/analytics.tsx +203 -0
- package/src/api.ts +39 -9
- package/src/index.ts +9 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Result of the useAnalytics hook
|
|
4
|
+
*/
|
|
5
|
+
export interface UseAnalyticsResult {
|
|
6
|
+
/**
|
|
7
|
+
* Track a custom event
|
|
8
|
+
*/
|
|
9
|
+
track: (eventName: string, properties?: Record<string, unknown>) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Get a click handler that tracks an event
|
|
12
|
+
*/
|
|
13
|
+
trackClick: (eventName: string, properties?: Record<string, unknown>) => (event: React.MouseEvent) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Whether analytics is enabled
|
|
16
|
+
*/
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Flush pending events
|
|
20
|
+
*/
|
|
21
|
+
flush: () => Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Opt out of analytics
|
|
24
|
+
*/
|
|
25
|
+
optOut: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Opt in to analytics
|
|
28
|
+
*/
|
|
29
|
+
optIn: () => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Hook for tracking analytics events in React components
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```tsx
|
|
36
|
+
* function MyComponent() {
|
|
37
|
+
* const { track, trackClick } = useAnalytics();
|
|
38
|
+
*
|
|
39
|
+
* useEffect(() => {
|
|
40
|
+
* track('component_viewed', { name: 'MyComponent' });
|
|
41
|
+
* }, [track]);
|
|
42
|
+
*
|
|
43
|
+
* return (
|
|
44
|
+
* <button onClick={trackClick('button_clicked', { button: 'submit' })}>
|
|
45
|
+
* Submit
|
|
46
|
+
* </button>
|
|
47
|
+
* );
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function useAnalytics(): UseAnalyticsResult;
|
|
52
|
+
/**
|
|
53
|
+
* Options for useTrackOnMount
|
|
54
|
+
*/
|
|
55
|
+
export interface TrackOnMountOptions {
|
|
56
|
+
/**
|
|
57
|
+
* Event name to track
|
|
58
|
+
*/
|
|
59
|
+
eventName: string;
|
|
60
|
+
/**
|
|
61
|
+
* Event properties
|
|
62
|
+
*/
|
|
63
|
+
properties?: Record<string, unknown>;
|
|
64
|
+
/**
|
|
65
|
+
* Only track once (default: true)
|
|
66
|
+
*/
|
|
67
|
+
once?: boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Hook to track an event when a component mounts
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```tsx
|
|
74
|
+
* function ProductPage({ productId }: { productId: string }) {
|
|
75
|
+
* useTrackOnMount({
|
|
76
|
+
* eventName: 'product_viewed',
|
|
77
|
+
* properties: { productId }
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* return <div>Product {productId}</div>;
|
|
81
|
+
* }
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function useTrackOnMount(options: TrackOnMountOptions): void;
|
|
85
|
+
/**
|
|
86
|
+
* Higher-order component for tracking page views
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```tsx
|
|
90
|
+
* const TrackedHomePage = withPageTracking(HomePage, 'home');
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare function withPageTracking<P extends object>(Component: React.ComponentType<P>, pageName?: string): React.ComponentType<P>;
|
|
94
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAaxE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAEzE;;OAEG;IACH,UAAU,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,CAmDjD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAalE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAChD,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EACjC,QAAQ,CAAC,EAAE,MAAM,GACf,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAiBxB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { getAnalytics } from '@agentuity/frontend';
|
|
4
|
+
const noopClient = {
|
|
5
|
+
track: () => { },
|
|
6
|
+
identify: () => { },
|
|
7
|
+
pageview: () => { },
|
|
8
|
+
flush: async () => { },
|
|
9
|
+
optOut: () => { },
|
|
10
|
+
optIn: () => { },
|
|
11
|
+
isEnabled: () => false,
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Hook for tracking analytics events in React components
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* function MyComponent() {
|
|
19
|
+
* const { track, trackClick } = useAnalytics();
|
|
20
|
+
*
|
|
21
|
+
* useEffect(() => {
|
|
22
|
+
* track('component_viewed', { name: 'MyComponent' });
|
|
23
|
+
* }, [track]);
|
|
24
|
+
*
|
|
25
|
+
* return (
|
|
26
|
+
* <button onClick={trackClick('button_clicked', { button: 'submit' })}>
|
|
27
|
+
* Submit
|
|
28
|
+
* </button>
|
|
29
|
+
* );
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export function useAnalytics() {
|
|
34
|
+
const clientRef = useRef(null);
|
|
35
|
+
const [isClient, setIsClient] = useState(false);
|
|
36
|
+
// SSR guard - only initialize on client
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
setIsClient(true);
|
|
39
|
+
if (!clientRef.current) {
|
|
40
|
+
clientRef.current = getAnalytics();
|
|
41
|
+
}
|
|
42
|
+
}, []);
|
|
43
|
+
// Use no-op client during SSR, real client after hydration
|
|
44
|
+
const client = isClient && clientRef.current ? clientRef.current : noopClient;
|
|
45
|
+
const track = useCallback((eventName, properties) => {
|
|
46
|
+
client.track(eventName, properties);
|
|
47
|
+
}, [client]);
|
|
48
|
+
const trackClick = useCallback((eventName, properties) => {
|
|
49
|
+
return (_event) => {
|
|
50
|
+
client.track(eventName, properties);
|
|
51
|
+
};
|
|
52
|
+
}, [client]);
|
|
53
|
+
const flush = useCallback(() => {
|
|
54
|
+
return client.flush();
|
|
55
|
+
}, [client]);
|
|
56
|
+
const optOut = useCallback(() => {
|
|
57
|
+
client.optOut();
|
|
58
|
+
}, [client]);
|
|
59
|
+
const optIn = useCallback(() => {
|
|
60
|
+
client.optIn();
|
|
61
|
+
}, [client]);
|
|
62
|
+
return {
|
|
63
|
+
track,
|
|
64
|
+
trackClick,
|
|
65
|
+
enabled: client.isEnabled(),
|
|
66
|
+
flush,
|
|
67
|
+
optOut,
|
|
68
|
+
optIn,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Hook to track an event when a component mounts
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```tsx
|
|
76
|
+
* function ProductPage({ productId }: { productId: string }) {
|
|
77
|
+
* useTrackOnMount({
|
|
78
|
+
* eventName: 'product_viewed',
|
|
79
|
+
* properties: { productId }
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* return <div>Product {productId}</div>;
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export function useTrackOnMount(options) {
|
|
87
|
+
const { eventName, properties, once = true } = options;
|
|
88
|
+
const trackedRef = useRef(false);
|
|
89
|
+
const { track } = useAnalytics();
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
if (once && trackedRef.current) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
track(eventName, properties);
|
|
95
|
+
trackedRef.current = true;
|
|
96
|
+
}, [eventName, once, properties, track]);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Higher-order component for tracking page views
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```tsx
|
|
103
|
+
* const TrackedHomePage = withPageTracking(HomePage, 'home');
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export function withPageTracking(Component, pageName) {
|
|
107
|
+
const displayName = Component.displayName || Component.name || 'Component';
|
|
108
|
+
function TrackedComponent(props) {
|
|
109
|
+
useTrackOnMount({
|
|
110
|
+
eventName: 'page_view',
|
|
111
|
+
properties: {
|
|
112
|
+
page: pageName || displayName,
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
return _jsx(Component, { ...props });
|
|
116
|
+
}
|
|
117
|
+
TrackedComponent.displayName = `withPageTracking(${displayName})`;
|
|
118
|
+
return TrackedComponent;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.tsx"],"names":[],"mappings":"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"}
|
package/dist/api.d.ts
CHANGED
|
@@ -45,9 +45,10 @@ export type RoutePathParams<TRoute extends RouteKey> = TRoute extends keyof Rout
|
|
|
45
45
|
params: infer P;
|
|
46
46
|
} ? P : never : never;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* Base options shared by all UseAPI configurations (without params handling).
|
|
49
|
+
* This is used as a foundation for both route-form and method/path-form options.
|
|
49
50
|
*/
|
|
50
|
-
type
|
|
51
|
+
type UseAPIBaseOptions<TRoute extends RouteKey> = {
|
|
51
52
|
/** Additional query parameters */
|
|
52
53
|
query?: URLSearchParams | Record<string, string>;
|
|
53
54
|
/** Additional request headers */
|
|
@@ -73,17 +74,39 @@ type UseAPICommonOptions<TRoute extends RouteKey> = {
|
|
|
73
74
|
} : {
|
|
74
75
|
/** Input data for the request (required for POST/PUT/PATCH/DELETE) */
|
|
75
76
|
input?: RouteInput<TRoute>;
|
|
76
|
-
})
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* Options for the route form with strict params handling.
|
|
80
|
+
* When TRoute is a single route key (not a union), this correctly requires
|
|
81
|
+
* params only for routes that have path parameters.
|
|
82
|
+
*/
|
|
83
|
+
type UseAPIRouteFormOptions<TRoute extends RouteKey> = UseAPIBaseOptions<TRoute> & (RoutePathParams<TRoute> extends never ? {} : {
|
|
80
84
|
/** Path parameters for routes with dynamic segments (e.g., { id: '123' } for /users/:id) */
|
|
81
85
|
params: RoutePathParams<TRoute>;
|
|
82
86
|
});
|
|
87
|
+
/**
|
|
88
|
+
* Options for the method/path form with optional params.
|
|
89
|
+
*
|
|
90
|
+
* When using {method, path}, TRoute is inferred as a union of all matching routes,
|
|
91
|
+
* which causes RoutePathParams<TRoute> to be a union of all params types.
|
|
92
|
+
* This makes params incorrectly required even for routes without path parameters.
|
|
93
|
+
*
|
|
94
|
+
* To fix this (GitHub Issue #417), we make params optional in the method/path form.
|
|
95
|
+
* Users who want strict params enforcement should use the route form instead.
|
|
96
|
+
*/
|
|
97
|
+
type UseAPIMethodPathFormOptions<TRoute extends RouteKey> = UseAPIBaseOptions<TRoute> & {
|
|
98
|
+
/**
|
|
99
|
+
* Optional path parameters for dynamic segments when using method+path.
|
|
100
|
+
* These are optional because TRoute may be inferred as a union of routes.
|
|
101
|
+
* For strict params typing, use the route form: useAPI({ route: 'GET /users/:id', params: {...} })
|
|
102
|
+
*/
|
|
103
|
+
params?: RoutePathParams<TRoute> extends never ? never : RoutePathParams<TRoute>;
|
|
104
|
+
};
|
|
83
105
|
/**
|
|
84
106
|
* Options with route property (e.g., { route: 'GET /users' })
|
|
107
|
+
* Uses strict params handling - params required only for routes with path parameters.
|
|
85
108
|
*/
|
|
86
|
-
type UseAPIOptionsWithRoute<TRoute extends RouteKey> =
|
|
109
|
+
type UseAPIOptionsWithRoute<TRoute extends RouteKey> = UseAPIRouteFormOptions<TRoute> & {
|
|
87
110
|
/** Route key (e.g., 'GET /users', 'POST /users') */
|
|
88
111
|
route: TRoute;
|
|
89
112
|
/** Method cannot be specified when using route */
|
|
@@ -93,8 +116,12 @@ type UseAPIOptionsWithRoute<TRoute extends RouteKey> = UseAPICommonOptions<TRout
|
|
|
93
116
|
};
|
|
94
117
|
/**
|
|
95
118
|
* Options with method and path properties (e.g., { method: 'GET', path: '/users' })
|
|
119
|
+
* Uses optional params handling to avoid false positives when TRoute is a union.
|
|
120
|
+
*
|
|
121
|
+
* Note: For full type safety with params, prefer using the route form:
|
|
122
|
+
* useAPI({ route: 'GET /users/:id', params: { id: '123' } })
|
|
96
123
|
*/
|
|
97
|
-
type UseAPIOptionsWithMethodPath<TRoute extends RouteKey> =
|
|
124
|
+
type UseAPIOptionsWithMethodPath<TRoute extends RouteKey> = UseAPIMethodPathFormOptions<TRoute> & {
|
|
98
125
|
/** HTTP method (e.g., 'GET', 'POST') */
|
|
99
126
|
method: ExtractMethod<TRoute>;
|
|
100
127
|
/** Request path (e.g., '/users') */
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,QAAQ,IAAI,MAAM,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,EAAE,GAC5F,MAAM,GACN,KAAK,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,QAAQ,IAAI,MAAM,SAAS,MAAM,aAAa,GACpF,aAAa,CAAC,MAAM,CAAC,SAAS;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAC7C,IAAI,GACJ,KAAK,GACN,KAAK,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,QAAQ,IAAI,MAAM,SAAS,MAAM,aAAa,GACjF,aAAa,CAAC,MAAM,CAAC,SAAS;IAAE,WAAW,EAAE,GAAG,CAAA;CAAE,GACjD,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,GAChD,KAAK,GACN,KAAK,CAAC;AAET;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,QAAQ,IAAI,MAAM,SAAS,MAAM,aAAa,GAClF,aAAa,CAAC,MAAM,CAAC,SAAS;IAAE,YAAY,EAAE,MAAM,OAAO,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GAC1E,OAAO,SAAS,SAAS,GAAG,KAAK,GAChC,OAAO,EAAE,GACT,WAAW,CAAC,OAAO,CAAC,EAAE,GACvB,aAAa,CAAC,MAAM,CAAC,SAAS;IAAE,YAAY,EAAE,MAAM,OAAO,CAAA;CAAE,GAC5D,OAAO,SAAS,SAAS,GAAG,KAAK,GAChC,IAAI,GACJ,WAAW,CAAC,OAAO,CAAC,GACrB,IAAI,GACN,IAAI,CAAC;AAER;;GAEG;AACH,KAAK,cAAc,CAAC,MAAM,SAAS,QAAQ,IAAI,MAAM,SAAS,MAAM,aAAa,GAC9E,aAAa,CAAC,MAAM,CAAC,SAAS;IAAE,YAAY,EAAE,MAAM,OAAO,CAAA;CAAE,GAC5D,OAAO,SAAS,SAAS,GAAG,KAAK,GAChC,OAAO,GACP,WAAW,CAAC,OAAO,CAAC,GACrB,OAAO,GACR,OAAO,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,QAAQ,IAAI,MAAM,SAAS,MAAM,aAAa,GACtF,aAAa,CAAC,MAAM,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAChD,CAAC,GACD,KAAK,GACN,KAAK,CAAC;AAET
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { useWebsocket, type WebSocketRouteKey, type WebSocketRouteInput, type We
|
|
|
4
4
|
export { useEventStream, type SSERouteKey, type SSERouteOutput, type EventStreamOptions, } from './eventstream';
|
|
5
5
|
export { useAPI, type RouteKey, type ExtractMethod, type RouteIsStream, type RouteInput, type RouteOutput, type RoutePathParams, type UseAPIOptions, type UseAPIResult, } from './api';
|
|
6
6
|
export { useJsonMemo } from './memo';
|
|
7
|
+
export { useAnalytics, useTrackOnMount, withPageTracking, type UseAnalyticsResult, type TrackOnMountOptions, } from './analytics.js';
|
|
7
8
|
export type { RouteRegistry, WebSocketRouteRegistry, SSERouteRegistry } from './types';
|
|
8
9
|
export { buildUrl, defaultBaseUrl, deserializeData, createReconnectManager, jsonEqual, getProcessEnv, WebSocketManager, EventStreamManager, type ReconnectOptions, type ReconnectManager, type WebSocketMessageHandler, type WebSocketCallbacks, type WebSocketManagerOptions, type WebSocketManagerState, type EventStreamMessageHandler, type EventStreamCallbacks, type EventStreamManagerOptions, type EventStreamManagerState, type Client, type ClientOptions, type RouteEndpoint, type WebSocketClient, type EventStreamClient, type StreamClient, type EventHandler, } from '@agentuity/frontend';
|
|
9
10
|
//# 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,EACN,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,gBAAgB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,GACjB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,gBAAgB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,GACjB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EACN,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACxB,MAAM,gBAAgB,CAAC;AAIxB,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGvF,OAAO,EACN,QAAQ,EACR,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAE5B,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,YAAY,GACjB,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,8 @@ export { useWebsocket, } from './websocket';
|
|
|
4
4
|
export { useEventStream, } from './eventstream';
|
|
5
5
|
export { useAPI, } from './api';
|
|
6
6
|
export { useJsonMemo } from './memo';
|
|
7
|
+
// Analytics
|
|
8
|
+
export { useAnalytics, useTrackOnMount, withPageTracking, } from './analytics.js';
|
|
7
9
|
// Re-export web utilities for convenience (excluding registry types which come from ./types)
|
|
8
10
|
export { buildUrl, defaultBaseUrl, deserializeData, createReconnectManager, jsonEqual, getProcessEnv, WebSocketManager, EventStreamManager, } from '@agentuity/frontend';
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,OAAO,GAKP,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,YAAY,GAKZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,cAAc,GAId,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,MAAM,GASN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,OAAO,GAKP,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,YAAY,GAKZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,cAAc,GAId,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,MAAM,GASN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,YAAY;AACZ,OAAO,EACN,YAAY,EACZ,eAAe,EACf,gBAAgB,GAGhB,MAAM,gBAAgB,CAAC;AAMxB,6FAA6F;AAC7F,OAAO,EACN,QAAQ,EACR,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GAmBlB,MAAM,qBAAqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/react",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
"prepublishOnly": "bun run clean && bun run build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@agentuity/core": "0.0
|
|
30
|
-
"@agentuity/frontend": "0.0
|
|
29
|
+
"@agentuity/core": "0.1.0",
|
|
30
|
+
"@agentuity/frontend": "0.1.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@agentuity/schema": "0.0
|
|
34
|
-
"@agentuity/test-utils": "0.0
|
|
33
|
+
"@agentuity/schema": "0.1.0",
|
|
34
|
+
"@agentuity/test-utils": "0.1.0",
|
|
35
35
|
"@types/bun": "latest",
|
|
36
36
|
"bun-types": "latest",
|
|
37
37
|
"typescript": "^5.9.0"
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { getAnalytics, type AnalyticsClient } from '@agentuity/frontend';
|
|
3
|
+
|
|
4
|
+
const noopClient: AnalyticsClient = {
|
|
5
|
+
track: () => {},
|
|
6
|
+
identify: () => {},
|
|
7
|
+
pageview: () => {},
|
|
8
|
+
flush: async () => {},
|
|
9
|
+
optOut: () => {},
|
|
10
|
+
optIn: () => {},
|
|
11
|
+
isEnabled: () => false,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Result of the useAnalytics hook
|
|
16
|
+
*/
|
|
17
|
+
export interface UseAnalyticsResult {
|
|
18
|
+
/**
|
|
19
|
+
* Track a custom event
|
|
20
|
+
*/
|
|
21
|
+
track: (eventName: string, properties?: Record<string, unknown>) => void;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Get a click handler that tracks an event
|
|
25
|
+
*/
|
|
26
|
+
trackClick: (
|
|
27
|
+
eventName: string,
|
|
28
|
+
properties?: Record<string, unknown>
|
|
29
|
+
) => (event: React.MouseEvent) => void;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Whether analytics is enabled
|
|
33
|
+
*/
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Flush pending events
|
|
38
|
+
*/
|
|
39
|
+
flush: () => Promise<void>;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Opt out of analytics
|
|
43
|
+
*/
|
|
44
|
+
optOut: () => void;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Opt in to analytics
|
|
48
|
+
*/
|
|
49
|
+
optIn: () => void;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Hook for tracking analytics events in React components
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```tsx
|
|
57
|
+
* function MyComponent() {
|
|
58
|
+
* const { track, trackClick } = useAnalytics();
|
|
59
|
+
*
|
|
60
|
+
* useEffect(() => {
|
|
61
|
+
* track('component_viewed', { name: 'MyComponent' });
|
|
62
|
+
* }, [track]);
|
|
63
|
+
*
|
|
64
|
+
* return (
|
|
65
|
+
* <button onClick={trackClick('button_clicked', { button: 'submit' })}>
|
|
66
|
+
* Submit
|
|
67
|
+
* </button>
|
|
68
|
+
* );
|
|
69
|
+
* }
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export function useAnalytics(): UseAnalyticsResult {
|
|
73
|
+
const clientRef = useRef<AnalyticsClient | null>(null);
|
|
74
|
+
const [isClient, setIsClient] = useState(false);
|
|
75
|
+
|
|
76
|
+
// SSR guard - only initialize on client
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
setIsClient(true);
|
|
79
|
+
if (!clientRef.current) {
|
|
80
|
+
clientRef.current = getAnalytics();
|
|
81
|
+
}
|
|
82
|
+
}, []);
|
|
83
|
+
|
|
84
|
+
// Use no-op client during SSR, real client after hydration
|
|
85
|
+
const client = isClient && clientRef.current ? clientRef.current : noopClient;
|
|
86
|
+
|
|
87
|
+
const track = useCallback(
|
|
88
|
+
(eventName: string, properties?: Record<string, unknown>) => {
|
|
89
|
+
client.track(eventName, properties);
|
|
90
|
+
},
|
|
91
|
+
[client]
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
const trackClick = useCallback(
|
|
95
|
+
(eventName: string, properties?: Record<string, unknown>) => {
|
|
96
|
+
return (_event: React.MouseEvent) => {
|
|
97
|
+
client.track(eventName, properties);
|
|
98
|
+
};
|
|
99
|
+
},
|
|
100
|
+
[client]
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
const flush = useCallback(() => {
|
|
104
|
+
return client.flush();
|
|
105
|
+
}, [client]);
|
|
106
|
+
|
|
107
|
+
const optOut = useCallback(() => {
|
|
108
|
+
client.optOut();
|
|
109
|
+
}, [client]);
|
|
110
|
+
|
|
111
|
+
const optIn = useCallback(() => {
|
|
112
|
+
client.optIn();
|
|
113
|
+
}, [client]);
|
|
114
|
+
|
|
115
|
+
return {
|
|
116
|
+
track,
|
|
117
|
+
trackClick,
|
|
118
|
+
enabled: client.isEnabled(),
|
|
119
|
+
flush,
|
|
120
|
+
optOut,
|
|
121
|
+
optIn,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Options for useTrackOnMount
|
|
127
|
+
*/
|
|
128
|
+
export interface TrackOnMountOptions {
|
|
129
|
+
/**
|
|
130
|
+
* Event name to track
|
|
131
|
+
*/
|
|
132
|
+
eventName: string;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Event properties
|
|
136
|
+
*/
|
|
137
|
+
properties?: Record<string, unknown>;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Only track once (default: true)
|
|
141
|
+
*/
|
|
142
|
+
once?: boolean;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Hook to track an event when a component mounts
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```tsx
|
|
150
|
+
* function ProductPage({ productId }: { productId: string }) {
|
|
151
|
+
* useTrackOnMount({
|
|
152
|
+
* eventName: 'product_viewed',
|
|
153
|
+
* properties: { productId }
|
|
154
|
+
* });
|
|
155
|
+
*
|
|
156
|
+
* return <div>Product {productId}</div>;
|
|
157
|
+
* }
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
export function useTrackOnMount(options: TrackOnMountOptions): void {
|
|
161
|
+
const { eventName, properties, once = true } = options;
|
|
162
|
+
const trackedRef = useRef(false);
|
|
163
|
+
const { track } = useAnalytics();
|
|
164
|
+
|
|
165
|
+
useEffect(() => {
|
|
166
|
+
if (once && trackedRef.current) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
track(eventName, properties);
|
|
171
|
+
trackedRef.current = true;
|
|
172
|
+
}, [eventName, once, properties, track]);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Higher-order component for tracking page views
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```tsx
|
|
180
|
+
* const TrackedHomePage = withPageTracking(HomePage, 'home');
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
export function withPageTracking<P extends object>(
|
|
184
|
+
Component: React.ComponentType<P>,
|
|
185
|
+
pageName?: string
|
|
186
|
+
): React.ComponentType<P> {
|
|
187
|
+
const displayName = Component.displayName || Component.name || 'Component';
|
|
188
|
+
|
|
189
|
+
function TrackedComponent(props: P) {
|
|
190
|
+
useTrackOnMount({
|
|
191
|
+
eventName: 'page_view',
|
|
192
|
+
properties: {
|
|
193
|
+
page: pageName || displayName,
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
return <Component {...props} />;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
TrackedComponent.displayName = `withPageTracking(${displayName})`;
|
|
201
|
+
|
|
202
|
+
return TrackedComponent;
|
|
203
|
+
}
|
package/src/api.ts
CHANGED
|
@@ -74,9 +74,10 @@ export type RoutePathParams<TRoute extends RouteKey> = TRoute extends keyof Rout
|
|
|
74
74
|
: never;
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* Base options shared by all UseAPI configurations (without params handling).
|
|
78
|
+
* This is used as a foundation for both route-form and method/path-form options.
|
|
78
79
|
*/
|
|
79
|
-
type
|
|
80
|
+
type UseAPIBaseOptions<TRoute extends RouteKey> = {
|
|
80
81
|
/** Additional query parameters */
|
|
81
82
|
query?: URLSearchParams | Record<string, string>;
|
|
82
83
|
/** Additional request headers */
|
|
@@ -110,21 +111,46 @@ type UseAPICommonOptions<TRoute extends RouteKey> = {
|
|
|
110
111
|
: {
|
|
111
112
|
/** Input data for the request (required for POST/PUT/PATCH/DELETE) */
|
|
112
113
|
input?: RouteInput<TRoute>;
|
|
113
|
-
})
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Options for the route form with strict params handling.
|
|
118
|
+
* When TRoute is a single route key (not a union), this correctly requires
|
|
119
|
+
* params only for routes that have path parameters.
|
|
120
|
+
*/
|
|
121
|
+
type UseAPIRouteFormOptions<TRoute extends RouteKey> = UseAPIBaseOptions<TRoute> &
|
|
114
122
|
(RoutePathParams<TRoute> extends never
|
|
115
|
-
?
|
|
116
|
-
|
|
117
|
-
params?: never;
|
|
118
|
-
}
|
|
123
|
+
? // eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
124
|
+
{} // No params property - omit entirely for routes without path parameters
|
|
119
125
|
: {
|
|
120
126
|
/** Path parameters for routes with dynamic segments (e.g., { id: '123' } for /users/:id) */
|
|
121
127
|
params: RoutePathParams<TRoute>;
|
|
122
128
|
});
|
|
123
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Options for the method/path form with optional params.
|
|
132
|
+
*
|
|
133
|
+
* When using {method, path}, TRoute is inferred as a union of all matching routes,
|
|
134
|
+
* which causes RoutePathParams<TRoute> to be a union of all params types.
|
|
135
|
+
* This makes params incorrectly required even for routes without path parameters.
|
|
136
|
+
*
|
|
137
|
+
* To fix this (GitHub Issue #417), we make params optional in the method/path form.
|
|
138
|
+
* Users who want strict params enforcement should use the route form instead.
|
|
139
|
+
*/
|
|
140
|
+
type UseAPIMethodPathFormOptions<TRoute extends RouteKey> = UseAPIBaseOptions<TRoute> & {
|
|
141
|
+
/**
|
|
142
|
+
* Optional path parameters for dynamic segments when using method+path.
|
|
143
|
+
* These are optional because TRoute may be inferred as a union of routes.
|
|
144
|
+
* For strict params typing, use the route form: useAPI({ route: 'GET /users/:id', params: {...} })
|
|
145
|
+
*/
|
|
146
|
+
params?: RoutePathParams<TRoute> extends never ? never : RoutePathParams<TRoute>;
|
|
147
|
+
};
|
|
148
|
+
|
|
124
149
|
/**
|
|
125
150
|
* Options with route property (e.g., { route: 'GET /users' })
|
|
151
|
+
* Uses strict params handling - params required only for routes with path parameters.
|
|
126
152
|
*/
|
|
127
|
-
type UseAPIOptionsWithRoute<TRoute extends RouteKey> =
|
|
153
|
+
type UseAPIOptionsWithRoute<TRoute extends RouteKey> = UseAPIRouteFormOptions<TRoute> & {
|
|
128
154
|
/** Route key (e.g., 'GET /users', 'POST /users') */
|
|
129
155
|
route: TRoute;
|
|
130
156
|
/** Method cannot be specified when using route */
|
|
@@ -135,8 +161,12 @@ type UseAPIOptionsWithRoute<TRoute extends RouteKey> = UseAPICommonOptions<TRout
|
|
|
135
161
|
|
|
136
162
|
/**
|
|
137
163
|
* Options with method and path properties (e.g., { method: 'GET', path: '/users' })
|
|
164
|
+
* Uses optional params handling to avoid false positives when TRoute is a union.
|
|
165
|
+
*
|
|
166
|
+
* Note: For full type safety with params, prefer using the route form:
|
|
167
|
+
* useAPI({ route: 'GET /users/:id', params: { id: '123' } })
|
|
138
168
|
*/
|
|
139
|
-
type UseAPIOptionsWithMethodPath<TRoute extends RouteKey> =
|
|
169
|
+
type UseAPIOptionsWithMethodPath<TRoute extends RouteKey> = UseAPIMethodPathFormOptions<TRoute> & {
|
|
140
170
|
/** HTTP method (e.g., 'GET', 'POST') */
|
|
141
171
|
method: ExtractMethod<TRoute>;
|
|
142
172
|
/** Request path (e.g., '/users') */
|
package/src/index.ts
CHANGED
|
@@ -43,6 +43,15 @@ export {
|
|
|
43
43
|
} from './api';
|
|
44
44
|
export { useJsonMemo } from './memo';
|
|
45
45
|
|
|
46
|
+
// Analytics
|
|
47
|
+
export {
|
|
48
|
+
useAnalytics,
|
|
49
|
+
useTrackOnMount,
|
|
50
|
+
withPageTracking,
|
|
51
|
+
type UseAnalyticsResult,
|
|
52
|
+
type TrackOnMountOptions,
|
|
53
|
+
} from './analytics.js';
|
|
54
|
+
|
|
46
55
|
// Re-export route registry types from local types file
|
|
47
56
|
// These are augmented by generated code via `declare module '@agentuity/react'`
|
|
48
57
|
export type { RouteRegistry, WebSocketRouteRegistry, SSERouteRegistry } from './types';
|