11import protobuf from 'protobufjs' ;
22import Long from 'long' ;
3- import { type CodiumCompletionResult } from " @srcbook/shared" ;
3+ import { type CodiumCompletionResult } from ' @srcbook/shared' ;
44
5- import languageServerProto from " ./language-server-proto" ;
5+ import languageServerProto from ' ./language-server-proto' ;
66
77// NOTE: this EDITOR_API_KEY value was just included as a raw string in
88// @codeium /react-code-editor. This seems to not be a secret?
@@ -14,12 +14,12 @@ export async function runCodiumAiAutocomplete(
1414 cursorOffset : number ,
1515) : Promise < CodiumCompletionResult > {
1616 const protos = protobuf . Root . fromJSON ( languageServerProto as protobuf . INamespace ) ;
17- const GetCompletionsRequest = protos . lookupType ( " exa.language_server_pb.GetCompletionsRequest" ) ;
18- const Metadata = protos . lookupType ( " exa.codeium_common_pb.Metadata" ) ;
19- const DocumentInfo = protos . lookupType ( " exa.language_server_pb.Document" ) ;
20- const EditorOptions = protos . lookupType ( " exa.codeium_common_pb.EditorOptions" ) ;
21- const Language = protos . lookupEnum ( " exa.codeium_common_pb.Language" ) ;
22- const GetCompletionsResponse = protos . lookupType ( " exa.language_server_pb.GetCompletionsResponse" ) ;
17+ const GetCompletionsRequest = protos . lookupType ( ' exa.language_server_pb.GetCompletionsRequest' ) ;
18+ const Metadata = protos . lookupType ( ' exa.codeium_common_pb.Metadata' ) ;
19+ const DocumentInfo = protos . lookupType ( ' exa.language_server_pb.Document' ) ;
20+ const EditorOptions = protos . lookupType ( ' exa.codeium_common_pb.EditorOptions' ) ;
21+ const Language = protos . lookupEnum ( ' exa.codeium_common_pb.Language' ) ;
22+ const GetCompletionsResponse = protos . lookupType ( ' exa.language_server_pb.GetCompletionsResponse' ) ;
2323
2424 const sessionId = `react-editor-${ crypto . randomUUID ( ) } ` ;
2525 const apiKey = optionalApiKey ?? EDITOR_API_KEY ;
@@ -37,13 +37,13 @@ export async function runCodiumAiAutocomplete(
3737 document : DocumentInfo . create ( {
3838 text : source ,
3939 editorLanguage : 'javascript' ,
40- language : Language . getOption ( " JAVASCRIPT" ) ,
40+ language : Language . getOption ( ' JAVASCRIPT' ) ,
4141 cursorOffset : Long . fromValue ( cursorOffset ) ,
4242 lineEnding : '\n' ,
4343 } ) ,
4444 editorOptions : EditorOptions . create ( {
4545 tabSize : Long . fromValue ( 4 ) ,
46- insertSpaces : true
46+ insertSpaces : true ,
4747 } ) ,
4848 } ;
4949
@@ -55,15 +55,18 @@ export async function runCodiumAiAutocomplete(
5555 const requestData = GetCompletionsRequest . create ( payload ) ;
5656 const buffer = GetCompletionsRequest . encode ( requestData ) . finish ( ) ;
5757
58- const response = await fetch ( 'https://web-backend.codeium.com/exa.language_server_pb.LanguageServerService/GetCompletions' , {
59- method : 'POST' ,
60- body : buffer ,
61- headers : {
62- 'Connect-Protocol-Version' : '1' ,
63- 'Content-Type' : 'application/proto' ,
64- Authorization : `Basic ${ apiKey } -${ sessionId } ` ,
58+ const response = await fetch (
59+ 'https://web-backend.codeium.com/exa.language_server_pb.LanguageServerService/GetCompletions' ,
60+ {
61+ method : 'POST' ,
62+ body : buffer ,
63+ headers : {
64+ 'Connect-Protocol-Version' : '1' ,
65+ 'Content-Type' : 'application/proto' ,
66+ Authorization : `Basic ${ apiKey } -${ sessionId } ` ,
67+ } ,
6568 } ,
66- } ) ;
69+ ) ;
6770 // console.log('RESPONSE:', response.status);
6871
6972 const responseBodyBytes = new Uint8Array ( await response . arrayBuffer ( ) ) ;
0 commit comments