-
Notifications
You must be signed in to change notification settings - Fork 196
Dev #1578
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
base: main
Are you sure you want to change the base?
Conversation
Annotations from the provided diff:Linter: no-fix-mes
Linter: grumpy-devSarcastic, grumpy breakdown of the changes:
Linter: diagramsThe diagram represents the removal and addition of workflows and a minor configuration adjustment. graph TD
A[.github/workflows/genai-blog-post.yml] -->|Removed| X[No Build Logic]
A[astro core getting bumped,decoupled docs.yaml improvement]
--- content blogs/tags split mgd
direct JSON observation breakable]
Linter: no-fix-mes
Linter: grumpy-devSarcastic, grumpy breakdown of the changes:
Linter: diagramsHere is a corrected mermaid diagram for the changes: graph TD
A[.github/workflows/genai-blog-post.yml] -->|Removed| X[No Build Logic]
B[.github/workflows/custom-action.yml] -->|Added| C[Custom Workflow Logic]
D[docs/astro.config.mjs] -->|Updated| E[Astro Configuration]
F[docs/package.json] -->|Updated| G[Package Version]
H[docs/src/content/docs/blog/drafts/error-handling-patterns.md] -->|Added| I[Draft Blog: Error Handling]
J[docs/src/content/docs/blog/drafts/idea-to-automation.md] -->|Added| K[Draft Blog: Idea to Automation]
Summary Table (Linter: stats):
|
|
||
// Regular expression for matching GitHub Flavored Markdown style warnings. | ||
// Example: > [!WARNING] | ||
// > This is a warning message. | ||
const GITHUB_MARKDOWN_WARNINGS_RX = | ||
/^\s*>\s*\[!(?<severity>NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*\n>\s*(?<message>.+)(?:\s*\n>\s*.*?)*?$/gim | ||
/^\s*>\s*\[!(?<severity>NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*\n>\s*(?<message>.+)(?:\s*\n>\s*.*?)*?$/gim; |
Check failure
Code scanning / CodeQL
Inefficient regular expression High
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 15 days ago
To fix the issue, we need to rewrite the regular expression to eliminate the ambiguity caused by .*?
. Specifically, we can replace .*?
with a more precise pattern that matches the intended input without introducing ambiguity. For example, instead of using .*?
to match any sequence of characters lazily, we can use a pattern that excludes newline characters or other specific delimiters. This ensures that the regular expression performs efficiently even for edge cases.
The changes will be made to the GITHUB_MARKDOWN_WARNINGS_RX
regular expression on line 36. The updated pattern will explicitly match the intended structure of GitHub Flavored Markdown warnings while avoiding ambiguous constructs.
-
Copy modified line R36
@@ -35,3 +35,3 @@ | ||
const GITHUB_MARKDOWN_WARNINGS_RX = | ||
/^\s*>\s*\[!(?<severity>NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*\n>\s*(?<message>.+)(?:\s*\n>\s*.*?)*?$/gim; | ||
/^\s*>\s*\[!(?<severity>NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*\n>\s*(?<message>[^\n]+)(?:\s*\n>\s*[^\n]*)*$/gim; | ||
|
} | ||
// Enclose in quotes if the value contains newlines or quotes, and escape quotes | ||
if (value.includes("\n") || value.includes('"')) { | ||
value = value.replace(/"/g, '\\"'); // Escape existing quotes |
Check failure
Code scanning / CodeQL
Incomplete string escaping or encoding High
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 20 days ago
To fix the issue, the value.replace
operation should be updated to escape both double quotes and backslashes. This can be achieved by chaining two replace
calls or using a single regular expression that matches both characters. The best approach is to use a single regular expression with a global flag to ensure all occurrences are replaced. This ensures that the output is properly escaped and consistent with expected dotenv formatting.
Changes will be made to the dotEnvStringify
function in the file packages/core/src/dotenv.ts
. Specifically, the line value.replace(/"/g, '\\"')
will be replaced with value.replace(/["\\]/g, '\\$&')
, which escapes both double quotes and backslashes.
-
Copy modified line R52
@@ -51,3 +51,3 @@ | ||
if (value.includes("\n") || value.includes('"')) { | ||
value = value.replace(/"/g, '\\"'); // Escape existing quotes | ||
value = value.replace(/["\\]/g, '\\$&'); // Escape double quotes and backslashes | ||
return `${key}="${value}"`; |
|
||
return text | ||
if (/file=\w+\.\w+/.test(label)) { | ||
const m = /^\s*\`{3,}\w*\r?\n((.|\s)*)\r?\n\`{3,}\s*$/.exec(text); |
Check failure
Code scanning / CodeQL
Inefficient regular expression High
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 20 days ago
To fix the issue, we need to rewrite the regular expression to remove the ambiguity caused by (.|\s)*
. Instead of using (.|\s)*
, we can use a more specific pattern that matches any character except backticks (```) directly. This avoids the ambiguity and ensures efficient matching.
The updated regular expression will replace (.|\s)*
with [^\
]*`, which matches zero or more characters that are not backticks. This change preserves the original functionality while eliminating the risk of exponential backtracking.
The fix will be applied to line 165 in the normalize
function within the file packages/core/src/fence.ts
.
-
Copy modified line R165
@@ -164,3 +164,3 @@ | ||
if (/file=\w+\.\w+/.test(label)) { | ||
const m = /^\s*\`{3,}\w*\r?\n((.|\s)*)\r?\n\`{3,}\s*$/.exec(text); | ||
const m = /^\s*\`{3,}\w*\r?\n([^\`]*)\r?\n\`{3,}\s*$/.exec(text); | ||
if (m) return m[1]; |
? `defAudio("${c.input_audio}")` | ||
: `unknown message` | ||
const renderJinja = (content: string) => | ||
`$\`${content.replace(/`/g, "\\`")}\`${/\{(%|\{)/.test(content) ? `.jinja(env.vars)` : ""}`; |
Check failure
Code scanning / CodeQL
Incomplete string escaping or encoding High
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 15 days ago
To fix the issue, the content.replace
function should be updated to escape both backticks () and backslashes (
`). This can be achieved by using a regular expression with the global flag (g
) to match both characters and replace them appropriately. Specifically, backslashes should be escaped first to avoid double escaping issues when processing backticks.
The updated code will ensure that all occurrences of backslashes and backticks are escaped, making the string safe for further processing. The fix will be applied to the renderJinja
function on line 145.
-
Copy modified line R145
@@ -144,3 +144,3 @@ | ||
const renderJinja = (content: string) => | ||
`$\`${content.replace(/`/g, "\\`")}\`${/\{(%|\{)/.test(content) ? `.jinja(env.vars)` : ""}`; | ||
`$\`${content.replace(/\\/g, "\\\\").replace(/`/g, "\\`")}\`${/\{(%|\{)/.test(content) ? `.jinja(env.vars)` : ""}`; | ||
const renderPart = (c: ChatCompletionContentPart) => |
.filter((s) => s !== undefined && s !== null) | ||
.map((l) => (l === "*" ? ".*?" : l.replace(/[^a-z0-9_]/gi, ""))) | ||
.join("|"); | ||
const startRx = new RegExp(`^[\r\n\s]*(\`{3,})(${lg})\s*\r?\n`, "i"); |
Check failure
Code scanning / CodeQL
Useless regular-expression character escape High
regular expression
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 20 days ago
To fix the issue, the escape sequence \s
in the string literal should be properly escaped as \\s
. This ensures that the backslash is preserved when the string is converted into a regular expression, and the intended meaning of \s
as a whitespace character is retained.
The fix involves updating the regular expression string on line 21 to use \\s
instead of \s
. Similarly, the regular expression on line 25 also contains \s
and should be updated to \\s
for consistency and correctness.
-
Copy modified line R21 -
Copy modified line R25
@@ -20,3 +20,3 @@ | ||
.join("|"); | ||
const startRx = new RegExp(`^[\r\n\s]*(\`{3,})(${lg})\s*\r?\n`, "i"); | ||
const startRx = new RegExp(`^[\\r\\n\\s]*(\`{3,})(${lg})\\s*\\r?\\n`, "i"); | ||
const mstart = startRx.exec(text); | ||
@@ -24,3 +24,3 @@ | ||
const n = mstart[1].length; | ||
const endRx = new RegExp(`\r?\n\`{${n},${n}}[\r\n\s]*$`, "i"); | ||
const endRx = new RegExp(`\\r?\\n\`{${n},${n}}[\\r\\n\\s]*$`, "i"); | ||
const mend = endRx.exec(text); |
.filter((s) => s !== undefined && s !== null) | ||
.map((l) => (l === "*" ? ".*?" : l.replace(/[^a-z0-9_]/gi, ""))) | ||
.join("|"); | ||
const startRx = new RegExp(`^[\r\n\s]*(\`{3,})(${lg})\s*\r?\n`, "i"); |
Check failure
Code scanning / CodeQL
Useless regular-expression character escape High
regular expression
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 19 days ago
To fix the issue, the \s
escape sequence in the string literal should be replaced with \\s
. This ensures that the backslash is correctly interpreted as part of the regular expression when the string is passed to the RegExp
constructor. Similarly, any other escape sequences in the regular expression should be reviewed and corrected if necessary.
The specific changes are:
- Update the
startRx
regular expression on line 21 to use\\s
instead of\s
. - Update the
endRx
regular expression on line 25 to use\\s
instead of\s
.
-
Copy modified line R21 -
Copy modified line R25
@@ -20,3 +20,3 @@ | ||
.join("|"); | ||
const startRx = new RegExp(`^[\r\n\s]*(\`{3,})(${lg})\s*\r?\n`, "i"); | ||
const startRx = new RegExp(`^[\\r\\n\\s]*(\`{3,})(${lg})\\s*\\r?\\n`, "i"); | ||
const mstart = startRx.exec(text); | ||
@@ -24,3 +24,3 @@ | ||
const n = mstart[1].length; | ||
const endRx = new RegExp(`\r?\n\`{${n},${n}}[\r\n\s]*$`, "i"); | ||
const endRx = new RegExp(`\\r?\\n\`{${n},${n}}[\\r\\n\\s]*$`, "i"); | ||
const mend = endRx.exec(text); |
const mstart = startRx.exec(text); | ||
if (mstart) { | ||
const n = mstart[1].length; | ||
const endRx = new RegExp(`\r?\n\`{${n},${n}}[\r\n\s]*$`, "i"); |
Check failure
Code scanning / CodeQL
Useless regular-expression character escape High
regular expression
} | ||
// Match against TypeScript, GitHub, and Azure DevOps regex patterns. | ||
for (const rx of ANNOTATIONS_RX) { | ||
for (const m of text.matchAll(rx)) addAnnotation(m); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
return text?.replace(GITHUB_MARKDOWN_WARNINGS_RX, (s, ...args) => { | ||
const groups = args.at(-1); | ||
const { severity, message, suggestion } = groups; | ||
const sev = SEV_MAP[severity?.toLowerCase()] ?? "info"; | ||
const d = deleteUndefinedValues({ | ||
severity: sev, | ||
filename: "", | ||
range: [ | ||
[0, 0], // Start of range, 0-based index | ||
[0, Number.MAX_VALUE], // End of range, max value for columns | ||
], | ||
code: "", | ||
message, | ||
suggestion, | ||
}) satisfies Diagnostic; | ||
return convertAnnotationToItem(d); | ||
}); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
return text | ||
?.replace( | ||
GITHUB_ANNOTATIONS_RX, | ||
( | ||
_, | ||
severity, | ||
file, | ||
line, | ||
endLine, | ||
__, | ||
code, | ||
message, | ||
suggestion, | ||
) => `> [!${severities[severity] || severity}] | ||
> ${message} (${file}#L${line} ${code || ""}) | ||
${suggestion ? `\`\`\`suggestion\n${suggestion}\n\`\`\`\n` : ""} | ||
` | ||
) | ||
?.replace( | ||
AZURE_DEVOPS_ANNOTATIONS_RX, | ||
(_, severity, file, line, __, code, message) => { | ||
return `> [!${severities[severity] || severity}] ${message} | ||
`, | ||
) |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
This
regular expression
library input
return text | ||
?.replace(/\[([^\]]+)\]\([^)]+\)/g, (m, n) => n) | ||
?.replace(/<\/?([^>]+)>/g, "") | ||
return text?.replace(/\[([^\]]+)\]\([^)]+\)/g, (m, n) => n)?.replace(/<\/?([^>]+)>/g, ""); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
library input
This
regular expression
library input
packages/core/test/changelog.test.ts
Outdated
const source = `ChangeLog:1@email_validator.py | ||
Description: Implement a function to validate both email addresses and URLs. | ||
OriginalCode@1-3: | ||
[1] # Placeholder for email validation logic | ||
[2] | ||
[3] # Placeholder for URL validation logic | ||
ChangedCode@1-10: | ||
[1] import re | ||
[2] | ||
[3] def validate_email(email): | ||
[4] # Simple regex pattern for validating an email address | ||
[5] pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$' | ||
[6] return re.match(pattern, email) is not None | ||
[7] | ||
[8] def validate_url(url): | ||
[9] # Simple regex pattern for validating a URL | ||
[10] pattern = r'^https?:\/\/[\w.-]+\.[a-zA-Z]{2,}.*$' | ||
[11] return re.match(pattern, url) is not None | ||
[12] | ||
[13] def validate_email_and_url(email, url): | ||
[14] return validate_email(email) and validate_url(url) | ||
` | ||
const res = parseChangeLogs(source) | ||
assert.equal(res.length, 1) | ||
assert.equal(res[0].filename, "email_validator.py") | ||
}) | ||
`; |
Check failure
Code scanning / CodeQL
Useless regular-expression character escape High test
regular expression
The escape sequence '\w' is equivalent to just 'w', so the sequence is not a character class when it is used in a
regular expression
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 20 days ago
To fix the issue, ensure that the escape sequence \.
is used correctly in the context of the regular expression or string literal. If the goal is to match a literal dot, ensure that the backslash is properly escaped when using a string literal (e.g., '\\.'
). If the escape sequence is unnecessary, remove the backslash to avoid confusion and potential errors.
In this case, we will review the relevant code and adjust the escape sequence as needed to ensure the regular expression behaves as intended.
-
Copy modified line R57 -
Copy modified line R62
@@ -56,3 +56,3 @@ | ||
[4] # Simple regex pattern for validating an email address | ||
[5] pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$' | ||
[5] pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$' | ||
[6] return re.match(pattern, email) is not None | ||
@@ -61,3 +61,3 @@ | ||
[9] # Simple regex pattern for validating a URL | ||
[10] pattern = r'^https?:\/\/[\w.-]+\.[a-zA-Z]{2,}.*$' | ||
[10] pattern = r'^https?:\\/\\/[\\w.-]+\\.[a-zA-Z]{2,}.*$' | ||
[11] return re.match(pattern, url) is not None |
"https://github.com/user-attachments/assets/a6e1935a-868e-4cca-9531-ad0ccdb9eace", | ||
); | ||
assert(resolved); | ||
assert(resolved.includes("githubusercontent.com")); |
Check failure
Code scanning / CodeQL
Incomplete URL substring sanitization High test
githubusercontent.com
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 17 days ago
To fix the issue, the test should parse the resolved URL using the URL
constructor and explicitly check the host
property to ensure it matches the expected domain (githubusercontent.com
). This approach ensures that the validation is performed on the actual host of the URL, rather than relying on substring matching, which can be bypassed.
The changes will involve:
- Parsing the
resolved
URL using theURL
constructor. - Replacing the
resolved.includes("githubusercontent.com")
check with a strict comparison of thehost
property.
-
Copy modified lines R123-R124 -
Copy modified lines R131-R132
@@ -122,3 +122,4 @@ | ||
assert(resolved); | ||
assert(resolved.includes("githubusercontent.com")); | ||
const parsedUrl = new URL(resolved); | ||
assert(parsedUrl.host === "githubusercontent.com"); | ||
}); | ||
@@ -129,3 +130,4 @@ | ||
console.log(resolved); | ||
assert(resolved.includes("githubusercontent.com")); | ||
const parsedUrl = new URL(resolved); | ||
assert(parsedUrl.host === "githubusercontent.com"); | ||
}); |
"https://github.com/user-attachments/assets/f7881bef-931d-4f76-8f63-b4d12b1f021e", | ||
); | ||
console.log(resolved); | ||
assert(resolved.includes("githubusercontent.com")); |
Check failure
Code scanning / CodeQL
Incomplete URL substring sanitization High test
githubusercontent.com
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 17 days ago
To fix the issue, replace the substring check resolved.includes("githubusercontent.com")
with a proper validation of the host component of the URL. This involves parsing the URL using the URL
constructor and checking if the host
matches the expected value (githubusercontent.com
). This ensures that the test correctly validates the resolved URL's host and prevents false positives caused by substring matches in other parts of the URL.
Changes are required in the test cases where resolved.includes("githubusercontent.com")
is used. Specifically, lines 123 and 130 need to be updated to use the URL
constructor for host validation.
-
Copy modified lines R123-R124 -
Copy modified lines R131-R132
@@ -122,3 +122,4 @@ | ||
assert(resolved); | ||
assert(resolved.includes("githubusercontent.com")); | ||
const parsedUrl = new URL(resolved); | ||
assert(parsedUrl.host === "githubusercontent.com"); | ||
}); | ||
@@ -129,3 +130,4 @@ | ||
console.log(resolved); | ||
assert(resolved.includes("githubusercontent.com")); | ||
const parsedUrl = new URL(resolved); | ||
assert(parsedUrl.host === "githubusercontent.com"); | ||
}); |
value = { model: value, source }; | ||
} | ||
const aliases = this._modelAliases[source]; | ||
const c = aliases[id] || (aliases[id] = { source }); |
Check warning
Code scanning / CodeQL
Prototype-polluting assignment Medium
library input
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 7 days ago
To fix the issue, we need to ensure that the object aliases
is resilient to prototype pollution. This can be achieved by using a prototype-less object created with Object.create(null)
instead of a regular object. This approach ensures that even if a malicious key like __proto__
is injected, it won't affect Object.prototype
.
Steps to fix:
- Modify the initialization of
aliases
to useObject.create(null)
instead of{}
. - Ensure that all assignments to
aliases
are compatible with the prototype-less object.
-
Copy modified line R188 -
Copy modified line R206
@@ -187,3 +187,3 @@ | ||
dbg(`clearing modelAlias for source: ${source}`); | ||
this._modelAliases[source] = {}; | ||
this._modelAliases[source] = Object.create(null); | ||
} | ||
@@ -205,3 +205,3 @@ | ||
const aliases = this._modelAliases[source]; | ||
const c = aliases[id] || (aliases[id] = { source }); | ||
const c = aliases[id] || (aliases[id] = Object.assign(Object.create(null), { source })); | ||
if (value === undefined || value.model === id) { |
const c = aliases[id] || (aliases[id] = { source }); | ||
if (value === undefined || value.model === id) { | ||
dbg(`alias ${id}: deleting (source: ${source})`); | ||
delete aliases[id]; |
Check warning
Code scanning / CodeQL
Prototype-polluting assignment Medium
library input
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 7 days ago
To fix the issue, we need to ensure that the aliases
object is resilient to prototype pollution. The best approach is to replace the aliases
object with a prototype-less object created using Object.create(null)
. This ensures that even if a malicious key like __proto__
is used, it will not affect Object.prototype
. Additionally, the existing check for dangerous keys should be retained as an extra layer of protection.
Changes to implement:
- Modify the initialization of
aliases
to useObject.create(null)
instead of a regular object. - Ensure that all assignments to
aliases
are compatible with the prototype-less object. - Retain the check for dangerous keys (
__proto__
,prototype
,constructor
) to prevent misuse.
-
Copy modified line R188 -
Copy modified line R205
@@ -187,3 +187,3 @@ | ||
dbg(`clearing modelAlias for source: ${source}`); | ||
this._modelAliases[source] = {}; | ||
this._modelAliases[source] = Object.create(null); | ||
} | ||
@@ -204,3 +204,3 @@ | ||
} | ||
const aliases = this._modelAliases[source]; | ||
const aliases = this._modelAliases[source] || (this._modelAliases[source] = Object.create(null)); | ||
const c = aliases[id] || (aliases[id] = { source }); |
…nd additional paths
…n and related files
thanks!
* feat: add globals package with initial setup and configuration files * refactor: simplify README.md by removing outdated sections and retaining essential information * fix: ensure globals are marked as installed during installation process * chore: update pnpm version to 10.12.2 and add globals package dependencies
* refactor: remove unused files and update package.json for new entry point - direct file reference to avoid slurping too much code * refactor: update import statements to remove file extensions for consistency * refactor: update import paths to use relative paths from core module * refactor: update import statements for consistency and remove unused imports * refactor: add missing import for CLI resolver and performance logging * refactor: update resolveHttpProxyAgent to be async and adjust related calls * refactor: update output paths in build configuration and remove unused Rollup plugins * refactor: change build format from ESM to CJS in build configuration * refactor: remove session API key check from createWebview function * chore: update dependencies to latest versions - Updated '@types/vscode' from 1.100.0 to 1.101.0 - Updated '@vscode/vsce' from 3.4.2 to 3.5.0 - Bumped '@secretlint/*' packages from 9.3.3 to 9.3.4 - Updated 'binaryextensions' from 4.19.0 to 6.11.0 - Updated 'istextorbinary' from 6.0.0 to 9.5.0 - Updated 'textextensions' from 5.16.0 to 6.11.0 - Added 'editions' package at version 6.21.0 - Updated 'version-range' package to 4.14.0 * refactor: update release:github script to include package and vsix release steps * refactor: replace assert with error throw for client initialization in TerminalServerManager * refactor: replace assert with error throw in checkNodeCommand for terminal validation
* chore: update dependencies in pnpm-workspace.yaml and slides/package.json - upgraded prettier from ^3.5.3 to ^3.6.0 - added zx dependency at version ^8.6.0 in pnpm-workspace.yaml - updated @slidev/cli from ^51.7.1 to ^51.8.2 - updated zx from ^8.5.4 to ^8.6.0 in slides/package.json * refactor: remove unused package.json file from runtime * chore: update @types/debug and @types/node versions in pnpm-lock.yaml * refactor: remove unused logWarn import from test.ts * chore: update diff package version and clean up package.json files * refactor: remove unused package.json file from runtime * refactor: remove unused createPatch import and related patch logging from convertFiles function
…h requests (#1636) * Initial plan for issue * Implement retry-after header handling in fetch retry logic Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Refactor parseRetryAfter function and improve test coverage * Refactor test files to use vitest and improve test coverage for parseRetryAfter function * Remove package.json to eliminate module type configuration * Update build permissions and comment out test cases in GitHubClient and resources tests --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> Co-authored-by: Peli de Halleux <pelikhan@users.noreply.github.com>
…p; refactor dotenv regex refactor: remove unused bearer script
Updated logging to display provider before input model details.
* [web] Code cleanup * [runtime] Add in worker initialization
…in cache, concurrency, host, model alias, and models modules
… for clarity and formatting
return b; | ||
} | ||
const res = | ||
trimTrailingSlash(b.replace(/\/openai\/deployments.*$/, "")) + `/openai/deployments`; |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
library input
…th createJSONL function, update appendJSONL to handle array inputs, and enhance type definitions.
…ck words and change imports to type imports for better clarity.
* chore: update dependencies in pnpm-workspace and package.json files - Bump typescript-eslint from ^8.35.1 to ^8.36.0 in pnpm-workspace.yaml - Update zod from ^3.25.71 to ^3.25.75 in pnpm-workspace.yaml - Upgrade @langchain/core from ^0.3.61 to ^0.3.62 in samples/sample/package.json - Upgrade @modelcontextprotocol/sdk from ^1.13.3 to ^1.15.0 in samples/sample/package.json - Update @types/eslint from ^9.6.0 to ^9.6.1 in tools/eslint-plugin-genaiscript/package.json - Upgrade @types/node from ^22.0.0 to ^22.16.0 in tools/eslint-plugin-genaiscript/package.json - Bump @typescript-eslint/rule-tester and @typescript-eslint/utils from ^8.35.1 to ^8.36.0 in tools/eslint-plugin-genaiscript/package.json * refactor: change import type to import for React in multiple files
…#1715) - Introduced `GITHUB_MODELS_ORG` environment variable to specify an organization for inference. - Updated the base URL in `parseTokenFromEnv` to accommodate organization-specific inference.
…nd updating processing logic
* Remove GitHub short links support from MdAstOptions and related imports * Refactor parse functions to include return types and add remarkDetails plugin for HTML details support * Add remarkDetails plugin for parsing HTML details elements and enhance related functionality * Fix summary assertion in details element tests and adjust markdown content parsing expectations * Fix formatting issues in remarkDetails tests and add a new test for handling lists in details elements * Add tests for parsing and stringifying HTML details elements with various content types * Remove unused remark-github dependency from pnpm-lock.yaml
Investigator reportContext collection
AI Analysis
|
* Add support for MCP model provider and enhance debugging capabilities * Add MCP Client Sampling configuration to language model providers * Add model specification to emojifier script * Refactor MCP server initialization and enhance client sampling registration * Fix resource handling in MCP server and update resource manager methods * Implement MCP sampling language model and refactor MCP server client registration * Add parent language model support to MCP server and worker * Refactor MCP server and worker to enhance message handling and support sampling language model * Enhance debug logging for chatCompletion messages in MCP server and worker * Refactor message handling in createWorkerLanguageModel for improved clarity and maintainability
Dev branch.