@@ -23,6 +23,7 @@ import { config } from "@dotenvx/dotenvx";
2323import axios from "axios" ;
2424import * as fs from "node:fs" ;
2525import * as path from "node:path" ;
26+ import WebSocket from "ws" ;
2627
2728// Load environment variables from .env.local in the script directory
2829const envPath = path . resolve ( __dirname , ".env.local" ) ;
@@ -111,14 +112,16 @@ async function main() {
111112 throw new Error ( `No bid found from provider ${ targetProvider } ` ) ;
112113 }
113114
115+ const { provider, gseq, oseq } = selectedBid . bid . bid_id ;
116+
114117 const body = {
115118 manifest,
116119 leases : [
117120 {
118121 dseq,
119- gseq : selectedBid . bid . bid_id . gseq ,
120- oseq : selectedBid . bid . bid_id . oseq ,
121- provider : selectedBid . bid . bid_id . provider
122+ gseq,
123+ oseq,
124+ provider
122125 }
123126 ]
124127 } ;
@@ -188,7 +191,40 @@ async function main() {
188191
189192 console . log ( "Deployment details:" , JSON . stringify ( deploymentResponse . data . data , null , 2 ) ) ;
190193
191- // 7. Close deployment
194+ // 7. Stream logs from provider
195+ const providerResponse = await api . get ( `/v1/providers/${ provider } ` , {
196+ headers : {
197+ "x-api-key" : apiKey
198+ }
199+ } ) ;
200+ const { hostUri } = providerResponse . data ;
201+
202+ const websocket = new WebSocket ( `${ API_URL } /v1/ws` , {
203+ headers : {
204+ "x-api-key" : apiKey
205+ }
206+ } ) ;
207+
208+ websocket . on ( "message" , message => {
209+ console . log ( "WebSocket message received:" , message . toString ( ) ) ;
210+ } ) ;
211+
212+ websocket . on ( "open" , ( ) => {
213+ console . log ( "WebSocket connected, sending message to stream logs" ) ;
214+ websocket . send (
215+ JSON . stringify ( {
216+ type : "websocket" ,
217+ providerAddress : provider ,
218+ url : `${ hostUri } /lease/${ dseq } /${ gseq } /${ oseq } /logs` ,
219+ chainNetwork : "sandbox"
220+ } )
221+ ) ;
222+ } ) ;
223+
224+ // wait for 5 seconds before closing the deployment
225+ await new Promise ( resolve => setTimeout ( resolve , 5000 ) ) ;
226+
227+ // 8. Close deployment
192228 console . log ( "Closing deployment..." ) ;
193229 const closeResponse = await api . delete ( `/v1/deployments/${ dseq } ` , {
194230 headers : {
0 commit comments