diff --git a/.changes/extensions/intellij/0.0.72.md b/.changes/extensions/intellij/0.0.72.md new file mode 100644 index 0000000000..2e8962e431 --- /dev/null +++ b/.changes/extensions/intellij/0.0.72.md @@ -0,0 +1,7 @@ +## 0.0.72 - 2024-10-04 +### Added +* Listen for changes to Intellij settings without requiring window reload +### Changed +* Updated tutorial file +### Fixed +* Fix ability to load config.ts in JetBrains IDEs diff --git a/.changes/extensions/vscode/0.8.55.md b/.changes/extensions/vscode/0.8.55.md new file mode 100644 index 0000000000..4800ad9076 --- /dev/null +++ b/.changes/extensions/vscode/0.8.55.md @@ -0,0 +1,9 @@ +## 0.8.55 - 2024-10-25 +### Added +* Web context provider +* Cerebras inference provider +* Automatic descriptions for previous chats +* Discord context provider +* Improved full screen UI +### Changed +* Easier way to accept/reject/re-prompt after cmd/ctrl+I diff --git a/.changes/extensions/vscode/0.8.56.md b/.changes/extensions/vscode/0.8.56.md new file mode 100644 index 0000000000..d1c81fd344 --- /dev/null +++ b/.changes/extensions/vscode/0.8.56.md @@ -0,0 +1,4 @@ +## 0.8.56 - 2024-11-08 +### Added +* New Edit mode in sidebar (cmd/ctrl+I) +* Significantly faster and more accurate docs crawler by default diff --git a/.changes/extensions/vscode/0.8.58.md b/.changes/extensions/vscode/0.8.58.md new file mode 100644 index 0000000000..98c845b973 --- /dev/null +++ b/.changes/extensions/vscode/0.8.58.md @@ -0,0 +1,25 @@ +## 0.8.58 - 2024-11-22 +### Added +* OpenAI predicted outputs support +* Improve codebase retrieval with BM25 +* Support for Grok from xAI +* Chat enhancements including sticking input to bottom +* New UI for cmd+I in sidebar +* Support for Nebius LLM provider +* Support for Ask Sage LLM provider +* Improved reference for config.json +* New @web context provider +* Updates for llama3.2 +* .continuerules file to set system prompt +* .prompt files v2 +* Dedicated UI for docs indexing +* Clickable code symbols in chat +* Use clipboard content as autocomplete context +### Changed +* Improved @docs crawler +* Many improvements to make autocomplete more eager +* Near complete type definition retrieval for TypeScript autocomplete +* Remove footer from chat sidebar +### Fixed +* Brought back the Apply button for all code blocks +* Automatically update codebase index on removed files diff --git a/.changes/extensions/vscode/0.8.59.md b/.changes/extensions/vscode/0.8.59.md new file mode 100644 index 0000000000..9f6dfbd04d --- /dev/null +++ b/.changes/extensions/vscode/0.8.59.md @@ -0,0 +1,3 @@ +## 0.8.59 - 2024-11-25 +### Fixed +* Hotfix for Ollama onboarding diff --git a/.changes/extensions/vscode/0.8.62.md b/.changes/extensions/vscode/0.8.62.md new file mode 100644 index 0000000000..c258fd2859 --- /dev/null +++ b/.changes/extensions/vscode/0.8.62.md @@ -0,0 +1,6 @@ +## 0.8.62 - 2024-12-10 +### Added +* Tool use +* Support for Model Context Protocol +### Fixed +* hotfix: context providers no longer hidden when not in edit mode diff --git a/.changes/unreleased/Changed-20240923-160251.yaml b/.changes/unreleased/Changed-20240923-160251.yaml deleted file mode 100644 index 5cef25babf..0000000000 --- a/.changes/unreleased/Changed-20240923-160251.yaml +++ /dev/null @@ -1,4 +0,0 @@ -project: extensions/intellij -kind: Changed -body: Updated tutorial file -time: 2024-09-23T16:02:51.918152-07:00 diff --git a/.changes/unreleased/Fixed-20240929-095440.yaml b/.changes/unreleased/Fixed-20240929-095440.yaml deleted file mode 100644 index d31fac222b..0000000000 --- a/.changes/unreleased/Fixed-20240929-095440.yaml +++ /dev/null @@ -1,4 +0,0 @@ -project: extensions/intellij -kind: Fixed -body: Fix ability to load config.ts in JetBrains IDEs -time: 2024-09-29T09:54:40.284968-07:00 diff --git a/.changes/unreleased/Fixed-20241007-183820.yaml b/.changes/unreleased/Fixed-20241007-183820.yaml new file mode 100644 index 0000000000..f756e6f90e --- /dev/null +++ b/.changes/unreleased/Fixed-20241007-183820.yaml @@ -0,0 +1,5 @@ +project: extensions/intellij +kind: Fixed +body: Off-screen rendering to solve white flash on load and lack of changing cursor + type +time: 2024-10-07T18:38:20.733658-07:00 diff --git a/.changes/unreleased/Fixed-20241108-114322.yaml b/.changes/unreleased/Fixed-20241108-114322.yaml new file mode 100644 index 0000000000..e896eac4d4 --- /dev/null +++ b/.changes/unreleased/Fixed-20241108-114322.yaml @@ -0,0 +1,4 @@ +project: extensions/intellij +kind: Fixed +body: OSR-related fixes for non-Mac users +time: 2024-11-08T11:43:22.623155-08:00 diff --git a/.changes/unreleased/Fixed-20241108-114707.yaml b/.changes/unreleased/Fixed-20241108-114707.yaml new file mode 100644 index 0000000000..95c70c8449 --- /dev/null +++ b/.changes/unreleased/Fixed-20241108-114707.yaml @@ -0,0 +1,4 @@ +project: extensions/intellij +kind: Fixed +body: Fixes for inline edit in JetBrains +time: 2024-11-08T11:47:07.953304-08:00 diff --git a/.continue/prompts/core-unit-test.prompt b/.continue/prompts/core-unit-test.prompt new file mode 100644 index 0000000000..42ecef7bba --- /dev/null +++ b/.continue/prompts/core-unit-test.prompt @@ -0,0 +1,41 @@ +name: Write Core Unit Test +description: Generate unit tests for core utilities +--- +Write jest tests for the provided code. +Use jest version ^29 (e.g. jest 29.7.0) + +Use best practices. Be clear and consise. +Aim for 100% code coverage where reasonable. +Multiple tests can be written, split up tests for best clarity and readability. +Only use typescript, and if the file/code is not typescript, warn the user. +IMPORTANT Use ESM to import modules, do NOT use `require` anywhere +Tests are to be described in an adjacent file with a path identical except for a `.test.ts` rather than a `.ts` file extension +Use double quotes (or backticks if needed) for strings + +The code being tested is used in IDE extensions, and it: +- accesses code workspaces through the IDE ("workspace directories") +- persists extension-related data to the the local machine of the user ("global directory"), and +- uses configuration via a `ConfigHandler`, which is stored in either the global directory (default) or accesed via a remote "control plane" using the `ControlPlaneClient` + +Jest testing setup includes +- @core/test/jest.global-setup.ts initializes a temporary global directory, which is where files that store persisted extension data live. +- @core/test/testDir.ts provides utils for creating and working with the temporary workspace directory. Use `setUpTestDir` and `tearDownTestDir` explicitly in tests that work with workspace files +- @core/test/jest.setup-after-env.ts gives tests access to node and jest globals + +@core/test/fixtures.ts provides fixtures that should be used in tests to emulate extension behavior +- import `testIde` for IDE/workspace operations +- import `testConfigHandler` for any ConfigHandler needs +- import `testControlPlaneClient` for control plane operations +- import `ideSettingsPromise` for any IdeSettings needs +- import `testLLM` for any ILLM/BaseLLM needs. Set the `completion` property to the desired completion, e.g. `testLLM.completion = "Desired completion";` + +Do NOT write tests for any files in `core/test`, only use them as helpers for testing other files. If no other files are provided, warn the user and write no tests. + +IMPORTANT: Do NOT mock the fixtures above other than using `jest.spyOn`. DO mock 3rd party modules, etc. when sensible. +Instead, generate actual mock files and data for operations +Pure mocks should only be used to emulate specific network responses/error or hard-to-duplicate errors, or to prevent long-duration tests + +Additional types can be imported from @core/index.d.ts +If any needed types, functions, constants, or classes are still not found, warn the user and do not generate tests. + +Write the comment "// Generated by continue" at the top of the generated code/file (not the filepath) \ No newline at end of file diff --git a/.continueignore b/.continueignore index 7e0d0c115f..79e924012d 100644 --- a/.continueignore +++ b/.continueignore @@ -4,4 +4,5 @@ docs/docs/languages .idea/ .vscode/ .archive/ -**/*.scm \ No newline at end of file +**/*.scm +**/*.diff \ No newline at end of file diff --git a/.eslintrc.shared.json b/.eslintrc.shared.json new file mode 100644 index 0000000000..f4b9c4c783 --- /dev/null +++ b/.eslintrc.shared.json @@ -0,0 +1,36 @@ +{ + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + "plugins": ["@typescript-eslint", "import"], + "rules": { + "@typescript-eslint/semi": "warn", + "curly": "warn", + "eqeqeq": "warn", + "no-throw-literal": "warn", + "semi": "off", + "import/order": [ + "warn", + { + "groups": [ + "builtin", + "external", + "internal", + "parent", + "sibling", + "index", + "object", + "type" + ], + "alphabetize": { + "order": "asc", + "caseInsensitive": true + }, + "newlines-between": "always" + } + ] + }, + "ignorePatterns": ["out", "dist", "**/*.d.ts"] +} diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml new file mode 100644 index 0000000000..ed05df6f9d --- /dev/null +++ b/.github/auto_assign.yml @@ -0,0 +1,10 @@ +# Reference: https://github.com/marketplace/actions/auto-assign-action +addAssignees: true + +assignees: + - sestinj + - Patrick-Erichsen + - tomasz-stefaniak + - RomneyDa + +numberOfAssignees: 2 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f9a4b0151a..4e7157e670 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -4,8 +4,7 @@ ## Checklist -- [ ] The base branch of this PR is `dev`, rather than `main` -- [ ] The relevant docs, if any, have been updated or created +- [] The relevant docs, if any, have been updated or created ## Screenshots @@ -14,3 +13,4 @@ ## Testing [ For new or modified features, provide step-by-step testing instructions to validate the intended behavior of the change. ] +[ For new UI features, ensure that the changes look good across viewport widths, light/dark theme, etc ] diff --git a/.github/workflows/README.md b/.github/workflows/README.md deleted file mode 100644 index ff1b7bd22c..0000000000 --- a/.github/workflows/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Deployment Process - -## preview - -When merging to `preview`: - -- the VS Code extension along with Rust extension is built and uploaded as an artifact -- all of the artifacts are downloaded and pushed to the store/registry all at once, as full releases. -- the version is bumped and this change is commited to preview -- in the future, the JetBrains extension will be built and uploaded to the marketplace here - -## main - -When merging to `main`: - -- the VS Code extension along with Rust extension is built and uploaded as an artifact -- all of the artifacts are downloaded and pushed to the store/registry all at once, as full releases. -- the version is bumped and this change is commited to main -- in the future, the JetBrains extension will be built and uploaded to the marketplace here diff --git a/.github/workflows/auto-assign.yaml b/.github/workflows/auto-assign-issue.yaml similarity index 54% rename from .github/workflows/auto-assign.yaml rename to .github/workflows/auto-assign-issue.yaml index 1dd452dae9..dc5388ef32 100644 --- a/.github/workflows/auto-assign.yaml +++ b/.github/workflows/auto-assign-issue.yaml @@ -3,8 +3,6 @@ name: Issue assignment on: issues: types: [opened] - pull_request: - types: [opened] jobs: auto-assign: @@ -16,5 +14,11 @@ jobs: uses: pozil/auto-assign-issue@v2 with: repo-token: ${{ secrets.CI_GITHUB_TOKEN }} - assignees: sestinj,Patrick-Erichsen + assignees: sestinj,Patrick-Erichsen,tomasz-stefaniak,RomneyDa numOfAssignee: 1 + - name: "Add default labels" + uses: actions-ecosystem/action-add-labels@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + labels: | + "needs-triage" diff --git a/.github/workflows/auto-assign-pr.yaml b/.github/workflows/auto-assign-pr.yaml new file mode 100644 index 0000000000..4fd701a154 --- /dev/null +++ b/.github/workflows/auto-assign-pr.yaml @@ -0,0 +1,10 @@ +name: PR assignment +on: + pull_request: + types: [opened, ready_for_review] + +jobs: + add-reviews: + runs-on: ubuntu-latest + steps: + - uses: kentaro-m/auto-assign-action@v2.0.0 diff --git a/.github/workflows/dev_pr.yaml b/.github/workflows/dev_pr.yaml deleted file mode 100644 index d909a279ab..0000000000 --- a/.github/workflows/dev_pr.yaml +++ /dev/null @@ -1,92 +0,0 @@ -name: Dev PR checks - -on: - pull_request: - branches: - - dev - -jobs: - tsc-check: - runs-on: ubuntu-latest - - steps: - # 1. Check-out repository - - name: Check-out repository - uses: actions/checkout@v4 - - # 2. Install npm dependencies - - name: Use Node.js from .nvmrc - uses: actions/setup-node@v4 - with: - node-version-file: ".nvmrc" - - - name: Cache extension node_modules - uses: actions/cache@v3 - with: - path: extensions/vscode/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('extensions/vscode/package-lock.json') }} - - - name: Cache core node_modules - uses: actions/cache@v3 - with: - path: core/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('core/package-lock.json') }} - - - name: Cache gui node_modules - uses: actions/cache@v3 - with: - path: gui/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('gui/package-lock.json') }} - - - name: Cache binary node_modules - uses: actions/cache@v3 - with: - path: binary/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('binary/package-lock.json') }} - - - name: extensions/vscode install - run: | - cd extensions/vscode - npm ci - env: - # https://github.com/microsoft/vscode-ripgrep/issues/9#issuecomment-643965333 - GITHUB_TOKEN: ${{ secrets.CI_GITHUB_TOKEN }} - - - name: core install - run: | - cd core - npm ci - - - name: gui install - run: | - cd gui - npm ci - - - name: binary install - run: | - cd binary - npm ci - - - name: extensions/vscode checks - run: | - cd extensions/vscode - npx tsc --noEmit - - - name: core checks - run: | - cd core - npm ci - npx tsc --noEmit - npm run lint - env: - OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} - - - name: gui checks - run: | - cd gui - npx tsc --noEmit - - - name: binary checks - run: | - cd binary - npx tsc --noEmit diff --git a/.github/workflows/jetbrains-release.yaml b/.github/workflows/jetbrains-release.yaml index cf3cc4ae19..b8c473604f 100644 --- a/.github/workflows/jetbrains-release.yaml +++ b/.github/workflows/jetbrains-release.yaml @@ -97,7 +97,6 @@ jobs: with: node-version-file: ".nvmrc" - # Cache node_modules - name: Cache core node_modules uses: actions/cache@v3 with: @@ -320,7 +319,6 @@ jobs: chmod +x continue-binary chmod +x build/Release/node_sqlite3.node chmod +x index.node - chmod +x esbuild if: ${{ matrix.platform }} != 'win32' # Run tests for binary @@ -408,7 +406,7 @@ jobs: # Run Qodana inspections - name: Qodana - Code Inspection - uses: JetBrains/qodana-action@v2024.1.5 + uses: JetBrains/qodana-action@v2024.3.2 with: cache-default-branch-only: true diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 459774b74f..ae0359027d 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -49,11 +49,11 @@ jobs: platform: alpine arch: x64 npm_config_arch: x64 - - os: macos-12 # should migrate this to the newer x64 version of macos-14 + - os: macos-13 platform: darwin arch: x64 npm_config_arch: x64 - - os: macos-12 # same here, especially + - os: macos-13 platform: darwin arch: arm64 npm_config_arch: arm64 @@ -213,8 +213,8 @@ jobs: git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - - name: Pull latest changes - run: git pull origin main + - name: Pull latest changes from release + run: git fetch origin ${{ github.ref }} && git checkout ${{ github.ref }} # 1. Download the artifacts - uses: actions/download-artifact@v4 @@ -237,29 +237,3 @@ jobs: run: | cd extensions/vscode npx ovsx publish -p ${{ secrets.VSX_REGISTRY_TOKEN }} --packagePath ../../vsix-artifacts/*.vsix - - # 4. Update the package.json version and push changes - # - name: Update version in package.json - # run: | - # cd extensions/vscode - # npm version patch - - # - name: Commit changes - # run: | - # git config --local user.email "action@github.com" - # git config --local user.name "GitHub Action" - # git commit -am "💚 Update package.json version [skip ci]" - - # - name: Push changes - # uses: ad-m/github-push-action@master - # with: - # github_token: ${{ secrets.GITHUB_TOKEN }} - # branch: ${{ github.ref }} - - # 5 Send to Discord Webhook - - name: Discord Commits - uses: Sniddl/discord-commits@1.7 - with: - webhook: ${{ secrets.DISCORD_WEBHOOK }} - template: "avatar-with-link" - include-extras: true diff --git a/.github/workflows/pr_checks.yaml b/.github/workflows/pr_checks.yaml new file mode 100644 index 0000000000..cfe67c7195 --- /dev/null +++ b/.github/workflows/pr_checks.yaml @@ -0,0 +1,254 @@ +name: PR checks + +on: + pull_request: + branches: + - main + paths: + - "extensions/vscode/**" + - "core/**" + - "gui/**" + - ".github/workflows/**" + +jobs: + install-root: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + + - uses: actions/cache@v4 + id: root-cache + with: + path: node_modules + key: ${{ runner.os }}-root-node-modules-${{ hashFiles('package-lock.json') }} + + - name: Install root dependencies + if: steps.root-cache.outputs.cache-hit != 'true' + run: npm ci + + core-checks: + needs: install-root + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + + - uses: actions/cache@v4 + id: root-cache + with: + path: node_modules + key: ${{ runner.os }}-root-node-modules-${{ hashFiles('package-lock.json') }} + + - uses: actions/cache@v4 + id: core-cache + with: + path: core/node_modules + key: ${{ runner.os }}-core-node-modules-${{ hashFiles('core/package-lock.json') }} + + - name: Install core dependencies + if: steps.core-cache.outputs.cache-hit != 'true' + run: | + cd core + npm ci + + - name: Type check and lint + run: | + cd core + npx tsc --noEmit + npm run lint + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + + gui-checks: + needs: [install-root, core-checks] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + + - uses: actions/cache@v4 + with: + path: node_modules + key: ${{ runner.os }}-root-node-modules-${{ hashFiles('package-lock.json') }} + + - uses: actions/cache@v4 + with: + path: core/node_modules + key: ${{ runner.os }}-core-node-modules-${{ hashFiles('core/package-lock.json') }} + + - uses: actions/cache@v4 + id: gui-cache + with: + path: gui/node_modules + key: ${{ runner.os }}-gui-node-modules-${{ hashFiles('gui/package-lock.json') }} + + - name: Install gui dependencies + if: steps.gui-cache.outputs.cache-hit != 'true' + run: | + cd gui + npm ci + + - name: Type check + run: | + cd gui + npx tsc --noEmit + + binary-checks: + needs: [install-root, core-checks] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + + - uses: actions/cache@v4 + with: + path: node_modules + key: ${{ runner.os }}-root-node-modules-${{ hashFiles('package-lock.json') }} + + - uses: actions/cache@v4 + with: + path: core/node_modules + key: ${{ runner.os }}-core-node-modules-${{ hashFiles('core/package-lock.json') }} + + - uses: actions/cache@v4 + id: binary-cache + with: + path: binary/node_modules + key: ${{ runner.os }}-binary-node-modules-${{ hashFiles('binary/package-lock.json') }} + + - name: Install binary dependencies + if: steps.binary-cache.outputs.cache-hit != 'true' + run: | + cd binary + npm ci + + - name: Type check + run: | + cd binary + npx tsc --noEmit + + vscode-checks: + needs: [install-root, core-checks] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + + - uses: actions/cache@v4 + with: + path: node_modules + key: ${{ runner.os }}-root-node-modules-${{ hashFiles('package-lock.json') }} + + - uses: actions/cache@v4 + with: + path: core/node_modules + key: ${{ runner.os }}-core-node-modules-${{ hashFiles('core/package-lock.json') }} + + - uses: actions/cache@v4 + id: vscode-cache + with: + path: extensions/vscode/node_modules + key: ${{ runner.os }}-vscode-node-modules-${{ hashFiles('extensions/vscode/package-lock.json') }} + + - name: Install vscode dependencies + if: steps.vscode-cache.outputs.cache-hit != 'true' + run: | + cd extensions/vscode + npm ci + env: + GITHUB_TOKEN: ${{ secrets.CI_GITHUB_TOKEN }} + + - name: Type check and lint + run: | + cd extensions/vscode + npx tsc --noEmit + npm run lint + + core-tests: + needs: [core-checks] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + + - uses: actions/cache@v4 + with: + path: core/node_modules + key: ${{ runner.os }}-core-node-modules-${{ hashFiles('core/package-lock.json') }} + + - name: Run core tests + run: | + cd core + npm test + + vscode-tests: + needs: [vscode-checks, core-checks] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + + - uses: actions/cache@v4 + with: + path: extensions/vscode/node_modules + key: ${{ runner.os }}-vscode-node-modules-${{ hashFiles('extensions/vscode/package-lock.json') }} + + - uses: actions/cache@v4 + with: + path: core/node_modules + key: ${{ runner.os }}-core-node-modules-${{ hashFiles('core/package-lock.json') }} + + - name: Install Xvfb for Linux and run e2e tests + run: | + sudo apt-get install -y xvfb # Install Xvfb + Xvfb :99 & # Start Xvfb + export DISPLAY=:99 # Export the display number to the environment + cd extensions/vscode + npm run package + npm run e2e:ci + + gui-tests: + needs: [gui-checks, core-checks] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + + - uses: actions/cache@v4 + id: gui-cache + with: + path: gui/node_modules + key: ${{ runner.os }}-gui-node-modules-${{ hashFiles('gui/package-lock.json') }} + + - uses: actions/cache@v4 + with: + path: core/node_modules + key: ${{ runner.os }}-core-node-modules-${{ hashFiles('core/package-lock.json') }} + + - name: Install GUI dependencies + if: steps.gui-cache.outputs.cache-hit != 'true' + run: cd gui && npm ci + env: + GITHUB_TOKEN: ${{ secrets.CI_GITHUB_TOKEN }} + + - name: Run gui tests + run: | + cd gui + npm test diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml index fbc69b64f9..bd5f4b7acb 100644 --- a/.github/workflows/preview.yaml +++ b/.github/workflows/preview.yaml @@ -49,11 +49,11 @@ jobs: platform: alpine arch: x64 npm_config_arch: x64 - - os: macos-12 # should migrate this to the newer x64 version of macos-14 + - os: macos-13 platform: darwin arch: x64 npm_config_arch: x64 - - os: macos-12 # same here, especially + - os: macos-13 platform: darwin arch: arm64 npm_config_arch: arm64 @@ -210,7 +210,7 @@ jobs: git config --local user.name "GitHub Action" - name: Pull latest changes - run: git pull origin dev + run: git pull origin main # 1. Download the artifacts - uses: actions/download-artifact@v4 diff --git a/.github/workflows/submit-github-dependency-graph.yml b/.github/workflows/submit-github-dependency-graph.yml new file mode 100644 index 0000000000..c705484a9c --- /dev/null +++ b/.github/workflows/submit-github-dependency-graph.yml @@ -0,0 +1,25 @@ +name: Submit Gradle Dependency Graph For Dependabot + +on: + push: + branches: ['main'] + +permissions: + contents: write + +jobs: + dependency-submission: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v4 + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: 17 + - name: Generate and submit dependency graph + uses: gradle/actions/dependency-submission@v4 + with: + # The gradle project is not in the root of the repository. + build-root-directory: extensions/intellij diff --git a/.github/workflows/ts-check.yaml b/.github/workflows/ts-check.yaml deleted file mode 100644 index f73016fa5d..0000000000 --- a/.github/workflows/ts-check.yaml +++ /dev/null @@ -1,89 +0,0 @@ -name: TypeScript Check - -on: - pull_request: - branches: - - main - - preview - -jobs: - tsc-check: - runs-on: ubuntu-latest - - steps: - # 1. Check-out repository - - name: Check-out repository - uses: actions/checkout@v4 - - # 2. Install npm dependencies - - name: Use Node.js from .nvmrc - uses: actions/setup-node@v4 - with: - node-version-file: ".nvmrc" - - - name: Cache extension node_modules - uses: actions/cache@v3 - with: - path: extensions/vscode/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('extensions/vscode/package-lock.json') }} - - - name: Cache core node_modules - uses: actions/cache@v3 - with: - path: core/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('core/package-lock.json') }} - - - name: Cache gui node_modules - uses: actions/cache@v3 - with: - path: gui/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('gui/package-lock.json') }} - - - name: Cache binary node_modules - uses: actions/cache@v3 - with: - path: binary/node_modules - key: ${{ runner.os }}-node-${{ hashFiles('binary/package-lock.json') }} - - - name: Install extension Dependencies - run: | - cd extensions/vscode - npm ci - env: - # https://github.com/microsoft/vscode-ripgrep/issues/9#issuecomment-643965333 - GITHUB_TOKEN: ${{ secrets.CI_GITHUB_TOKEN }} - - - name: Install gui Dependencies - run: | - cd gui - npm ci - - - name: Install Core Dependencies - run: | - cd core - npm ci - - - name: Install Binary Dependencies - run: | - cd binary - npm ci - - - name: tsc core - run: | - cd core - npx tsc --noEmit - - - name: tsc extensions/vscode - run: | - cd extensions/vscode - npx tsc --noEmit - - - name: tsc binary - run: | - cd binary - npx tsc --noEmit - - - name: tsc gui - run: | - cd gui - npx tsc --noEmit diff --git a/.gitignore b/.gitignore index ba5199b567..af20fc0c18 100644 --- a/.gitignore +++ b/.gitignore @@ -135,38 +135,36 @@ cached_embeddings.pkl .ruff_cache codeql -**/.continue .DS_Store -.continue .test .tiktoken_cache -# IntelliJ Plugin +# IntelliJ Plugin **/**/.gradle **/**/.qodana **/**/build -**/.idea/**/* -!**/.idea/.name -!**/.idea/compiler.xml -!**/.idea/gradle.xml -!**/.idea/kotlinc.xml -!**/.idea/misc.xml -!**/.idea/vcs.xml -!**/.idea/jarRepositories.xml -core/.idea - continue_server.build continue_server.dist Icon Icon? -.continue - - -.prompts/ +.continuerc.json .aider* notes.md + +manual-testing-sandbox/.idea/** +extensions/intellij/.idea/** + +**/.idea/workspace.xml +**/.idea/usage.statistics.xml +**/.idea/shelf/ + +extensions/intellij/bin +extensions/.epico-pilot-debug/ +extensions/.continue-debug/ + +*.vsix diff --git a/.idea/.name b/.idea/.name index c0d78d1d57..389f6bc71e 100644 --- a/.idea/.name +++ b/.idea/.name @@ -1 +1 @@ -Continue IntelliJ Extension \ No newline at end of file +continue-intellij-extension \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000000..a98e3ae475 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000000..79ee123c2b --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/continue.iml b/.idea/continue.iml new file mode 100644 index 0000000000..d6ebd48059 --- /dev/null +++ b/.idea/continue.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/extensions/intellij/.idea/compiler.xml b/.idea/git_toolbox_blame.xml similarity index 50% rename from extensions/intellij/.idea/compiler.xml rename to .idea/git_toolbox_blame.xml index b589d56e9f..7dc124965d 100644 --- a/extensions/intellij/.idea/compiler.xml +++ b/.idea/git_toolbox_blame.xml @@ -1,6 +1,6 @@ - - + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 6733405f98..1d937028b0 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,7 +5,6 @@