diff --git a/.nvmrc b/.nvmrc index 209e3ef4b6..4a58985bb4 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20 +18.18 diff --git a/apps/embedder/src/server/api/jobs/[id].get.ts b/apps/embedder/src/server/api/jobs/[id].get.ts new file mode 100644 index 0000000000..8b11ed6f83 --- /dev/null +++ b/apps/embedder/src/server/api/jobs/[id].get.ts @@ -0,0 +1,31 @@ +import { JobSchema } from '@magickml/embedder/schema' +import { embedderDb } from 'embedder-db-pg' + +export default defineEventHandler(async event => { + const id = getRouterParam(event, 'id') + + if (!id) { + throw createError({ + statusCode: 400, + message: 'Missing id', + }) + } + + const job = await embedderDb.query.Job.findFirst({ + where: (job, { eq }) => eq(job.id, id), + }) + + if (!job) { + throw createError({ + statusCode: 404, + message: 'Job not found', + }) + } + + // Do something with id + + console.log('Job:', job) + + // return job + return JobSchema.parse(job) +}) diff --git a/apps/embedder/src/server/api/packs/[id]/loaders.post.ts b/apps/embedder/src/server/api/packs/[id]/loaders.post.ts index c45319248c..b06149606c 100644 --- a/apps/embedder/src/server/api/packs/[id]/loaders.post.ts +++ b/apps/embedder/src/server/api/packs/[id]/loaders.post.ts @@ -78,5 +78,9 @@ export default defineEventHandler(async event => { const queue = useBullMQ('embedJobs') await queue.add('processJob', { jobId: job.id }) - return AddLoaderResponseSchema.parse({ status: loader.status, id: loader.id }) + return AddLoaderResponseSchema.parse({ + status: loader.status, + id: loader.id, + jobId: job.id, + }) }) diff --git a/apps/embedder/src/server/api/packs/[id]/loaders/[loaderId].get.ts b/apps/embedder/src/server/api/packs/[id]/loaders/[loaderId].get.ts index e244324680..8e00d78981 100644 --- a/apps/embedder/src/server/api/packs/[id]/loaders/[loaderId].get.ts +++ b/apps/embedder/src/server/api/packs/[id]/loaders/[loaderId].get.ts @@ -2,6 +2,7 @@ import { z } from 'zod' import { embedderDb, Loader } from 'embedder-db-pg' import { and, eq } from 'drizzle-orm' import { createLoader } from '@magickml/embedder/loaders/core' +import { LoaderWithChunks } from '@magickml/embedder/schema' export default defineEventHandler(async event => { const packId = z.string().parse(event.context.params?.id) @@ -29,5 +30,10 @@ export default defineEventHandler(async event => { chunksArray.push(chunk.pageContent) } - return { chunks: chunksArray } + const response = { + ...loader, + chunks: chunksArray, + } + + return LoaderWithChunks.parse(response) }) diff --git a/nx.json b/nx.json index ca660260f6..45bd50a00f 100644 --- a/nx.json +++ b/nx.json @@ -147,7 +147,7 @@ } }, "defaultProject": "@magickml/server", - "useInferencePlugins": false, + "useInferencePlugins": true, "defaultBase": "main", "release": { "projects": [ diff --git a/package-lock.json b/package-lock.json index c4dad64502..4474302f52 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,7 +68,7 @@ "@langchain/openai": "^0.0.33", "@langchain/pinecone": "^0.0.6", "@langchain/textsplitters": "^0.0.2", - "@llm-tools/embedjs": "^0.0.79", + "@llm-tools/embedjs": "https://github.com/Oneirocom/embedJs", "@magickml/behave-graph": "^0.14.14", "@magickml/behave-graph-scene": "0.11.0", "@minoru/react-dnd-treeview": "^3.4.4", @@ -76,7 +76,7 @@ "@mui/icons-material": "5.11.16", "@mui/material": "5.13.2", "@next-auth/prisma-adapter": "^1.0.5", - "@nx/devkit": "19.0.4", + "@nx/devkit": "19.2.1", "@nytimes/react-prosemirror": "^0.6.1", "@openmeter/sdk": "^1.0.0-beta.35", "@opentelemetry/auto-instrumentations-node": "^0.41.1", @@ -204,7 +204,7 @@ "modelfusion": "^0.137.0", "mui-nested-menu": "^3.2.1", "nanoid": "^5.0.7", - "natural": "^6.10.4", + "natural": "^6.12.0", "next": "^14.1.0", "next-auth": "^4.19.2", "next-themes": "^0.2.1", @@ -316,25 +316,25 @@ "@nuxt/ui-templates": "^1.3.1", "@nx-plus/docusaurus": "15.0.0-rc.0", "@nx-tools/nx-container": "^6.0.0", - "@nx/cypress": "19.0.4", - "@nx/esbuild": "19.0.4", - "@nx/eslint": "19.0.4", - "@nx/eslint-plugin": "19.0.4", - "@nx/express": "19.0.4", - "@nx/jest": "19.0.4", - "@nx/js": "19.0.4", - "@nx/next": "19.0.4", - "@nx/node": "19.0.4", - "@nx/nuxt": "^19.0.4", - "@nx/playwright": "19.0.4", - "@nx/plugin": "^19.0.4", - "@nx/react": "19.0.4", - "@nx/rollup": "19.0.4", - "@nx/storybook": "19.0.4", - "@nx/vite": "19.0.4", - "@nx/web": "19.0.4", - "@nx/webpack": "19.0.4", - "@nx/workspace": "19.0.4", + "@nx/cypress": "19.2.1", + "@nx/esbuild": "19.2.1", + "@nx/eslint": "19.2.1", + "@nx/eslint-plugin": "19.2.1", + "@nx/express": "19.2.1", + "@nx/jest": "19.2.1", + "@nx/js": "19.2.1", + "@nx/next": "19.2.1", + "@nx/node": "19.2.1", + "@nx/nuxt": "^19.2.1", + "@nx/playwright": "19.2.1", + "@nx/plugin": "^19.2.1", + "@nx/react": "19.2.1", + "@nx/rollup": "19.2.1", + "@nx/storybook": "19.2.1", + "@nx/vite": "19.2.1", + "@nx/web": "19.2.1", + "@nx/webpack": "19.2.1", + "@nx/workspace": "19.2.1", "@playwright/test": "^1.36.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", "@prisma/nextjs-monorepo-workaround-plugin": "^5.9.1", @@ -426,7 +426,7 @@ "mocha": "10.2.0", "nodemon": "2.0.22", "nuxt": "^3.10.0", - "nx": "19.0.4", + "nx": "19.2.1", "openapi-zod-client": "^1.18.1", "pino-pretty": "10.0.0", "postcss": "^8.4.35", @@ -14159,9 +14159,9 @@ } }, "node_modules/@langchain/google-common": { - "version": "0.0.17", - "resolved": "https://registry.npmjs.org/@langchain/google-common/-/google-common-0.0.17.tgz", - "integrity": "sha512-Lly1EZHAGD+nPchS6tbUgN0i7thN34viCgFksr3bTexEjeobKA89K2daDdvvT29tnTEgGLsyqRfyN6pDt1WYmQ==", + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@langchain/google-common/-/google-common-0.0.18.tgz", + "integrity": "sha512-qJat7NbXp4b+EWGdCdH1SIZza/OX1M2uOP5SHbY48eIZe5sfNTCsGe3FFS7bWDl6nsxmd3XH0+uVBhDyD4X+6A==", "dependencies": { "@langchain/core": ">0.1.56 <0.3.0", "uuid": "^9.0.0", @@ -14293,24 +14293,24 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@langchain/google-vertexai": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@langchain/google-vertexai/-/google-vertexai-0.0.16.tgz", - "integrity": "sha512-tJTyPxg3vYSqhNyqx6/UViPNdn3NPeZL29JqNen26x/w4JYYMpde0Dm20KCd5TCsbdUfrkk7tMyJZjr2e30jMg==", + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@langchain/google-vertexai/-/google-vertexai-0.0.17.tgz", + "integrity": "sha512-dAZbt5w8frJeS5vUMJeX2wbJQnRDtDvdQ6tkPjDIXeE9T4hnI6d7/GCFWnANnFJE9w6hABg9N/fxLabSTssflw==", "dependencies": { - "@langchain/core": ">0.1.56 <0.3.0", - "@langchain/google-gauth": "~0.0.16" + "@langchain/core": ">0.1.56 <0.3.0", + "@langchain/google-gauth": "~0.0.17" }, "engines": { "node": ">=18" } }, "node_modules/@langchain/mistralai": { - "version": "0.0.22", - "resolved": "https://registry.npmjs.org/@langchain/mistralai/-/mistralai-0.0.22.tgz", - "integrity": "sha512-cZ+HBz32Gq2zjkXcDs5hDnr8W0QxlRXhWAXu9zepwzLNe3aXxAD/lhz9l654o2fo89bqnuhtYgbGx8ZVYcDvCw==", + "version": "0.0.23", + "resolved": "https://registry.npmjs.org/@langchain/mistralai/-/mistralai-0.0.23.tgz", + "integrity": "sha512-0huhT3KXqrD1u20e2NWpBlprBoNidw4Q4hjBI9DySCb1Gx4wSIV6y8kswsWRfM1VDBZvJcCVLeVuOSAyShoFug==", "dependencies": { "@langchain/core": ">0.1.56 <0.3.0", - "@mistralai/mistralai": "^0.1.3", + "@mistralai/mistralai": "^0.4.0", "uuid": "^9.0.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.22.4" @@ -16159,27 +16159,30 @@ } }, "node_modules/@llm-tools/embedjs": { - "version": "0.0.79", - "resolved": "https://registry.npmjs.org/@llm-tools/embedjs/-/embedjs-0.0.79.tgz", - "integrity": "sha512-Fbv6+5Efc9ghlg7yXC3nEVjPuC9nmJ51XkBQmVcPubtRBbuD8Ts56G4aoWsGFFTEoX6vNtBYd09QhqYjBXVa3g==", + "version": "0.0.82", + "resolved": "git+ssh://git@github.com/Oneirocom/embedJs.git#409a3b9448b18fad32fc35b6fd6497934efbedb2", + "license": "Apache-2.0", "dependencies": { "@huggingface/inference": "^2.7.0", "@langchain/anthropic": "^0.1.21", "@langchain/cohere": "^0.0.10", - "@langchain/community": "^0.2.1", - "@langchain/core": "^0.2.0", - "@langchain/google-vertexai": "^0.0.16", - "@langchain/mistralai": "^0.0.22", - "@langchain/openai": "^0.0.33", + "@langchain/community": "^0.2.4", + "@langchain/core": "^0.2.5", + "@langchain/google-vertexai": "^0.0.17", + "@langchain/mistralai": "^0.0.23", + "@langchain/openai": "^0.1.0", "axios": "^1.7.2", "compute-cosine-similarity": "^1.1.0", "confluence.js": "^1.7.4", - "debug": "^4.3.4", + "csv-parse": "^5.5.6", + "debug": "^4.3.5", "html-to-text": "^9.0.5", - "langchain": "^0.2.0", + "langchain": "^0.2.4", "md5": "^2.3.0", + "mime": "^4.0.3", "office-text-extractor": "^3.0.3", "sitemapper": "^3.1.8", + "stream-mmmagic": "^2.3.0", "usetube": "^2.0.2", "uuid": "^9.0.1", "youtube-transcript": "^1.2.1" @@ -16191,11 +16194,11 @@ "@pinecone-database/pinecone": "^2.2.1", "@qdrant/js-client-rest": "^1.9.0", "chromadb": "^1.8.1", - "cohere-ai": "^7.10.0", + "cohere-ai": "^7.10.2", "hnswlib-node": "^3.0.0", "ioredis": "^5.4.1", - "lmdb": "^3.0.8", - "vectordb": "^0.4.20", + "lmdb": "^3.0.11", + "vectordb": "^0.5.0", "weaviate-ts-client": "^2.2.0" }, "peerDependenciesMeta": { @@ -16228,6 +16231,21 @@ } } }, + "node_modules/@llm-tools/embedjs/node_modules/@langchain/openai": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.1.2.tgz", + "integrity": "sha512-giydNZyEzUBrjZrmQRfnc2SI0+TyAjaVMd8wMKq8O4X/Y3BJd0LFlfD+3MM6Lyu/qaphZ1Ycfr7XR5hY0EcGqQ==", + "dependencies": { + "@langchain/core": ">=0.2.5 <0.3.0", + "js-tiktoken": "^1.0.12", + "openai": "^4.41.1", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@llm-tools/embedjs/node_modules/axios": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", @@ -16251,6 +16269,20 @@ "node": ">= 6" } }, + "node_modules/@llm-tools/embedjs/node_modules/mime": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.3.tgz", + "integrity": "sha512-KgUb15Oorc0NEKPbvfa0wRU+PItIEZmiv+pyAO2i0oTIVTJhlzMclU7w4RXWQrSOVH5ax/p/CkIO7KI4OyFJTQ==", + "funding": [ + "https://github.com/sponsors/broofa" + ], + "bin": { + "mime": "bin/cli.js" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/@lukeed/csprng": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", @@ -16742,9 +16774,9 @@ } }, "node_modules/@mistralai/mistralai": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-0.1.3.tgz", - "integrity": "sha512-WUHxC2xdeqX9PTXJEqdiNY54vT2ir72WSJrZTTBKRnkfhX6zIfCYA24faRlWjUB5WTpn+wfdGsTMl3ArijlXFA==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@mistralai/mistralai/-/mistralai-0.4.0.tgz", + "integrity": "sha512-KmFzNro1RKxIFh19J3osmUQhucefBBauMXN5fa9doG6dT9OHR/moBvvn+riVlR7c0AVfuxO8Dfa03AyLYYzbyg==", "dependencies": { "node-fetch": "^2.6.7" } @@ -19013,12 +19045,12 @@ "dev": true }, "node_modules/@nrwl/cypress": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-19.0.4.tgz", - "integrity": "sha512-CcJc1dCzQ5pJr5QOZZtfbbBIiQjeQvx2CZB7xm7eVU9ZPpmTk+geCyG4WciiU5lsFq9kUPAXgshqf5qJ6V4lUw==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-19.2.1.tgz", + "integrity": "sha512-Uq5cCCT4/JHUJ1SMsFNtki1mRNocvxLc0lQJHKb26am6+EL++P7/aIkhiiKHerJiH+5VHYOvQbRTRsiNuKsBNQ==", "dev": true, "dependencies": { - "@nx/cypress": "19.0.4" + "@nx/cypress": "19.2.1" } }, "node_modules/@nrwl/devkit": { @@ -19071,66 +19103,66 @@ "dev": true }, "node_modules/@nrwl/esbuild": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/esbuild/-/esbuild-19.0.4.tgz", - "integrity": "sha512-HN/a+iRpewfER8UfS4x8828OPkbwdNWBfP5nMjpuLUewdj5a5vzOLsCCfFL6vEvYSRMdzGrTuryS5dKDsgOqug==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/esbuild/-/esbuild-19.2.1.tgz", + "integrity": "sha512-OFUU5AJ6lU82rnsq6ONNp6ecHt1fktJNFFonSLk/TLTObnaS6GOAvkoCzbhLWDRUWUsCOh1Q7AE3DEqcary04w==", "dev": true, "dependencies": { - "@nx/esbuild": "19.0.4" + "@nx/esbuild": "19.2.1" } }, "node_modules/@nrwl/eslint-plugin-nx": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-19.0.4.tgz", - "integrity": "sha512-2N0tVl43kA4icV2f8+jx5ayL3ApuxDbInkExFZ7pd1pVAkAj6dBD6CDrnrBoWnUE2lL/C/rTBPqgZic2YmK8hw==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-19.2.1.tgz", + "integrity": "sha512-+cXH0vJHz+G8sDomQL3r7kC4CmR7DqNRaJIw1+IBuy5f8h9tDGrKHYh3wVL6bigQOYkxSCOMyyeDXP5kFjTqkg==", "dev": true, "dependencies": { - "@nx/eslint-plugin": "19.0.4" + "@nx/eslint-plugin": "19.2.1" } }, "node_modules/@nrwl/express": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/express/-/express-19.0.4.tgz", - "integrity": "sha512-OyVDmfnck/BlB/UL5aExu0Z6JIXg43BFgNsrg/Ay2DwdYipvulr8iztLS3HiXoUTemBDS9KCKU73p3/sfIYtrA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/express/-/express-19.2.1.tgz", + "integrity": "sha512-CxSqlcHkki35oSgoOso8aafqep+S3b1O/A3THZcZRW2VLM9OV43ROxPNsCtL5X+STuiVDmN+8V3/PaxfCYdsoQ==", "dev": true, "dependencies": { - "@nx/express": "19.0.4" + "@nx/express": "19.2.1" } }, "node_modules/@nrwl/jest": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-19.0.4.tgz", - "integrity": "sha512-47nASzd1lwP3/vBX2wp8xb0s+tZCSxmLf3jN+NUDNm/nxCf6/pUS5SdWJHABbioG8myrqKGaCOW5/4NCdlQD+Q==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-19.2.1.tgz", + "integrity": "sha512-90jXFvV0jlIoWqdphCvpLW3SR9vhXrlm4vhF2ge/+PDrdKsyZwpoHc2Xm1bl5r9S1Qoqr0E4SzrxkT76pKwfqw==", "dev": true, "dependencies": { - "@nx/jest": "19.0.4" + "@nx/jest": "19.2.1" } }, "node_modules/@nrwl/js": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.0.4.tgz", - "integrity": "sha512-BMH7ysvCXETrOXIYCfsubQUH6ToJk2gDcINQFXWa+m+D1KKQXXpOrMA/2nqRpP+JT2nQ770zERC7WEDxGzrNpA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.2.1.tgz", + "integrity": "sha512-121mwOdhDLUtItYlGpUTFqs/S3SP+ljKoj+AI2tGlLnT4LjDeqDiXo6uGa9FhmyErH9Q122ZsTIfklIQFhnV5g==", "dev": true, "dependencies": { - "@nx/js": "19.0.4" + "@nx/js": "19.2.1" } }, "node_modules/@nrwl/next": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/next/-/next-19.0.4.tgz", - "integrity": "sha512-E12FHJNwWZ4C1SIyf3PsQT2+oPOX4ztFuOccEH3h/WvsMzSgiMWeGvxzqgvtsPjCIURYeO3vGB84GV+iUK1+Og==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/next/-/next-19.2.1.tgz", + "integrity": "sha512-fQOVqybyfgAYFFFdzd2GhMt00BANuENySMS9xJ2Lh1QhM6wTEtUcqZOhoITKkF5w0qCWXBDdjcASylzwEz5cEQ==", "dev": true, "dependencies": { - "@nx/next": "19.0.4" + "@nx/next": "19.2.1" } }, "node_modules/@nrwl/node": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/node/-/node-19.0.4.tgz", - "integrity": "sha512-9FYAS7oUDx3Mvhoa/+Cu5GwB4N19jJfVLt2QHzrzQMjNkW6DZk1N6xvyUjv41L8EbUvTYdkddZPhnXaSkzdNvQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/node/-/node-19.2.1.tgz", + "integrity": "sha512-z3lLoIrDpDPZPWKp9C6cgmCC6giOoS/ymDbsIXdL85lcCX/zdG9L/UHDFqc/kPaie98jNKsXHQ7HoR1xNAQB/w==", "dev": true, "dependencies": { - "@nx/node": "19.0.4" + "@nx/node": "19.2.1" } }, "node_modules/@nrwl/nx-darwin-arm64": { @@ -19246,12 +19278,12 @@ } }, "node_modules/@nrwl/nx-plugin": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/nx-plugin/-/nx-plugin-19.2.0.tgz", - "integrity": "sha512-F1aPbJEPiP7JdDdoZq1UaU9E7NCdmitDdtMPDYqFXbxHbtRCHLyHUQaMyaeGhBCKi+UUzNEgoulHhvdwBou27A==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-plugin/-/nx-plugin-19.2.2.tgz", + "integrity": "sha512-RpphhcMnyBYD+CfC+vO/HfvqwAt40L8WiEr+3occttV0FdLqD/3EyjQfIg4Z7bIcXyEU5T9yHqa+ncv8kAuZLw==", "dev": true, "dependencies": { - "@nx/plugin": "19.2.0" + "@nx/plugin": "19.2.2" } }, "node_modules/@nrwl/nx-win32-arm64-msvc": { @@ -19287,39 +19319,39 @@ } }, "node_modules/@nrwl/react": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/react/-/react-19.0.4.tgz", - "integrity": "sha512-zHTGb4de/bZn4wSYcaABl9KVor/nOTU+T1pFcv1k/WmmO/pJPbHRciMhaRH9GvHqDMw4ThnjJ9wPxbbcfQ4LLQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/react/-/react-19.2.1.tgz", + "integrity": "sha512-h2ftyBtlgaQrJ+AeJNXUM18QhwfosinUxW07KViyO76KHEXrqgYk015bi1vG+zI8GXVaCw4xNHYTMwShXH2Qiw==", "dev": true, "dependencies": { - "@nx/react": "19.0.4" + "@nx/react": "19.2.1" } }, "node_modules/@nrwl/rollup": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/rollup/-/rollup-19.0.4.tgz", - "integrity": "sha512-XMGS2d5qY861753VBI/K+2OBQ6pRX6VX0x8rkmj8VW4gKR4vxeTSYvl2yWji7DAZCgolxZlIkExnmHutDkD/tA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/rollup/-/rollup-19.2.1.tgz", + "integrity": "sha512-QGrhUjWco3L2FasGdsoB79F1dHQKBUYHoKjNHp+UDl5wxmSa4C5+wFrnvzgF+9v+NEf0RYS8CJ5gqBoWouFJUw==", "dev": true, "dependencies": { - "@nx/rollup": "19.0.4" + "@nx/rollup": "19.2.1" } }, "node_modules/@nrwl/storybook": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/storybook/-/storybook-19.0.4.tgz", - "integrity": "sha512-p1TcFO2gp1DWLibVzEvQ8kaSRpTfTAEPMR/WGjd6Ar92O5Zta4eD+5fHo69IZl/lrxLSO3nxPaxpNmJX4wxj1A==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/storybook/-/storybook-19.2.1.tgz", + "integrity": "sha512-Q6EkhniLdXMW6soJdCmPgVoHY4LqC8YskYEDv7UlO/v5zLckEtA9gtYv2cnV1XRbhDtL8z3gldP1AXvbsFtN5A==", "dev": true, "dependencies": { - "@nx/storybook": "19.0.4" + "@nx/storybook": "19.2.1" } }, "node_modules/@nrwl/tao": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.0.4.tgz", - "integrity": "sha512-ZoHM5hbj0fOaWiiQoN/Wjozc6lbBCCcH7jCIX7amN6aztmcwNYk+Q3NKJE5Jh0/Js5M78VTnLRG2h4KHPzKSKg==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.2.1.tgz", + "integrity": "sha512-F89EoEsLLOSFa9pvItui0G728hlxptkp+UvNvg0NwyYkt0RTeiZ5XBrIs8oow+x5I7TyTnuUMoNdUMqk7349iA==", "dev": true, "dependencies": { - "nx": "19.0.4", + "nx": "19.2.1", "tslib": "^2.3.0" }, "bin": { @@ -19327,39 +19359,39 @@ } }, "node_modules/@nrwl/vite": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-19.0.4.tgz", - "integrity": "sha512-nNG8umPbkgzlyamxssSwHclyOPRZkVTFpAqqJ7mg960ybxY0ipYITLHPT8sG91/QpSdM23DiEbofl3oFlB5iPQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-19.2.1.tgz", + "integrity": "sha512-YvKbuQ8r119Vp6BW90zL38CO2fKSb5/Yw9jEEl39orrxQPlY3w2BrJeOi9ANJ6p4Xn047kmZl/O3zZI2dL16TQ==", "dev": true, "dependencies": { - "@nx/vite": "19.0.4" + "@nx/vite": "19.2.1" } }, "node_modules/@nrwl/web": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-19.0.4.tgz", - "integrity": "sha512-Fj6jaZTSP0DvuL2TG9Lem2vP49hOFC40wyplwyO/jr3NGT//RgJz7Hnf54tj0Z3ycLAH86+t+Ca3CjxyIWBkHg==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-19.2.1.tgz", + "integrity": "sha512-8YSrxog4RgEVKbU7c2syxBe6auPjLLYjaWQHjW6xq+cgUjCjc/EeCX0AwC6ldbYKUQ1oTfI82ycMy8jVYoUzaw==", "dev": true, "dependencies": { - "@nx/web": "19.0.4" + "@nx/web": "19.2.1" } }, "node_modules/@nrwl/webpack": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-19.0.4.tgz", - "integrity": "sha512-wuEqJBcqqpFu91kZ3GS/BDfwgh9+xlHRQIxH+ShtZn1UQmMN0tMpAauZSCVx5e1ADbTstjsmxhOiDStjfuIuAQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-19.2.1.tgz", + "integrity": "sha512-qO54bTx9cuu646Yj1iG0IZGqY3wTogF5QHsXmOqwMIF51OkI6bwuHDX9riZe5gtOLxSFVX/LUegzGHrmFwVD6A==", "dev": true, "dependencies": { - "@nx/webpack": "19.0.4" + "@nx/webpack": "19.2.1" } }, "node_modules/@nrwl/workspace": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.0.4.tgz", - "integrity": "sha512-aL2Z6sE2hmwnqcca2RZMbyq7gqrotvBivGONS1mRjpRaapJTkzsPDDaY3WDS/4Mmh7vbtoaINmJJeyJcllymiA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.2.1.tgz", + "integrity": "sha512-8Z6gaMtD8KqfDv942+6h/CgMvOq+gmFuUUhoQCinUf4TySCR/eY6NC2f4uS2+gmfz0Bsx15YTlRmnatzIZWDWQ==", "dev": true, "dependencies": { - "@nx/workspace": "19.0.4" + "@nx/workspace": "19.2.1" } }, "node_modules/@nuxt/devalue": { @@ -20958,15 +20990,15 @@ } }, "node_modules/@nx/cypress": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-19.0.4.tgz", - "integrity": "sha512-C4BLF4fdJ/9IQMmwKqE5zwFgFsySKWRIHRhK3ze2h23Spvo/QDoUeu7tHc2R8BkhRi50uqKlhj18Xb/yZB3xqQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-19.2.1.tgz", + "integrity": "sha512-8CV03XIzoH1Y5jvfUaMU8TUoZLFMqFFjgVT17JMwaYzPojr8tyNBySBrWuFlgp49L8oa06kSl17GNw3fvesVfA==", "dev": true, "dependencies": { - "@nrwl/cypress": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/eslint": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/cypress": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/eslint": "19.2.1", + "@nx/js": "19.2.1", "@phenomnomnominal/tsquery": "~5.0.1", "detect-port": "^1.5.1", "tslib": "^2.3.0" @@ -20981,11 +21013,11 @@ } }, "node_modules/@nx/devkit": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.0.4.tgz", - "integrity": "sha512-nsD0RaL61nZLHSJbog2XwxcI8bML5GlI69Z1k2rvd2zvylqdjNS4SXakMPl/Ar9xX2mAW3Qbup850V0jG87y/Q==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.2.1.tgz", + "integrity": "sha512-dutfbNBWbMKoN6Lt2L0WL3MuetWCcnU4zfMLCl+XBtUR8nm+O5hcNVd1bFC+DQO1M0NYAqPKKzrAqvsBINAp1w==", "dependencies": { - "@nrwl/devkit": "19.0.4", + "@nrwl/devkit": "19.2.1", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -21000,11 +21032,11 @@ } }, "node_modules/@nx/devkit/node_modules/@nrwl/devkit": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.0.4.tgz", - "integrity": "sha512-wOb7qiluWjVgmfhIGxWXAgJ61ZoL7rDYfx0mibPhbBlqm+86NHJ9CbKTfbfamS20fkzCYdhYeE6xd7sdpcZIZA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.2.1.tgz", + "integrity": "sha512-Le/1tNEWqZKWVENz4YJk/31rU+fOHhFAerWwoZkLwyFwXRWyPmnGuJnUUu3igKKrcj98Vh9+jOpfZl3blooDUA==", "dependencies": { - "@nx/devkit": "19.0.4" + "@nx/devkit": "19.2.1" } }, "node_modules/@nx/devkit/node_modules/semver": { @@ -21019,14 +21051,14 @@ } }, "node_modules/@nx/esbuild": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/esbuild/-/esbuild-19.0.4.tgz", - "integrity": "sha512-KYV9aL3eSFOez/NOlZviWe6uvI9NWiXOxhA+YsH+DCbHSnF6KTINJn5gy19fyCgP8lu7XahZCMNC8hnF+aewig==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/esbuild/-/esbuild-19.2.1.tgz", + "integrity": "sha512-TwzwgsfTVcZbnP6UMNw7P0u2BMoDXr4j29usggUFEUXVpzoZQ3sA4ffGbO5PVQ0xnsXjod/MPU/YHjZoi1ZwMQ==", "dev": true, "dependencies": { - "@nrwl/esbuild": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/esbuild": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/js": "19.2.1", "chalk": "^4.1.0", "fast-glob": "3.2.7", "fs-extra": "^11.1.0", @@ -21102,36 +21134,37 @@ } }, "node_modules/@nx/eslint": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.0.4.tgz", - "integrity": "sha512-fcXwKyOxsCO/NtUT+fggGOGeBqK9kHA8pw/5XBnQC/yCOtWGMCdTKps0QoU5FLBq0OoquoUObYovaqAV4Cqw5g==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.2.1.tgz", + "integrity": "sha512-lQJG8aXvuNGL6fUV/kphXqlmRzhXDfpiFiW1RGyiJ3FuqrBlVTXfDYoU5rkyFTgwFDfgN3oO69j4CW6aDB/iZQ==", "dev": true, "dependencies": { - "@nx/devkit": "19.0.4", - "@nx/js": "19.0.4", - "@nx/linter": "19.0.4", - "eslint": "^8.0.0", + "@nx/devkit": "19.2.1", + "@nx/js": "19.2.1", + "@nx/linter": "19.2.1", + "semver": "^7.5.3", "tslib": "^2.3.0", "typescript": "~5.4.2" }, "peerDependencies": { - "js-yaml": "4.1.0" + "@zkochan/js-yaml": "0.0.7", + "eslint": "^8.0.0 || ^9.0.0" }, "peerDependenciesMeta": { - "js-yaml": { + "@zkochan/js-yaml": { "optional": true } } }, "node_modules/@nx/eslint-plugin": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-19.0.4.tgz", - "integrity": "sha512-hruP/jwm8fpLMrdwI280Y0xYDZFQe+n0MktgWHNgizHkzwkjMdfEYsHARYJUFCoiksB7P6SMj1O1F7hVDvW48w==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-19.2.1.tgz", + "integrity": "sha512-i0k7yjnthxmtwQR1aKL1BBVCl2aiKuNONXrRXa/8IZxigzoWr5znnoKtIs7bg0Pk1pCfSzzPU8bjgSpkGSi4pQ==", "dev": true, "dependencies": { - "@nrwl/eslint-plugin-nx": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/eslint-plugin-nx": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/js": "19.2.1", "@typescript-eslint/type-utils": "^7.3.0", "@typescript-eslint/utils": "^7.3.0", "chalk": "^4.1.0", @@ -21205,15 +21238,27 @@ "node": ">=8" } }, + "node_modules/@nx/eslint/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@nx/express": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/express/-/express-19.0.4.tgz", - "integrity": "sha512-k0XFcar8aI3zjwvnW7tTBilIpKcLYIdpQNOFkVGPtqZqqRf7pYHm8bZ7R0KC4yyoWwDmesSwEWfDXhQBezXZMg==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/express/-/express-19.2.1.tgz", + "integrity": "sha512-MMLw4l1PYWXVM6UeAwHcJ/NiTKnKWCZaKWPWqloEIBJW8j8gq+/5hbOvgIJXsmmuLBhEpoPSR09Rbz78SE3wJQ==", "dev": true, "dependencies": { - "@nrwl/express": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/node": "19.0.4", + "@nrwl/express": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/node": "19.2.1", "tslib": "^2.3.0" }, "peerDependencies": { @@ -21226,16 +21271,16 @@ } }, "node_modules/@nx/jest": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.0.4.tgz", - "integrity": "sha512-OH/brJQ2mCqN9HU3Xjc2i5kPH+6wSpjWwxXQ+rbA45hKiE7kCTjwrvEFKindjBtsRJwI/PVdcjEc0d8zbDW73w==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.2.1.tgz", + "integrity": "sha512-mTp3jnbfCyfXrLKPU2BuansVHlfBUjj6kNXhqkoSbl4eY1NOqIh9Gb4vPfEh1NatZZOWLVfCyKG1jW3WzTWDyw==", "dev": true, "dependencies": { "@jest/reporters": "^29.4.1", "@jest/test-result": "^29.4.1", - "@nrwl/jest": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/jest": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/js": "19.2.1", "@phenomnomnominal/tsquery": "~5.0.1", "chalk": "^4.1.0", "identity-obj-proxy": "3.0.0", @@ -21292,9 +21337,9 @@ } }, "node_modules/@nx/js": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.0.4.tgz", - "integrity": "sha512-u6ZGuEi/GuTUU7XA2cyP+XHGvN3E1imbnoU5gv+QfjHRAQEp1mBdY5byGqx2FVsiA7yFoi60ZwSZLgIcl6V0rw==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.2.1.tgz", + "integrity": "sha512-juqEjTeA5awuKywSAxO+l0FH+UgLy3w64bdtf7PD3ZXNHgWlObjq+hB5wPVjsrMJQ6vqAvQALa1i9w2Qf7B4Eg==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", @@ -21304,9 +21349,9 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nrwl/js": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/workspace": "19.0.4", + "@nrwl/js": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/workspace": "19.2.1", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^2.8.0", "babel-plugin-transform-typescript-metadata": "^0.3.1", @@ -21508,29 +21553,29 @@ } }, "node_modules/@nx/linter": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.0.4.tgz", - "integrity": "sha512-Rdw8zUcMVG95v5EGTqYo9LkOj0XlvHhhEbKO2ts2nRwuFWDcTZGXllfyNmN0hUhzrtBivsKpeTu1dlItLJR2zA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.2.1.tgz", + "integrity": "sha512-qun42/C7JQLEXDJ4WylydMlvB5cCyF3QDa2SAEoanUaMCOrL7ri/RIjenCfb8wIcpRBYs7U7CJAQJC3Nqmnz9A==", "dev": true, "dependencies": { - "@nx/eslint": "19.0.4" + "@nx/eslint": "19.2.1" } }, "node_modules/@nx/next": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/next/-/next-19.0.4.tgz", - "integrity": "sha512-GdqckkRM7NwSkDr8kk8orJqqJOfATof6+bsWQ1d5p0yZNdFH09m7y0rZeYNV4GgzN/s6vDvGzssFXZFPcfsu9g==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/next/-/next-19.2.1.tgz", + "integrity": "sha512-hlO4ooltaZKrc0C9K6vRacPu0IlUd7tpsIUY7mHVNgye5SfIUoPfthu8ET0ZrveZtid8SMpOL7x3gBX81W/VbA==", "dev": true, "dependencies": { "@babel/plugin-proposal-decorators": "^7.22.7", - "@nrwl/next": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/eslint": "19.0.4", - "@nx/js": "19.0.4", - "@nx/react": "19.0.4", - "@nx/web": "19.0.4", - "@nx/webpack": "19.0.4", - "@nx/workspace": "19.0.4", + "@nrwl/next": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/eslint": "19.2.1", + "@nx/js": "19.2.1", + "@nx/react": "19.2.1", + "@nx/web": "19.2.1", + "@nx/webpack": "19.2.1", + "@nx/workspace": "19.2.1", "@svgr/webpack": "^8.0.1", "chalk": "^4.1.0", "copy-webpack-plugin": "^10.2.4", @@ -21681,59 +21726,59 @@ } }, "node_modules/@nx/node": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/node/-/node-19.0.4.tgz", - "integrity": "sha512-8C4dL+1vPdF298sf1t06uhZ/K+cLQIQZ7GUO39DyKmv11CAbYenpRLDaa9PlzAZjAslezzf6kd/YQFIG/17Q0w==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/node/-/node-19.2.1.tgz", + "integrity": "sha512-AA3EyTWBISY7ntrWDCBSdT4TJN+NjIsEWrX83MFXGHxD7MSeVTaR5gB2ePikXrQke9xJiQ1OWsD/uPTPfzvhmA==", "dev": true, "dependencies": { - "@nrwl/node": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/eslint": "19.0.4", - "@nx/jest": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/node": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/eslint": "19.2.1", + "@nx/jest": "19.2.1", + "@nx/js": "19.2.1", "tslib": "^2.3.0" } }, "node_modules/@nx/nuxt": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nuxt/-/nuxt-19.2.0.tgz", - "integrity": "sha512-eby3BeAD3nGpM/Z8UnKkLwPagKyhCIDSG39uwQ4qdXd28Gqk3Gk/q0RhEDm0Hw6F0ppMuB9YNY47XrFaRcMpDA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nuxt/-/nuxt-19.2.2.tgz", + "integrity": "sha512-jiwOqnfUr+TyNUODSzTNQPzucSQJRP18V09aTdKmtMOuTq7uKb5q9dvyGwG76a7Lp8BKLxM/P9TZ+l1W+1iLbA==", "dev": true, "dependencies": { "@nuxt/kit": "^3.10.0", - "@nx/devkit": "19.2.0", - "@nx/eslint": "19.2.0", - "@nx/js": "19.2.0", - "@nx/vite": "19.2.0", - "@nx/vue": "19.2.0", + "@nx/devkit": "19.2.2", + "@nx/eslint": "19.2.2", + "@nx/js": "19.2.2", + "@nx/vite": "19.2.2", + "@nx/vue": "19.2.2", "tslib": "^2.3.0" } }, "node_modules/@nx/nuxt/node_modules/@nrwl/devkit": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.2.0.tgz", - "integrity": "sha512-Ew5AJZkLXJwt15HjaIbHve8FOXmZ3HK8KPqTXqwKHX8jQW+fDUCaSXKe/lCZMNg0RvY+jMNecuC86uGdiIbLMg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.2.2.tgz", + "integrity": "sha512-NWB3OAm6/oHaF2h7isUXpK9J2XF097mfaiENHj1GzH9JwjB2YoFaD7v033er6+Hb6FEZtOPZpVH1kEQjVaYJLA==", "dev": true, "dependencies": { - "@nx/devkit": "19.2.0" + "@nx/devkit": "19.2.2" } }, "node_modules/@nx/nuxt/node_modules/@nrwl/js": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.2.0.tgz", - "integrity": "sha512-i6CyQvTP1etmTxjFhUIw/HAtoZCENbhkc7UmAsyCgTX5IJeo0U3YoHsmDI0TE45yu+4x4gcKLqOHs2zqWj7WCw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.2.2.tgz", + "integrity": "sha512-001sl0KpRefw1zHfDpYsucbaPYeLybADX18Mxcq6fgbgPZhsEHn5oZmp56y5t4CpSbTrVVqbXFpoLj70NynVRQ==", "dev": true, "dependencies": { - "@nx/js": "19.2.0" + "@nx/js": "19.2.2" } }, "node_modules/@nx/nuxt/node_modules/@nrwl/tao": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.2.0.tgz", - "integrity": "sha512-9AOwbY/E7OlLCFu+6jhJGUIs+qurE2/3Pldooe7cJPqQmSQeJuVZuL6A2xHtbSG7VsXTq5Yj8dVvK1KmT45SIA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.2.2.tgz", + "integrity": "sha512-G/m3EGXf3m9rM2sQQGpRPD40gfaWR6jFVCsZW66/6FXDo1dMUH5/U5JOBnD6vBdug8txKA1ceWHM74NkAB1QEg==", "dev": true, "dependencies": { - "nx": "19.2.0", + "nx": "19.2.2", "tslib": "^2.3.0" }, "bin": { @@ -21741,30 +21786,30 @@ } }, "node_modules/@nx/nuxt/node_modules/@nrwl/vite": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-19.2.0.tgz", - "integrity": "sha512-ZKXKibRv4gNVZKGvjTerpXL5x5sCGrZZPNtwKXApFVa9+SEaGzHvWAIy0EBXrBXpOOeR6H6GQp5MFtWBAdpEOg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-19.2.2.tgz", + "integrity": "sha512-dsOLmSNeBqEX1SzFzyn0p+9rzsfZekCSJILorqixfRzE8slFEHP1NKa2HbsL16x5q5HaS67vY1mZmmy07vvgBQ==", "dev": true, "dependencies": { - "@nx/vite": "19.2.0" + "@nx/vite": "19.2.2" } }, "node_modules/@nx/nuxt/node_modules/@nrwl/workspace": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.2.0.tgz", - "integrity": "sha512-/3p9KNpGHgEVjM5aMFhzdp0Vh+Bt16OnlSA+eSKPd5r0eQyLY+T4zTQ1kjyHGYa/xcN8vsWKEnbZW2fD/HWSng==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.2.2.tgz", + "integrity": "sha512-uq3WXANVRY4yFsX7TWx0kZ6D/Tuf/BoBX42+LDI5IWUNV59sRzuwRrD18fBfqR88/hckSXWp8/E08CmKvRHIvg==", "dev": true, "dependencies": { - "@nx/workspace": "19.2.0" + "@nx/workspace": "19.2.2" } }, "node_modules/@nx/nuxt/node_modules/@nx/devkit": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.2.0.tgz", - "integrity": "sha512-fK3zRUE2SLp9BUomFiyCuAX2E1yfWYE/hKimniscsvM34/u/xLZYVmmZ0/jfpGPbyaonXKZr2KTb7RimX/hyqg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.2.2.tgz", + "integrity": "sha512-6y+th5m1qVc+B0lXmKb3WRcfwNYD2B/bqGn1HiKLu8g6DDVJFn0mT+a872e4OtvgHyubZQm3HnPfjXobChpRuw==", "dev": true, "dependencies": { - "@nrwl/devkit": "19.2.0", + "@nrwl/devkit": "19.2.2", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -21779,14 +21824,14 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/eslint": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.2.0.tgz", - "integrity": "sha512-9OIMntrLDPrQNZjYxOncIX+65r4RhV2dJ3PrjJ9lwCVqJKZGxfCn6f8JK8ubeLoWFPVjKEtfLTHK529vvfXifQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.2.2.tgz", + "integrity": "sha512-py7esWj3mDZARjukptF6kZj4wmPy//xLVnwUb2n6GiNVqSy1jhhVsv44IJC7UN0+YcItLphmNIBTKNrj3mNU/g==", "dev": true, "dependencies": { - "@nx/devkit": "19.2.0", - "@nx/js": "19.2.0", - "@nx/linter": "19.2.0", + "@nx/devkit": "19.2.2", + "@nx/js": "19.2.2", + "@nx/linter": "19.2.2", "semver": "^7.5.3", "tslib": "^2.3.0", "typescript": "~5.4.2" @@ -21802,9 +21847,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/js": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.2.0.tgz", - "integrity": "sha512-cLz1OSfWpm/y0bZtdv5INlCo9/ED9tC45e6OKBc2ClW5Gz2+IoZz/dK/bCXg7dpEBtF1Y9mHihKisPOmUhaLwQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.2.2.tgz", + "integrity": "sha512-eW65g8Qmajcwj63PJIizEGBct1XO6I3z5XG4BSzJHLWMeJLb24uVPk67/aJENnYVXi5dbsQYQubVWYyNIqdGPA==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", @@ -21814,9 +21859,9 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nrwl/js": "19.2.0", - "@nx/devkit": "19.2.0", - "@nx/workspace": "19.2.0", + "@nrwl/js": "19.2.2", + "@nx/devkit": "19.2.2", + "@nx/workspace": "19.2.2", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^2.8.0", "babel-plugin-transform-typescript-metadata": "^0.3.1", @@ -21847,18 +21892,18 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/linter": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.2.0.tgz", - "integrity": "sha512-Rahjy3+OLc4aXT8VNXpwyMozeU4RB6HIQOh5NAdcA6PoOH8cG1VtbyjryIZE8l5HT1hrpI5EkONZt1UXiIGw3w==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.2.2.tgz", + "integrity": "sha512-Q7H/Y6W3Xc+Yej1oih6LrBhbL5zSui+eNac6RvKBhj23muQlMwbuQ96bEjm3E4ti2sm0/ldF5Uc8/E4AvkK8qQ==", "dev": true, "dependencies": { - "@nx/eslint": "19.2.0" + "@nx/eslint": "19.2.2" } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-darwin-arm64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.2.0.tgz", - "integrity": "sha512-W+OpGyzr10oaycf4atPc5uH2wN1G6LJGHkWDN3LGSQhoDWuj13idFpjSy6rJ8WxtL8kIvPXq78GEi1yAADsakA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.2.2.tgz", + "integrity": "sha512-AgvsZ0iDA0rklH0TqOIiTrbJysn7WfFFzhLYd1JnxS2Z3GAFPRoE6TxRSSqpTBmFqskrZhZyrjHllOoBD5odFQ==", "cpu": [ "arm64" ], @@ -21872,9 +21917,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-darwin-x64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.2.0.tgz", - "integrity": "sha512-4l1BDn29R0ugf7ATcGcZGEwK0frZSCtiyXnX3JFq55dNS4Bv3FiZLew7JULjdumXEXr773bH326FQlocLVlcXg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.2.2.tgz", + "integrity": "sha512-YPd9Kmn5/YPYolBVYoficQmp8LFTe/PAI3dQ3NebOGFYw49PFmV0cdB8+4m0q70WCBMwyqo1x6a6MO9CvENkTg==", "cpu": [ "x64" ], @@ -21888,9 +21933,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-freebsd-x64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.2.0.tgz", - "integrity": "sha512-9zdwLRSkEg/H7bbIVWATn0H8QNgnHaTe23tciZPaBr95J6CXVJWWpC4wn9duURhvbscnqUSSSfKK1f+MSEDTbw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.2.2.tgz", + "integrity": "sha512-43hMzFmYyi0aEiGa/VNXChzotL6nFG9hLSZhtpXAO6qyibSqKwlU5PjNyly/7y5gUGl7YfmdpwWwlOIYPSQoVw==", "cpu": [ "x64" ], @@ -21904,9 +21949,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.2.0.tgz", - "integrity": "sha512-KNVnqRPegJza3kU4q3pY8m0pT8OSQZnLGsDZti6morhXh2sE79f/zeevOrbhf8JnaJfQtyrXfGvjYAiL3+I8bw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.2.2.tgz", + "integrity": "sha512-locP8QQWI4NFb7kVe8Fflkpdnf9kw5o/WMROILJLFWlTy59K+NBQkpxRIhoUghJ6yckDxk1Kf2kmvV+xuX4f8Q==", "cpu": [ "arm" ], @@ -21920,9 +21965,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.2.0.tgz", - "integrity": "sha512-UXIl90l+cDecU17OOLlI+uzbjzQucnNu4Mee67EqE3TyfpSvuU1l3FWZ9sbE0effp8IwKpbL7Gt5KirJKtWzIA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.2.2.tgz", + "integrity": "sha512-uQUZs+56yplEjokgCC3Pv/nUr4v+/bCurc1v/juUH4byqCdvi+Cny7jqws49UELS+QkcTkWGBtajvf8U3JZEbQ==", "cpu": [ "arm64" ], @@ -21936,9 +21981,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.2.0.tgz", - "integrity": "sha512-4Z8XO3WljS2GWOL2SQ1p8SRNn2Kn6FU1FWClh7KBzMtpzjsHdmOXenMP9UOGZ6gBnfBIknCEDjE3uJUHmuShGg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.2.2.tgz", + "integrity": "sha512-rU6l18ubh0Chv7lkxshgm6o4IKduB+jztUBRR4SuOuTOLJ6okm51AqzdY+vy7esicEL3HnHWSJP/U5PwoAaNsA==", "cpu": [ "arm64" ], @@ -21952,9 +21997,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.2.0.tgz", - "integrity": "sha512-EwAkZEp0KB99VEPTskW2feCpSKqWScKdRd6UaIM9Vmqqtb5hSk6yR6p0mprjytbDtFVoKQJMOFa35qe+2R8mKQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.2.2.tgz", + "integrity": "sha512-rvGP3p0qmzHJu8cUcYnRDyJ1BkVExgmsWmtzyQrHl48+hvNrq805NrP3gTreOxqymRlBEXg7c22fRECI1CV1lA==", "cpu": [ "x64" ], @@ -21968,9 +22013,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-linux-x64-musl": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.2.0.tgz", - "integrity": "sha512-LbFcHe83YZUS/my/8nBxQ2i3JWakcXd7zbzZ0cSAQk6DuJVCUk8PLdgZzhrVcmT82Pv7H0fM/4jgEl+oHGoc/g==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.2.2.tgz", + "integrity": "sha512-86pfT+z6SWKlJUoRy7MOMjRhrCPgSnAxbcH7jYCkqhokbCIDIv2IFWqMf0zdUqa8HqjRo13X6Jd6PhNYzWwJzw==", "cpu": [ "x64" ], @@ -21984,9 +22029,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.2.0.tgz", - "integrity": "sha512-BxOveRfRCdhuCs2GWbsdzGsjtLC3N+MuUlVaXSWADksF6/QKuCHM/2Kq3RYkLVVtlls6NCBp410RSx/XsbSEug==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.2.2.tgz", + "integrity": "sha512-kJ3G0+nyAgBr5RTkNceC9zl2pekFEu0ec6ceLJ0tfcTwil76Ce3Xnlr0CFFNsre4T1v2RfFIDJL3EaRUXYep0w==", "cpu": [ "arm64" ], @@ -22000,9 +22045,9 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.2.0.tgz", - "integrity": "sha512-QiDxtOHIiRka9Bz7tSpBvQgQPrX5grLhoz6miD6LX1WjO56bZIkEAVefGnMc3WZ1PacS1ZECtymHwUy+WpEqAQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.2.2.tgz", + "integrity": "sha512-9KKGYFgWfc4jHzHjnIp+DJt750NyG1kA4Q+DWf/UcFA5917UWuAw9rribFPRsqYkcwbu++Uajw5bI5yMLP7ThA==", "cpu": [ "x64" ], @@ -22016,14 +22061,14 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/vite": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-19.2.0.tgz", - "integrity": "sha512-bO0sPMZSu5fVJMsRB6UUEOdC3ilkBUAJh2L+5ldq01yLPGp73CL2IJBa4MXdQjPUJ1q8osVuIAyN3gIJV05NVQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-19.2.2.tgz", + "integrity": "sha512-Vwh75Yz+5vfgdfwgydwfEPMgMhPQqq7g1AUYf+Ji/ei5pFNPSDinosSHG+msK1kiaaXZt5VJRcUmSPsarjj+kg==", "dev": true, "dependencies": { - "@nrwl/vite": "19.2.0", - "@nx/devkit": "19.2.0", - "@nx/js": "19.2.0", + "@nrwl/vite": "19.2.2", + "@nx/devkit": "19.2.2", + "@nx/js": "19.2.2", "@phenomnomnominal/tsquery": "~5.0.1", "@swc/helpers": "~0.5.0", "enquirer": "~2.3.6", @@ -22035,16 +22080,16 @@ } }, "node_modules/@nx/nuxt/node_modules/@nx/workspace": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.2.0.tgz", - "integrity": "sha512-0wdv8jrGIGcf/ZF4r2/xWz/jrQjwftgLPmh7BawYPFbDZlRXkzb7a4MTJOxXH8QcR3ZJNhRjkFfHRPbB0luf1A==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.2.2.tgz", + "integrity": "sha512-dD4H/TMZ1RsYe/UJMYh8yGoQ/HCH5qt8686L/o2T7GVPtAUc0a0ldwsmCTr4Y+pxX79ppK/M8W51UHFNLhjR6w==", "dev": true, "dependencies": { - "@nrwl/workspace": "19.2.0", - "@nx/devkit": "19.2.0", + "@nrwl/workspace": "19.2.2", + "@nx/devkit": "19.2.2", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "19.2.0", + "nx": "19.2.2", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } @@ -22244,13 +22289,13 @@ } }, "node_modules/@nx/nuxt/node_modules/nx": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.2.0.tgz", - "integrity": "sha512-IewqV0eGOpp569TSjfQVIQODxkRYKSDTP0e0j20GKkMTvCAmdbJRYZxyTr6Aw6gSM7lEVgK/4yESRO5YidfV2Q==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.2.2.tgz", + "integrity": "sha512-Tg3REVykwKmVBCsroeCE/KhHAJx3e/m0FgNZWXJhn3EEh01qhdsVfWpM/ecawin73or7YcvB/99S8vVPU1nczg==", "dev": true, "hasInstallScript": true, "dependencies": { - "@nrwl/tao": "19.2.0", + "@nrwl/tao": "19.2.2", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.7", @@ -22290,16 +22335,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.2.0", - "@nx/nx-darwin-x64": "19.2.0", - "@nx/nx-freebsd-x64": "19.2.0", - "@nx/nx-linux-arm-gnueabihf": "19.2.0", - "@nx/nx-linux-arm64-gnu": "19.2.0", - "@nx/nx-linux-arm64-musl": "19.2.0", - "@nx/nx-linux-x64-gnu": "19.2.0", - "@nx/nx-linux-x64-musl": "19.2.0", - "@nx/nx-win32-arm64-msvc": "19.2.0", - "@nx/nx-win32-x64-msvc": "19.2.0" + "@nx/nx-darwin-arm64": "19.2.2", + "@nx/nx-darwin-x64": "19.2.2", + "@nx/nx-freebsd-x64": "19.2.2", + "@nx/nx-linux-arm-gnueabihf": "19.2.2", + "@nx/nx-linux-arm64-gnu": "19.2.2", + "@nx/nx-linux-arm64-musl": "19.2.2", + "@nx/nx-linux-x64-gnu": "19.2.2", + "@nx/nx-linux-x64-musl": "19.2.2", + "@nx/nx-win32-arm64-msvc": "19.2.2", + "@nx/nx-win32-x64-msvc": "19.2.2" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -22440,9 +22485,9 @@ } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.0.4.tgz", - "integrity": "sha512-EwTMKVFdMF42b+DG3ACtrGVE3iiAgOw+VJ4Vekm59+ZkTg6GrZly2VNbthoNSJd6/uPQssoljx36NZH953ieBw==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.2.1.tgz", + "integrity": "sha512-9VsVmb3ayzSYYIQniL+y8EbCgDgJvMxKU/wOau9vPYo+L/Alu3QF22yJ1XiI1RwnEzZpvE2dceGb48tZU1jD3A==", "cpu": [ "arm64" ], @@ -22456,9 +22501,9 @@ } }, "node_modules/@nx/nx-darwin-x64": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.0.4.tgz", - "integrity": "sha512-W+SVaYOHWRHcws7wZVcWyxoT57r1qXLMUBvpTVBf5PsVfsI+t9sINwzZjcXWaGNVcPGrVYUZF6Cp3/exkPNUBw==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.2.1.tgz", + "integrity": "sha512-p0ulI83LQBDuRpO6td+qbUh70oPFuiIo2MylBIOE5EcVO5z8qOh7JPvk8fkoEmMXEZe7hgG3Cq5+dN7LxHx9kw==", "cpu": [ "x64" ], @@ -22472,9 +22517,9 @@ } }, "node_modules/@nx/nx-freebsd-x64": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.0.4.tgz", - "integrity": "sha512-8Wl2+TOXiRDLbI8mwsbx1sHQLKAaNvfTm2e5Kf+4ay4W/UsrHONRDRA4d/LhMOLQMo+2+q2q+u8DziqT0w0Vaw==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.2.1.tgz", + "integrity": "sha512-NFF7h5rH3D0hT34CVG5ms95CZp+/m2KP4ZEczRn+wRzWeqouRAJBGXOCiMZrmzd7orjuHVVXrghfvBzpte1stw==", "cpu": [ "x64" ], @@ -22488,9 +22533,9 @@ } }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.0.4.tgz", - "integrity": "sha512-C3PBsyNM5Npq8G8h/WHjUwwlKZpfWK4tK1ZeNseb6LtoNIgNF0PVrJQERqXABt29lanoQ4SeJ8RPgppB3xgCwg==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.2.1.tgz", + "integrity": "sha512-ebvNguGQUIRJzFHi8im5lsbNbIFRnPaz6sbb0zFhu/W9/J+k3EWDjtOwtXoV6dnFmlRj7UbTyhMcu5SiWitdVQ==", "cpu": [ "arm" ], @@ -22504,9 +22549,9 @@ } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.0.4.tgz", - "integrity": "sha512-d7gJv/QlaaBKTHpN+DmnQvo1FBNOGfh9b819WMaNXgDLSNpw9CpaOBZPbPgduee3OaGwbfWmll8VDYzUZgKWuw==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.2.1.tgz", + "integrity": "sha512-aVqEZrDnZlqcJCKnrEON2JltdM4VxgHJSkJKLKuUeg3SUTskur7LH9M5KFhRgTo/tW+t2y9EuHDO6O3fAdcsYw==", "cpu": [ "arm64" ], @@ -22520,9 +22565,9 @@ } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.0.4.tgz", - "integrity": "sha512-lQ76O4AtXAQJ6r1MdVDVp4GG+o2vylWFjcyZvZpclhjag+fWKSdO0igL/14HsqNwCPmcPtaHmgqQNlw3MMtL3w==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.2.1.tgz", + "integrity": "sha512-W1g0IZ+4eNizXkUcsucSmXCaYmNj7ODX9L5wtZ8xMlLhdoq+EML8X/IpEPE8qIcYDEDUFgTPXb2zQsHwhgVXPw==", "cpu": [ "arm64" ], @@ -22536,9 +22581,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.0.4.tgz", - "integrity": "sha512-1K95WMdKHM4pMACzsO9m9TWqSXwL5cg9/1UuS9LUKhjY/bX2y3iTtzT0tFBptCVzRVLZG8wAZphxwQfBIQvnCQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.2.1.tgz", + "integrity": "sha512-QKuFatKyDftz16JhmTvsjfjORpA1IqgOPiwnEPyBJ0nq5AqJTqoeXX834PMxCAaEu2y+K866l9OL97+vuYDLyA==", "cpu": [ "x64" ], @@ -22552,9 +22597,9 @@ } }, "node_modules/@nx/nx-linux-x64-musl": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.0.4.tgz", - "integrity": "sha512-iZ+TH/qT2R6nb+bqL8oJDDeUUEJmzYxtacFlf5yLjaiG5nvOxq7cu/lUw/LEqT+BUgK33T7acr3BDC0/q2bFZQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.2.1.tgz", + "integrity": "sha512-J8IwFAfhZ16n1lKb1B7MSDQ7IScF+Y0IFKl48ze3ixD3sMr48KTDKetqqxjel1pNeUchtV5xFsAlWuHpp5s58Q==", "cpu": [ "x64" ], @@ -22568,9 +22613,9 @@ } }, "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.0.4.tgz", - "integrity": "sha512-YiRyGZecH4hIy5shZz8SNX5NwY+dZC3Xs09QlMeLKNhf6klfmjJYNtd+9250V4cjJS3opKYf08uG4x+EtuEB5A==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.2.1.tgz", + "integrity": "sha512-6vmImBTJUr73gPlb70AGKlEoE8ogZCzXaX7me2wE2n6H6ks7FZqHl3X0RxQDPG6rf6TAJB4YLpWLZDNZLWXSYA==", "cpu": [ "arm64" ], @@ -22584,9 +22629,9 @@ } }, "node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.0.4.tgz", - "integrity": "sha512-eHEdPjV0GlblyBM501xfe47tPRzugw2U+YOkZh++Ago9MDOrs/ULS9+RM3NhvZl2WnkpNYDbQMjzbQ0r7rxlTA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.2.1.tgz", + "integrity": "sha512-5whqdjGI8iDGJ7Ojh9y/KRuNX3ltdHRgn+WgQRTr2y3kkNInZ8KrYIYH77uIE0rgxsw/dxwfYWCXWqJFJtx3vA==", "cpu": [ "x64" ], @@ -22600,14 +22645,14 @@ } }, "node_modules/@nx/playwright": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/playwright/-/playwright-19.0.4.tgz", - "integrity": "sha512-wOBXNrvRljLs+pnLvUt1G1FHOGWkWc1ycfPid6++SW9DSw0cFx/KxVONIbAPvF1UbMTmaY0271+uQXOW8O21DA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/playwright/-/playwright-19.2.1.tgz", + "integrity": "sha512-48GeOPOzDaIxHf6uhXTYChrFzNrfgxdHEMgGDS+4K2G4bW81JqBkBKUH6zm1KsatQP8LGIuClvTPiSpaQc4WmA==", "dev": true, "dependencies": { - "@nx/devkit": "19.0.4", - "@nx/eslint": "19.0.4", - "@nx/js": "19.0.4", + "@nx/devkit": "19.2.1", + "@nx/eslint": "19.2.1", + "@nx/js": "19.2.1", "@phenomnomnominal/tsquery": "~5.0.1", "minimatch": "9.0.3", "tslib": "^2.3.0" @@ -22622,54 +22667,54 @@ } }, "node_modules/@nx/plugin": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/plugin/-/plugin-19.2.0.tgz", - "integrity": "sha512-Y9q7hMpAdZJrzdL+Owi4nSSUpqeohvd4smqALPcvxtbAp2zVLaAi9iic3jbUVf3ilZFyTmZ1HxgYGP6/Xxq3Vg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/plugin/-/plugin-19.2.2.tgz", + "integrity": "sha512-843oS/mCLjmnWIAzO96AYSJi8Hcny3zdg/2WYhIzXvNIAZPPtTe4L4ar2dlWG5BALVRidCpJWnv5j04l04NVqg==", "dev": true, "dependencies": { - "@nrwl/nx-plugin": "19.2.0", - "@nx/devkit": "19.2.0", - "@nx/eslint": "19.2.0", - "@nx/jest": "19.2.0", - "@nx/js": "19.2.0", + "@nrwl/nx-plugin": "19.2.2", + "@nx/devkit": "19.2.2", + "@nx/eslint": "19.2.2", + "@nx/jest": "19.2.2", + "@nx/js": "19.2.2", "fs-extra": "^11.1.0", "tslib": "^2.3.0" } }, "node_modules/@nx/plugin/node_modules/@nrwl/devkit": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.2.0.tgz", - "integrity": "sha512-Ew5AJZkLXJwt15HjaIbHve8FOXmZ3HK8KPqTXqwKHX8jQW+fDUCaSXKe/lCZMNg0RvY+jMNecuC86uGdiIbLMg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.2.2.tgz", + "integrity": "sha512-NWB3OAm6/oHaF2h7isUXpK9J2XF097mfaiENHj1GzH9JwjB2YoFaD7v033er6+Hb6FEZtOPZpVH1kEQjVaYJLA==", "dev": true, "dependencies": { - "@nx/devkit": "19.2.0" + "@nx/devkit": "19.2.2" } }, "node_modules/@nx/plugin/node_modules/@nrwl/jest": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-19.2.0.tgz", - "integrity": "sha512-s3qb0AblY+wqPUJFraWP9MYVyv3EA8bbEsMRCuvDDbhoe2nnyd/7PmluyPsWgJVdgbY9Ajgs3ZjuBEfFQ3VV9A==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-19.2.2.tgz", + "integrity": "sha512-Ii8LnmXLnbSpKoOTY/ZJUovWItt/8ZKFuYPwtGdI4U3p0Sqd3odSQzuYgE/wg6GvZYQd/uFVqGqV5N2PlIRWsA==", "dev": true, "dependencies": { - "@nx/jest": "19.2.0" + "@nx/jest": "19.2.2" } }, "node_modules/@nx/plugin/node_modules/@nrwl/js": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.2.0.tgz", - "integrity": "sha512-i6CyQvTP1etmTxjFhUIw/HAtoZCENbhkc7UmAsyCgTX5IJeo0U3YoHsmDI0TE45yu+4x4gcKLqOHs2zqWj7WCw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.2.2.tgz", + "integrity": "sha512-001sl0KpRefw1zHfDpYsucbaPYeLybADX18Mxcq6fgbgPZhsEHn5oZmp56y5t4CpSbTrVVqbXFpoLj70NynVRQ==", "dev": true, "dependencies": { - "@nx/js": "19.2.0" + "@nx/js": "19.2.2" } }, "node_modules/@nx/plugin/node_modules/@nrwl/tao": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.2.0.tgz", - "integrity": "sha512-9AOwbY/E7OlLCFu+6jhJGUIs+qurE2/3Pldooe7cJPqQmSQeJuVZuL6A2xHtbSG7VsXTq5Yj8dVvK1KmT45SIA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.2.2.tgz", + "integrity": "sha512-G/m3EGXf3m9rM2sQQGpRPD40gfaWR6jFVCsZW66/6FXDo1dMUH5/U5JOBnD6vBdug8txKA1ceWHM74NkAB1QEg==", "dev": true, "dependencies": { - "nx": "19.2.0", + "nx": "19.2.2", "tslib": "^2.3.0" }, "bin": { @@ -22677,21 +22722,21 @@ } }, "node_modules/@nx/plugin/node_modules/@nrwl/workspace": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.2.0.tgz", - "integrity": "sha512-/3p9KNpGHgEVjM5aMFhzdp0Vh+Bt16OnlSA+eSKPd5r0eQyLY+T4zTQ1kjyHGYa/xcN8vsWKEnbZW2fD/HWSng==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.2.2.tgz", + "integrity": "sha512-uq3WXANVRY4yFsX7TWx0kZ6D/Tuf/BoBX42+LDI5IWUNV59sRzuwRrD18fBfqR88/hckSXWp8/E08CmKvRHIvg==", "dev": true, "dependencies": { - "@nx/workspace": "19.2.0" + "@nx/workspace": "19.2.2" } }, "node_modules/@nx/plugin/node_modules/@nx/devkit": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.2.0.tgz", - "integrity": "sha512-fK3zRUE2SLp9BUomFiyCuAX2E1yfWYE/hKimniscsvM34/u/xLZYVmmZ0/jfpGPbyaonXKZr2KTb7RimX/hyqg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.2.2.tgz", + "integrity": "sha512-6y+th5m1qVc+B0lXmKb3WRcfwNYD2B/bqGn1HiKLu8g6DDVJFn0mT+a872e4OtvgHyubZQm3HnPfjXobChpRuw==", "dev": true, "dependencies": { - "@nrwl/devkit": "19.2.0", + "@nrwl/devkit": "19.2.2", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -22706,14 +22751,14 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/eslint": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.2.0.tgz", - "integrity": "sha512-9OIMntrLDPrQNZjYxOncIX+65r4RhV2dJ3PrjJ9lwCVqJKZGxfCn6f8JK8ubeLoWFPVjKEtfLTHK529vvfXifQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.2.2.tgz", + "integrity": "sha512-py7esWj3mDZARjukptF6kZj4wmPy//xLVnwUb2n6GiNVqSy1jhhVsv44IJC7UN0+YcItLphmNIBTKNrj3mNU/g==", "dev": true, "dependencies": { - "@nx/devkit": "19.2.0", - "@nx/js": "19.2.0", - "@nx/linter": "19.2.0", + "@nx/devkit": "19.2.2", + "@nx/js": "19.2.2", + "@nx/linter": "19.2.2", "semver": "^7.5.3", "tslib": "^2.3.0", "typescript": "~5.4.2" @@ -22729,16 +22774,16 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/jest": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.2.0.tgz", - "integrity": "sha512-iJMqfwkIB4T7NRYAQe3nZWFEAQGGblMGcxWczMKEixCIZWcAz4up74eb0H6Yv+tUVOQHrFTm6J1OnrW3BqvOZA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.2.2.tgz", + "integrity": "sha512-J65zcSThdVvzyrKhUtBMQb7Z4Jg6M1nN7Y+Pag+Rxb6bGJYRyk6iWfpIRjD0ErP3qOn+uLXiCLMaMYaupOyayg==", "dev": true, "dependencies": { "@jest/reporters": "^29.4.1", "@jest/test-result": "^29.4.1", - "@nrwl/jest": "19.2.0", - "@nx/devkit": "19.2.0", - "@nx/js": "19.2.0", + "@nrwl/jest": "19.2.2", + "@nx/devkit": "19.2.2", + "@nx/js": "19.2.2", "@phenomnomnominal/tsquery": "~5.0.1", "chalk": "^4.1.0", "identity-obj-proxy": "3.0.0", @@ -22752,9 +22797,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/js": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.2.0.tgz", - "integrity": "sha512-cLz1OSfWpm/y0bZtdv5INlCo9/ED9tC45e6OKBc2ClW5Gz2+IoZz/dK/bCXg7dpEBtF1Y9mHihKisPOmUhaLwQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.2.2.tgz", + "integrity": "sha512-eW65g8Qmajcwj63PJIizEGBct1XO6I3z5XG4BSzJHLWMeJLb24uVPk67/aJENnYVXi5dbsQYQubVWYyNIqdGPA==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", @@ -22764,9 +22809,9 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nrwl/js": "19.2.0", - "@nx/devkit": "19.2.0", - "@nx/workspace": "19.2.0", + "@nrwl/js": "19.2.2", + "@nx/devkit": "19.2.2", + "@nx/workspace": "19.2.2", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^2.8.0", "babel-plugin-transform-typescript-metadata": "^0.3.1", @@ -22797,18 +22842,18 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/linter": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.2.0.tgz", - "integrity": "sha512-Rahjy3+OLc4aXT8VNXpwyMozeU4RB6HIQOh5NAdcA6PoOH8cG1VtbyjryIZE8l5HT1hrpI5EkONZt1UXiIGw3w==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.2.2.tgz", + "integrity": "sha512-Q7H/Y6W3Xc+Yej1oih6LrBhbL5zSui+eNac6RvKBhj23muQlMwbuQ96bEjm3E4ti2sm0/ldF5Uc8/E4AvkK8qQ==", "dev": true, "dependencies": { - "@nx/eslint": "19.2.0" + "@nx/eslint": "19.2.2" } }, "node_modules/@nx/plugin/node_modules/@nx/nx-darwin-arm64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.2.0.tgz", - "integrity": "sha512-W+OpGyzr10oaycf4atPc5uH2wN1G6LJGHkWDN3LGSQhoDWuj13idFpjSy6rJ8WxtL8kIvPXq78GEi1yAADsakA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.2.2.tgz", + "integrity": "sha512-AgvsZ0iDA0rklH0TqOIiTrbJysn7WfFFzhLYd1JnxS2Z3GAFPRoE6TxRSSqpTBmFqskrZhZyrjHllOoBD5odFQ==", "cpu": [ "arm64" ], @@ -22822,9 +22867,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-darwin-x64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.2.0.tgz", - "integrity": "sha512-4l1BDn29R0ugf7ATcGcZGEwK0frZSCtiyXnX3JFq55dNS4Bv3FiZLew7JULjdumXEXr773bH326FQlocLVlcXg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.2.2.tgz", + "integrity": "sha512-YPd9Kmn5/YPYolBVYoficQmp8LFTe/PAI3dQ3NebOGFYw49PFmV0cdB8+4m0q70WCBMwyqo1x6a6MO9CvENkTg==", "cpu": [ "x64" ], @@ -22838,9 +22883,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-freebsd-x64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.2.0.tgz", - "integrity": "sha512-9zdwLRSkEg/H7bbIVWATn0H8QNgnHaTe23tciZPaBr95J6CXVJWWpC4wn9duURhvbscnqUSSSfKK1f+MSEDTbw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.2.2.tgz", + "integrity": "sha512-43hMzFmYyi0aEiGa/VNXChzotL6nFG9hLSZhtpXAO6qyibSqKwlU5PjNyly/7y5gUGl7YfmdpwWwlOIYPSQoVw==", "cpu": [ "x64" ], @@ -22854,9 +22899,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.2.0.tgz", - "integrity": "sha512-KNVnqRPegJza3kU4q3pY8m0pT8OSQZnLGsDZti6morhXh2sE79f/zeevOrbhf8JnaJfQtyrXfGvjYAiL3+I8bw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.2.2.tgz", + "integrity": "sha512-locP8QQWI4NFb7kVe8Fflkpdnf9kw5o/WMROILJLFWlTy59K+NBQkpxRIhoUghJ6yckDxk1Kf2kmvV+xuX4f8Q==", "cpu": [ "arm" ], @@ -22870,9 +22915,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.2.0.tgz", - "integrity": "sha512-UXIl90l+cDecU17OOLlI+uzbjzQucnNu4Mee67EqE3TyfpSvuU1l3FWZ9sbE0effp8IwKpbL7Gt5KirJKtWzIA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.2.2.tgz", + "integrity": "sha512-uQUZs+56yplEjokgCC3Pv/nUr4v+/bCurc1v/juUH4byqCdvi+Cny7jqws49UELS+QkcTkWGBtajvf8U3JZEbQ==", "cpu": [ "arm64" ], @@ -22886,9 +22931,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.2.0.tgz", - "integrity": "sha512-4Z8XO3WljS2GWOL2SQ1p8SRNn2Kn6FU1FWClh7KBzMtpzjsHdmOXenMP9UOGZ6gBnfBIknCEDjE3uJUHmuShGg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.2.2.tgz", + "integrity": "sha512-rU6l18ubh0Chv7lkxshgm6o4IKduB+jztUBRR4SuOuTOLJ6okm51AqzdY+vy7esicEL3HnHWSJP/U5PwoAaNsA==", "cpu": [ "arm64" ], @@ -22902,9 +22947,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.2.0.tgz", - "integrity": "sha512-EwAkZEp0KB99VEPTskW2feCpSKqWScKdRd6UaIM9Vmqqtb5hSk6yR6p0mprjytbDtFVoKQJMOFa35qe+2R8mKQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.2.2.tgz", + "integrity": "sha512-rvGP3p0qmzHJu8cUcYnRDyJ1BkVExgmsWmtzyQrHl48+hvNrq805NrP3gTreOxqymRlBEXg7c22fRECI1CV1lA==", "cpu": [ "x64" ], @@ -22918,9 +22963,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-linux-x64-musl": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.2.0.tgz", - "integrity": "sha512-LbFcHe83YZUS/my/8nBxQ2i3JWakcXd7zbzZ0cSAQk6DuJVCUk8PLdgZzhrVcmT82Pv7H0fM/4jgEl+oHGoc/g==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.2.2.tgz", + "integrity": "sha512-86pfT+z6SWKlJUoRy7MOMjRhrCPgSnAxbcH7jYCkqhokbCIDIv2IFWqMf0zdUqa8HqjRo13X6Jd6PhNYzWwJzw==", "cpu": [ "x64" ], @@ -22934,9 +22979,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.2.0.tgz", - "integrity": "sha512-BxOveRfRCdhuCs2GWbsdzGsjtLC3N+MuUlVaXSWADksF6/QKuCHM/2Kq3RYkLVVtlls6NCBp410RSx/XsbSEug==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.2.2.tgz", + "integrity": "sha512-kJ3G0+nyAgBr5RTkNceC9zl2pekFEu0ec6ceLJ0tfcTwil76Ce3Xnlr0CFFNsre4T1v2RfFIDJL3EaRUXYep0w==", "cpu": [ "arm64" ], @@ -22950,9 +22995,9 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.2.0.tgz", - "integrity": "sha512-QiDxtOHIiRka9Bz7tSpBvQgQPrX5grLhoz6miD6LX1WjO56bZIkEAVefGnMc3WZ1PacS1ZECtymHwUy+WpEqAQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.2.2.tgz", + "integrity": "sha512-9KKGYFgWfc4jHzHjnIp+DJt750NyG1kA4Q+DWf/UcFA5917UWuAw9rribFPRsqYkcwbu++Uajw5bI5yMLP7ThA==", "cpu": [ "x64" ], @@ -22966,16 +23011,16 @@ } }, "node_modules/@nx/plugin/node_modules/@nx/workspace": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.2.0.tgz", - "integrity": "sha512-0wdv8jrGIGcf/ZF4r2/xWz/jrQjwftgLPmh7BawYPFbDZlRXkzb7a4MTJOxXH8QcR3ZJNhRjkFfHRPbB0luf1A==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.2.2.tgz", + "integrity": "sha512-dD4H/TMZ1RsYe/UJMYh8yGoQ/HCH5qt8686L/o2T7GVPtAUc0a0ldwsmCTr4Y+pxX79ppK/M8W51UHFNLhjR6w==", "dev": true, "dependencies": { - "@nrwl/workspace": "19.2.0", - "@nx/devkit": "19.2.0", + "@nrwl/workspace": "19.2.2", + "@nx/devkit": "19.2.2", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "19.2.0", + "nx": "19.2.2", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } @@ -23175,13 +23220,13 @@ } }, "node_modules/@nx/plugin/node_modules/nx": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.2.0.tgz", - "integrity": "sha512-IewqV0eGOpp569TSjfQVIQODxkRYKSDTP0e0j20GKkMTvCAmdbJRYZxyTr6Aw6gSM7lEVgK/4yESRO5YidfV2Q==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.2.2.tgz", + "integrity": "sha512-Tg3REVykwKmVBCsroeCE/KhHAJx3e/m0FgNZWXJhn3EEh01qhdsVfWpM/ecawin73or7YcvB/99S8vVPU1nczg==", "dev": true, "hasInstallScript": true, "dependencies": { - "@nrwl/tao": "19.2.0", + "@nrwl/tao": "19.2.2", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.7", @@ -23221,16 +23266,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.2.0", - "@nx/nx-darwin-x64": "19.2.0", - "@nx/nx-freebsd-x64": "19.2.0", - "@nx/nx-linux-arm-gnueabihf": "19.2.0", - "@nx/nx-linux-arm64-gnu": "19.2.0", - "@nx/nx-linux-arm64-musl": "19.2.0", - "@nx/nx-linux-x64-gnu": "19.2.0", - "@nx/nx-linux-x64-musl": "19.2.0", - "@nx/nx-win32-arm64-msvc": "19.2.0", - "@nx/nx-win32-x64-msvc": "19.2.0" + "@nx/nx-darwin-arm64": "19.2.2", + "@nx/nx-darwin-x64": "19.2.2", + "@nx/nx-freebsd-x64": "19.2.2", + "@nx/nx-linux-arm-gnueabihf": "19.2.2", + "@nx/nx-linux-arm64-gnu": "19.2.2", + "@nx/nx-linux-arm64-musl": "19.2.2", + "@nx/nx-linux-x64-gnu": "19.2.2", + "@nx/nx-linux-x64-musl": "19.2.2", + "@nx/nx-win32-arm64-msvc": "19.2.2", + "@nx/nx-win32-x64-msvc": "19.2.2" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -23371,16 +23416,16 @@ } }, "node_modules/@nx/react": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/react/-/react-19.0.4.tgz", - "integrity": "sha512-3m5/QwE7a+r1bimWl9q+PMgf8/FHrVFoYeO5McEPNWEzofLUv/2eXZj2UFvoO4A1cNPpO6zw9AEkTPAi/g00SQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/react/-/react-19.2.1.tgz", + "integrity": "sha512-949gilKQHvsn7aNBpmp3VpQcj16ua7+J6KUhgPoSV/epSAVtMg2P/0YhC6mzMccXT/dz03hVZyeeWHffwjKTNg==", "dev": true, "dependencies": { - "@nrwl/react": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/eslint": "19.0.4", - "@nx/js": "19.0.4", - "@nx/web": "19.0.4", + "@nrwl/react": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/eslint": "19.2.1", + "@nx/js": "19.2.1", + "@nx/web": "19.2.1", "@phenomnomnominal/tsquery": "~5.0.1", "@svgr/webpack": "^8.0.1", "chalk": "^4.1.0", @@ -23433,14 +23478,14 @@ } }, "node_modules/@nx/rollup": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/rollup/-/rollup-19.0.4.tgz", - "integrity": "sha512-jFCr5H67BXtUHp+5+cggZSKgSpHVQi6eXBzmmfWIHUzgoeQqkXzne2ANALqpBqv1T7EePRfw/tx1pOQQefCaOQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/rollup/-/rollup-19.2.1.tgz", + "integrity": "sha512-FhoWuNBqH8gSsh7EoZFwaQcY4CwxfK8RsJa9xlrTkComjc59Z4gq1XTWhRSIzOomvBvRbmgUG44W1v9JD+NPMg==", "dev": true, "dependencies": { - "@nrwl/rollup": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/rollup": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/js": "19.2.1", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-image": "^3.0.3", @@ -23449,7 +23494,7 @@ "autoprefixer": "^10.4.9", "babel-plugin-transform-async-to-promises": "^0.8.15", "chalk": "^4.1.0", - "postcss": "^8.4.14", + "postcss": "^8.4.38", "rollup": "^4.14.0", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-postcss": "^4.0.2", @@ -23501,16 +23546,16 @@ } }, "node_modules/@nx/storybook": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/storybook/-/storybook-19.0.4.tgz", - "integrity": "sha512-bNkVuBXuyVkg21X6JB7TiHGzemSczBDCqRLD7zbKyX3PVRqxd97A7W0Hz3GQMX6moZs4ImcLn/Vc86oJ1p4CKA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/storybook/-/storybook-19.2.1.tgz", + "integrity": "sha512-cV2j7FUyX2L/HMbt3mqRhRibNtOGruev3HXYDcVYnBnr4OdHCPkGFZ2QsnrWBSzvlbtjRMgnthDHlACXy0uQFw==", "dev": true, "dependencies": { - "@nrwl/storybook": "19.0.4", - "@nx/cypress": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/eslint": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/storybook": "19.2.1", + "@nx/cypress": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/eslint": "19.2.1", + "@nx/js": "19.2.1", "@phenomnomnominal/tsquery": "~5.0.1", "semver": "^7.5.3", "tslib": "^2.3.0" @@ -23529,14 +23574,14 @@ } }, "node_modules/@nx/vite": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-19.0.4.tgz", - "integrity": "sha512-E/yRX4QLlJhoJjcep5kprtpBNv2xmldDjrZem59G+h2K8Cf1kxoDJU2nOH6okO8nCrmOc/HFG8NDNq94xAo6ZA==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-19.2.1.tgz", + "integrity": "sha512-/BBuA1HdKE7EpnVOrvtXSadstXKZvQfVJJwUNHhtgtzQ2SDJKmPknz/GTZgDHPYDU66I9A3ryXhspQy1vZvuvA==", "dev": true, "dependencies": { - "@nrwl/vite": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/vite": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/js": "19.2.1", "@phenomnomnominal/tsquery": "~5.0.1", "@swc/helpers": "~0.5.0", "enquirer": "~2.3.6", @@ -23548,45 +23593,45 @@ } }, "node_modules/@nx/vue": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/vue/-/vue-19.2.0.tgz", - "integrity": "sha512-pa2K9RJ4nIkmBVijj/AV9NJQpsdYxq2Mnav+EI+ZZNOoK9OkGUPKyk2utYsIJ1O+yoRPe3S8wAvpX0AqnCDZMg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/vue/-/vue-19.2.2.tgz", + "integrity": "sha512-LZIzZH3BOOMoHBgLsYN3lCyoW4j8naAZO87MNxscnVTlJPH59gRq2Rubn62FEn4dWCR75eVS2yK9pMsyOwFEXw==", "dev": true, "dependencies": { - "@nx/devkit": "19.2.0", - "@nx/eslint": "19.2.0", - "@nx/js": "19.2.0", - "@nx/vite": "19.2.0", - "@nx/web": "19.2.0", + "@nx/devkit": "19.2.2", + "@nx/eslint": "19.2.2", + "@nx/js": "19.2.2", + "@nx/vite": "19.2.2", + "@nx/web": "19.2.2", "minimatch": "9.0.3", "tslib": "^2.3.0" } }, "node_modules/@nx/vue/node_modules/@nrwl/devkit": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.2.0.tgz", - "integrity": "sha512-Ew5AJZkLXJwt15HjaIbHve8FOXmZ3HK8KPqTXqwKHX8jQW+fDUCaSXKe/lCZMNg0RvY+jMNecuC86uGdiIbLMg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.2.2.tgz", + "integrity": "sha512-NWB3OAm6/oHaF2h7isUXpK9J2XF097mfaiENHj1GzH9JwjB2YoFaD7v033er6+Hb6FEZtOPZpVH1kEQjVaYJLA==", "dev": true, "dependencies": { - "@nx/devkit": "19.2.0" + "@nx/devkit": "19.2.2" } }, "node_modules/@nx/vue/node_modules/@nrwl/js": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.2.0.tgz", - "integrity": "sha512-i6CyQvTP1etmTxjFhUIw/HAtoZCENbhkc7UmAsyCgTX5IJeo0U3YoHsmDI0TE45yu+4x4gcKLqOHs2zqWj7WCw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.2.2.tgz", + "integrity": "sha512-001sl0KpRefw1zHfDpYsucbaPYeLybADX18Mxcq6fgbgPZhsEHn5oZmp56y5t4CpSbTrVVqbXFpoLj70NynVRQ==", "dev": true, "dependencies": { - "@nx/js": "19.2.0" + "@nx/js": "19.2.2" } }, "node_modules/@nx/vue/node_modules/@nrwl/tao": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.2.0.tgz", - "integrity": "sha512-9AOwbY/E7OlLCFu+6jhJGUIs+qurE2/3Pldooe7cJPqQmSQeJuVZuL6A2xHtbSG7VsXTq5Yj8dVvK1KmT45SIA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.2.2.tgz", + "integrity": "sha512-G/m3EGXf3m9rM2sQQGpRPD40gfaWR6jFVCsZW66/6FXDo1dMUH5/U5JOBnD6vBdug8txKA1ceWHM74NkAB1QEg==", "dev": true, "dependencies": { - "nx": "19.2.0", + "nx": "19.2.2", "tslib": "^2.3.0" }, "bin": { @@ -23594,39 +23639,39 @@ } }, "node_modules/@nx/vue/node_modules/@nrwl/vite": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-19.2.0.tgz", - "integrity": "sha512-ZKXKibRv4gNVZKGvjTerpXL5x5sCGrZZPNtwKXApFVa9+SEaGzHvWAIy0EBXrBXpOOeR6H6GQp5MFtWBAdpEOg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-19.2.2.tgz", + "integrity": "sha512-dsOLmSNeBqEX1SzFzyn0p+9rzsfZekCSJILorqixfRzE8slFEHP1NKa2HbsL16x5q5HaS67vY1mZmmy07vvgBQ==", "dev": true, "dependencies": { - "@nx/vite": "19.2.0" + "@nx/vite": "19.2.2" } }, "node_modules/@nx/vue/node_modules/@nrwl/web": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-19.2.0.tgz", - "integrity": "sha512-s6fEyic1cCwZAoKxZ64RMdCfG2jQGZC/FTyO4J7a8iB8oRD8mRLw0lWamXIcW10O0KPrE0zO63+kpjfKJ/ZK+w==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-19.2.2.tgz", + "integrity": "sha512-+AnY/OCjZbHl9u8hNm0KYLCViR7TMRGoNTUwiKgur+1ib2TPvW4BP50YS/7aUVNs+BgdWB006rUCSFouQQw1Ig==", "dev": true, "dependencies": { - "@nx/web": "19.2.0" + "@nx/web": "19.2.2" } }, "node_modules/@nx/vue/node_modules/@nrwl/workspace": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.2.0.tgz", - "integrity": "sha512-/3p9KNpGHgEVjM5aMFhzdp0Vh+Bt16OnlSA+eSKPd5r0eQyLY+T4zTQ1kjyHGYa/xcN8vsWKEnbZW2fD/HWSng==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.2.2.tgz", + "integrity": "sha512-uq3WXANVRY4yFsX7TWx0kZ6D/Tuf/BoBX42+LDI5IWUNV59sRzuwRrD18fBfqR88/hckSXWp8/E08CmKvRHIvg==", "dev": true, "dependencies": { - "@nx/workspace": "19.2.0" + "@nx/workspace": "19.2.2" } }, "node_modules/@nx/vue/node_modules/@nx/devkit": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.2.0.tgz", - "integrity": "sha512-fK3zRUE2SLp9BUomFiyCuAX2E1yfWYE/hKimniscsvM34/u/xLZYVmmZ0/jfpGPbyaonXKZr2KTb7RimX/hyqg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.2.2.tgz", + "integrity": "sha512-6y+th5m1qVc+B0lXmKb3WRcfwNYD2B/bqGn1HiKLu8g6DDVJFn0mT+a872e4OtvgHyubZQm3HnPfjXobChpRuw==", "dev": true, "dependencies": { - "@nrwl/devkit": "19.2.0", + "@nrwl/devkit": "19.2.2", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -23641,14 +23686,14 @@ } }, "node_modules/@nx/vue/node_modules/@nx/eslint": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.2.0.tgz", - "integrity": "sha512-9OIMntrLDPrQNZjYxOncIX+65r4RhV2dJ3PrjJ9lwCVqJKZGxfCn6f8JK8ubeLoWFPVjKEtfLTHK529vvfXifQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.2.2.tgz", + "integrity": "sha512-py7esWj3mDZARjukptF6kZj4wmPy//xLVnwUb2n6GiNVqSy1jhhVsv44IJC7UN0+YcItLphmNIBTKNrj3mNU/g==", "dev": true, "dependencies": { - "@nx/devkit": "19.2.0", - "@nx/js": "19.2.0", - "@nx/linter": "19.2.0", + "@nx/devkit": "19.2.2", + "@nx/js": "19.2.2", + "@nx/linter": "19.2.2", "semver": "^7.5.3", "tslib": "^2.3.0", "typescript": "~5.4.2" @@ -23664,9 +23709,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/js": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.2.0.tgz", - "integrity": "sha512-cLz1OSfWpm/y0bZtdv5INlCo9/ED9tC45e6OKBc2ClW5Gz2+IoZz/dK/bCXg7dpEBtF1Y9mHihKisPOmUhaLwQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.2.2.tgz", + "integrity": "sha512-eW65g8Qmajcwj63PJIizEGBct1XO6I3z5XG4BSzJHLWMeJLb24uVPk67/aJENnYVXi5dbsQYQubVWYyNIqdGPA==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", @@ -23676,9 +23721,9 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nrwl/js": "19.2.0", - "@nx/devkit": "19.2.0", - "@nx/workspace": "19.2.0", + "@nrwl/js": "19.2.2", + "@nx/devkit": "19.2.2", + "@nx/workspace": "19.2.2", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^2.8.0", "babel-plugin-transform-typescript-metadata": "^0.3.1", @@ -23709,18 +23754,18 @@ } }, "node_modules/@nx/vue/node_modules/@nx/linter": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.2.0.tgz", - "integrity": "sha512-Rahjy3+OLc4aXT8VNXpwyMozeU4RB6HIQOh5NAdcA6PoOH8cG1VtbyjryIZE8l5HT1hrpI5EkONZt1UXiIGw3w==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.2.2.tgz", + "integrity": "sha512-Q7H/Y6W3Xc+Yej1oih6LrBhbL5zSui+eNac6RvKBhj23muQlMwbuQ96bEjm3E4ti2sm0/ldF5Uc8/E4AvkK8qQ==", "dev": true, "dependencies": { - "@nx/eslint": "19.2.0" + "@nx/eslint": "19.2.2" } }, "node_modules/@nx/vue/node_modules/@nx/nx-darwin-arm64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.2.0.tgz", - "integrity": "sha512-W+OpGyzr10oaycf4atPc5uH2wN1G6LJGHkWDN3LGSQhoDWuj13idFpjSy6rJ8WxtL8kIvPXq78GEi1yAADsakA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.2.2.tgz", + "integrity": "sha512-AgvsZ0iDA0rklH0TqOIiTrbJysn7WfFFzhLYd1JnxS2Z3GAFPRoE6TxRSSqpTBmFqskrZhZyrjHllOoBD5odFQ==", "cpu": [ "arm64" ], @@ -23734,9 +23779,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-darwin-x64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.2.0.tgz", - "integrity": "sha512-4l1BDn29R0ugf7ATcGcZGEwK0frZSCtiyXnX3JFq55dNS4Bv3FiZLew7JULjdumXEXr773bH326FQlocLVlcXg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.2.2.tgz", + "integrity": "sha512-YPd9Kmn5/YPYolBVYoficQmp8LFTe/PAI3dQ3NebOGFYw49PFmV0cdB8+4m0q70WCBMwyqo1x6a6MO9CvENkTg==", "cpu": [ "x64" ], @@ -23750,9 +23795,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-freebsd-x64": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.2.0.tgz", - "integrity": "sha512-9zdwLRSkEg/H7bbIVWATn0H8QNgnHaTe23tciZPaBr95J6CXVJWWpC4wn9duURhvbscnqUSSSfKK1f+MSEDTbw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.2.2.tgz", + "integrity": "sha512-43hMzFmYyi0aEiGa/VNXChzotL6nFG9hLSZhtpXAO6qyibSqKwlU5PjNyly/7y5gUGl7YfmdpwWwlOIYPSQoVw==", "cpu": [ "x64" ], @@ -23766,9 +23811,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.2.0.tgz", - "integrity": "sha512-KNVnqRPegJza3kU4q3pY8m0pT8OSQZnLGsDZti6morhXh2sE79f/zeevOrbhf8JnaJfQtyrXfGvjYAiL3+I8bw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.2.2.tgz", + "integrity": "sha512-locP8QQWI4NFb7kVe8Fflkpdnf9kw5o/WMROILJLFWlTy59K+NBQkpxRIhoUghJ6yckDxk1Kf2kmvV+xuX4f8Q==", "cpu": [ "arm" ], @@ -23782,9 +23827,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.2.0.tgz", - "integrity": "sha512-UXIl90l+cDecU17OOLlI+uzbjzQucnNu4Mee67EqE3TyfpSvuU1l3FWZ9sbE0effp8IwKpbL7Gt5KirJKtWzIA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.2.2.tgz", + "integrity": "sha512-uQUZs+56yplEjokgCC3Pv/nUr4v+/bCurc1v/juUH4byqCdvi+Cny7jqws49UELS+QkcTkWGBtajvf8U3JZEbQ==", "cpu": [ "arm64" ], @@ -23798,9 +23843,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.2.0.tgz", - "integrity": "sha512-4Z8XO3WljS2GWOL2SQ1p8SRNn2Kn6FU1FWClh7KBzMtpzjsHdmOXenMP9UOGZ6gBnfBIknCEDjE3uJUHmuShGg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.2.2.tgz", + "integrity": "sha512-rU6l18ubh0Chv7lkxshgm6o4IKduB+jztUBRR4SuOuTOLJ6okm51AqzdY+vy7esicEL3HnHWSJP/U5PwoAaNsA==", "cpu": [ "arm64" ], @@ -23814,9 +23859,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.2.0.tgz", - "integrity": "sha512-EwAkZEp0KB99VEPTskW2feCpSKqWScKdRd6UaIM9Vmqqtb5hSk6yR6p0mprjytbDtFVoKQJMOFa35qe+2R8mKQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.2.2.tgz", + "integrity": "sha512-rvGP3p0qmzHJu8cUcYnRDyJ1BkVExgmsWmtzyQrHl48+hvNrq805NrP3gTreOxqymRlBEXg7c22fRECI1CV1lA==", "cpu": [ "x64" ], @@ -23830,9 +23875,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-linux-x64-musl": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.2.0.tgz", - "integrity": "sha512-LbFcHe83YZUS/my/8nBxQ2i3JWakcXd7zbzZ0cSAQk6DuJVCUk8PLdgZzhrVcmT82Pv7H0fM/4jgEl+oHGoc/g==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.2.2.tgz", + "integrity": "sha512-86pfT+z6SWKlJUoRy7MOMjRhrCPgSnAxbcH7jYCkqhokbCIDIv2IFWqMf0zdUqa8HqjRo13X6Jd6PhNYzWwJzw==", "cpu": [ "x64" ], @@ -23846,9 +23891,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.2.0.tgz", - "integrity": "sha512-BxOveRfRCdhuCs2GWbsdzGsjtLC3N+MuUlVaXSWADksF6/QKuCHM/2Kq3RYkLVVtlls6NCBp410RSx/XsbSEug==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.2.2.tgz", + "integrity": "sha512-kJ3G0+nyAgBr5RTkNceC9zl2pekFEu0ec6ceLJ0tfcTwil76Ce3Xnlr0CFFNsre4T1v2RfFIDJL3EaRUXYep0w==", "cpu": [ "arm64" ], @@ -23862,9 +23907,9 @@ } }, "node_modules/@nx/vue/node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.2.0.tgz", - "integrity": "sha512-QiDxtOHIiRka9Bz7tSpBvQgQPrX5grLhoz6miD6LX1WjO56bZIkEAVefGnMc3WZ1PacS1ZECtymHwUy+WpEqAQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.2.2.tgz", + "integrity": "sha512-9KKGYFgWfc4jHzHjnIp+DJt750NyG1kA4Q+DWf/UcFA5917UWuAw9rribFPRsqYkcwbu++Uajw5bI5yMLP7ThA==", "cpu": [ "x64" ], @@ -23878,14 +23923,14 @@ } }, "node_modules/@nx/vue/node_modules/@nx/vite": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-19.2.0.tgz", - "integrity": "sha512-bO0sPMZSu5fVJMsRB6UUEOdC3ilkBUAJh2L+5ldq01yLPGp73CL2IJBa4MXdQjPUJ1q8osVuIAyN3gIJV05NVQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-19.2.2.tgz", + "integrity": "sha512-Vwh75Yz+5vfgdfwgydwfEPMgMhPQqq7g1AUYf+Ji/ei5pFNPSDinosSHG+msK1kiaaXZt5VJRcUmSPsarjj+kg==", "dev": true, "dependencies": { - "@nrwl/vite": "19.2.0", - "@nx/devkit": "19.2.0", - "@nx/js": "19.2.0", + "@nrwl/vite": "19.2.2", + "@nx/devkit": "19.2.2", + "@nx/js": "19.2.2", "@phenomnomnominal/tsquery": "~5.0.1", "@swc/helpers": "~0.5.0", "enquirer": "~2.3.6", @@ -23897,14 +23942,14 @@ } }, "node_modules/@nx/vue/node_modules/@nx/web": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.2.0.tgz", - "integrity": "sha512-iMRwDjkU7GfJql4wT6pGCimFoHYV/2bQuI/N9b9T3NEL9sk5tlMqlik6bbSGtje8XoUAbxaQrTpr9pJeaUPYwg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.2.2.tgz", + "integrity": "sha512-vILTBqXYOvjq2aXL5bHuNtYycQYFS4+geMhVYo3/qo8vz9ZLgc9cJlwLch4UglOpzpR1mWC5USNpILCtWiWV5Q==", "dev": true, "dependencies": { - "@nrwl/web": "19.2.0", - "@nx/devkit": "19.2.0", - "@nx/js": "19.2.0", + "@nrwl/web": "19.2.2", + "@nx/devkit": "19.2.2", + "@nx/js": "19.2.2", "chalk": "^4.1.0", "detect-port": "^1.5.1", "http-server": "^14.1.0", @@ -23912,16 +23957,16 @@ } }, "node_modules/@nx/vue/node_modules/@nx/workspace": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.2.0.tgz", - "integrity": "sha512-0wdv8jrGIGcf/ZF4r2/xWz/jrQjwftgLPmh7BawYPFbDZlRXkzb7a4MTJOxXH8QcR3ZJNhRjkFfHRPbB0luf1A==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.2.2.tgz", + "integrity": "sha512-dD4H/TMZ1RsYe/UJMYh8yGoQ/HCH5qt8686L/o2T7GVPtAUc0a0ldwsmCTr4Y+pxX79ppK/M8W51UHFNLhjR6w==", "dev": true, "dependencies": { - "@nrwl/workspace": "19.2.0", - "@nx/devkit": "19.2.0", + "@nrwl/workspace": "19.2.2", + "@nx/devkit": "19.2.2", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "19.2.0", + "nx": "19.2.2", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } @@ -24121,13 +24166,13 @@ } }, "node_modules/@nx/vue/node_modules/nx": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.2.0.tgz", - "integrity": "sha512-IewqV0eGOpp569TSjfQVIQODxkRYKSDTP0e0j20GKkMTvCAmdbJRYZxyTr6Aw6gSM7lEVgK/4yESRO5YidfV2Q==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.2.2.tgz", + "integrity": "sha512-Tg3REVykwKmVBCsroeCE/KhHAJx3e/m0FgNZWXJhn3EEh01qhdsVfWpM/ecawin73or7YcvB/99S8vVPU1nczg==", "dev": true, "hasInstallScript": true, "dependencies": { - "@nrwl/tao": "19.2.0", + "@nrwl/tao": "19.2.2", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.7", @@ -24167,16 +24212,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.2.0", - "@nx/nx-darwin-x64": "19.2.0", - "@nx/nx-freebsd-x64": "19.2.0", - "@nx/nx-linux-arm-gnueabihf": "19.2.0", - "@nx/nx-linux-arm64-gnu": "19.2.0", - "@nx/nx-linux-arm64-musl": "19.2.0", - "@nx/nx-linux-x64-gnu": "19.2.0", - "@nx/nx-linux-x64-musl": "19.2.0", - "@nx/nx-win32-arm64-msvc": "19.2.0", - "@nx/nx-win32-x64-msvc": "19.2.0" + "@nx/nx-darwin-arm64": "19.2.2", + "@nx/nx-darwin-x64": "19.2.2", + "@nx/nx-freebsd-x64": "19.2.2", + "@nx/nx-linux-arm-gnueabihf": "19.2.2", + "@nx/nx-linux-arm64-gnu": "19.2.2", + "@nx/nx-linux-arm64-musl": "19.2.2", + "@nx/nx-linux-x64-gnu": "19.2.2", + "@nx/nx-linux-x64-musl": "19.2.2", + "@nx/nx-win32-arm64-msvc": "19.2.2", + "@nx/nx-win32-x64-msvc": "19.2.2" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -24317,14 +24362,14 @@ } }, "node_modules/@nx/web": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.0.4.tgz", - "integrity": "sha512-Mtkb6V0LC3cIyurDCN58HnD03zJBi7JczdVmsyZULLyqJiM4cVmt+k4Gd/ss0EzrLW5sSh+2+HT5qgb1r656oQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.2.1.tgz", + "integrity": "sha512-GXvy36W07R9GKALB6r2nsmBSEk3T0SrBnTi3beZMmSj8L/58Be+e4/I9GG8+gY1HclDN6s815jI7SGIBoSa94Q==", "dev": true, "dependencies": { - "@nrwl/web": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/web": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/js": "19.2.1", "chalk": "^4.1.0", "detect-port": "^1.5.1", "http-server": "^14.1.0", @@ -24375,15 +24420,15 @@ } }, "node_modules/@nx/webpack": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-19.0.4.tgz", - "integrity": "sha512-g7twcNFkCjo4nWINxuvjcmQvgujB4+KmthuL9KxhQR7CBfqOP3Nx8KL638WPR4lW6YHLE8N7yWNFrEr0bGoFFQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-19.2.1.tgz", + "integrity": "sha512-Lm3DCz6cVfytnw12kt3Dxewn8l896qNoD7OiYGZOIkXp2lIWLWbC/QaCw7wjBxGgf8/cN3tswlr1ibx52H94PQ==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", - "@nrwl/webpack": "19.0.4", - "@nx/devkit": "19.0.4", - "@nx/js": "19.0.4", + "@nrwl/webpack": "19.2.1", + "@nx/devkit": "19.2.1", + "@nx/js": "19.2.1", "ajv": "^8.12.0", "autoprefixer": "^10.4.9", "babel-loader": "^9.1.2", @@ -24399,7 +24444,7 @@ "loader-utils": "^2.0.3", "mini-css-extract-plugin": "~2.4.7", "parse5": "4.0.0", - "postcss": "^8.4.14", + "postcss": "^8.4.38", "postcss-import": "~14.1.0", "postcss-loader": "^6.1.1", "rxjs": "^7.8.0", @@ -25192,16 +25237,16 @@ } }, "node_modules/@nx/workspace": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.0.4.tgz", - "integrity": "sha512-45dTDjeRDjfKG66h7E8PM13LXjnfUaTxDwYT9AqV90Uqw1EnGXte+KBNoG0IZsD3yoPpqTUIdZssl0twnVBlvQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.2.1.tgz", + "integrity": "sha512-+V0joRxPTI8/ghoCTFMhRG6bNJ0PwiaBYArA6YeSaWUJGtaWBN2WoMjs/zuEM43W3lWmvEpqjSTyUHoRH5HUiQ==", "dev": true, "dependencies": { - "@nrwl/workspace": "19.0.4", - "@nx/devkit": "19.0.4", + "@nrwl/workspace": "19.2.1", + "@nx/devkit": "19.2.1", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "19.0.4", + "nx": "19.2.1", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } @@ -48822,6 +48867,11 @@ "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz", "integrity": "sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg==" }, + "node_modules/buffer-peek-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-peek-stream/-/buffer-peek-stream-1.1.0.tgz", + "integrity": "sha512-b3MXlJ52rPOL5xCAQsiCOy/tY9WXOP/hwATporJriUDxnT3MjJgVppDzTFegpg2Nw7NMS28MKC6IKvaXLnGr+Q==" + }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -52920,8 +52970,7 @@ "node_modules/csv-parse": { "version": "5.5.6", "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.6.tgz", - "integrity": "sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A==", - "dev": true + "integrity": "sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A==" }, "node_modules/culori": { "version": "3.3.0", @@ -79660,6 +79709,18 @@ "node": ">=0.4.0" } }, + "node_modules/mmmagic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mmmagic/-/mmmagic-0.5.3.tgz", + "integrity": "sha512-xLqCu7GJYTzJczg0jafXFuh+iPzQL/ru0YYf4GiTTz8Cehru/wiXtUS8Pp8Xi77zNaiVndJ0OO1yAFci6iHyFg==", + "hasInstallScript": true, + "dependencies": { + "nan": "^2.13.2" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/mnemonist": { "version": "0.39.6", "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.39.6.tgz", @@ -80420,8 +80481,7 @@ "node_modules/nan": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", - "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", - "optional": true + "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==" }, "node_modules/nano-time": { "version": "1.0.0", @@ -87315,16 +87375,16 @@ "dev": true }, "node_modules/nx": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.0.4.tgz", - "integrity": "sha512-E+wkP3H+23Vu9jso6Xw7cbXPzy2PMyrPukrEUDWkQrr/eCqf0Npkj5zky1/lKFSBaLtNYgsFD21co+b4rwxtdw==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.2.1.tgz", + "integrity": "sha512-AtfcCiCFCoCzpEjNItZfseCxiSNOlyxDb1nLVN5jSoy+uTcPCtjetf3Ac0+WFEaMDBL7AjyZVwJNvWrlKK2LZQ==", "dev": true, "hasInstallScript": true, "dependencies": { - "@nrwl/tao": "19.0.4", + "@nrwl/tao": "19.2.1", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", - "@zkochan/js-yaml": "0.0.6", + "@zkochan/js-yaml": "0.0.7", "axios": "^1.6.0", "chalk": "^4.1.0", "cli-cursor": "3.1.0", @@ -87335,10 +87395,10 @@ "enquirer": "~2.3.6", "figures": "3.2.0", "flat": "^5.0.2", + "front-matter": "^4.0.2", "fs-extra": "^11.1.0", "ignore": "^5.0.4", "jest-diff": "^29.4.1", - "js-yaml": "4.1.0", "jsonc-parser": "3.2.0", "lines-and-columns": "~2.0.3", "minimatch": "9.0.3", @@ -87361,16 +87421,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.0.4", - "@nx/nx-darwin-x64": "19.0.4", - "@nx/nx-freebsd-x64": "19.0.4", - "@nx/nx-linux-arm-gnueabihf": "19.0.4", - "@nx/nx-linux-arm64-gnu": "19.0.4", - "@nx/nx-linux-arm64-musl": "19.0.4", - "@nx/nx-linux-x64-gnu": "19.0.4", - "@nx/nx-linux-x64-musl": "19.0.4", - "@nx/nx-win32-arm64-msvc": "19.0.4", - "@nx/nx-win32-x64-msvc": "19.0.4" + "@nx/nx-darwin-arm64": "19.2.1", + "@nx/nx-darwin-x64": "19.2.1", + "@nx/nx-freebsd-x64": "19.2.1", + "@nx/nx-linux-arm-gnueabihf": "19.2.1", + "@nx/nx-linux-arm64-gnu": "19.2.1", + "@nx/nx-linux-arm64-musl": "19.2.1", + "@nx/nx-linux-x64-gnu": "19.2.1", + "@nx/nx-linux-x64-musl": "19.2.1", + "@nx/nx-win32-arm64-msvc": "19.2.1", + "@nx/nx-win32-x64-msvc": "19.2.1" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -87442,6 +87502,18 @@ "node": ">=8" } }, + "node_modules/nx/node_modules/@zkochan/js-yaml": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", + "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/nx/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -101782,6 +101854,15 @@ "xtend": "^4.0.2" } }, + "node_modules/stream-mmmagic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/stream-mmmagic/-/stream-mmmagic-2.3.0.tgz", + "integrity": "sha512-6pzzM+P/cTF77Cq6cZ93vPF2k8FNYHs7F3vnIhwbEbr7QDbhR2p9RAjq2FwHUdH1BL/OJBRQ6XrBFj+RuRpVqQ==", + "dependencies": { + "buffer-peek-stream": "^1.1.0", + "mmmagic": "^0.5.0" + } + }, "node_modules/stream-parser": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", diff --git a/package.json b/package.json index 278797250b..82be5dd50e 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "license": "Apache 2.0", "engines": { - "node": "20.x" + "node": "18.x" }, "scripts": { "agent-connector": "nx serve agent-connector", @@ -44,7 +44,7 @@ "embedder:build": "nx run embedder:build", "embedder:buildall": "nx run-many -t build --projects=embedder-*", "embedder:db:deploy": "nx run embedder-db-pg:push", - "embedder:dev": "nx run embedder:dev --port 4010", + "embedder:dev": "nx run embedder:dev", "embedder:prepare": "nx run embedder:prepare", "embedder:serve": "nx run embedder:serve", "find-unused-deps": "nx generate @trumbitta/nx-plugin-unused-deps:check --no-interactive", @@ -170,7 +170,7 @@ "@langchain/openai": "^0.0.33", "@langchain/pinecone": "^0.0.6", "@langchain/textsplitters": "^0.0.2", - "@llm-tools/embedjs": "^0.0.79", + "@llm-tools/embedjs": "https://github.com/Oneirocom/embedJs", "@magickml/behave-graph": "^0.14.14", "@magickml/behave-graph-scene": "0.11.0", "@minoru/react-dnd-treeview": "^3.4.4", @@ -178,7 +178,7 @@ "@mui/icons-material": "5.11.16", "@mui/material": "5.13.2", "@next-auth/prisma-adapter": "^1.0.5", - "@nx/devkit": "19.0.4", + "@nx/devkit": "19.2.1", "@nytimes/react-prosemirror": "^0.6.1", "@openmeter/sdk": "^1.0.0-beta.35", "@opentelemetry/auto-instrumentations-node": "^0.41.1", @@ -306,7 +306,7 @@ "modelfusion": "^0.137.0", "mui-nested-menu": "^3.2.1", "nanoid": "^5.0.7", - "natural": "^6.10.4", + "natural": "^6.12.0", "next": "^14.1.0", "next-auth": "^4.19.2", "next-themes": "^0.2.1", @@ -423,25 +423,25 @@ "@nuxt/ui-templates": "^1.3.1", "@nx-plus/docusaurus": "15.0.0-rc.0", "@nx-tools/nx-container": "^6.0.0", - "@nx/cypress": "19.0.4", - "@nx/esbuild": "19.0.4", - "@nx/eslint": "19.0.4", - "@nx/eslint-plugin": "19.0.4", - "@nx/express": "19.0.4", - "@nx/jest": "19.0.4", - "@nx/js": "19.0.4", - "@nx/next": "19.0.4", - "@nx/node": "19.0.4", - "@nx/nuxt": "^19.0.4", - "@nx/playwright": "19.0.4", - "@nx/plugin": "^19.0.4", - "@nx/react": "19.0.4", - "@nx/rollup": "19.0.4", - "@nx/storybook": "19.0.4", - "@nx/vite": "19.0.4", - "@nx/web": "19.0.4", - "@nx/webpack": "19.0.4", - "@nx/workspace": "19.0.4", + "@nx/cypress": "19.2.1", + "@nx/esbuild": "19.2.1", + "@nx/eslint": "19.2.1", + "@nx/eslint-plugin": "19.2.1", + "@nx/express": "19.2.1", + "@nx/jest": "19.2.1", + "@nx/js": "19.2.1", + "@nx/next": "19.2.1", + "@nx/node": "19.2.1", + "@nx/nuxt": "^19.2.1", + "@nx/playwright": "19.2.1", + "@nx/plugin": "^19.2.1", + "@nx/react": "19.2.1", + "@nx/rollup": "19.2.1", + "@nx/storybook": "19.2.1", + "@nx/vite": "19.2.1", + "@nx/web": "19.2.1", + "@nx/webpack": "19.2.1", + "@nx/workspace": "19.2.1", "@playwright/test": "^1.36.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", "@prisma/nextjs-monorepo-workaround-plugin": "^5.9.1", @@ -533,7 +533,7 @@ "mocha": "10.2.0", "nodemon": "2.0.22", "nuxt": "^3.10.0", - "nx": "19.0.4", + "nx": "19.2.1", "openapi-zod-client": "^1.18.1", "pino-pretty": "10.0.0", "postcss": "^8.4.35", diff --git a/packages/client/editor/src/components/LogWindow/logWindow.tsx b/packages/client/editor/src/components/LogWindow/logWindow.tsx index d123a989df..63b1f4a51f 100644 --- a/packages/client/editor/src/components/LogWindow/logWindow.tsx +++ b/packages/client/editor/src/components/LogWindow/logWindow.tsx @@ -8,6 +8,8 @@ import { useSelectAgentsLog, useSelectAgentsSpell, } from 'client/state' +import { useModal } from '../../contexts/ModalProvider' +import { useUser } from '@clerk/nextjs' export type Log = { type: string @@ -95,7 +97,7 @@ const LogMessage = ({ const [isExpanded, setIsExpanded] = useState(false) const isRefAvailable = useRef(false) const containerRef = useRef(null) - const expandRef = useRef(null) // Upd + const expandRef = useRef(null) const cleanExpandRef = useRef(null) const isExpandedRef = useRef(isExpanded) @@ -345,11 +347,14 @@ const LogsComponent = () => { const [showErrorLogs, setShowErrorLogs] = useState(true) const [showRawLogs, setShowRawLogs] = useState(false) + const { openModal } = useModal() + const { user } = useUser() + useEffect(() => { // Create a new entry only if the new log item is not undefined const newEntries: Log[] = [] // Specify type for newEntries - const addIfUnique = (newLog: Log, type: string) => { + const addIfUnique = async (newLog: Log, type: string) => { // Specify parameter types if ( newLog && @@ -359,6 +364,18 @@ const LogsComponent = () => { ) ) { newEntries.push({ ...newLog, messageType: type }) + + // Check if the error is related to budget exceeded or payment required + if ( + type === 'error' && + user?.publicMetadata?.useWallet && + (newLog.message.includes('has exceeded their budget') || + newLog.message.includes('Payment Required')) + ) { + openModal({ + modal: 'outOfFundsModal', + }) + } } } diff --git a/packages/client/editor/src/components/Modals/OutOfFundsModal.tsx b/packages/client/editor/src/components/Modals/OutOfFundsModal.tsx new file mode 100644 index 0000000000..6b6bd7b3ad --- /dev/null +++ b/packages/client/editor/src/components/Modals/OutOfFundsModal.tsx @@ -0,0 +1,77 @@ +import { useUser } from '@clerk/nextjs' +import Modal from '../Modal/Modal' +import { PORTAL_URL } from 'clientConfig' + +const OutOfFundsModal = () => { + const user = useUser() + const subscription = user.user?.publicMetadata.subscription as + | string + | undefined + + const isWizard = subscription?.toUpperCase() === 'WIZARD' + const isFreeUser = subscription?.toUpperCase() === 'NEOPHYTE' + + const publicMetadata = user.user?.publicMetadata + + const { mpRenewsAt } = publicMetadata || {} + + // Create a new Date object from the ISO string + const date = new Date(mpRenewsAt as string) + + // Format the date using the defined options + const readableDate = new Intl.DateTimeFormat('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric', + hour: 'numeric', + minute: 'numeric', + second: 'numeric', + timeZoneName: 'short', + }).format(date) + + const hasSubscriptionNeedsBalanceCopy = `Oops! It looks like you've run out of MP and money in your wallet. To + continue running your agent please add funds to your wallet. ${ + isWizard && `Your MP will refill on ${readableDate}.` + }` + + const freeTrialExpiredCopy = `Oops! It looks like you've run out of your free trial MP. To continue running your agent subscribe now.` + + const options = [ + { + label: isWizard ? 'Add Funds' : 'Subscribe Now', + onClick: () => { + isWizard + ? window.open( + `${PORTAL_URL || 'https://beta.magickml.com'}/billing`, + '_blank' + ) + : window.open( + `${PORTAL_URL || 'https://beta.magickml.com'}/subscribe`, + '_blank' + ) + }, + className: + 'bg-blue-500 text-white px-4 py-2 rounded font-semibold hover:bg-blue-600 transition duration-300', + }, + ] + + return ( + +
+

+ {isFreeUser ? freeTrialExpiredCopy : hasSubscriptionNeedsBalanceCopy} +

+

+ By subscribing, you'll gain access to additional features and + resources that will enhance your experience with Magick. +

+
+
+ ) +} + +export default OutOfFundsModal diff --git a/packages/client/editor/src/components/Modals/index.ts b/packages/client/editor/src/components/Modals/index.ts index d5c40903d9..5922b75c39 100644 --- a/packages/client/editor/src/components/Modals/index.ts +++ b/packages/client/editor/src/components/Modals/index.ts @@ -8,6 +8,7 @@ import DeleteModal from './DeleteModal' import CreateSpellModal from './CreateSpellModal' import ConfirmationModal from './ConfirmationModal' import DraftAgentCreatedModal from './DraftAgentCreatedModal' +import OutOfFundsModal from './OutOfFundsModal' // A dictionary of modals with their names and components const modals = { @@ -17,6 +18,7 @@ const modals = { createSpellModal: CreateSpellModal, confirmationModal: ConfirmationModal, draftAgentCreatedModal: DraftAgentCreatedModal, + outOfFundsModal: OutOfFundsModal, } /** diff --git a/packages/client/editor/src/components/Newsidebar/MPBalanceBar.tsx b/packages/client/editor/src/components/Newsidebar/MPBalanceBar.tsx index 1f8abbc555..59bac55fb2 100644 --- a/packages/client/editor/src/components/Newsidebar/MPBalanceBar.tsx +++ b/packages/client/editor/src/components/Newsidebar/MPBalanceBar.tsx @@ -102,12 +102,12 @@ export const MPBalanceBar = ({ userData, isLoading }: Props) => { // Check if the user is currently a wizard if (isWizard) { // If they have a balance, display it; otherwise, show zero - return `$${Number(remainingBalance || 0).toFixed(2)}` + return `$${Number(Math.max(0, remainingBalance)).toFixed(2)}` } else { // For non-wizard users, show the balance if it exists and is greater than 0, // otherwise show 'N/A' - return Number(remainingBalance || 0) > 0 - ? `$${Number(remainingBalance || 0).toFixed(2)}` + return remainingBalance > 0 + ? `$${Number(remainingBalance).toFixed(2)}` : 'N/A' } } diff --git a/packages/client/editor/src/components/PropertiesWindow/PropertiesWindow.tsx b/packages/client/editor/src/components/PropertiesWindow/PropertiesWindow.tsx index b68c5e6f91..78d1036869 100644 --- a/packages/client/editor/src/components/PropertiesWindow/PropertiesWindow.tsx +++ b/packages/client/editor/src/components/PropertiesWindow/PropertiesWindow.tsx @@ -307,6 +307,12 @@ export const PropertiesWindow = (props: Props) => { .map((config: [key: string, any]) => (
+
+

