Skip to content

Commit 2205e13

Browse files
sestinjNithishvbEC2 Default UserTheLapinMalinjustinmilner1
authored
⏩ Preview (#1171)
* ✨ shared indexing * 🎨 indexing * 🧑‍💻 npm i --no-save in prepackage.js * fix issue with /edit not acknowledging highlighted code after retrying * 🚚 rename addLogs to addPromptCompletionPair * Bedrock chat completion, Anthropic models * 🩹 add filter for midline imports/top-level keywords and encoding header * 🩹 add .t. to stop words * 🔥 Improved Ctrl/Cmd+I (#1023) * ⚡️ improved diff streaming algo * 🎨 better messaging/formatting for further cmd/ctrl+I instructions * ⚡️ more reliably filter out unwanted explanations * 🚸 better follow up edits * 💄 accept/reject diffs block-by-block * ✨ cmd/ctrl+z to reject diff * 🚚 rename variables * 💄 allow switching files when inline diff still visible * 🚸 don't show quick pick if not ctx providers exist * 🚧 (sort of) allow switching editors while streaming diff * 💄 show model being used for cmd/ctrl+I * 💄 don't add undo stops when generating diff * 🐛 fix shortcuts for accept/reject diff blocks * ✨ improved GPT edit prompt, taking prefix/suffix into account * ✨ improved prompting for empty selection ctrl/cmd+I * ⚡️ immediately refresh codelens * 🐛 use first model if default undefined * ⚡️ refresh codelens after diff cleared * 💄 update keyboard shortcuts * ⚡️ Improved edit prompts for OS models (#1029) * 💄 refresh codelens more frequently * ⚡️ improved codellama edit prompt * ⚡️ better codellama prompt * ⚡️ use same improved prompt for most OS models * 🎨 refactor chat templates * 🎨 refactor llama2 prompt to allow ending assistant message * ⚡️ separate os models prompt when no prefix/suffix * 🎨 refactor to allow putting words in the model's mouth * ⚡️ prune code around cmd/ctrl+I * 🚚 rename to cmd/ctrl+I * 🎨 make raw a base completion option * 🩹 small improvements * 🩹 use different prompt when completions not supported * Keep the same statusBar item when updating it to prevent flickering of the status bar. (#1022) * 🎨 add getRepoName to IDE, use for indexing * 🎨 implement server client interface * 📌 pin to vectordb=0.4.12 * 🧑‍💻 mark xhr-sync-worker.js as external in esbuild * 🎨 break out ignore defaults into core * 🎨 update getRepoName * 🐛 fix import error * 🩹 fix chat.jsonl logging * ⚡️ improved OpenAI autocomplete support * 🐛 fix bug causing part of completions to be skipped * 🔥 remove URLContextProvider * ✨ Add Groq as an official provider * 🩹 make sure autocomplete works with claude * 💄 update positioning of code block toolbar to not cover code * ✨ Run in terminal button * ✨ insert at cursor button * ✨ Regenerate and copy buttons * ✨ Button to force re-indexing * 🐛 make sure tooltip IDs are unique * ✨ Button to continue truncated response * 🚧 WIP on inline edit browser embedding * 🚧 inline TipTapEditor * 🚧 WIP on inline TipTapEditor * 🔥 remove unused test component * 🚧 native inline edit * 💄 nicer looking input box * ✨ Diff Streaming in JetBrains * 💄 line highlighting * 💄 arial font * ✨ Retry with further instructions * 🚧 drop shadow * ✨ accept/reject diffs * ✨ accept/reject diffs * 🐛 fix off-by-one errors * 🚧 swap out button on enter * 💄 styling and auto-resize * 💄 box shadow * 🚧 fix keyboard shortcuts to accept/reject diff * 💄 improve small interactions * 💄 loading icon, cancellation logic * 🐛 handle next.value being undefined * ✨ latex support * Bug Fix: Add ternary operator to prevent nonexistant value error (#1052) * add terniary operator * Removing logging * remove comment --------- Co-authored-by: Justin Milner <[email protected]> Co-authored-by: Nate Sesti <[email protected]> * 🎨 small formatting change * 🩹 tweak /edit solution * ✨ Dropdown to select model * 🔊 print when SSL verification disabled * 📌 pin esbuild version to match our hosted binary * 🔥 remove unused package folder * 👷 add note about pinning esbuild * 🚚 rename pkg to binary * ⚡️ update an important stop word for starcoder2, improve dev data * 🐛 fix autocomplete bug * Update completionProvider.ts Add \r\n\r\n stop to tab completion * 📌 update package-locks * 🐛 fix bug in edit prompt * 🔊 log extension version * 🐛 handle repo undefined in vscode * ⏪ revert back to esbuild ^0.17.19 to solve no backend found error with onnxruntime * 🩹 set default autocomplete temp to 0.01 to be strictly positive * make the useCopyBuffer option effective (#1062) * Con-1037: Toggle full screen bug (#1065) * webview reset * add warning --------- Co-authored-by: Justin Milner <[email protected]> * Update completionProvider.ts as @rootedbox suggested * Resolve conflict, accept branch being merged in (#1076) * Resolve conflict, accept branch being merged in * remove accidental .gitignore add * whoops, put gitignore back * fix --------- Co-authored-by: Justin Milner <[email protected]> * #1073: update outdated documentation (#1074) * 🩹 small tweaks to stop words * Add abstraction for fetch to easily allow using request options (#1059) * add fetch helper function with request options * add support for request options for Jira context provider * Add a new slash command to review code. (#1071) * Add a new slash command to review code. * clean code * 🩹 add new starcoder artifact as stopword * 💄 slight improvements to inline edit UI * 🔖 update default models, bump gradle version * 📝 recommend starcoder2 * 🐛 fix jetbrains encoding issue * 🩹 don't index site-packages * 🩹 error handling in JetBrains * 🐛 fix copy to clipboard in jetbrains * fix: cursor focus issue causing unwanted return to text area (#1086) * 📝 mention autocomplete in jetbrains * 📝 Tab-autocomplete README * 🔥 remove note about custom ctx providers only being on VS Code * 📝 docs about http context provider * 👥 pull request template * Update from Claude 2 to Claude 3 (#1078) * 📝 add FAQ about single-line completions * 📝 update autocomplete docs * fix cursor focus issue causing unwanted return to text area --------- Co-authored-by: Nate Sesti <[email protected]> Co-authored-by: Ty Dunn <[email protected]> Co-authored-by: Nate Sesti <[email protected]> * Update tree-sitter-wasms to 0.1.11 (which includes Solidity) * Make use of solidity tree-sitter parser * 🔧 option to disable autocomplete from config.json * ✨ option to disable streaming with anthropic * ✅ Test to verify that files are packaged * Add FIM template for CodeGemma (#1097) Also pass stop tokens to llama.cpp. * ✨ customizable rerankers (#1088) * ✨ customizable rerankers * 💄 fix early truncation button * ⚡️ improvements to full text search + reranking * ⚡️ only use starcoder2 stop words for starcoder2 * ⚡️ crawl code graph for call expressions * 🚧 starcoder2-7b free trial * 🚧 free trial client for embeddings and re-ranking * 🚧 embeddings provider * ✅ test for presence of files in CI * 🐛 fixes to reranking * ✨ new onboarding experience * ✨ new onboarding experience * 💄 small tweaks to onboarding * 🩹 add stopAtLines filter to /edit * 🐛 clean up vite build errors * 👷 make vscode external in binary build * 💄 improved models onboarding for existing users * 💄 default indexing progress to 0.0 * 🐛 small fixes to reranking * 👷 clear folders before prepackage * 👷 say where .vsix is output * 👷 also download arm packages outside of gh actions * 🎨 add AbortSignal to indexing * 🔧 starcoder, not 2 in config_schema * 🚚 again, starcoder, not 2 * 🐛 fix bug when reranker undefined * 🩹 fix binary tsc error * ✨ configure context menu prompts * 🐛 acknowledge useLegacyCompletionsEndpoint * 🚑 fix keep existing config option * 🔊 learn about selection * ⚡️ improvements to indexing reporting when not in git repo * 🥅 handle situation where git doesn't exist in workspace * ✨ support for gemini 1.5 pro * 🐛 handle embeddingProvider name not found * ✨ Gemini 1.5 and GPT-4 Turbo * 👷 fix os, arch undefined in prepackage.js * ⚡️ better detection of terminal code blocks * 🧑‍💻 solve tailwind css warnings * ✨ cmd/ctrl+L to select terminal contents * 🐛 correctly handle remotes not found * ✨ allow templating for custom commands * 🔥 temporarily remove cmd+L to select terminal contents * 🐛 remove quotes around Ollama stop words * ✨ add Cohere as Model Provider (#1119) * 🩹 add gpt-4-turbo to list of chat_only models * feat: use exponential backoff in llm chat (#1115) Signed-off-by: inimaz <[email protected]> * 🩹 update exponential backoff timing * 💄 spell out Alt in keyboard shortcuts * 🩹 don't set edit prompt for templateType "none" * Adds additional ignores for C-fmilies langs (#1129) Ignored: - cache directory `.cache`, used by clangd - dependency files `*o.d`, used by object files - LLVM and GNU coverage files: `*.profraw`, `*.gcda` and `*.gcno` * 🔥 temporarily remove problematic expandSnippet import * 👷 add npx to prefix vsce in build * 🐛 handle messages sent in multiple parts over stdin * 🔖 update gradle version * 🩹 for now, skip onboarding in jetbrains * 🩹 temporarily don't show use codebase on jetbrains * 🐛 use system certificates in binary * 🔖 update jetbrains version * 🩹 correctly contruct set of certs * 🔖 bump intellij version to 0.0.45 * 🩹 update to support images for gpt-4-turbo * 🐛 fix image support autodetection * ⚡️ again, improve image support autodetection * 🐛 set supportsCompletions based on useLegacyCompletionsEndpoint model setting Closes #1132 * 📝 useLegacyCompletionsEndpoint within OpenAI docs * 🔧 forceCompletionsEndpointType option * Revert "🔧 forceCompletionsEndpointType option" This reverts commit dd51fcb. * 🩹 set default useLegacyCompletionsEndpoint to undefined * 🩹 look for bedrock credentials in homedir * 🩹 use title for autodetect * ✨ disableInFiles option for autocomplete * feat(httpContextProvider): load AC on fetch client (#1150) Co-authored-by: Bertrand Pinel <[email protected]> * ✨ global filewatcher for config.json/ts changes * 🐛 retry webview requests so that first cmd+L works * ✨ Improved onboarding experience (#1155) * 🚸 onboarding improvements * 🧑‍💻 keyboard shortcuts to toggle autocomplete and open config.json * ⚡️ improve detection of terminal code blocks * 🚧 onboarding improvements * 🚧 more onboarding improvements * 💄 last session button * 🚸 show more fallback options in dropdown * 💄 add sectioning to models page * 💄 clean up delete model button * 💄 make tooltip look nicer * 🚸 download Ollama button * 💄 local LLM onboarding * 🐛 select correct terminal on "runCommand" message * 💄 polish onboarding * 💚 fix gui build errors * 📝 add /v1 to OpenAI examples in docs * 🚑 hotfix for not iterable error * 💄 add llama3 to UI * 🔥 remove disable indexing * 🍱 update continue logo * 🐛 fix language undefined bug --------- Signed-off-by: inimaz <[email protected]> Co-authored-by: Nithish <[email protected]> Co-authored-by: EC2 Default User <[email protected]> Co-authored-by: LapinMalin <[email protected]> Co-authored-by: Justin Milner <[email protected]> Co-authored-by: Justin Milner <[email protected]> Co-authored-by: lmaosweqf1 <[email protected]> Co-authored-by: ading2210 <[email protected]> Co-authored-by: Martin Mois <[email protected]> Co-authored-by: Tobias Jung <[email protected]> Co-authored-by: Jason Jacobs <[email protected]> Co-authored-by: Nithish <[email protected]> Co-authored-by: Ty Dunn <[email protected]> Co-authored-by: Riccardo Schirone <[email protected]> Co-authored-by: postmasters <[email protected]> Co-authored-by: Maxime Brunet <[email protected]> Co-authored-by: inimaz <[email protected]> Co-authored-by: SR_team <[email protected]> Co-authored-by: Roger Meier <[email protected]> Co-authored-by: Bertrand P <[email protected]> Co-authored-by: Bertrand Pinel <[email protected]>
1 parent e6c5a79 commit 2205e13

File tree

103 files changed

+2210
-812
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+2210
-812
lines changed

binary/package-lock.json

Lines changed: 132 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

binary/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,12 @@
4141
"commander": "^12.0.0",
4242
"core": "file:../core",
4343
"follow-redirects": "^1.15.5",
44+
"mac-ca": "^2.0.3",
4445
"ncp": "^2.0.0",
4546
"posthog-node": "^3.6.3",
47+
"system-ca": "^1.0.2",
4648
"uuid": "^9.0.1",
47-
"vectordb": "^0.4.10"
49+
"vectordb": "^0.4.10",
50+
"win-ca": "^3.5.1"
4851
}
4952
}

