Skip to content

Commit 263d17e

Browse files
feat: remove partner-focus
1 parent 0d15eda commit 263d17e

File tree

5 files changed

+19
-19
lines changed

5 files changed

+19
-19
lines changed

src/ambient.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
declare namespace App {
22
interface PrivateEnv {
3-
PARTNER_PHONE: string
3+
CONTACT_PHONE: string
44
KHOJ_API_URL?: string
55
KHOJ_AGENT?: string
66
LOG_LEVEL?: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent'

src/lib/config.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ await db.exec(`CREATE TABLE IF NOT EXISTS settings (
2020
)`)
2121

2222
const defaultSettings: Record<string, { value?: string; description: string }> = {
23-
PARTNER_PHONE: {
24-
value: env.PARTNER_PHONE,
25-
description: "Your conversation partner's phone number in the Messages app",
23+
CONTACT_PHONE: {
24+
value: env.CONTACT_PHONE,
25+
description: "The phone number of the person you're having a conversation with in the Messages app",
2626
},
2727
HISTORY_LOOKBACK_HOURS: {
2828
value: env.HISTORY_LOOKBACK_HOURS,
@@ -31,7 +31,7 @@ const defaultSettings: Record<string, { value?: string; description: string }> =
3131
CUSTOM_CONTEXT: {
3232
value: env.CUSTOM_CONTEXT,
3333
description:
34-
'To guide the AI\'s personality and behavior (Example: "Act as my therapist suggesting replies to my partner" or "You are a helpful assistant")',
34+
'To guide the AI\'s personality and behavior (Example: "Act as my therapist suggesting thoughtful replies" or "You are a helpful assistant")',
3535
},
3636
OPENAI_API_KEY: {
3737
value: env.OPENAI_API_KEY,

src/lib/iMessages.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import path from 'node:path'
55
import { open } from 'sqlite'
66
import sqlite3 from 'sqlite3'
77
import { logger } from './logger'
8-
import { hasPartnerMessages, isoToAppleNanoseconds } from './utils'
8+
import { hasContactMessages, isoToAppleNanoseconds } from './utils'
99

1010
const CHAT_DB_PATH = path.join(os.homedir(), 'Library', 'Messages', 'chat.db')
1111

1212
const buildQuery = (startDate: string, endDate: string) => {
1313
logger.debug({ startDate, endDate }, 'Getting messages')
1414
const params = [
15-
settings.PARTNER_PHONE,
15+
settings.CONTACT_PHONE,
1616
isoToAppleNanoseconds(startDate),
1717
isoToAppleNanoseconds(endDate),
1818
]
@@ -39,8 +39,8 @@ const formatMessages = (rows: MessageRow[]) => {
3939
.map((row) => ({
4040
sender: row.is_from_me
4141
? 'me'
42-
: row.contact_id === settings.PARTNER_PHONE
43-
? 'partner'
42+
: row.contact_id === settings.CONTACT_PHONE
43+
? 'them'
4444
: 'unknown',
4545
text: row.text,
4646
timestamp: new Date(
@@ -51,8 +51,8 @@ const formatMessages = (rows: MessageRow[]) => {
5151
}
5252

5353
export const queryMessagesDb = async (startDate: string, endDate: string) => {
54-
if (!settings.PARTNER_PHONE) {
55-
logger.warn('PARTNER_PHONE setting not configured')
54+
if (!settings.CONTACT_PHONE) {
55+
logger.warn('CONTACT_PHONE setting not configured')
5656
return { messages: [] }
5757
}
5858

@@ -61,12 +61,12 @@ export const queryMessagesDb = async (startDate: string, endDate: string) => {
6161

6262
try {
6363
const rows = (await db.all(query, params)) as MessageRow[]
64-
logger.info({ count: rows.length, handleId: settings.PARTNER_PHONE }, 'Fetched messages')
64+
logger.info({ count: rows.length, handleId: settings.CONTACT_PHONE }, 'Fetched messages')
6565

6666
const formattedMessages = formatMessages(rows)
6767

68-
// Return empty array if all messages are from me (no partner messages)
69-
return { messages: hasPartnerMessages(formattedMessages) ? formattedMessages : [] }
68+
// Return empty array if there are no messages from the contact
69+
return { messages: hasContactMessages(formattedMessages) ? formattedMessages : [] }
7070
} catch (error) {
7171
logger.error({ error }, 'Error querying messages database')
7272
return { messages: [] }

src/lib/prompts.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const coreContext = [
66
'Analyze messages attributed to "me:" to mimic my vocabulary and tone when suggesting replies.',
77
'Additional context about recent conversation history is provided below. Use this to understand the current situation and tone, but focus your reply on the most recent messages.',
88
'Do not summarize the history - it is only for context.',
9-
'I will also provide a desired tone and may include extra context. Always incorporate that tone and context when crafting replies.',
9+
'I will provide a desired tone and may include extra context. Always incorporate that tone and context when crafting replies.',
1010
].join('\n')
1111

1212
const instructions = [
@@ -37,15 +37,15 @@ export const openAiPrompt = (tone: string, context: string): string => buildProm
3737
export const khojPrompt = (messages: Message[], tone: ToneType, context: string): string =>
3838
[
3939
systemContext(),
40-
'Here are some text messages between my partner and I:\n' + formatMessagesAsText(messages),
40+
'Here is a conversation between me and someone else:\n' + formatMessagesAsText(messages),
4141
buildPrompt(tone, context),
4242
responseFormat,
4343
].join('\n')
4444

4545
export const anthropicPrompt = (messages: Message[], tone: ToneType, context: string): string =>
4646
[
4747
systemContext(),
48-
'Here are some text messages between my partner and I:\n' + formatMessagesAsText(messages),
48+
'Here is a conversation between me and someone else:\n' + formatMessagesAsText(messages),
4949
buildPrompt(tone, context),
5050
responseFormat,
5151
].join('\n')

src/lib/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ export const parseSummaryToHumanReadable = (rawOutput: string): string => {
1313
return match[2].trim().replace(/\s*###\s*$/, '')
1414
}
1515

16-
export const hasPartnerMessages = (formattedRows: Message[]) =>
17-
formattedRows.some((msg) => msg.sender !== 'me')
16+
export const hasContactMessages = (formattedRows: Message[]) =>
17+
formattedRows.some((msg) => msg.sender === 'them')
1818

1919
const cleanReplyText = (text: string): string => {
2020
let cleaned = text.trim()

0 commit comments

Comments
 (0)