@agentuity/react 0.0.51 → 0.0.52

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.
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext } from 'react';
3
+ import { defaultBaseUrl } from './url';
4
+ export const AgentuityContext = createContext({
5
+ baseUrl: '',
6
+ });
7
+ export const AgentuityProvider = ({ baseUrl, children }) => {
8
+ return (_jsx(AgentuityContext.Provider, { value: { baseUrl: baseUrl || defaultBaseUrl }, children: children }));
9
+ };
10
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAmC,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOvC,MAAM,CAAC,MAAM,gBAAgB,GAAiC,aAAa,CAAsB;IAChG,OAAO,EAAE,EAAE;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAuB,EAAgB,EAAE;IAC7F,OAAO,CACN,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,YACtE,QAAQ,GACkB,CAC5B,CAAC;AACH,CAAC,CAAC"}
package/dist/env.js ADDED
@@ -0,0 +1,7 @@
1
+ export const getProcessEnv = (key) => {
2
+ if (typeof process !== 'undefined' && process.env) {
3
+ return process.env[key];
4
+ }
5
+ return undefined;
6
+ };
7
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAsB,EAAE;IAChE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,142 @@
1
+ import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { AgentuityContext } from './context';
3
+ import { buildUrl } from './url';
4
+ import { deserializeData } from './serialization';
5
+ import { createReconnectManager } from './reconnect';
6
+ export const useEventStream = (path, options) => {
7
+ const context = useContext(AgentuityContext);
8
+ if (!context) {
9
+ throw new Error('useEventStream must be used within a AgentuityProvider');
10
+ }
11
+ const manualClose = useRef(false);
12
+ const esRef = useRef(undefined);
13
+ const pending = useRef([]);
14
+ const handler = useRef(undefined);
15
+ const reconnectManagerRef = useRef(undefined);
16
+ const [data, setData] = useState();
17
+ const [error, setError] = useState(null);
18
+ const [connected, setConnected] = useState(false);
19
+ const esUrl = useMemo(() => buildUrl(context.baseUrl, path, options?.subpath, options?.query), [context.baseUrl, path, options?.subpath, options?.query?.toString()]);
20
+ const connect = useCallback(() => {
21
+ if (manualClose.current)
22
+ return;
23
+ esRef.current = new EventSource(esUrl);
24
+ let firstMessageReceived = false;
25
+ esRef.current.onopen = () => {
26
+ reconnectManagerRef.current?.recordSuccess();
27
+ setConnected(true);
28
+ setError(null);
29
+ };
30
+ esRef.current.onerror = () => {
31
+ setError(new Error('EventStream error'));
32
+ setConnected(false);
33
+ if (manualClose.current) {
34
+ return;
35
+ }
36
+ const result = reconnectManagerRef.current?.recordFailure();
37
+ if (result?.scheduled) {
38
+ const es = esRef.current;
39
+ if (es) {
40
+ es.onopen = null;
41
+ es.onerror = null;
42
+ es.onmessage = null;
43
+ es.close();
44
+ }
45
+ esRef.current = undefined;
46
+ }
47
+ };
48
+ esRef.current.onmessage = (event) => {
49
+ if (!firstMessageReceived) {
50
+ reconnectManagerRef.current?.recordSuccess();
51
+ firstMessageReceived = true;
52
+ }
53
+ const payload = deserializeData(event.data);
54
+ setData(payload);
55
+ if (handler.current) {
56
+ handler.current(payload);
57
+ }
58
+ else {
59
+ pending.current.push(payload);
60
+ }
61
+ };
62
+ }, [esUrl]);
63
+ useEffect(() => {
64
+ reconnectManagerRef.current = createReconnectManager({
65
+ onReconnect: connect,
66
+ threshold: 3,
67
+ baseDelay: 500,
68
+ factor: 2,
69
+ maxDelay: 30000,
70
+ jitter: 250,
71
+ enabled: () => !manualClose.current,
72
+ });
73
+ return () => reconnectManagerRef.current?.dispose();
74
+ }, [connect]);
75
+ const cleanup = useCallback(() => {
76
+ manualClose.current = true;
77
+ reconnectManagerRef.current?.dispose();
78
+ const es = esRef.current;
79
+ if (es) {
80
+ es.onopen = null;
81
+ es.onerror = null;
82
+ es.onmessage = null;
83
+ es.close();
84
+ }
85
+ esRef.current = undefined;
86
+ handler.current = undefined;
87
+ pending.current = [];
88
+ setConnected(false);
89
+ }, []);
90
+ useEffect(() => {
91
+ manualClose.current = false;
92
+ connect();
93
+ return () => {
94
+ cleanup();
95
+ };
96
+ }, [connect, cleanup]);
97
+ useEffect(() => {
98
+ if (options?.signal) {
99
+ const listener = () => {
100
+ cleanup();
101
+ };
102
+ options.signal.addEventListener('abort', listener);
103
+ return () => {
104
+ options.signal?.removeEventListener('abort', listener);
105
+ };
106
+ }
107
+ }, [options?.signal, cleanup]);
108
+ const reset = () => setError(null);
109
+ const setHandler = useCallback((h) => {
110
+ handler.current = h;
111
+ pending.current.forEach(h);
112
+ pending.current = [];
113
+ }, []);
114
+ const close = () => {
115
+ cleanup();
116
+ };
117
+ return {
118
+ connected,
119
+ close,
120
+ data,
121
+ error,
122
+ setHandler,
123
+ reset,
124
+ readyState: esRef.current?.readyState ?? EventSource.CLOSED,
125
+ };
126
+ };
127
+ export const useAgentEventStream = (agent, options) => {
128
+ const [data, setData] = useState();
129
+ const { connected, close, setHandler, readyState, error, reset } = useEventStream(`/agent/${agent}`, options);
130
+ useEffect(() => {
131
+ setHandler(setData);
132
+ }, [agent, setHandler]);
133
+ return {
134
+ connected,
135
+ close,
136
+ data,
137
+ error,
138
+ reset,
139
+ readyState,
140
+ };
141
+ };
142
+ //# sourceMappingURL=eventstream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventstream.js","sourceRoot":"","sources":["../src/eventstream.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from './context';
2
+ export * from './run';
3
+ export * from './websocket';
4
+ export * from './eventstream';
5
+ export * from './types';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,47 @@
1
+ export function createReconnectManager(opts) {
2
+ let attempts = 0;
3
+ let timer = null;
4
+ const cancel = () => {
5
+ if (timer) {
6
+ clearTimeout(timer);
7
+ timer = null;
8
+ }
9
+ };
10
+ const reset = () => {
11
+ attempts = 0;
12
+ cancel();
13
+ };
14
+ const recordSuccess = () => reset();
15
+ const computeDelay = (attemptAfterThreshold) => {
16
+ const base = opts.baseDelay ?? 500;
17
+ const factor = opts.factor ?? 2;
18
+ const max = opts.maxDelay ?? 30000;
19
+ const jitterMax = opts.jitter ?? 250;
20
+ const backoff = Math.min(base * Math.pow(factor, attemptAfterThreshold), max);
21
+ const jitter = jitterMax > 0 ? Math.random() * jitterMax : 0;
22
+ return backoff + jitter;
23
+ };
24
+ const recordFailure = () => {
25
+ attempts += 1;
26
+ const threshold = opts.threshold ?? 0;
27
+ if (opts.enabled && !opts.enabled()) {
28
+ return { scheduled: false, delay: null };
29
+ }
30
+ if (attempts - threshold >= 0) {
31
+ const after = Math.max(0, attempts - threshold);
32
+ const delay = computeDelay(after);
33
+ cancel();
34
+ timer = setTimeout(() => {
35
+ if (opts.enabled && !opts.enabled())
36
+ return;
37
+ opts.onReconnect();
38
+ }, delay);
39
+ return { scheduled: true, delay };
40
+ }
41
+ return { scheduled: false, delay: null };
42
+ };
43
+ const dispose = () => cancel();
44
+ const getAttempts = () => attempts;
45
+ return { recordFailure, recordSuccess, cancel, reset, dispose, getAttempts };
46
+ }
47
+ //# sourceMappingURL=reconnect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../src/reconnect.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,sBAAsB,CAAC,IAAsB;IAC5D,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAyC,IAAI,CAAC;IAEvD,MAAM,MAAM,GAAG,GAAG,EAAE;QACnB,IAAI,KAAK,EAAE,CAAC;YACX,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC;QACd,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE;QAClB,QAAQ,GAAG,CAAC,CAAC;QACb,MAAM,EAAE,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;IAEpC,MAAM,YAAY,GAAG,CAAC,qBAA6B,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,OAAO,GAAG,MAAM,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,QAAQ,IAAI,CAAC,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,GAAG,SAAS,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC;YACT,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACvB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAE,OAAO;gBAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC;IAEnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC9E,CAAC"}
package/dist/run.js ADDED
@@ -0,0 +1,68 @@
1
+ import { useContext, useState } from 'react';
2
+ import { buildUrl } from './url';
3
+ import { AgentuityContext } from './context';
4
+ export const useAgent = (name) => {
5
+ const context = useContext(AgentuityContext);
6
+ const [data, setData] = useState();
7
+ const [error, setError] = useState(null);
8
+ const [running, setRunning] = useState(false);
9
+ if (!context) {
10
+ throw new Error('useAgent must be used within a AgentuityProvider');
11
+ }
12
+ // Reset error (for now)
13
+ const reset = () => setError(null);
14
+ const run = async (input, options) => {
15
+ setRunning(true);
16
+ setError(null);
17
+ try {
18
+ const url = buildUrl(context.baseUrl, `/agent/${name}`, options?.subpath, options?.query);
19
+ const signal = options?.signal ?? new AbortController().signal;
20
+ const response = await fetch(url, {
21
+ method: options?.method ?? 'POST',
22
+ headers: {
23
+ 'Content-Type': 'application/json',
24
+ ...(options?.headers ?? {}),
25
+ },
26
+ signal,
27
+ body: input && typeof input === 'object' && (options?.method ?? 'POST') !== 'GET'
28
+ ? JSON.stringify(input)
29
+ : undefined,
30
+ });
31
+ if (!response.ok) {
32
+ const err = new Error(`Error invoking agent ${name}: ${response.status} ${response.statusText}`);
33
+ setError(err);
34
+ throw err;
35
+ }
36
+ // TODO: handle streams
37
+ const ct = response.headers.get('Content-Type') || '';
38
+ if (ct.includes('text/')) {
39
+ const text = await response.text();
40
+ const _data = text;
41
+ setData(_data);
42
+ return _data;
43
+ }
44
+ if (ct.includes('/json')) {
45
+ const json = await response.json();
46
+ const _data = json;
47
+ setData(_data);
48
+ return _data;
49
+ }
50
+ const err = new Error(`Unsupported content type: ${ct}`);
51
+ setError(err);
52
+ throw err;
53
+ }
54
+ catch (e) {
55
+ if (e instanceof Error && e.name === 'AbortError') {
56
+ throw e;
57
+ }
58
+ const err = e instanceof Error ? e : new Error(String(e));
59
+ setError(err);
60
+ throw err;
61
+ }
62
+ finally {
63
+ setRunning(false);
64
+ }
65
+ };
66
+ return { data, error, run, reset, running };
67
+ };
68
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Deserialize data received from WebSocket or EventStream.
3
+ * Attempts to parse as JSON if the data looks like JSON, otherwise returns as-is.
4
+ */
5
+ export const deserializeData = (data) => {
6
+ if (data) {
7
+ if (data.startsWith('{') || data.startsWith('[')) {
8
+ try {
9
+ return JSON.parse(data);
10
+ }
11
+ catch (ex) {
12
+ console.error('error parsing data as JSON', ex, data);
13
+ }
14
+ }
15
+ }
16
+ return data;
17
+ };
18
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAI,IAAY,EAAK,EAAE;IACrD,IAAI,IAAI,EAAE,CAAC;QACV,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC;gBACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;YAC9B,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,IAAS,CAAC;AAClB,CAAC,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/dist/url.js ADDED
@@ -0,0 +1,18 @@
1
+ import { getProcessEnv } from './env';
2
+ export const buildUrl = (base, path, subpath, query) => {
3
+ path = path.startsWith('/') ? path : `/${path}`;
4
+ let url = base.replace(/\/$/, '') + path;
5
+ if (subpath) {
6
+ subpath = subpath.startsWith('/') ? subpath : `/${subpath}`;
7
+ url += `/${subpath}`;
8
+ }
9
+ if (query) {
10
+ url += `?${query.toString()}`;
11
+ }
12
+ return url;
13
+ };
14
+ export const defaultBaseUrl = getProcessEnv('NEXT_PUBLIC_AGENTUITY_URL') ||
15
+ getProcessEnv('VITE_AGENTUITY_URL') ||
16
+ getProcessEnv('AGENTUITY_URL') ||
17
+ 'http://localhost:3500';
18
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,QAAQ,GAAG,CACvB,IAAY,EACZ,IAAY,EACZ,OAAgB,EAChB,KAAuB,EACd,EAAE;IACX,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAChD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5D,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACX,GAAG,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAC1B,aAAa,CAAC,2BAA2B,CAAC;IAC1C,aAAa,CAAC,oBAAoB,CAAC;IACnC,aAAa,CAAC,eAAe,CAAC;IAC9B,uBAAuB,CAAC"}
@@ -0,0 +1,167 @@
1
+ import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
2
+ 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
+ export const useWebsocket = (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 [data, setData] = useState();
30
+ const [error, setError] = useState(null);
31
+ const [connected, setConnected] = useState(false);
32
+ const wsUrl = useMemo(() => {
33
+ const base = context.baseUrl;
34
+ const wsBase = base.replace(/^http(s?):/, 'ws$1:');
35
+ return buildUrl(wsBase, path, options?.subpath, options?.query);
36
+ }, [context.baseUrl, path, options?.subpath, options?.query?.toString()]);
37
+ const connect = useCallback(() => {
38
+ if (manualClose.current)
39
+ return;
40
+ wsRef.current = new WebSocket(wsUrl);
41
+ wsRef.current.onopen = () => {
42
+ reconnectManagerRef.current?.recordSuccess();
43
+ setConnected(true);
44
+ setError(null);
45
+ if (queued.current.length > 0) {
46
+ queued.current.forEach((msg) => wsRef.current.send(serializeWSData(msg)));
47
+ queued.current = [];
48
+ }
49
+ };
50
+ wsRef.current.onerror = () => {
51
+ setError(new Error('WebSocket error'));
52
+ };
53
+ wsRef.current.onclose = (evt) => {
54
+ wsRef.current = undefined;
55
+ setConnected(false);
56
+ if (manualClose.current) {
57
+ queued.current = [];
58
+ return;
59
+ }
60
+ if (evt.code !== 1000) {
61
+ setError(new Error(`WebSocket closed: ${evt.code} ${evt.reason || ''}`));
62
+ }
63
+ reconnectManagerRef.current?.recordFailure();
64
+ };
65
+ wsRef.current.onmessage = (event) => {
66
+ const payload = deserializeData(event.data);
67
+ setData(payload);
68
+ if (handler.current) {
69
+ handler.current(payload);
70
+ }
71
+ else {
72
+ pending.current.push(payload);
73
+ }
74
+ };
75
+ }, [wsUrl]);
76
+ useEffect(() => {
77
+ reconnectManagerRef.current = createReconnectManager({
78
+ onReconnect: connect,
79
+ threshold: 0,
80
+ baseDelay: 500,
81
+ factor: 2,
82
+ maxDelay: 30000,
83
+ jitter: 500,
84
+ enabled: () => !manualClose.current,
85
+ });
86
+ return () => reconnectManagerRef.current?.dispose();
87
+ }, [connect]);
88
+ const cleanup = useCallback(() => {
89
+ manualClose.current = true;
90
+ reconnectManagerRef.current?.dispose();
91
+ const ws = wsRef.current;
92
+ if (ws) {
93
+ ws.onopen = null;
94
+ ws.onerror = null;
95
+ ws.onclose = null;
96
+ ws.onmessage = null;
97
+ ws.close();
98
+ }
99
+ wsRef.current = undefined;
100
+ handler.current = undefined;
101
+ pending.current = [];
102
+ queued.current = [];
103
+ setConnected(false);
104
+ }, []);
105
+ useEffect(() => {
106
+ manualClose.current = false;
107
+ connect();
108
+ return () => {
109
+ cleanup();
110
+ };
111
+ }, [connect, cleanup]);
112
+ useEffect(() => {
113
+ if (options?.signal) {
114
+ const listener = () => {
115
+ cleanup();
116
+ };
117
+ options.signal.addEventListener('abort', listener);
118
+ return () => {
119
+ options.signal?.removeEventListener('abort', listener);
120
+ };
121
+ }
122
+ }, [options?.signal, cleanup]);
123
+ const reset = () => setError(null);
124
+ const send = (data) => {
125
+ if (wsRef.current?.readyState === WebSocket.OPEN) {
126
+ wsRef.current.send(serializeWSData(data));
127
+ }
128
+ else {
129
+ queued.current.push(data);
130
+ }
131
+ };
132
+ const setHandler = useCallback((h) => {
133
+ handler.current = h;
134
+ pending.current.forEach(h);
135
+ pending.current = [];
136
+ }, []);
137
+ const close = () => {
138
+ cleanup();
139
+ };
140
+ return {
141
+ connected,
142
+ close,
143
+ data,
144
+ error,
145
+ send,
146
+ setHandler,
147
+ reset,
148
+ readyState: wsRef.current?.readyState ?? WebSocket.CLOSED,
149
+ };
150
+ };
151
+ export const useAgentWebsocket = (agent, options) => {
152
+ const [data, setData] = useState();
153
+ const { connected, close, send, setHandler, readyState, error, reset } = useWebsocket(`/agent/${agent}`, options);
154
+ useEffect(() => {
155
+ setHandler(setData);
156
+ }, [agent, setHandler]);
157
+ return {
158
+ connected,
159
+ close,
160
+ data,
161
+ error,
162
+ reset,
163
+ send,
164
+ readyState,
165
+ };
166
+ };
167
+ //# sourceMappingURL=websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@agentuity/react",
3
- "version": "0.0.51",
3
+ "version": "0.0.52",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
7
- "main": "./src/index.ts",
7
+ "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
9
  "exports": {
10
10
  ".": {
11
- "import": "./src/index.ts",
11
+ "import": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts"
13
13
  }
14
14
  },
@@ -25,7 +25,7 @@
25
25
  "prepublishOnly": "bun run clean && bun run build"
26
26
  },
27
27
  "dependencies": {
28
- "@agentuity/core": "0.0.51"
28
+ "@agentuity/core": "0.0.52"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/bun": "latest",