binary/src/ca.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { globalAgent } from "https";
2+
import { systemCertsAsync } from "system-ca";
3+
4+
export async function setupCa() {
5+
try {
6+
switch (process.platform) {
7+
case "darwin":
8+
// https://www.npmjs.com/package/mac-ca#usage
9+
require("mac-ca").addToGlobalAgent();
10+
break;
11+
case "win32":
12+
// https://www.npmjs.com/package/win-ca#caveats
13+
require("win-ca").inject("+");
14+
break;
15+
default:
16+
// https://www.npmjs.com/package/system-ca
17+
globalAgent.options.ca = await systemCertsAsync();
18+
break;
19+
}
20+
} catch (e) {
21+
console.warn("Failed to setup CA: ", e);
22+
}
23+
}

binary/src/core.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export class Core {
9090

9191
// History
9292
on("history/list", (msg) => {
93-
return historyManager.list();
93+
return historyManager.list(msg.data);
9494
});
9595
on("history/delete", (msg) => {
9696
historyManager.delete(msg.data.id);

binary/src/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Command } from "commander";
33
import { getCoreLogsPath } from "core/util/paths";
44
import fs from "fs";
55
import { IpcIde } from "./IpcIde";
6+
import { setupCa } from "./ca";
67
import { Core } from "./core";
78
import { IpcMessenger } from "./messenger";
89

@@ -18,6 +19,8 @@ program.action(() => {
1819
// const ide = new FileSystemIde();
1920
const core = new Core(messenger, ide);
2021

22+
setupCa();
23+
2124
// setTimeout(() => {
2225
// messenger.mock({
2326
// messageId: "2fe7823c-10bd-4771-abb5-781f520039ec",

binary/src/messenger.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,31 @@ export class IpcMessenger {
8080
// Call handler which is waiting for the response, nothing to return
8181
this.idListeners.get(msg.messageId)?.(msg);
8282
} catch (e) {
83-
console.error("Error parsing line: ", line, e);
83+
let truncatedLine = line;
84+
if (line.length > 200) {
85+
truncatedLine =
86+
line.substring(0, 100) + "..." + line.substring(line.length - 100);
87+
}
88+
console.error("Error parsing line: ", truncatedLine, e);
8489
return;
8590
}
8691
}
8792

93+
private _unfinishedLine: string | undefined = undefined;
8894
private _handleData(data: Buffer) {
8995
const d = data.toString();
90-
const lines = d.split(/\r\n|\r|\n/).filter((line) => line.trim() !== "");
96+
const lines = d.split(/\r\n/).filter((line) => line.trim() !== "");
97+
if (lines.length === 0) {
98+
return;
99+
}
100+
101+
if (this._unfinishedLine) {
102+
lines[0] = this._unfinishedLine + lines[0];
103+
this._unfinishedLine = undefined;
104+
}
105+
if (!d.endsWith("\r\n")) {
106+
this._unfinishedLine = lines.pop();
107+
}
91108
lines.forEach((line) => this._handleLine(line));
92109
}
93110

0 commit comments

Comments
 (0)