Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎨 Refactor core #1281

Merged
merged 63 commits into from
May 25, 2024
Merged

🎨 Refactor core #1281

merged 63 commits into from
May 25, 2024

Conversation

sestinj
Copy link
Contributor

@sestinj sestinj commented May 15, 2024

Refactor to create clean protocols between core/ide/webview. Will help keep JetBrains up-to-date.

@sestinj sestinj merged commit 53b6128 into preview May 25, 2024
2 checks passed
@sestinj sestinj deleted the nate/refactor-core branch May 25, 2024 02:38
sestinj added a commit that referenced this pull request May 25, 2024
* 📝 rename googlepalmapi.md to googlegeminiapi.md

* 📝 update mistral models

* Rename to geminiapi & change filename this time

* ✨ global request options (#1153)

* ✨ global request options

* 🐛 fix jira context provider by injecting fetch

* ✨ request options for embeddings providers

* ✨ add Cohere as Reranker (#1159)

* ♻️ use custom requestOptions with CohereEmbeddingsProvider

* Update preIndexedDocs.ts (#1154)

Add WordPress and WooCommerce as preIndexedDocs.

* 🩹 remove example "outputDir" from default config

* Fix slash command params loading (#1084)

Existing slash commands expect an object named
"params" so mapping to "options" here caused
params to be undefined within the run scope. I
renamed from 'm' to 's' just to avoid potential
confusion with the model property mapping above.

* 🐛 don't index if no open workspace folders

* 💄 improve onboarding language

* 🚸 improve onboarding

* 🐛 stop loading when error

* 💄 replace text in input box

* Respect Retry-After header when available from 429 responses (#1182)

* 🩹 remove dead code for exponential backoff

This has been replaced by the withExponentialBackoff helper

* 🩹 respect Retry-After header when available

* 🚸 update inline tips language

* ✨ input box history

* 📌 update package-locks

* 🔊 log errors in prepackage

* 🐛 err to string

* 📌 pin llama-tokenizer-js

* 📌 update lockfile

* 🚚 change /docs to docs.

* 📦 package win-ca dependencies in binary

* 🔥 remove unpopular models from UI

* 🍱 new logo in jetbrains

* 🎨 use node-fetch everywhere

* 🚸 immediately select newly added models

* 🚸 spell out Alt instead of using symbol

* 🔥 remove config shortcut

* 🐛 fix changing model bug

* 🩹 de-duplicate before adding models

* 🔧 add embeddingsProvider specific request options

* 🎨 refactor to always use node-fetch from LLM

* 🔥 remove duplicate tokens generated

* 🔊 add timestamp to JetBrains logs

* 🎨 maxStopWords for Groq

* 🐛 fix groq provider calling /completions

* 🐛 correctly adhere to LanceDB table name spec

* 🐛 fix sqlite NOT NULL constraint failed error with custom model

* Fix issue where Accept/Reject All only accepts/rejects a single diff hunk. (#1197)

* Fix issues parsing Ollama /api/show endpoint payloads. (#1199)

* ✨ model role for inlineEdit

* 🩹 various small updates

* 🐛 fix openai image support

* 🔖 update gradle version

* 🍱 update jetbrains icon

* 🐛 fix autocomplete in notebook cells

* 🔥 remove unused media

* 🔥 remove unused files

* Fix schema to allow 'AUTODETECT' sentinel for model when provider is 'groq'. (#1203)

* 🐛 small improvements

* Fix issue with @codebase provider when n becomes odd due to a divide by 2 during the full text search portion of the query. (#1204)

* 🐛 add skipLines

* ✨ URLContextProvider

* 🥅 improved error handling for codebase indexing

* 🏷️ use official Git extension types

* ➕ declare vscode.git extension dependency

* ⚡️ use reranker for docs context provider

* 🚸 Use templating in default customCommand

* 🎨 use U+23CE

* 🚸 disable autocomplete in commit message box

* 🩹 add gems to default ignored paths

* ⚡️ format markdown blocks as comments in .ipynb completions

* 🐛 don't strip port in URL

* 🐛 fix "gemini" provider spacing issues

* 📦 update posthog version

* CON-1067: Failed state seems to be toggling as intended

* 🏷️ update types.ts

* 🐛 fix copy/paste/cut behavior in VS Code notebooks

* ✨ llama3 prompt template

* Rework for proper initialization on start up

* CON-1067 Clean-up

* CON-1067 more clean-up

* Add indexingNotLoaded state

* CON-1067 communicate progress to frontend

* 🐛 fix undefined prefix, suffix and language for `/edit` (#1216)

* 🐛 add .bind to fix templating in systemMessage

* CON-1067 clean up

* 🐛 small improvements to autocomplete

* Update DocsContextProvider.ts (#1217)

I fixed a bug where you were sending the query variable (which holds the base URL of the doc) to the rerank method, and it made no sense to rerank the chunks based on a URL. So I changed it to extras.fullInput because it should rerank based on the user input, which should provide better results.

* 📝 select-provider.md update

* 🐛 fix merge errors

* Nate/autocomplete-metrics (#1230)

* ⚡️ use context.selectedCompletionInfo, deduplicate logs

* ⚡️ don't reject if user keeps typing same as completion

* ⚡️ vscode autocomplete edge cases

* 🚧 WIP on vscode autocomplete

* ⚡️ better bracket handlng

* ⚡️ improved multi-line detection

* Active file default context (#1231)

* 🚸 include currently active file by default

* 🚸 warn if non-autocomplete model being used

* ✨ try hole filling template for gpt

* 💄 ui for no context

* ⚡️ leave out bottom of excessively large files

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

---------

Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: Maxime Brunet <max@brnt.mx>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Nejc Habjan <hab.nejc@gmail.com>
Co-authored-by: Chad Yates <cyates@dynfxdigital.com>
Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: 小颚虫 <123357481+5eqn@users.noreply.github.com>
Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
sestinj added a commit that referenced this pull request May 25, 2024
* ✨ global request options (#1153)

* ✨ global request options

* 🐛 fix jira context provider by injecting fetch

* ✨ request options for embeddings providers

* ✨ add Cohere as Reranker (#1159)

* ♻️ use custom requestOptions with CohereEmbeddingsProvider

* Update preIndexedDocs.ts (#1154)

Add WordPress and WooCommerce as preIndexedDocs.

* 🩹 remove example "outputDir" from default config

* Fix slash command params loading (#1084)

Existing slash commands expect an object named
"params" so mapping to "options" here caused
params to be undefined within the run scope. I
renamed from 'm' to 's' just to avoid potential
confusion with the model property mapping above.

* 🐛 don't index if no open workspace folders

* 💄 improve onboarding language

* 🚸 improve onboarding

* 🐛 stop loading when error

* 💄 replace text in input box

* Respect Retry-After header when available from 429 responses (#1182)

* 🩹 remove dead code for exponential backoff

This has been replaced by the withExponentialBackoff helper

* 🩹 respect Retry-After header when available

* 🚸 update inline tips language

* ✨ input box history

* 📌 update package-locks

* 🔊 log errors in prepackage

* 🐛 err to string

* 📌 pin llama-tokenizer-js

* 📌 update lockfile

* 🚚 change /docs to docs.

* 📦 package win-ca dependencies in binary

* 🔥 remove unpopular models from UI

* 🍱 new logo in jetbrains

* 🎨 use node-fetch everywhere

* 🚸 immediately select newly added models

* 🚸 spell out Alt instead of using symbol

* 🔥 remove config shortcut

* 🐛 fix changing model bug

* 🩹 de-duplicate before adding models

* 🔧 add embeddingsProvider specific request options

* 🎨 refactor to always use node-fetch from LLM

* 🔥 remove duplicate tokens generated

* 🔊 add timestamp to JetBrains logs

* 🎨 maxStopWords for Groq

* 🐛 fix groq provider calling /completions

* 🐛 correctly adhere to LanceDB table name spec

* 🐛 fix sqlite NOT NULL constraint failed error with custom model

* Fix issue where Accept/Reject All only accepts/rejects a single diff hunk. (#1197)

* Fix issues parsing Ollama /api/show endpoint payloads. (#1199)

* ✨ model role for inlineEdit

* 🩹 various small updates

* 🐛 fix openai image support

* 🔖 update gradle version

* 🍱 update jetbrains icon

* 🐛 fix autocomplete in notebook cells

* 🔥 remove unused media

* 🔥 remove unused files

* Fix schema to allow 'AUTODETECT' sentinel for model when provider is 'groq'. (#1203)

* 🐛 small improvements

* Fix issue with @codebase provider when n becomes odd due to a divide by 2 during the full text search portion of the query. (#1204)

* 🐛 add skipLines

* ✨ URLContextProvider

* 🥅 improved error handling for codebase indexing

* 🏷️ use official Git extension types

* ➕ declare vscode.git extension dependency

* ⚡️ use reranker for docs context provider

* 🚸 Use templating in default customCommand

* 🎨 use U+23CE

* 🚸 disable autocomplete in commit message box

* 🩹 add gems to default ignored paths

* ⚡️ format markdown blocks as comments in .ipynb completions

* 🐛 don't strip port in URL

* 🐛 fix "gemini" provider spacing issues

* 📦 update posthog version

* CON-1067: Failed state seems to be toggling as intended

* 🏷️ update types.ts

* 🐛 fix copy/paste/cut behavior in VS Code notebooks

* ✨ llama3 prompt template

* Rework for proper initialization on start up

* CON-1067 Clean-up

* CON-1067 more clean-up

* Add indexingNotLoaded state

* CON-1067 communicate progress to frontend

* 🐛 fix undefined prefix, suffix and language for `/edit` (#1216)

* 🐛 add .bind to fix templating in systemMessage

* CON-1067 clean up

* 🐛 small improvements to autocomplete

* Update DocsContextProvider.ts (#1217)

I fixed a bug where you were sending the query variable (which holds the base URL of the doc) to the rerank method, and it made no sense to rerank the chunks based on a URL. So I changed it to extras.fullInput because it should rerank based on the user input, which should provide better results.

* 📝 select-provider.md update

* 🐛 fix merge errors

* Nate/autocomplete-metrics (#1230)

* ⚡️ use context.selectedCompletionInfo, deduplicate logs

* ⚡️ don't reject if user keeps typing same as completion

* ⚡️ vscode autocomplete edge cases

* 🚧 WIP on vscode autocomplete

* ⚡️ better bracket handlng

* ⚡️ improved multi-line detection

* Active file default context (#1231)

* 🚸 include currently active file by default

* 🚸 warn if non-autocomplete model being used

* ✨ try hole filling template for gpt

* 💄 ui for no context

* ⚡️ leave out bottom of excessively large files

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

---------

Co-authored-by: Maxime Brunet <max@brnt.mx>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: Nejc Habjan <hab.nejc@gmail.com>
Co-authored-by: Chad Yates <cyates@dynfxdigital.com>
Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: 小颚虫 <123357481+5eqn@users.noreply.github.com>
Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
sestinj added a commit that referenced this pull request May 29, 2024
* ✨ llama3 prompt template

* Rework for proper initialization on start up

* CON-1067 Clean-up

* CON-1067 more clean-up

* Add indexingNotLoaded state

* CON-1067 communicate progress to frontend

* 🐛 fix undefined prefix, suffix and language for `/edit` (#1216)

* 🐛 add .bind to fix templating in systemMessage

* CON-1067 clean up

* 🐛 small improvements to autocomplete

* Update DocsContextProvider.ts (#1217)

I fixed a bug where you were sending the query variable (which holds the base URL of the doc) to the rerank method, and it made no sense to rerank the chunks based on a URL. So I changed it to extras.fullInput because it should rerank based on the user input, which should provide better results.

* 📝 select-provider.md update

* 🐛 fix merge errors

* Nate/autocomplete-metrics (#1230)

* ⚡️ use context.selectedCompletionInfo, deduplicate logs

* ⚡️ don't reject if user keeps typing same as completion

* ⚡️ vscode autocomplete edge cases

* 🚧 WIP on vscode autocomplete

* ⚡️ better bracket handlng

* ⚡️ improved multi-line detection

* Active file default context (#1231)

* 🚸 include currently active file by default

* 🚸 warn if non-autocomplete model being used

* ✨ try hole filling template for gpt

* 💄 ui for no context

* ⚡️ leave out bottom of excessively large files

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* 📝 set up codestral walkthrough

* codestral api base

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: 小颚虫 <123357481+5eqn@users.noreply.github.com>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
sestinj added a commit that referenced this pull request May 29, 2024
* CON-1067 more clean-up

* Add indexingNotLoaded state

* CON-1067 communicate progress to frontend

* 🐛 fix undefined prefix, suffix and language for `/edit` (#1216)

* 🐛 add .bind to fix templating in systemMessage

* CON-1067 clean up

* 🐛 small improvements to autocomplete

* Update DocsContextProvider.ts (#1217)

I fixed a bug where you were sending the query variable (which holds the base URL of the doc) to the rerank method, and it made no sense to rerank the chunks based on a URL. So I changed it to extras.fullInput because it should rerank based on the user input, which should provide better results.

* 📝 select-provider.md update

* 🐛 fix merge errors

* Nate/autocomplete-metrics (#1230)

* ⚡️ use context.selectedCompletionInfo, deduplicate logs

* ⚡️ don't reject if user keeps typing same as completion

* ⚡️ vscode autocomplete edge cases

* 🚧 WIP on vscode autocomplete

* ⚡️ better bracket handlng

* ⚡️ improved multi-line detection

* Active file default context (#1231)

* 🚸 include currently active file by default

* 🚸 warn if non-autocomplete model being used

* ✨ try hole filling template for gpt

* 💄 ui for no context

* ⚡️ leave out bottom of excessively large files

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: 小颚虫 <123357481+5eqn@users.noreply.github.com>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
sestinj added a commit that referenced this pull request May 29, 2024
* CON-1067 communicate progress to frontend

* 🐛 fix undefined prefix, suffix and language for `/edit` (#1216)

* 🐛 add .bind to fix templating in systemMessage

* CON-1067 clean up

* 🐛 small improvements to autocomplete

* Update DocsContextProvider.ts (#1217)

I fixed a bug where you were sending the query variable (which holds the base URL of the doc) to the rerank method, and it made no sense to rerank the chunks based on a URL. So I changed it to extras.fullInput because it should rerank based on the user input, which should provide better results.

* 📝 select-provider.md update

* 🐛 fix merge errors

* Nate/autocomplete-metrics (#1230)

* ⚡️ use context.selectedCompletionInfo, deduplicate logs

* ⚡️ don't reject if user keeps typing same as completion

* ⚡️ vscode autocomplete edge cases

* 🚧 WIP on vscode autocomplete

* ⚡️ better bracket handlng

* ⚡️ improved multi-line detection

* Active file default context (#1231)

* 🚸 include currently active file by default

* 🚸 warn if non-autocomplete model being used

* ✨ try hole filling template for gpt

* 💄 ui for no context

* ⚡️ leave out bottom of excessively large files

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: 小颚虫 <123357481+5eqn@users.noreply.github.com>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
sestinj added a commit that referenced this pull request May 29, 2024
* 🐛 fix undefined prefix, suffix and language for `/edit` (#1216)

* 🐛 add .bind to fix templating in systemMessage

* CON-1067 clean up

* 🐛 small improvements to autocomplete

* Update DocsContextProvider.ts (#1217)

I fixed a bug where you were sending the query variable (which holds the base URL of the doc) to the rerank method, and it made no sense to rerank the chunks based on a URL. So I changed it to extras.fullInput because it should rerank based on the user input, which should provide better results.

* 📝 select-provider.md update

* 🐛 fix merge errors

* Nate/autocomplete-metrics (#1230)

* ⚡️ use context.selectedCompletionInfo, deduplicate logs

* ⚡️ don't reject if user keeps typing same as completion

* ⚡️ vscode autocomplete edge cases

* 🚧 WIP on vscode autocomplete

* ⚡️ better bracket handlng

* ⚡️ improved multi-line detection

* Active file default context (#1231)

* 🚸 include currently active file by default

* 🚸 warn if non-autocomplete model being used

* ✨ try hole filling template for gpt

* 💄 ui for no context

* ⚡️ leave out bottom of excessively large files

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

---------

Co-authored-by: 小颚虫 <123357481+5eqn@users.noreply.github.com>
Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
sestinj added a commit that referenced this pull request May 29, 2024
* CON-1067 clean up

* 🐛 small improvements to autocomplete

* Update DocsContextProvider.ts (#1217)

I fixed a bug where you were sending the query variable (which holds the base URL of the doc) to the rerank method, and it made no sense to rerank the chunks based on a URL. So I changed it to extras.fullInput because it should rerank based on the user input, which should provide better results.

* 📝 select-provider.md update

* 🐛 fix merge errors

* Nate/autocomplete-metrics (#1230)

* ⚡️ use context.selectedCompletionInfo, deduplicate logs

* ⚡️ don't reject if user keeps typing same as completion

* ⚡️ vscode autocomplete edge cases

* 🚧 WIP on vscode autocomplete

* ⚡️ better bracket handlng

* ⚡️ improved multi-line detection

* Active file default context (#1231)

* 🚸 include currently active file by default

* 🚸 warn if non-autocomplete model being used

* ✨ try hole filling template for gpt

* 💄 ui for no context

* ⚡️ leave out bottom of excessively large files

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
sestinj added a commit that referenced this pull request May 30, 2024
* Nate/autocomplete-metrics (#1230)

* ⚡️ use context.selectedCompletionInfo, deduplicate logs

* ⚡️ don't reject if user keeps typing same as completion

* ⚡️ vscode autocomplete edge cases

* 🚧 WIP on vscode autocomplete

* ⚡️ better bracket handlng

* ⚡️ improved multi-line detection

* Active file default context (#1231)

* 🚸 include currently active file by default

* 🚸 warn if non-autocomplete model being used

* ✨ try hole filling template for gpt

* 💄 ui for no context

* ⚡️ leave out bottom of excessively large files

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* feat: Add cloudflare as provider

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

* 🔥 remove unused kotlin test

* 🧑‍💻 ./gradlew build

* codestral fim template

---------

Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: James Delorey <jdelorey@cloudflare.com>
sestinj added a commit that referenced this pull request Jun 4, 2024
* 🐛 fixes after refactor

* 🚧 experimenting with perplexity style streaming

* 🐛 fix #1237

* 💚 fix type error

* ⚡️ improve LSP usage in autocomplete

* 🐛 fix content parsing regression in /edit

* add PySide6 docs to preindexed docs (#1236)

* CON-232 bring custom docs to top, alphabetize doc results, make scrol… (#1239)

* CON-232 bring custom docs to top, alphabetize doc results, make scrollable

* CON-232 cleanup

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* CON-1067 condense some things

* 🚚 [Auxiliary -> Continue] Sidebar

* 🔊 log completion options in ~/.continue/sessions

* CON-1067 wrong ret val fix

* CON-1067: fixes from testing

* ⚡️ filter out completions that are only punctuation/space

* ⚡️ inject intellisense docs, no multi-line on comments

* ⚡️ crawl type definitions for autocomplete

* ⚡️ truncate function text

* ⚡️ cache LSP calls

* ⚡️ find recently edited ranges with perfect prefix match

* 🐛 fix gif paths

* ⚡️ bring back double new line stop words

* 📌 add yarn lock files

* 🐛 allow language keywords to be generated

* 💄 toggle on help button

* 🎨 defaultContext option

* 🐛 fix lancedb bug by upgrading

* 🐛 fix groq stop tokens

* 🐛 preventDefault to avoid double paste

* 🚸 don't repeatedly override cmd+J

* 🧑‍💻 fix npm run test in core

* 📝 change description

* 🐛 silence Ollama invalid server state warning

* ⚡️ more accurate getTerminalContents

* ⚡️ make getTerminalContents more accurate

* 🧑‍💻 use yarn instead of npm

* 👷 fix yarn add --no-save in prepackge

* 🐛 correctly read entire notebook file contents

* ➕ import handlebars

* 🔥 remove unnecessary migrations

* ⚡️ improve /comment prompt

* Add debug terminal context menu (#1261)

* Add --no-dependencies to vsce package (#1255)

This is not needed because we bundle first with esbuild, and
vsce pack has issues with modern package managers.

see: microsoft/vscode-vsce#421 (comment)

* ui: change line decoration color to use vscode theme (#1253)

* ui: change line decoration color to use vscode theme

to give user a more consistent experience by letting the decoration color to user the color defined in the theme.

* fix: incorrect color item

should be line background not text background
because the decoration is for the whole line

* 🎨 refactor indexing state into a single object

* CON-223 Correct diff streaming abort (#1263)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* 📦 switch to pnpm (#1265)

* 🎨 use pnpm instead of yarn

* ➕ make dependencies explicit for pnpm

* 🐛 add powershell to extension mapping, and default to ext

* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🐛 fix prompt file loading bug

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* feat: Add cloudflare as provider

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

* 🔥 remove unused kotlin test

* 🧑‍💻 ./gradlew build

* codestral fim template

* add additional llama.cpp params

* feat:Add promptPath configuration to use promptFolder from JSON file in load.ts (#1377)

Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>

* Full project file path in context (#1407)

* Full workspace file path when using @OPEN Files

* Full project file path for @Files and 'active file' context

* FileTreeContextProvider uses splitPath from util instead of local copy

* relative-to-root file paths for rag retrieval

* ✨ jetbrains .continuerc.json support

* tweak

* ✨ allow non git tracked .prompts folder

* ✨ currentFile in prompt files

* explain the purpose of sign in

* help users remove free trial models

* better filtering of model artifacts

* improve sign in flow

---------

Co-authored-by: 5eqn <491100866@qq.com>
Co-authored-by: Pixel <54180211+pixelsortr@users.noreply.github.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: Devin Gould <djgould0628@gmail.com>
Co-authored-by: Dipta Mahardhika <146386738+d-mahard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: James Delorey <jdelorey@cloudflare.com>
Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>
sestinj added a commit that referenced this pull request Jun 6, 2024
* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* Drafted max depth changes

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (#1287)

* Corrections to indexDocs params

* adjust toCopy (#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* convert to use interface, fix type-related bug, more

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* add Docs wrong values

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* protocol stuff

* 🐛 fix prompt file loading bug

* small corrections, some todos

* docs: add setup guide for OpenRouter (#1284)

* Update preIndexedDocs.ts (#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* Fixes for dialog, remove logging, indexing corrections

* cleanup

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* Make github crawler find default branch

* Cleanup

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* visibility not adjusting

* Smooth scrolling until mouse used

* Use smooth transition

* Cleanup

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* feat: Add cloudflare as provider

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

* 🔥 remove unused kotlin test

* 🧑‍💻 ./gradlew build

* codestral fim template

* add additional llama.cpp params

* feat:Add promptPath configuration to use promptFolder from JSON file in load.ts (#1377)

Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>

* Full project file path in context (#1407)

* Full workspace file path when using @OPEN Files

* Full project file path for @Files and 'active file' context

* FileTreeContextProvider uses splitPath from util instead of local copy

* relative-to-root file paths for rag retrieval

* ✨ jetbrains .continuerc.json support

* tweak

* ✨ allow non git tracked .prompts folder

* ✨ currentFile in prompt files

* explain the purpose of sign in

* help users remove free trial models

* ⚡️ improved codestral multi-file prompt template

* better filtering of model artifacts

* improve sign in flow

* small tweaks

* ✨ add gitRepo and completionId to dev data

* add unique id to autocomplete dev data

* fix build

* update pluginVersion

* fix intellij build

* feat(embeddings): add gemini provider (#1362)

* docs(walkthroughs): use correct table name for 'tag_catalog'

* feat(embeddings): add gemini

* duplicate code deletion

* docs(contributing): update incorrect instructions

* revert eslint changes

* docs(embeddings): use correct gemini model name

* Delete package.json

* Feat/gemini flash (#1352)

* Remove duplicate item from array

* Add references to Gemini Flash

* Update documentation to ref Gemini Flash

* Doc: Add IPEX-LLM model provider (#1417)

* Add related doc for IPEX-LLM accelerated Ollama provider

* Add description in providor title and other small updates

* small tweaks

* add span (#1374)

* 👷 add node_sqlite3 to binary/build

* fix build

* refactor build util

* fix terminal copying

* add getSession, updateSession

* fix build errors

* no proxy option

* fix potential config loading bug

* feat: Add support for Cloudflare AI Gateway (#1425)

Co-authored-by: jdelorey@cloudflare.com <jdelorey@cloudflare.com>

* install swc --save-dev

* fix template path

* 🧑‍💻 speed up debugging

* improving templating paths disambiguation

* autocomplete stopping improvement

* ⚡️ increase cache hit rate for autocomplete

* ⚡️ autocomplete improvements

* ⚡️ make autocomplete more token efficient

* 🐛 don't override max tokens for local models

* 🚑 fix onboarding loop

* build errs

---------

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Justin Milner <justinmilner1@gmail.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: James Delorey <jdelorey@cloudflare.com>
Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Yuwen Hu <54161268+Oscilloscope98@users.noreply.github.com>
Co-authored-by: James Delorey <deloreyjmi@gmail.com>
sestinj added a commit that referenced this pull request Jun 23, 2024
* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* Fixes for dialog, remove logging, indexing corrections

* cleanup

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* Make github crawler find default branch

* Cleanup

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* visibility not adjusting

* Smooth scrolling until mouse used

* Use smooth transition

* Cleanup

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* feat: Add cloudflare as provider

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

* 🔥 remove unused kotlin test

* 🧑‍💻 ./gradlew build

* codestral fim template

* add additional llama.cpp params

* feat:Add promptPath configuration to use promptFolder from JSON file in load.ts (#1377)

Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>

* Full project file path in context (#1407)

* Full workspace file path when using @OPEN Files

* Full project file path for @Files and 'active file' context

* FileTreeContextProvider uses splitPath from util instead of local copy

* relative-to-root file paths for rag retrieval

* ✨ jetbrains .continuerc.json support

* tweak

* ✨ allow non git tracked .prompts folder

* ✨ currentFile in prompt files

* explain the purpose of sign in

* help users remove free trial models

* ⚡️ improved codestral multi-file prompt template

* better filtering of model artifacts

* improve sign in flow

* small tweaks

* ✨ add gitRepo and completionId to dev data

* add unique id to autocomplete dev data

* fix build

* update pluginVersion

* fix intellij build

* feat(embeddings): add gemini provider (#1362)

* docs(walkthroughs): use correct table name for 'tag_catalog'

* feat(embeddings): add gemini

* duplicate code deletion

* docs(contributing): update incorrect instructions

* revert eslint changes

* docs(embeddings): use correct gemini model name

* Delete package.json

* Feat/gemini flash (#1352)

* Remove duplicate item from array

* Add references to Gemini Flash

* Update documentation to ref Gemini Flash

* Doc: Add IPEX-LLM model provider (#1417)

* Add related doc for IPEX-LLM accelerated Ollama provider

* Add description in providor title and other small updates

* small tweaks

* add span (#1374)

* 👷 add node_sqlite3 to binary/build

* fix build

* refactor build util

* fix terminal copying

* add getSession, updateSession

* fix build errors

* no proxy option

* fix potential config loading bug

* feat: Add support for Cloudflare AI Gateway (#1425)

Co-authored-by: jdelorey@cloudflare.com <jdelorey@cloudflare.com>

* install swc --save-dev

* fix template path

* 🧑‍💻 speed up debugging

* improving templating paths disambiguation

* autocomplete stopping improvement

* ⚡️ increase cache hit rate for autocomplete

* ⚡️ autocomplete improvements

* ⚡️ make autocomplete more token efficient

* 🐛 don't override max tokens for local models

* 🚑 fix onboarding loop

* build errs

* 🔥 remove duplicate defs

* update intellij version

* docs: add fork instructions (#1429)

* fix: update streamResponse function to use streaming decoding (#1436)

* fix: sqlite binary build on fresh clone (#1433)

* exponential backoff if embedding is empty

* ✏️  model name typo

* better terminal code block detection

* 🐛 fix embeddings vector size mismatch bug

* Enable Gemini system message use (#1441)

Older versions of the Google API apparently didn't
support passing a "system" parameter so a shim was
used here to convert such a parameter into the
first user message instead. This is no longer
necessary as of the v1beta API, so this change
makes sure the shim is only applied if the user
has specified API version v1. I should also note
that there may still be a bug with this method if
using v1; the reason I found this is I was
experiencing a bug where the message ultimately
being sent after applying the shim was [Object]
[object] or something like that. I fixed it this
way because the system message shouldn't be
removed with v1beta (and presumably later
versions)

* feat(gui): add ability to change the session title

* 🧑‍💻 patch jest tests

* autocomplete on by default jetbrains

* more progress on tests

* fix(core): remove eslint config and fix errors (#1457)

* 🚧 WIP prepackage cross platform

* ✨ deepseek provider

* no multiline if midline

* decide multiline per language

* autocomplete postprocessing improvements

* ✨ code linking

* improve line numbers for linking

* ✨ switch between autocomplete models

* 🚧 wip icons for context providers

* allow comments in config.json (#1470)

* ✨ comments in config.json

* ✨ file association for .jsonc

* Update templates.ts (#1447)

Jupiter is still the 5th planet.

* small tweaks to session title input

* Feat/improve gemini api calling (#1469)

* Reformat system message for Gemini v1beta

* Fix mistakenly inverted logic

* Convert Continue options to Gemini API format

* ⚡️ filter out extreme repetitions from autocomplete

* don't render the title of some context providers

* ✨ support for all context providers in .prompt files

* ✨ feedback mechanism for autocomplete

* better getOpenFiles

* make faviconUrl optional

* 🐛 remove parsing response

* publish stubs (#1472)

* 💚 fix armhf packaging

* 💚 update package.json

* 💚 update package.json

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🎨 update url

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 force CI run because VS Code publish failed

* 🔖 update package.json version

* 📌 pin darwin-x64 runner image to macos-12

* 📌 also pin darwin-arm64 to macos-12

* 💚 also make official releases for pre-release

* ✏️ fix preview.yaml indentation

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json versino

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* ci fix

* 💚 wip

* 💚 don't re-install esbuild

* 🔖 update package.json version

* 🐛 fix URLs in client

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🔖 version 131

* 🐛 fix merge

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 🐛 fix remote config

* ⚡️ system message migration

* 133

* 🔖 package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 update preview.yaml

* 🔖 update package.json version

* log

* 💚 reinstall esbuild

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 Update package.json version [skip ci]

* 🔒️ security improvements

* 💚 testing ci

* 💚 fix armhf packaging

* 🎨 update url

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* 💚 wip

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🐛 fix merge

* 💚 force ci run

* 👷 update preview.yaml

* 💚 force ci run

* 🔒️ feature flags for free trial protection

* 🎨 fix launchdarkly init

* 🎨 catch launchdarkly errors

* 💚 Add GitHub Actions

* 📝 add README for continue-deploy

* 📝 git push note

* 👔 fill in stubs for remote config

* 🚸 stop github login request

* 💚 update CI to use .nvmrc

* 🔒️ security improvements

* 🔖 update version

* 💚 Update package.json version [skip ci]

* ✨ continue server client

* 🎨 clean up stubs

* 💚 Update package.json version [skip ci]

* 🎨 send 'repo' in indexing/cache request

* 🔥 remove codeql.yaml

* 🔊 log full text of index cache errors

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 run testPackaging.js in CI

* 👷 print all missing files

* 🐛 correct linux path

* 🔊 log grandgrandparent folder

* 💚 testing ci

* 💚 fix ci

* 💚 fix armhf packaging

* 💚 update package.json

* 💚 update package.json

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🎨 update url

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 force CI run because VS Code publish failed

* 🔖 update package.json version

* 📌 pin darwin-x64 runner image to macos-12

* 📌 also pin darwin-arm64 to macos-12

* 💚 also make official releases for pre-release

* ✏️ fix preview.yaml indentation

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json versino

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* ci fix

* 💚 wip

* 💚 don't re-install esbuild

* 🔖 update package.json version

* 🐛 fix URLs in client

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🔖 version 131

* 🐛 fix merge

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 🐛 fix remote config

* ⚡️ system message migration

* 133

* 🔖 package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 update preview.yaml

* 🔖 update package.json version

* log

* 💚 reinstall esbuild

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 Update package.json version [skip ci]

* 🔒️ security improvements

* 💚 testing ci

* 💚 fix armhf packaging

* 🎨 update url

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* 💚 wip

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🐛 fix merge

* 💚 force ci run

* 👷 update preview.yaml

* 💚 force ci run

* 🔒️ feature flags for free trial protection

* 🎨 fix launchdarkly init

* 🎨 catch launchdarkly errors

* 🔒️ v1 header

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔀 merge fixes

* 🔀 another merge fix

* 👷 update ci for refactor-core

* 👷 remove refactor-core from ci

* 🔖 update package.json version

* 🚚 fix ci

* 🔖 update package.json version

* 🎨 use telemetry to get free trial headers

* 🔖 version update

* 🎨 remove launchdarkly from headers

* 🎨 update server auth

* 🩹 update def of connected

* 🔖 version update

* 🔖 update version

* update main.yaml

* version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* fix codesral prompt

* version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* v

* update version

* 💚 Update package.json version [skip ci]

* update package.json version

* Changes

* remove README.md

---------

Co-authored-by: GitHub Action <action@github.com>

* update version

* fix jetbrains autocomplete alignment

* 🐛 fix getOpenFiles uri bug

* update version

* ⚡️ use transactions for autocomplete cache

* catch write errors in kotlin if core binary stopped

* ✨ many jetbrains improvements

* JetBrains inline edit fix

* setupCa in vscode extension

* 🐛 a few jetbrains fixes

* update version

* small color theme fix

* Jupiter is not the 9th planet 😉 (#1475)

If the reference to "after Mars," is
desired for some reason, punctuation should
probably be added for clarity. E.g., "planet,
after Mars,", or "planet, following Mars,". Note
also that because this is a FIM example and "the
5th" is part of the sentence to be filled, it
shouldn't be included as part of the completion.

* Multi-Build/Package VS Code extensions on single computer. (#1473)

* added try catch on newly added code to buildjs that copies node_sqlite3 to a build directory that may not exist

* fix typo extensioins -> extensions

* added new npm command to build for all platforms

* started adding code to download the ripgrep binaries, will have to finish at a later date

* - added platforms global variable
- added check for --all parameter
- moved alpine check to utils
- moved all packaging code to package()
- added links to esbuild binaries
- chaged code in IIFE to either package for all or package for target

* moved alpine config to utils

* added the code that will download the ripgrep binaries

* added npm run script package-all which will run the package-all.js script

* added package-all script which will package all major builds

* - commented out old downloadEsbuildBinary and rewrote it
- finished the downloadRipgrepBinary() and exported it

* - added back some of the old code to make this script reusable
- commented out the esbuild download and install in favor of downloading the prebuilt binary
- download the ripgrep binary
- containerized the all of the package code into package() and call it in the IIFE

* added a check for the --target flag and append it to the vsce command

* removed unused variable

* Handle binary blobs (#1493)

* fix(core): use `TextDecoderStream` for stream response (#1498)

* CON-240: Updated FileContextProvider, FolderContextProvider and useSubmenuContextProvider to increment display of path parts to ensure unique displays when duplicates exist in the items list (#1494)

* Bedrock client refactoring and move to @aws-sdk/credential-providers (#1491)

* Refactor Bedrock LLM client

- Removed unused AWS auth logic
- Simplified message/content conversion

* Improve AWS credentials handling for Bedrock models
- Using @aws-sdk/credential-providers to support wider range of credential provider options
- Removing custom logic of parsing aws credentials file

---------

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>

* feat(core): add support for Llama models on Bedrock (#1499)

This commit adds support for streaming completions from Llama models alongside with Anthropic's Claude on Bedrock. Key changes:

- Introduce a `BedrockModelToolkit` interface to encapsulate model-specific logic for generating commands and unwrapping response chunks
- Implement `AnthropicClaude3Toolkit` for Claude model
- Implement `Llama3Toolkit` for Llama models
- Refactor `_streamChat` method to use the appropriate toolkit based on the selected model
- Clean up code formatting and remove unused imports

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>

* Improved code linking (#1500)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* 🐛 fix split of undefined bug

* upgrade version

* 📝 `config.ts` is a TypeScript file, not a Python file (#1504)

* Feat/gemini error handling (#1511)

* Verify response content exists before parsing

* Streamline response validation logic

* Fix: Correct codestral model name typo in docs (#1507)

* Bugfix for /comment slash command which does nothing. (#1512)

* - fixed a bug where /comment doesn't actually do anything unless prompted to.
- if the user doesn't provide input after /comment, replace it with default /comment input found in comment.ts

* added comment for clarity

* Project file path in LLM context for highlighted code (#1509)

* 🐛 deepseek max stop words

* Add stable versions of latest gemini models (#1520)

* 🐛 fix type collision between jest and mocha

* Dev (#1521)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* continue proxy FIM support

* warn user if potentially dangerous command is generated

* tab autocomplete docs

* request description of cmd to be generated if not provided

* refactor(gui): break down model config components

* feat(gui): Add Azure as a provider

* feat(gui): more config for azure provider

* feat: update docs and input labelling

* fix(gui): typo

* docs: fix typo on config dogs

* Update preIndexedDocs.ts (#1527)

Added Godot documentation to preIndexedDocs.ts

* truncate api.deepseek.com stop tokens list

* use a default apiVersion

* avoid null values in config.json

* ✨ claude 3.5 sonnet

* tweak claude3.5 display

* only allow tcp connections locally (#1525)

* fix ollama onboarding (#1539)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* continue proxy FIM support

* warn user if potentially dangerous command is generated

* tab autocomplete docs

* docs: update PR template (#1531)

* chore: add docs to install script (#1533)

* fix(extensions): schema for db ctx provider (#1534)

* fix(extensions): schema for db ctx provider

* fix: invalid enum

* prettierignore

* docs: add docs and schema for "OS" provider (#1536)

* tests (#1501)

* 👷 CI for jetbrains

* default working dir

* changelog

* build binaries

* binary testing setup

* idesettings

* core binary testing

* run binary tests in ci

* remove unused targets

* needs build

* console.log bin contents

* fix ci

* fix win32 binary download

* test

* no linux arm64

* macos latest

* macos-12

* binary permissions

* upload logs

* fix

* upload full folder as binary artifact

* test

* test macos only

* set full execute permissions

* copy sqlite binary

* cd

* it worked!

* build again in test job

* debug

* remove timeout

* info

* log

* log2

* more logs

* catch

* fewer logs

* test all platforms

* test downloaded artifact

* needs build

* updates

* build

* false

* release

* add tag and upload binaryes

* change tag name

* proper artifact upload

* jest updates

* ✅ generate a few unit tests with Continue

* fix imports related to IdeSettings

* run tsc on PRs

* remove shareSession command (unused)

* update release process

* update plugin version

* don't show ghost text when jetbrains completion visible

* run jetbrains ci in main

* check ts in dev

* ignore .env

* 🚑 fix constant warnings when onboarding with Ollama

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* add openai api key to env for tests

* cross-platform NODE_OPTIONS env var

* 🐛 fix regression in /edit slash command

* upgrade package.json version

* fix merge mistake

---------

Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Justin Milner <justinmilner1@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: James Delorey <jdelorey@cloudflare.com>
Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Yuwen Hu <54161268+Oscilloscope98@users.noreply.github.com>
Co-authored-by: James Delorey <deloreyjmi@gmail.com>
Co-authored-by: Priyash <38959321+priyashpatil@users.noreply.github.com>
Co-authored-by: Sadao Hiratsuka <sh2@pop01.odn.ne.jp>
Co-authored-by: fry69 <142489379+fry69@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: maxxrdrgz <maxxrdrgz@gmail.com>
Co-authored-by: John Wang <jbw48@cornell.edu>
Co-authored-by: Reo <reosablo@users.noreply.github.com>
Co-authored-by: Scott Schluer <scott.schluer@gmail.com>
Co-authored-by: Ruben Kostandyan <30292877+KoStard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: 百地 希留耶 <65301509+KiruyaMomochi@users.noreply.github.com>
Co-authored-by: Mark Percival <m@mdp.im>
Co-authored-by: casscarpendale <89478554+casscarpendale@users.noreply.github.com>
Co-authored-by: Jason Jacobs <nerfnerd@gmail.com>
sestinj added a commit that referenced this pull request Jun 23, 2024
* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs
sestinj added a commit that referenced this pull request Jun 23, 2024
* feature flag (#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* Fixes for dialog, remove logging, indexing corrections

* cleanup

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* Make github crawler find default branch

* Cleanup

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* visibility not adjusting

* Smooth scrolling until mouse used

* Use smooth transition

* Cleanup

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* feat: Add cloudflare as provider

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

* 🔥 remove unused kotlin test

* 🧑‍💻 ./gradlew build

* codestral fim template

* add additional llama.cpp params

* feat:Add promptPath configuration to use promptFolder from JSON file in load.ts (#1377)

Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>

* Full project file path in context (#1407)

* Full workspace file path when using @OPEN Files

* Full project file path for @Files and 'active file' context

* FileTreeContextProvider uses splitPath from util instead of local copy

* relative-to-root file paths for rag retrieval

* ✨ jetbrains .continuerc.json support

* tweak

* ✨ allow non git tracked .prompts folder

* ✨ currentFile in prompt files

* explain the purpose of sign in

* help users remove free trial models

* ⚡️ improved codestral multi-file prompt template

* better filtering of model artifacts

* improve sign in flow

* small tweaks

* ✨ add gitRepo and completionId to dev data

* add unique id to autocomplete dev data

* fix build

* update pluginVersion

* fix intellij build

* feat(embeddings): add gemini provider (#1362)

* docs(walkthroughs): use correct table name for 'tag_catalog'

* feat(embeddings): add gemini

* duplicate code deletion

* docs(contributing): update incorrect instructions

* revert eslint changes

* docs(embeddings): use correct gemini model name

* Delete package.json

* Feat/gemini flash (#1352)

* Remove duplicate item from array

* Add references to Gemini Flash

* Update documentation to ref Gemini Flash

* Doc: Add IPEX-LLM model provider (#1417)

* Add related doc for IPEX-LLM accelerated Ollama provider

* Add description in providor title and other small updates

* small tweaks

* add span (#1374)

* 👷 add node_sqlite3 to binary/build

* fix build

* refactor build util

* fix terminal copying

* add getSession, updateSession

* fix build errors

* no proxy option

* fix potential config loading bug

* feat: Add support for Cloudflare AI Gateway (#1425)

Co-authored-by: jdelorey@cloudflare.com <jdelorey@cloudflare.com>

* install swc --save-dev

* fix template path

* 🧑‍💻 speed up debugging

* improving templating paths disambiguation

* autocomplete stopping improvement

* ⚡️ increase cache hit rate for autocomplete

* ⚡️ autocomplete improvements

* ⚡️ make autocomplete more token efficient

* 🐛 don't override max tokens for local models

* 🚑 fix onboarding loop

* build errs

* 🔥 remove duplicate defs

* update intellij version

* docs: add fork instructions (#1429)

* fix: update streamResponse function to use streaming decoding (#1436)

* fix: sqlite binary build on fresh clone (#1433)

* exponential backoff if embedding is empty

* ✏️  model name typo

* better terminal code block detection

* 🐛 fix embeddings vector size mismatch bug

* Enable Gemini system message use (#1441)

Older versions of the Google API apparently didn't
support passing a "system" parameter so a shim was
used here to convert such a parameter into the
first user message instead. This is no longer
necessary as of the v1beta API, so this change
makes sure the shim is only applied if the user
has specified API version v1. I should also note
that there may still be a bug with this method if
using v1; the reason I found this is I was
experiencing a bug where the message ultimately
being sent after applying the shim was [Object]
[object] or something like that. I fixed it this
way because the system message shouldn't be
removed with v1beta (and presumably later
versions)

* feat(gui): add ability to change the session title

* 🧑‍💻 patch jest tests

* autocomplete on by default jetbrains

* more progress on tests

* fix(core): remove eslint config and fix errors (#1457)

* 🚧 WIP prepackage cross platform

* ✨ deepseek provider

* no multiline if midline

* decide multiline per language

* autocomplete postprocessing improvements

* ✨ code linking

* improve line numbers for linking

* ✨ switch between autocomplete models

* 🚧 wip icons for context providers

* allow comments in config.json (#1470)

* ✨ comments in config.json

* ✨ file association for .jsonc

* Update templates.ts (#1447)

Jupiter is still the 5th planet.

* small tweaks to session title input

* Feat/improve gemini api calling (#1469)

* Reformat system message for Gemini v1beta

* Fix mistakenly inverted logic

* Convert Continue options to Gemini API format

* ⚡️ filter out extreme repetitions from autocomplete

* don't render the title of some context providers

* ✨ support for all context providers in .prompt files

* ✨ feedback mechanism for autocomplete

* better getOpenFiles

* make faviconUrl optional

* 🐛 remove parsing response

* publish stubs (#1472)

* 💚 fix armhf packaging

* 💚 update package.json

* 💚 update package.json

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🎨 update url

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 force CI run because VS Code publish failed

* 🔖 update package.json version

* 📌 pin darwin-x64 runner image to macos-12

* 📌 also pin darwin-arm64 to macos-12

* 💚 also make official releases for pre-release

* ✏️ fix preview.yaml indentation

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json versino

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* ci fix

* 💚 wip

* 💚 don't re-install esbuild

* 🔖 update package.json version

* 🐛 fix URLs in client

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🔖 version 131

* 🐛 fix merge

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 🐛 fix remote config

* ⚡️ system message migration

* 133

* 🔖 package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 update preview.yaml

* 🔖 update package.json version

* log

* 💚 reinstall esbuild

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 Update package.json version [skip ci]

* 🔒️ security improvements

* 💚 testing ci

* 💚 fix armhf packaging

* 🎨 update url

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* 💚 wip

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🐛 fix merge

* 💚 force ci run

* 👷 update preview.yaml

* 💚 force ci run

* 🔒️ feature flags for free trial protection

* 🎨 fix launchdarkly init

* 🎨 catch launchdarkly errors

* 💚 Add GitHub Actions

* 📝 add README for continue-deploy

* 📝 git push note

* 👔 fill in stubs for remote config

* 🚸 stop github login request

* 💚 update CI to use .nvmrc

* 🔒️ security improvements

* 🔖 update version

* 💚 Update package.json version [skip ci]

* ✨ continue server client

* 🎨 clean up stubs

* 💚 Update package.json version [skip ci]

* 🎨 send 'repo' in indexing/cache request

* 🔥 remove codeql.yaml

* 🔊 log full text of index cache errors

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 run testPackaging.js in CI

* 👷 print all missing files

* 🐛 correct linux path

* 🔊 log grandgrandparent folder

* 💚 testing ci

* 💚 fix ci

* 💚 fix armhf packaging

* 💚 update package.json

* 💚 update package.json

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🎨 update url

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 force CI run because VS Code publish failed

* 🔖 update package.json version

* 📌 pin darwin-x64 runner image to macos-12

* 📌 also pin darwin-arm64 to macos-12

* 💚 also make official releases for pre-release

* ✏️ fix preview.yaml indentation

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json versino

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* ci fix

* 💚 wip

* 💚 don't re-install esbuild

* 🔖 update package.json version

* 🐛 fix URLs in client

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🔖 version 131

* 🐛 fix merge

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 🐛 fix remote config

* ⚡️ system message migration

* 133

* 🔖 package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 update preview.yaml

* 🔖 update package.json version

* log

* 💚 reinstall esbuild

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 Update package.json version [skip ci]

* 🔒️ security improvements

* 💚 testing ci

* 💚 fix armhf packaging

* 🎨 update url

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* 💚 wip

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🐛 fix merge

* 💚 force ci run

* 👷 update preview.yaml

* 💚 force ci run

* 🔒️ feature flags for free trial protection

* 🎨 fix launchdarkly init

* 🎨 catch launchdarkly errors

* 🔒️ v1 header

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔀 merge fixes

* 🔀 another merge fix

* 👷 update ci for refactor-core

* 👷 remove refactor-core from ci

* 🔖 update package.json version

* 🚚 fix ci

* 🔖 update package.json version

* 🎨 use telemetry to get free trial headers

* 🔖 version update

* 🎨 remove launchdarkly from headers

* 🎨 update server auth

* 🩹 update def of connected

* 🔖 version update

* 🔖 update version

* update main.yaml

* version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* fix codesral prompt

* version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* v

* update version

* 💚 Update package.json version [skip ci]

* update package.json version

* Changes

* remove README.md

---------

Co-authored-by: GitHub Action <action@github.com>

* update version

* fix jetbrains autocomplete alignment

* 🐛 fix getOpenFiles uri bug

* update version

* ⚡️ use transactions for autocomplete cache

* catch write errors in kotlin if core binary stopped

* ✨ many jetbrains improvements

* JetBrains inline edit fix

* setupCa in vscode extension

* 🐛 a few jetbrains fixes

* update version

* small color theme fix

* Jupiter is not the 9th planet 😉 (#1475)

If the reference to "after Mars," is
desired for some reason, punctuation should
probably be added for clarity. E.g., "planet,
after Mars,", or "planet, following Mars,". Note
also that because this is a FIM example and "the
5th" is part of the sentence to be filled, it
shouldn't be included as part of the completion.

* Multi-Build/Package VS Code extensions on single computer. (#1473)

* added try catch on newly added code to buildjs that copies node_sqlite3 to a build directory that may not exist

* fix typo extensioins -> extensions

* added new npm command to build for all platforms

* started adding code to download the ripgrep binaries, will have to finish at a later date

* - added platforms global variable
- added check for --all parameter
- moved alpine check to utils
- moved all packaging code to package()
- added links to esbuild binaries
- chaged code in IIFE to either package for all or package for target

* moved alpine config to utils

* added the code that will download the ripgrep binaries

* added npm run script package-all which will run the package-all.js script

* added package-all script which will package all major builds

* - commented out old downloadEsbuildBinary and rewrote it
- finished the downloadRipgrepBinary() and exported it

* - added back some of the old code to make this script reusable
- commented out the esbuild download and install in favor of downloading the prebuilt binary
- download the ripgrep binary
- containerized the all of the package code into package() and call it in the IIFE

* added a check for the --target flag and append it to the vsce command

* removed unused variable

* Handle binary blobs (#1493)

* fix(core): use `TextDecoderStream` for stream response (#1498)

* CON-240: Updated FileContextProvider, FolderContextProvider and useSubmenuContextProvider to increment display of path parts to ensure unique displays when duplicates exist in the items list (#1494)

* Bedrock client refactoring and move to @aws-sdk/credential-providers (#1491)

* Refactor Bedrock LLM client

- Removed unused AWS auth logic
- Simplified message/content conversion

* Improve AWS credentials handling for Bedrock models
- Using @aws-sdk/credential-providers to support wider range of credential provider options
- Removing custom logic of parsing aws credentials file

---------

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>

* feat(core): add support for Llama models on Bedrock (#1499)

This commit adds support for streaming completions from Llama models alongside with Anthropic's Claude on Bedrock. Key changes:

- Introduce a `BedrockModelToolkit` interface to encapsulate model-specific logic for generating commands and unwrapping response chunks
- Implement `AnthropicClaude3Toolkit` for Claude model
- Implement `Llama3Toolkit` for Llama models
- Refactor `_streamChat` method to use the appropriate toolkit based on the selected model
- Clean up code formatting and remove unused imports

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>

* Improved code linking (#1500)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* 🐛 fix split of undefined bug

* upgrade version

* 📝 `config.ts` is a TypeScript file, not a Python file (#1504)

* Feat/gemini error handling (#1511)

* Verify response content exists before parsing

* Streamline response validation logic

* Fix: Correct codestral model name typo in docs (#1507)

* Bugfix for /comment slash command which does nothing. (#1512)

* - fixed a bug where /comment doesn't actually do anything unless prompted to.
- if the user doesn't provide input after /comment, replace it with default /comment input found in comment.ts

* added comment for clarity

* Project file path in LLM context for highlighted code (#1509)

* 🐛 deepseek max stop words

* Add stable versions of latest gemini models (#1520)

* 🐛 fix type collision between jest and mocha

* Dev (#1521)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* continue proxy FIM support

* warn user if potentially dangerous command is generated

* tab autocomplete docs

* request description of cmd to be generated if not provided

* refactor(gui): break down model config components

* feat(gui): Add Azure as a provider

* feat(gui): more config for azure provider

* feat: update docs and input labelling

* fix(gui): typo

* docs: fix typo on config dogs

* Update preIndexedDocs.ts (#1527)

Added Godot documentation to preIndexedDocs.ts

* truncate api.deepseek.com stop tokens list

* use a default apiVersion

* avoid null values in config.json

* ✨ claude 3.5 sonnet

* tweak claude3.5 display

* only allow tcp connections locally (#1525)

* fix ollama onboarding (#1539)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* continue proxy FIM support

* warn user if potentially dangerous command is generated

* tab autocomplete docs

* docs: update PR template (#1531)

* chore: add docs to install script (#1533)

* fix(extensions): schema for db ctx provider (#1534)

* fix(extensions): schema for db ctx provider

* fix: invalid enum

* prettierignore

* docs: add docs and schema for "OS" provider (#1536)

* tests (#1501)

* 👷 CI for jetbrains

* default working dir

* changelog

* build binaries

* binary testing setup

* idesettings

* core binary testing

* run binary tests in ci

* remove unused targets

* needs build

* console.log bin contents

* fix ci

* fix win32 binary download

* test

* no linux arm64

* macos latest

* macos-12

* binary permissions

* upload logs

* fix

* upload full folder as binary artifact

* test

* test macos only

* set full execute permissions

* copy sqlite binary

* cd

* it worked!

* build again in test job

* debug

* remove timeout

* info

* log

* log2

* more logs

* catch

* fewer logs

* test all platforms

* test downloaded artifact

* needs build

* updates

* build

* false

* release

* add tag and upload binaryes

* change tag name

* proper artifact upload

* jest updates

* ✅ generate a few unit tests with Continue

* fix imports related to IdeSettings

* run tsc on PRs

* remove shareSession command (unused)

* update release process

* update plugin version

* don't show ghost text when jetbrains completion visible

* run jetbrains ci in main

* check ts in dev

* ignore .env

* 🚑 fix constant warnings when onboarding with Ollama

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* add openai api key to env for tests

* cross-platform NODE_OPTIONS env var

* 🐛 fix regression in /edit slash command

* upgrade package.json version

* fix merge mistake

* update main.yaml

---------

Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Justin Milner <justinmilner1@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: James Delorey <jdelorey@cloudflare.com>
Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Yuwen Hu <54161268+Oscilloscope98@users.noreply.github.com>
Co-authored-by: James Delorey <deloreyjmi@gmail.com>
Co-authored-by: Priyash <38959321+priyashpatil@users.noreply.github.com>
Co-authored-by: Sadao Hiratsuka <sh2@pop01.odn.ne.jp>
Co-authored-by: fry69 <142489379+fry69@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: maxxrdrgz <maxxrdrgz@gmail.com>
Co-authored-by: John Wang <jbw48@cornell.edu>
Co-authored-by: Reo <reosablo@users.noreply.github.com>
Co-authored-by: Scott Schluer <scott.schluer@gmail.com>
Co-authored-by: Ruben Kostandyan <30292877+KoStard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: 百地 希留耶 <65301509+KiruyaMomochi@users.noreply.github.com>
Co-authored-by: Mark Percival <m@mdp.im>
Co-authored-by: casscarpendale <89478554+casscarpendale@users.noreply.github.com>
Co-authored-by: Jason Jacobs <nerfnerd@gmail.com>
sestinj added a commit that referenced this pull request Jun 23, 2024
* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* Fixes for dialog, remove logging, indexing corrections

* cleanup

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* Make github crawler find default branch

* Cleanup

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* visibility not adjusting

* Smooth scrolling until mouse used

* Use smooth transition

* Cleanup

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* feat: Add cloudflare as provider

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

* 🔥 remove unused kotlin test

* 🧑‍💻 ./gradlew build

* codestral fim template

* add additional llama.cpp params

* feat:Add promptPath configuration to use promptFolder from JSON file in load.ts (#1377)

Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>

* Full project file path in context (#1407)

* Full workspace file path when using @OPEN Files

* Full project file path for @Files and 'active file' context

* FileTreeContextProvider uses splitPath from util instead of local copy

* relative-to-root file paths for rag retrieval

* ✨ jetbrains .continuerc.json support

* tweak

* ✨ allow non git tracked .prompts folder

* ✨ currentFile in prompt files

* explain the purpose of sign in

* help users remove free trial models

* ⚡️ improved codestral multi-file prompt template

* better filtering of model artifacts

* improve sign in flow

* small tweaks

* ✨ add gitRepo and completionId to dev data

* add unique id to autocomplete dev data

* fix build

* update pluginVersion

* fix intellij build

* feat(embeddings): add gemini provider (#1362)

* docs(walkthroughs): use correct table name for 'tag_catalog'

* feat(embeddings): add gemini

* duplicate code deletion

* docs(contributing): update incorrect instructions

* revert eslint changes

* docs(embeddings): use correct gemini model name

* Delete package.json

* Feat/gemini flash (#1352)

* Remove duplicate item from array

* Add references to Gemini Flash

* Update documentation to ref Gemini Flash

* Doc: Add IPEX-LLM model provider (#1417)

* Add related doc for IPEX-LLM accelerated Ollama provider

* Add description in providor title and other small updates

* small tweaks

* add span (#1374)

* 👷 add node_sqlite3 to binary/build

* fix build

* refactor build util

* fix terminal copying

* add getSession, updateSession

* fix build errors

* no proxy option

* fix potential config loading bug

* feat: Add support for Cloudflare AI Gateway (#1425)

Co-authored-by: jdelorey@cloudflare.com <jdelorey@cloudflare.com>

* install swc --save-dev

* fix template path

* 🧑‍💻 speed up debugging

* improving templating paths disambiguation

* autocomplete stopping improvement

* ⚡️ increase cache hit rate for autocomplete

* ⚡️ autocomplete improvements

* ⚡️ make autocomplete more token efficient

* 🐛 don't override max tokens for local models

* 🚑 fix onboarding loop

* build errs

* 🔥 remove duplicate defs

* update intellij version

* docs: add fork instructions (#1429)

* fix: update streamResponse function to use streaming decoding (#1436)

* fix: sqlite binary build on fresh clone (#1433)

* exponential backoff if embedding is empty

* ✏️  model name typo

* better terminal code block detection

* 🐛 fix embeddings vector size mismatch bug

* Enable Gemini system message use (#1441)

Older versions of the Google API apparently didn't
support passing a "system" parameter so a shim was
used here to convert such a parameter into the
first user message instead. This is no longer
necessary as of the v1beta API, so this change
makes sure the shim is only applied if the user
has specified API version v1. I should also note
that there may still be a bug with this method if
using v1; the reason I found this is I was
experiencing a bug where the message ultimately
being sent after applying the shim was [Object]
[object] or something like that. I fixed it this
way because the system message shouldn't be
removed with v1beta (and presumably later
versions)

* feat(gui): add ability to change the session title

* 🧑‍💻 patch jest tests

* autocomplete on by default jetbrains

* more progress on tests

* fix(core): remove eslint config and fix errors (#1457)

* 🚧 WIP prepackage cross platform

* ✨ deepseek provider

* no multiline if midline

* decide multiline per language

* autocomplete postprocessing improvements

* ✨ code linking

* improve line numbers for linking

* ✨ switch between autocomplete models

* 🚧 wip icons for context providers

* allow comments in config.json (#1470)

* ✨ comments in config.json

* ✨ file association for .jsonc

* Update templates.ts (#1447)

Jupiter is still the 5th planet.

* small tweaks to session title input

* Feat/improve gemini api calling (#1469)

* Reformat system message for Gemini v1beta

* Fix mistakenly inverted logic

* Convert Continue options to Gemini API format

* ⚡️ filter out extreme repetitions from autocomplete

* don't render the title of some context providers

* ✨ support for all context providers in .prompt files

* ✨ feedback mechanism for autocomplete

* better getOpenFiles

* make faviconUrl optional

* 🐛 remove parsing response

* publish stubs (#1472)

* 💚 fix armhf packaging

* 💚 update package.json

* 💚 update package.json

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🎨 update url

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 force CI run because VS Code publish failed

* 🔖 update package.json version

* 📌 pin darwin-x64 runner image to macos-12

* 📌 also pin darwin-arm64 to macos-12

* 💚 also make official releases for pre-release

* ✏️ fix preview.yaml indentation

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json versino

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* ci fix

* 💚 wip

* 💚 don't re-install esbuild

* 🔖 update package.json version

* 🐛 fix URLs in client

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🔖 version 131

* 🐛 fix merge

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 🐛 fix remote config

* ⚡️ system message migration

* 133

* 🔖 package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 update preview.yaml

* 🔖 update package.json version

* log

* 💚 reinstall esbuild

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 Update package.json version [skip ci]

* 🔒️ security improvements

* 💚 testing ci

* 💚 fix armhf packaging

* 🎨 update url

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* 💚 wip

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🐛 fix merge

* 💚 force ci run

* 👷 update preview.yaml

* 💚 force ci run

* 🔒️ feature flags for free trial protection

* 🎨 fix launchdarkly init

* 🎨 catch launchdarkly errors

* 💚 Add GitHub Actions

* 📝 add README for continue-deploy

* 📝 git push note

* 👔 fill in stubs for remote config

* 🚸 stop github login request

* 💚 update CI to use .nvmrc

* 🔒️ security improvements

* 🔖 update version

* 💚 Update package.json version [skip ci]

* ✨ continue server client

* 🎨 clean up stubs

* 💚 Update package.json version [skip ci]

* 🎨 send 'repo' in indexing/cache request

* 🔥 remove codeql.yaml

* 🔊 log full text of index cache errors

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 run testPackaging.js in CI

* 👷 print all missing files

* 🐛 correct linux path

* 🔊 log grandgrandparent folder

* 💚 testing ci

* 💚 fix ci

* 💚 fix armhf packaging

* 💚 update package.json

* 💚 update package.json

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🎨 update url

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 force CI run because VS Code publish failed

* 🔖 update package.json version

* 📌 pin darwin-x64 runner image to macos-12

* 📌 also pin darwin-arm64 to macos-12

* 💚 also make official releases for pre-release

* ✏️ fix preview.yaml indentation

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json versino

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* ci fix

* 💚 wip

* 💚 don't re-install esbuild

* 🔖 update package.json version

* 🐛 fix URLs in client

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🔖 version 131

* 🐛 fix merge

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 🐛 fix remote config

* ⚡️ system message migration

* 133

* 🔖 package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 update preview.yaml

* 🔖 update package.json version

* log

* 💚 reinstall esbuild

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 Update package.json version [skip ci]

* 🔒️ security improvements

* 💚 testing ci

* 💚 fix armhf packaging

* 🎨 update url

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* 💚 wip

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🐛 fix merge

* 💚 force ci run

* 👷 update preview.yaml

* 💚 force ci run

* 🔒️ feature flags for free trial protection

* 🎨 fix launchdarkly init

* 🎨 catch launchdarkly errors

* 🔒️ v1 header

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔀 merge fixes

* 🔀 another merge fix

* 👷 update ci for refactor-core

* 👷 remove refactor-core from ci

* 🔖 update package.json version

* 🚚 fix ci

* 🔖 update package.json version

* 🎨 use telemetry to get free trial headers

* 🔖 version update

* 🎨 remove launchdarkly from headers

* 🎨 update server auth

* 🩹 update def of connected

* 🔖 version update

* 🔖 update version

* update main.yaml

* version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* fix codesral prompt

* version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* v

* update version

* 💚 Update package.json version [skip ci]

* update package.json version

* Changes

* remove README.md

---------

Co-authored-by: GitHub Action <action@github.com>

* update version

* fix jetbrains autocomplete alignment

* 🐛 fix getOpenFiles uri bug

* update version

* ⚡️ use transactions for autocomplete cache

* catch write errors in kotlin if core binary stopped

* ✨ many jetbrains improvements

* JetBrains inline edit fix

* setupCa in vscode extension

* 🐛 a few jetbrains fixes

* update version

* small color theme fix

* Jupiter is not the 9th planet 😉 (#1475)

If the reference to "after Mars," is
desired for some reason, punctuation should
probably be added for clarity. E.g., "planet,
after Mars,", or "planet, following Mars,". Note
also that because this is a FIM example and "the
5th" is part of the sentence to be filled, it
shouldn't be included as part of the completion.

* Multi-Build/Package VS Code extensions on single computer. (#1473)

* added try catch on newly added code to buildjs that copies node_sqlite3 to a build directory that may not exist

* fix typo extensioins -> extensions

* added new npm command to build for all platforms

* started adding code to download the ripgrep binaries, will have to finish at a later date

* - added platforms global variable
- added check for --all parameter
- moved alpine check to utils
- moved all packaging code to package()
- added links to esbuild binaries
- chaged code in IIFE to either package for all or package for target

* moved alpine config to utils

* added the code that will download the ripgrep binaries

* added npm run script package-all which will run the package-all.js script

* added package-all script which will package all major builds

* - commented out old downloadEsbuildBinary and rewrote it
- finished the downloadRipgrepBinary() and exported it

* - added back some of the old code to make this script reusable
- commented out the esbuild download and install in favor of downloading the prebuilt binary
- download the ripgrep binary
- containerized the all of the package code into package() and call it in the IIFE

* added a check for the --target flag and append it to the vsce command

* removed unused variable

* Handle binary blobs (#1493)

* fix(core): use `TextDecoderStream` for stream response (#1498)

* CON-240: Updated FileContextProvider, FolderContextProvider and useSubmenuContextProvider to increment display of path parts to ensure unique displays when duplicates exist in the items list (#1494)

* Bedrock client refactoring and move to @aws-sdk/credential-providers (#1491)

* Refactor Bedrock LLM client

- Removed unused AWS auth logic
- Simplified message/content conversion

* Improve AWS credentials handling for Bedrock models
- Using @aws-sdk/credential-providers to support wider range of credential provider options
- Removing custom logic of parsing aws credentials file

---------

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>

* feat(core): add support for Llama models on Bedrock (#1499)

This commit adds support for streaming completions from Llama models alongside with Anthropic's Claude on Bedrock. Key changes:

- Introduce a `BedrockModelToolkit` interface to encapsulate model-specific logic for generating commands and unwrapping response chunks
- Implement `AnthropicClaude3Toolkit` for Claude model
- Implement `Llama3Toolkit` for Llama models
- Refactor `_streamChat` method to use the appropriate toolkit based on the selected model
- Clean up code formatting and remove unused imports

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>

* Improved code linking (#1500)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* 🐛 fix split of undefined bug

* upgrade version

* 📝 `config.ts` is a TypeScript file, not a Python file (#1504)

* Feat/gemini error handling (#1511)

* Verify response content exists before parsing

* Streamline response validation logic

* Fix: Correct codestral model name typo in docs (#1507)

* Bugfix for /comment slash command which does nothing. (#1512)

* - fixed a bug where /comment doesn't actually do anything unless prompted to.
- if the user doesn't provide input after /comment, replace it with default /comment input found in comment.ts

* added comment for clarity

* Project file path in LLM context for highlighted code (#1509)

* 🐛 deepseek max stop words

* Add stable versions of latest gemini models (#1520)

* 🐛 fix type collision between jest and mocha

* Dev (#1521)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* continue proxy FIM support

* warn user if potentially dangerous command is generated

* tab autocomplete docs

* request description of cmd to be generated if not provided

* refactor(gui): break down model config components

* feat(gui): Add Azure as a provider

* feat(gui): more config for azure provider

* feat: update docs and input labelling

* fix(gui): typo

* docs: fix typo on config dogs

* Update preIndexedDocs.ts (#1527)

Added Godot documentation to preIndexedDocs.ts

* truncate api.deepseek.com stop tokens list

* use a default apiVersion

* avoid null values in config.json

* ✨ claude 3.5 sonnet

* tweak claude3.5 display

* only allow tcp connections locally (#1525)

* fix ollama onboarding (#1539)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* continue proxy FIM support

* warn user if potentially dangerous command is generated

* tab autocomplete docs

* docs: update PR template (#1531)

* chore: add docs to install script (#1533)

* fix(extensions): schema for db ctx provider (#1534)

* fix(extensions): schema for db ctx provider

* fix: invalid enum

* prettierignore

* docs: add docs and schema for "OS" provider (#1536)

* tests (#1501)

* 👷 CI for jetbrains

* default working dir

* changelog

* build binaries

* binary testing setup

* idesettings

* core binary testing

* run binary tests in ci

* remove unused targets

* needs build

* console.log bin contents

* fix ci

* fix win32 binary download

* test

* no linux arm64

* macos latest

* macos-12

* binary permissions

* upload logs

* fix

* upload full folder as binary artifact

* test

* test macos only

* set full execute permissions

* copy sqlite binary

* cd

* it worked!

* build again in test job

* debug

* remove timeout

* info

* log

* log2

* more logs

* catch

* fewer logs

* test all platforms

* test downloaded artifact

* needs build

* updates

* build

* false

* release

* add tag and upload binaryes

* change tag name

* proper artifact upload

* jest updates

* ✅ generate a few unit tests with Continue

* fix imports related to IdeSettings

* run tsc on PRs

* remove shareSession command (unused)

* update release process

* update plugin version

* don't show ghost text when jetbrains completion visible

* run jetbrains ci in main

* check ts in dev

* ignore .env

* 🚑 fix constant warnings when onboarding with Ollama

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* add openai api key to env for tests

* cross-platform NODE_OPTIONS env var

* 🐛 fix regression in /edit slash command

* upgrade package.json version

* fix merge mistake

* update main.yaml

* update main.yaml

---------

Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Justin Milner <justinmilner1@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: James Delorey <jdelorey@cloudflare.com>
Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Yuwen Hu <54161268+Oscilloscope98@users.noreply.github.com>
Co-authored-by: James Delorey <deloreyjmi@gmail.com>
Co-authored-by: Priyash <38959321+priyashpatil@users.noreply.github.com>
Co-authored-by: Sadao Hiratsuka <sh2@pop01.odn.ne.jp>
Co-authored-by: fry69 <142489379+fry69@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: maxxrdrgz <maxxrdrgz@gmail.com>
Co-authored-by: John Wang <jbw48@cornell.edu>
Co-authored-by: Reo <reosablo@users.noreply.github.com>
Co-authored-by: Scott Schluer <scott.schluer@gmail.com>
Co-authored-by: Ruben Kostandyan <30292877+KoStard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: 百地 希留耶 <65301509+KiruyaMomochi@users.noreply.github.com>
Co-authored-by: Mark Percival <m@mdp.im>
Co-authored-by: casscarpendale <89478554+casscarpendale@users.noreply.github.com>
Co-authored-by: Jason Jacobs <nerfnerd@gmail.com>
sestinj added a commit that referenced this pull request Jun 23, 2024
* 👷 remove win32-arm64 target

* Update build.js (#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (#1337)

* Fixes for dialog, remove logging, indexing corrections

* cleanup

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (#1288)

* Make github crawler find default branch

* Cleanup

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (#1353)

* 🎨 Refactor core (#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* visibility not adjusting

* Smooth scrolling until mouse used

* Use smooth transition

* Cleanup

* Free Trial Auth (#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* feat: Add cloudflare as provider

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

* 🔥 remove unused kotlin test

* 🧑‍💻 ./gradlew build

* codestral fim template

* add additional llama.cpp params

* feat:Add promptPath configuration to use promptFolder from JSON file in load.ts (#1377)

Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>

* Full project file path in context (#1407)

* Full workspace file path when using @OPEN Files

* Full project file path for @Files and 'active file' context

* FileTreeContextProvider uses splitPath from util instead of local copy

* relative-to-root file paths for rag retrieval

* ✨ jetbrains .continuerc.json support

* tweak

* ✨ allow non git tracked .prompts folder

* ✨ currentFile in prompt files

* explain the purpose of sign in

* help users remove free trial models

* ⚡️ improved codestral multi-file prompt template

* better filtering of model artifacts

* improve sign in flow

* small tweaks

* ✨ add gitRepo and completionId to dev data

* add unique id to autocomplete dev data

* fix build

* update pluginVersion

* fix intellij build

* feat(embeddings): add gemini provider (#1362)

* docs(walkthroughs): use correct table name for 'tag_catalog'

* feat(embeddings): add gemini

* duplicate code deletion

* docs(contributing): update incorrect instructions

* revert eslint changes

* docs(embeddings): use correct gemini model name

* Delete package.json

* Feat/gemini flash (#1352)

* Remove duplicate item from array

* Add references to Gemini Flash

* Update documentation to ref Gemini Flash

* Doc: Add IPEX-LLM model provider (#1417)

* Add related doc for IPEX-LLM accelerated Ollama provider

* Add description in providor title and other small updates

* small tweaks

* add span (#1374)

* 👷 add node_sqlite3 to binary/build

* fix build

* refactor build util

* fix terminal copying

* add getSession, updateSession

* fix build errors

* no proxy option

* fix potential config loading bug

* feat: Add support for Cloudflare AI Gateway (#1425)

Co-authored-by: jdelorey@cloudflare.com <jdelorey@cloudflare.com>

* install swc --save-dev

* fix template path

* 🧑‍💻 speed up debugging

* improving templating paths disambiguation

* autocomplete stopping improvement

* ⚡️ increase cache hit rate for autocomplete

* ⚡️ autocomplete improvements

* ⚡️ make autocomplete more token efficient

* 🐛 don't override max tokens for local models

* 🚑 fix onboarding loop

* build errs

* 🔥 remove duplicate defs

* update intellij version

* docs: add fork instructions (#1429)

* fix: update streamResponse function to use streaming decoding (#1436)

* fix: sqlite binary build on fresh clone (#1433)

* exponential backoff if embedding is empty

* ✏️  model name typo

* better terminal code block detection

* 🐛 fix embeddings vector size mismatch bug

* Enable Gemini system message use (#1441)

Older versions of the Google API apparently didn't
support passing a "system" parameter so a shim was
used here to convert such a parameter into the
first user message instead. This is no longer
necessary as of the v1beta API, so this change
makes sure the shim is only applied if the user
has specified API version v1. I should also note
that there may still be a bug with this method if
using v1; the reason I found this is I was
experiencing a bug where the message ultimately
being sent after applying the shim was [Object]
[object] or something like that. I fixed it this
way because the system message shouldn't be
removed with v1beta (and presumably later
versions)

* feat(gui): add ability to change the session title

* 🧑‍💻 patch jest tests

* autocomplete on by default jetbrains

* more progress on tests

* fix(core): remove eslint config and fix errors (#1457)

* 🚧 WIP prepackage cross platform

* ✨ deepseek provider

* no multiline if midline

* decide multiline per language

* autocomplete postprocessing improvements

* ✨ code linking

* improve line numbers for linking

* ✨ switch between autocomplete models

* 🚧 wip icons for context providers

* allow comments in config.json (#1470)

* ✨ comments in config.json

* ✨ file association for .jsonc

* Update templates.ts (#1447)

Jupiter is still the 5th planet.

* small tweaks to session title input

* Feat/improve gemini api calling (#1469)

* Reformat system message for Gemini v1beta

* Fix mistakenly inverted logic

* Convert Continue options to Gemini API format

* ⚡️ filter out extreme repetitions from autocomplete

* don't render the title of some context providers

* ✨ support for all context providers in .prompt files

* ✨ feedback mechanism for autocomplete

* better getOpenFiles

* make faviconUrl optional

* 🐛 remove parsing response

* publish stubs (#1472)

* 💚 fix armhf packaging

* 💚 update package.json

* 💚 update package.json

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🎨 update url

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 force CI run because VS Code publish failed

* 🔖 update package.json version

* 📌 pin darwin-x64 runner image to macos-12

* 📌 also pin darwin-arm64 to macos-12

* 💚 also make official releases for pre-release

* ✏️ fix preview.yaml indentation

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json versino

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* ci fix

* 💚 wip

* 💚 don't re-install esbuild

* 🔖 update package.json version

* 🐛 fix URLs in client

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🔖 version 131

* 🐛 fix merge

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 🐛 fix remote config

* ⚡️ system message migration

* 133

* 🔖 package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 update preview.yaml

* 🔖 update package.json version

* log

* 💚 reinstall esbuild

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 Update package.json version [skip ci]

* 🔒️ security improvements

* 💚 testing ci

* 💚 fix armhf packaging

* 🎨 update url

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* 💚 wip

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🐛 fix merge

* 💚 force ci run

* 👷 update preview.yaml

* 💚 force ci run

* 🔒️ feature flags for free trial protection

* 🎨 fix launchdarkly init

* 🎨 catch launchdarkly errors

* 💚 Add GitHub Actions

* 📝 add README for continue-deploy

* 📝 git push note

* 👔 fill in stubs for remote config

* 🚸 stop github login request

* 💚 update CI to use .nvmrc

* 🔒️ security improvements

* 🔖 update version

* 💚 Update package.json version [skip ci]

* ✨ continue server client

* 🎨 clean up stubs

* 💚 Update package.json version [skip ci]

* 🎨 send 'repo' in indexing/cache request

* 🔥 remove codeql.yaml

* 🔊 log full text of index cache errors

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 run testPackaging.js in CI

* 👷 print all missing files

* 🐛 correct linux path

* 🔊 log grandgrandparent folder

* 💚 testing ci

* 💚 fix ci

* 💚 fix armhf packaging

* 💚 update package.json

* 💚 update package.json

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 🎨 update url

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔖 update package.json version

* 💚 force CI run because VS Code publish failed

* 🔖 update package.json version

* 📌 pin darwin-x64 runner image to macos-12

* 📌 also pin darwin-arm64 to macos-12

* 💚 also make official releases for pre-release

* ✏️ fix preview.yaml indentation

* 🔖 update package.json version

* 🔖 update package.json version

* 🔖 update package.json versino

* 🔖 update package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* ci fix

* 💚 wip

* 💚 don't re-install esbuild

* 🔖 update package.json version

* 🐛 fix URLs in client

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🔖 version 131

* 🐛 fix merge

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 🐛 fix remote config

* ⚡️ system message migration

* 133

* 🔖 package.json version

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 👷 update preview.yaml

* 🔖 update package.json version

* log

* 💚 reinstall esbuild

* 💚 Update package.json version [skip ci]

* 💚 force ci run

* 💚 Update package.json version [skip ci]

* 🔒️ security improvements

* 💚 testing ci

* 💚 fix armhf packaging

* 🎨 update url

* 💚 use pnpm, not npm

* 💚 install pnpm

* 💚 pnpm install

* 💚 wip

* 🔊 log

* ➕ add esbuild as production dependency

* 🔊 hash by pnpm lock

* 🔊 log

* 🐛 fix merge

* 💚 force ci run

* 👷 update preview.yaml

* 💚 force ci run

* 🔒️ feature flags for free trial protection

* 🎨 fix launchdarkly init

* 🎨 catch launchdarkly errors

* 🔒️ v1 header

* 🔖 update package.json version

* 💚 Update package.json version [skip ci]

* 🔀 merge fixes

* 🔀 another merge fix

* 👷 update ci for refactor-core

* 👷 remove refactor-core from ci

* 🔖 update package.json version

* 🚚 fix ci

* 🔖 update package.json version

* 🎨 use telemetry to get free trial headers

* 🔖 version update

* 🎨 remove launchdarkly from headers

* 🎨 update server auth

* 🩹 update def of connected

* 🔖 version update

* 🔖 update version

* update main.yaml

* version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* fix codesral prompt

* version

* 💚 Update package.json version [skip ci]

* 💚 Update package.json version [skip ci]

* v

* update version

* 💚 Update package.json version [skip ci]

* update package.json version

* Changes

* remove README.md

---------

Co-authored-by: GitHub Action <action@github.com>

* update version

* fix jetbrains autocomplete alignment

* 🐛 fix getOpenFiles uri bug

* update version

* ⚡️ use transactions for autocomplete cache

* catch write errors in kotlin if core binary stopped

* ✨ many jetbrains improvements

* JetBrains inline edit fix

* setupCa in vscode extension

* 🐛 a few jetbrains fixes

* update version

* small color theme fix

* Jupiter is not the 9th planet 😉 (#1475)

If the reference to "after Mars," is
desired for some reason, punctuation should
probably be added for clarity. E.g., "planet,
after Mars,", or "planet, following Mars,". Note
also that because this is a FIM example and "the
5th" is part of the sentence to be filled, it
shouldn't be included as part of the completion.

* Multi-Build/Package VS Code extensions on single computer. (#1473)

* added try catch on newly added code to buildjs that copies node_sqlite3 to a build directory that may not exist

* fix typo extensioins -> extensions

* added new npm command to build for all platforms

* started adding code to download the ripgrep binaries, will have to finish at a later date

* - added platforms global variable
- added check for --all parameter
- moved alpine check to utils
- moved all packaging code to package()
- added links to esbuild binaries
- chaged code in IIFE to either package for all or package for target

* moved alpine config to utils

* added the code that will download the ripgrep binaries

* added npm run script package-all which will run the package-all.js script

* added package-all script which will package all major builds

* - commented out old downloadEsbuildBinary and rewrote it
- finished the downloadRipgrepBinary() and exported it

* - added back some of the old code to make this script reusable
- commented out the esbuild download and install in favor of downloading the prebuilt binary
- download the ripgrep binary
- containerized the all of the package code into package() and call it in the IIFE

* added a check for the --target flag and append it to the vsce command

* removed unused variable

* Handle binary blobs (#1493)

* fix(core): use `TextDecoderStream` for stream response (#1498)

* CON-240: Updated FileContextProvider, FolderContextProvider and useSubmenuContextProvider to increment display of path parts to ensure unique displays when duplicates exist in the items list (#1494)

* Bedrock client refactoring and move to @aws-sdk/credential-providers (#1491)

* Refactor Bedrock LLM client

- Removed unused AWS auth logic
- Simplified message/content conversion

* Improve AWS credentials handling for Bedrock models
- Using @aws-sdk/credential-providers to support wider range of credential provider options
- Removing custom logic of parsing aws credentials file

---------

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>

* feat(core): add support for Llama models on Bedrock (#1499)

This commit adds support for streaming completions from Llama models alongside with Anthropic's Claude on Bedrock. Key changes:

- Introduce a `BedrockModelToolkit` interface to encapsulate model-specific logic for generating commands and unwrapping response chunks
- Implement `AnthropicClaude3Toolkit` for Claude model
- Implement `Llama3Toolkit` for Llama models
- Refactor `_streamChat` method to use the appropriate toolkit based on the selected model
- Clean up code formatting and remove unused imports

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>

* Improved code linking (#1500)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* 🐛 fix split of undefined bug

* upgrade version

* 📝 `config.ts` is a TypeScript file, not a Python file (#1504)

* Feat/gemini error handling (#1511)

* Verify response content exists before parsing

* Streamline response validation logic

* Fix: Correct codestral model name typo in docs (#1507)

* Bugfix for /comment slash command which does nothing. (#1512)

* - fixed a bug where /comment doesn't actually do anything unless prompted to.
- if the user doesn't provide input after /comment, replace it with default /comment input found in comment.ts

* added comment for clarity

* Project file path in LLM context for highlighted code (#1509)

* 🐛 deepseek max stop words

* Add stable versions of latest gemini models (#1520)

* 🐛 fix type collision between jest and mocha

* Dev (#1521)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* continue proxy FIM support

* warn user if potentially dangerous command is generated

* tab autocomplete docs

* request description of cmd to be generated if not provided

* refactor(gui): break down model config components

* feat(gui): Add Azure as a provider

* feat(gui): more config for azure provider

* feat: update docs and input labelling

* fix(gui): typo

* docs: fix typo on config dogs

* Update preIndexedDocs.ts (#1527)

Added Godot documentation to preIndexedDocs.ts

* truncate api.deepseek.com stop tokens list

* use a default apiVersion

* avoid null values in config.json

* ✨ claude 3.5 sonnet

* tweak claude3.5 display

* only allow tcp connections locally (#1525)

* fix ollama onboarding (#1539)

* allow setting apiBase for bedrock provider

* ⚡️ better linking

* ✨ new prompt file action

* ⚡️ strip <COMPLETION> from GPT-4 completion

* continue proxy FIM support

* warn user if potentially dangerous command is generated

* tab autocomplete docs

* docs: update PR template (#1531)

* chore: add docs to install script (#1533)

* fix(extensions): schema for db ctx provider (#1534)

* fix(extensions): schema for db ctx provider

* fix: invalid enum

* prettierignore

* docs: add docs and schema for "OS" provider (#1536)

* tests (#1501)

* 👷 CI for jetbrains

* default working dir

* changelog

* build binaries

* binary testing setup

* idesettings

* core binary testing

* run binary tests in ci

* remove unused targets

* needs build

* console.log bin contents

* fix ci

* fix win32 binary download

* test

* no linux arm64

* macos latest

* macos-12

* binary permissions

* upload logs

* fix

* upload full folder as binary artifact

* test

* test macos only

* set full execute permissions

* copy sqlite binary

* cd

* it worked!

* build again in test job

* debug

* remove timeout

* info

* log

* log2

* more logs

* catch

* fewer logs

* test all platforms

* test downloaded artifact

* needs build

* updates

* build

* false

* release

* add tag and upload binaryes

* change tag name

* proper artifact upload

* jest updates

* ✅ generate a few unit tests with Continue

* fix imports related to IdeSettings

* run tsc on PRs

* remove shareSession command (unused)

* update release process

* update plugin version

* don't show ghost text when jetbrains completion visible

* run jetbrains ci in main

* check ts in dev

* ignore .env

* 🚑 fix constant warnings when onboarding with Ollama

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* add openai api key to env for tests

* cross-platform NODE_OPTIONS env var

* 🐛 fix regression in /edit slash command

* upgrade package.json version

* fix merge mistake

* update main.yaml

* update main.yaml

---------

Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Justin Milner <justinmilner1@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: James Delorey <jdelorey@cloudflare.com>
Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Yuwen Hu <54161268+Oscilloscope98@users.noreply.github.com>
Co-authored-by: James Delorey <deloreyjmi@gmail.com>
Co-authored-by: Priyash <38959321+priyashpatil@users.noreply.github.com>
Co-authored-by: Sadao Hiratsuka <sh2@pop01.odn.ne.jp>
Co-authored-by: fry69 <142489379+fry69@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: maxxrdrgz <maxxrdrgz@gmail.com>
Co-authored-by: John Wang <jbw48@cornell.edu>
Co-authored-by: Reo <reosablo@users.noreply.github.com>
Co-authored-by: Scott Schluer <scott.schluer@gmail.com>
Co-authored-by: Ruben Kostandyan <30292877+KoStard@users.noreply.github.com>
Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: 百地 希留耶 <65301509+KiruyaMomochi@users.noreply.github.com>
Co-authored-by: Mark Percival <m@mdp.im>
Co-authored-by: casscarpendale <89478554+casscarpendale@users.noreply.github.com>
Co-authored-by: Jason Jacobs <nerfnerd@gmail.com>
priyashpatil pushed a commit to priyashpatil/continue that referenced this pull request Jun 27, 2024
* Add stream support for Bedrock Anthropic

* 🎨 make llamatokenizer commonjs compatible

* ➕ add esbuild optional deps

* 🚚 rename vendor/node_modules -> modules

* 🔖 update core version

* 🐛 fixes for transformers.js compatibility

* 🔖 update core version

* 🎨 set modelPath in constructor

* 🎨 fix transformers.js import

* Drafted max depth changes

* 🎨 eslint enforce import extensions

* 🎨 require -> import

* 🚸 notify user if not diff in /commit

* 💄 Improve colors of the IntelliJ tool window icon (continuedev#1273)

Without this fix, the continue icon sticks out from the other toolwindow icons,
resulting in an inconsistent appearance of the whole IDE and creates a feeling
that the continue plugin "doesn't fit, something must be broken".

According to
https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icon-colors
specific colors are needed to work nicely with dark and light modes. Bonus is
that the active tool window icon color then changes automatically to white.

Co-authored-by: Lukas Baron <LukasBaron@gmail.com>

* ✨ send Bearer token to Ollama if apiKey set

* 🐛 fix slash command bug

* 🧑‍💻 add onnxruntime (--save-dev) for types

* 🐛 don't apply to file when running code block in terminal

* 🐛 avoid double paste

* ✨ gpt-4o

* 🎨 pass uniqueId to constructor

* 🚸 focus without scrolling into vie

* 🎨 refactoring for continue-proxy LLM (continuedev#1277)

* 🐛 continue server client fixes

* 🎨 refactor OpenAI _getHeaders

* 🎨 pass ideSettings to llmFromDescription

* ⚡️ improve add docstring command

* 💚 ci updates

* 🐛 merge fixes

* 💄 increase font size in JB

* 🐛 fix repeated paste bug

* 🐛 fix build script

* 🩹 various small improvements

* 📌 pin esbuild 0.17.19

* 🧑‍💻 pnpm i gui in prepackage

* 🐛 show all diff changes in vscode

* 🩹 getMetaKeyName

* 🐛 fix reading of unopened ipynb files

* ⚡️ gpt-4o system prompt

* 💄 make font size configurable in config.json ui.fontSize

* 🩹 properly dispose of diff handler

* 🐛 fix indexing status display

* ⚡️ context pruning

* 🎨 update free trial models

* fix: remove some backup files generated by pkg if present (continuedev#1287)

* Corrections to indexDocs params

* adjust toCopy (continuedev#1305)

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* Nate/prompt-file (continuedev#1308)

* ✨ .prompt files

* 🧑‍💻 back to npm  : (

* 🎨 nicer dropdown icon

* 🎨 full switch back to npm

* 🧑‍💻 uninstall script for fresh start

* 🎨 updated package-locks

* 🔥 remove hello from continuerc.json

* 🔥 remove example files

* 🎨 update test prompt

* 🎨 update prompt

* 🎨 update test prompt

* 👷 create out/node_modules in prepackage.js

* Log prompt-tokens to devdb and show in 'My Usage' view (continuedev#1309)

* Also log the number of prompt tokens to the dev-db

* Show prompt tokens in 'My Usage' view

* 🔥 remove console logs

* add lm studio tab-autocomplete walkthrough (continuedev#1298)

* 📝 update autocomplete LM Studio docs

* 💚 fix prepackage.js

* ⬆️ upgrade lancedb version

* 🚸 make it easier to continue past trial

* 🚸 improve model setup process

* 📌 update package-lock.jsons

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* convert to use interface, fix type-related bug, more

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* add Docs wrong values

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* protocol stuff

* 🐛 fix prompt file loading bug

* small corrections, some todos

* docs: add setup guide for OpenRouter (continuedev#1284)

* Update preIndexedDocs.ts (continuedev#1292)

Add Bootstrap and Alpine.js as pre indexed docs.

* add toString (continuedev#1324)

* add toString

* Fix indentation

---------

Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>

* don't overwrite all models in onboarding

* 🔧 override headers with custom headers

* ✨ allow overwriting slash command description

* feature flag (continuedev#1327)

* ➕ feature flags dependency

* 🎨 make getHeaders awaitable

* 🔒️ token count for abuse monitoring

* 👷 remove win32-arm64 target

* Update build.js (continuedev#1330)

Fix error: EBUSY: resource busy or locked, rmdir '...\continue\binary\tmp\continue-node_modules-lancedb'

* 📌 pin onnxruntime version to match transformers.js

* 🎨 transformers cleanup, extensionVersion header

* 🔥 remove lingering pnpm

* 🎨 update default models

* 🎨 update defaults

* 👷 fix version in build post-check

* 🎨 test.js in dev

* 🧑‍💻 cleaning

* Add Gemini 1.5 Flash as a model (continuedev#1337)

* Fixes for dialog, remove logging, indexing corrections

* cleanup

* 🎨 log dev data for tokens generated

* Expose custom context provider registration through a vscode extension api. (continuedev#1288)

* Make github crawler find default branch

* Cleanup

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ Use gptEditPrompt for Mistral

* ✨ Codestral FIM

* 🔖 update gradle version

* Fix typo "Experimantal" (continuedev#1353)

* 🎨 Refactor core (continuedev#1281)

* 🎨 refactor out react context

* 🎨 refactor local storage

* 🎨 refactor IdeMessenger

* 🔥 removing unused files

* 🚚 move scripts

* ✅ setup VSCode integration testing

* 🎨 fix test-related stuff

* 🚧 testing

* 🎨 tweak terminal cmd+L

* 🧑‍💻 install biome in core

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 run biome check in binary

* 🧑‍💻 global biome config

* 🎨 run biome check on core

* 🎨 run biome check in vscode

* 🎨 fix a few biome warnings

* 🚧 WIP on protocols

* 🚧 progress, organizing, about to remove webviewCore protocol

* 🚧 now running

* 🚧 move indexing code to core

* 🚧 WIP on JetBrains indexing implementation

* 🎨 finish listDir

* 🚧 gui fixes

* 🏷️ update IMessenger.on return type

* 🐛 fix jetbrains types + IDE detection

* 🧑‍💻 set up debugging for binary with TcpMessenger

* 👷 fix prepackage.js

* 🧑‍💻 turn off debug mode for intellij

* 🐛 merge fixes

* 🐛 fixes after refactor

* 🐛 merge fixes

* 💄 increase font size in JB

* 🔀 merge changes

* 🩹 small fixes

* 🐛 fix jetbrains build

* 🩹 more jetbrains fixes

* 🎨 jetbrains improvements

* 🐛 fix lancedb prob in jetbrains build

* 👷 update jetbrains build process

* ✨ intellij problems context provider

* 👷 add script utils file

* 💚 fix jetbrains build regression

* 🎨 dynamic import transformers.js

* 🩹 small jetbrains updates

* ✨ folder context provider in jetbrains

* 🎨 many more jetbrains improvements

* 🔀 merge fixes

* ⚡️ small improvements

* 🎨 tell users transformers.js not supported

* 🎨 trial updates

* 📝 update jetbrains readmej

* ⚡️ only use smaller context for local autocomplete models

* ⚡️ improve bracket filter

* ✨ global .continue/.prompts folder

* 💄 improved model setup process

* 🥅 display VSCode req errs

* ⚡️ improved autocomplete stopping

* 🎨 count cmd+I

* 🔥 remove duplicate import

* 🔥 remove unnecessary headers

* ⚡️ limit input history length

* ⚡️ limit submenu items until you can use disk-based search, to avoid high memory use

* 🔥 remove duplicate function def

* visibility not adjusting

* Smooth scrolling until mouse used

* Use smooth transition

* Cleanup

* Free Trial Auth (continuedev#1367)

* 🎨 pass gh auth token to free trial

* 💄 improved onboarding flow

* 🎨 make fewer auth reqs

* 🎨 refactor ordering of vscode deps

* 🐛 resolve confighandler

* ⚡️ autocomplete stopping improvements

* 🔥 remove unused auth code

* ⚡️ consider previous completion in bracket matching

* Build fixes: Remove duplicated code, re-add overwritten commit (continuedev#1358)

* readd overwritten commit

* Remove duplicated code

* 📝 update keywords

* ✨ /commit slash command

* 🎨 make transformers.js esm compatible

* ⚡️ fix jetbrains indexing perfomance issue

* 💄 autocomplete model onboarding

* ✨ mistral free trial autocomplete

* ✨ mistral description

* 🩹 comment out fireworks.png

* 🎨 trial fim model

* 🎨 get gh token for autocomplete model trial

* ✨ gh auth token jb

* 🔧 update config files

* 🎨 jetbrains onboarding

* 🧑‍💻 create gui/dist if it doesn't exist

* Fix sidebar indexing status timing-related bugs (continuedev#1368)

* readd overwritten commit

* Remove duplicated code

* Fix status load in and failed state update

* Late sidebar open bugs fixed

* Change ideMessenger post parameters

* debug pause

* Don't use global, fix table creation bug

* Creating new branch for config-related issues here

* cleanup

* 🚸 help user avoid login prompt if unwanted

* 🚸 update onboarding flow

* 📝 codestral as recommended in docs

* feat: Add cloudflare as provider

* 📝 set up codestral walkthrough

* codestral api base

* update codestral api link

* codestral api link

* bearer token

* 🐛 fix config loading

* cleaner error message

* fix codestral templating

* 🔥 remove unused kotlin test

* 🧑‍💻 ./gradlew build

* codestral fim template

* add additional llama.cpp params

* feat:Add promptPath configuration to use promptFolder from JSON file in load.ts (continuedev#1377)

Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>

* Full project file path in context (continuedev#1407)

* Full workspace file path when using @OPEN Files

* Full project file path for @Files and 'active file' context

* FileTreeContextProvider uses splitPath from util instead of local copy

* relative-to-root file paths for rag retrieval

* ✨ jetbrains .continuerc.json support

* tweak

* ✨ allow non git tracked .prompts folder

* ✨ currentFile in prompt files

* explain the purpose of sign in

* help users remove free trial models

* ⚡️ improved codestral multi-file prompt template

* better filtering of model artifacts

* improve sign in flow

* small tweaks

* ✨ add gitRepo and completionId to dev data

* add unique id to autocomplete dev data

* fix build

* update pluginVersion

* fix intellij build

* feat(embeddings): add gemini provider (continuedev#1362)

* docs(walkthroughs): use correct table name for 'tag_catalog'

* feat(embeddings): add gemini

* duplicate code deletion

* docs(contributing): update incorrect instructions

* revert eslint changes

* docs(embeddings): use correct gemini model name

* Delete package.json

* Feat/gemini flash (continuedev#1352)

* Remove duplicate item from array

* Add references to Gemini Flash

* Update documentation to ref Gemini Flash

* Doc: Add IPEX-LLM model provider (continuedev#1417)

* Add related doc for IPEX-LLM accelerated Ollama provider

* Add description in providor title and other small updates

* small tweaks

* add span (continuedev#1374)

* 👷 add node_sqlite3 to binary/build

* fix build

* refactor build util

* fix terminal copying

* add getSession, updateSession

* fix build errors

* no proxy option

* fix potential config loading bug

* feat: Add support for Cloudflare AI Gateway (continuedev#1425)

Co-authored-by: jdelorey@cloudflare.com <jdelorey@cloudflare.com>

* install swc --save-dev

* fix template path

* 🧑‍💻 speed up debugging

* improving templating paths disambiguation

* autocomplete stopping improvement

* ⚡️ increase cache hit rate for autocomplete

* ⚡️ autocomplete improvements

* ⚡️ make autocomplete more token efficient

* 🐛 don't override max tokens for local models

* 🚑 fix onboarding loop

* build errs

---------

Co-authored-by: Ruben Kostandyan <kostard@amazon.com>
Co-authored-by: Justin Milner <jmilner@jmilner-lt2.deka.local>
Co-authored-by: tnglemongrass <113173292+tnglemongrass@users.noreply.github.com>
Co-authored-by: Lukas Baron <LukasBaron@gmail.com>
Co-authored-by: Fernando <fernando.sanchez.jr@gmail.com>
Co-authored-by: Justin Milner <justinmilner1@gmail.com>
Co-authored-by: Justin Milner <42585006+justinmilner1@users.noreply.github.com>
Co-authored-by: Tijs Zwinkels <tijs@tinkertank.eu>
Co-authored-by: DJ Johnson <mr.demarcus.johnson@gmail.com>
Co-authored-by: sam <1211977+sambarnes@users.noreply.github.com>
Co-authored-by: Jose Vega <bloguea.y.gana@gmail.com>
Co-authored-by: Pratik Parmar <steveparmar6nov2011@gmail.com>
Co-authored-by: Sam El-Husseini <sam.elhusseini@gmail.com>
Co-authored-by: Peter Zaback <pzaback@gmail.com>
Co-authored-by: James Delorey <jdelorey@cloudflare.com>
Co-authored-by: catatapiafuentes <catalina.tapia@thoughtworks.com>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Yuwen Hu <54161268+Oscilloscope98@users.noreply.github.com>
Co-authored-by: James Delorey <deloreyjmi@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant