@@ -39,7 +39,7 @@ import * as Queue from "effect/Queue";
3939import * as Schema from "effect/Schema" ;
4040import * as Stream from "effect/Stream" ;
4141
42- import { ServerConfig } from "../../config.ts" ;
42+ import * as ServerConfig from "../../config.ts" ;
4343import type { OpenCode2StreamEvent } from "../../provider/opencode2/OpenCode2Client.ts" ;
4444import * as OpenCode2Server from "../../provider/opencode2/OpenCode2Server.ts" ;
4545import {
@@ -52,26 +52,7 @@ import { getModelSelectionStringOptionValue } from "@t3tools/shared/model";
5252import { providerMessageTextWithAttachmentPaths } from "../AttachmentPrompt.ts" ;
5353import * as IdAllocator from "../IdAllocator.ts" ;
5454import { makeProviderFailure } from "../ProviderFailure.ts" ;
55- import {
56- ProviderAdapterEnsureThreadError ,
57- ProviderAdapterEventStreamError ,
58- ProviderAdapterForkThreadError ,
59- ProviderAdapterInterruptError ,
60- ProviderAdapterOpenSessionError ,
61- ProviderAdapterProtocolError ,
62- ProviderAdapterReadThreadSnapshotError ,
63- ProviderAdapterResumeThreadError ,
64- ProviderAdapterRollbackThreadError ,
65- ProviderAdapterRuntimeRequestResponseError ,
66- ProviderAdapterSteerRunUnsupportedError ,
67- ProviderAdapterTurnStartError ,
68- ProviderAdapterV2 ,
69- ProviderAdapterV2Error ,
70- type ProviderAdapterV2Event ,
71- type ProviderAdapterV2SessionRuntime ,
72- type ProviderAdapterV2Shape ,
73- type ProviderAdapterV2TurnInput ,
74- } from "../ProviderAdapter.ts" ;
55+ import * as ProviderAdapter from "../ProviderAdapter.ts" ;
7556import { turnScopedSelectionTransition } from "../ProviderSelectionTransition.ts" ;
7657import { OPENCODE_PROVIDER } from "./OpenCodeAdapterV2.ts" ;
7758import { openCodeToolTurnItem } from "./OpenCodeToolItems.ts" ;
@@ -173,7 +154,7 @@ const OpenCode2ProviderCapabilities = {
173154type EventOf < T extends OpenCodeEvent [ "type" ] > = Extract < OpenCodeEvent , { readonly type : T } > ;
174155
175156interface ActiveTurn {
176- readonly input : ProviderAdapterV2TurnInput ;
157+ readonly input : ProviderAdapter . ProviderAdapterV2TurnInput ;
177158 readonly providerTurn : OrchestrationV2ProviderTurn ;
178159 /** Open text and reasoning blocks, keyed `<assistantMessageID>:<kind>:<ordinal>`. */
179160 readonly texts : Map < string , OpenBlock > ;
@@ -214,7 +195,7 @@ interface ThreadState {
214195
215196/** One wording for every capability later layers add. */
216197const notYet = ( feature : string ) =>
217- new ProviderAdapterProtocolError ( {
198+ new ProviderAdapter . ProviderAdapterProtocolError ( {
218199 driver : OPENCODE_PROVIDER ,
219200 detail : `OpenCode 2 ${ feature } is not supported yet` ,
220201 } ) ;
@@ -229,7 +210,7 @@ const sessionIdOf = (providerThread: OrchestrationV2ProviderThread) => {
229210 const nativeId = providerThread . nativeThreadRef ?. nativeId ;
230211 return nativeId === undefined || nativeId === null
231212 ? Effect . fail (
232- new ProviderAdapterProtocolError ( {
213+ new ProviderAdapter . ProviderAdapterProtocolError ( {
233214 driver : OPENCODE_PROVIDER ,
234215 detail : `Provider thread ${ providerThread . id } has no OpenCode session` ,
235216 } ) ,
@@ -294,14 +275,14 @@ const deliver = <E>(answer: Effect.Effect<void, E>) =>
294275type ModelRef = ReturnType < typeof Model . Ref . make > ;
295276
296277// Errors already in the adapter channel keep their tag; only lower-level ones are wrapped.
297- const isProviderAdapterError = Schema . is ( ProviderAdapterV2Error ) ;
278+ const isProviderAdapterError = Schema . is ( ProviderAdapter . ProviderAdapterV2Error ) ;
298279
299280/**
300281 * The model OpenCode should run for a `provider/model` slug and its reasoning
301282 * variant, or undefined for any other slug: sending none would run OpenCode's
302283 * default while T3 records the requested model.
303284 */
304- const modelRef = ( selection : ProviderAdapterV2TurnInput [ "modelSelection" ] ) => {
285+ const modelRef = ( selection : ProviderAdapter . ProviderAdapterV2TurnInput [ "modelSelection" ] ) => {
305286 const parsed = parseOpenCodeModelSlug ( selection . model ) ;
306287 if ( parsed === null ) return undefined ;
307288 const variant = getModelSelectionStringOptionValue ( selection , "variant" ) ;
@@ -325,11 +306,11 @@ const sameModel = (left: ModelRef, right: ModelRef | undefined) =>
325306export const make = Effect . fn ( "OpenCode2Adapter.make" ) ( function * ( instanceId : ProviderInstanceId ) {
326307 const server = yield * OpenCode2Server . OpenCode2Server ;
327308 const idAllocator = yield * IdAllocator . IdAllocatorV2 ;
328- const serverConfig = yield * ServerConfig ;
309+ const serverConfig = yield * ServerConfig . ServerConfig ;
329310 const driver = OPENCODE_PROVIDER ;
330311
331312 const openSession = Effect . fn ( "OpenCode2Adapter.openSession" ) ( function * (
332- input : Parameters < ProviderAdapterV2Shape [ "openSession" ] > [ 0 ] ,
313+ input : Parameters < ProviderAdapter . ProviderAdapterV2Shape [ "openSession" ] > [ 0 ] ,
333314 connection : OpenCode2Server . OpenCode2Connection ,
334315 ) {
335316 const { client } = connection ;
@@ -346,9 +327,10 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
346327 updatedAt : now ,
347328 lastError : null ,
348329 } ;
349- const events = yield * Queue . unbounded < ProviderAdapterV2Event , Cause . Done > ( ) ;
330+ const events = yield * Queue . unbounded < ProviderAdapter . ProviderAdapterV2Event , Cause . Done > ( ) ;
350331 const threads = new Map < string , ThreadState > ( ) ;
351- const emit = ( event : ProviderAdapterV2Event ) => Queue . offer ( events , event ) . pipe ( Effect . asVoid ) ;
332+ const emit = ( event : ProviderAdapter . ProviderAdapterV2Event ) =>
333+ Queue . offer ( events , event ) . pipe ( Effect . asVoid ) ;
352334
353335 const setSessionStatus = (
354336 status : OrchestrationV2ProviderSession [ "status" ] ,
@@ -820,7 +802,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
820802 return providerThread ;
821803 } ;
822804
823- const prompt = ( turnInput : ProviderAdapterV2TurnInput ) => {
805+ const prompt = ( turnInput : ProviderAdapter . ProviderAdapterV2TurnInput ) => {
824806 const text = providerMessageTextWithAttachmentPaths ( {
825807 text : turnInput . message . text ,
826808 attachments : turnInput . message . attachments ,
@@ -833,7 +815,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
833815 return `${ text } \n\n${ instructions } ` ;
834816 } ;
835817
836- const runtime : ProviderAdapterV2SessionRuntime = {
818+ const runtime : ProviderAdapter . ProviderAdapterV2SessionRuntime = {
837819 instanceId,
838820 driver,
839821 providerSessionId : input . providerSessionId ,
@@ -853,7 +835,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
853835 }
854836 const model = modelRef ( threadInput . modelSelection ) ;
855837 if ( model === undefined ) {
856- return yield * new ProviderAdapterProtocolError ( {
838+ return yield * new ProviderAdapter . ProviderAdapterProtocolError ( {
857839 driver : OPENCODE_PROVIDER ,
858840 detail : malformedModel ( threadInput . modelSelection . model ) ,
859841 } ) ;
@@ -890,7 +872,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
890872 Effect . mapError ( ( cause ) =>
891873 isProviderAdapterError ( cause )
892874 ? cause
893- : new ProviderAdapterEnsureThreadError ( {
875+ : new ProviderAdapter . ProviderAdapterEnsureThreadError ( {
894876 driver,
895877 threadId : threadInput . threadId ,
896878 cause,
@@ -933,7 +915,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
933915 Effect . mapError ( ( cause ) =>
934916 isProviderAdapterError ( cause )
935917 ? cause
936- : new ProviderAdapterResumeThreadError ( {
918+ : new ProviderAdapter . ProviderAdapterResumeThreadError ( {
937919 driver,
938920 providerSessionId : input . providerSessionId ,
939921 providerThreadId : threadInput . providerThread . id ,
@@ -946,13 +928,13 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
946928 const sessionId = yield * sessionIdOf ( turnInput . providerThread ) ;
947929 const state = threads . get ( sessionId ) ;
948930 if ( state === undefined ) {
949- return yield * new ProviderAdapterProtocolError ( {
931+ return yield * new ProviderAdapter . ProviderAdapterProtocolError ( {
950932 driver : OPENCODE_PROVIDER ,
951933 detail : `OpenCode session ${ sessionId } is not registered` ,
952934 } ) ;
953935 }
954936 if ( state . active !== undefined ) {
955- return yield * new ProviderAdapterProtocolError ( {
937+ return yield * new ProviderAdapter . ProviderAdapterProtocolError ( {
956938 driver : OPENCODE_PROVIDER ,
957939 detail : `OpenCode session ${ sessionId } already has an active turn` ,
958940 } ) ;
@@ -1004,7 +986,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
1004986 } ;
1005987 // No stream is left to end this turn, so it must not start.
1006988 if ( streamFailure !== undefined ) {
1007- return yield * new ProviderAdapterEventStreamError ( {
989+ return yield * new ProviderAdapter . ProviderAdapterEventStreamError ( {
1008990 driver,
1009991 providerSessionId : input . providerSessionId ,
1010992 cause : streamFailure ,
@@ -1099,7 +1081,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
10991081 Effect . mapError ( ( cause ) =>
11001082 isProviderAdapterError ( cause )
11011083 ? cause
1102- : new ProviderAdapterTurnStartError ( {
1084+ : new ProviderAdapter . ProviderAdapterTurnStartError ( {
11031085 driver,
11041086 threadId : turnInput . threadId ,
11051087 providerThreadId : turnInput . providerThread . id ,
@@ -1110,7 +1092,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
11101092 ) ,
11111093 steerTurn : ( steerInput ) =>
11121094 Effect . fail (
1113- new ProviderAdapterSteerRunUnsupportedError ( {
1095+ new ProviderAdapter . ProviderAdapterSteerRunUnsupportedError ( {
11141096 driver,
11151097 providerThreadId : steerInput . providerThread . id ,
11161098 } ) ,
@@ -1150,7 +1132,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
11501132 // is on the way), the turn is still open and nothing stopped.
11511133 if ( ! reply . value . interrupted && state . active === turn ) {
11521134 turn . interrupted = false ;
1153- return yield * new ProviderAdapterProtocolError ( {
1135+ return yield * new ProviderAdapter . ProviderAdapterProtocolError ( {
11541136 driver : OPENCODE_PROVIDER ,
11551137 detail : `OpenCode session ${ sessionId } had nothing running to stop` ,
11561138 } ) ;
@@ -1159,7 +1141,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
11591141 Effect . mapError ( ( cause ) =>
11601142 isProviderAdapterError ( cause )
11611143 ? cause
1162- : new ProviderAdapterInterruptError ( {
1144+ : new ProviderAdapter . ProviderAdapterInterruptError ( {
11631145 driver,
11641146 providerThreadId : interruptInput . providerThread . id ,
11651147 providerTurnId : interruptInput . providerTurnId ,
@@ -1180,23 +1162,23 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
11801162 } ) ,
11811163 respondToRuntimeRequest : ( requestInput ) =>
11821164 Effect . fail (
1183- new ProviderAdapterRuntimeRequestResponseError ( {
1165+ new ProviderAdapter . ProviderAdapterRuntimeRequestResponseError ( {
11841166 driver,
11851167 requestId : requestInput . requestId ,
11861168 cause : notYet ( "answering runtime requests" ) ,
11871169 } ) ,
11881170 ) ,
11891171 readThreadSnapshot : ( { providerThread } ) =>
11901172 Effect . fail (
1191- new ProviderAdapterReadThreadSnapshotError ( {
1173+ new ProviderAdapter . ProviderAdapterReadThreadSnapshotError ( {
11921174 driver,
11931175 providerThreadId : providerThread . id ,
11941176 cause : notYet ( "history snapshots" ) ,
11951177 } ) ,
11961178 ) ,
11971179 rollbackThread : ( rollbackInput ) =>
11981180 Effect . fail (
1199- new ProviderAdapterRollbackThreadError ( {
1181+ new ProviderAdapter . ProviderAdapterRollbackThreadError ( {
12001182 driver,
12011183 providerThreadId : rollbackInput . providerThread . id ,
12021184 checkpointId : rollbackInput . target . checkpointId ,
@@ -1205,7 +1187,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
12051187 ) ,
12061188 forkThread : ( forkInput ) =>
12071189 Effect . fail (
1208- new ProviderAdapterForkThreadError ( {
1190+ new ProviderAdapter . ProviderAdapterForkThreadError ( {
12091191 driver,
12101192 providerThreadId : forkInput . sourceProviderThread . id ,
12111193 cause : notYet ( "fork" ) ,
@@ -1215,7 +1197,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
12151197 return runtime ;
12161198 } ) ;
12171199
1218- return ProviderAdapterV2 . of ( {
1200+ return ProviderAdapter . ProviderAdapterV2 . of ( {
12191201 instanceId,
12201202 driver,
12211203 getCapabilities : ( ) => Effect . succeed ( OpenCode2ProviderCapabilities ) ,
@@ -1240,7 +1222,7 @@ export const make = Effect.fn("OpenCode2Adapter.make")(function* (instanceId: Pr
12401222 } ) . pipe (
12411223 Effect . mapError (
12421224 ( cause ) =>
1243- new ProviderAdapterOpenSessionError ( {
1225+ new ProviderAdapter . ProviderAdapterOpenSessionError ( {
12441226 driver,
12451227 providerSessionId : input . providerSessionId ,
12461228 cause,
0 commit comments