@memori.ai/memori-react 8.38.8 → 8.40.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/CHANGELOG.md +20 -0
- package/dist/components/MemoriWidget/MemoriWidget.js +401 -87
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/helpers/credits.d.ts +5 -2
- package/dist/helpers/credits.js +5 -1
- package/dist/helpers/credits.js.map +1 -1
- package/dist/helpers/nats/getNatsConfig.d.ts +5 -0
- package/dist/helpers/nats/getNatsConfig.js +29 -0
- package/dist/helpers/nats/getNatsConfig.js.map +1 -0
- package/dist/helpers/nats/useNats.d.ts +12 -0
- package/dist/helpers/nats/useNats.js +72 -0
- package/dist/helpers/nats/useNats.js.map +1 -0
- package/dist/helpers/nats/useNatsSession.d.ts +27 -0
- package/dist/helpers/nats/useNatsSession.js +108 -0
- package/dist/helpers/nats/useNatsSession.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +401 -87
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/helpers/credits.d.ts +5 -2
- package/esm/helpers/credits.js +5 -1
- package/esm/helpers/credits.js.map +1 -1
- package/esm/helpers/nats/getNatsConfig.d.ts +5 -0
- package/esm/helpers/nats/getNatsConfig.js +25 -0
- package/esm/helpers/nats/getNatsConfig.js.map +1 -0
- package/esm/helpers/nats/useNats.d.ts +12 -0
- package/esm/helpers/nats/useNats.js +68 -0
- package/esm/helpers/nats/useNats.js.map +1 -0
- package/esm/helpers/nats/useNatsSession.d.ts +27 -0
- package/esm/helpers/nats/useNatsSession.js +103 -0
- package/esm/helpers/nats/useNatsSession.js.map +1 -0
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +3 -2
- package/src/components/MemoriWidget/MemoriWidget.tsx +546 -140
- package/src/components/StartPanel/StartPanel.stories.tsx +21 -0
- package/src/components/StartPanel/StartPanel.test.tsx +66 -1
- package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +156 -0
- package/src/components/layouts/layouts.stories.tsx +28 -34
- package/src/helpers/credits.ts +16 -1
- package/src/helpers/nats/getNatsConfig.ts +69 -0
- package/src/helpers/nats/useNats.ts +122 -0
- package/src/helpers/nats/useNatsSession.ts +210 -0
- package/src/index.stories.tsx +19 -3
- package/src/version.ts +1 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import { wsconnect } from '@nats-io/nats-core';
|
|
3
|
+
function readString(raw, camelKey, snakeKey) {
|
|
4
|
+
var _a;
|
|
5
|
+
const value = (_a = raw[camelKey]) !== null && _a !== void 0 ? _a : raw[snakeKey];
|
|
6
|
+
return typeof value === 'string' ? value : undefined;
|
|
7
|
+
}
|
|
8
|
+
function readNumber(raw, camelKey, snakeKey) {
|
|
9
|
+
var _a;
|
|
10
|
+
const value = (_a = raw[camelKey]) !== null && _a !== void 0 ? _a : raw[snakeKey];
|
|
11
|
+
return typeof value === 'number' ? value : undefined;
|
|
12
|
+
}
|
|
13
|
+
export function normalizeNatsEvent(raw) {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
const eventType = ((_a = readString(raw, 'eventType', 'event_type')) !== null && _a !== void 0 ? _a : 'unknown');
|
|
16
|
+
const correlationID = (_b = readString(raw, 'correlationID', 'correlation_id')) !== null && _b !== void 0 ? _b : readString(raw, 'correlationId', 'correlation_id');
|
|
17
|
+
if (eventType === 'progress') {
|
|
18
|
+
return {
|
|
19
|
+
eventType: 'progress',
|
|
20
|
+
jobId: readString(raw, 'jobId', 'job_id'),
|
|
21
|
+
currentStep: readNumber(raw, 'currentStep', 'current_step'),
|
|
22
|
+
finalStep: readNumber(raw, 'finalStep', 'final_step'),
|
|
23
|
+
message: typeof raw.message === 'string' ? raw.message : undefined,
|
|
24
|
+
startingTime: readString(raw, 'startingTime', 'starting_time'),
|
|
25
|
+
correlationID,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (eventType === 'dialog_text_entered_response') {
|
|
29
|
+
return {
|
|
30
|
+
eventType: 'dialog_text_entered_response',
|
|
31
|
+
requestID: typeof raw.requestID === 'string' ? raw.requestID : undefined,
|
|
32
|
+
resultCode: typeof raw.resultCode === 'number' ? raw.resultCode : undefined,
|
|
33
|
+
resultMessage: typeof raw.resultMessage === 'string' ? raw.resultMessage : undefined,
|
|
34
|
+
currentState: raw.currentState,
|
|
35
|
+
correlationID,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (eventType === 'error') {
|
|
39
|
+
return {
|
|
40
|
+
eventType: 'error',
|
|
41
|
+
errorCode: ((_c = raw.errorCode) !== null && _c !== void 0 ? _c : raw.error_code),
|
|
42
|
+
errorMessage: readString(raw, 'errorMessage', 'error_message'),
|
|
43
|
+
backtrace: typeof raw.backtrace === 'string' ? raw.backtrace : undefined,
|
|
44
|
+
correlationID,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
eventType,
|
|
49
|
+
correlationID,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export function useNatsSession(sessionId, natsWsUrl, natsToken, onMessage) {
|
|
53
|
+
const connRef = useRef(null);
|
|
54
|
+
const onMessageRef = useRef(onMessage);
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
onMessageRef.current = onMessage;
|
|
57
|
+
}, [onMessage]);
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (!sessionId || !natsWsUrl || !natsToken) {
|
|
60
|
+
console.debug('[NATS] subscription skipped (missing sessionId/url/token)', { sessionId, hasUrl: !!natsWsUrl, hasToken: !!natsToken });
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
let closed = false;
|
|
64
|
+
const subject = sessionId;
|
|
65
|
+
(async () => {
|
|
66
|
+
console.info('[NATS] connecting to', natsWsUrl, 'for session', sessionId);
|
|
67
|
+
const nc = await wsconnect({
|
|
68
|
+
servers: [natsWsUrl],
|
|
69
|
+
token: natsToken,
|
|
70
|
+
});
|
|
71
|
+
if (closed) {
|
|
72
|
+
console.debug('[NATS] connection established after cleanup, closing immediately');
|
|
73
|
+
await nc.close();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
connRef.current = nc;
|
|
77
|
+
console.info('[NATS] connected to', nc.getServer());
|
|
78
|
+
const sub = nc.subscribe(subject);
|
|
79
|
+
console.info('[NATS] subscribed to subject', subject);
|
|
80
|
+
let received = 0;
|
|
81
|
+
for await (const msg of sub) {
|
|
82
|
+
received += 1;
|
|
83
|
+
try {
|
|
84
|
+
const payload = normalizeNatsEvent(msg.json());
|
|
85
|
+
console.debug(`[NATS] message #${received} on ${subject} (eventType=${payload.eventType})`, payload);
|
|
86
|
+
onMessageRef.current(payload);
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
console.error('[NATS] message decode error', err);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
console.info(`[NATS] subscription on ${subject} closed (received ${received} messages)`);
|
|
93
|
+
})().catch(err => console.error('[NATS] connection error', err));
|
|
94
|
+
return () => {
|
|
95
|
+
var _a;
|
|
96
|
+
console.info('[NATS] cleanup: closing connection for subject', subject);
|
|
97
|
+
closed = true;
|
|
98
|
+
(_a = connRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
99
|
+
connRef.current = null;
|
|
100
|
+
};
|
|
101
|
+
}, [sessionId, natsWsUrl, natsToken]);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=useNatsSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNatsSession.js","sourceRoot":"","sources":["../../../src/helpers/nats/useNatsSession.ts"],"names":[],"mappings":"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"}
|
package/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "8.
|
|
1
|
+
export declare const version = "8.40.0";
|
package/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '8.
|
|
1
|
+
export const version = '8.40.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "8.
|
|
2
|
+
"version": "8.40.0",
|
|
3
3
|
"name": "@memori.ai/memori-react",
|
|
4
4
|
"author": "Memori Srl",
|
|
5
5
|
"main": "dist/index.js",
|
|
@@ -293,7 +293,8 @@
|
|
|
293
293
|
},
|
|
294
294
|
"dependencies": {
|
|
295
295
|
"@headlessui/react": "1.7.4",
|
|
296
|
-
"@memori.ai/memori-api-client": "6.
|
|
296
|
+
"@memori.ai/memori-api-client": "6.24.1",
|
|
297
|
+
"@nats-io/nats-core": "^3.4.0",
|
|
297
298
|
"@react-three/drei": "8.20.2",
|
|
298
299
|
"@react-three/fiber": "7.0.25",
|
|
299
300
|
"classnames": "2.5.1",
|