@@ -18,7 +18,12 @@ import {
1818 stringFlag ,
1919} from "./cli-support.js" ;
2020import { startDevServer } from "./commands/dev.js" ;
21- import { handleEnvironmentCommand } from "./commands/environment.js" ;
21+ import {
22+ assertDevServerNotRunning ,
23+ cacheForRead ,
24+ handleEnvironmentCommand ,
25+ isDevEnvironment ,
26+ } from "./commands/environment.js" ;
2227import { objectStoreForConfig } from "./object-store.js" ;
2328import { manualTraceResourceSpans } from "./otel-trace.js" ;
2429import {
@@ -36,7 +41,7 @@ export async function main(argv = process.argv): Promise<void> {
3641 return handleEnvironmentCommand ( action , rest , parsed ) ;
3742 if ( parsed . flags . help || parsed . flags . h ) return printHelp ( ) ;
3843 if ( resource === "dev" ) {
39- return startDevServer ( parsed ) ;
44+ return await startDevServer ( parsed ) ;
4045 }
4146 const config = configFromEnv ( {
4247 envName : stringFlag ( parsed , "env" ) ,
@@ -49,6 +54,15 @@ export async function main(argv = process.argv): Promise<void> {
4954 const json = Boolean ( parsed . flags . json ) ;
5055 logImplicitEnvironment ( parsed , config , json ) ;
5156 if ( resource === "sync" ) {
57+ if ( isDevEnvironment ( config ) ) {
58+ return print (
59+ {
60+ skipped : true ,
61+ reason : "dev environment is written directly by agentpond dev" ,
62+ } ,
63+ json ,
64+ ) ;
65+ }
5266 const db = new AgentPondCache ( config . dbPath ) ;
5367 const result = await db . syncFromStore ( {
5468 store : objectStoreForConfig ( config ) ,
@@ -61,19 +75,19 @@ export async function main(argv = process.argv): Promise<void> {
6175 if ( resource === "sql" ) {
6276 const query = rest . length > 0 ? [ action , ...rest ] . join ( " " ) : action ;
6377 if ( ! query ) throw new CliError ( "Missing SQL query" ) ;
64- const db = new AgentPondCache ( config . dbPath ) ;
78+ const db = cacheForRead ( config ) ;
6579 const rows = await db . query ( query ) ;
6680 await db . close ( ) ;
6781 return print ( rows , json ) ;
6882 }
6983 if ( resource === "scores" && action === "create" ) {
70- return createScore ( parsed , config , json ) ;
84+ return await createScore ( parsed , config , json ) ;
7185 }
7286 if ( resource === "traces" && action === "create" ) {
73- return createTrace ( parsed , config , json ) ;
87+ return await createTrace ( parsed , config , json ) ;
7488 }
7589
76- const db = new AgentPondCache ( config . dbPath ) ;
90+ const db = cacheForRead ( config ) ;
7791 const rows = await runReadCommand ( db , resource , action , rest , parsed ) ;
7892 await db . close ( ) ;
7993 return print ( rows , json ) ;
@@ -98,6 +112,7 @@ async function createScore(
98112 config : ReturnType < typeof configFromEnv > ,
99113 json : boolean ,
100114) : Promise < void > {
115+ assertDevServerNotRunning ( config ) ;
101116 const name = requiredFlag ( parsed , "name" ) ;
102117 const value = requiredFlag ( parsed , "value" ) ;
103118 const source = stringFlag ( parsed , "source" ) ?? "API" ;
@@ -148,6 +163,7 @@ async function createTrace(
148163 config : ReturnType < typeof configFromEnv > ,
149164 json : boolean ,
150165) : Promise < void > {
166+ assertDevServerNotRunning ( config ) ;
151167 const now = new Date ( ) . toISOString ( ) ;
152168 const traceId = stringFlag ( parsed , "id" ) ?? createOtelTraceId ( ) ;
153169 const store = objectStoreForConfig ( config ) ;
0 commit comments