エラーログ(一部抜粋)
```
2023-09-13T09:39:41.4928938Z ##[group]Run npx code-review-gpt review --ci=github
2023-09-13T09:39:41.4929398Z [36;1mnpx code-review-gpt review --ci=github[0m
2023-09-13T09:39:41.4993923Z shell: /usr/bin/bash -e {0}
2023-09-13T09:39:41.4994285Z env:
2023-09-13T09:39:41.4995299Z GITHUB_TOKEN: ***
2023-09-13T09:39:41.4995644Z BASE_SHA: 9841d91fe1c744a65edccc32a9c7b1a8c8eb3e2e
2023-09-13T09:39:41.4996056Z GITHUB_SHA: 33af2de3c83e7a9aa87607ed7352934f9b48f0b2
2023-09-13T09:39:41.4996576Z OPENAI_API_KEY: ***
2023-09-13T09:39:41.4996850Z ##[endgroup]
2023-09-13T09:39:42.6527848Z [31m[1mERROR[22m[39m[0m[0m Error in callModelJSON
2023-09-13T09:39:42.6528482Z
2023-09-13T09:39:42.6529848Z [97m[101m[1m Error [22m[49m[39m[0m[0m Request failed with status code 404, [object Object], [object Object], [object Object], true, function toJSON() {
2023-09-13T09:39:42.6538559Z return {
2023-09-13T09:39:42.6539671Z // Standard
2023-09-13T09:39:42.6540188Z message: this.message,
2023-09-13T09:39:42.6541005Z name: this.name,
2023-09-13T09:39:42.6541470Z // Microsoft
2023-09-13T09:39:42.6542219Z description: this.description,
2023-09-13T09:39:42.6542732Z number: this.number,
2023-09-13T09:39:42.6543450Z // Mozilla
2023-09-13T09:39:42.6546697Z fileName: this.fileName,
2023-09-13T09:39:42.6552086Z lineNumber: this.lineNumber,
2023-09-13T09:39:42.6552638Z columnNumber: this.columnNumber,
2023-09-13T09:39:42.6553255Z stack: this.stack,
2023-09-13T09:39:42.6554541Z // Axios
2023-09-13T09:39:42.6555065Z config: this.config,
2023-09-13T09:39:42.6555545Z code: this.code,
2023-09-13T09:39:42.6556536Z status: this.response && this.response.status ? this.response.status : null
2023-09-13T09:39:42.6557086Z };
2023-09-13T09:39:42.6558132Z }, 1, 6[0m[0m
2023-09-13T09:39:42.6558618Z error stack:
2023-09-13T09:39:42.6559738Z • [33mcreateError.js[39m[0m[0m createError[0m[0m
2023-09-13T09:39:42.6560448Z [37m/node_modules/axios/lib/core/createError.js:16[39m[0m[0m
2023-09-13T09:39:42.6561052Z • [33msettle.js[39m[0m[0m settle[0m[0m
2023-09-13T09:39:42.6561652Z [37m/node_modules/axios/lib/core/settle.js:17[39m[0m[0m
2023-09-13T09:39:42.6562342Z • [33mhttp.js[39m[0m[0m IncomingMessage.handleStreamEnd[0m[0m
2023-09-13T09:39:42.6563031Z [37m/node_modules/axios/lib/adapters/http.js:322[39m[0m[0m
2023-09-13T09:39:42.6563648Z • [33mevents[39m[0m[0m IncomingMessage.emit[0m[0m
2023-09-13T09:39:42.6564498Z [37mevents:526[39m[0m[0m
2023-09-13T09:39:42.6564956Z • [33mreadable[39m[0m[0m endReadableNT[0m[0m
2023-09-13T09:39:42.6565471Z [37minternal/streams/readable:1359[39m[0m[0m
2023-09-13T09:39:42.6566110Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m
2023-09-13T09:39:42.6566809Z [37minternal/process/task_queues:82[39m[0m[0m[0m[0m
2023-09-13T09:39:42.7023532Z [31m[1mERROR[22m[39m[0m[0m Error in callModelJSON
2023-09-13T09:39:42.7024095Z
2023-09-13T09:39:42.7025847Z [97m[101m[1m Error [22m[49m[39m[0m[0m Request failed with status code 404, [object Object], [object Object], [object Object], true, function toJSON() {
2023-09-13T09:39:42.7026553Z return {
2023-09-13T09:39:42.7027498Z // Standard
2023-09-13T09:39:42.7027814Z message: this.message,
2023-09-13T09:39:42.7028331Z name: this.name,
2023-09-13T09:39:42.7029584Z // Microsoft
2023-09-13T09:39:42.7030136Z description: this.description,
2023-09-13T09:39:42.7030568Z number: this.number,
2023-09-13T09:39:42.7031227Z // Mozilla
2023-09-13T09:39:42.7032132Z fileName: this.fileName,
2023-09-13T09:39:42.7032774Z lineNumber: this.lineNumber,
2023-09-13T09:39:42.7033373Z columnNumber: this.columnNumber,
2023-09-13T09:39:42.7033918Z stack: this.stack,
2023-09-13T09:39:42.7034688Z // Axios
2023-09-13T09:39:42.7035466Z config: this.config,
2023-09-13T09:39:42.7036176Z code: this.code,
2023-09-13T09:39:42.7037612Z status: this.response && this.response.status ? this.response.status : null
2023-09-13T09:39:42.7038560Z };
2023-09-13T09:39:42.7039078Z }, 1, 6[0m[0m
2023-09-13T09:39:42.7039779Z error stack:
2023-09-13T09:39:42.7040654Z • [33mcreateError.js[39m[0m[0m createError[0m[0m
2023-09-13T09:39:42.7041340Z [37m/node_modules/axios/lib/core/createError.js:16[39m[0m[0m
2023-09-13T09:39:42.7041969Z • [33msettle.js[39m[0m[0m settle[0m[0m
2023-09-13T09:39:42.7042591Z [37m/node_modules/axios/lib/core/settle.js:17[39m[0m[0m
2023-09-13T09:39:42.7043301Z • [33mhttp.js[39m[0m[0m IncomingMessage.handleStreamEnd[0m[0m
2023-09-13T09:39:42.7044030Z [37m/node_modules/axios/lib/adapters/http.js:322[39m[0m[0m
2023-09-13T09:39:42.7044643Z • [33mevents[39m[0m[0m IncomingMessage.emit[0m[0m
2023-09-13T09:39:42.7045147Z [37mevents:526[39m[0m[0m
2023-09-13T09:39:42.7045869Z • [33mreadable[39m[0m[0m endReadableNT[0m[0m
2023-09-13T09:39:42.7046473Z [37minternal/streams/readable:1359[39m[0m[0m
2023-09-13T09:39:42.7047194Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m
2023-09-13T09:39:42.7047887Z [37minternal/process/task_queues:82[39m[0m[0m[0m[0m
2023-09-13T09:39:42.9751443Z [31m[1mERROR[22m[39m[0m[0m Error in callModelJSON
2023-09-13T09:39:42.9759897Z
2023-09-13T09:39:42.9761201Z [97m[101m[1m Error [22m[49m[39m[0m[0m Request failed with status code 404, [object Object], [object Object], [object Object], true, function toJSON() {
2023-09-13T09:39:42.9761696Z return {
2023-09-13T09:39:42.9762073Z // Standard
2023-09-13T09:39:42.9763008Z message: this.message,
2023-09-13T09:39:42.9763691Z name: this.name,
2023-09-13T09:39:42.9764900Z // Microsoft
2023-09-13T09:39:42.9765424Z description: this.description,
2023-09-13T09:39:42.9765862Z number: this.number,
2023-09-13T09:39:42.9766669Z // Mozilla
2023-09-13T09:39:42.9767437Z fileName: this.fileName,
2023-09-13T09:39:42.9768140Z lineNumber: this.lineNumber,
2023-09-13T09:39:42.9768602Z columnNumber: this.columnNumber,
2023-09-13T09:39:42.9769206Z stack: this.stack,
2023-09-13T09:39:42.9769581Z // Axios
2023-09-13T09:39:42.9769883Z config: this.config,
2023-09-13T09:39:42.9770211Z code: this.code,
2023-09-13T09:39:42.9770817Z status: this.response && this.response.status ? this.response.status : null
2023-09-13T09:39:42.9771292Z };
2023-09-13T09:39:42.9771655Z }, 1, 6[0m[0m
2023-09-13T09:39:42.9772038Z error stack:
2023-09-13T09:39:42.9772686Z • [33mcreateError.js[39m[0m[0m createError[0m[0m
2023-09-13T09:39:42.9773328Z [37m/node_modules/axios/lib/core/createError.js:16[39m[0m[0m
2023-09-13T09:39:42.9776078Z • [33msettle.js[39m[0m[0m settle[0m[0m
2023-09-13T09:39:42.9776620Z [37m/node_modules/axios/lib/core/settle.js:17[39m[0m[0m
2023-09-13T09:39:42.9777281Z • [33mhttp.js[39m[0m[0m IncomingMessage.handleStreamEnd[0m[0m
2023-09-13T09:39:42.9778050Z [37m/node_modules/axios/lib/adapters/http.js:322[39m[0m[0m
2023-09-13T09:39:42.9778587Z • [33mevents[39m[0m[0m IncomingMessage.emit[0m[0m
2023-09-13T09:39:42.9779007Z [37mevents:526[39m[0m[0m
2023-09-13T09:39:42.9779472Z • [33mreadable[39m[0m[0m endReadableNT[0m[0m
2023-09-13T09:39:42.9779972Z [37minternal/streams/readable:1359[39m[0m[0m
2023-09-13T09:39:42.9780888Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m
2023-09-13T09:39:42.9786386Z [37minternal/process/task_queues:82[39m[0m[0m[0m[0m
2023-09-13T09:39:43.0352409Z [31m[1mERROR[22m[39m[0m[0m Error in callModelJSON
2023-09-13T09:39:43.0353559Z
2023-09-13T09:39:43.0355889Z [97m[101m[1m Error [22m[49m[39m[0m[0m Request failed with status code 404, [object Object], [object Object], [object Object], true, function toJSON() {
2023-09-13T09:39:43.0356545Z return {
2023-09-13T09:39:43.0357929Z // Standard
2023-09-13T09:39:43.0358393Z message: this.message,
2023-09-13T09:39:43.0359556Z name: this.name,
2023-09-13T09:39:43.0359983Z // Microsoft
2023-09-13T09:39:43.0361084Z description: this.description,
2023-09-13T09:39:43.0361527Z number: this.number,
2023-09-13T09:39:43.0362424Z // Mozilla
2023-09-13T09:39:43.0363300Z fileName: this.fileName,
2023-09-13T09:39:43.0363767Z lineNumber: this.lineNumber,
2023-09-13T09:39:43.0364545Z columnNumber: this.columnNumber,
2023-09-13T09:39:43.0364967Z stack: this.stack,
2023-09-13T09:39:43.0365709Z // Axios
2023-09-13T09:39:43.0366946Z config: this.config,
2023-09-13T09:39:43.0368335Z code: this.code,
2023-09-13T09:39:43.0369021Z status: this.response && this.response.status ? this.response.status : null
2023-09-13T09:39:43.0373173Z };
2023-09-13T09:39:43.0373621Z }, 1, 6[0m[0m
2023-09-13T09:39:43.0373940Z error stack:
2023-09-13T09:39:43.0374495Z • [33mcreateError.js[39m[0m[0m createError[0m[0m
2023-09-13T09:39:43.0375226Z [37m/node_modules/axios/lib/core/createError.js:16[39m[0m[0m
2023-09-13T09:39:43.0375745Z • [33msettle.js[39m[0m[0m settle[0m[0m
2023-09-13T09:39:43.0376254Z [37m/node_modules/axios/lib/core/settle.js:17[39m[0m[0m
2023-09-13T09:39:43.0376868Z • [33mhttp.js[39m[0m[0m IncomingMessage.handleStreamEnd[0m[0m
2023-09-13T09:39:43.0377887Z [37m/node_modules/axios/lib/adapters/http.js:322[39m[0m[0m
2023-09-13T09:39:43.0378445Z • [33mevents[39m[0m[0m IncomingMessage.emit[0m[0m
2023-09-13T09:39:43.0378843Z [37mevents:526[39m[0m[0m
2023-09-13T09:39:43.0379751Z • [33mreadable[39m[0m[0m endReadableNT[0m[0m
2023-09-13T09:39:43.0380671Z [37minternal/streams/readable:1359[39m[0m[0m
2023-09-13T09:39:43.0382676Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m
2023-09-13T09:39:43.0383657Z [37minternal/process/task_queues:82[39m[0m[0m[0m[0m
2023-09-13T09:39:43.3167326Z [31m[1mERROR[22m[39m[0m[0m Error in processing prompt
2023-09-13T09:39:43.3167885Z
2023-09-13T09:39:43.3168988Z [97m[101m[1m Error [22m[49m[39m[0m[0m Couldn't call model after 3 tries with prompt: You are an expert TypeScript developer, your task is to review a set of pull requests.
2023-09-13T09:39:43.3170003Z You are given a list of filenames and their partial contents, but note that you might not have the full context of the code.
2023-09-13T09:39:43.3171172Z
2023-09-13T09:39:43.3173456Z Only review lines of code which have been changed (added or removed) in the pull request. The code looks similar to the output of a git diff command. Lines which have been removed are prefixed with a minus (-) and lines which have been added are prefixed with a plus (+). Other lines are added to provide context but should be ignored in the review.
2023-09-13T09:39:43.3174267Z
2023-09-13T09:39:43.3175447Z Begin your review by evaluating the changed code using a risk score similar to a LOGAF score but measured from 1 to 5, where 1 is the lowest risk to the code base if the code is merged and 5 is the highest risk which would likely break something or be unsafe.
2023-09-13T09:39:43.3176624Z
2023-09-13T09:39:43.3177948Z In your feedback, focus on highlighting potential bugs, improving readability if it is a problem, making code cleaner, and maximising the performance of the programming language. Flag any API keys or secrets present in the code in plain text immediately as highest risk. Rate the changes based on SOLID principles if applicable.
2023-09-13T09:39:43.3178724Z
2023-09-13T09:39:43.3179789Z Do not comment on breaking functions down into smaller, more manageable functions unless it is a huge problem. Also be aware that there will be libraries and techniques used which you are not familiar with, so do not comment on those unless you are confident that there is a problem.
2023-09-13T09:39:43.3180902Z
2023-09-13T09:39:43.3181751Z Use markdown formatting for the feedback details. Also do not include the filename or risk level in the feedback details.
2023-09-13T09:39:43.3182131Z
2023-09-13T09:39:43.3183276Z Ensure the feedback details are brief, concise, accurate. If there are multiple similar issues, only comment on the most critical.
2023-09-13T09:39:43.3183892Z
2023-09-13T09:39:43.3185489Z Include brief example code snippets in the feedback details for your suggested changes when you're confident your suggestions are improvements. Use the same programming language as the file under review.
2023-09-13T09:39:43.3186763Z If there are multiple improvements you suggest in the feedback details, use an ordered list to indicate the priority of the changes.
2023-09-13T09:39:43.3187271Z
2023-09-13T09:39:43.3209933Z Format the response in a valid JSON format as a list of feedbacks, where the value is an object containing the filename ("fileName"), risk score ("riskScore") and the feedback ("details"). The schema of the JSON feedback object must be:
2023-09-13T09:39:43.3211232Z {
2023-09-13T09:39:43.3212770Z "fileName": {
2023-09-13T09:39:43.3213229Z "type": "string"
2023-09-13T09:39:43.3213844Z },
2023-09-13T09:39:43.3214099Z "riskScore": {
2023-09-13T09:39:43.3214361Z "type": "number"
2023-09-13T09:39:43.3214618Z },
2023-09-13T09:39:43.3214864Z "details": {
2023-09-13T09:39:43.3215130Z "type": "string"
2023-09-13T09:39:43.3215462Z }
2023-09-13T09:39:43.3215746Z }
2023-09-13T09:39:43.3216110Z
2023-09-13T09:39:43.3216799Z The filenames and file contents to review are provided below as a list of JSON objects:
2023-09-13T09:39:43.3217128Z
2023-09-13T09:39:43.3278081Z [{"fileName":"/home/runner/work/tascal/tascal/src/components/task-calender-tab/task-calender.tsx","promptContent":"import { useState } from \"react\";\nimport { format } from \"date-fns\";\n+import { Grid, Flex } from \"@tremor/react\";\nimport { ChevronRightIcon, ChevronLeftIcon } from \"@heroicons/react/24/solid\";\n+import { Typography } from \"../parts\";\nimport { CreateTaskButton } from \"./create-task-button\";\nimport { TaskBoxContainer } from \"./task-box-container\";\nimport { Task, YearMonthDay, convertYearMonthDayToStr } from \"@/model\";\n\ntype Props = {\n title: string;\n calenderData: {\n ymd: {\n year: number;\n month: number;\n day: number;\n };\n tasks: Task[];\n }[];\n moveToBefore: () => unknown;\n moveToAfter: () => unknown;\n firstDayOfNumber: 0 | 2 | 1 | 3 | 4 | 5 | 6;\n lastDayOfNumber: 0 | 2 | 1 | 3 | 4 | 5 | 6;\n};\n\nexport function TaskCalender(props: Props) {\n const {\n title,\n calenderData,\n moveToBefore,\n moveToAfter,\n firstDayOfNumber,\n lastDayOfNumber,\n } = props;\n\n+ return (\n
\n );\n}\n\nfunction convertDateToDayName(dayNumber: 0 | 1 | 2 | 3 | 4 | 5 | 6) {\n const dayName = (() => {\n switch (dayNumber) {\n case 0:\n return \"日\";\n case 1:\n return \"月\";\n case 2:\n return \"火\";\n case 3:\n return \"水\";\n case 4:\n return \"木\";\n case 5:\n return \"金\";\n case 6:\n return \"土\";\n }\n })();\n\n return dayName;\n}"},{"fileName":"/home/runner/work/tascal/tascal/src/components/task-list-tab/task-card.tsx","promptContent":"import { CheckCircleIcon } from \"@heroicons/react/24/solid\";\n+import { Typography } from \"../parts\";\nimport { Task } from \"@/model\";\n\ntype Props = { task: Task; completeTask: ({ id }: { id: string }) => unknown };\n\nexport function TaskCard(props: Props) {\n const { task, completeTask } = props;\n\n return (\n
\n
\n+
\n+ {task.title}\n+
\n
\n
\n
\n {task.isCompleted ? (\n \n ) : (\n \n )}\n
\n
\n
\n );\n}"}][0m[0m
2023-09-13T09:39:43.3312585Z error stack:
2023-09-13T09:39:43.3314679Z • [33mindex.js[39m[0m[0m Object.onMaxRetryFunc[0m[0m
2023-09-13T09:39:43.3315557Z [37m/node_modules/code-review-gpt/dist/index.js:55[39m[0m[0m
2023-09-13T09:39:43.3316173Z • [33mretry.js[39m[0m[0m [0m[0m
2023-09-13T09:39:43.3316794Z [37m/node_modules/ts-retry/lib/cjs/retry/retry.js:55[39m[0m[0m
2023-09-13T09:39:43.3319155Z • [33m[39m[0m[0m [0m[0m
2023-09-13T09:39:43.3321564Z [37m[39m[0m[0m
2023-09-13T09:39:43.3322176Z • [33mretry.js[39m[0m[0m rejected[0m[0m
2023-09-13T09:39:43.3322808Z [37m/node_modules/ts-retry/lib/cjs/retry/retry.js:6[39m[0m[0m
2023-09-13T09:39:43.3323549Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m
2023-09-13T09:39:43.3324226Z [37minternal/process/task_queues:95[39m[0m[0m[0m[0m
2023-09-13T09:39:43.3605552Z [31m[1mERROR[22m[39m[0m[0m Error in processing prompt
2023-09-13T09:39:43.3605891Z
2023-09-13T09:39:43.3606804Z [97m[101m[1m Error [22m[49m[39m[0m[0m Couldn't call model after 3 tries with prompt: You are an expert TypeScript developer, your task is to review a set of pull requests.
2023-09-13T09:39:43.3607810Z You are given a list of filenames and their partial contents, but note that you might not have the full context of the code.
2023-09-13T09:39:43.3608203Z
2023-09-13T09:39:43.3609834Z Only review lines of code which have been changed (added or removed) in the pull request. The code looks similar to the output of a git diff command. Lines which have been removed are prefixed with a minus (-) and lines which have been added are prefixed with a plus (+). Other lines are added to provide context but should be ignored in the review.
2023-09-13T09:39:43.3610627Z
2023-09-13T09:39:43.3611605Z Begin your review by evaluating the changed code using a risk score similar to a LOGAF score but measured from 1 to 5, where 1 is the lowest risk to the code base if the code is merged and 5 is the highest risk which would likely break something or be unsafe.
2023-09-13T09:39:43.3612225Z
2023-09-13T09:39:43.3613469Z In your feedback, focus on highlighting potential bugs, improving readability if it is a problem, making code cleaner, and maximising the performance of the programming language. Flag any API keys or secrets present in the code in plain text immediately as highest risk. Rate the changes based on SOLID principles if applicable.
2023-09-13T09:39:43.3614636Z
2023-09-13T09:39:43.3615724Z Do not comment on breaking functions down into smaller, more manageable functions unless it is a huge problem. Also be aware that there will be libraries and techniques used which you are not familiar with, so do not comment on those unless you are confident that there is a problem.
2023-09-13T09:39:43.3616385Z
2023-09-13T09:39:43.3616905Z Use markdown formatting for the feedback details. Also do not include the filename or risk level in the feedback details.
2023-09-13T09:39:43.3617709Z
2023-09-13T09:39:43.3618266Z Ensure the feedback details are brief, concise, accurate. If there are multiple similar issues, only comment on the most critical.
2023-09-13T09:39:43.3618661Z
2023-09-13T09:39:43.3619905Z Include brief example code snippets in the feedback details for your suggested changes when you're confident your suggestions are improvements. Use the same programming language as the file under review.
2023-09-13T09:39:43.3621010Z If there are multiple improvements you suggest in the feedback details, use an ordered list to indicate the priority of the changes.
2023-09-13T09:39:43.3621410Z
2023-09-13T09:39:43.3622319Z Format the response in a valid JSON format as a list of feedbacks, where the value is an object containing the filename ("fileName"), risk score ("riskScore") and the feedback ("details"). The schema of the JSON feedback object must be:
2023-09-13T09:39:43.3622957Z {
2023-09-13T09:39:43.3623214Z "fileName": {
2023-09-13T09:39:43.3623498Z "type": "string"
2023-09-13T09:39:43.3623753Z },
2023-09-13T09:39:43.3623985Z "riskScore": {
2023-09-13T09:39:43.3624257Z "type": "number"
2023-09-13T09:39:43.3624507Z },
2023-09-13T09:39:43.3624745Z "details": {
2023-09-13T09:39:43.3624999Z "type": "string"
2023-09-13T09:39:43.3625243Z }
2023-09-13T09:39:43.3625691Z }
2023-09-13T09:39:43.3625855Z
2023-09-13T09:39:43.3626280Z The filenames and file contents to review are provided below as a list of JSON objects:
2023-09-13T09:39:43.3626605Z
2023-09-13T09:39:43.3715901Z [{"fileName":"/home/runner/work/tascal/tascal/src/components/dialog/common-confirm-dialog.tsx","promptContent":"+import { Button, Flex } from \"@tremor/react\";\nimport { useCallback } from \"react\";\n+import { Typography } from \"../parts\";\nimport { CommonDialog } from \"./common-dialog\";\n\nexport function CommonConfirmDialog({\n isOpen,\n handleClose,\n onSubmit,\n title,\n message,\n}: {\n isOpen: boolean;\n handleClose: () => unknown;\n onSubmit: () => unknown;\n title: string;\n message: string;\n}) {\n const onClickOK = useCallback(() => {\n onSubmit();\n handleClose();\n }, [onSubmit, handleClose]);\n\n return (\n \n
\n \n >\n );\n}"}][0m[0m
2023-09-13T09:39:43.3754777Z error stack:
2023-09-13T09:39:43.3755554Z • [33mindex.js[39m[0m[0m Object.onMaxRetryFunc[0m[0m
2023-09-13T09:39:43.3756163Z [37m/node_modules/code-review-gpt/dist/index.js:55[39m[0m[0m
2023-09-13T09:39:43.3756644Z • [33mretry.js[39m[0m[0m [0m[0m
2023-09-13T09:39:43.3757178Z [37m/node_modules/ts-retry/lib/cjs/retry/retry.js:55[39m[0m[0m
2023-09-13T09:39:43.3757606Z • [33m[39m[0m[0m [0m[0m
2023-09-13T09:39:43.3757929Z [37m[39m[0m[0m
2023-09-13T09:39:43.3758731Z • [33mretry.js[39m[0m[0m rejected[0m[0m
2023-09-13T09:39:43.3759267Z [37m/node_modules/ts-retry/lib/cjs/retry/retry.js:6[39m[0m[0m
2023-09-13T09:39:43.3759906Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m
2023-09-13T09:39:43.3760505Z [37minternal/process/task_queues:95[39m[0m[0m[0m[0m
2023-09-13T09:39:43.4463313Z [31m[1mERROR[22m[39m[0m[0m Error: {"message":"Request failed with status code 404","name":"Error","stack":"Error: Request failed with status code 404\n at createError (/home/runner/work/tascal/tascal/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/home/runner/work/tascal/tascal/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/home/runner/work/tascal/tascal/node_modules/axios/lib/adapters/http.js:322:11)\n at IncomingMessage.emit (node:events:526:35)\n at endReadableNT (node:internal/streams/readable:1359:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json","User-Agent":"OpenAI/NodeJS/3.3.0","Authorization":"***","Content-Length":291},"method":"post","data":"{\"model\":\"gpt-4\",\"temperature\":0,\"top_p\":1,\"frequency_penalty\":0,\"presence_penalty\":0,\"n\":1,\"stream\":false,\"messages\":[{\"role\":\"user\",\"content\":\"\\nYou are a senior developer and have just reviewed a pull request. This was your feedback:\\n[]\\nPlease summarise the review using 3 emojis.\\n\"}]}","url":"https://api.openai.com/v1/chat/completions"},"status":404}
2023-09-13T09:39:43.4729778Z ##[error]Process completed with exit code 1.
```
This reverts commit 1b25cfa114e797aa3e03c77e439def47b7ea33b0, reversing changes made to 0c70975e141913406e5f9d3dd3aa30a93fc3dc77.
121 でcode-review-gptを導入したが、うまく動作していないので一旦revertする
https://github.com/hirokisakabe/tascal/actions/runs/6170707310/job/16747483490?pr=123
エラーログ(一部抜粋)
``` 2023-09-13T09:39:41.4928938Z ##[group]Run npx code-review-gpt review --ci=github 2023-09-13T09:39:41.4929398Z [36;1mnpx code-review-gpt review --ci=github[0m 2023-09-13T09:39:41.4993923Z shell: /usr/bin/bash -e {0} 2023-09-13T09:39:41.4994285Z env: 2023-09-13T09:39:41.4995299Z GITHUB_TOKEN: *** 2023-09-13T09:39:41.4995644Z BASE_SHA: 9841d91fe1c744a65edccc32a9c7b1a8c8eb3e2e 2023-09-13T09:39:41.4996056Z GITHUB_SHA: 33af2de3c83e7a9aa87607ed7352934f9b48f0b2 2023-09-13T09:39:41.4996576Z OPENAI_API_KEY: *** 2023-09-13T09:39:41.4996850Z ##[endgroup] 2023-09-13T09:39:42.6527848Z [31m[1mERROR[22m[39m[0m[0m Error in callModelJSON 2023-09-13T09:39:42.6528482Z 2023-09-13T09:39:42.6529848Z [97m[101m[1m Error [22m[49m[39m[0m[0m Request failed with status code 404, [object Object], [object Object], [object Object], true, function toJSON() { 2023-09-13T09:39:42.6538559Z return { 2023-09-13T09:39:42.6539671Z // Standard 2023-09-13T09:39:42.6540188Z message: this.message, 2023-09-13T09:39:42.6541005Z name: this.name, 2023-09-13T09:39:42.6541470Z // Microsoft 2023-09-13T09:39:42.6542219Z description: this.description, 2023-09-13T09:39:42.6542732Z number: this.number, 2023-09-13T09:39:42.6543450Z // Mozilla 2023-09-13T09:39:42.6546697Z fileName: this.fileName, 2023-09-13T09:39:42.6552086Z lineNumber: this.lineNumber, 2023-09-13T09:39:42.6552638Z columnNumber: this.columnNumber, 2023-09-13T09:39:42.6553255Z stack: this.stack, 2023-09-13T09:39:42.6554541Z // Axios 2023-09-13T09:39:42.6555065Z config: this.config, 2023-09-13T09:39:42.6555545Z code: this.code, 2023-09-13T09:39:42.6556536Z status: this.response && this.response.status ? this.response.status : null 2023-09-13T09:39:42.6557086Z }; 2023-09-13T09:39:42.6558132Z }, 1, 6[0m[0m 2023-09-13T09:39:42.6558618Z error stack: 2023-09-13T09:39:42.6559738Z • [33mcreateError.js[39m[0m[0m createError[0m[0m 2023-09-13T09:39:42.6560448Z [37m/node_modules/axios/lib/core/createError.js:16[39m[0m[0m 2023-09-13T09:39:42.6561052Z • [33msettle.js[39m[0m[0m settle[0m[0m 2023-09-13T09:39:42.6561652Z [37m/node_modules/axios/lib/core/settle.js:17[39m[0m[0m 2023-09-13T09:39:42.6562342Z • [33mhttp.js[39m[0m[0m IncomingMessage.handleStreamEnd[0m[0m 2023-09-13T09:39:42.6563031Z [37m/node_modules/axios/lib/adapters/http.js:322[39m[0m[0m 2023-09-13T09:39:42.6563648Z • [33mevents[39m[0m[0m IncomingMessage.emit[0m[0m 2023-09-13T09:39:42.6564498Z [37mevents:526[39m[0m[0m 2023-09-13T09:39:42.6564956Z • [33mreadable[39m[0m[0m endReadableNT[0m[0m 2023-09-13T09:39:42.6565471Z [37minternal/streams/readable:1359[39m[0m[0m 2023-09-13T09:39:42.6566110Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m 2023-09-13T09:39:42.6566809Z [37minternal/process/task_queues:82[39m[0m[0m[0m[0m 2023-09-13T09:39:42.7023532Z [31m[1mERROR[22m[39m[0m[0m Error in callModelJSON 2023-09-13T09:39:42.7024095Z 2023-09-13T09:39:42.7025847Z [97m[101m[1m Error [22m[49m[39m[0m[0m Request failed with status code 404, [object Object], [object Object], [object Object], true, function toJSON() { 2023-09-13T09:39:42.7026553Z return { 2023-09-13T09:39:42.7027498Z // Standard 2023-09-13T09:39:42.7027814Z message: this.message, 2023-09-13T09:39:42.7028331Z name: this.name, 2023-09-13T09:39:42.7029584Z // Microsoft 2023-09-13T09:39:42.7030136Z description: this.description, 2023-09-13T09:39:42.7030568Z number: this.number, 2023-09-13T09:39:42.7031227Z // Mozilla 2023-09-13T09:39:42.7032132Z fileName: this.fileName, 2023-09-13T09:39:42.7032774Z lineNumber: this.lineNumber, 2023-09-13T09:39:42.7033373Z columnNumber: this.columnNumber, 2023-09-13T09:39:42.7033918Z stack: this.stack, 2023-09-13T09:39:42.7034688Z // Axios 2023-09-13T09:39:42.7035466Z config: this.config, 2023-09-13T09:39:42.7036176Z code: this.code, 2023-09-13T09:39:42.7037612Z status: this.response && this.response.status ? this.response.status : null 2023-09-13T09:39:42.7038560Z }; 2023-09-13T09:39:42.7039078Z }, 1, 6[0m[0m 2023-09-13T09:39:42.7039779Z error stack: 2023-09-13T09:39:42.7040654Z • [33mcreateError.js[39m[0m[0m createError[0m[0m 2023-09-13T09:39:42.7041340Z [37m/node_modules/axios/lib/core/createError.js:16[39m[0m[0m 2023-09-13T09:39:42.7041969Z • [33msettle.js[39m[0m[0m settle[0m[0m 2023-09-13T09:39:42.7042591Z [37m/node_modules/axios/lib/core/settle.js:17[39m[0m[0m 2023-09-13T09:39:42.7043301Z • [33mhttp.js[39m[0m[0m IncomingMessage.handleStreamEnd[0m[0m 2023-09-13T09:39:42.7044030Z [37m/node_modules/axios/lib/adapters/http.js:322[39m[0m[0m 2023-09-13T09:39:42.7044643Z • [33mevents[39m[0m[0m IncomingMessage.emit[0m[0m 2023-09-13T09:39:42.7045147Z [37mevents:526[39m[0m[0m 2023-09-13T09:39:42.7045869Z • [33mreadable[39m[0m[0m endReadableNT[0m[0m 2023-09-13T09:39:42.7046473Z [37minternal/streams/readable:1359[39m[0m[0m 2023-09-13T09:39:42.7047194Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m 2023-09-13T09:39:42.7047887Z [37minternal/process/task_queues:82[39m[0m[0m[0m[0m 2023-09-13T09:39:42.9751443Z [31m[1mERROR[22m[39m[0m[0m Error in callModelJSON 2023-09-13T09:39:42.9759897Z 2023-09-13T09:39:42.9761201Z [97m[101m[1m Error [22m[49m[39m[0m[0m Request failed with status code 404, [object Object], [object Object], [object Object], true, function toJSON() { 2023-09-13T09:39:42.9761696Z return { 2023-09-13T09:39:42.9762073Z // Standard 2023-09-13T09:39:42.9763008Z message: this.message, 2023-09-13T09:39:42.9763691Z name: this.name, 2023-09-13T09:39:42.9764900Z // Microsoft 2023-09-13T09:39:42.9765424Z description: this.description, 2023-09-13T09:39:42.9765862Z number: this.number, 2023-09-13T09:39:42.9766669Z // Mozilla 2023-09-13T09:39:42.9767437Z fileName: this.fileName, 2023-09-13T09:39:42.9768140Z lineNumber: this.lineNumber, 2023-09-13T09:39:42.9768602Z columnNumber: this.columnNumber, 2023-09-13T09:39:42.9769206Z stack: this.stack, 2023-09-13T09:39:42.9769581Z // Axios 2023-09-13T09:39:42.9769883Z config: this.config, 2023-09-13T09:39:42.9770211Z code: this.code, 2023-09-13T09:39:42.9770817Z status: this.response && this.response.status ? this.response.status : null 2023-09-13T09:39:42.9771292Z }; 2023-09-13T09:39:42.9771655Z }, 1, 6[0m[0m 2023-09-13T09:39:42.9772038Z error stack: 2023-09-13T09:39:42.9772686Z • [33mcreateError.js[39m[0m[0m createError[0m[0m 2023-09-13T09:39:42.9773328Z [37m/node_modules/axios/lib/core/createError.js:16[39m[0m[0m 2023-09-13T09:39:42.9776078Z • [33msettle.js[39m[0m[0m settle[0m[0m 2023-09-13T09:39:42.9776620Z [37m/node_modules/axios/lib/core/settle.js:17[39m[0m[0m 2023-09-13T09:39:42.9777281Z • [33mhttp.js[39m[0m[0m IncomingMessage.handleStreamEnd[0m[0m 2023-09-13T09:39:42.9778050Z [37m/node_modules/axios/lib/adapters/http.js:322[39m[0m[0m 2023-09-13T09:39:42.9778587Z • [33mevents[39m[0m[0m IncomingMessage.emit[0m[0m 2023-09-13T09:39:42.9779007Z [37mevents:526[39m[0m[0m 2023-09-13T09:39:42.9779472Z • [33mreadable[39m[0m[0m endReadableNT[0m[0m 2023-09-13T09:39:42.9779972Z [37minternal/streams/readable:1359[39m[0m[0m 2023-09-13T09:39:42.9780888Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m 2023-09-13T09:39:42.9786386Z [37minternal/process/task_queues:82[39m[0m[0m[0m[0m 2023-09-13T09:39:43.0352409Z [31m[1mERROR[22m[39m[0m[0m Error in callModelJSON 2023-09-13T09:39:43.0353559Z 2023-09-13T09:39:43.0355889Z [97m[101m[1m Error [22m[49m[39m[0m[0m Request failed with status code 404, [object Object], [object Object], [object Object], true, function toJSON() { 2023-09-13T09:39:43.0356545Z return { 2023-09-13T09:39:43.0357929Z // Standard 2023-09-13T09:39:43.0358393Z message: this.message, 2023-09-13T09:39:43.0359556Z name: this.name, 2023-09-13T09:39:43.0359983Z // Microsoft 2023-09-13T09:39:43.0361084Z description: this.description, 2023-09-13T09:39:43.0361527Z number: this.number, 2023-09-13T09:39:43.0362424Z // Mozilla 2023-09-13T09:39:43.0363300Z fileName: this.fileName, 2023-09-13T09:39:43.0363767Z lineNumber: this.lineNumber, 2023-09-13T09:39:43.0364545Z columnNumber: this.columnNumber, 2023-09-13T09:39:43.0364967Z stack: this.stack, 2023-09-13T09:39:43.0365709Z // Axios 2023-09-13T09:39:43.0366946Z config: this.config, 2023-09-13T09:39:43.0368335Z code: this.code, 2023-09-13T09:39:43.0369021Z status: this.response && this.response.status ? this.response.status : null 2023-09-13T09:39:43.0373173Z }; 2023-09-13T09:39:43.0373621Z }, 1, 6[0m[0m 2023-09-13T09:39:43.0373940Z error stack: 2023-09-13T09:39:43.0374495Z • [33mcreateError.js[39m[0m[0m createError[0m[0m 2023-09-13T09:39:43.0375226Z [37m/node_modules/axios/lib/core/createError.js:16[39m[0m[0m 2023-09-13T09:39:43.0375745Z • [33msettle.js[39m[0m[0m settle[0m[0m 2023-09-13T09:39:43.0376254Z [37m/node_modules/axios/lib/core/settle.js:17[39m[0m[0m 2023-09-13T09:39:43.0376868Z • [33mhttp.js[39m[0m[0m IncomingMessage.handleStreamEnd[0m[0m 2023-09-13T09:39:43.0377887Z [37m/node_modules/axios/lib/adapters/http.js:322[39m[0m[0m 2023-09-13T09:39:43.0378445Z • [33mevents[39m[0m[0m IncomingMessage.emit[0m[0m 2023-09-13T09:39:43.0378843Z [37mevents:526[39m[0m[0m 2023-09-13T09:39:43.0379751Z • [33mreadable[39m[0m[0m endReadableNT[0m[0m 2023-09-13T09:39:43.0380671Z [37minternal/streams/readable:1359[39m[0m[0m 2023-09-13T09:39:43.0382676Z • [33mtask_queues[39m[0m[0m process.processTicksAndRejections[0m[0m 2023-09-13T09:39:43.0383657Z [37minternal/process/task_queues:82[39m[0m[0m[0m[0m 2023-09-13T09:39:43.3167326Z [31m[1mERROR[22m[39m[0m[0m Error in processing prompt 2023-09-13T09:39:43.3167885Z 2023-09-13T09:39:43.3168988Z [97m[101m[1m Error [22m[49m[39m[0m[0m Couldn't call model after 3 tries with prompt: You are an expert TypeScript developer, your task is to review a set of pull requests. 2023-09-13T09:39:43.3170003Z You are given a list of filenames and their partial contents, but note that you might not have the full context of the code. 2023-09-13T09:39:43.3171172Z 2023-09-13T09:39:43.3173456Z Only review lines of code which have been changed (added or removed) in the pull request. The code looks similar to the output of a git diff command. Lines which have been removed are prefixed with a minus (-) and lines which have been added are prefixed with a plus (+). Other lines are added to provide context but should be ignored in the review. 2023-09-13T09:39:43.3174267Z 2023-09-13T09:39:43.3175447Z Begin your review by evaluating the changed code using a risk score similar to a LOGAF score but measured from 1 to 5, where 1 is the lowest risk to the code base if the code is merged and 5 is the highest risk which would likely break something or be unsafe. 2023-09-13T09:39:43.3176624Z 2023-09-13T09:39:43.3177948Z In your feedback, focus on highlighting potential bugs, improving readability if it is a problem, making code cleaner, and maximising the performance of the programming language. Flag any API keys or secrets present in the code in plain text immediately as highest risk. Rate the changes based on SOLID principles if applicable. 2023-09-13T09:39:43.3178724Z 2023-09-13T09:39:43.3179789Z Do not comment on breaking functions down into smaller, more manageable functions unless it is a huge problem. Also be aware that there will be libraries and techniques used which you are not familiar with, so do not comment on those unless you are confident that there is a problem. 2023-09-13T09:39:43.3180902Z 2023-09-13T09:39:43.3181751Z Use markdown formatting for the feedback details. Also do not include the filename or risk level in the feedback details. 2023-09-13T09:39:43.3182131Z 2023-09-13T09:39:43.3183276Z Ensure the feedback details are brief, concise, accurate. If there are multiple similar issues, only comment on the most critical. 2023-09-13T09:39:43.3183892Z 2023-09-13T09:39:43.3185489Z Include brief example code snippets in the feedback details for your suggested changes when you're confident your suggestions are improvements. Use the same programming language as the file under review. 2023-09-13T09:39:43.3186763Z If there are multiple improvements you suggest in the feedback details, use an ordered list to indicate the priority of the changes. 2023-09-13T09:39:43.3187271Z 2023-09-13T09:39:43.3209933Z Format the response in a valid JSON format as a list of feedbacks, where the value is an object containing the filename ("fileName"), risk score ("riskScore") and the feedback ("details"). The schema of the JSON feedback object must be: 2023-09-13T09:39:43.3211232Z { 2023-09-13T09:39:43.3212770Z "fileName": { 2023-09-13T09:39:43.3213229Z "type": "string" 2023-09-13T09:39:43.3213844Z }, 2023-09-13T09:39:43.3214099Z "riskScore": { 2023-09-13T09:39:43.3214361Z "type": "number" 2023-09-13T09:39:43.3214618Z }, 2023-09-13T09:39:43.3214864Z "details": { 2023-09-13T09:39:43.3215130Z "type": "string" 2023-09-13T09:39:43.3215462Z } 2023-09-13T09:39:43.3215746Z } 2023-09-13T09:39:43.3216110Z 2023-09-13T09:39:43.3216799Z The filenames and file contents to review are provided below as a list of JSON objects: 2023-09-13T09:39:43.3217128Z 2023-09-13T09:39:43.3278081Z [{"fileName":"/home/runner/work/tascal/tascal/src/components/task-calender-tab/task-calender.tsx","promptContent":"import { useState } from \"react\";\nimport { format } from \"date-fns\";\n+import { Grid, Flex } from \"@tremor/react\";\nimport { ChevronRightIcon, ChevronLeftIcon } from \"@heroicons/react/24/solid\";\n+import { Typography } from \"../parts\";\nimport { CreateTaskButton } from \"./create-task-button\";\nimport { TaskBoxContainer } from \"./task-box-container\";\nimport { Task, YearMonthDay, convertYearMonthDayToStr } from \"@/model\";\n\ntype Props = {\n title: string;\n calenderData: {\n ymd: {\n year: number;\n month: number;\n day: number;\n };\n tasks: Task[];\n }[];\n moveToBefore: () => unknown;\n moveToAfter: () => unknown;\n firstDayOfNumber: 0 | 2 | 1 | 3 | 4 | 5 | 6;\n lastDayOfNumber: 0 | 2 | 1 | 3 | 4 | 5 | 6;\n};\n\nexport function TaskCalender(props: Props) {\n const {\n title,\n calenderData,\n moveToBefore,\n moveToAfter,\n firstDayOfNumber,\n lastDayOfNumber,\n } = props;\n\n+ return (\n