@agentuity/react 0.0.100 → 0.0.102

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.
Files changed (61) hide show
  1. package/dist/api.d.ts +1 -1
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +1 -2
  4. package/dist/api.js.map +1 -1
  5. package/dist/client.d.ts +90 -0
  6. package/dist/client.d.ts.map +1 -0
  7. package/dist/client.js +102 -0
  8. package/dist/client.js.map +1 -0
  9. package/dist/context.d.ts +3 -2
  10. package/dist/context.d.ts.map +1 -1
  11. package/dist/context.js +21 -5
  12. package/dist/context.js.map +1 -1
  13. package/dist/eventstream.d.ts +8 -22
  14. package/dist/eventstream.d.ts.map +1 -1
  15. package/dist/eventstream.js +62 -136
  16. package/dist/eventstream.js.map +1 -1
  17. package/dist/index.d.ts +3 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +4 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/memo.d.ts +2 -3
  22. package/dist/memo.d.ts.map +1 -1
  23. package/dist/memo.js +2 -20
  24. package/dist/memo.js.map +1 -1
  25. package/dist/websocket.d.ts +9 -22
  26. package/dist/websocket.d.ts.map +1 -1
  27. package/dist/websocket.js +80 -169
  28. package/dist/websocket.js.map +1 -1
  29. package/package.json +5 -2
  30. package/src/api.ts +1 -3
  31. package/src/client.ts +148 -0
  32. package/src/context.tsx +30 -6
  33. package/src/eventstream.ts +77 -177
  34. package/src/index.ts +43 -3
  35. package/src/memo.ts +2 -18
  36. package/src/websocket.ts +105 -225
  37. package/dist/env.d.ts +0 -2
  38. package/dist/env.d.ts.map +0 -1
  39. package/dist/env.js +0 -10
  40. package/dist/env.js.map +0 -1
  41. package/dist/reconnect.d.ts +0 -22
  42. package/dist/reconnect.d.ts.map +0 -1
  43. package/dist/reconnect.js +0 -47
  44. package/dist/reconnect.js.map +0 -1
  45. package/dist/serialization.d.ts +0 -6
  46. package/dist/serialization.d.ts.map +0 -1
  47. package/dist/serialization.js +0 -16
  48. package/dist/serialization.js.map +0 -1
  49. package/dist/types.d.ts +0 -19
  50. package/dist/types.d.ts.map +0 -1
  51. package/dist/types.js +0 -2
  52. package/dist/types.js.map +0 -1
  53. package/dist/url.d.ts +0 -3
  54. package/dist/url.d.ts.map +0 -1
  55. package/dist/url.js +0 -24
  56. package/dist/url.js.map +0 -1
  57. package/src/env.ts +0 -9
  58. package/src/reconnect.ts +0 -73
  59. package/src/serialization.ts +0 -14
  60. package/src/types.ts +0 -29
  61. package/src/url.ts +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"eventstream.js","sourceRoot":"","sources":["../src/eventstream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventstream.js","sourceRoot":"","sources":["../src/eventstream.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { AgentuityContext, AgentuityProvider, useAgentuity, useAuth, type ContextProviderArgs, type AgentuityContextValue, type AgentuityHookValue, type AuthContextValue, } from './context';
2
+ export { createClient, createAPIClient, setGlobalBaseUrl, getGlobalBaseUrl, setGlobalAuthHeader, getGlobalAuthHeader, type RPCRouteRegistry, } from './client';
2
3
  export { useWebsocket, type WebSocketRouteKey, type WebSocketRouteInput, type WebSocketRouteOutput, type WebsocketOptions, } from './websocket';
3
4
  export { useEventStream, type SSERouteKey, type SSERouteOutput, type EventStreamOptions, } from './eventstream';
4
- export { type RouteRegistry, type WebSocketRouteRegistry, type SSERouteRegistry } from './types';
5
5
  export { useAPI, type RouteKey, type ExtractMethod, type RouteIsStream, type RouteInput, type RouteOutput, type UseAPIOptions, type UseAPIResult, } from './api';
6
- export { jsonEqual, useJsonMemo } from './memo';
7
- export { buildUrl, defaultBaseUrl } from './url';
6
+ export { useJsonMemo } from './memo';
7
+ export { buildUrl, defaultBaseUrl, deserializeData, createReconnectManager, jsonEqual, getProcessEnv, WebSocketManager, EventStreamManager, type RouteRegistry, type WebSocketRouteRegistry, type SSERouteRegistry, 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';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -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,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,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACjG,OAAO,EACN,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,GACjB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,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,aAAa,EAClB,KAAK,YAAY,GACjB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EACN,QAAQ,EACR,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,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
@@ -1,7 +1,9 @@
1
1
  export { AgentuityContext, AgentuityProvider, useAgentuity, useAuth, } from './context';
2
+ export { createClient, createAPIClient, setGlobalBaseUrl, getGlobalBaseUrl, setGlobalAuthHeader, getGlobalAuthHeader, } from './client';
2
3
  export { useWebsocket, } from './websocket';
3
4
  export { useEventStream, } from './eventstream';
4
5
  export { useAPI, } from './api';
5
- export { jsonEqual, useJsonMemo } from './memo';
6
- export { buildUrl, defaultBaseUrl } from './url';
6
+ export { useJsonMemo } from './memo';
7
+ // Re-export web utilities for convenience
8
+ export { buildUrl, defaultBaseUrl, deserializeData, createReconnectManager, jsonEqual, getProcessEnv, WebSocketManager, EventStreamManager, } from '@agentuity/frontend';
7
9
  //# 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,GAKZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,cAAc,GAId,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,MAAM,GAQN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,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,GAQN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,0CAA0C;AAC1C,OAAO,EACN,QAAQ,EACR,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GAsBlB,MAAM,qBAAqB,CAAC"}
package/dist/memo.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /**
2
- * Simple JSON-based equality check for memoization.
3
- * Compares stringified JSON to avoid deep equality overhead.
2
+ * Hook to memoize a value based on JSON equality instead of reference equality.
3
+ * Prevents unnecessary re-renders when data hasn't actually changed.
4
4
  */
5
- export declare function jsonEqual<T>(a: T, b: T): boolean;
6
5
  export declare function useJsonMemo<T>(value: T): T;
7
6
  //# sourceMappingURL=memo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memo.d.ts","sourceRoot":"","sources":["../src/memo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAWhD;AAQD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQ1C"}
1
+ {"version":3,"file":"memo.d.ts","sourceRoot":"","sources":["../src/memo.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQ1C"}
package/dist/memo.js CHANGED
@@ -1,27 +1,9 @@
1
- /**
2
- * Simple JSON-based equality check for memoization.
3
- * Compares stringified JSON to avoid deep equality overhead.
4
- */
5
- export function jsonEqual(a, b) {
6
- if (a === b)
7
- return true;
8
- if (a === undefined || b === undefined)
9
- return false;
10
- if (a === null || b === null)
11
- return a === b;
12
- try {
13
- return JSON.stringify(a) === JSON.stringify(b);
14
- }
15
- catch {
16
- // Fallback for non-serializable values
17
- return false;
18
- }
19
- }
1
+ import { useRef } from 'react';
2
+ import { jsonEqual } from '@agentuity/frontend';
20
3
  /**
21
4
  * Hook to memoize a value based on JSON equality instead of reference equality.
22
5
  * Prevents unnecessary re-renders when data hasn't actually changed.
23
6
  */
24
- import { useRef } from 'react';
25
7
  export function useJsonMemo(value) {
26
8
  const ref = useRef(value);
27
9
  if (!jsonEqual(ref.current, value)) {
package/dist/memo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"memo.js","sourceRoot":"","sources":["../src/memo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAI,CAAI,EAAE,CAAI;IACtC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACR,uCAAuC;QACvC,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,MAAM,UAAU,WAAW,CAAI,KAAQ;IACtC,MAAM,GAAG,GAAG,MAAM,CAAI,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"memo.js","sourceRoot":"","sources":["../src/memo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAI,KAAQ;IACtC,MAAM,GAAG,GAAG,MAAM,CAAI,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAAC;AACpB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type { InferInput, InferOutput } from '@agentuity/core';
2
- import type { WebSocketRouteRegistry } from './types';
3
- type onMessageHandler<T = unknown> = (data: T) => void;
2
+ import { type WebSocketRouteRegistry } from '@agentuity/frontend';
4
3
  /**
5
4
  * Extract WebSocket route keys (e.g., '/ws', '/chat')
6
5
  */
@@ -40,24 +39,6 @@ export interface WebsocketOptions {
40
39
  */
41
40
  maxMessages?: number;
42
41
  }
43
- interface WebsocketResponseInternal<TInput, TOutput> {
44
- /** Whether WebSocket is currently connected */
45
- isConnected: boolean;
46
- /** Error if connection or message failed */
47
- error: Error | null;
48
- /** Whether an error has occurred */
49
- isError: boolean;
50
- /** Send data through the WebSocket */
51
- send: (data: TInput) => void;
52
- /** Set handler for incoming messages */
53
- setHandler: (handler: onMessageHandler<TOutput>) => void;
54
- /** WebSocket connection state (CONNECTING=0, OPEN=1, CLOSING=2, CLOSED=3) */
55
- readyState: WebSocket['readyState'];
56
- /** Close the WebSocket connection */
57
- close: () => void;
58
- /** Reset state to initial values */
59
- reset: () => void;
60
- }
61
42
  /**
62
43
  * Type-safe WebSocket hook for connecting to WebSocket routes.
63
44
  *
@@ -92,10 +73,16 @@ interface WebsocketResponseInternal<TInput, TOutput> {
92
73
  * clearMessages();
93
74
  * ```
94
75
  */
95
- export declare function useWebsocket<TRoute extends WebSocketRouteKey>(route: TRoute, options?: WebsocketOptions): Omit<WebsocketResponseInternal<WebSocketRouteInput<TRoute>, WebSocketRouteOutput<TRoute>>, 'setHandler'> & {
76
+ export declare function useWebsocket<TRoute extends WebSocketRouteKey>(route: TRoute, options?: WebsocketOptions): {
77
+ isConnected: boolean;
78
+ close: () => void;
96
79
  data?: WebSocketRouteOutput<TRoute>;
97
80
  messages: WebSocketRouteOutput<TRoute>[];
98
81
  clearMessages: () => void;
82
+ error: Error | null;
83
+ isError: boolean;
84
+ reset: () => void;
85
+ send: (data: WebSocketRouteInput<TRoute>) => void;
86
+ readyState: WebSocket['readyState'];
99
87
  };
100
- export {};
101
88
  //# sourceMappingURL=websocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAK/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,KAAK,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,iBAAiB,IAC/D,MAAM,SAAS,MAAM,sBAAsB,GACxC,sBAAsB,CAAC,MAAM,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,OAAO,CAAA;CAAE,GACpE,OAAO,SAAS,SAAS,GAAG,KAAK,GAChC,KAAK,GACL,UAAU,CAAC,OAAO,CAAC,GACpB,KAAK,GACN,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,iBAAiB,IAChE,MAAM,SAAS,MAAM,sBAAsB,GACxC,sBAAsB,CAAC,MAAM,CAAC,SAAS;IAAE,YAAY,EAAE,MAAM,OAAO,CAAA;CAAE,GACrE,OAAO,SAAS,SAAS,GAAG,KAAK,GAChC,IAAI,GACJ,WAAW,CAAC,OAAO,CAAC,GACrB,IAAI,GACL,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAiBD,UAAU,yBAAyB,CAAC,MAAM,EAAE,OAAO;IAClD,+CAA+C;IAC/C,WAAW,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,wCAAwC;IACxC,UAAU,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzD,6EAA6E;IAC7E,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACpC,qCAAqC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oCAAoC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB;AAiLD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS,iBAAiB,EAC5D,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,gBAAgB,GACxB,IAAI,CACN,yBAAyB,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,EACpF,YAAY,CACZ,GAAG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B,CAuCA"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG9F;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,iBAAiB,IAC/D,MAAM,SAAS,MAAM,sBAAsB,GACxC,sBAAsB,CAAC,MAAM,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,OAAO,CAAA;CAAE,GACpE,OAAO,SAAS,SAAS,GAAG,KAAK,GAChC,KAAK,GACL,UAAU,CAAC,OAAO,CAAC,GACpB,KAAK,GACN,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,iBAAiB,IAChE,MAAM,SAAS,MAAM,sBAAsB,GACxC,sBAAsB,CAAC,MAAM,CAAC,SAAS;IAAE,YAAY,EAAE,MAAM,OAAO,CAAA;CAAE,GACrE,OAAO,SAAS,SAAS,GAAG,KAAK,GAChC,IAAI,GACJ,WAAW,CAAC,OAAO,CAAC,GACrB,IAAI,GACL,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS,iBAAiB,EAC5D,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,gBAAgB,GACxB;IACF,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAClD,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;CACpC,CAiIA"}
package/dist/websocket.js CHANGED
@@ -1,171 +1,6 @@
1
1
  import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { buildUrl, WebSocketManager } from '@agentuity/frontend';
2
3
  import { AgentuityContext } from './context';
3
- import { buildUrl } from './url';
4
- import { deserializeData } from './serialization';
5
- import { createReconnectManager } from './reconnect';
6
- const serializeWSData = (data) => {
7
- if (typeof data === 'string') {
8
- return data;
9
- }
10
- if (typeof data === 'object') {
11
- if (data instanceof ArrayBuffer || ArrayBuffer.isView(data) || data instanceof Blob) {
12
- return data;
13
- }
14
- return JSON.stringify(data);
15
- }
16
- throw new Error('unsupported data type for websocket: ' + typeof data);
17
- };
18
- const useWebsocketInternal = (path, options) => {
19
- const context = useContext(AgentuityContext);
20
- if (!context) {
21
- throw new Error('useWebsocket must be used within a AgentuityProvider');
22
- }
23
- const manualClose = useRef(false);
24
- const wsRef = useRef(undefined);
25
- const pending = useRef([]);
26
- const queued = useRef([]);
27
- const handler = useRef(undefined);
28
- const reconnectManagerRef = useRef(undefined);
29
- const [error, setError] = useState(null);
30
- const [isError, setIsError] = useState(false);
31
- const [isConnected, setIsConnected] = useState(false);
32
- const wsUrl = useMemo(() => {
33
- const base = context.baseUrl;
34
- const wsBase = base.replace(/^http(s?):/, 'ws$1:');
35
- // Add auth token to query params if present
36
- // (WebSocket doesn't support custom headers, so we pass via query string)
37
- let queryParams = options?.query;
38
- if (context.authHeader) {
39
- const token = context.authHeader.replace(/^Bearer\s+/i, '');
40
- const authQuery = new URLSearchParams({ token });
41
- if (queryParams) {
42
- queryParams = new URLSearchParams([...queryParams, ...authQuery]);
43
- }
44
- else {
45
- queryParams = authQuery;
46
- }
47
- }
48
- return buildUrl(wsBase, path, options?.subpath, queryParams);
49
- }, [context.baseUrl, context.authHeader, path, options?.subpath, options?.query?.toString()]);
50
- const connect = useCallback(() => {
51
- if (manualClose.current)
52
- return;
53
- wsRef.current = new WebSocket(wsUrl);
54
- wsRef.current.onopen = () => {
55
- reconnectManagerRef.current?.recordSuccess();
56
- setIsConnected(true);
57
- setError(null);
58
- setIsError(false);
59
- if (queued.current.length > 0) {
60
- queued.current.forEach((msg) => wsRef.current.send(serializeWSData(msg)));
61
- queued.current = [];
62
- }
63
- };
64
- wsRef.current.onerror = () => {
65
- setError(new Error('WebSocket error'));
66
- setIsError(true);
67
- };
68
- wsRef.current.onclose = (evt) => {
69
- wsRef.current = undefined;
70
- setIsConnected(false);
71
- if (manualClose.current) {
72
- queued.current = [];
73
- return;
74
- }
75
- if (evt.code !== 1000) {
76
- setError(new Error(`WebSocket closed: ${evt.code} ${evt.reason || ''}`));
77
- setIsError(true);
78
- }
79
- reconnectManagerRef.current?.recordFailure();
80
- };
81
- wsRef.current.onmessage = (event) => {
82
- const payload = deserializeData(event.data);
83
- if (handler.current) {
84
- handler.current(payload);
85
- }
86
- else {
87
- pending.current.push(payload);
88
- }
89
- };
90
- }, [wsUrl]);
91
- useEffect(() => {
92
- reconnectManagerRef.current = createReconnectManager({
93
- onReconnect: connect,
94
- threshold: 0,
95
- baseDelay: 500,
96
- factor: 2,
97
- maxDelay: 30000,
98
- jitter: 500,
99
- enabled: () => !manualClose.current,
100
- });
101
- return () => reconnectManagerRef.current?.dispose();
102
- }, [connect]);
103
- const cleanup = useCallback(() => {
104
- manualClose.current = true;
105
- reconnectManagerRef.current?.dispose();
106
- const ws = wsRef.current;
107
- if (ws) {
108
- ws.onopen = null;
109
- ws.onerror = null;
110
- ws.onclose = null;
111
- ws.onmessage = null;
112
- ws.close();
113
- }
114
- wsRef.current = undefined;
115
- handler.current = undefined;
116
- pending.current = [];
117
- queued.current = [];
118
- setIsConnected(false);
119
- }, []);
120
- useEffect(() => {
121
- manualClose.current = false;
122
- connect();
123
- return () => {
124
- cleanup();
125
- };
126
- }, [connect, cleanup]);
127
- useEffect(() => {
128
- if (options?.signal) {
129
- const listener = () => {
130
- cleanup();
131
- };
132
- options.signal.addEventListener('abort', listener);
133
- return () => {
134
- options.signal?.removeEventListener('abort', listener);
135
- };
136
- }
137
- }, [options?.signal, cleanup]);
138
- const reset = () => {
139
- setError(null);
140
- setIsError(false);
141
- };
142
- const send = (data) => {
143
- if (wsRef.current?.readyState === WebSocket.OPEN) {
144
- wsRef.current.send(serializeWSData(data));
145
- }
146
- else {
147
- queued.current.push(data);
148
- }
149
- };
150
- const setHandler = useCallback((h) => {
151
- handler.current = h;
152
- pending.current.forEach(h);
153
- pending.current = [];
154
- }, []);
155
- const close = () => {
156
- cleanup();
157
- };
158
- return {
159
- isConnected,
160
- close,
161
- error,
162
- isError,
163
- send,
164
- setHandler,
165
- reset,
166
- readyState: wsRef.current?.readyState ?? WebSocket.CLOSED,
167
- };
168
- };
169
4
  /**
170
5
  * Type-safe WebSocket hook for connecting to WebSocket routes.
171
6
  *
@@ -201,11 +36,59 @@ const useWebsocketInternal = (path, options) => {
201
36
  * ```
202
37
  */
203
38
  export function useWebsocket(route, options) {
39
+ const context = useContext(AgentuityContext);
40
+ if (!context) {
41
+ throw new Error('useWebsocket must be used within a AgentuityProvider');
42
+ }
43
+ const managerRef = useRef(null);
204
44
  const [data, setData] = useState();
205
45
  const [messages, setMessages] = useState([]);
206
- const { isConnected, close, send, setHandler, readyState, error, isError, reset } = useWebsocketInternal(route, options);
46
+ const [error, setError] = useState(null);
47
+ const [isError, setIsError] = useState(false);
48
+ const [isConnected, setIsConnected] = useState(false);
49
+ const [readyState, setReadyState] = useState(WebSocket.CLOSED);
50
+ // Build WebSocket URL
51
+ const wsUrl = useMemo(() => {
52
+ const base = context.baseUrl;
53
+ const wsBase = base.replace(/^http(s?):/, 'ws$1:');
54
+ // Add auth token to query params if present
55
+ // (WebSocket doesn't support custom headers, so we pass via query string)
56
+ let queryParams = options?.query;
57
+ if (context.authHeader) {
58
+ const token = context.authHeader.replace(/^Bearer\s+/i, '');
59
+ const authQuery = new URLSearchParams({ token });
60
+ if (queryParams) {
61
+ queryParams = new URLSearchParams([...queryParams, ...authQuery]);
62
+ }
63
+ else {
64
+ queryParams = authQuery;
65
+ }
66
+ }
67
+ return buildUrl(wsBase, route, options?.subpath, queryParams);
68
+ }, [context.baseUrl, context.authHeader, route, options?.subpath, options?.query?.toString()]);
69
+ // Initialize manager and connect
207
70
  useEffect(() => {
208
- setHandler((message) => {
71
+ const manager = new WebSocketManager({
72
+ url: wsUrl,
73
+ callbacks: {
74
+ onConnect: () => {
75
+ setIsConnected(true);
76
+ setError(null);
77
+ setIsError(false);
78
+ setReadyState(WebSocket.OPEN);
79
+ },
80
+ onDisconnect: () => {
81
+ setIsConnected(false);
82
+ setReadyState(WebSocket.CLOSED);
83
+ },
84
+ onError: (err) => {
85
+ setError(err);
86
+ setIsError(true);
87
+ },
88
+ },
89
+ });
90
+ // Set message handler
91
+ manager.setMessageHandler((message) => {
209
92
  setData(message);
210
93
  setMessages((prev) => {
211
94
  const newMessages = [...prev, message];
@@ -216,7 +99,35 @@ export function useWebsocket(route, options) {
216
99
  return newMessages;
217
100
  });
218
101
  });
219
- }, [route, setHandler, options?.maxMessages]);
102
+ manager.connect();
103
+ managerRef.current = manager;
104
+ return () => {
105
+ manager.dispose();
106
+ managerRef.current = null;
107
+ };
108
+ }, [wsUrl, options?.maxMessages]);
109
+ // Handle abort signal
110
+ useEffect(() => {
111
+ if (options?.signal) {
112
+ const listener = () => {
113
+ managerRef.current?.close();
114
+ };
115
+ options.signal.addEventListener('abort', listener);
116
+ return () => {
117
+ options.signal?.removeEventListener('abort', listener);
118
+ };
119
+ }
120
+ }, [options?.signal]);
121
+ const reset = useCallback(() => {
122
+ setError(null);
123
+ setIsError(false);
124
+ }, []);
125
+ const send = useCallback((sendData) => {
126
+ managerRef.current?.send(sendData);
127
+ }, []);
128
+ const close = useCallback(() => {
129
+ managerRef.current?.close();
130
+ }, []);
220
131
  const clearMessages = useCallback(() => {
221
132
  setMessages([]);
222
133
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/react",
3
- "version": "0.0.100",
3
+ "version": "0.0.102",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -26,9 +26,12 @@
26
26
  "prepublishOnly": "bun run clean && bun run build"
27
27
  },
28
28
  "dependencies": {
29
- "@agentuity/core": "0.0.100"
29
+ "@agentuity/core": "0.0.102",
30
+ "@agentuity/frontend": "0.0.102"
30
31
  },
31
32
  "devDependencies": {
33
+ "@agentuity/schema": "0.0.102",
34
+ "@agentuity/test-utils": "0.0.102",
32
35
  "@types/bun": "latest",
33
36
  "bun-types": "latest",
34
37
  "typescript": "^5.9.0"
package/src/api.ts CHANGED
@@ -1,10 +1,8 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { useCallback, useContext, useEffect, useRef, useState } from 'react';
3
3
  import type { InferInput, InferOutput } from '@agentuity/core';
4
+ import { deserializeData, buildUrl, type RouteRegistry } from '@agentuity/frontend';
4
5
  import { AgentuityContext } from './context';
5
- import { deserializeData } from './serialization';
6
- import { buildUrl } from './url';
7
- import type { RouteRegistry } from './types';
8
6
 
9
7
  /**
10
8
  * Extract route keys from RouteRegistry (e.g., 'GET /users', 'POST /users')