This commit is contained in:
锦恢 2025-06-26 01:05:26 +08:00
parent af3b2cbee5
commit 4b3bbbed66
15 changed files with 253 additions and 54 deletions

119
package-lock.json generated
View File

@ -1309,6 +1309,22 @@
"node": ">=18"
}
},
"node_modules/@faker-js/faker": {
"version": "9.8.0",
"resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-9.8.0.tgz",
"integrity": "sha512-U9wpuSrJC93jZBxx/Qq2wPjCuYISBueyVUGK7qqdmj7r/nxaxwW8AQDCLeRO7wZnjj94sh3p246cAYjUKuqgfg==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/fakerjs"
}
],
"license": "MIT",
"engines": {
"node": ">=18.0.0",
"npm": ">=9.0.0"
}
},
"node_modules/@floating-ui/core": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.1.tgz",
@ -1577,6 +1593,30 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@jsep-plugin/assignment": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz",
"integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==",
"license": "MIT",
"engines": {
"node": ">= 10.16.0"
},
"peerDependencies": {
"jsep": "^0.4.0||^1.0.0"
}
},
"node_modules/@jsep-plugin/regex": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz",
"integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==",
"license": "MIT",
"engines": {
"node": ">= 10.16.0"
},
"peerDependencies": {
"jsep": "^0.4.0||^1.0.0"
}
},
"node_modules/@lezer/common": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz",
@ -4659,7 +4699,6 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
@ -5104,6 +5143,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/call-me-maybe": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz",
"integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==",
"license": "MIT"
},
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@ -6617,7 +6662,6 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true,
"license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
@ -7221,6 +7265,12 @@
"node": ">= 0.6"
}
},
"node_modules/format-util": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.5.tgz",
"integrity": "sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==",
"license": "MIT"
},
"node_modules/formdata-node": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz",
@ -8390,7 +8440,6 @@
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
@ -8400,6 +8449,15 @@
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/jsep": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz",
"integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==",
"license": "MIT",
"engines": {
"node": ">= 10.16.0"
}
},
"node_modules/jsesc": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
@ -8420,6 +8478,31 @@
"dev": true,
"license": "MIT"
},
"node_modules/json-schema-faker": {
"version": "0.5.9",
"resolved": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.9.tgz",
"integrity": "sha512-fNKLHgDvfGNNTX1zqIjqFMJjCLzJ2kvnJ831x4aqkAoeE4jE2TxvpJdhOnk3JU3s42vFzmXvkpbYzH5H3ncAzg==",
"license": "MIT",
"dependencies": {
"json-schema-ref-parser": "^6.1.0",
"jsonpath-plus": "^10.3.0"
},
"bin": {
"jsf": "bin/gen.cjs"
}
},
"node_modules/json-schema-ref-parser": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz",
"integrity": "sha512-pXe9H1m6IgIpXmE5JSb8epilNTGsmTb2iPohAXpOdhqGFbQjNeHHsZxU+C8w6T81GZxSPFLeUoqDJmzxx5IGuw==",
"deprecated": "Please switch to @apidevtools/json-schema-ref-parser",
"license": "MIT",
"dependencies": {
"call-me-maybe": "^1.0.1",
"js-yaml": "^3.12.1",
"ono": "^4.0.11"
}
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@ -8459,6 +8542,24 @@
"graceful-fs": "^4.1.6"
}
},
"node_modules/jsonpath-plus": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz",
"integrity": "sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==",
"license": "MIT",
"dependencies": {
"@jsep-plugin/assignment": "^1.3.0",
"@jsep-plugin/regex": "^1.0.4",
"jsep": "^1.4.0"
},
"bin": {
"jsonpath": "bin/jsonpath-cli.js",
"jsonpath-plus": "bin/jsonpath-cli.js"
},
"engines": {
"node": ">=18.0.0"
}
},
"node_modules/jsonwebtoken": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz",
@ -9850,6 +9951,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/ono": {
"version": "4.0.11",
"resolved": "https://registry.npmjs.org/ono/-/ono-4.0.11.tgz",
"integrity": "sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==",
"license": "MIT",
"dependencies": {
"format-util": "^1.0.3"
}
},
"node_modules/open": {
"version": "10.1.2",
"resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz",
@ -12111,7 +12221,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true,
"license": "BSD-3-Clause"
},
"node_modules/statuses": {
@ -14042,10 +14151,12 @@
"@codemirror/autocomplete": "^6.18.6",
"@codemirror/lang-json": "^6.0.1",
"@codemirror/theme-one-dark": "^6.1.2",
"@faker-js/faker": "^9.8.0",
"chalk": "^5.4.1",
"codemirror": "^6.0.1",
"core-js": "^3.8.3",
"element-plus": "^2.9.9",
"json-schema-faker": "^0.5.9",
"katex": "^0.16.21",
"lodash": "^4.17.21",
"markdown-it": "^14.1.0",

View File

@ -19,10 +19,12 @@
"@codemirror/autocomplete": "^6.18.6",
"@codemirror/lang-json": "^6.0.1",
"@codemirror/theme-one-dark": "^6.1.2",
"@faker-js/faker": "^9.8.0",
"chalk": "^5.4.1",
"codemirror": "^6.0.1",
"core-js": "^3.8.3",
"element-plus": "^2.9.9",
"json-schema-faker": "^0.5.9",
"katex": "^0.16.21",
"lodash": "^4.17.21",
"markdown-it": "^14.1.0",

View File

@ -318,6 +318,9 @@ function updateToolCallResultItem(value: any, toolIndex: number, index: number)
.tool-call-header {
display: flex;
align-items: center;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.tool-call-header.result {

View File

@ -86,7 +86,7 @@ const formRules = computed<FormRules>(() => {
currentPrompt.value?.arguments.forEach(param => {
rules[param.name] = [
{
message: `${param.name} 是必填字段`,
message: `${param.name} ` + t('is-required'),
trigger: 'blur'
}
]

View File

@ -5,42 +5,24 @@
<div class="tool-executor-container">
<el-form :model="tabStorage.formData" :rules="formRules" ref="formRef" label-position="top">
<template v-if="currentTool?.inputSchema?.properties">
<el-form-item
v-for="[name, property] in Object.entries(currentTool.inputSchema.properties)"
:key="name"
:label="property.title || name"
:prop="name"
:required="currentTool.inputSchema.required?.includes(name)"
>
<el-input
v-if="property.type === 'string'"
v-model="tabStorage.formData[name]"
type="text"
<el-form-item v-for="[name, property] in Object.entries(currentTool.inputSchema.properties)" :key="name"
:label="property.title || name" :prop="name"
:required="currentTool.inputSchema.required?.includes(name)">
<el-input v-if="property.type === 'string'" v-model="tabStorage.formData[name]" type="text"
:placeholder="property.description || t('enter') + ' ' + (property.title || name)"
@keydown.enter.prevent="handleExecute"
/>
@keydown.enter.prevent="handleExecute" />
<el-input-number
v-else-if="property.type === 'number' || property.type === 'integer'"
v-model="tabStorage.formData[name]"
controls-position="right"
<el-input-number v-else-if="property.type === 'number' || property.type === 'integer'"
v-model="tabStorage.formData[name]" controls-position="right"
:placeholder="property.description || t('enter') + ' ' + (property.title || name)"
@keydown.enter.prevent="handleExecute"
/>
@keydown.enter.prevent="handleExecute" />
<el-switch
v-else-if="property.type === 'boolean'"
active-text="true"
inactive-text="false"
v-model="tabStorage.formData[name]"
/>
<el-switch v-else-if="property.type === 'boolean'" active-text="true" inactive-text="false"
v-model="tabStorage.formData[name]" />
<k-input-object
v-else-if="property.type === 'object'"
v-model="tabStorage.formData[name]"
<k-input-object v-else-if="property.type === 'object'" v-model="tabStorage.formData[name]"
:schema="property"
:placeholder="property.description || t('enter') + ' ' + (property.title || name)"
/>
:placeholder="property.description || t('enter') + ' ' + (property.title || name)" />
</el-form-item>
</template>
@ -51,6 +33,9 @@
<el-button @click="resetForm">
{{ t('reset') }}
</el-button>
<el-button @click="generateMockData">
{{ 'mook' }}
</el-button>
</el-form-item>
</el-form>
</div>
@ -66,6 +51,8 @@ import { getDefaultValue, normaliseJavascriptType } from '@/hook/mcp';
import KInputObject from '@/components/k-input-object/index.vue';
import { mcpClientAdapter } from '@/views/connect/core';
import { JSONSchemaFaker } from 'json-schema-faker';
import { faker } from '@faker-js/faker';
defineComponent({ name: 'tool-executor' });
@ -146,6 +133,26 @@ const resetForm = () => {
formRef.value?.resetFields();
};
const generateMockData = async () => {
if (!currentTool.value?.inputSchema) return;
// fakerjson-schema-faker
JSONSchemaFaker.option({
useDefaultValue: true,
alwaysFakeOptionals: true
});
// mock
const mockData = await JSONSchemaFaker.resolve(currentTool.value.inputSchema as any);
console.log(mockData);
//
// Object.keys(mockData).forEach(key => {
// tabStorage.formData[key] = mockData[key];
// });
};
async function handleExecute() {
if (!currentTool.value) return;
loading.value = true;
@ -184,5 +191,4 @@ watch(() => tabStorage.currentToolName, () => {
.tool-executor-container .el-switch__core {
border: 1px solid var(--main-color) !important;
}
</style>

View File

@ -182,5 +182,6 @@
"copy": "نسخ",
"export": "تصدير",
"export-filename": "اسم ملف التصدير",
"how-to-use": "كيفية الاستخدام؟"
"how-to-use": "كيفية الاستخدام؟",
"is-required": "هو حقل مطلوب"
}

View File

@ -182,5 +182,6 @@
"copy": "Kopieren",
"export": "Exportieren",
"export-filename": "Exportdateiname",
"how-to-use": "Wie benutzt man?"
"how-to-use": "Wie benutzt man?",
"is-required": "ist ein Pflichtfeld"
}

View File

@ -182,5 +182,6 @@
"copy": "Copy",
"export": "Export",
"export-filename": "Export filename",
"how-to-use": "How to use?"
"how-to-use": "How to use?",
"is-required": "is a required field"
}

View File

@ -182,5 +182,6 @@
"copy": "Copier",
"export": "Exporter",
"export-filename": "Nom du fichier d'exportation",
"how-to-use": "Comment utiliser ?"
"how-to-use": "Comment utiliser ?",
"is-required": "est un champ obligatoire"
}

View File

@ -182,5 +182,6 @@
"copy": "コピー",
"export": "エクスポート",
"export-filename": "エクスポートファイル名",
"how-to-use": "使用方法"
"how-to-use": "使用方法",
"is-required": "は必須フィールドです"
}

View File

@ -182,5 +182,6 @@
"copy": "복사",
"export": "내보내기",
"export-filename": "내보내기 파일 이름",
"how-to-use": "사용 방법?"
"how-to-use": "사용 방법?",
"is-required": "는 필수 필드입니다"
}

View File

@ -182,5 +182,6 @@
"copy": "Копировать",
"export": "Экспорт",
"export-filename": "Имя файла экспорта",
"how-to-use": "Как использовать?"
"how-to-use": "Как использовать?",
"is-required": "является обязательным полем"
}

View File

@ -182,5 +182,6 @@
"copy": "复制",
"export": "导出",
"export-filename": "导出文件名",
"how-to-use": "如何使用?"
"how-to-use": "如何使用?",
"is-required": "是必填字段"
}

View File

@ -182,5 +182,6 @@
"copy": "複製",
"export": "導出",
"export-filename": "導出文件名",
"how-to-use": "如何使用?"
"how-to-use": "如何使用?",
"is-required": "是必填欄位"
}

View File

@ -497,6 +497,11 @@
resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz"
integrity sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==
"@faker-js/faker@^9.8.0":
version "9.8.0"
resolved "https://registry.npmjs.org/@faker-js/faker/-/faker-9.8.0.tgz"
integrity sha512-U9wpuSrJC93jZBxx/Qq2wPjCuYISBueyVUGK7qqdmj7r/nxaxwW8AQDCLeRO7wZnjj94sh3p246cAYjUKuqgfg==
"@floating-ui/core@^1.7.1":
version "1.7.1"
resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.1.tgz"
@ -607,6 +612,16 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
"@jsep-plugin/assignment@^1.3.0":
version "1.3.0"
resolved "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz"
integrity sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==
"@jsep-plugin/regex@^1.0.4":
version "1.0.4"
resolved "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz"
integrity sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==
"@lezer/common@^1.0.0", "@lezer/common@^1.1.0", "@lezer/common@^1.2.0":
version "1.2.3"
resolved "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz"
@ -2300,6 +2315,11 @@ call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4:
call-bind-apply-helpers "^1.0.2"
get-intrinsic "^1.3.0"
call-me-maybe@^1.0.1:
version "1.0.2"
resolved "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz"
integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
@ -3333,6 +3353,11 @@ form-data@^4.0.0:
hasown "^2.0.2"
mime-types "^2.1.12"
format-util@^1.0.3:
version "1.0.5"
resolved "https://registry.npmjs.org/format-util/-/format-util-1.0.5.tgz"
integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==
formdata-node@^4.3.2:
version "4.4.1"
resolved "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz"
@ -3411,6 +3436,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@ -4069,7 +4099,7 @@ js-tokens@^4.0.0:
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-yaml@^3.14.1:
js-yaml@^3.12.1, js-yaml@^3.14.1:
version "3.14.1"
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
@ -4084,6 +4114,11 @@ js-yaml@^4.1.0:
dependencies:
argparse "^2.0.1"
jsep@^0.4.0||^1.0.0, jsep@^1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz"
integrity sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==
jsesc@^3.0.2:
version "3.1.0"
resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz"
@ -4104,6 +4139,23 @@ json-parse-even-better-errors@^4.0.0:
resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz"
integrity sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==
json-schema-faker@^0.5.9:
version "0.5.9"
resolved "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.9.tgz"
integrity sha512-fNKLHgDvfGNNTX1zqIjqFMJjCLzJ2kvnJ831x4aqkAoeE4jE2TxvpJdhOnk3JU3s42vFzmXvkpbYzH5H3ncAzg==
dependencies:
json-schema-ref-parser "^6.1.0"
jsonpath-plus "^10.3.0"
json-schema-ref-parser@^6.1.0:
version "6.1.0"
resolved "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz"
integrity sha512-pXe9H1m6IgIpXmE5JSb8epilNTGsmTb2iPohAXpOdhqGFbQjNeHHsZxU+C8w6T81GZxSPFLeUoqDJmzxx5IGuw==
dependencies:
call-me-maybe "^1.0.1"
js-yaml "^3.12.1"
ono "^4.0.11"
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
@ -4140,6 +4192,15 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
jsonpath-plus@^10.3.0:
version "10.3.0"
resolved "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz"
integrity sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==
dependencies:
"@jsep-plugin/assignment" "^1.3.0"
"@jsep-plugin/regex" "^1.0.4"
jsep "^1.4.0"
jsonwebtoken@^9.0.0:
version "9.0.2"
resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz"
@ -4877,6 +4938,13 @@ onetime@^7.0.0:
dependencies:
mimic-function "^5.0.0"
ono@^4.0.11:
version "4.0.11"
resolved "https://registry.npmjs.org/ono/-/ono-4.0.11.tgz"
integrity sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==
dependencies:
format-util "^1.0.3"
open@^10.1.0, open@^10.1.2:
version "10.1.2"
resolved "https://registry.npmjs.org/open/-/open-10.1.2.tgz"