diff --git a/packages/components/package.json b/packages/components/package.json index 2c970f7d2fb..a5970bc36ae 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -31,19 +31,18 @@ "@aws-sdk/client-secrets-manager": "^3.699.0", "@aws-sdk/client-sns": "^3.699.0", "@aws-sdk/client-sts": "^3.699.0", + "@azure/storage-blob": "^12.29.0", "@datastax/astra-db-ts": "1.5.0", "@dqbd/tiktoken": "^1.0.21", "@e2b/code-interpreter": "^1.5.1", "@elastic/elasticsearch": "^8.9.0", "@elevenlabs/elevenlabs-js": "^2.8.0", - "@flowiseai/nodevm": "^3.9.25", "@getzep/zep-cloud": "~1.0.7", "@getzep/zep-js": "^0.9.0", "@gomomento/sdk": "^1.51.1", "@gomomento/sdk-core": "^1.51.1", "@google-ai/generativelanguage": "^2.5.0", "@google-cloud/storage": "^7.15.2", - "@azure/storage-blob": "^12.29.0", "@google/generative-ai": "^0.24.0", "@grpc/grpc-js": "^1.10.10", "@huggingface/inference": "^4.13.2", @@ -51,12 +50,12 @@ "@langchain/anthropic": "1.3.20", "@langchain/aws": "1.2.2", "@langchain/baidu-qianfan": "1.0.1", - "@langchain/deepseek": "1.0.9", "@langchain/classic": "1.0.15", "@langchain/cloudflare": "1.0.1", "@langchain/cohere": "1.0.2", "@langchain/community": "1.1.12", "@langchain/core": "1.1.20", + "@langchain/deepseek": "1.0.9", "@langchain/exa": "1.0.1", "@langchain/google-genai": "2.1.15", "@langchain/google-vertexai": "2.1.15", @@ -171,6 +170,7 @@ "supergateway": "3.0.1", "typeorm": "^0.3.6", "uuid": "^10.0.0", + "vm2": "^3.10.5", "weaviate-client": "3.12.0", "winston": "^3.9.0", "ws": "^8.18.0", diff --git a/packages/components/src/utils.ts b/packages/components/src/utils.ts index 555af6e8f4c..36bdeb2a50f 100644 --- a/packages/components/src/utils.ts +++ b/packages/components/src/utils.ts @@ -18,7 +18,7 @@ import { GetSecretValueCommand, SecretsManagerClient, SecretsManagerClientConfig import { customGet } from '../nodes/sequentialagents/commonUtils' import { TextSplitter } from '@langchain/textsplitters' import { DocumentLoader } from '@langchain/classic/document_loaders/base' -import { NodeVM } from '@flowiseai/nodevm' +import { NodeVM } from 'vm2' import { Sandbox } from '@e2b/code-interpreter' import { secureFetch, checkDenyList, secureAxiosRequest } from './httpSecurity' import JSON5 from 'json5' @@ -1608,13 +1608,18 @@ export const executeJavaScriptCode = async ( } = {} ): Promise => { const { timeout = 300000, useSandbox = true, streamOutput, libraries = [], nodeVMOptions = {} } = options - const shouldUseSandbox = useSandbox && process.env.E2B_APIKEY + if (useSandbox && !process.env.E2B_APIKEY) { + throw new Error( + 'Sandboxed code execution requires E2B_APIKEY to be configured. ' + + 'Set E2B_APIKEY in your environment or contact your administrator.' + ) + } let timeoutMs = timeout if (process.env.SANDBOX_TIMEOUT) { timeoutMs = parseInt(process.env.SANDBOX_TIMEOUT, 10) } - if (shouldUseSandbox) { + if (useSandbox) { try { const variableDeclarations = [] diff --git a/packages/server/src/routes/node-custom-functions/index.ts b/packages/server/src/routes/node-custom-functions/index.ts index 9fa33d42e2a..c1264b80a17 100644 --- a/packages/server/src/routes/node-custom-functions/index.ts +++ b/packages/server/src/routes/node-custom-functions/index.ts @@ -1,11 +1,16 @@ import express from 'express' import nodesRouter from '../../controllers/nodes' +import { checkAnyPermission } from '../../enterprise/rbac/PermissionCheck' const router = express.Router() // CREATE // READ -router.post('/', nodesRouter.executeCustomFunction) +router.post( + '/', + checkAnyPermission('chatflows:create,chatflows:update,agentflows:create,agentflows:update'), + nodesRouter.executeCustomFunction +) // UPDATE diff --git a/packages/ui/src/ui-component/button/RBACButtons.jsx b/packages/ui/src/ui-component/button/RBACButtons.jsx index 827d734d38b..7ee47553889 100644 --- a/packages/ui/src/ui-component/button/RBACButtons.jsx +++ b/packages/ui/src/ui-component/button/RBACButtons.jsx @@ -2,6 +2,7 @@ import * as PropTypes from 'prop-types' import { useAuth } from '@/hooks/useAuth' import { StyledButton, StyledToggleButton } from '@/ui-component/button/StyledButton' import { Button, IconButton, ListItemButton, MenuItem, Tab } from '@mui/material' +import { LoadingButton } from '@mui/lab' export const StyledPermissionButton = ({ permissionId, display, ...props }) => { const { hasPermission, hasDisplay } = useAuth() @@ -73,6 +74,16 @@ export const PermissionListItemButton = ({ permissionId, display, ...props }) => return } +export const PermissionLoadingButton = ({ permissionId, display, ...props }) => { + const { hasPermission, hasDisplay } = useAuth() + + if (!hasPermission(permissionId) || !hasDisplay(display)) { + return null + } + + return +} + StyledPermissionButton.propTypes = { permissionId: PropTypes.string, display: PropTypes.array } StyledPermissionToggleButton.propTypes = { permissionId: PropTypes.string, display: PropTypes.array } PermissionIconButton.propTypes = { permissionId: PropTypes.string, display: PropTypes.array } @@ -80,3 +91,4 @@ PermissionButton.propTypes = { permissionId: PropTypes.string, display: PropType PermissionTab.propTypes = { permissionId: PropTypes.string, display: PropTypes.array } PermissionMenuItem.propTypes = { permissionId: PropTypes.string, display: PropTypes.array } PermissionListItemButton.propTypes = { permissionId: PropTypes.string, display: PropTypes.array } +PermissionLoadingButton.propTypes = { permissionId: PropTypes.string, display: PropTypes.array } diff --git a/packages/ui/src/ui-component/dialog/ExpandTextDialog.jsx b/packages/ui/src/ui-component/dialog/ExpandTextDialog.jsx index 934eb5e6f6c..6981fd073da 100644 --- a/packages/ui/src/ui-component/dialog/ExpandTextDialog.jsx +++ b/packages/ui/src/ui-component/dialog/ExpandTextDialog.jsx @@ -7,10 +7,10 @@ import PerfectScrollbar from 'react-perfect-scrollbar' // MUI import { Button, Dialog, DialogActions, DialogContent, Typography } from '@mui/material' import { useTheme } from '@mui/material/styles' -import { LoadingButton } from '@mui/lab' // Project Import import { StyledButton } from '@/ui-component/button/StyledButton' +import { PermissionLoadingButton } from '@/ui-component/button/RBACButtons' import { CodeEditor } from '@/ui-component/editor/CodeEditor' // Store @@ -147,7 +147,8 @@ const ExpandTextDialog = ({ show, dialogProps, onCancel, onInputHintDialogClicke )} {languageType === 'js' && !inputParam.hideCodeExecute && ( - Execute - + )} {codeExecutedResult && (
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff7cacb98dc..83732cc5ff2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -329,9 +329,6 @@ importers: '@elevenlabs/elevenlabs-js': specifier: ^2.8.0 version: 2.17.0(encoding@0.1.13) - '@flowiseai/nodevm': - specifier: ^3.9.25 - version: 3.9.25 '@getzep/zep-cloud': specifier: ~1.0.7 version: 1.0.7(@langchain/core@1.1.20(@opentelemetry/api@1.9.0)(@opentelemetry/exporter-trace-otlp-proto@0.54.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(openai@6.19.0(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@4.3.6)))(encoding@0.1.13)(langchain@1.2.18(@langchain/core@1.1.20(@opentelemetry/api@1.9.0)(@opentelemetry/exporter-trace-otlp-proto@0.54.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(openai@6.19.0(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@4.3.6)))(@opentelemetry/api@1.9.0)(@opentelemetry/exporter-trace-otlp-proto@0.54.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(openai@6.19.0(ws@8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4))(zod@4.3.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(zod-to-json-schema@3.25.1(zod@4.3.6))) @@ -731,6 +728,9 @@ importers: uuid: specifier: ^10.0.0 version: 10.0.0 + vm2: + specifier: ^3.10.5 + version: 3.10.5 weaviate-client: specifier: 3.12.0 version: 3.12.0(encoding@0.1.13) @@ -815,7 +815,7 @@ importers: version: 6.11.0 '@google-cloud/logging-winston': specifier: ^6.0.0 - version: 6.0.0(encoding@0.1.13)(winston@3.12.0) + version: 6.0.0(winston@3.12.0) '@keyv/redis': specifier: ^4.2.0 version: 4.3.3 @@ -989,7 +989,7 @@ importers: version: 1.2.0 multer-cloud-storage: specifier: ^4.0.0 - version: 4.0.0(encoding@0.1.13) + version: 4.0.0 multer-s3: specifier: ^3.0.1 version: 3.0.1(@aws-sdk/client-s3@3.844.0) @@ -1402,7 +1402,7 @@ importers: version: 29.7.0(@types/node@22.16.3)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2)) pretty-quick: specifier: ^3.1.3 - version: 3.3.1(prettier@2.8.8) + version: 3.3.1(prettier@3.2.5) react-scripts: specifier: ^5.0.1 version: 5.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0))(@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.24.0))(@swc/core@1.4.6)(@types/babel__core@7.20.5)(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(eslint@8.57.0)(react@18.2.0)(sass@1.71.1)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@22.16.3)(typescript@5.5.2))(type-fest@4.40.1)(typescript@5.5.2)(utf-8-validate@6.0.4)(vue-template-compiler@2.7.16) @@ -4243,11 +4243,6 @@ packages: '@floating-ui/utils@0.2.1': resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - '@flowiseai/nodevm@3.9.25': - resolution: {integrity: sha512-Ncd6iSsW4X6cKmJ+QtRM3SAZkqkM4Hg/CpgSdij3zOiZok9NiLxptXOyadHp5uomwr8EVozFFYknAVJngJ0jFQ==} - engines: {node: '>=18.10', pnpm: '>=9.6'} - hasBin: true - '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} @@ -4428,67 +4423,79 @@ packages: resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-arm@1.0.5': resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-s390x@1.0.4': resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-x64@1.0.4': resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.0.4': resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.0.4': resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-linux-arm64@0.33.5': resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-linux-arm@0.33.5': resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-linux-s390x@0.33.5': resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-linux-x64@0.33.5': resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-linuxmusl-arm64@0.33.5': resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-linuxmusl-x64@0.33.5': resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-wasm32@0.33.5': resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} @@ -6294,30 +6301,35 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@napi-rs/canvas-linux-arm64-musl@0.1.73': resolution: {integrity: sha512-lX0z2bNmnk1PGZ+0a9OZwI2lPPvWjRYzPqvEitXX7lspyLFrOzh2kcQiLL7bhyODN23QvfriqwYqp5GreSzVvA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@napi-rs/canvas-linux-riscv64-gnu@0.1.73': resolution: {integrity: sha512-QDQgMElwxAoADsSR3UYvdTTQk5XOyD9J5kq15Z8XpGwpZOZsSE0zZ/X1JaOtS2x+HEZL6z1S6MF/1uhZFZb5ig==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] + libc: [glibc] '@napi-rs/canvas-linux-x64-gnu@0.1.73': resolution: {integrity: sha512-wbzLJrTalQrpyrU1YRrO6w6pdr5vcebbJa+Aut5QfTaW9eEmMb1WFG6l1V+cCa5LdHmRr8bsvl0nJDU/IYDsmw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@napi-rs/canvas-linux-x64-musl@0.1.73': resolution: {integrity: sha512-xbfhYrUufoTAKvsEx2ZUN4jvACabIF0h1F5Ik1Rk4e/kQq6c+Dwa5QF0bGrfLhceLpzHT0pCMGMDeQKQrcUIyA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@napi-rs/canvas-win32-x64-msvc@0.1.73': resolution: {integrity: sha512-YQmHXBufFBdWqhx+ympeTPkMfs3RNxaOgWm59vyjpsub7Us07BwCcmu1N5kildhO8Fm0syoI2kHnzGkJBLSvsg==} @@ -7182,56 +7194,67 @@ packages: resolution: {integrity: sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.45.0': resolution: {integrity: sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.45.0': resolution: {integrity: sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.45.0': resolution: {integrity: sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.45.0': resolution: {integrity: sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.45.0': resolution: {integrity: sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.45.0': resolution: {integrity: sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.45.0': resolution: {integrity: sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.45.0': resolution: {integrity: sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.45.0': resolution: {integrity: sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.45.0': resolution: {integrity: sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.45.0': resolution: {integrity: sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==} @@ -8215,24 +8238,28 @@ packages: engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [glibc] '@swc/core-linux-arm64-musl@1.4.6': resolution: {integrity: sha512-LGQsKJ8MA9zZ8xHCkbGkcPSmpkZL2O7drvwsGKynyCttHhpwVjj9lguhD4DWU3+FWIsjvho5Vu0Ggei8OYi/Lw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] + libc: [musl] '@swc/core-linux-x64-gnu@1.4.6': resolution: {integrity: sha512-10JL2nLIreMQDKvq2TECnQe5fCuoqBHu1yW8aChqgHUyg9d7gfZX/kppUsuimqcgRBnS0AjTDAA+JF6UsG/2Yg==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [glibc] '@swc/core-linux-x64-musl@1.4.6': resolution: {integrity: sha512-EGyjFVzVY6Do89x8sfah7I3cuP4MwtwzmA6OlfD/KASqfCFf5eIaEBMbajgR41bVfMV7lK72lwAIea5xEyq1AQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] + libc: [musl] '@swc/core-win32-arm64-msvc@1.4.6': resolution: {integrity: sha512-gfW9AuXvwSyK07Vb8Y8E9m2oJZk21WqcD+X4BZhkbKB0TCZK0zk1j/HpS2UFlr1JB2zPKPpSWLU3ll0GEHRG2A==} @@ -9323,41 +9350,49 @@ packages: resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} cpu: [arm64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-arm64-musl@1.11.1': resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} cpu: [arm64] os: [linux] + libc: [musl] '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} cpu: [riscv64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} cpu: [riscv64] os: [linux] + libc: [musl] '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} cpu: [s390x] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-x64-gnu@1.11.1': resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} cpu: [x64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-x64-musl@1.11.1': resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} cpu: [x64] os: [linux] + libc: [musl] '@unrs/resolver-binding-wasm32-wasi@1.11.1': resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} @@ -9563,6 +9598,10 @@ packages: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} + acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} + engines: {node: '>=0.4.0'} + acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} @@ -9573,6 +9612,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} @@ -10521,12 +10565,14 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] chromadb-js-bindings-linux-x64-gnu@1.1.1: resolution: {integrity: sha512-RcvBcECbUcFXlFM2httdGc+3wmkI76tD9iGS0H9npEhz4LyLvdXKBK8CZtw67hsHCH09KklKw4ITkSS85pHVbA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] chromadb-js-bindings-win32-x64-msvc@1.1.1: resolution: {integrity: sha512-296SxWNwsmvP+1Ggkl72norTFLOivoXhGu0t5mXNIbd7yd2UodntvAvG2cheTHDCL/ILbox4u+6KHNvRxHgm6A==} @@ -19715,6 +19761,11 @@ packages: terser: optional: true + vm2@3.10.5: + resolution: {integrity: sha512-3P/2QDccVFBcujfCOeP8vVNuGfuBJHEuvGR8eMmI10p/iwLL2UwF5PDaNaoOS2pRGQEDmJRyeEcc8kmm2Z59RA==} + engines: {node: '>=6.0'} + hasBin: true + vue-template-compiler@2.7.16: resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} @@ -25444,11 +25495,6 @@ snapshots: '@floating-ui/utils@0.2.1': {} - '@flowiseai/nodevm@3.9.25': - dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.2 - '@gar/promisify@1.1.3': optional: true @@ -25505,7 +25551,7 @@ snapshots: - encoding - supports-color - '@google-cloud/common@5.0.2(encoding@0.1.13)': + '@google-cloud/common@5.0.2': dependencies: '@google-cloud/projectify': 4.0.0 '@google-cloud/promisify': 4.1.0 @@ -25520,9 +25566,9 @@ snapshots: - encoding - supports-color - '@google-cloud/logging-winston@6.0.0(encoding@0.1.13)(winston@3.12.0)': + '@google-cloud/logging-winston@6.0.0(winston@3.12.0)': dependencies: - '@google-cloud/logging': 11.2.0(encoding@0.1.13) + '@google-cloud/logging': 11.2.0 google-auth-library: 9.15.1(encoding@0.1.13) lodash.mapvalues: 4.6.0 winston: 3.12.0 @@ -25531,9 +25577,9 @@ snapshots: - encoding - supports-color - '@google-cloud/logging@11.2.0(encoding@0.1.13)': + '@google-cloud/logging@11.2.0': dependencies: - '@google-cloud/common': 5.0.2(encoding@0.1.13) + '@google-cloud/common': 5.0.2 '@google-cloud/paginator': 5.0.2 '@google-cloud/projectify': 4.0.0 '@google-cloud/promisify': 4.1.0 @@ -31920,29 +31966,35 @@ snapshots: acorn-globals@7.0.1: dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.16.0 + acorn-walk: 8.3.5 - acorn-import-assertions@1.9.0(acorn@8.11.3): + acorn-import-assertions@1.9.0(acorn@8.16.0): dependencies: - acorn: 8.11.3 + acorn: 8.16.0 - acorn-import-attributes@1.9.5(acorn@8.11.3): + acorn-import-attributes@1.9.5(acorn@8.16.0): dependencies: - acorn: 8.11.3 + acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2(acorn@8.16.0): dependencies: - acorn: 8.11.3 + acorn: 8.16.0 acorn-walk@7.2.0: {} acorn-walk@8.3.2: {} + acorn-walk@8.3.5: + dependencies: + acorn: 8.16.0 + acorn@7.4.1: {} acorn@8.11.3: {} + acorn@8.16.0: {} + address@1.2.2: {} adjust-sourcemap-loader@4.0.0: @@ -33278,7 +33330,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 '@types/estree': 1.0.8 - acorn: 8.11.3 + acorn: 8.16.0 estree-walker: 3.0.3 periscopic: 3.1.0 @@ -35037,8 +35089,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) eslint-visitor-keys: 3.4.3 esprima@1.2.2: {} @@ -36889,15 +36941,15 @@ snapshots: import-in-the-middle@1.11.2: dependencies: - acorn: 8.11.3 - acorn-import-attributes: 1.9.5(acorn@8.11.3) + acorn: 8.16.0 + acorn-import-attributes: 1.9.5(acorn@8.16.0) cjs-module-lexer: 1.2.3 module-details-from-path: 1.0.3 import-in-the-middle@1.7.1: dependencies: - acorn: 8.11.3 - acorn-import-assertions: 1.9.0(acorn@8.11.3) + acorn: 8.16.0 + acorn-import-assertions: 1.9.0(acorn@8.16.0) cjs-module-lexer: 1.2.3 module-details-from-path: 1.0.3 @@ -38120,7 +38172,7 @@ snapshots: jsdom@16.7.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4): dependencies: abab: 2.0.6 - acorn: 8.11.3 + acorn: 8.16.0 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -38156,7 +38208,7 @@ snapshots: jsdom@20.0.3(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4): dependencies: abab: 2.0.6 - acorn: 8.11.3 + acorn: 8.16.0 acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 @@ -39731,7 +39783,7 @@ snapshots: transitivePeerDependencies: - supports-color - multer-cloud-storage@4.0.0(encoding@0.1.13): + multer-cloud-storage@4.0.0: dependencies: '@google-cloud/storage': 7.16.0(encoding@0.1.13) '@types/express': 5.0.1 @@ -41326,6 +41378,17 @@ snapshots: prettier: 2.8.8 tslib: 2.6.2 + pretty-quick@3.3.1(prettier@3.2.5): + dependencies: + execa: 4.1.0 + find-up: 4.1.0 + ignore: 5.3.1 + mri: 1.2.0 + picocolors: 1.0.0 + picomatch: 3.0.1 + prettier: 3.2.5 + tslib: 2.6.2 + prism-react-renderer@1.3.5(react@18.2.0): dependencies: react: 18.2.0 @@ -43553,7 +43616,7 @@ snapshots: '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 '@types/estree': 1.0.8 - acorn: 8.11.3 + acorn: 8.16.0 aria-query: 5.3.0 axobject-query: 4.0.0 code-red: 1.0.4 @@ -43733,7 +43796,7 @@ snapshots: terser@5.29.1: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.11.3 + acorn: 8.16.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -44223,7 +44286,7 @@ snapshots: unctx@2.3.1: dependencies: - acorn: 8.11.3 + acorn: 8.16.0 estree-walker: 3.0.3 magic-string: 0.30.10 unplugin: 1.9.0 @@ -44375,7 +44438,7 @@ snapshots: unplugin@1.9.0: dependencies: - acorn: 8.11.3 + acorn: 8.16.0 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 @@ -44701,6 +44764,11 @@ snapshots: sass: 1.71.1 terser: 5.29.1 + vm2@3.10.5: + dependencies: + acorn: 8.16.0 + acorn-walk: 8.3.5 + vue-template-compiler@2.7.16: dependencies: de-indent: 1.0.2 @@ -44873,8 +44941,8 @@ snapshots: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.11.3 - acorn-import-assertions: 1.9.0(acorn@8.11.3) + acorn: 8.16.0 + acorn-import-assertions: 1.9.0(acorn@8.16.0) browserslist: 4.23.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.16.0