Delete accidentally committed file
This commit is contained in:
parent
6750a93cdb
commit
b75ca46565
|
@ -1,195 +0,0 @@
|
|||
const sendRequestBing = async (messages: Message[]): Promise<Response> => {
|
||||
const conversation = await (
|
||||
await fetch("https://www.bing.com/turing/conversation/create", {
|
||||
credentials: "include",
|
||||
})
|
||||
).json();
|
||||
|
||||
return await new Promise((resolve, reject) => {
|
||||
const text = messages[messages.length - 1].content;
|
||||
const invocationId = "0";
|
||||
|
||||
const terminalChar = "";
|
||||
|
||||
const result = {
|
||||
author: "bot",
|
||||
id: crypto.randomUUID(),
|
||||
conversationId: conversation.conversationId,
|
||||
clientId: conversation.clientId,
|
||||
conversationSignature: conversation.conversationSignature,
|
||||
invocationId: `${parseInt(invocationId, 10) + 1}`,
|
||||
text: "",
|
||||
detail: "",
|
||||
conversationExpiryTime: null,
|
||||
};
|
||||
|
||||
const ws = new WebSocket("wss://sydney.bing.com/sydney/ChatHub");
|
||||
ws.onopen = () => {
|
||||
ws.send(`{"protocol":"json","version":1}${terminalChar}`);
|
||||
};
|
||||
|
||||
ws.onmessage = (event) => {
|
||||
const objects = event.data.toString().split(terminalChar);
|
||||
const messages = objects
|
||||
.map((object) => {
|
||||
try {
|
||||
return JSON.parse(object);
|
||||
} catch (_) {
|
||||
return object;
|
||||
}
|
||||
})
|
||||
.filter(Boolean);
|
||||
|
||||
if (!messages.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Initial message
|
||||
if (messages.length === 1 && Object.keys(messages[0]).length === 0) {
|
||||
ws.send(`{"type":6}${terminalChar}`);
|
||||
|
||||
const params = {
|
||||
arguments: [
|
||||
{
|
||||
source: "cib",
|
||||
optionsSets: [
|
||||
"nlu_direct_response_filter",
|
||||
"deepleo",
|
||||
"disable_emoji_spoken_text",
|
||||
"responsible_ai_policy_235",
|
||||
"enablemm",
|
||||
"harmonyv3",
|
||||
"h3ads",
|
||||
"wlthrottle",
|
||||
"cpcttl7d",
|
||||
"blocklistv2",
|
||||
"h3toppfp2",
|
||||
"dv3sugg",
|
||||
],
|
||||
allowedMessageTypes: [
|
||||
"Chat",
|
||||
"InternalSearchQuery",
|
||||
"InternalSearchResult",
|
||||
"Disengaged",
|
||||
"InternalLoaderMessage",
|
||||
"RenderCardRequest",
|
||||
"AdsQuery",
|
||||
"SemanticSerp",
|
||||
"GenerateContentQuery",
|
||||
"SearchQuery",
|
||||
],
|
||||
sliceIds: [
|
||||
"perfsvgopt",
|
||||
"228h3ads",
|
||||
"h3ads",
|
||||
"0310wlthrot",
|
||||
"307retryscs0",
|
||||
"307retryscs0",
|
||||
"cache0307",
|
||||
"ssoverlap50",
|
||||
"ssplon",
|
||||
"sssreduce",
|
||||
"sswebtop2",
|
||||
"302blocklist",
|
||||
"308disbings0",
|
||||
"311h3toppfp2",
|
||||
],
|
||||
isStartOfSession: true,
|
||||
message: {
|
||||
locale: "en-US",
|
||||
market: "en-US",
|
||||
region: "US",
|
||||
author: "user",
|
||||
inputMethod: "Keyboard",
|
||||
text,
|
||||
},
|
||||
conversationSignature: conversation.conversationSignature,
|
||||
participant: {
|
||||
id: conversation.clientId,
|
||||
},
|
||||
conversationId: conversation.conversationId,
|
||||
},
|
||||
],
|
||||
invocationId,
|
||||
target: "chat",
|
||||
type: 4,
|
||||
};
|
||||
|
||||
ws.send(`${JSON.stringify(params)}${terminalChar}`);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
for (const message of messages) {
|
||||
if (message.type === 1) {
|
||||
// Message in progress
|
||||
const msg = message.arguments[0].messages[0];
|
||||
|
||||
if (!msg.messageType) {
|
||||
result.author = msg.author;
|
||||
result.text = msg.text;
|
||||
result.detail = msg;
|
||||
|
||||
// Write to stdout
|
||||
console.log(`\r${result.text}`);
|
||||
}
|
||||
} else if (message.type === 2) {
|
||||
// Message complete
|
||||
if (message.item.result.error) {
|
||||
throw new Error(`Error message: ${message.item.result.error}`);
|
||||
}
|
||||
|
||||
const validMessages = message.item.messages?.filter((m) => !m.messageType);
|
||||
const lastMessage = validMessages?.[validMessages?.length - 1];
|
||||
|
||||
if (lastMessage) {
|
||||
result.conversationId = message.item.conversationId;
|
||||
result.conversationExpiryTime = message.item.conversationExpiryTime;
|
||||
|
||||
result.author = lastMessage.author;
|
||||
result.text = lastMessage.text;
|
||||
result.detail = lastMessage;
|
||||
|
||||
//resolve(result);
|
||||
}
|
||||
} else if (message.type === 3) {
|
||||
// Conversation complete
|
||||
const response: Response = {
|
||||
id: result.id,
|
||||
object: "response",
|
||||
created: 1,
|
||||
choices: [
|
||||
{
|
||||
index: 0,
|
||||
message: {
|
||||
role: "assistant",
|
||||
content: result.text,
|
||||
},
|
||||
finish_reason: "stop",
|
||||
},
|
||||
],
|
||||
usage: null,
|
||||
error: null,
|
||||
};
|
||||
resolve(response);
|
||||
|
||||
ws.close();
|
||||
return;
|
||||
} else {
|
||||
// TODO: handle other message types
|
||||
// these may be for displaying "adaptive cards"
|
||||
console.warn("Unexpected message type", message.type, message);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
ws.onerror = (error) => {
|
||||
console.log("WebSocket error:", error);
|
||||
reject(error);
|
||||
};
|
||||
|
||||
ws.onclose = (_event) => {
|
||||
console.log("WebSocket closed");
|
||||
};
|
||||
});
|
||||
};
|
Loading…
Reference in New Issue