From fbfb3fef32e8f853d005c29563b824324970c2d3 Mon Sep 17 00:00:00 2001 From: Eduardo Soto Date: Thu, 9 Jan 2025 02:26:13 -0300 Subject: [PATCH] Refactor email responder tool: remove default dbName, enhance date handling, and improve table check logic --- tools/email-responder/tool.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/email-responder/tool.ts b/tools/email-responder/tool.ts index 199d827c..916ae3b9 100644 --- a/tools/email-responder/tool.ts +++ b/tools/email-responder/tool.ts @@ -54,7 +54,6 @@ function escapeSqlString(str: string): string { } export async function run(config: CONFIG, inputs: INPUTS): Promise { - const dbName = 'default'; const tableName = 'answered_emails'; const createTableQuery = ` @@ -75,16 +74,19 @@ export async function run(config: CONFIG, inputs: INPUTS): Promise { query: `SELECT name FROM sqlite_master WHERE type='table' AND name=?;`, params: [tableName] }); - const tableCreated = tableCheck?.result?.length > 0; - let { emails, login_status } = await emailFetcher({ from_date: inputs.from_date, to_date: inputs.to_date }); - + const tableCreated = (tableCheck?.result?.length ?? 0) > 0; + let { emails, login_status } = await emailFetcher({ + from_date: inputs.from_date || '', + to_date: inputs.to_date || '', + }); + const answeredEmailsQuery = await shinkaiSqliteQueryExecutor({ query: `SELECT * FROM ${tableName}`, }); if (!answeredEmailsQuery?.result) { throw new Error('Failed to query answered emails'); } - const answeredEmails: ANSWERED_EMAIL_REGISTER[] = answeredEmailsQuery.result ?? []; + const answeredEmails: ANSWERED_EMAIL_REGISTER[] = (answeredEmailsQuery.result as ANSWERED_EMAIL_REGISTER[]) ?? []; const mailIds: string[] = []; const minDate = inputs.from_date ? new Date(inputs.from_date) : new Date('1970-01-01T00:00:00.000Z'); emails = emails