diff --git a/agent/canvas.py b/agent/canvas.py index 48c4a6cbbc..15983024b9 100644 --- a/agent/canvas.py +++ b/agent/canvas.py @@ -15,6 +15,7 @@ # import asyncio import base64 +import datetime import inspect import binascii import json @@ -287,7 +288,8 @@ class Canvas(Graph): "sys.user_id": tenant_id, "sys.conversation_turns": 0, "sys.files": [], - "sys.history": [] + "sys.history": [], + "sys.date": datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%d %H:%M:%S") } self.variables = {} super().__init__(dsl, tenant_id, task_id, custom_header=custom_header) @@ -300,13 +302,16 @@ class Canvas(Graph): self.globals = self.dsl["globals"] if "sys.history" not in self.globals: self.globals["sys.history"] = [] + if "sys.date" not in self.globals: + self.globals["sys.date"] = datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%d %H:%M:%S") else: self.globals = { "sys.query": "", "sys.user_id": "", "sys.conversation_turns": 0, "sys.files": [], - "sys.history": [] + "sys.history": [], + "sys.date": datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%d %H:%M:%S") } if "variables" in self.dsl: self.variables = self.dsl["variables"] @@ -368,6 +373,7 @@ class Canvas(Graph): self.globals[k] = "" async def run(self, **kwargs): + self.globals["sys.date"] = datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%d %H:%M:%S") st = time.perf_counter() self._loop = asyncio.get_running_loop() self.message_id = get_uuid() diff --git a/web/src/constants/agent.tsx b/web/src/constants/agent.tsx index ad487e01f4..cdb1df9154 100644 --- a/web/src/constants/agent.tsx +++ b/web/src/constants/agent.tsx @@ -33,6 +33,7 @@ export enum AgentGlobals { SysConversationTurns = 'sys.conversation_turns', SysFiles = 'sys.files', SysHistory = 'sys.history', + SysDate = 'sys.date', } export const AgentGlobalsSysQueryWithBrace = `{${AgentGlobals.SysQuery}}`; @@ -272,5 +273,6 @@ export const EmptyDsl = { [AgentGlobals.SysConversationTurns]: 0, [AgentGlobals.SysFiles]: [], [AgentGlobals.SysHistory]: [], + [AgentGlobals.SysDate]: '', }, };