@@ -34,7 +34,6 @@ import * as Layer from "effect/Layer";
3434import * as Schema from "effect/Schema" ;
3535import * as Tracer from "effect/Tracer" ;
3636import * as SqlClient from "effect/sql/SqlClient" ;
37- import * as Statement from "effect/sql/Statement" ;
3837import { projectThreadAwarenessV2 } from "@t3tools/shared/agentAwareness" ;
3938
4039import * as SqlitePersistence from "../persistence/Sqlite.ts" ;
@@ -2127,39 +2126,15 @@ it.layer(layerTest)("ProjectionStoreV2", (it) => {
21272126 ) ;
21282127 yield * insertMessageItem ( "null-id" , threadId , - 2 , null ) ;
21292128 yield * insertMessageItem ( "missing-id" , threadId , - 3 , undefined ) ;
2130- const ordinalReads : Array < readonly [ string , ReadonlyArray < unknown > ] > = [ ] ;
2131- const recordOrdinalReads : Statement . Transformer = ( statement ) => {
2132- const compiled = statement . compile ( ) ;
2133- if ( compiled [ 0 ] . includes ( "MIN(ordinal) AS ordinal" ) ) ordinalReads . push ( compiled ) ;
2134- return Effect . succeed ( statement ) ;
2135- } ;
21362129 const readMessageIds = ( filter ?: ProjectionStore . ProjectionRecordFilter ) =>
2137- projectionStore . getThreadRecords ( threadId , [ "messages" ] , filter ) . pipe (
2138- Effect . map ( ( { messages } ) => messages . map ( ( message ) => message . id ) ) ,
2139- Effect . provideService ( Statement . CurrentTransformer , recordOrdinalReads ) ,
2140- ) ;
2141- // Re-run each recorded ordinal read to count the groups it produced.
2142- const takeOrdinalGroups = ( ) =>
2143- Effect . forEach ( ordinalReads . splice ( 0 ) , ( [ query , params ] ) =>
2144- sql
2145- . unsafe < { readonly message_id : string | null ; readonly ordinal : number } > ( query , params )
2146- . pipe (
2147- Effect . map ( ( rows ) =>
2148- rows . toSorted ( ( left , right ) =>
2149- String ( left . message_id ) . localeCompare ( String ( right . message_id ) ) ,
2150- ) ,
2151- ) ,
2152- ) ,
2153- ) ;
2130+ projectionStore
2131+ . getThreadRecords ( threadId , [ "messages" ] , filter )
2132+ . pipe ( Effect . map ( ( { messages } ) => messages . map ( ( message ) => message . id ) ) ) ;
21542133 assert . deepEqual ( yield * readMessageIds ( ) , [ lastMessageId , firstMessageId ] ) ;
2155- assert . equal ( ordinalReads . length , 1 ) ;
2156- const unfilteredOrdinalRead = ordinalReads . splice ( 0 ) [ 0 ] ! ;
2157- assert . equal ( unfilteredOrdinalRead [ 0 ] . includes ( "json_each" ) , false ) ;
21582134 assert . deepEqual ( yield * readMessageIds ( { messageRoles : [ "user" , "assistant" ] } ) , [
21592135 lastMessageId ,
21602136 firstMessageId ,
21612137 ] ) ;
2162- assert . deepEqual ( ordinalReads . splice ( 0 ) , [ unfilteredOrdinalRead ] ) ;
21632138 for ( const filter of [
21642139 {
21652140 messageIds : [
@@ -2177,17 +2152,9 @@ it.layer(layerTest)("ProjectionStoreV2", (it) => {
21772152 } ,
21782153 ] ) {
21792154 assert . deepEqual ( yield * readMessageIds ( filter ) , [ lastMessageId , firstMessageId ] ) ;
2180- assert . deepEqual ( yield * takeOrdinalGroups ( ) , [
2181- [
2182- { message_id : firstMessageId , ordinal : 1 } ,
2183- { message_id : lastMessageId , ordinal : 0 } ,
2184- ] ,
2185- ] ) ;
21862155 }
21872156 assert . deepEqual ( yield * readMessageIds ( { messageIds : [ ] } ) , [ ] ) ;
2188- assert . deepEqual ( yield * takeOrdinalGroups ( ) , [ ] ) ;
21892157 assert . deepEqual ( yield * readMessageIds ( { messageIds : [ firstMessageId ] } ) , [ firstMessageId ] ) ;
2190- assert . deepEqual ( yield * takeOrdinalGroups ( ) , [ ] ) ;
21912158 yield * sql `
21922159 DELETE FROM orchestration_v2_projection_turn_items
21932160 WHERE turn_item_id LIKE 'turn-item:bounded-sql-history:ordinal-%'
0 commit comments