diff options
Diffstat (limited to 'src/client/views/nodes/chatbot/tools')
| -rw-r--r-- | src/client/views/nodes/chatbot/tools/CreateAnyDocTool.ts | 11 | ||||
| -rw-r--r-- | src/client/views/nodes/chatbot/tools/CreateDocumentTool.ts | 18 |
2 files changed, 10 insertions, 19 deletions
diff --git a/src/client/views/nodes/chatbot/tools/CreateAnyDocTool.ts b/src/client/views/nodes/chatbot/tools/CreateAnyDocTool.ts index efc66880f..7ec39704a 100644 --- a/src/client/views/nodes/chatbot/tools/CreateAnyDocTool.ts +++ b/src/client/views/nodes/chatbot/tools/CreateAnyDocTool.ts @@ -1,10 +1,10 @@ import { toLower } from 'lodash'; -import { v4 as uuidv4 } from 'uuid'; import { DocumentOptions } from '../../../../documents/Documents'; import { ParametersType } from '../types/tool_types'; import { Observation } from '../types/types'; import { BaseTool } from './BaseTool'; import { supportedDocumentTypes } from './CreateDocumentTool'; +import { Id } from '../../../../../fields/FieldSymbols'; const standardOptions = ['title', 'backgroundColor']; /** @@ -76,9 +76,9 @@ const createAnyDocumentToolParams = [ type CreateAnyDocumentToolParamsType = typeof createAnyDocumentToolParams; export class CreateAnyDocumentTool extends BaseTool<CreateAnyDocumentToolParamsType> { - private _addLinkedDoc: (doc_type: supportedDocumentTypes, data: unknown, options: DocumentOptions, id: string) => void; + private _addLinkedDoc: (doc_type: supportedDocumentTypes, data: unknown, options: DocumentOptions) => void; - constructor(addLinkedDoc: (doc_type: supportedDocumentTypes, data: unknown, options: DocumentOptions, id: string) => void) { + constructor(addLinkedDoc: (doc_type: supportedDocumentTypes, data: unknown, options: DocumentOptions) => void) { // prettier-ignore super( 'createAnyDocument', @@ -113,13 +113,12 @@ export class CreateAnyDocumentTool extends BaseTool<CreateAnyDocumentToolParamsT throw new Error(`Data is required for ${documentType} documents. ${info.dataDescription}`); } - const id = uuidv4(); const options: DocumentOptions = !args.options ? {} : JSON.parse(args.options); // Call the function to add the linked document (add default title that can be overriden if set in options) - this._addLinkedDoc(documentType, args.data, { title: `New ${documentType.charAt(0).toUpperCase() + documentType.slice(1)} Document`, ...options }, id); + const doc = this._addLinkedDoc(documentType, args.data, { title: `New ${documentType.charAt(0).toUpperCase() + documentType.slice(1)} Document`, ...options }); - return [{ type: 'text', text: `Created ${documentType} document with ID ${id}.` }]; + return [{ type: 'text', text: `Created ${documentType} document with ID ${doc?.[Id]}.` }]; } catch (error) { return [{ type: 'text', text: 'Error creating document: ' + (error as Error).message }]; } diff --git a/src/client/views/nodes/chatbot/tools/CreateDocumentTool.ts b/src/client/views/nodes/chatbot/tools/CreateDocumentTool.ts index 07b515fea..28c0eb32e 100644 --- a/src/client/views/nodes/chatbot/tools/CreateDocumentTool.ts +++ b/src/client/views/nodes/chatbot/tools/CreateDocumentTool.ts @@ -1,8 +1,7 @@ import { BaseTool } from './BaseTool'; import { Observation } from '../types/types'; import { ParametersType } from '../types/tool_types'; -import { DocumentOptions } from '../../../../documents/Documents'; -import { OmitKeys } from '../../../../../ClientUtils'; +import { parsedDoc } from '../chatboxcomponents/ChatBox'; export enum supportedDocumentTypes { flashcard = 'flashcard', @@ -360,9 +359,9 @@ type CreateListDocToolParamsType = typeof createListDocToolParams; // Tool class for creating documents export class CreateDocTool extends BaseTool<CreateListDocToolParamsType> { - private _addLinkedDoc: (doc_type: supportedDocumentTypes, data: unknown, options: DocumentOptions) => void; + private _addLinkedDoc: (doc: parsedDoc) => void; - constructor(addLinkedDoc: (doc_type: supportedDocumentTypes, data: unknown, options: DocumentOptions) => void) { + constructor(addLinkedDoc: (doc: parsedDoc) => void) { super( 'createDoc', `Creates one or more documents that best fit the user’s request. @@ -394,15 +393,8 @@ export class CreateDocTool extends BaseTool<CreateListDocToolParamsType> { // Executes the tool logic for creating documents async execute(args: ParametersType<CreateListDocToolParamsType>): Promise<Observation[]> { try { - const parsedDoc = JSON.parse(args.docs) as ({ doc_type: supportedDocumentTypes; data: unknown } & DocumentOptions)[]; - parsedDoc.forEach( - doc => - this._addLinkedDoc( - doc.doc_type, - doc.data, - {...OmitKeys(doc, ["data", "doc_type"]).omit, _layout_fitWidth: false, _layout_autoHeight: true} - ) // prettier-ignore - ); + const parsedDocs = JSON.parse(args.docs) as parsedDoc[]; + parsedDocs.forEach(doc => this._addLinkedDoc({ ...doc, _layout_fitWidth: false, _layout_autoHeight: true })); return [{ type: 'text', text: 'Created document.' }]; } catch (error) { return [{ type: 'text', text: 'Error creating text document, ' + error }]; |
