UNPKG

@defikitdotnet/education-module-ai

Version:
44 lines (43 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AgentProvider = exports.useAgent = void 0; var jsx_runtime_1 = require("react/jsx-runtime"); var react_1 = require("react"); // Default context values var defaultAgentContext = { agent: null, isAgentAuthenticated: false, setCurrentAgent: function () { }, clearCurrentAgent: function () { }, }; // Create context var AgentContext = (0, react_1.createContext)(defaultAgentContext); // Hook for using the agent context var useAgent = function () { return (0, react_1.useContext)(AgentContext); }; exports.useAgent = useAgent; // Provider component with ref forwarding for dev mode exports.AgentProvider = (0, react_1.forwardRef)(function (_a, ref) { var children = _a.children; var _b = (0, react_1.useState)(null), agent = _b[0], setAgent = _b[1]; // Set current agent from parent system var setCurrentAgent = function (agentInfo) { setAgent(agentInfo); }; // Clear agent data var clearCurrentAgent = function () { setAgent(null); }; // Expose methods via ref (0, react_1.useImperativeHandle)(ref, function () { return ({ setCurrentAgent: setCurrentAgent, }); }); // Context value var value = { agent: agent, isAgentAuthenticated: agent !== null, setCurrentAgent: setCurrentAgent, clearCurrentAgent: clearCurrentAgent, }; return ((0, jsx_runtime_1.jsx)(AgentContext.Provider, { value: value, children: children })); }); exports.default = AgentContext;