Skip to content

Commit fae5c5d

Browse files
committed
Merge branch 'main' into watsonx-vi
2 parents 2827114 + 3c5332a commit fae5c5d

File tree

346 files changed

+57991
-54729
lines changed

Some content is hidden

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

346 files changed

+57991
-54729
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Update LLM Info
2+
description: Updates Gemini blocks with latest information
3+
version: 2
4+
---
5+
I need you to update this repo with the latest information about large language models from certain providers.
6+
The information is stored in the `packages/llm-info` directory, which operates as its own npm package.
7+
Information is stored in a simple JSON format, with one file of models per "provider" (e.g. gemini, ollama, openai, etc).
8+
For example, Gemini model information is stored in `packages/llm-info/src/providers/gemini.ts`.
9+
10+
To make these updates for a given provider, perform the following steps one at a time:
11+
12+
1. VIEW CURRENT INFORMATION
13+
14+
To view the current llm info, read the file (e.g. `packages/llm-info/src/providers/gemini.ts`) using the read_file tool.
15+
If you do not see a tool for reading files, let me know.
16+
17+
For reference, here is the LLMInfo interface used to store the information:
18+
19+
```typescript
20+
export interface LlmInfo {
21+
model: string; // the model name used to distinguish the model at the API layer, e.g. "gemini-2.5-pro-preview-05-06"
22+
displayName?: string; // A fitting display name, e.g. "Gemini 2.5 Pro Preview"
23+
description?: string; // A short description of the model, as similar as possible to descriptions found on the provider's website
24+
contextLength?: number; // The size of the context window in tokens, often called "max input tokens" or "context length"
25+
maxCompletionTokens?: number; // The maximum number of tokens the model can output
26+
regex?: RegExp; // A regex expression to uniquely match the model name if it had some slight modifications/upgrades, e.g. /gemini-2\.5-pro-preview/i
27+
mediaTypes?: MediaType[]; // Input/output types supported by the model, e.g. [MediaType.Text, MediaType.Image]
28+
}
29+
30+
export enum MediaType {
31+
Text = "text",
32+
Image = "image",
33+
Audio = "audio",
34+
Video = "video",
35+
}
36+
37+
export const AllMediaTypes = [
38+
MediaType.Text,
39+
MediaType.Image,
40+
MediaType.Audio,
41+
MediaType.Video,
42+
];
43+
```
44+
45+
2. EXTRACT NEW INFORMATION
46+
47+
New information will be pulled from the internet.
48+
If you do not see a web search tool, let me know.
49+
50+
Retrieve the following sites per these providers, and consider these notes on how to extract the information:
51+
- "gemini": https://ai.google.dev/gemini-api/docs/models - maxCompletionTokens is called "Output token limit", contextLength is called "Input token limit"
52+
// TODO: add info for openai, ollama, etc
53+
54+
For any other providers, search the web for "latest [provider] models" and find the most relevant model information using your best judgement.
55+
Generally, ignore models that do not support text output. These models will be used in a coding assistant client that only supports text/image input and text/output, so extraneous capabilities can be ignored.
56+
Sometimes, "Experimental", "Preview", or similar versions of models are available. The latest-date version of each should have its own information maintained.
57+
58+
3. UPDATE THE INFORMATION
59+
60+
Use the edit file tool to submit updates to the relevant provider file (e.g. `packages/llm-info/src/providers/gemini.ts`).
61+
Let me know if you do not see a tool for editing files.
62+
63+
Generally, avoid making changes to existing information, as it is probably up to date.
64+
Primarily, focus on adding new models or adding missing information to existing models.
65+
NEVER delete any existing models, but let me know if you think one should be removed.
66+
Stop to ask me if you are unsure about any changes, and let me know if there are updates that seem nuanced, complex, or extremely notable.
67+
Provide a summary of changes after the fact.
68+
69+
4. ASK IF I WANT TO PUBLISH TO NPM
70+
After you are done updating everything, remind me that I need to publish the changes to npm.
71+
72+
// TODO too sensitive for now
73+
// If yes, update `packages/llm-info/package.json` with the new version number and then
74+
// - use the terminal tool to commit the changes
75+
// - use the terminal tool to publish changes to npm
76+
// If you do not see a tool for running terminal commands, let me know.
77+
78+
// User input
79+
Please update LLM Info for the following providers. If "all", update all providers mentioned above:
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
globs: /**/*.
3+
description: General questions about code completion should be answered specific to Continue
4+
---
5+
6+
# Continue Specificity
7+
8+
- In chat mode, if the user asks generally about code completion or developer tools, answer specifically regarding Continue and not other similar software.
9+
- Keep all suggestions and comments concentrated on Continue, unless the user asks otherwise. If the user does this, answer with no particular specificity to Continue.

.continue/rules/documentation-standards.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ description: Standards for writing and maintaining Continue Docs
1313
- Include cross-references to related documentation
1414
- Reference other docs with relative paths
1515
- Keep paragraphs concise and scannable
16-
- Use code blocks with appropriate language tags
16+
- Use code blocks with appropriate language tags