Select a knowledge pack

+

+ (This will be used to load data from) +

+
{ - - Select a Knowledge Entry - + Knowledge Entry {getActiveKnowledgePack?.loaders?.map(loader => ( diff --git a/packages/client/flow/core/src/lib/node-picker/useFilteredAndGroupedNodes.tsx b/packages/client/flow/core/src/lib/node-picker/useFilteredAndGroupedNodes.tsx index 95be833ecf..5b5e9a530e 100644 --- a/packages/client/flow/core/src/lib/node-picker/useFilteredAndGroupedNodes.tsx +++ b/packages/client/flow/core/src/lib/node-picker/useFilteredAndGroupedNodes.tsx @@ -31,6 +31,9 @@ export const useFilteredAndGroupedNodes = ({ const filteredNodes = useMemo( () => specJSON.filter(node => { + if (node.type === 'lifecycle/onTick') { + return false + } // Apply search term to node type, make sure to handle cases where search is undefined or empty const matchesSearch = search ? node.type.toLowerCase().includes(search.toLowerCase()) diff --git a/packages/client/state/src/lib/api/agentChannels.ts b/packages/client/state/src/lib/api/agentChannels.ts index 4d6a335a32..ccf6edba1e 100644 --- a/packages/client/state/src/lib/api/agentChannels.ts +++ b/packages/client/state/src/lib/api/agentChannels.ts @@ -9,6 +9,13 @@ export const agentChannelsApi = rootApi.injectEndpoints({ method: 'GET', }), }), + deleteChannel: builder.mutation({ + invalidatesTags: ['AgentChannels'], + query: ({ channelId }) => ({ + url: `agentChannels/${channelId}`, + method: 'DELETE', + }), + }), toggleChannelActive: builder.mutation({ invalidatesTags: ['AgentChannels'], query: ({ channelId, channelActive }) => ({ @@ -20,5 +27,8 @@ export const agentChannelsApi = rootApi.injectEndpoints({ }), }) -export const { useGetChannelsQuery, useToggleChannelActiveMutation } = - agentChannelsApi +export const { + useGetChannelsQuery, + useToggleChannelActiveMutation, + useDeleteChannelMutation, +} = agentChannelsApi diff --git a/packages/client/ui/src/lib/components/table/core/table-core.tsx b/packages/client/ui/src/lib/components/table/core/table-core.tsx index 6ef423ace9..70399b2e85 100644 --- a/packages/client/ui/src/lib/components/table/core/table-core.tsx +++ b/packages/client/ui/src/lib/components/table/core/table-core.tsx @@ -1,6 +1,10 @@ 'use client' import * as React from 'react' -import { ChevronDownIcon, DotsHorizontalIcon } from '@radix-ui/react-icons' +import { + ChevronDownIcon, + DotsHorizontalIcon, + TrashIcon, +} from '@radix-ui/react-icons' import { ColumnDef, ColumnFiltersState, @@ -36,6 +40,7 @@ import { FancyInput } from '../../../fancy' interface DataTableProps { columns: ColumnDef[] data: TData[] + onDelete?: (row: TData[]) => void tableProps?: React.HTMLAttributes tableHeaderProps?: React.HTMLAttributes tableBodyProps?: React.HTMLAttributes @@ -55,6 +60,7 @@ interface DataTableProps { export function DataTable({ columns, data, + onDelete, tableProps, tableHeaderProps, tableBodyProps, @@ -114,6 +120,24 @@ export function DataTable({ return (
+ {onDelete && ( + + )} ({ )} + {onDelete && ( + + + + )} )) ) : ( No results. diff --git a/packages/client/windows/agentChannels/src/lib/window-agent-channels.tsx b/packages/client/windows/agentChannels/src/lib/window-agent-channels.tsx index 051ab8fc93..6e467f0034 100644 --- a/packages/client/windows/agentChannels/src/lib/window-agent-channels.tsx +++ b/packages/client/windows/agentChannels/src/lib/window-agent-channels.tsx @@ -1,6 +1,7 @@ import { useState } from 'react' import { RootState, + useDeleteChannelMutation, useGetChannelsQuery, useToggleChannelActiveMutation, // useGetChannelsQuery @@ -18,7 +19,7 @@ export const ChannelsWindow = () => { const globalConfig = useSelector((state: RootState) => state.globalConfig) const { currentAgentId } = globalConfig - console.log('currentAgentId', currentAgentId) + const { data: channels, refetch } = useGetChannelsQuery( { agentId: currentAgentId, limit, page }, { @@ -27,6 +28,8 @@ export const ChannelsWindow = () => { ) const [toggleChannelActive] = useToggleChannelActiveMutation() + const [deleteChannel] = useDeleteChannelMutation() + const { enqueueSnackbar } = useSnackbar() // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -47,6 +50,19 @@ export const ChannelsWindow = () => { }) } + const handleDeleteChannel = async (channels: any[]) => { + for (const channel of channels) { + try { + await deleteChannel({ channelId: channel.id }).unwrap() + } catch (err) { + console.error(err) + enqueueSnackbar('Error deleting channel', { variant: 'error' }) + } + } + + enqueueSnackbar('Channel(s) deleted', { variant: 'success' }) + } + const renderRowActionMenu = (row: Row) => { return ( <> @@ -115,6 +131,7 @@ export const ChannelsWindow = () => { columns={columns} data={channels?.data || []} filterInputPlaceholder="Search channels..." + onDelete={handleDeleteChannel} columnVisibilityButtonProps={{ children: 'Columns', }} diff --git a/packages/client/windows/knowledge/src/lib/_pkg/chunks-dialog.tsx b/packages/client/windows/knowledge/src/lib/_pkg/chunks-dialog.tsx index 96fb27babd..d669775afb 100644 --- a/packages/client/windows/knowledge/src/lib/_pkg/chunks-dialog.tsx +++ b/packages/client/windows/knowledge/src/lib/_pkg/chunks-dialog.tsx @@ -16,7 +16,7 @@ export const ChunksDialog: React.FC = ({ packId, }) => { const [open, setOpen] = state - const { data, isLoading } = client.useGetLoaderChunks( + const { data, isLoading } = client.useGetLoader( { params: { id: packId || '', diff --git a/packages/cloud/next/keywords/src/lib/keywords.ts b/packages/cloud/next/keywords/src/lib/keywords.ts index 3b4a0a4906..3e1f5e187a 100644 --- a/packages/cloud/next/keywords/src/lib/keywords.ts +++ b/packages/cloud/next/keywords/src/lib/keywords.ts @@ -195,7 +195,7 @@ export class KeywordsService { walletUser: ProxyUser }) { try { - if (mpUser.period_budget === undefined) { + if (mpUser.period_budget === undefined || mpUser.period_budget === null) { await fetch( `${this.apiUrl}/api/user/update/${mpUser.customer_identifier}`, { @@ -207,7 +207,10 @@ export class KeywordsService { } ) } - if (walletUser.period_budget === undefined) { + if ( + walletUser.period_budget === undefined || + walletUser.period_budget === null + ) { await fetch( `${this.apiUrl}/api/user/update/${walletUser.customer_identifier}`, { @@ -252,6 +255,9 @@ export class KeywordsService { period_budget: 10, period_start: new Date().toISOString(), budget_duration: 'monthly', + period_end: new Date( + new Date().setDate(new Date().getDate() + 30) + ).toISOString(), }) if (!mpUser.customer_identifier) { diff --git a/packages/embedder/api/loaders/src/lib/embedder-api-loaders.ts b/packages/embedder/api/loaders/src/lib/embedder-api-loaders.ts index 9377896694..081a5aef9a 100644 --- a/packages/embedder/api/loaders/src/lib/embedder-api-loaders.ts +++ b/packages/embedder/api/loaders/src/lib/embedder-api-loaders.ts @@ -37,8 +37,8 @@ export const loaderEndpoints = makeApi([ { method: 'get', path: '/packs/:id/loaders/:loaderId', - alias: 'getLoaderChunks', - description: 'Get chunks for a specific loader in a pack', + alias: 'getLoader', + description: 'Get loader with chunks for a specific loader in a pack', requestFormat: 'json', parameters: [ { diff --git a/packages/embedder/queue/src/lib/embedder-queue.ts b/packages/embedder/queue/src/lib/embedder-queue.ts index 825ec20fc2..b85489aa1f 100644 --- a/packages/embedder/queue/src/lib/embedder-queue.ts +++ b/packages/embedder/queue/src/lib/embedder-queue.ts @@ -12,12 +12,14 @@ import { JobStatusType } from '@magickml/embedder/schema' import { eq } from 'drizzle-orm' import { randomUUID } from 'crypto' +const useTLS = process.env['EMBEDDER_REDIS_TLS'] === 'true' + const connection: ConnectionOptions = { host: process.env['EMBEDDER_REDIS_HOST'] || 'localhost', port: Number(process.env['EMBEDDER_REDIS_PORT']) || 6379, username: process.env['EMBEDDER_REDIS_USERNAME'], password: process.env['EMBEDDER_REDIS_PASSWORD'], - tls: process.env['EMBEDDER_REDIS_HOST'] !== 'localhost' ? {} : undefined, + tls: useTLS ? {} : undefined, } export function useBullMQ(queueName: string) { @@ -134,13 +136,24 @@ export async function processEmbedJob(jobId: string) { .where(eq(Loader.id, loader.id)) .execute() - // update the loader status + //update the loader in the job await embedderDb .update(Job) - .set({ status: 'completed' }) + .set({ + loaders: loaders.map((l: Loader) => + l.id === loader.id ? { ...l, status: 'completed' } : l + ), + }) .where(eq(Job.id, jobId)) .execute() } + + // update the job status + await embedderDb + .update(Job) + .set({ status: 'completed', finishedAt: new Date().toISOString() }) + .where(eq(Job.id, jobId)) + .execute() } catch (error) { consola.error(`!Error processing job ${jobId}:`, error) await embedderDb diff --git a/packages/embedder/schema/src/lib/job.schema.ts b/packages/embedder/schema/src/lib/job.schema.ts index e74215b078..44d0d3e418 100644 --- a/packages/embedder/schema/src/lib/job.schema.ts +++ b/packages/embedder/schema/src/lib/job.schema.ts @@ -13,7 +13,7 @@ export const JobSchema = z.object({ packId: z.string().uuid(), loaders: z.array(z.any()), // use the LoaderSchema directly to validate this status: JobStatusSchema, - createdAt: z.date(), - finishedAt: z.date().optional(), + createdAt: z.string(), + finishedAt: z.string().optional().or(z.null()), }) export type JobData = z.infer diff --git a/packages/embedder/schema/src/lib/loader.schema.ts b/packages/embedder/schema/src/lib/loader.schema.ts index 396040e86f..f41392c4c1 100644 --- a/packages/embedder/schema/src/lib/loader.schema.ts +++ b/packages/embedder/schema/src/lib/loader.schema.ts @@ -117,6 +117,7 @@ export const AddLoaderSchema = LoaderSchema.omit({ export const AddLoaderResponseSchema = z.object({ status: StatusSchema, id: z.string().uuid(), + jobId: z.string().uuid(), }) export type Loader = z.infer @@ -139,3 +140,7 @@ export const loaderSchemaMap: Record> = { } export const LoaderChunkSchema = z.any() + +export const LoaderWithChunks = LoaderSchema.extend({ + chunks: z.array(LoaderChunkSchema), +}) diff --git a/packages/embedder/worker/src/lib/embedder-worker.ts b/packages/embedder/worker/src/lib/embedder-worker.ts index caacb6f7e4..9828d43d47 100644 --- a/packages/embedder/worker/src/lib/embedder-worker.ts +++ b/packages/embedder/worker/src/lib/embedder-worker.ts @@ -4,12 +4,14 @@ import { Worker } from 'bullmq' import { defineNitroPlugin } from 'nitropack/runtime' import { ConnectionOptions } from 'bullmq' +const useTLS = process.env['EMBEDDER_REDIS_TLS'] === 'true' + const connection: ConnectionOptions = { host: process.env['EMBEDDER_REDIS_HOST'] || 'localhost', port: Number(process.env['EMBEDDER_REDIS_PORT']) || 6379, username: process.env['EMBEDDER_REDIS_USERNAME'], password: process.env['EMBEDDER_REDIS_PASSWORD'], - tls: process.env['EMBEDDER_REDIS_HOST'] !== 'localhost' ? {} : undefined, + tls: useTLS ? {} : undefined, } export const embedderWorkerPlugin = defineNitroPlugin(() => { diff --git a/packages/server/grimoire/src/lib/coreRegistry.ts b/packages/server/grimoire/src/lib/coreRegistry.ts index 87a4a35bce..34f1fcb4e8 100644 --- a/packages/server/grimoire/src/lib/coreRegistry.ts +++ b/packages/server/grimoire/src/lib/coreRegistry.ts @@ -8,7 +8,6 @@ import { memo, } from '@magickml/behave-graph' import { coreEmitter } from './dependencies/coreEmitter' -import { MessageEvent } from './nodes/events/messageEvent' export const coreRegistry: IRegistry = { values: {}, @@ -21,7 +20,7 @@ export const coreRegistry: IRegistry = { export class CoreRegistry { values: ValueType[] = [] - nodes: NodeDefinition[] = [MessageEvent] + nodes: NodeDefinition[] = [] dependencies: Record = { core: coreEmitter, } diff --git a/packages/server/grimoire/src/lib/nodes/events/messageEvent.ts b/packages/server/grimoire/src/lib/nodes/events/messageEvent.ts deleted file mode 100644 index c554243fd4..0000000000 --- a/packages/server/grimoire/src/lib/nodes/events/messageEvent.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { - Assert, - NodeCategory, - makeEventNodeDefinition, -} from '@magickml/behave-graph' -import { CoreEmitter } from '../../dependencies/coreEmitter' -import { EventPayload } from 'server/plugin' -import { corePluginName } from 'plugin/core' - -type State = { - onStartEvent?: ((event: EventPayload) => void) | undefined -} - -const makeInitialState = (): State => ({ - onStartEvent: undefined, -}) - -export const MessageEvent = makeEventNodeDefinition({ - typeName: 'magick/onMessage', - label: 'On Message', - category: NodeCategory.Event, - in: {}, - out: { - flow: 'flow', - content: 'string', - event: 'object', - }, - initialState: makeInitialState(), - init: ({ state, write, commit, graph: { getDependency } }) => { - Assert.mustBeTrue(state.onStartEvent === undefined) - const onStartEvent = (event: EventPayload) => { - write('event', event) - write('content', event.content) - commit('flow') - } - - const coreEventEmitter = getDependency(corePluginName) - - coreEventEmitter?.on('message', onStartEvent) - - return { - onStartEvent, - } - }, - dispose: ({ state: { onStartEvent }, graph: { getDependency } }) => { - Assert.mustBeTrue(onStartEvent !== undefined) - - const coreEventEmitter = getDependency(corePluginName) - - if (onStartEvent) coreEventEmitter?.removeListener('message', onStartEvent) - - return {} - }, -}) diff --git a/packages/server/grimoire/src/lib/nodes/subspells/subspellOutput.ts b/packages/server/grimoire/src/lib/nodes/subspells/subspellOutput.ts index ddf12a955c..a1a775d862 100644 --- a/packages/server/grimoire/src/lib/nodes/subspells/subspellOutput.ts +++ b/packages/server/grimoire/src/lib/nodes/subspells/subspellOutput.ts @@ -14,7 +14,6 @@ export const SubspellOutput = makeFlowNodeDefinition({ if (!spellCaster) { return [] } - console.log('spellCaster.outputs', spellCaster.outputs) return spellCaster.outputs.map(output => ({ key: output.key, name: output.label, diff --git a/packages/shared/nodeSpec/src/nodeSpec.json b/packages/shared/nodeSpec/src/nodeSpec.json index 4d742d64c6..03631da1b8 100644 --- a/packages/shared/nodeSpec/src/nodeSpec.json +++ b/packages/shared/nodeSpec/src/nodeSpec.json @@ -77,182 +77,90 @@ "configuration": [] }, { - "type": "action/knowledge/add", + "type": "knowledge/embedder/addTextSource", "category": "Action", - "label": "Add Knowledge", + "label": "Add Text Source", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "knowledge", + "name": "name", "valueType": "string", "defaultValue": "" }, { - "name": "dataType", + "name": "description", "valueType": "string", - "defaultValue": "auto", - "choices": [ - { - "text": "auto", - "value": "auto" - }, - { - "text": "text", - "value": "text" - }, - { - "text": "youtube_video", - "value": "youtube_video" - }, - { - "text": "pdf_file", - "value": "pdf_file" - }, - { - "text": "web_page", - "value": "web_page" - }, - { - "text": "sitemap", - "value": "sitemap" - }, - { - "text": "xml", - "value": "xml" - }, - { - "text": "docx", - "value": "docx" - }, - { - "text": "docs_site", - "value": "docs_site" - }, - { - "text": "notion", - "value": "notion" - }, - { - "text": "csv", - "value": "csv" - }, - { - "text": "mdx", - "value": "mdx" - }, - { - "text": "qna_pair", - "value": "qna_pair" - }, - { - "text": "image", - "value": "image" - }, - { - "text": "unstructured", - "value": "unstructured" - }, - { - "text": "json", - "value": "json" - }, - { - "text": "openapi", - "value": "openapi" - }, - { - "text": "gmail", - "value": "gmail" - }, - { - "text": "substack", - "value": "substack" - }, - { - "text": "youtube_channel", - "value": "youtube_channel" - }, - { - "text": "discord", - "value": "discord" - }, - { - "text": "custom", - "value": "custom" - }, - { - "text": "rss_feed", - "value": "rss_feed" - }, - { - "text": "beehiiv", - "value": "beehiiv" - }, - { - "text": "google_drive", - "value": "google_drive" - }, - { - "text": "directory", - "value": "directory" - }, - { - "text": "slack", - "value": "slack" - }, - { - "text": "dropbox", - "value": "dropbox" - }, - { - "text": "text_file", - "value": "text_file" - } - ] + "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "text", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ { "name": "flow", "valueType": "flow" + }, + { + "name": "loaderId", + "valueType": "string" + }, + { + "name": "status", + "valueType": "string" } ], - "configuration": [] + "configuration": [ + { + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "packId" + ] + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + } + ] }, { - "type": "action/memory/addMemory", + "type": "knowledge/embedder/addYoutubeSource", "category": "Action", - "label": "Add Memory", + "label": "Add Youtube Source", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "content", + "name": "name", "valueType": "string", "defaultValue": "" }, { - "name": "role", + "name": "description", "valueType": "string", - "defaultValue": "assistant", - "choices": [ - { - "text": "user", - "value": "user" - }, - { - "text": "assistant", - "value": "assistant" - } - ] + "defaultValue": "" }, { - "name": "type", + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "videoIdOrUrl", "valueType": "string", "defaultValue": "" } @@ -263,137 +171,116 @@ "valueType": "flow" }, { - "name": "memory", - "valueType": "object" + "name": "loaderId", + "valueType": "string" }, { - "name": "message", - "valueType": "object" + "name": "status", + "valueType": "string" } ], - "configuration": [] + "configuration": [ + { + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "packId" + ] + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + } + ] }, { - "type": "magick/addMessage", + "type": "knowledge/embedder/addYoutube_channelSource", "category": "Action", - "label": "Add message", + "label": "Add Youtube_channel Source", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "content", + "name": "name", "valueType": "string", "defaultValue": "" }, { - "name": "role", + "name": "description", "valueType": "string", - "defaultValue": "user", - "choices": [ - { - "text": "user", - "value": "user" - }, - { - "text": "assistant", - "value": "assistant" - } - ] + "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "youtubeChannelId", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ { "name": "flow", "valueType": "flow" - } - ], - "configuration": [] - }, - { - "type": "logic/array/access", - "category": "Logic", - "label": "Array Access", - "inputs": [ + }, { - "name": "a", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + "name": "loaderId", + "valueType": "string" }, { - "name": "b", - "valueType": "integer", - "defaultValue": 0 - } - ], - "outputs": [ - { - "name": "result", + "name": "status", "valueType": "string" } ], - "configuration": [] - }, - { - "type": "logic/array/includes", - "category": "Logic", - "label": "Includes", - "inputs": [ + "configuration": [ { - "name": "a", + "name": "hiddenProperties", "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + "defaultValue": [ + "packId" + ] }, { - "name": "b", + "name": "packId", "valueType": "string", "defaultValue": "" } - ], - "outputs": [ - { - "name": "result", - "valueType": "boolean" - } - ], - "configuration": [] + ] }, { - "type": "action/array/clear", + "type": "knowledge/embedder/addYoutube_searchSource", "category": "Action", - "label": "Clear", + "label": "Add Youtube_search Source", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "array", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" - } - ], - "outputs": [ + "name": "name", + "valueType": "string", + "defaultValue": "" + }, { - "name": "flow", - "valueType": "flow" + "name": "description", + "valueType": "string", + "defaultValue": "" }, { - "name": "array", - "valueType": "array" - } - ], - "configuration": [] - }, - { - "type": "action/array/create", - "category": "Action", - "label": "Array Create", - "inputs": [ + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, { - "name": "flow", - "valueType": "flow" + "name": "youtubeSearchString", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ @@ -402,8 +289,12 @@ "valueType": "flow" }, { - "name": "array", - "valueType": "array" + "name": "loaderId", + "valueType": "string" + }, + { + "name": "status", + "valueType": "string" } ], "configuration": [ @@ -411,142 +302,103 @@ "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "hiddenProperties", - "valueTypes", - "valueTypeOptions" + "packId" ] }, { - "name": "valueType", + "name": "packId", "valueType": "string", - "defaultValue": "string" - }, - { - "name": "valueTypeOptions", - "valueType": "object", - "defaultValue": { - "values": [ - "string", - "number", - "float", - "boolean", - "object", - "array" - ], - "socketName": "Item" - } - }, - { - "name": "socketInputs", - "valueType": "array", - "defaultValue": [] + "defaultValue": "" } ] }, { - "type": "logic/array/create", - "category": "Logic", - "label": "Array Create", - "inputs": [], - "outputs": [ - { - "name": "array", - "valueType": "array" - } - ], - "configuration": [ + "type": "knowledge/embedder/addWebSource", + "category": "Action", + "label": "Add Web Source", + "inputs": [ { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "hiddenProperties", - "valueTypes", - "valueTypeOptions" - ] + "name": "flow", + "valueType": "flow" }, { - "name": "valueType", + "name": "name", "valueType": "string", - "defaultValue": "string" + "defaultValue": "" }, { - "name": "valueTypeOptions", - "valueType": "object", - "defaultValue": { - "values": [ - "string", - "number", - "float", - "boolean", - "object", - "array" - ], - "socketName": "Item" - } + "name": "description", + "valueType": "string", + "defaultValue": "" }, { - "name": "socketInputs", - "valueType": "array", - "defaultValue": [] - } - ] - }, - { - "type": "logic/array/length", - "category": "Logic", - "label": "Length", - "inputs": [ + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, { - "name": "a", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + "name": "urlOrContent", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ { - "name": "result", - "valueType": "integer" - } - ], - "configuration": [] - }, - { - "type": "logic/array/merge", - "category": "Logic", - "label": "Merge", - "inputs": [ + "name": "flow", + "valueType": "flow" + }, { - "name": "array1", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + "name": "loaderId", + "valueType": "string" }, { - "name": "array2", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + "name": "status", + "valueType": "string" } ], - "outputs": [ + "configuration": [ { - "name": "result", - "valueType": "array" + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "packId" + ] + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" } - ], - "configuration": [] + ] }, { - "type": "logic/array/push", + "type": "knowledge/embedder/addSitemapSource", "category": "Action", - "label": "Array Push", + "label": "Add Sitemap Source", "inputs": [ - { - "name": "array", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" - }, { "name": "flow", "valueType": "flow" + }, + { + "name": "name", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "description", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "url", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ @@ -555,8 +407,12 @@ "valueType": "flow" }, { - "name": "array", - "valueType": "array" + "name": "loaderId", + "valueType": "string" + }, + { + "name": "status", + "valueType": "string" } ], "configuration": [ @@ -564,108 +420,556 @@ "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "hiddenProperties", - "valueTypes", - "socketInputs", - "valueTypeOptions" + "packId" ] }, { - "name": "valueType", + "name": "packId", "valueType": "string", "defaultValue": "" + } + ] + }, + { + "type": "knowledge/embedder/addPdfSource", + "category": "Action", + "label": "Add Pdf Source", + "inputs": [ + { + "name": "flow", + "valueType": "flow" }, { - "name": "valueTypeOptions", - "valueType": "object", - "defaultValue": { - "values": [ - "string", - "number", - "float", - "boolean", - "object", - "array" - ], - "socketName": "Item" - } + "name": "name", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "description", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "filePathOrUrl", + "valueType": "string", + "defaultValue": "" + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "loaderId", + "valueType": "string" + }, + { + "name": "status", + "valueType": "string" + } + ], + "configuration": [ + { + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "packId" + ] + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + } + ] + }, + { + "type": "knowledge/embedder/addDocxSource", + "category": "Action", + "label": "Add Docx Source", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "name", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "description", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "filePathOrUrl", + "valueType": "string", + "defaultValue": "" + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "loaderId", + "valueType": "string" + }, + { + "name": "status", + "valueType": "string" + } + ], + "configuration": [ + { + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "packId" + ] + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + } + ] + }, + { + "type": "knowledge/embedder/addExcelSource", + "category": "Action", + "label": "Add Excel Source", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "name", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "description", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "filePathOrUrl", + "valueType": "string", + "defaultValue": "" + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "loaderId", + "valueType": "string" + }, + { + "name": "status", + "valueType": "string" + } + ], + "configuration": [ + { + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "packId" + ] + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + } + ] + }, + { + "type": "knowledge/embedder/addPptSource", + "category": "Action", + "label": "Add Ppt Source", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "name", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "description", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "filePathOrUrl", + "valueType": "string", + "defaultValue": "" + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "loaderId", + "valueType": "string" + }, + { + "name": "status", + "valueType": "string" + } + ], + "configuration": [ + { + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "packId" + ] + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + } + ] + }, + { + "type": "action/knowledge/add", + "category": "Action", + "label": "Add Knowledge", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "knowledge", + "valueType": "string", + "defaultValue": "" }, { - "name": "socketInputs", - "valueType": "array", - "defaultValue": [] + "name": "dataType", + "valueType": "string", + "defaultValue": "auto", + "choices": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "text", + "value": "text" + }, + { + "text": "youtube_video", + "value": "youtube_video" + }, + { + "text": "pdf_file", + "value": "pdf_file" + }, + { + "text": "web_page", + "value": "web_page" + }, + { + "text": "sitemap", + "value": "sitemap" + }, + { + "text": "xml", + "value": "xml" + }, + { + "text": "docx", + "value": "docx" + }, + { + "text": "docs_site", + "value": "docs_site" + }, + { + "text": "notion", + "value": "notion" + }, + { + "text": "csv", + "value": "csv" + }, + { + "text": "mdx", + "value": "mdx" + }, + { + "text": "qna_pair", + "value": "qna_pair" + }, + { + "text": "image", + "value": "image" + }, + { + "text": "unstructured", + "value": "unstructured" + }, + { + "text": "json", + "value": "json" + }, + { + "text": "openapi", + "value": "openapi" + }, + { + "text": "gmail", + "value": "gmail" + }, + { + "text": "substack", + "value": "substack" + }, + { + "text": "youtube_channel", + "value": "youtube_channel" + }, + { + "text": "discord", + "value": "discord" + }, + { + "text": "custom", + "value": "custom" + }, + { + "text": "rss_feed", + "value": "rss_feed" + }, + { + "text": "beehiiv", + "value": "beehiiv" + }, + { + "text": "google_drive", + "value": "google_drive" + }, + { + "text": "directory", + "value": "directory" + }, + { + "text": "slack", + "value": "slack" + }, + { + "text": "dropbox", + "value": "dropbox" + }, + { + "text": "text_file", + "value": "text_file" + } + ] + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + } + ], + "configuration": [] + }, + { + "type": "action/memory/addMemory", + "category": "Action", + "label": "Add Memory", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "content", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "role", + "valueType": "string", + "defaultValue": "assistant", + "choices": [ + { + "text": "user", + "value": "user" + }, + { + "text": "assistant", + "value": "assistant" + } + ] + }, + { + "name": "type", + "valueType": "string", + "defaultValue": "" + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "memory", + "valueType": "object" + }, + { + "name": "message", + "valueType": "object" + } + ], + "configuration": [] + }, + { + "type": "magick/addMessage", + "category": "Action", + "label": "Add message", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "content", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "role", + "valueType": "string", + "defaultValue": "user", + "choices": [ + { + "text": "user", + "value": "user" + }, + { + "text": "assistant", + "value": "assistant" + } + ] + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + } + ], + "configuration": [] + }, + { + "type": "logic/array/access", + "category": "Logic", + "label": "Array Access", + "inputs": [ + { + "name": "a", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + }, + { + "name": "b", + "valueType": "integer", + "defaultValue": 0 + } + ], + "outputs": [ + { + "name": "result", + "valueType": "string" } - ] + ], + "configuration": [] }, { - "type": "logic/array/randomElement", - "category": "Logic", - "label": "Random Element", + "type": "action/array/clear", + "category": "Action", + "label": "Clear", "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, { "name": "array", "valueType": "array", "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" } ], - "outputs": [], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "hiddenProperties", - "valueTypes", - "socketOutputs", - "valueTypeOptions" - ] - }, - { - "name": "valueType", - "valueType": "string", - "defaultValue": "" - }, + "outputs": [ { - "name": "valueTypeOptions", - "valueType": "object", - "defaultValue": { - "values": [ - "string", - "number", - "float", - "boolean", - "object", - "array" - ], - "socketName": "Item" - } + "name": "flow", + "valueType": "flow" }, { - "name": "socketOutputs", - "valueType": "array", - "defaultValue": [] + "name": "array", + "valueType": "array" } - ] + ], + "configuration": [] }, { - "type": "logic/array/removeFirst", + "type": "action/array/create", "category": "Action", - "label": "Remove First", + "label": "Array Create", "inputs": [ { "name": "flow", "valueType": "flow" - }, - { - "name": "array", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" } ], "outputs": [ { "name": "flow", "valueType": "flow" + }, + { + "name": "array", + "valueType": "array" } ], "configuration": [ @@ -675,14 +979,13 @@ "defaultValue": [ "hiddenProperties", "valueTypes", - "socketOutputs", "valueTypeOptions" ] }, { "name": "valueType", "valueType": "string", - "defaultValue": "" + "defaultValue": "string" }, { "name": "valueTypeOptions", @@ -700,31 +1003,21 @@ } }, { - "name": "socketOutputs", + "name": "socketInputs", "valueType": "array", "defaultValue": [] } ] }, { - "type": "logic/array/removeLast", - "category": "Action", - "label": "Remove Last", - "inputs": [ - { - "name": "flow", - "valueType": "flow" - }, - { - "name": "array", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" - } - ], + "type": "logic/array/create", + "category": "Logic", + "label": "Array Create", + "inputs": [], "outputs": [ { - "name": "flow", - "valueType": "flow" + "name": "array", + "valueType": "array" } ], "configuration": [ @@ -734,14 +1027,13 @@ "defaultValue": [ "hiddenProperties", "valueTypes", - "socketOutputs", "valueTypeOptions" ] }, { "name": "valueType", "valueType": "string", - "defaultValue": "" + "defaultValue": "string" }, { "name": "valueTypeOptions", @@ -759,212 +1051,102 @@ } }, { - "name": "socketOutputs", + "name": "socketInputs", "valueType": "array", "defaultValue": [] } ] }, { - "type": "action/memory/clearMemories", - "category": "Action", - "label": "Clear Memories", - "inputs": [ - { - "name": "flow", - "valueType": "flow" - }, - { - "name": "filter", - "valueType": "object", - "defaultValue": "{}" - } - ], - "outputs": [ - { - "name": "flow", - "valueType": "flow" - } - ], - "configuration": [] - }, - { - "type": "queries/messages/clearMessageHistory", - "category": "Query", - "label": "Clear Message History", - "inputs": [ - { - "name": "flow", - "valueType": "flow" - } - ], - "outputs": [ - { - "name": "flow", - "valueType": "flow" - } - ], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "hiddenProperties", - "eventState" - ] - }, - { - "name": "eventState", - "valueType": "array", - "defaultValue": [ - "channel", - "connector" - ] - } - ] - }, - { - "type": "flow/delay", - "category": "Time", - "label": "Delay", - "inputs": [ - { - "name": "flow", - "valueType": "flow" - }, - { - "name": "duration", - "valueType": "float", - "defaultValue": 1 - } - ], - "outputs": [ - { - "name": "flow", - "valueType": "flow" - } - ], - "configuration": [] - }, - { - "type": "flow/doOnceAsync", - "category": "Flow", - "label": "DoOnceAsync", - "inputs": [ - { - "name": "flow", - "valueType": "flow" - }, - { - "name": "reset", - "valueType": "flow" - } - ], - "outputs": [ - { - "name": "flow", - "valueType": "flow" - }, - { - "name": "onReset", - "valueType": "flow" - } - ], - "configuration": [] - }, - { - "type": "actions/http/fetch", - "category": "Action", - "label": "Fetch", + "type": "logic/array/includes", + "category": "Logic", + "label": "Includes", "inputs": [ { - "name": "url", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "method", - "valueType": "string", - "defaultValue": "", - "choices": [ - { - "text": "GET", - "value": "GET" - }, - { - "text": "POST", - "value": "POST" - }, - { - "text": "PUT", - "value": "PUT" - }, - { - "text": "DELETE", - "value": "DELETE" - }, - { - "text": "PATCH", - "value": "PATCH" - } - ] - }, - { - "name": "headers", - "valueType": "object", - "defaultValue": "{}" - }, - { - "name": "body", - "valueType": "object", - "defaultValue": "{}" + "name": "a", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" }, { - "name": "authToken", + "name": "b", "valueType": "string", "defaultValue": "" - }, + } + ], + "outputs": [ { - "name": "authTokenHeader", - "valueType": "string", - "defaultValue": "" - }, + "name": "result", + "valueType": "boolean" + } + ], + "configuration": [] + }, + { + "type": "logic/array/length", + "category": "Logic", + "label": "Length", + "inputs": [ { - "name": "flow", - "valueType": "flow" + "name": "a", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" } ], "outputs": [ { - "name": "response", - "valueType": "object" + "name": "result", + "valueType": "integer" + } + ], + "configuration": [] + }, + { + "type": "logic/array/merge", + "category": "Logic", + "label": "Merge", + "inputs": [ + { + "name": "array1", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" }, { - "name": "flow", - "valueType": "flow" + "name": "array2", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + } + ], + "outputs": [ + { + "name": "result", + "valueType": "array" } ], "configuration": [] }, { - "type": "flow/switch", - "category": "Flow", - "label": "Switch", + "type": "logic/array/push", + "category": "Action", + "label": "Array Push", "inputs": [ { - "name": "flow", - "valueType": "flow" + "name": "array", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" }, { - "name": "string", - "valueType": "string", - "defaultValue": "" + "name": "flow", + "valueType": "flow" } ], "outputs": [ { - "name": "default", + "name": "flow", "valueType": "flow" + }, + { + "name": "array", + "valueType": "array" } ], "configuration": [ @@ -973,55 +1155,92 @@ "valueType": "array", "defaultValue": [ "hiddenProperties", - "textEditorOptions", - "textEditorData", - "socketValues" + "valueTypes", + "socketInputs", + "valueTypeOptions" ] }, { - "name": "socketValues", - "valueType": "array", - "defaultValue": [ - "flow" - ] + "name": "valueType", + "valueType": "string", + "defaultValue": "" }, { - "name": "socketOutputs", + "name": "valueTypeOptions", + "valueType": "object", + "defaultValue": { + "values": [ + "string", + "number", + "float", + "boolean", + "object", + "array" + ], + "socketName": "Item" + } + }, + { + "name": "socketInputs", "valueType": "array", "defaultValue": [] } ] }, { - "type": "flow/split", - "category": "Flow", - "label": "Flow Split", + "type": "logic/array/randomElement", + "category": "Logic", + "label": "Random Element", "inputs": [ { - "name": "flow", - "valueType": "flow" + "name": "array", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" } ], - "outputs": [ + "outputs": [], + "configuration": [ { - "name": "flow1", - "valueType": "flow" + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "hiddenProperties", + "valueTypes", + "socketOutputs", + "valueTypeOptions" + ] }, { - "name": "flow2", - "valueType": "flow" + "name": "valueType", + "valueType": "string", + "defaultValue": "" }, { - "name": "done", - "valueType": "flow" + "name": "valueTypeOptions", + "valueType": "object", + "defaultValue": { + "values": [ + "string", + "number", + "float", + "boolean", + "object", + "array" + ], + "socketName": "Item" + } + }, + { + "name": "socketOutputs", + "valueType": "array", + "defaultValue": [] } - ], - "configuration": [] + ] }, { - "type": "flow/array/forEach", - "category": "Flow", - "label": "For Each", + "type": "logic/array/removeFirst", + "category": "Action", + "label": "Remove First", "inputs": [ { "name": "flow", @@ -1035,16 +1254,8 @@ ], "outputs": [ { - "name": "completed", - "valueType": "flow" - }, - { - "name": "loopBody", + "name": "flow", "valueType": "flow" - }, - { - "name": "index", - "valueType": "integer" } ], "configuration": [ @@ -1054,7 +1265,6 @@ "defaultValue": [ "hiddenProperties", "valueTypes", - "socketInputs", "socketOutputs", "valueTypeOptions" ] @@ -1076,7 +1286,7 @@ "object", "array" ], - "socketName": "Array Item" + "socketName": "Item" } }, { @@ -1087,156 +1297,73 @@ ] }, { - "type": "magick/generateText", + "type": "logic/array/removeLast", "category": "Action", - "label": "Generate Text", + "label": "Remove Last", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "prompt", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "system", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "messages", + "name": "array", "valueType": "array", - "defaultValue": "[]" - }, - { - "name": "modelOverride", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "stop", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "temperature", - "valueType": "float", - "defaultValue": 0.5 - }, - { - "name": "maxRetries", - "valueType": "integer", - "defaultValue": 3 - }, - { - "name": "top_p", - "valueType": "integer", - "defaultValue": 1 - }, - { - "name": "seed", - "valueType": "integer", - "defaultValue": 42 - }, - { - "name": "maxTokens", - "valueType": "integer", - "defaultValue": 256 + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" } ], "outputs": [ { - "name": "response", - "valueType": "string" - }, - { - "name": "completionResponse", - "valueType": "object" - }, - { - "name": "done", - "valueType": "flow" - }, - { - "name": "onStream", - "valueType": "flow" - }, - { - "name": "stream", - "valueType": "string" + "name": "flow", + "valueType": "flow" } ], "configuration": [ { - "name": "modelProviders", + "name": "hiddenProperties", "valueType": "array", - "defaultValue": [] + "defaultValue": [ + "hiddenProperties", + "valueTypes", + "socketOutputs", + "valueTypeOptions" + ] }, { - "name": "modelProvider", + "name": "valueType", "valueType": "string", - "defaultValue": "openai" + "defaultValue": "" }, { - "name": "providerApiKeyName", - "valueType": "string", - "defaultValue": "OPENAI_API_KEY" + "name": "valueTypeOptions", + "valueType": "object", + "defaultValue": { + "values": [ + "string", + "number", + "float", + "boolean", + "object", + "array" + ], + "socketName": "Item" + } }, { - "name": "models", + "name": "socketOutputs", "valueType": "array", "defaultValue": [] - }, - { - "name": "model", - "valueType": "string", - "defaultValue": "gpt-3.5-turbo" - }, - { - "name": "customBaseUrl", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "hiddenProperties", - "valueType": "string", - "defaultValue": [ - "hiddenProperties", - "modelProvider", - "model", - "models", - "customBaseUrl", - "providerApiKeyName" - ] } ] }, { - "type": "action/memory/getMemories", + "type": "action/memory/clearMemories", "category": "Action", - "label": "Get Memories", + "label": "Clear Memories", "inputs": [ { "name": "flow", "valueType": "flow" }, - { - "name": "limit", - "valueType": "integer", - "defaultValue": 10 - }, - { - "name": "type", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "types", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" - }, { "name": "filter", "valueType": "object", @@ -1247,46 +1374,24 @@ { "name": "flow", "valueType": "flow" - }, - { - "name": "memories", - "valueType": "array" - }, - { - "name": "messages", - "valueType": "array" } ], "configuration": [] }, { - "type": "queries/messages/getMessageHistory", + "type": "queries/messages/clearMessageHistory", "category": "Query", - "label": "Message History", + "label": "Clear Message History", "inputs": [ { "name": "flow", "valueType": "flow" - }, - { - "name": "alterateRoles", - "valueType": "boolean", - "defaultValue": false - }, - { - "name": "entries", - "valueType": "integer", - "defaultValue": 10 } ], "outputs": [ { "name": "flow", "valueType": "flow" - }, - { - "name": "messages", - "valueType": "array" } ], "configuration": [ @@ -1309,9 +1414,9 @@ ] }, { - "type": "agent/getSecret", + "type": "knowledge/embedder/createKnowledgePack", "category": "Action", - "label": "Get Agent Secret", + "label": "Create Knowledge Pack", "inputs": [ { "name": "flow", @@ -1321,6 +1426,11 @@ "name": "name", "valueType": "string", "defaultValue": "" + }, + { + "name": "description", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ @@ -1329,117 +1439,273 @@ "valueType": "flow" }, { - "name": "value", + "name": "id", + "valueType": "string" + }, + { + "name": "name", + "valueType": "string" + }, + { + "name": "description", + "valueType": "string" + }, + { + "name": "createdAt", "valueType": "string" } ], "configuration": [] }, { - "type": "agent/getState", + "type": "flow/delay", + "category": "Time", + "label": "Delay", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "duration", + "valueType": "float", + "defaultValue": 1 + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + } + ], + "configuration": [] + }, + { + "type": "knowledge/embedder/deleteKnowledgePack", "category": "Action", - "label": "Get Agent State", + "label": "Delete Knowledge Pack", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "plugin", + "name": "id", "valueType": "string", - "defaultValue": "core", + "defaultValue": "" + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "result", + "valueType": "string" + } + ], + "configuration": [] + }, + { + "type": "flow/doOnceAsync", + "category": "Flow", + "label": "DoOnceAsync", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "reset", + "valueType": "flow" + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "onReset", + "valueType": "flow" + } + ], + "configuration": [] + }, + { + "type": "actions/http/fetch", + "category": "Action", + "label": "Fetch", + "inputs": [ + { + "name": "url", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "method", + "valueType": "string", + "defaultValue": "", "choices": [ { - "text": "core", - "value": "core" + "text": "GET", + "value": "GET" }, { - "text": "discord", - "value": "discord" + "text": "POST", + "value": "POST" }, { - "text": "slack", - "value": "slack" + "text": "PUT", + "value": "PUT" + }, + { + "text": "DELETE", + "value": "DELETE" + }, + { + "text": "PATCH", + "value": "PATCH" } ] - } - ], - "outputs": [ + }, + { + "name": "headers", + "valueType": "object", + "defaultValue": "{}" + }, + { + "name": "body", + "valueType": "object", + "defaultValue": "{}" + }, + { + "name": "authToken", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "authTokenHeader", + "valueType": "string", + "defaultValue": "" + }, { "name": "flow", "valueType": "flow" - }, + } + ], + "outputs": [ { - "name": "state", + "name": "response", "valueType": "object" + }, + { + "name": "flow", + "valueType": "flow" } ], "configuration": [] }, { - "type": "logic/string/isDefined", - "category": "None", - "label": "Is Defined", + "type": "flow/split", + "category": "Flow", + "label": "Flow Split", "inputs": [ { - "name": "a", - "valueType": "string", - "defaultValue": "" + "name": "flow", + "valueType": "flow" } ], "outputs": [ { - "name": "result", - "valueType": "boolean" + "name": "flow1", + "valueType": "flow" + }, + { + "name": "flow2", + "valueType": "flow" + }, + { + "name": "done", + "valueType": "flow" } ], "configuration": [] }, { - "type": "action/json/parse", - "category": "Action", - "label": "Json Parse", + "type": "flow/switch", + "category": "Flow", + "label": "Switch", "inputs": [ { - "name": "json", + "name": "flow", + "valueType": "flow" + }, + { + "name": "string", "valueType": "string", "defaultValue": "" - }, + } + ], + "outputs": [ { - "name": "flow", + "name": "default", "valueType": "flow" } ], - "outputs": [ + "configuration": [ { - "name": "object", - "valueType": "object" + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "hiddenProperties", + "textEditorOptions", + "textEditorData", + "socketValues" + ] }, { - "name": "flow", - "valueType": "flow" + "name": "socketValues", + "valueType": "array", + "defaultValue": [ + "flow" + ] + }, + { + "name": "socketOutputs", + "valueType": "array", + "defaultValue": [] } - ], - "configuration": [] + ] }, { - "type": "action/json/stringify", - "category": "Action", - "label": "Json Stringify", + "type": "flow/array/forEach", + "category": "Flow", + "label": "For Each", "inputs": [ { "name": "flow", "valueType": "flow" + }, + { + "name": "array", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" } ], "outputs": [ { - "name": "flow", + "name": "completed", "valueType": "flow" }, { - "name": "string", - "valueType": "string" + "name": "loopBody", + "valueType": "flow" + }, + { + "name": "index", + "valueType": "integer" } ], "configuration": [ @@ -1450,6 +1716,7 @@ "hiddenProperties", "valueTypes", "socketInputs", + "socketOutputs", "valueTypeOptions" ] }, @@ -1470,222 +1737,171 @@ "object", "array" ], - "socketName": "Item" + "socketName": "Array Item" } }, { - "name": "socketInputs", + "name": "socketOutputs", "valueType": "array", "defaultValue": [] } ] }, { - "type": "lifecycles/onTick", - "category": "Event", - "label": "On Tick", - "inputs": [], - "outputs": [ + "type": "magick/generateText", + "category": "Action", + "label": "Generate Text", + "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "deltaSeconds", - "valueType": "float" - } - ], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "hiddenProperties", - "eventState" - ] + "name": "prompt", + "valueType": "string", + "defaultValue": "" }, { - "name": "eventState", - "valueType": "array", - "defaultValue": [] + "name": "system", + "valueType": "string", + "defaultValue": "" }, { - "name": "eventStateProperties", + "name": "messages", "valueType": "array", - "defaultValue": [ - "connector", - "client", - "channel", - "agentId", - "sender" - ] - } - ] - }, - { - "type": "magick/onMessage", - "category": "Event", - "label": "On Message", - "inputs": [], - "outputs": [ + "defaultValue": "[]" + }, { - "name": "flow", - "valueType": "flow" + "name": "modelOverride", + "valueType": "string", + "defaultValue": "" }, { - "name": "content", - "valueType": "string" + "name": "stop", + "valueType": "string", + "defaultValue": "" }, { - "name": "event", - "valueType": "object" - } - ], - "configuration": [ + "name": "temperature", + "valueType": "float", + "defaultValue": 0.5 + }, { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "hiddenProperties", - "eventState" - ] + "name": "maxRetries", + "valueType": "integer", + "defaultValue": 3 }, { - "name": "eventState", - "valueType": "array", - "defaultValue": [] + "name": "top_p", + "valueType": "integer", + "defaultValue": 1 }, { - "name": "eventStateProperties", - "valueType": "array", - "defaultValue": [ - "connector", - "client", - "channel", - "agentId", - "sender" - ] - } - ] - }, - { - "type": "logic/object/destructure", - "category": "Logic", - "label": "Destructure", - "inputs": [ + "name": "seed", + "valueType": "integer", + "defaultValue": 42 + }, { - "name": "object", - "valueType": "object", - "defaultValue": "{}" + "name": "maxTokens", + "valueType": "integer", + "defaultValue": 256 } ], - "outputs": [], - "configuration": [ + "outputs": [ { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "hiddenProperties", - "textEditorOptions", - "textEditorData", - "socketValues" - ] + "name": "response", + "valueType": "string" }, { - "name": "socketValues", - "valueType": "array", - "defaultValue": [ - "string", - "array", - "boolean", - "integer", - "float", - "object" - ] + "name": "completionResponse", + "valueType": "object" }, { - "name": "socketOutputs", - "valueType": "array", - "defaultValue": [] - } - ] - }, - { - "type": "variables/on", - "category": "Variable", - "label": "On Variable", - "inputs": [], - "outputs": [ + "name": "done", + "valueType": "flow" + }, { - "name": "flow", + "name": "onStream", "valueType": "flow" + }, + { + "name": "stream", + "valueType": "string" } ], "configuration": [ { - "name": "hiddenProperties", + "name": "modelProviders", "valueType": "array", - "defaultValue": [ - "hiddenProperties", - "eventState", - "hiddenProperties", - "variableId", - "socketOutputs", - "label", - "valueTypeName" - ] + "defaultValue": [] }, { - "name": "variableId", + "name": "modelProvider", "valueType": "string", - "defaultValue": "" + "defaultValue": "openai" }, { - "name": "valueTypeName", + "name": "providerApiKeyName", "valueType": "string", - "defaultValue": "string" + "defaultValue": "OPENAI_API_KEY" }, { - "name": "variableNames", + "name": "models", "valueType": "array", "defaultValue": [] }, { - "name": "socketOutputs", - "valueType": "array", - "defaultValue": [] + "name": "model", + "valueType": "string", + "defaultValue": "gpt-3.5-turbo" }, { - "name": "eventState", - "valueType": "array", - "defaultValue": [] + "name": "customBaseUrl", + "valueType": "string", + "defaultValue": "" }, { - "name": "eventStateProperties", - "valueType": "array", + "name": "hiddenProperties", + "valueType": "string", "defaultValue": [ - "connector", - "client", - "channel", - "agentId", - "sender" + "hiddenProperties", + "modelProvider", + "model", + "models", + "customBaseUrl", + "providerApiKeyName" ] } ] }, { - "type": "events/memory/onMemory", - "category": "Event", - "label": "On Memory Added", - "inputs": [], + "type": "knowledge/embedder/getChunks", + "category": "Action", + "label": "Get Chunks", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "loaderId", + "valueType": "string", + "defaultValue": "" + } + ], "outputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "memory", - "valueType": "object" + "name": "chunks", + "valueType": "array" } ], "configuration": [ @@ -1693,68 +1909,40 @@ "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "hiddenProperties", - "eventState" + "packId", + "loaderId" ] }, { - "name": "eventState", - "valueType": "array", - "defaultValue": [] - }, - { - "name": "eventStateProperties", - "valueType": "array", - "defaultValue": [ - "connector", - "client", - "channel", - "agentId", - "sender" - ] - } - ] - }, - { - "type": "logic/string/parseCommand", - "category": "None", - "label": "Parse Command", - "inputs": [ - { - "name": "string", + "name": "packId", "valueType": "string", "defaultValue": "" - } - ], - "outputs": [ - { - "name": "command", - "valueType": "string" - }, - { - "name": "content", - "valueType": "string" }, { - "name": "isCommand", - "valueType": "boolean" + "name": "loaderId", + "valueType": "string", + "defaultValue": "" } - ], - "configuration": [] + ] }, { - "type": "queries/events/eventHistory", + "type": "knowledge/embedder/getContext", "category": "Action", - "label": "Event History", + "label": "Get Context", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "entries", - "valueType": "integer", - "defaultValue": 10 + "name": "query", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ @@ -1763,11 +1951,7 @@ "valueType": "flow" }, { - "name": "events", - "valueType": "array" - }, - { - "name": "strings", + "name": "context", "valueType": "array" } ], @@ -1776,60 +1960,24 @@ "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "hiddenProperties", - "eventState", - "availableEvents" - ] - }, - { - "name": "eventState", - "valueType": "array", - "defaultValue": [ - "sender", - "agentId" - ] - }, - { - "name": "eventStateProperties", - "valueType": "array", - "defaultValue": [ - "client", - "connector", - "channel", - "from user", - "to user" - ] - }, - { - "name": "availableEvents", - "valueType": "array", - "defaultValue": [ - "messageReceived", - "webhookReceived", - "messageSend", - "messageStream" + "packId" ] }, { - "name": "selectedEvents", - "valueType": "array", - "defaultValue": [] + "name": "packId", + "valueType": "string", + "defaultValue": "" } ] }, { - "type": "action/knowledge/query", + "type": "knowledge/embedder/getManyPacks", "category": "Action", - "label": "Query Knowledge", + "label": "Get Many Packs", "inputs": [ { "name": "flow", "valueType": "flow" - }, - { - "name": "query", - "valueType": "string", - "defaultValue": "" } ], "outputs": [ @@ -1838,57 +1986,72 @@ "valueType": "flow" }, { - "name": "knowledge", - "valueType": "string" + "name": "packs", + "valueType": "array" } ], "configuration": [] }, { - "type": "logic/string/match", - "category": "Logic", - "label": "Match", - "inputs": [ + "type": "variables/getMany", + "category": "Query", + "label": "Get Many Variables", + "inputs": [], + "outputs": [], + "configuration": [ { - "name": "match", - "valueType": "string", - "defaultValue": "" + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "socketValues", + "hiddenProperties" + ] }, { - "name": "string", - "valueType": "string", - "defaultValue": "" - } - ], - "outputs": [ + "name": "socketValues", + "valueType": "array", + "defaultValue": [ + "string", + "array", + "boolean", + "integer", + "float", + "object" + ] + }, { - "name": "result", - "valueType": "boolean" + "name": "socketOutputs", + "valueType": "array", + "defaultValue": [] } - ], - "configuration": [] + ] }, { - "type": "action/knowledge/search", + "type": "action/memory/getMemories", "category": "Action", - "label": "Search Knowledge", + "label": "Get Memories", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "query", + "name": "limit", + "valueType": "integer", + "defaultValue": 10 + }, + { + "name": "type", "valueType": "string", "defaultValue": "" }, { - "name": "count", - "valueType": "integer", - "defaultValue": 3 + "name": "types", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" }, { - "name": "metadata", + "name": "filter", "valueType": "object", "defaultValue": "{}" } @@ -1899,39 +2062,34 @@ "valueType": "flow" }, { - "name": "knowledge", + "name": "memories", "valueType": "array" }, { - "name": "data", + "name": "messages", "valueType": "array" } ], "configuration": [] }, { - "type": "action/knowledge/searchMany ", - "category": "Action", - "label": "Search Many Knowledge", + "type": "queries/messages/getMessageHistory", + "category": "Query", + "label": "Message History", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "queries", - "valueType": "array", - "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + "name": "alterateRoles", + "valueType": "boolean", + "defaultValue": false }, { - "name": "count", + "name": "entries", "valueType": "integer", - "defaultValue": 2 - }, - { - "name": "metadata", - "valueType": "object", - "defaultValue": "{}" + "defaultValue": 10 } ], "outputs": [ @@ -1940,79 +2098,96 @@ "valueType": "flow" }, { - "name": "knowledge", + "name": "messages", "valueType": "array" + } + ], + "configuration": [ + { + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "hiddenProperties", + "eventState" + ] }, { - "name": "data", - "valueType": "array" + "name": "eventState", + "valueType": "array", + "defaultValue": [ + "channel", + "connector" + ] } - ], - "configuration": [] + ] }, { - "type": "magick/sendMessage", + "type": "knowledge/embedder/getPack", "category": "Action", - "label": "Send Message", + "label": "Get Pack", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "content", + "name": "packId", "valueType": "string", "defaultValue": "" - }, - { - "name": "skipSave", - "valueType": "boolean", - "defaultValue": false } ], "outputs": [ { "name": "flow", "valueType": "flow" + }, + { + "name": "id", + "valueType": "string" + }, + { + "name": "name", + "valueType": "string" + }, + { + "name": "description", + "valueType": "string" + }, + { + "name": "createdAt", + "valueType": "string" + }, + { + "name": "sources", + "valueType": "array" } ], - "configuration": [] - }, - { - "type": "logic/split/string", - "category": "None", - "label": "String Split", - "inputs": [ + "configuration": [ { - "name": "string", - "valueType": "string", - "defaultValue": "" + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "packId" + ] }, { - "name": "seperator", + "name": "packId", "valueType": "string", "defaultValue": "" } - ], - "outputs": [ - { - "name": "result", - "valueType": "array" - } - ], - "configuration": [] + ] }, { - "type": "magick/streamMessage", + "type": "agent/getSecret", "category": "Action", - "label": "Stream Message", + "label": "Get Agent Secret", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "content", + "name": "name", "valueType": "string", "defaultValue": "" } @@ -2021,200 +2196,218 @@ { "name": "flow", "valueType": "flow" + }, + { + "name": "value", + "valueType": "string" } ], "configuration": [] }, { - "type": "action/string/chunker", + "type": "agent/getState", "category": "Action", - "label": "String Chunker", + "label": "Get Agent State", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "content", + "name": "plugin", "valueType": "string", - "defaultValue": "" - }, - { - "name": "chunkSize", - "valueType": "integer", - "defaultValue": 2 - }, - { - "name": "delay", - "valueType": "integer", - "defaultValue": 100 + "defaultValue": "core", + "choices": [ + { + "text": "core", + "value": "core" + }, + { + "text": "discord", + "value": "discord" + }, + { + "text": "slack", + "value": "slack" + } + ] } ], "outputs": [ { - "name": "done", - "valueType": "flow" - }, - { - "name": "stream", + "name": "flow", "valueType": "flow" }, { - "name": "chunk", - "valueType": "string" + "name": "state", + "valueType": "object" } ], - "configuration": [ - { - "name": "chunkSize", - "valueType": "integer", - "defaultValue": 1 - } - ] + "configuration": [] }, { - "type": "logic/string/template", - "category": "Logic", - "label": "Text Template", - "inputs": [], + "type": "logic/string/isDefined", + "category": "None", + "label": "Is Defined", + "inputs": [ + { + "name": "a", + "valueType": "string", + "defaultValue": "" + } + ], "outputs": [ { "name": "result", - "valueType": "string" + "valueType": "boolean" } ], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "hiddenProperties", - "textEditorOptions", - "textEditorData", - "socketValues" - ] - }, + "configuration": [] + }, + { + "type": "action/json/parse", + "category": "Action", + "label": "Json Parse", + "inputs": [ { - "name": "textEditorData", + "name": "json", "valueType": "string", "defaultValue": "" }, { - "name": "textEditorOptions", - "valueType": "object", - "defaultValue": { - "options": { - "language": "handlebars", - "name": "Text template" - } - } - }, + "name": "flow", + "valueType": "flow" + } + ], + "outputs": [ { - "name": "socketValues", - "valueType": "array", - "defaultValue": [ - "string", - "array", - "boolean", - "integer", - "float" - ] + "name": "object", + "valueType": "object" }, { - "name": "socketInputs", - "valueType": "array", - "defaultValue": [] + "name": "flow", + "valueType": "flow" } - ] + ], + "configuration": [] }, { - "type": "variables/get", - "category": "Variable", - "label": "Get", - "inputs": [], - "outputs": [], + "type": "action/json/stringify", + "category": "Action", + "label": "Json Stringify", + "inputs": [ + { + "name": "flow", + "valueType": "flow" + } + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "string", + "valueType": "string" + } + ], "configuration": [ { "name": "hiddenProperties", "valueType": "array", "defaultValue": [ "hiddenProperties", - "variableId", - "socketOutputs", - "label", - "valueTypeName" + "valueTypes", + "socketInputs", + "valueTypeOptions" ] }, { - "name": "variableId", + "name": "valueType", "valueType": "string", "defaultValue": "" }, { - "name": "valueTypeName", - "valueType": "string", - "defaultValue": "string" - }, - { - "name": "variableNames", - "valueType": "array", - "defaultValue": [] + "name": "valueTypeOptions", + "valueType": "object", + "defaultValue": { + "values": [ + "string", + "number", + "float", + "boolean", + "object", + "array" + ], + "socketName": "Item" + } }, { - "name": "socketOutputs", + "name": "socketInputs", "valueType": "array", "defaultValue": [] } ] }, { - "type": "variables/getMany", - "category": "Query", - "label": "Get Many Variables", + "type": "lifecycles/onTick", + "category": "Event", + "label": "On Tick", "inputs": [], - "outputs": [], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + }, + { + "name": "deltaSeconds", + "valueType": "float" + } + ], "configuration": [ { "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "socketValues", - "hiddenProperties" + "hiddenProperties", + "eventState" ] }, { - "name": "socketValues", + "name": "eventState", "valueType": "array", - "defaultValue": [ - "string", - "array", - "boolean", - "integer", - "float", - "object" - ] + "defaultValue": [] }, { - "name": "socketOutputs", + "name": "eventStateProperties", "valueType": "array", - "defaultValue": [] + "defaultValue": [ + "connector", + "client", + "channel", + "agentId", + "sender" + ] } ] }, { - "type": "variables/set", - "category": "Variable", - "label": "Set", - "inputs": [ - { - "name": "flow", - "valueType": "flow" - } - ], + "type": "magick/onMessage", + "category": "Event", + "label": "On Message", + "inputs": [], "outputs": [ { "name": "flow", "valueType": "flow" + }, + { + "name": "content", + "valueType": "string" + }, + { + "name": "event", + "valueType": "object" } ], "configuration": [ @@ -2223,90 +2416,73 @@ "valueType": "array", "defaultValue": [ "hiddenProperties", - "variableId", - "socketOutputs", - "socketInputs", - "label", - "valueTypeName" + "eventState" ] }, { - "name": "variableId", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "valueTypeName", - "valueType": "string", - "defaultValue": "string" - }, - { - "name": "variableNames", - "valueType": "array", - "defaultValue": [] - }, - { - "name": "socketInputs", + "name": "eventState", "valueType": "array", "defaultValue": [] }, { - "name": "emitEvent", - "valueType": "boolean", - "defaultValue": true - }, - { - "name": "socketOutputs", + "name": "eventStateProperties", "valueType": "array", - "defaultValue": [] + "defaultValue": [ + "connector", + "client", + "channel", + "agentId", + "sender" + ] } ] }, { - "type": "variables/reset", - "category": "Action", - "label": "Reset Variables", + "type": "logic/object/destructure", + "category": "Logic", + "label": "Destructure", "inputs": [ { - "name": "flow", - "valueType": "flow" - } - ], - "outputs": [ - { - "name": "flow", - "valueType": "flow" + "name": "object", + "valueType": "object", + "defaultValue": "{}" } ], - "configuration": [] - }, - { - "type": "flow/wait", - "category": "Flow", - "label": "Wait", - "inputs": [ + "outputs": [], + "configuration": [ { - "name": "flow", - "valueType": "flow" + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "hiddenProperties", + "textEditorOptions", + "textEditorData", + "socketValues" + ] }, { - "name": "milliseconds", - "valueType": "integer", - "defaultValue": 1000 - } - ], - "outputs": [ + "name": "socketValues", + "valueType": "array", + "defaultValue": [ + "string", + "array", + "boolean", + "integer", + "float", + "object" + ] + }, { - "name": "done", - "valueType": "flow" + "name": "socketOutputs", + "valueType": "array", + "defaultValue": [] } - ], - "configuration": [] + ] }, { - "type": "magick/onWebhook", + "type": "events/memory/onMemory", "category": "Event", - "label": "On Webhook", + "label": "On Memory Added", "inputs": [], "outputs": [ { @@ -2314,15 +2490,7 @@ "valueType": "flow" }, { - "name": "content", - "valueType": "string" - }, - { - "name": "callback", - "valueType": "string" - }, - { - "name": "event", + "name": "memory", "valueType": "object" } ], @@ -2354,90 +2522,108 @@ ] }, { - "type": "flow/whileLoop", - "category": "Flow", - "label": "While Loop", - "inputs": [ + "type": "variables/on", + "category": "Variable", + "label": "On Variable", + "inputs": [], + "outputs": [ { "name": "flow", "valueType": "flow" - }, - { - "name": "condition", - "valueType": "boolean", - "defaultValue": false } ], - "outputs": [ + "configuration": [ + { + "name": "hiddenProperties", + "valueType": "array", + "defaultValue": [ + "hiddenProperties", + "eventState", + "hiddenProperties", + "variableId", + "socketOutputs", + "label", + "valueTypeName" + ] + }, + { + "name": "variableId", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "valueTypeName", + "valueType": "string", + "defaultValue": "string" + }, + { + "name": "variableNames", + "valueType": "array", + "defaultValue": [] + }, { - "name": "completed", - "valueType": "flow" + "name": "socketOutputs", + "valueType": "array", + "defaultValue": [] }, { - "name": "loopBody", - "valueType": "flow" - } - ], - "configuration": [ + "name": "eventState", + "valueType": "array", + "defaultValue": [] + }, { - "name": "maxIterations", - "valueType": "number", - "defaultValue": 10 + "name": "eventStateProperties", + "valueType": "array", + "defaultValue": [ + "connector", + "client", + "channel", + "agentId", + "sender" + ] } ] }, { - "type": "knowledge/embedder/createKnowledgePack", - "category": "Action", - "label": "Create Knowledge Pack", + "type": "logic/string/parseCommand", + "category": "None", + "label": "Parse Command", "inputs": [ { - "name": "flow", - "valueType": "flow" - }, - { - "name": "name", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "description", + "name": "string", "valueType": "string", "defaultValue": "" } ], "outputs": [ { - "name": "flow", - "valueType": "flow" - }, - { - "name": "id", - "valueType": "string" - }, - { - "name": "name", + "name": "command", "valueType": "string" }, { - "name": "description", + "name": "content", "valueType": "string" }, { - "name": "createdAt", - "valueType": "string" + "name": "isCommand", + "valueType": "boolean" } ], "configuration": [] }, { - "type": "knowledge/embedder/getPack", + "type": "queries/events/eventHistory", "category": "Action", - "label": "Get Pack", + "label": "Event History", "inputs": [ { "name": "flow", "valueType": "flow" + }, + { + "name": "entries", + "valueType": "integer", + "defaultValue": 10 } ], "outputs": [ @@ -2446,23 +2632,11 @@ "valueType": "flow" }, { - "name": "id", - "valueType": "string" - }, - { - "name": "name", - "valueType": "string" - }, - { - "name": "description", - "valueType": "string" - }, - { - "name": "createdAt", - "valueType": "string" + "name": "events", + "valueType": "array" }, { - "name": "sources", + "name": "strings", "valueType": "array" } ], @@ -2471,24 +2645,60 @@ "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "packId" + "hiddenProperties", + "eventState", + "availableEvents" ] }, { - "name": "packId", - "valueType": "string", - "defaultValue": "" + "name": "eventState", + "valueType": "array", + "defaultValue": [ + "sender", + "agentId" + ] + }, + { + "name": "eventStateProperties", + "valueType": "array", + "defaultValue": [ + "client", + "connector", + "channel", + "from user", + "to user" + ] + }, + { + "name": "availableEvents", + "valueType": "array", + "defaultValue": [ + "messageReceived", + "webhookReceived", + "messageSend", + "messageStream" + ] + }, + { + "name": "selectedEvents", + "valueType": "array", + "defaultValue": [] } ] }, { - "type": "knowledge/embedder/getManyPacks", + "type": "action/knowledge/query", "category": "Action", - "label": "Get Many Packs", + "label": "Query Knowledge", "inputs": [ { "name": "flow", "valueType": "flow" + }, + { + "name": "query", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ @@ -2497,8 +2707,8 @@ "valueType": "flow" }, { - "name": "packs", - "valueType": "array" + "name": "knowledge", + "valueType": "string" } ], "configuration": [] @@ -2516,6 +2726,11 @@ "name": "query", "valueType": "string", "defaultValue": "" + }, + { + "name": "packId", + "valueType": "string", + "defaultValue": "" } ], "outputs": [ @@ -2548,9 +2763,33 @@ ] }, { - "type": "knowledge/embedder/getContext", + "type": "logic/string/match", + "category": "Logic", + "label": "Match", + "inputs": [ + { + "name": "match", + "valueType": "string", + "defaultValue": "" + }, + { + "name": "string", + "valueType": "string", + "defaultValue": "" + } + ], + "outputs": [ + { + "name": "result", + "valueType": "boolean" + } + ], + "configuration": [] + }, + { + "type": "action/knowledge/search", "category": "Action", - "label": "Get Context", + "label": "Search Knowledge", "inputs": [ { "name": "flow", @@ -2560,6 +2799,16 @@ "name": "query", "valueType": "string", "defaultValue": "" + }, + { + "name": "count", + "valueType": "integer", + "defaultValue": 3 + }, + { + "name": "metadata", + "valueType": "object", + "defaultValue": "{}" } ], "outputs": [ @@ -2568,33 +2817,39 @@ "valueType": "flow" }, { - "name": "context", + "name": "knowledge", "valueType": "array" - } - ], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "packId" - ] }, { - "name": "packId", - "valueType": "string", - "defaultValue": "" + "name": "data", + "valueType": "array" } - ] + ], + "configuration": [] }, { - "type": "knowledge/embedder/getChunks", + "type": "action/knowledge/searchMany ", "category": "Action", - "label": "Get Chunks", + "label": "Search Many Knowledge", "inputs": [ { "name": "flow", "valueType": "flow" + }, + { + "name": "queries", + "valueType": "array", + "defaultValue": "{\"typeSignature\":\"ArrayVariable\",\"data\":[]}" + }, + { + "name": "count", + "valueType": "integer", + "defaultValue": 2 + }, + { + "name": "metadata", + "valueType": "object", + "defaultValue": "{}" } ], "outputs": [ @@ -2603,52 +2858,55 @@ "valueType": "flow" }, { - "name": "chunks", + "name": "knowledge", + "valueType": "array" + }, + { + "name": "data", "valueType": "array" } ], - "configuration": [ + "configuration": [] + }, + { + "type": "magick/sendMessage", + "category": "Action", + "label": "Send Message", + "inputs": [ { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "packId", - "loaderId" - ] + "name": "flow", + "valueType": "flow" }, { - "name": "packId", + "name": "content", "valueType": "string", "defaultValue": "" }, { - "name": "loaderId", - "valueType": "string", - "defaultValue": "" + "name": "skipSave", + "valueType": "boolean", + "defaultValue": false } - ] + ], + "outputs": [ + { + "name": "flow", + "valueType": "flow" + } + ], + "configuration": [] }, { - "type": "knowledge/embedder/addTextSource", + "type": "magick/streamMessage", "category": "Action", - "label": "Add Text Source", + "label": "Stream Message", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "name", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "description", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "text", + "name": "content", "valueType": "string", "defaultValue": "" } @@ -2657,175 +2915,118 @@ { "name": "flow", "valueType": "flow" - }, - { - "name": "id", - "valueType": "string" - }, - { - "name": "status", - "valueType": "string" } ], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "packId" - ] - }, - { - "name": "packId", - "valueType": "string", - "defaultValue": "" - } - ] + "configuration": [] }, { - "type": "knowledge/embedder/addYoutubeSource", + "type": "action/string/chunker", "category": "Action", - "label": "Add Youtube Source", + "label": "String Chunker", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "name", + "name": "content", "valueType": "string", "defaultValue": "" }, { - "name": "description", - "valueType": "string", - "defaultValue": "" + "name": "chunkSize", + "valueType": "integer", + "defaultValue": 2 }, { - "name": "videoIdOrUrl", - "valueType": "string", - "defaultValue": "" + "name": "delay", + "valueType": "integer", + "defaultValue": 100 } ], "outputs": [ { - "name": "flow", + "name": "done", "valueType": "flow" }, { - "name": "id", - "valueType": "string" + "name": "stream", + "valueType": "flow" }, { - "name": "status", + "name": "chunk", "valueType": "string" } ], "configuration": [ { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "packId" - ] - }, - { - "name": "packId", - "valueType": "string", - "defaultValue": "" + "name": "chunkSize", + "valueType": "integer", + "defaultValue": 1 } ] }, { - "type": "knowledge/embedder/addYoutube_channelSource", - "category": "Action", - "label": "Add Youtube_channel Source", + "type": "logic/string/replace", + "category": "Logic", + "label": "Replace", "inputs": [ { - "name": "flow", - "valueType": "flow" - }, - { - "name": "name", + "name": "string", "valueType": "string", "defaultValue": "" }, { - "name": "description", + "name": "search", "valueType": "string", "defaultValue": "" }, { - "name": "youtubeChannelId", + "name": "replace", "valueType": "string", "defaultValue": "" } ], "outputs": [ { - "name": "flow", - "valueType": "flow" - }, - { - "name": "id", - "valueType": "string" - }, - { - "name": "status", - "valueType": "string" + "name": "name", + "valueType": "newString" } ], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "packId" - ] - }, - { - "name": "packId", - "valueType": "string", - "defaultValue": "" - } - ] + "configuration": [] }, { - "type": "knowledge/embedder/addYoutube_searchSource", - "category": "Action", - "label": "Add Youtube_search Source", + "type": "logic/split/string", + "category": "None", + "label": "String Split", "inputs": [ { - "name": "flow", - "valueType": "flow" - }, - { - "name": "name", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "description", + "name": "string", "valueType": "string", "defaultValue": "" }, { - "name": "youtubeSearchString", + "name": "seperator", "valueType": "string", "defaultValue": "" } ], "outputs": [ { - "name": "flow", - "valueType": "flow" - }, - { - "name": "id", - "valueType": "string" - }, + "name": "result", + "valueType": "array" + } + ], + "configuration": [] + }, + { + "type": "logic/string/template", + "category": "Logic", + "label": "Text Template", + "inputs": [], + "outputs": [ { - "name": "status", + "name": "result", "valueType": "string" } ], @@ -2834,107 +3035,99 @@ "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "packId" + "hiddenProperties", + "textEditorOptions", + "textEditorData", + "socketValues" ] }, { - "name": "packId", - "valueType": "string", - "defaultValue": "" - } - ] - }, - { - "type": "knowledge/embedder/addWebSource", - "category": "Action", - "label": "Add Web Source", - "inputs": [ - { - "name": "flow", - "valueType": "flow" - }, - { - "name": "name", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "description", + "name": "textEditorData", "valueType": "string", "defaultValue": "" }, { - "name": "urlOrContent", - "valueType": "string", - "defaultValue": "" - } - ], - "outputs": [ - { - "name": "flow", - "valueType": "flow" + "name": "textEditorOptions", + "valueType": "object", + "defaultValue": { + "options": { + "language": "handlebars", + "name": "Text template" + } + } }, { - "name": "id", - "valueType": "string" + "name": "socketValues", + "valueType": "array", + "defaultValue": [ + "string", + "array", + "boolean", + "integer", + "float" + ] }, { - "name": "status", - "valueType": "string" + "name": "socketInputs", + "valueType": "array", + "defaultValue": [] } - ], + ] + }, + { + "type": "variables/get", + "category": "Variable", + "label": "Get", + "inputs": [], + "outputs": [], "configuration": [ { "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "packId" + "hiddenProperties", + "variableId", + "socketOutputs", + "label", + "valueTypeName" ] }, { - "name": "packId", + "name": "variableId", "valueType": "string", "defaultValue": "" + }, + { + "name": "valueTypeName", + "valueType": "string", + "defaultValue": "string" + }, + { + "name": "variableNames", + "valueType": "array", + "defaultValue": [] + }, + { + "name": "socketOutputs", + "valueType": "array", + "defaultValue": [] } ] - }, - { - "type": "knowledge/embedder/addSitemapSource", - "category": "Action", - "label": "Add Sitemap Source", + }, + { + "type": "variables/set", + "category": "Variable", + "label": "Set", "inputs": [ { "name": "flow", "valueType": "flow" - }, - { - "name": "name", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "description", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "url", - "valueType": "string", - "defaultValue": "" } ], "outputs": [ { "name": "flow", "valueType": "flow" - }, - { - "name": "id", - "valueType": "string" - }, - { - "name": "status", - "valueType": "string" } ], "configuration": [ @@ -2942,161 +3135,166 @@ "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "packId" + "hiddenProperties", + "variableId", + "socketOutputs", + "socketInputs", + "label", + "valueTypeName" ] }, { - "name": "packId", + "name": "variableId", "valueType": "string", "defaultValue": "" + }, + { + "name": "valueTypeName", + "valueType": "string", + "defaultValue": "string" + }, + { + "name": "variableNames", + "valueType": "array", + "defaultValue": [] + }, + { + "name": "socketInputs", + "valueType": "array", + "defaultValue": [] + }, + { + "name": "emitEvent", + "valueType": "boolean", + "defaultValue": true + }, + { + "name": "socketOutputs", + "valueType": "array", + "defaultValue": [] } ] }, { - "type": "knowledge/embedder/addPdfSource", + "type": "variables/reset", "category": "Action", - "label": "Add Pdf Source", + "label": "Reset Variables", "inputs": [ { "name": "flow", "valueType": "flow" - }, - { - "name": "name", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "description", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "filePathOrUrl", - "valueType": "string", - "defaultValue": "" } ], "outputs": [ { "name": "flow", "valueType": "flow" - }, + } + ], + "configuration": [] + }, + { + "type": "flow/wait", + "category": "Flow", + "label": "Wait", + "inputs": [ { - "name": "id", - "valueType": "string" + "name": "flow", + "valueType": "flow" }, { - "name": "status", - "valueType": "string" + "name": "milliseconds", + "valueType": "integer", + "defaultValue": 1000 } ], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "packId" - ] - }, + "outputs": [ { - "name": "packId", - "valueType": "string", - "defaultValue": "" + "name": "done", + "valueType": "flow" } - ] + ], + "configuration": [] }, { - "type": "knowledge/embedder/addDocxSource", + "type": "knowledge/embedder/awaitLoader", "category": "Action", - "label": "Add Docx Source", + "label": "Await Loader", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "name", - "valueType": "string", - "defaultValue": "" + "name": "cancel", + "valueType": "flow" }, { - "name": "description", + "name": "loaderId", "valueType": "string", "defaultValue": "" }, { - "name": "filePathOrUrl", + "name": "packId", "valueType": "string", "defaultValue": "" } ], "outputs": [ { - "name": "flow", + "name": "completed", "valueType": "flow" }, { - "name": "id", - "valueType": "string" - }, - { - "name": "status", - "valueType": "string" - } - ], - "configuration": [ - { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "packId" - ] + "name": "failed", + "valueType": "flow" }, { - "name": "packId", - "valueType": "string", - "defaultValue": "" - } - ] - }, - { - "type": "knowledge/embedder/addExcelSource", - "category": "Action", - "label": "Add Excel Source", - "inputs": [ - { - "name": "flow", + "name": "pending", "valueType": "flow" }, { - "name": "name", - "valueType": "string", - "defaultValue": "" + "name": "processing", + "valueType": "flow" }, { - "name": "description", - "valueType": "string", - "defaultValue": "" + "name": "lastStatus", + "valueType": "string" }, { - "name": "filePathOrUrl", - "valueType": "string", - "defaultValue": "" + "name": "result", + "valueType": "object" } ], + "configuration": [ + { + "name": "checkIntervalMs", + "valueType": "integer", + "defaultValue": 500 + } + ] + }, + { + "type": "magick/onWebhook", + "category": "Event", + "label": "On Webhook", + "inputs": [], "outputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "id", + "name": "content", "valueType": "string" }, { - "name": "status", + "name": "callback", "valueType": "string" + }, + { + "name": "event", + "valueType": "object" } ], "configuration": [ @@ -3104,67 +3302,58 @@ "name": "hiddenProperties", "valueType": "array", "defaultValue": [ - "packId" + "hiddenProperties", + "eventState" ] }, { - "name": "packId", - "valueType": "string", - "defaultValue": "" + "name": "eventState", + "valueType": "array", + "defaultValue": [] + }, + { + "name": "eventStateProperties", + "valueType": "array", + "defaultValue": [ + "connector", + "client", + "channel", + "agentId", + "sender" + ] } ] }, { - "type": "knowledge/embedder/addPptSource", - "category": "Action", - "label": "Add Ppt Source", + "type": "flow/whileLoop", + "category": "Flow", + "label": "While Loop", "inputs": [ { "name": "flow", "valueType": "flow" }, { - "name": "name", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "description", - "valueType": "string", - "defaultValue": "" - }, - { - "name": "filePathOrUrl", - "valueType": "string", - "defaultValue": "" + "name": "condition", + "valueType": "boolean", + "defaultValue": false } ], "outputs": [ { - "name": "flow", + "name": "completed", "valueType": "flow" }, { - "name": "id", - "valueType": "string" - }, - { - "name": "status", - "valueType": "string" + "name": "loopBody", + "valueType": "flow" } ], "configuration": [ { - "name": "hiddenProperties", - "valueType": "array", - "defaultValue": [ - "packId" - ] - }, - { - "name": "packId", - "valueType": "string", - "defaultValue": "" + "name": "maxIterations", + "valueType": "number", + "defaultValue": 10 } ] }, diff --git a/packages/shared/utils/package.json b/packages/shared/utils/package.json index 2a66620e77..2e4470b9e9 100644 --- a/packages/shared/utils/package.json +++ b/packages/shared/utils/package.json @@ -2,7 +2,7 @@ "name": "utils", "version": "0.0.1", "dependencies": { - "@feathersjs/feathers": "5.0.8", + "@feathersjs/feathers": "5.0.25", "@magickml/behave-graph": "^0.14.1" }, "main": "./index.js", diff --git a/plugins/core/src/lib/corePlugin.ts b/plugins/core/src/lib/corePlugin.ts index 55ede1f884..7667d3d015 100644 --- a/plugins/core/src/lib/corePlugin.ts +++ b/plugins/core/src/lib/corePlugin.ts @@ -85,12 +85,20 @@ import { LLMProviderKeys } from 'servicesShared' import { arrayAccess } from './values/Array/Access' import { flowSplit } from './nodes/flow/split' import { onVariableChanged } from './nodes/events/onVariableChanged' -import { createPack, getManyPacks, getPack, getChunks } from './nodes/knowledge' +import { + createPack, + getManyPacks, + getPack, + getChunks, + deletePack, +} from './nodes/knowledge' import { sourceNodes } from './nodes/knowledge/source' import { queryPack } from './nodes/knowledge/query' import { getContext } from './nodes/knowledge/context' import { makeEmbedderClient } from '@magickml/embedder/client/ts' import { generateToken } from '@magickml/embedder/auth/token' +import { stringReplace } from './nodes/functions/stringReplace' +import { waitForEmbedderJob } from './nodes/knowledge/waitForEmbedderJob' /** * CorePlugin handles all generic events and has its own nodes, dependencies, and values. @@ -110,14 +118,15 @@ export class CorePlugin extends CoreEventsPlugin< override defaultState = coreDefaultState client: CoreEventClient nodes = [ + ...sourceNodes, addKnowledge, addMemory, addMessage, arrayAccess, - arrayIncludes, arrayClear, arrayCreate, arrayCreateFunction, + arrayIncludes, arrayLength, arrayMerge, arrayPush, @@ -126,15 +135,22 @@ export class CorePlugin extends CoreEventsPlugin< arrayRemoveLast, clearMemories, clearMessageHistory, + createPack, delay, + deletePack, DoOnceAsync, FetchNode, - flowSwitch, flowSplit, + flowSwitch, forEach, generateText, + getChunks, + getContext, + getManyPacks, + getManyVariables, getMemories, getMessageHistory, + getPack, getSecretNode, getStateNode, IsDefined, @@ -143,33 +159,28 @@ export class CorePlugin extends CoreEventsPlugin< LifecycleOnTick, messageEvent, objectDestructure, - onVariableChanged, onMemory, + onVariableChanged, parseCommand, queryEventHistory, queryKnowledge, + queryPack, regex, searchKnowledge, searchManyKnowledge, sendMessage, - stringSplit, streamMessage, stringChunker, + stringReplace, + stringSplit, textTemplate, variableGet, - getManyVariables, variableSet, variablesReset, wait, + waitForEmbedderJob, webhookEventNode, whileLoop, - createPack, - getPack, - getManyPacks, - queryPack, - getContext, - getChunks, - ...sourceNodes, ] values = [] credentials = corePluginCredentials diff --git a/plugins/core/src/lib/nodes/functions/destructure.ts b/plugins/core/src/lib/nodes/functions/destructure.ts index 2c5778999d..1bfc923677 100644 --- a/plugins/core/src/lib/nodes/functions/destructure.ts +++ b/plugins/core/src/lib/nodes/functions/destructure.ts @@ -4,6 +4,7 @@ import { SocketsList, makeFunctionNodeDefinition, } from '@magickml/behave-graph' +import { parseValue } from '../../utils/parseValue' export const objectDestructure = makeFunctionNodeDefinition({ typeName: 'logic/object/destructure', @@ -61,7 +62,10 @@ export const objectDestructure = makeFunctionNodeDefinition({ const object = (read('object') as Record) || {} configuration.socketOutputs.forEach( (socketOutput: OutputSocketSpecJSON) => { - const value = object[socketOutput.name] + let value = object[socketOutput.name] + + value = parseValue(value, socketOutput.valueType) + write(socketOutput.name, value) } ) diff --git a/plugins/core/src/lib/nodes/functions/stringReplace.ts b/plugins/core/src/lib/nodes/functions/stringReplace.ts new file mode 100644 index 0000000000..f0d5f62588 --- /dev/null +++ b/plugins/core/src/lib/nodes/functions/stringReplace.ts @@ -0,0 +1,17 @@ +import { NodeCategory, makeInNOutFunctionDesc } from '@magickml/behave-graph' + +export const stringReplace = makeInNOutFunctionDesc({ + name: 'logic/string/replace', + aliases: ['logic/replace/string'], + category: NodeCategory.Logic, + label: 'Replace', + in: [{ string: 'string' }, { search: 'string' }, { replace: 'string' }], + out: [ + { + name: 'newString', + valueType: 'string', + }, + ], + exec: (string: string, search: string, replace: string) => + string.replace(search, replace), +}) diff --git a/plugins/core/src/lib/nodes/knowledge/context.ts b/plugins/core/src/lib/nodes/knowledge/context.ts index 3e84386e10..ceaee01e00 100644 --- a/plugins/core/src/lib/nodes/knowledge/context.ts +++ b/plugins/core/src/lib/nodes/knowledge/context.ts @@ -21,6 +21,7 @@ export const getContext = makeFlowNodeDefinition({ in: { flow: 'flow', query: 'string', + packId: 'string', }, out: { flow: 'flow', @@ -29,7 +30,7 @@ export const getContext = makeFlowNodeDefinition({ initialState: undefined, triggered: async ({ commit, read, write, configuration, graph }) => { const query = read('query') as string - const packId = validatePackId(configuration.packId) + const packId = validatePackId(read('packId') || configuration.packId) const { getDependency } = graph const embedder = getDependency( diff --git a/plugins/core/src/lib/nodes/knowledge/index.ts b/plugins/core/src/lib/nodes/knowledge/index.ts index 5136f450a5..8422efb335 100644 --- a/plugins/core/src/lib/nodes/knowledge/index.ts +++ b/plugins/core/src/lib/nodes/knowledge/index.ts @@ -52,6 +52,42 @@ export const createPack = makeFlowNodeDefinition({ }, }) +export const deletePack = makeFlowNodeDefinition({ + typeName: 'knowledge/embedder/deleteKnowledgePack', + category: NodeCategory.Action, + label: 'Delete Knowledge Pack', + in: { + flow: 'flow', + id: 'string', // Requires the ID of the pack to delete + }, + out: { + flow: 'flow', + result: 'string', // Can output the result of the deletion process + }, + initialState: undefined, + triggered: async ({ commit, read, write, graph }) => { + const id = read('id') as string + + const { getDependency } = graph + const embedder = getDependency( + CORE_DEP_KEYS.EMBEDDER_CLIENT + ) + + if (!embedder) { + throw new Error('Embedder client not found') + } + + try { + await embedder.deletePack(undefined, { params: { id } }) + + commit('flow') + } catch (error) { + console.error('Error deleting pack:', error) + write('result', 'Error deleting pack') + } + }, +}) + export const getManyPacks = makeFlowNodeDefinition({ typeName: 'knowledge/embedder/getManyPacks', category: NodeCategory.Action, @@ -102,6 +138,7 @@ export const getPack = makeFlowNodeDefinition({ }, in: { flow: 'flow', + packId: 'string', }, out: { flow: 'flow', @@ -112,8 +149,8 @@ export const getPack = makeFlowNodeDefinition({ sources: 'array', }, initialState: undefined, - triggered: async ({ commit, write, configuration, graph }) => { - const packId = validatePackId(configuration.packId) + triggered: async ({ commit, write, read, configuration, graph }) => { + const packId = validatePackId(read('packId') || configuration.packId) const { getDependency } = graph const embedder = getDependency( @@ -164,15 +201,19 @@ export const getChunks = makeFlowNodeDefinition({ }, in: { flow: 'flow', + packId: 'string', + loaderId: 'string', }, out: { flow: 'flow', chunks: 'array', }, initialState: undefined, - triggered: async ({ commit, write, configuration, graph }) => { - const packId = validatePackId(configuration.packId) - const loaderId = configuration.loaderId + triggered: async ({ commit, write, read, configuration, graph }) => { + const socketPackId = read('packId') + const socketLoaderId = read('loaderId') + const packId = validatePackId(socketPackId || configuration.packId) + const loaderId = socketLoaderId || configuration.loaderId const { getDependency } = graph const embedder = getDependency( @@ -184,7 +225,7 @@ export const getChunks = makeFlowNodeDefinition({ } try { - const chunks = await embedder.getLoaderChunks({ + const chunks = await embedder.getLoader({ params: { id: packId, loaderId, diff --git a/plugins/core/src/lib/nodes/knowledge/query.ts b/plugins/core/src/lib/nodes/knowledge/query.ts index 7528126844..e47c934a17 100644 --- a/plugins/core/src/lib/nodes/knowledge/query.ts +++ b/plugins/core/src/lib/nodes/knowledge/query.ts @@ -26,6 +26,7 @@ export const queryPack = makeFlowNodeDefinition({ in: { flow: 'flow', query: 'string', + packId: 'string', }, out: { flow: 'flow', @@ -35,7 +36,7 @@ export const queryPack = makeFlowNodeDefinition({ initialState: undefined, triggered: async ({ commit, read, write, configuration, graph }) => { const query = read('query') as string - const packId = validatePackId(configuration.packId) + const packId = validatePackId(read('packId') || configuration.packId) const { getDependency } = graph const embedder = getDependency( diff --git a/plugins/core/src/lib/nodes/knowledge/source.ts b/plugins/core/src/lib/nodes/knowledge/source.ts index 6f4417c19b..eaa9328004 100644 --- a/plugins/core/src/lib/nodes/knowledge/source.ts +++ b/plugins/core/src/lib/nodes/knowledge/source.ts @@ -35,11 +35,12 @@ const makeKnowledgeSourceNode = (type: LoaderType) => { flow: 'flow', name: 'string', description: 'string', + packId: 'string', ...inputs, }, out: { flow: 'flow', - id: 'string', + loaderId: 'string', status: 'string', }, initialState: undefined, @@ -56,7 +57,7 @@ const makeKnowledgeSourceNode = (type: LoaderType) => { return acc }, {} as Record) - const packId = validatePackId(configuration.packId) + const packId = validatePackId(read('packId') || configuration.packId) const { getDependency } = graph @@ -87,7 +88,7 @@ const makeKnowledgeSourceNode = (type: LoaderType) => { ) write('status', res.status) - write('id', res.id) + write('loaderId', res.id) commit('flow') } catch (error) { diff --git a/plugins/core/src/lib/nodes/knowledge/waitForEmbedderJob.ts b/plugins/core/src/lib/nodes/knowledge/waitForEmbedderJob.ts new file mode 100644 index 0000000000..ef71827a38 --- /dev/null +++ b/plugins/core/src/lib/nodes/knowledge/waitForEmbedderJob.ts @@ -0,0 +1,130 @@ +import { NodeCategory, makeAsyncNodeDefinition } from '@magickml/behave-graph' +import type { EmbedderClient } from '@magickml/embedder/client/ts' +import { CORE_DEP_KEYS } from '../../config' + +type InitialState = { + isBusy: boolean + isCancelled: boolean +} + +const makeInitialState = (): InitialState => { + return { + isBusy: false, + isCancelled: false, + } +} + +export const waitForEmbedderJob = makeAsyncNodeDefinition({ + typeName: 'knowledge/embedder/awaitLoader', + category: NodeCategory.Action, + label: 'Await Loader', + configuration: { + checkIntervalMs: { + valueType: 'integer', + defaultValue: 500, + }, + }, + in: { + flow: { + valueType: 'flow', + }, + cancel: { + valueType: 'flow', // Trigger input to cancel the operation + }, + loaderId: { + valueType: 'string', + }, + packId: { + valueType: 'string', + }, + }, + out: { + completed: 'flow', + failed: 'flow', + pending: 'flow', + processing: 'flow', + lastStatus: 'string', + result: 'object', + }, + initialState: makeInitialState(), + triggered: async ({ + commit, + read, + write, + graph, + state, + finished = () => {}, + configuration, + triggeringSocketName, + }) => { + if (triggeringSocketName === 'cancel') { + console.log('Cancellation requested.') + state.isBusy = false + finished() + return state + } + + const loaderId = read('loaderId') as string + const packId = read('packId') as string + const interval = Number(configuration.checkIntervalMs) || 500 + + if (!loaderId) { + console.error('Job ID not provided') + commit('failed') + finished() + return state + } + + const embedder = graph.getDependency( + CORE_DEP_KEYS.EMBEDDER_CLIENT + ) + + if (state.isBusy) { + console.error('Node is already busy') + return state + } + + if (!embedder) { + console.error('Embedder client not found') + state.isBusy = false + commit('failed') + finished() + return state + } + + state.isBusy = true + + while (state.isBusy) { + console.log('Polling job status...') + const loaderRes = await embedder.getLoader({ + params: { id: packId, loaderId }, + }) + const loaderStatus = loaderRes.status + + if (loaderStatus === 'completed') { + state.isBusy = false + write('result', loaderRes) + commit('completed') + finished() + return state + } + + if (loaderStatus === 'failed') { + state.isBusy = false + commit('failed') + finished() + return state + } + + await new Promise(resolve => setTimeout(resolve, interval)) + } + + return state + }, + dispose: () => { + return { + isCancelled: false, + isBusy: false, + } + }, +}) diff --git a/plugins/core/src/lib/nodes/lifecycle/onTick.ts b/plugins/core/src/lib/nodes/lifecycle/onTick.ts index ab6bf9dd3f..2b3e7c630a 100644 --- a/plugins/core/src/lib/nodes/lifecycle/onTick.ts +++ b/plugins/core/src/lib/nodes/lifecycle/onTick.ts @@ -39,13 +39,15 @@ export const LifecycleOnTick = makeMagickEventNodeDefinition( const eventStore = graph.getDependency( CORE_DEP_KEYS.EVENT_STORE ) - const initialEvent = eventStore?.initialEvent() + if (!eventStore) return + const initialEvent = eventStore.initialEvent() || undefined - if (!agent || !eventStore) return + if (!agent) return let lastTickTime = Date.now() const onTickEvent = () => { + if (initialEvent === undefined) return const event = agent?.formatEvent<{}>({ ...initialEvent, content: '', diff --git a/plugins/core/src/lib/nodes/query/getManyVariables.ts b/plugins/core/src/lib/nodes/query/getManyVariables.ts index 2aa2e74c06..83c991f8ff 100644 --- a/plugins/core/src/lib/nodes/query/getManyVariables.ts +++ b/plugins/core/src/lib/nodes/query/getManyVariables.ts @@ -7,6 +7,7 @@ import { } from '@magickml/behave-graph' import { IVariableService } from '../../services/variableService' import { CORE_DEP_KEYS } from '../../config' +import { parseValue } from '../../utils/parseValue' export const getManyVariables = makeFunctionNodeDefinition({ typeName: 'variables/getMany', @@ -85,28 +86,7 @@ export const getManyVariables = makeFunctionNodeDefinition({ value = variable.initialValue } - switch (variable.valueTypeName) { - case 'integer': - value = BigInt(value) - break - case 'float': - value = parseFloat(value) - break - case 'boolean': - value = Boolean(value) - break - case 'string': - value = String(value) - break - case 'array': - value = Array.isArray(value) ? value : [value] - break - case 'object': - value = typeof value === 'object' ? value : {} - break - default: - break - } + value = parseValue(value, variable.valueTypeName) write(socketOutput.name, value) } diff --git a/plugins/core/src/lib/services/coreLLMService/coreLLMService.ts b/plugins/core/src/lib/services/coreLLMService/coreLLMService.ts index d312d6a87e..44b8751ba2 100644 --- a/plugins/core/src/lib/services/coreLLMService/coreLLMService.ts +++ b/plugins/core/src/lib/services/coreLLMService/coreLLMService.ts @@ -8,6 +8,7 @@ import pino from 'pino' import { PRODUCTION } from 'clientConfig' import { streamText } from 'ai' import { createOpenAI } from '@magickml/vercel-sdk-core' +import { clerkClient } from '@clerk/clerk-sdk-node' const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)) @@ -59,7 +60,7 @@ export class CoreLLMService implements ICoreLLMService { const actualMaxRetries = Math.max(1, maxRetries) - const useWallet = this.userData?.user.useWallet + let useWallet = this.userData?.user.useWallet const mpUser = this.userData?.user.mpUser const walletUser = this.userData?.user.walletUser @@ -82,7 +83,7 @@ export class CoreLLMService implements ICoreLLMService { baseURL: process.env['KEYWORDS_API_URL'], apiKey: process.env['KEYWORDS_API_KEY'], extraMetaData: { - ...(PRODUCTION + ...(!PRODUCTION ? { customer_identifier: useWallet ? walletUser?.customer_identifier @@ -143,8 +144,27 @@ export class CoreLLMService implements ICoreLLMService { }) return chatCompletion as any - } catch (error) { + } catch (error: any) { console.error(`Attempt ${attempts + 1} failed:`, error) + + if ( + (error?.responseBody?.includes( + 'has exceeded their budget for this period' + ) || + error?.message?.includes('Payment Required')) && + !useWallet && + attempts === 0 // Only switch to wallet on the first attempt + ) { + await clerkClient.users.updateUserMetadata( + this.userData?.user.id || '', + { + publicMetadata: { + useWallet: true, + }, + } + ) + useWallet = true + } attempts++ if (attempts < actualMaxRetries) { await sleep(delayMs) diff --git a/plugins/core/src/lib/utils/parseValue.ts b/plugins/core/src/lib/utils/parseValue.ts new file mode 100644 index 0000000000..4ad04da9ba --- /dev/null +++ b/plugins/core/src/lib/utils/parseValue.ts @@ -0,0 +1,18 @@ +export const parseValue = (value: any, valueType: string) => { + switch (valueType) { + case 'integer': + return BigInt(value) + case 'float': + return parseFloat(value) + case 'boolean': + return Boolean(value) + case 'string': + return String(value) + case 'array': + return Array.isArray(value) ? value : [value] + case 'object': + return typeof value === 'object' ? value : {} + default: + return value + } +} diff --git a/plugins/discord/src/lib/configx.ts b/plugins/discord/src/lib/configx.ts index 2d4672b188..1da2e3fffb 100644 --- a/plugins/discord/src/lib/configx.ts +++ b/plugins/discord/src/lib/configx.ts @@ -95,8 +95,11 @@ type BaseEvent = { guildId?: string fail_if_not_exists?: boolean } + +export type MessageCreateEvent = BaseEvent & APIMessage + export type BaseDiscordEventPayload = { - [DISCORD_EVENTS.messageCreate]: BaseEvent & APIMessage + [DISCORD_EVENTS.messageCreate]: MessageCreateEvent [DISCORD_EVENTS.messageReactionAdd]: BaseEvent & APIReaction } export type DiscordEventPayload = BaseDiscordEventPayload diff --git a/plugins/discord/src/lib/discordPlugin.ts b/plugins/discord/src/lib/discordPlugin.ts index 75c340ec6b..5c45204dee 100644 --- a/plugins/discord/src/lib/discordPlugin.ts +++ b/plugins/discord/src/lib/discordPlugin.ts @@ -191,11 +191,18 @@ export class DiscordPlugin extends WebSocketPlugin< } if (eventName === 'messageCreate') { + const attachments = payload.attachments.map((attachment: any) => + attachment.toJSON() + ) + this.triggerMessageReceived( this.utils.createEventPayload( eventName, - payload as DiscordEventPayload[typeof eventName], - this.getContext() + payload.toJSON() as DiscordEventPayload[typeof eventName], + this.getContext(), + { + attachments, + } ) ) } @@ -204,7 +211,7 @@ export class DiscordPlugin extends WebSocketPlugin< eventName, this.utils.createEventPayload( eventName, - payload, + payload.toJSON(), this.getContext() ) ) diff --git a/plugins/discord/src/lib/services/discord-message-utils.ts b/plugins/discord/src/lib/services/discord-message-utils.ts index 3ae2143778..bfb28be81b 100644 --- a/plugins/discord/src/lib/services/discord-message-utils.ts +++ b/plugins/discord/src/lib/services/discord-message-utils.ts @@ -76,7 +76,8 @@ export class DiscordMessageUtils { public createEventPayload( eventName: K, payload: DiscordEventPayload[K], - context: DiscordAgentContext | null | undefined + context: DiscordAgentContext | null | undefined, + metadata = {} ): EventPayload { return { connector: 'discord', @@ -95,6 +96,7 @@ export class DiscordMessageUtils { data: payload, metadata: { context, + ...metadata, }, } } diff --git a/portal/cloud b/portal/cloud index 88d8a89206..898ae5c231 160000 --- a/portal/cloud +++ b/portal/cloud @@ -1 +1 @@ -Subproject commit 88d8a8920619ba0f1609ecdc40a42a956446440d +Subproject commit 898ae5c23102dd6f7ac42c446822b45aec9d3cc7 diff --git a/scripts/Dockerfile.connector b/scripts/Dockerfile.connector index f2c38b8569..e7a7943c49 100644 --- a/scripts/Dockerfile.connector +++ b/scripts/Dockerfile.connector @@ -15,7 +15,9 @@ RUN git submodule update --init --recursive portal/cloud # RUN poetry install --no-root -RUN npm install +# RUN npm i -g bun + +RUN npm i RUN npm run build-connector diff --git a/scripts/Dockerfile.embedder b/scripts/Dockerfile.embedder index afcd3777d3..ad208b2793 100644 --- a/scripts/Dockerfile.embedder +++ b/scripts/Dockerfile.embedder @@ -16,7 +16,12 @@ RUN git submodule update --init --recursive portal/cloud # This application does not need the prisma clients RUN sed -i '/"postinstall":/d' package.json -RUN npm install +# RUN npm i -g bun + +# RUN bun i + + +RUN npm i # Using the nx cli to build the app the .output folder is disappearing # I'll figure it out later but for now this works diff --git a/scripts/Dockerfile.manager b/scripts/Dockerfile.manager index c1e7c92411..62da337484 100644 --- a/scripts/Dockerfile.manager +++ b/scripts/Dockerfile.manager @@ -15,7 +15,12 @@ RUN git submodule update --init --recursive portal/cloud # RUN poetry install --no-root -RUN npm install +# RUN npm i -g bun + +# RUN bun i + +RUN npm i + RUN npm run build-cloud-agent-manager diff --git a/scripts/Dockerfile.server b/scripts/Dockerfile.server index 7d37e94783..7f19fdc94d 100644 --- a/scripts/Dockerfile.server +++ b/scripts/Dockerfile.server @@ -15,9 +15,12 @@ RUN git submodule update --init --recursive portal/cloud # RUN poetry install --no-root -RUN npm i -g nx +# RUN npm i -g nx +# RUN npm i -g bun -RUN npm install +# RUN bun i + +RUN npm i RUN npm run build-server diff --git a/scripts/Dockerfile.worker b/scripts/Dockerfile.worker index 07d9743540..b0d94d9946 100644 --- a/scripts/Dockerfile.worker +++ b/scripts/Dockerfile.worker @@ -15,7 +15,11 @@ RUN git submodule update --init --recursive portal/cloud # RUN poetry install --no-root -RUN npm install +# RUN npm i -g bun + +# RUN bun i + +RUN npm i RUN npm run build-cloud-agent-worker