a tool to help your Letta AI agents navigate bluesky

Refactor sleep and wake time logic with helper functions

+2 -1
tasks/sendSleepMessage.ts
··· 2 agentContext, 3 claimTaskThread, 4 releaseTaskThread, 5 } from "../utils/agentContext.ts"; 6 import { 7 getNow, ··· 35 36 const now = getNow(); 37 38 - if (now.hour >= agentContext.sleepTime) { 39 console.log(`🔹 attempting to wind down ${agentContext.agentBskyName}`); 40 } else { 41 const delay = msUntilDailyWindow(
··· 2 agentContext, 3 claimTaskThread, 4 releaseTaskThread, 5 + isAgentAsleep, 6 } from "../utils/agentContext.ts"; 7 import { 8 getNow, ··· 36 37 const now = getNow(); 38 39 + if (isAgentAsleep(now.hour)) { 40 console.log(`🔹 attempting to wind down ${agentContext.agentBskyName}`); 41 } else { 42 const delay = msUntilDailyWindow(
+2 -1
tasks/sendWakeMessage.ts
··· 2 agentContext, 3 claimTaskThread, 4 releaseTaskThread, 5 } from "../utils/agentContext.ts"; 6 import { getNow, msFrom, msRandomOffset } from "../utils/time.ts"; 7 import { messageAgent } from "../utils/messageAgent.ts"; ··· 31 32 const now = getNow(); 33 34 - if (now.hour >= agentContext.wakeTime && now.hour < agentContext.sleepTime) { 35 console.log(`🔹 attempting to wake up ${agentContext.agentBskyName}`); 36 } else { 37 const delay = msUntilDailyWindow(
··· 2 agentContext, 3 claimTaskThread, 4 releaseTaskThread, 5 + isAgentAwake, 6 } from "../utils/agentContext.ts"; 7 import { getNow, msFrom, msRandomOffset } from "../utils/time.ts"; 8 import { messageAgent } from "../utils/messageAgent.ts"; ··· 32 33 const now = getNow(); 34 35 + if (isAgentAwake(now.hour)) { 36 console.log(`🔹 attempting to wake up ${agentContext.agentBskyName}`); 37 } else { 38 const delay = msUntilDailyWindow(
+12
utils/agentContext.ts
··· 14 } from "./const.ts"; 15 import { msFrom } from "./time.ts"; 16 import { bsky } from "./bsky.ts"; 17 18 export const getLettaApiKey = (): string => { 19 const value = Deno.env.get("LETTA_API_KEY")?.trim(); ··· 638 agentContext.replyCount = 0; 639 agentContext.quoteCount = 0; 640 };
··· 14 } from "./const.ts"; 15 import { msFrom } from "./time.ts"; 16 import { bsky } from "./bsky.ts"; 17 + import { 18 + isAgentAsleep as checkIsAsleep, 19 + isAgentAwake as checkIsAwake, 20 + } from "./sleepWakeHelpers.ts"; 21 22 export const getLettaApiKey = (): string => { 23 const value = Deno.env.get("LETTA_API_KEY")?.trim(); ··· 642 agentContext.replyCount = 0; 643 agentContext.quoteCount = 0; 644 }; 645 + 646 + export const isAgentAwake = (hour: number): boolean => { 647 + return checkIsAwake(hour, agentContext.wakeTime, agentContext.sleepTime); 648 + }; 649 + 650 + export const isAgentAsleep = (hour: number): boolean => { 651 + return checkIsAsleep(hour, agentContext.wakeTime, agentContext.sleepTime); 652 + };