.eslintrc.shared.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
},
77
"plugins": ["@typescript-eslint", "import"],
88
"rules": {
9+
"no-negated-condition": "warn",
910
"@typescript-eslint/naming-convention": "off",
1011
"@typescript-eslint/no-floating-promises": "warn",
1112
"@typescript-eslint/semi": "warn",

.github/workflows/pr_checks.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,24 @@ jobs:
3030
if: steps.root-cache.outputs.cache-hit != 'true'
3131
run: npm ci
3232

33+
prettier-check:
34+
needs: install-root
35+
runs-on: ubuntu-latest
36+
steps:
37+
- uses: actions/checkout@v4
38+
39+
- uses: actions/setup-node@v4
40+
with:
41+
node-version-file: ".nvmrc"
42+
43+
- uses: actions/cache@v4
44+
with:
45+
path: node_modules
46+
key: ${{ runner.os }}-root-node-modules-${{ hashFiles('package-lock.json') }}
47+
48+
- name: Check code formatting with Prettier
49+
run: npx prettier --check "**/*.{js,jsx,ts,tsx,json,css,md}" --ignore-path .gitignore --ignore-path .prettierignore
50+
3351
install-config-yaml:
3452
needs: install-root
3553
runs-on: ubuntu-latest
@@ -408,6 +426,7 @@ jobs:
408426
run: |
409427
cd core
410428
npm test
429+
npm run vitest
411430
env:
412431
IGNORE_API_KEY_TESTS: ${{ github.event.pull_request.head.repo.fork == true || github.actor == 'dependabot[bot]' }}
413432
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
@@ -859,6 +878,7 @@ jobs:
859878
runs-on: ubuntu-latest
860879
needs:
861880
- install-root
881+
- prettier-check
862882
- install-core
863883
- core-checks
864884
- install-gui

.prettierignore

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,11 @@ gui/dist
1515
CHANGELOG.md
1616
**/continue_tutorial.py
1717
**/node_modules
18-
**/CODEOWNERS
18+
**/CODEOWNERS
19+
core/vendor
20+
coverage
21+
e2e
22+
extensions/vscode/gui
23+
extensions/vscode/models
24+
extensions/intellij/src/main/resources
25+
packages/continue-sdk

CODE_OF_CONDUCT.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@ religion, or sexual identity and orientation.
1414
Examples of behavior that contributes to creating a positive environment
1515
include:
1616

17-
* Using welcoming and inclusive language
18-
* Being respectful of differing viewpoints and experiences
19-
* Gracefully accepting constructive criticism
20-
* Focusing on what is best for the community
21-
* Showing empathy towards other community members
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
2222

2323
Examples of unacceptable behavior by participants include:
2424

25-
* The use of sexualized language or imagery and unwelcome sexual attention or
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
2626
advances
27-
* Trolling, insulting/derogatory comments, and personal or political attacks
28-
* Public or private harassment
29-
* Publishing others' private information, such as a physical or electronic
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
3030
address, without explicit permission
31-
* Other conduct which could reasonably be considered inappropriate in a
31+
- Other conduct which could reasonably be considered inappropriate in a
3232
professional setting
3333

3434
## Our Responsibilities

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ file
5858

5959
![edit](docs/static/img/edit.gif)
6060

61-
6261
</div>
6362

6463
## Getting Started

binary/core-dev-server.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
const path = require('path');
1+
const path = require("path");
22
process.env.CONTINUE_DEVELOPMENT = true;
33

4-
process.env.CONTINUE_GLOBAL_DIR = path.join(process.env.PROJECT_DIR, 'extensions', '.continue-debug');
4+
process.env.CONTINUE_GLOBAL_DIR = path.join(
5+
process.env.PROJECT_DIR,
6+
"extensions",
7+
".continue-debug",
8+
);
59

6-
require('./out/index.js');
10+
require("./out/index.js");

binary/prompt-logs.js

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1-
const fs = require('fs');
2-
const path = require('path');
1+
const fs = require("fs");
2+
const path = require("path");
33

4-
const logDirPath = path.join(__dirname, '..', 'extensions', '.continue-debug', 'logs');
4+
const logDirPath = path.join(
5+
__dirname,
6+
"..",
7+
"extensions",
8+
".continue-debug",
9+
"logs",
10+
);
511
const logFilePath = path.join(logDirPath, "prompt.log");
612

713
// Ensure the log directory exists
@@ -12,7 +18,7 @@ if (!fs.existsSync(logDirPath)) {
1218

1319
// Create the log file if it doesn't exist
1420
if (!fs.existsSync(logFilePath)) {
15-
fs.writeFileSync(logFilePath, ''); // Create an empty file synchronously
21+
fs.writeFileSync(logFilePath, ""); // Create an empty file synchronously
1622
console.log("Created empty log file at " + logFilePath);
1723
}
1824

@@ -25,14 +31,16 @@ try {
2531
// console.clear();
2632
const stream = fs.createReadStream(logFilePath);
2733
stream.pipe(process.stdout);
28-
stream.on('error', (err) => {
29-
console.error('Error reading log file:', err.message);
34+
stream.on("error", (err) => {
35+
console.error("Error reading log file:", err.message);
3036
});
3137
} catch (err) {
32-
console.error('Error while handling file change:', err.message);
38+
console.error("Error while handling file change:", err.message);
3339
}
3440
});
3541
} catch (err) {
36-
console.error('Error setting up file watcher:', err.message);
37-
console.log('You may need to restart the script after the extension generates the first log entry.');
38-
}
42+
console.error("Error setting up file watcher:", err.message);
43+
console.log(
44+
"You may need to restart the script after the extension generates the first log entry.",
45+
);
46+
}

0 commit comments

Comments
 (0)