@copilotkit/react-core
Version:
<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />
47 lines (46 loc) • 1.55 kB
JavaScript
import {
__spreadProps,
__spreadValues
} from "../chunk-SKC7AJIV.mjs";
// src/hooks/use-configure-chat-suggestions.tsx
import {
useConfigureSuggestions,
useCopilotChatConfiguration,
useCopilotKit,
useSuggestions
} from "@copilotkitnext/react";
import { useEffect } from "react";
function useConfigureChatSuggestions(config, dependencies = []) {
var _a;
const existingConfig = useCopilotChatConfiguration();
const resolvedAgentId = (_a = existingConfig == null ? void 0 : existingConfig.agentId) != null ? _a : "default";
const { copilotkit } = useCopilotKit();
const available = config.available === "enabled" ? "always" : config.available;
const finalSuggestionConfig = __spreadProps(__spreadValues({}, config), {
available,
consumerAgentId: resolvedAgentId
// Use chatConfig.agentId here
});
useConfigureSuggestions(finalSuggestionConfig, dependencies);
const result = useSuggestions({ agentId: resolvedAgentId });
useEffect(() => {
if (finalSuggestionConfig.available === "disabled")
return;
const subscription = copilotkit.subscribe({
onAgentsChanged: () => {
const agent = copilotkit.getAgent(resolvedAgentId);
if (agent && !agent.isRunning && !result.suggestions.length) {
copilotkit.reloadSuggestions(resolvedAgentId);
}
}
});
return () => {
subscription.unsubscribe();
};
}, [resolvedAgentId]);
return result;
}
export {
useConfigureChatSuggestions
};
//# sourceMappingURL=use-configure-chat-suggestions.mjs.map