UNPKG

@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;" />

122 lines (121 loc) 4.84 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __objRest = (source, exclude) => { var target = {}; for (var prop in source) if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop]; if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)) { if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop]; } return target; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/hooks/use-human-in-the-loop.ts var use_human_in_the_loop_exports = {}; __export(use_human_in_the_loop_exports, { useHumanInTheLoop: () => useHumanInTheLoop }); module.exports = __toCommonJS(use_human_in_the_loop_exports); var import_shared = require("@copilotkit/shared"); var import_react = require("@copilotkitnext/react"); var import_core = require("@copilotkitnext/core"); var import_react2 = __toESM(require("react")); function useHumanInTheLoop(tool, dependencies) { const _a = tool, { render } = _a, toolRest = __objRest(_a, ["render"]); const { name, description, parameters, followUp } = toolRest; const zodParameters = (0, import_shared.getZodParameters)(parameters); const renderRef = (0, import_react2.useRef)(null); (0, import_react2.useEffect)(() => { renderRef.current = (args) => { if (typeof render === "string") { return import_react2.default.createElement(import_react2.default.Fragment, null, render); } if (!render) { return null; } const renderProps = (() => { const mappedArgs = args.args; switch (args.status) { case import_core.ToolCallStatus.InProgress: return { args: mappedArgs, respond: args.respond, status: args.status, handler: void 0 }; case import_core.ToolCallStatus.Executing: return { args: mappedArgs, respond: args.respond, status: args.status, handler: () => { } }; case import_core.ToolCallStatus.Complete: return { args: mappedArgs, respond: args.respond, status: args.status, result: args.result ? (0, import_shared.parseJson)(args.result, args.result) : args.result, handler: void 0 }; default: throw new import_shared.CopilotKitError({ code: import_shared.CopilotKitErrorCode.UNKNOWN, message: `Invalid tool call status: ${args.status}` }); } })(); const rendered = render(renderProps); if (typeof rendered === "string") { return import_react2.default.createElement(import_react2.default.Fragment, null, rendered); } return rendered != null ? rendered : null; }; }, [render, ...dependencies != null ? dependencies : []]); (0, import_react.useHumanInTheLoop)({ name, description, followUp, parameters: zodParameters, render: (args) => { var _a2, _b; return (_b = (_a2 = renderRef.current) == null ? void 0 : _a2.call(renderRef, args)) != null ? _b : null; } }); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { useHumanInTheLoop }); //# sourceMappingURL=use-human-in-the-loop.js.map