From 83c78f13f1d11a56785a534a2e95fb71e5e043d6 Mon Sep 17 00:00:00 2001 From: Jeremy Frank Date: Thu, 30 Jan 2025 11:53:43 -0700 Subject: [PATCH 1/2] add getTimeTool --- src/agents/tools/getTimeTool.ts | 12 ++++++++++++ src/agents/workflows/orchestrator/tools.ts | 5 ++++- src/index.ts | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 src/agents/tools/getTimeTool.ts diff --git a/src/agents/tools/getTimeTool.ts b/src/agents/tools/getTimeTool.ts new file mode 100644 index 0000000..1fba923 --- /dev/null +++ b/src/agents/tools/getTimeTool.ts @@ -0,0 +1,12 @@ +import { DynamicStructuredTool } from '@langchain/core/tools'; +import { z } from 'zod'; +export const createGetCurrentTimeTool = () => + new DynamicStructuredTool({ + name: 'get_current_time', + description: + 'Returns the current real-world time. Use this whenever you need to know the current time, make scheduling decisions, or calculate time differences. The time is returned in ISO format. This is the only way to get accurate current time information.', + schema: z.object({}), + func: async () => { + return new Date().toISOString(); + }, + }); diff --git a/src/agents/workflows/orchestrator/tools.ts b/src/agents/workflows/orchestrator/tools.ts index 7d7fe4a..fd892ea 100644 --- a/src/agents/workflows/orchestrator/tools.ts +++ b/src/agents/workflows/orchestrator/tools.ts @@ -4,13 +4,14 @@ import { createVectorDbInsertTool, createVectorDbSearchTool } from '../../tools/ import { TwitterApi } from '../../../services/twitter/types.js'; import { VectorDB } from '../../../services/vectorDb/VectorDB.js'; import { createSaveExperienceTool } from '../../tools/saveExperienceTool.js'; - +import { createGetCurrentTimeTool } from '../../tools/getTimeTool.js'; export const createTools = (twitterApi: TwitterApi, vectorDb: VectorDB) => { const twitterWorkflowTool = createTwitterWorkflowTool(); const twitterTools = createAllTwitterTools(twitterApi); const vectorDbSearchTool = createVectorDbSearchTool(vectorDb); const vectorDbInsertTool = createVectorDbInsertTool(vectorDb); const saveExperienceTool = createSaveExperienceTool(); + const getCurrentTimeTool = createGetCurrentTimeTool(); return { ...twitterTools, @@ -18,12 +19,14 @@ export const createTools = (twitterApi: TwitterApi, vectorDb: VectorDB) => { vectorDbSearchTool, vectorDbInsertTool, saveExperienceTool, + getCurrentTimeTool, tools: [ ...twitterTools.tools, twitterWorkflowTool, vectorDbSearchTool, vectorDbInsertTool, saveExperienceTool, + getCurrentTimeTool, ], }; }; diff --git a/src/index.ts b/src/index.ts index a7485c5..4852fc0 100644 --- a/src/index.ts +++ b/src/index.ts @@ -18,7 +18,7 @@ process.on('SIGTERM', () => { const startWorkflowPolling = async () => { try { const _result = await runOrchestratorWorkflow( - `You are expected to run the twitter workflow periodically in order to maintain social engagement. The current date and time is ${new Date().toISOString()}`, + `You are expected to run the twitter workflow periodically in order to maintain social engagement.`, ); logger.info('Workflow execution completed successfully for character:', { From 67585160ef25d027aac9e4c256083f73eb1e53cc Mon Sep 17 00:00:00 2001 From: Jeremy Frank Date: Thu, 30 Jan 2025 12:09:32 -0700 Subject: [PATCH 2/2] update autonomys-agents version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5d41ca6..1bfd34e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "autonomys-agents", - "version": "0.2.0", + "version": "0.2.1", "description": "Autonomys Agents", "main": "dist/index.js", "type": "module",