@@ -76,42 +76,51 @@ async function main() {
7676 const triple = platformTriple ( ) ;
7777 const ext = fileExt ( ) ;
7878 const version = pkg . version . startsWith ( 'v' ) ? pkg . version : `v${ pkg . version } ` ;
79- const repo = repoFromPackage ( ) ;
79+ const resolved = repoFromPackage ( ) ;
80+ const candidates = Array . from (
81+ new Set ( [
82+ process . env . SQLITE3_VEC_REPO ,
83+ resolved ,
84+ 'dao-xyz/sqlite3-vec' , // new canonical repo name
85+ 'dao-xyz/sqlite-wasm-vec' , // legacy fallback
86+ ] . filter ( Boolean ) ) ,
87+ ) ;
8088 const asset = `sqlite-vec-${ triple } .${ ext } ` ;
81- const base = `https://github.com/${ repo } /releases/download/${ version } ` ;
82- const url = `${ base } /${ asset } ` ;
83- const sumUrl = `${ base } /${ asset } .sha256` ;
8489 const dest = path . join ( root , 'dist' , 'native' , asset ) ;
8590 const sumDest = `${ dest } .sha256` ;
8691
8792 console . log ( `[sqlite3-vec] Fetching prebuilt: ${ asset } ` ) ;
88- try {
89- await download ( url , dest ) ;
90- console . log ( '[sqlite3-vec] Downloaded:' , dest ) ;
91- // Try checksum verify if available
93+ console . log ( `[sqlite3-vec] Version: ${ version } ` ) ;
94+ let lastErr ;
95+ for ( const repo of candidates ) {
96+ const base = `https://github.com/${ repo } /releases/download/${ version } ` ;
97+ const url = `${ base } /${ asset } ` ;
98+ const sumUrl = `${ base } /${ asset } .sha256` ;
99+ console . log ( `[sqlite3-vec] Trying repo: ${ repo } ` ) ;
92100 try {
93- await download ( sumUrl , sumDest ) ;
94- const data = fs . readFileSync ( dest ) ;
95- const sumLine = fs . readFileSync ( sumDest , 'utf8' ) . trim ( ) ;
96- const expected = ( sumLine . split ( / \s + / ) [ 0 ] || '' ) . toLowerCase ( ) ;
97- const crypto = require ( 'crypto' ) ;
98- const actual = crypto . createHash ( 'sha256' ) . update ( data ) . digest ( 'hex' ) ;
99- if ( expected && expected !== actual ) throw new Error ( 'Checksum mismatch' ) ;
100- console . log ( '[sqlite3-vec] Checksum OK' ) ;
101+ await download ( url , dest ) ;
102+ console . log ( '[sqlite3-vec] Downloaded:' , dest ) ;
103+ try {
104+ await download ( sumUrl , sumDest ) ;
105+ const data = fs . readFileSync ( dest ) ;
106+ const sumLine = fs . readFileSync ( sumDest , 'utf8' ) . trim ( ) ;
107+ const expected = ( sumLine . split ( / \s + / ) [ 0 ] || '' ) . toLowerCase ( ) ;
108+ const crypto = require ( 'crypto' ) ;
109+ const actual = crypto . createHash ( 'sha256' ) . update ( data ) . digest ( 'hex' ) ;
110+ if ( expected && expected !== actual ) throw new Error ( 'Checksum mismatch' ) ;
111+ console . log ( '[sqlite3-vec] Checksum OK' ) ;
112+ } catch ( e ) {
113+ console . warn ( '[sqlite3-vec] Checksum not verified:' , e ?. message || String ( e ) ) ;
114+ }
115+ process . exit ( 0 ) ;
101116 } catch ( e ) {
102- console . warn (
103- '[sqlite3-vec] Checksum not verified:' ,
104- e && e . message ? e . message : String ( e ) ,
105- ) ;
117+ lastErr = e ;
118+ console . warn ( `[sqlite3-vec] Download failed from ${ repo } :` , e ?. message || String ( e ) ) ;
106119 }
107- process . exit ( 0 ) ;
108- } catch ( e ) {
109- console . warn (
110- '[sqlite3-vec] Download failed:' ,
111- e && e . message ? e . message : String ( e ) ,
112- ) ;
113- process . exit ( 1 ) ;
114120 }
121+ console . warn ( '[sqlite3-vec] All download attempts failed. Tried repos:' , candidates . join ( ', ' ) ) ;
122+ console . warn ( '[sqlite3-vec] You can override repo via SQLITE3_VEC_REPO=owner/repo' ) ;
123+ process . exit ( 1 ) ;
115124}
116125
117126main ( ) ;
0 commit comments