@bikdotai/bik-component-library 0.0.720-beta.5 → 0.0.720-beta.6
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("../../../_virtual/_tslib.js"),e=require("react"),t=require("../types/chat.js"),a=require("./aiService.js"),n=require("./db.js");exports.useAIChat=function(o){var i=this;let{system:l,conversationId:g,skipInitialization:d=!1,customFunctions:r,functionHandler:c,responseFormat:u,onMessageReceived:I,displayInUI:m,maxToolCalls:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("../../../_virtual/_tslib.js"),e=require("react"),t=require("../types/chat.js"),a=require("./aiService.js"),n=require("./db.js");exports.useAIChat=function(o){var i=this;let{system:l,conversationId:g,skipInitialization:d=!1,customFunctions:r,functionHandler:c,responseFormat:u,onMessageReceived:I,displayInUI:m,maxToolCalls:h,maxTokens:p,apiAdapter:v}=o;const[b,C]=e.useState((()=>t.createSessionRecord(g))),[A,j]=e.useState([]),[O,f]=e.useState(),[S,y]=e.useState(!1);e.useEffect((()=>{console.log(`🔄 [useAIChat] Loading session for conversationId: ${g}, displayInUI: ${m}`),console.log("🔍 [useAIChat] Current hook state before load:",{messagesCount:A.length,conversationMessagesCount:b.messages.length,lastResponseId:O}),n.loadSession(g).then((s=>{var e,a,n;if(s){if(console.log("📁 [useAIChat] Session loaded from DB:",{sessionId:s.sessionId,totalMessages:s.messages.length,messageRoles:s.messages.map((s=>s.role)),lastResponseId:null===(e=s.metadata)||void 0===e?void 0:e.lastResponseId}),C(s),f(null===(a=s.metadata)||void 0===a?void 0:a.lastResponseId),m)console.log(`👁️ [useAIChat] displayInUI=true - Loading ALL ${s.messages.length} messages to UI`),j(s.messages);else{const e=s.messages.filter((s=>"user"===s.role));console.log(`🔇 [useAIChat] displayInUI=false - Loading only ${e.length} user messages to UI (${s.messages.length} total in session)`),j(e)}console.log("✅ [useAIChat] Session state updated:",{conversationMessages:s.messages.length,uiMessages:m?s.messages.length:s.messages.filter((s=>"user"===s.role)).length,lastResponseId:null===(n=s.metadata)||void 0===n?void 0:n.lastResponseId})}else{console.log(`📁 [useAIChat] No existing session found for conversationId: ${g}`);const s=t.createSessionRecord(g);C(s),j([]),f(void 0),console.log("🆕 [useAIChat] Created fresh session:",{sessionId:s.sessionId,messageCount:0})}})).catch((s=>{console.error("❌ [useAIChat] Failed to load session:",s);const e=t.createSessionRecord(g);C(e),j([]),f(void 0)}))}),[g,m]);const R=e.useMemo((()=>d?null:new a.AIService({system:Object.assign(Object.assign({},l),{handleCallback:(s,e)=>{var t;null===(t=l.handleCallback)||void 0===t||t.call(l,s,e)}}),dispatchMessage:s=>{console.log("💬 [useAIChat] dispatchMessage called:",{messageId:s.id,role:s.role,content:s.content.substring(0,100)+(s.content.length>100?"...":""),displayInUI:m}),C((e=>{const t=Object.assign(Object.assign({},e),{updatedAt:Date.now(),messages:[...e.messages,s]});return console.log(`💾 [useAIChat] Saving message to session - Total messages now: ${t.messages.length}`),n.saveSession(t.sessionId,Object.assign(Object.assign({},t),{metadata:Object.assign(Object.assign({},t.metadata||{}),{lastResponseId:O})})),t})),m?(console.log("👁️ [useAIChat] displayInUI=true - Adding message to UI state"),j((e=>[...e,s]))):console.log("🔇 [useAIChat] displayInUI=false - Message saved to session but NOT added to UI state")},customFunctions:r,functionHandler:c,responseFormat:u,onMessageReceived:I,displayInUI:m,maxToolCalls:h,maxTokens:p,apiAdapter:v})),[l.id,d,u,h,p,g]);return{messages:A,conversation:b,sendMessage:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";return s.__awaiter(i,void 0,void 0,(function*(){if(!R)return void console.warn("⚠️ [useAIChat] sendMessage called but service is null");const s={id:`u-${Date.now()}`,role:"user",content:e,timestamp:Date.now()};console.log("📤 [useAIChat] Sending user message:",{messageId:s.id,content:e.substring(0,100)+(e.length>100?"...":""),conversationId:g,displayInUI:m,currentMessagesCount:A.length,currentLastResponseId:O}),j((e=>(console.log(`📝 [useAIChat] Adding user message to UI - Previous count: ${e.length}, New count: ${e.length+1}`),[...e,s]))),C((e=>{var t;console.log("🔄 [useAIChat] Current conversation state before update:",{sessionId:e.sessionId,currentMessageCount:e.messages.length,lastMessage:(null===(t=e.messages[e.messages.length-1])||void 0===t?void 0:t.role)||"none"});const a=Object.assign(Object.assign({},e),{updatedAt:Date.now(),messages:[...e.messages,s]});return console.log(`💾 [useAIChat] Saving user message to session - Previous: ${e.messages.length}, New total: ${a.messages.length}`),console.log("🔍 [useAIChat] Session update details:",{sessionId:a.sessionId,messageCount:a.messages.length,lastResponseId:O,hasMetadata:!!a.metadata}),n.saveSession(a.sessionId,Object.assign(Object.assign({},a),{metadata:Object.assign(Object.assign({},a.metadata||{}),{lastResponseId:O})})),a})),y(!0);try{const e=yield R.generate([...A,s].map((s=>({role:s.role,content:s.content}))),g,t,O);(null==e?void 0:e.responseId)&&(f(e.responseId),C((s=>{const t=Object.assign(Object.assign({},s),{metadata:Object.assign(Object.assign({},s.metadata||{}),{lastResponseId:e.responseId})});return n.saveSession(t.sessionId,t),t})))}catch(s){const e=(null==s?void 0:s.message)||"Something went wrong. Please try again.",t={id:`err-${Date.now()}`,role:"system",content:e,timestamp:Date.now()};j((s=>[...s,t])),C((s=>{const e=Object.assign(Object.assign({},s),{updatedAt:Date.now(),messages:[...s.messages,t]});return n.saveSession(e.sessionId,Object.assign(Object.assign({},e),{metadata:Object.assign(Object.assign({},e.metadata||{}),{lastResponseId:O})})),e}))}finally{y(!1)}}))},isApiCallInProgress:S}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as s}from"../../../_virtual/_tslib.js";import{useState as e,useEffect as t,useMemo as a}from"react";import{createSessionRecord as n}from"../types/chat.js";import{AIService as o}from"./aiService.js";import{loadSession as
|
|
1
|
+
import{__awaiter as s}from"../../../_virtual/_tslib.js";import{useState as e,useEffect as t,useMemo as a}from"react";import{createSessionRecord as n}from"../types/chat.js";import{AIService as o}from"./aiService.js";import{loadSession as l,saveSession as i}from"./db.js";function g(g){var d=this;let{system:r,conversationId:c,skipInitialization:u=!1,customFunctions:m,functionHandler:I,responseFormat:h,onMessageReceived:p,displayInUI:v,maxToolCalls:b,maxTokens:C,apiAdapter:j}=g;const[A,f]=e((()=>n(c))),[O,y]=e([]),[M,R]=e(),[w,U]=e(!1);t((()=>{console.log(`🔄 [useAIChat] Loading session for conversationId: ${c}, displayInUI: ${v}`),console.log("🔍 [useAIChat] Current hook state before load:",{messagesCount:O.length,conversationMessagesCount:A.messages.length,lastResponseId:M}),l(c).then((s=>{var e,t,a;if(s){if(console.log("📁 [useAIChat] Session loaded from DB:",{sessionId:s.sessionId,totalMessages:s.messages.length,messageRoles:s.messages.map((s=>s.role)),lastResponseId:null===(e=s.metadata)||void 0===e?void 0:e.lastResponseId}),f(s),R(null===(t=s.metadata)||void 0===t?void 0:t.lastResponseId),v)console.log(`👁️ [useAIChat] displayInUI=true - Loading ALL ${s.messages.length} messages to UI`),y(s.messages);else{const e=s.messages.filter((s=>"user"===s.role));console.log(`🔇 [useAIChat] displayInUI=false - Loading only ${e.length} user messages to UI (${s.messages.length} total in session)`),y(e)}console.log("✅ [useAIChat] Session state updated:",{conversationMessages:s.messages.length,uiMessages:v?s.messages.length:s.messages.filter((s=>"user"===s.role)).length,lastResponseId:null===(a=s.metadata)||void 0===a?void 0:a.lastResponseId})}else{console.log(`📁 [useAIChat] No existing session found for conversationId: ${c}`);const s=n(c);f(s),y([]),R(void 0),console.log("🆕 [useAIChat] Created fresh session:",{sessionId:s.sessionId,messageCount:0})}})).catch((s=>{console.error("❌ [useAIChat] Failed to load session:",s);const e=n(c);f(e),y([]),R(void 0)}))}),[c,v]);const $=a((()=>u?null:new o({system:Object.assign(Object.assign({},r),{handleCallback:(s,e)=>{var t;null===(t=r.handleCallback)||void 0===t||t.call(r,s,e)}}),dispatchMessage:s=>{console.log("💬 [useAIChat] dispatchMessage called:",{messageId:s.id,role:s.role,content:s.content.substring(0,100)+(s.content.length>100?"...":""),displayInUI:v}),f((e=>{const t=Object.assign(Object.assign({},e),{updatedAt:Date.now(),messages:[...e.messages,s]});return console.log(`💾 [useAIChat] Saving message to session - Total messages now: ${t.messages.length}`),i(t.sessionId,Object.assign(Object.assign({},t),{metadata:Object.assign(Object.assign({},t.metadata||{}),{lastResponseId:M})})),t})),v?(console.log("👁️ [useAIChat] displayInUI=true - Adding message to UI state"),y((e=>[...e,s]))):console.log("🔇 [useAIChat] displayInUI=false - Message saved to session but NOT added to UI state")},customFunctions:m,functionHandler:I,responseFormat:h,onMessageReceived:p,displayInUI:v,maxToolCalls:b,maxTokens:C,apiAdapter:j})),[r.id,u,h,b,C,c]);return{messages:O,conversation:A,sendMessage:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";return s(d,void 0,void 0,(function*(){if(!$)return void console.warn("⚠️ [useAIChat] sendMessage called but service is null");const s={id:`u-${Date.now()}`,role:"user",content:e,timestamp:Date.now()};console.log("📤 [useAIChat] Sending user message:",{messageId:s.id,content:e.substring(0,100)+(e.length>100?"...":""),conversationId:c,displayInUI:v,currentMessagesCount:O.length,currentLastResponseId:M}),y((e=>(console.log(`📝 [useAIChat] Adding user message to UI - Previous count: ${e.length}, New count: ${e.length+1}`),[...e,s]))),f((e=>{var t;console.log("🔄 [useAIChat] Current conversation state before update:",{sessionId:e.sessionId,currentMessageCount:e.messages.length,lastMessage:(null===(t=e.messages[e.messages.length-1])||void 0===t?void 0:t.role)||"none"});const a=Object.assign(Object.assign({},e),{updatedAt:Date.now(),messages:[...e.messages,s]});return console.log(`💾 [useAIChat] Saving user message to session - Previous: ${e.messages.length}, New total: ${a.messages.length}`),console.log("🔍 [useAIChat] Session update details:",{sessionId:a.sessionId,messageCount:a.messages.length,lastResponseId:M,hasMetadata:!!a.metadata}),i(a.sessionId,Object.assign(Object.assign({},a),{metadata:Object.assign(Object.assign({},a.metadata||{}),{lastResponseId:M})})),a})),U(!0);try{const e=yield $.generate([...O,s].map((s=>({role:s.role,content:s.content}))),c,t,M);(null==e?void 0:e.responseId)&&(R(e.responseId),f((s=>{const t=Object.assign(Object.assign({},s),{metadata:Object.assign(Object.assign({},s.metadata||{}),{lastResponseId:e.responseId})});return i(t.sessionId,t),t})))}catch(s){const e=(null==s?void 0:s.message)||"Something went wrong. Please try again.",t={id:`err-${Date.now()}`,role:"system",content:e,timestamp:Date.now()};y((s=>[...s,t])),f((s=>{const e=Object.assign(Object.assign({},s),{updatedAt:Date.now(),messages:[...s.messages,t]});return i(e.sessionId,Object.assign(Object.assign({},e),{metadata:Object.assign(Object.assign({},e.metadata||{}),{lastResponseId:M})})),e}))}finally{U(!1)}}))},isApiCallInProgress:w}}export{g as useAIChat};
|