From 7753ee46f0ee98a3f9f449c9870ad44141569a74 Mon Sep 17 00:00:00 2001 From: ejclaw Date: Thu, 9 Apr 2026 22:50:21 +0900 Subject: [PATCH] style: apply prettier formatting --- src/db.test.ts | 40 ++++++++++++++++++++++------------- src/db/legacy-rebuilds.ts | 5 +---- src/db/schema.ts | 42 ++++++++++++++++++++++--------------- src/db/work-items.ts | 7 +++---- src/message-runtime-loop.ts | 5 +---- src/message-runtime.ts | 10 ++++----- src/service-routing.ts | 4 +++- 7 files changed, 64 insertions(+), 49 deletions(-) diff --git a/src/db.test.ts b/src/db.test.ts index 795fdae..d55bf6a 100644 --- a/src/db.test.ts +++ b/src/db.test.ts @@ -469,7 +469,6 @@ describe('session accessors', () => { expect(hasServiceSessions).toBe(false); migratedDb.close(); }); - }); // --- storeChatMetadata --- @@ -1181,7 +1180,9 @@ describe('paired task state', () => { }); it('preserves stored reviewer service ids during init even when reviewer agent metadata exists', () => { - const tempDir = fs.mkdtempSync('/tmp/ejclaw-channel-owner-stored-reviewer-'); + const tempDir = fs.mkdtempSync( + '/tmp/ejclaw-channel-owner-stored-reviewer-', + ); const dbPath = path.join(tempDir, 'messages.db'); const legacyDb = new Database(dbPath); @@ -2858,7 +2859,6 @@ describe('service handoff completion', () => { }), ]); }); - }); describe('message seq cursors', () => { @@ -3029,10 +3029,12 @@ describe('message seq cursors', () => { _initTestDatabaseFromFile(dbPath); expect( - getMessagesSinceSeq('dc:legacy-partial-seq', 0, 'Andy').map((message) => ({ - id: message.id, - seq: message.seq, - })), + getMessagesSinceSeq('dc:legacy-partial-seq', 0, 'Andy').map( + (message) => ({ + id: message.id, + seq: message.seq, + }), + ), ).toEqual([ { id: 'legacy-existing-seq', seq: 1 }, { id: 'legacy-missing-seq', seq: 2 }, @@ -3309,7 +3311,9 @@ describe('legacy schema writes after init', () => { }); it('creates channel owner leases after init on a canonical channel_owner schema without service id columns', () => { - const tempDir = fs.mkdtempSync('/tmp/ejclaw-canonical-channel-owner-write-'); + const tempDir = fs.mkdtempSync( + '/tmp/ejclaw-canonical-channel-owner-write-', + ); const dbPath = path.join(tempDir, 'messages.db'); const legacyDb = new Database(dbPath); @@ -3594,9 +3598,15 @@ describe('work items', () => { }); expect( - getOpenWorkItem('dc:stored-service-mismatch', 'codex', CODEX_MAIN_SERVICE_ID), + getOpenWorkItem( + 'dc:stored-service-mismatch', + 'codex', + CODEX_MAIN_SERVICE_ID, + ), + ).toBeUndefined(); + expect( + getOpenWorkItemForChat('dc:stored-service-mismatch'), ).toBeUndefined(); - expect(getOpenWorkItemForChat('dc:stored-service-mismatch')).toBeUndefined(); }); it('allows a current-service open work item even when a stale-service open row already exists', () => { @@ -3611,7 +3621,9 @@ describe('work items', () => { result_payload: 'stale reviewer output', }); - expect(getOpenWorkItemForChat('dc:repro', CODEX_MAIN_SERVICE_ID)).toBeUndefined(); + expect( + getOpenWorkItemForChat('dc:repro', CODEX_MAIN_SERVICE_ID), + ).toBeUndefined(); const currentItem = createProducedWorkItem({ group_folder: 'discord_test', @@ -3624,9 +3636,9 @@ describe('work items', () => { result_payload: 'current reviewer output', }); - expect( - getOpenWorkItemForChat('dc:repro', CODEX_MAIN_SERVICE_ID)?.id, - ).toBe(currentItem.id); + expect(getOpenWorkItemForChat('dc:repro', CODEX_MAIN_SERVICE_ID)?.id).toBe( + currentItem.id, + ); }); it('backfills work item service ids during init on a canonical work_items schema without service_id columns', () => { diff --git a/src/db/legacy-rebuilds.ts b/src/db/legacy-rebuilds.ts index 863c1f5..b5b4251 100644 --- a/src/db/legacy-rebuilds.ts +++ b/src/db/legacy-rebuilds.ts @@ -1,9 +1,6 @@ import { Database } from 'bun:sqlite'; -import { - ARBITER_AGENT_TYPE, - REVIEWER_AGENT_TYPE, -} from '../config.js'; +import { ARBITER_AGENT_TYPE, REVIEWER_AGENT_TYPE } from '../config.js'; import { collectRegisteredAgentTypes, collectRegisteredAgentTypesForFolder, diff --git a/src/db/schema.ts b/src/db/schema.ts index a614aca..4f76875 100644 --- a/src/db/schema.ts +++ b/src/db/schema.ts @@ -570,22 +570,25 @@ function backfillCanonicalWorkItemServiceIds(database: Database): void { SET service_id = ? WHERE id = ?`, ); - const tx = database.transaction((workItemRows: StoredWorkItemServiceRow[]) => { - for (const row of workItemRows) { - const agentType = normalizeStoredAgentType(row.agent_type) ?? 'claude-code'; - const deliveryRole = normalizePairedRole(row.delivery_role) ?? 'owner'; - const serviceId = - (row.service_id ? normalizeServiceId(row.service_id) : null) ?? - resolveRoleServiceShadow(deliveryRole, agentType) ?? - SERVICE_SESSION_SCOPE; + const tx = database.transaction( + (workItemRows: StoredWorkItemServiceRow[]) => { + for (const row of workItemRows) { + const agentType = + normalizeStoredAgentType(row.agent_type) ?? 'claude-code'; + const deliveryRole = normalizePairedRole(row.delivery_role) ?? 'owner'; + const serviceId = + (row.service_id ? normalizeServiceId(row.service_id) : null) ?? + resolveRoleServiceShadow(deliveryRole, agentType) ?? + SERVICE_SESSION_SCOPE; - if (row.service_id === serviceId) { - continue; + if (row.service_id === serviceId) { + continue; + } + + update.run(serviceId, row.id); } - - update.run(serviceId, row.id); - } - }); + }, + ); tx(rows); } @@ -735,7 +738,10 @@ export function applySchemaMigrations( database, `ALTER TABLE work_items ADD COLUMN delivery_role TEXT`, ); - tryExecMigration(database, `ALTER TABLE work_items ADD COLUMN service_id TEXT`); + tryExecMigration( + database, + `ALTER TABLE work_items ADD COLUMN service_id TEXT`, + ); database.exec( `UPDATE service_handoffs @@ -766,7 +772,10 @@ export function applySchemaMigrations( 'reviewer_agent_type', 'arbiter_agent_type', ]) { - tryExecMigration(database, `ALTER TABLE channel_owner ADD COLUMN ${column} TEXT`); + tryExecMigration( + database, + `ALTER TABLE channel_owner ADD COLUMN ${column} TEXT`, + ); } backfillCanonicalPairedTaskServiceIds(database); @@ -1127,5 +1136,4 @@ export function applySchemaMigrations( } catch { /* columns already exist */ } - } diff --git a/src/db/work-items.ts b/src/db/work-items.ts index a356c21..be58c5e 100644 --- a/src/db/work-items.ts +++ b/src/db/work-items.ts @@ -86,7 +86,8 @@ function resolvePreferredWorkItemRole( return null; } - const inferredAgentType = inferAgentTypeFromServiceShadow(normalizedServiceId); + const inferredAgentType = + inferAgentTypeFromServiceShadow(normalizedServiceId); return inferRoleFromServiceShadow(inferredAgentType, normalizedServiceId); } @@ -131,9 +132,7 @@ export function getOpenWorkItemFromDatabase( normalizedServiceId, preferredRole, preferredRole, - ) as - | StoredWorkItemRow - | undefined; + ) as StoredWorkItemRow | undefined; return row ? hydrateWorkItemRow(row) : undefined; } diff --git a/src/message-runtime-loop.ts b/src/message-runtime-loop.ts index cff7b8a..a4536fd 100644 --- a/src/message-runtime-loop.ts +++ b/src/message-runtime-loop.ts @@ -135,10 +135,7 @@ export function recoverPendingMessages(args: { }): void { const registeredGroups = args.getRegisteredGroups(); for (const [chatJid, group] of Object.entries(registeredGroups)) { - const openWorkItem = getOpenWorkItemForChat( - chatJid, - SERVICE_SESSION_SCOPE, - ); + const openWorkItem = getOpenWorkItemForChat(chatJid, SERVICE_SESSION_SCOPE); if (openWorkItem) { logger.info( { chatJid, group: group.name, workItemId: openWorkItem.id }, diff --git a/src/message-runtime.ts b/src/message-runtime.ts index da17a40..1447f22 100644 --- a/src/message-runtime.ts +++ b/src/message-runtime.ts @@ -7,7 +7,10 @@ import { getLastBotFinalMessage, getLatestOpenPairedTaskForChat, } from './db.js'; -import { isSessionCommandSenderAllowed, SERVICE_SESSION_SCOPE } from './config.js'; +import { + isSessionCommandSenderAllowed, + SERVICE_SESSION_SCOPE, +} from './config.js'; import { GroupQueue, GroupRunContext } from './group-queue.js'; import { findChannel, @@ -480,10 +483,7 @@ export function createMessageRuntime(deps: MessageRuntimeDeps): { // Delivery retries can come from forced fallback runs whose agent_type // differs from the room owner's registered agent type. - const openWorkItem = getOpenWorkItemForChat( - chatJid, - SERVICE_SESSION_SCOPE, - ); + const openWorkItem = getOpenWorkItemForChat(chatJid, SERVICE_SESSION_SCOPE); const openWorkItemOutcome = await processOpenWorkItemDelivery({ chatJid, runId, diff --git a/src/service-routing.ts b/src/service-routing.ts index ab91de2..fe297ae 100644 --- a/src/service-routing.ts +++ b/src/service-routing.ts @@ -76,7 +76,9 @@ function normalizeLeaseRow( reviewer_agent_type: reviewerAgentType, arbiter_agent_type: arbiterAgentType, owner_service_id: - (row.owner_service_id ? normalizeServiceId(row.owner_service_id) : null) ?? + (row.owner_service_id + ? normalizeServiceId(row.owner_service_id) + : null) ?? resolveRoleServiceShadow('owner', ownerAgentType) ?? normalizeServiceId(SERVICE_ID), reviewer_service_id: