Skip to content

Commit

Permalink
⏩ Preview (#1171)
Browse files Browse the repository at this point in the history
* ✨ 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]>
  • Loading branch information
21 people authored Apr 23, 2024
1 parent e6c5a79 commit 2205e13
Show file tree
Hide file tree
Showing 103 changed files with 2,210 additions and 812 deletions.
134 changes: 132 additions & 2 deletions binary/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion binary/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,12 @@
"commander": "^12.0.0",
"core": "file:../core",
"follow-redirects": "^1.15.5",
"mac-ca": "^2.0.3",
"ncp": "^2.0.0",
"posthog-node": "^3.6.3",
"system-ca": "^1.0.2",
"uuid": "^9.0.1",
"vectordb": "^0.4.10"
"vectordb": "^0.4.10",
"win-ca": "^3.5.1"
}
}
23 changes: 23 additions & 0 deletions binary/src/ca.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { globalAgent } from "https";
import { systemCertsAsync } from "system-ca";

export async function setupCa() {
try {
switch (process.platform) {
case "darwin":
// https://www.npmjs.com/package/mac-ca#usage
require("mac-ca").addToGlobalAgent();
break;
case "win32":
// https://www.npmjs.com/package/win-ca#caveats
require("win-ca").inject("+");
break;
default:
// https://www.npmjs.com/package/system-ca
globalAgent.options.ca = await systemCertsAsync();
break;
}
} catch (e) {
console.warn("Failed to setup CA: ", e);
}
}
2 changes: 1 addition & 1 deletion binary/src/core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ export class Core {

// History
on("history/list", (msg) => {
return historyManager.list();
return historyManager.list(msg.data);
});
on("history/delete", (msg) => {
historyManager.delete(msg.data.id);
Expand Down
3 changes: 3 additions & 0 deletions binary/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Command } from "commander";
import { getCoreLogsPath } from "core/util/paths";
import fs from "fs";
import { IpcIde } from "./IpcIde";
import { setupCa } from "./ca";
import { Core } from "./core";
import { IpcMessenger } from "./messenger";

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

setupCa();

// setTimeout(() => {
// messenger.mock({
// messageId: "2fe7823c-10bd-4771-abb5-781f520039ec",
Expand Down
21 changes: 19 additions & 2 deletions binary/src/messenger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,14 +80,31 @@ export class IpcMessenger {
// Call handler which is waiting for the response, nothing to return
this.idListeners.get(msg.messageId)?.(msg);
} catch (e) {
console.error("Error parsing line: ", line, e);
let truncatedLine = line;
if (line.length > 200) {
truncatedLine =
line.substring(0, 100) + "..." + line.substring(line.length - 100);
}
console.error("Error parsing line: ", truncatedLine, e);
return;
}
}

private _unfinishedLine: string | undefined = undefined;
private _handleData(data: Buffer) {
const d = data.toString();
const lines = d.split(/\r\n|\r|\n/).filter((line) => line.trim() !== "");
const lines = d.split(/\r\n/).filter((line) => line.trim() !== "");
if (lines.length === 0) {
return;
}

if (this._unfinishedLine) {
lines[0] = this._unfinishedLine + lines[0];
this._unfinishedLine = undefined;
}
if (!d.endsWith("\r\n")) {
this._unfinishedLine = lines.pop();
}
lines.forEach((line) => this._handleLine(line));
}

Expand Down
Loading

0 comments on commit 2205e13

Please sign in to comment.