UNPKG

@datalayer/core

Version:
73 lines (72 loc) 2.55 kB
/* * Copyright (c) 2023-2025 Datalayer, Inc. * Distributed under the terms of the Modified BSD License. */ import { URLExt } from '@jupyterlab/coreutils'; import { useCoreStore } from '../state'; import { useDatalayer } from './useDatalayer'; export const useAIAgents = (baseUrlOverride = 'api/ai-agents/v1') => { const { configuration } = useCoreStore(); const { requestDatalayer } = useDatalayer({ notifyOnError: false }); const createAIAgent = (documentId, documentType, ingress, token, kernelId, { signal, baseUrl = baseUrlOverride } = {}) => { return requestDatalayer({ url: URLExt.join(configuration.aiagentsRunUrl, baseUrl, 'agents'), method: 'POST', body: { document_id: documentId, document_type: documentType, runtime: { ingress, token, kernel_id: kernelId, } }, signal }); }; const getAIAgents = ({ signal, baseUrl = baseUrlOverride } = {}) => { return requestDatalayer({ url: URLExt.join(configuration.aiagentsRunUrl, baseUrl, 'agents'), method: 'GET', signal, }); }; const deleteAIAgent = (documentId, { signal, baseUrl = baseUrlOverride } = {}) => { return requestDatalayer({ url: URLExt.join(configuration.aiagentsRunUrl, baseUrl, 'agents', documentId), method: 'DELETE', signal, }); }; const getAIAgent = (documentId, { signal, baseUrl = baseUrlOverride } = {}) => { return requestDatalayer({ url: URLExt.join(configuration.aiagentsRunUrl, baseUrl, 'agents', documentId), method: 'GET', signal, }); }; const patchAIAgent = (documentId, ingress, token, kernelId, { signal, baseUrl = baseUrlOverride } = {}) => { return requestDatalayer({ url: URLExt.join(configuration.aiagentsRunUrl, baseUrl, 'agents', documentId), method: 'PATCH', body: { runtime: ingress && token && kernelId ? { ingress, token, kernel_id: kernelId } : null }, signal, }); }; return { createAIAgent, getAIAgents, deleteAIAgent, getAIAgent, patchAIAgent }; }; export default useAIAgents;