diff --git a/vite/package-lock.json b/vite/package-lock.json
index 8fdb990..cec92e4 100644
--- a/vite/package-lock.json
+++ b/vite/package-lock.json
@@ -2644,6 +2644,7 @@
"version": "2.30.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
+ "license": "MIT",
"engines": {
"node": "*"
}
diff --git a/vite/src/App.css b/vite/src/App.css
index 117d13e..2d6ed67 100644
--- a/vite/src/App.css
+++ b/vite/src/App.css
@@ -9,4 +9,8 @@
main{
@apply flex-1 grid grid-cols-2 gap-4 justify-start p-8 overflow-hidden;
+}
+
+label{
+ @apply !text-sm !font-bold !bg-blue-500 text-white lowercase px-2 rounded-full;
}
\ No newline at end of file
diff --git a/vite/src/comps/debug.jsx b/vite/src/comps/debug.jsx
index 35d2e40..399ca01 100644
--- a/vite/src/comps/debug.jsx
+++ b/vite/src/comps/debug.jsx
@@ -24,7 +24,7 @@ export function DebugControl({refLight}){
+
+
{input}
);
diff --git a/vite/src/main.jsx b/vite/src/main.jsx
index b9a2413..ce0d88c 100644
--- a/vite/src/main.jsx
+++ b/vite/src/main.jsx
@@ -10,10 +10,12 @@ import { Conversation } from './pages/conversation.jsx';
import { ChatProvider } from './util/useChat.jsx';
import { DataProvider } from './util/useData.jsx';
import { FreeFlow } from './pages/flow_free.jsx';
+import { UserProvider } from './util/useUser.jsx';
createRoot(document.getElementById('root')).render(
+
@@ -25,6 +27,7 @@ createRoot(document.getElementById('root')).render(
+
,
diff --git a/vite/src/pages/flow_free.jsx b/vite/src/pages/flow_free.jsx
index 2e7acdd..805f59a 100644
--- a/vite/src/pages/flow_free.jsx
+++ b/vite/src/pages/flow_free.jsx
@@ -12,6 +12,7 @@ import { useData } from "../util/useData";
import VoiceAnalysis from "../comps/voiceanalysis";
import { sendOsc, OSC_ADDRESS, updatePrompt } from "../util/osc";
import { DebugControl, TEST_PROMPT } from "../comps/debug";
+import { useUser } from "../util/useUser";
const EmojiType={
@@ -28,6 +29,8 @@ const ChatStatus={
User: 'user',
Processing: 'processing',
Clear: 'clear',
+ End: 'end',
+ Playing: 'playing',
}
const Voice={
@@ -44,12 +47,13 @@ export function FreeFlow(){
const [chatWelcome, setChatWelcome] = useState(null);
const [audioInput, setAudioInput] = useState(true);
const [autoSend, setAutoSend] = useState(true);
- const [userId, setUserId] = useState();
+ // const [userId, setUserId] = useState();
const [summary, setSummary] = useState(null);
const [voice, setVoice] = useState(Voice.ONYX);
//const [speechPaused, setSpeechPaused]=useState(false);
const [chatStatus, setChatStatus] = useState(ChatStatus.System); // System, User, Processing
+ const { userId, setUserId, getFileId } = useUser();
const refTimer=useRef();
const refAudio=useRef();
@@ -121,13 +125,15 @@ export function FreeFlow(){
refTimer.current?.restart(audio.duration*1000 || 0);
}else{
if(refCurrentCue.current?.type=='chat') setChatStatus(()=>ChatStatus.System);
- else setChatStatus(()=>ChatStatus.Clear);
+ else setChatStatus(()=>ChatStatus.Playing);
}
});
audio.onended = () => {
- if(refCurrentCue.current?.type!='chat') onCueEnd();
- else{
+ if(refCurrentCue.current?.type!='chat'){
+ onCueEnd();
+ setChatStatus(ChatStatus.End);
+ }else{
setChatStatus(ChatStatus.User); // Reset chat status to User after audio ends
@@ -202,14 +208,17 @@ export function FreeFlow(){
console.log('Getting summary...');
setChatStatus(ChatStatus.Clear); // Set chat status to Processing
- getSummary(history.map(el=>`${el.role}:${el.content}`).join('\n'), data).then(summary => {
+ getSummary(history.map(el=>`${el.role}:${el.content}`).join('\n'), data).then(summary_ => {
- console.log('Summary:', summary);
+ console.log('Summary:', summary_);
onCueEnd(); // End the current cue after getting summary
- setSummary(summary);
+ setSummary(summary_);
refContainer.current.scrollTop = refContainer.current.scrollHeight; // Scroll to bottom
+ // sendOsc(OSC_ADDRESS.SUMMARY, summary_?.result);
+ sendOsc(OSC_ADDRESS.SAVE, `${getFileId()}#${summary_?.result}`); // Save summary with file ID
+
}).catch(error => {
console.error('Error getting summary:', error);
});
@@ -481,7 +490,7 @@ export function FreeFlow(){
{/*
*/}
-
+
{/*
@@ -489,9 +498,16 @@ export function FreeFlow(){
*/}
-
+
+
+
+
+ UserId{userId}
+ FileId{getFileId()}
+
+