2 Commits

Author SHA1 Message Date
yoannchb-pro 921e2bba4e Merge branch 'dev' 2025-10-01 09:30:19 +02:00
yoannchb-pro 3591aceba1 v1.1.5 2025-10-01 09:28:48 +02:00
13 changed files with 23 additions and 29 deletions
+4
View File
@@ -1,5 +1,9 @@
# CHANGELOG
## v1.1.5
- Support for gpt-5
## v1.1.4
- Support for all `o` models
+2 -2
View File
@@ -2,7 +2,7 @@
href="https://www.flaticon.com/free-icons/mortarboard" target="_blank" rel="noopener noreferrer"
title="Mortarboard icons created by itim2101 - Flaticon" ><img src="./extension/icon.png" alt="Mortarboard icons created by itim2101 - Flaticon" width="150" style="display:block; margin:auto;"></a></p>
# MoodleGPT 1.1.4
# MoodleGPT 1.1.5
This extension allows you to hide CHAT-GPT in a Moodle quiz. You just need to click on the question you want to solve, and CHAT-GPT will automatically provide the answer. However, one needs to be careful because as we know, CHAT-GPT can make errors especially in calculations.
@@ -12,7 +12,7 @@ Find the extension on the Chrome Webstore right [here](https://chrome.google.com
## Summary
- [MoodleGPT 1.1.4](#moodlegpt-114)
- [MoodleGPT 1.1.5](#moodlegpt-115)
- [Chrome Webstore](#chrome-webstore)
- [Summary](#summary)
- [Disclaimer !](#disclaimer-)
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "MoodleGPT",
"version": "1.1.4",
"version": "1.1.5",
"description": "Hidden chat-gpt for your moodle quiz",
"permissions": ["storage"],
"action": {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+6 -6
View File
@@ -1,12 +1,12 @@
{
"name": "moodlegpt",
"version": "1.1.4",
"version": "1.1.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "moodlegpt",
"version": "1.1.4",
"version": "1.1.5",
"license": "MIT",
"devDependencies": {
"@eslint/js": "^9.32.0",
@@ -20,7 +20,7 @@
"@typescript-eslint/parser": "^8.38.0",
"eslint": "^9.32.0",
"eslint-config-prettier": "^10.1.8",
"openai": "^5.11.0",
"openai": "^5.23.2",
"prettier": "^3.6.2",
"rollup": "^4.46.2",
"rollup-plugin-ts": "^3.2.0",
@@ -2160,9 +2160,9 @@
}
},
"node_modules/openai": {
"version": "5.11.0",
"resolved": "https://registry.npmjs.org/openai/-/openai-5.11.0.tgz",
"integrity": "sha512-+AuTc5pVjlnTuA9zvn8rA/k+1RluPIx9AD4eDcnutv6JNwHHZxIhkFy+tmMKCvmMFDQzfA/r1ujvPWB19DQkYg==",
"version": "5.23.2",
"resolved": "https://registry.npmjs.org/openai/-/openai-5.23.2.tgz",
"integrity": "sha512-MQBzmTulj+MM5O8SKEk/gL8a7s5mktS9zUtAkU257WjvobGc9nKcBuVwjyEEcb9SI8a8Y2G/mzn3vm9n1Jlleg==",
"dev": true,
"license": "Apache-2.0",
"bin": {
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "moodlegpt",
"version": "1.1.4",
"version": "1.1.5",
"description": "This extension allows you to hide CHAT-GPT in a Moodle quiz.",
"scripts": {
"build": "npm run prettier && npm run lint && npm run fastBuild",
@@ -37,7 +37,7 @@
"@typescript-eslint/parser": "^8.38.0",
"eslint": "^9.32.0",
"eslint-config-prettier": "^10.1.8",
"openai": "^5.11.0",
"openai": "^5.23.2",
"prettier": "^3.6.2",
"rollup": "^4.46.2",
"rollup-plugin-ts": "^3.2.0",
+1 -4
View File
@@ -34,10 +34,7 @@ async function getChatGPTResponse(
model: config.model,
messages: contentHandler.messages,
temperature: 0.1, // Controls the randomness of the generated responses, with lower values producing more deterministic and predictable outputs. With set to 0.1 instead of 0 for more creativity.
top_p: 0.6, // Determines the diversity of the generated responses
presence_penalty: 0, // Encourages the model to introduce new concepts by penalizing words that have already appeared in the text.
max_tokens: config.maxTokens || 2000 // Maximum length of the response,
max_completion_tokens: config.maxTokens || 2000 // Maximum length of the response,
}),
{ signal: config.timeout ? controller.signal : null }
);
-5
View File
@@ -9,11 +9,6 @@ import { ChatCompletionCreateParamsNonStreaming } from 'openai/resources/chat/co
export function fixeO(model: string, data: ChatCompletionCreateParamsNonStreaming) {
if (model.search(/^o\d+/gi) === -1) return data;
if (data.max_tokens) {
data.max_completion_tokens = data.max_tokens;
delete data.max_tokens;
}
if (data.temperature) delete data.temperature;
if (data.top_p) delete data.top_p;
+1 -1
View File
@@ -1,4 +1,4 @@
const CURRENT_VERSION = '1.1.4';
const CURRENT_VERSION = '1.1.5';
const versionDisplay = document.querySelector('#version')!;
/**
+2 -4
View File
@@ -2,15 +2,13 @@
"compilerOptions": {
"strict": true,
"baseUrl": "src",
"module": "ESNext",
"module": "esnext",
"target": "ES6",
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"target": "ES6",
"noImplicitAny": true,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "extension",
"resolveJsonModule": true,
"types": ["node", "chrome"],
"typeRoots": ["node_modules/@types"],
"strictBindCallApply": true