diff --git a/.serena/.gitignore b/.serena/.gitignore new file mode 100644 index 0000000..14d86ad --- /dev/null +++ b/.serena/.gitignore @@ -0,0 +1 @@ +/cache diff --git a/.serena/project.yml b/.serena/project.yml new file mode 100644 index 0000000..c1baf85 --- /dev/null +++ b/.serena/project.yml @@ -0,0 +1,67 @@ +# language of the project (csharp, python, rust, java, typescript, go, cpp, or ruby) +# * For C, use cpp +# * For JavaScript, use typescript +# Special requirements: +# * csharp: Requires the presence of a .sln file in the project folder. +language: typescript + +# whether to use the project's gitignore file to ignore files +# Added on 2025-04-07 +ignore_all_files_in_gitignore: true +# list of additional paths to ignore +# same syntax as gitignore, so you can use * and ** +# Was previously called `ignored_dirs`, please update your config if you are using that. +# Added (renamed) on 2025-04-07 +ignored_paths: [] + +# whether the project is in read-only mode +# If set to true, all editing tools will be disabled and attempts to use them will result in an error +# Added on 2025-04-18 +read_only: false + +# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details. +# Below is the complete list of tools for convenience. +# To make sure you have the latest list of tools, and to view their descriptions, +# execute `uv run scripts/print_tool_overview.py`. +# +# * `activate_project`: Activates a project by name. +# * `check_onboarding_performed`: Checks whether project onboarding was already performed. +# * `create_text_file`: Creates/overwrites a file in the project directory. +# * `delete_lines`: Deletes a range of lines within a file. +# * `delete_memory`: Deletes a memory from Serena's project-specific memory store. +# * `execute_shell_command`: Executes a shell command. +# * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced. +# * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type). +# * `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filtered by type). +# * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes. +# * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file. +# * `initial_instructions`: Gets the initial instructions for the current project. +# Should only be used in settings where the system prompt cannot be set, +# e.g. in clients you have no control over, like Claude Desktop. +# * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol. +# * `insert_at_line`: Inserts content at a given line in a file. +# * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol. +# * `list_dir`: Lists files and directories in the given directory (optionally with recursion). +# * `list_memories`: Lists memories in Serena's project-specific memory store. +# * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building). +# * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context). +# * `read_file`: Reads a file within the project directory. +# * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store. +# * `remove_project`: Removes a project from the Serena configuration. +# * `replace_lines`: Replaces a range of lines within a file with new content. +# * `replace_symbol_body`: Replaces the full definition of a symbol. +# * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen. +# * `search_for_pattern`: Performs a search for a pattern in the project. +# * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase. +# * `switch_modes`: Activates modes by providing a list of their names +# * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information. +# * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task. +# * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed. +# * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store. +excluded_tools: [] + +# initial prompt for the project. It will always be given to the LLM upon activating the project +# (contrary to the memories, which are loaded on demand). +initial_prompt: "" + +project_name: "dees-catalog" diff --git a/package.json b/package.json index 1f3e34e..94d34fa 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@fortawesome/free-solid-svg-icons": "^7.0.1", "@push.rocks/smarti18n": "^1.0.4", "@push.rocks/smartpromise": "^4.2.0", - "@push.rocks/smartstring": "^4.0.15", + "@push.rocks/smartstring": "^4.1.0", "@tiptap/core": "^2.23.0", "@tiptap/extension-link": "^2.23.0", "@tiptap/extension-text-align": "^2.23.0", @@ -33,11 +33,11 @@ "@tiptap/starter-kit": "^2.23.0", "@tsclass/tsclass": "^9.2.0", "@webcontainer/api": "1.2.0", - "apexcharts": "^5.3.4", + "apexcharts": "^5.3.5", "highlight.js": "11.11.1", "ibantools": "^4.5.1", - "lucide": "^0.542.0", - "monaco-editor": "^0.52.2", + "lucide": "^0.544.0", + "monaco-editor": "^0.53.0", "pdfjs-dist": "^4.10.38", "xterm": "^5.3.0", "xterm-addon-fit": "^0.8.0" @@ -45,7 +45,7 @@ "devDependencies": { "@git.zone/tsbuild": "^2.6.8", "@git.zone/tsbundle": "^2.5.1", - "@git.zone/tstest": "^2.3.6", + "@git.zone/tstest": "^2.3.8", "@git.zone/tswatch": "^2.2.1", "@push.rocks/projectinfo": "^5.0.2", "@push.rocks/tapbundle": "^6.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0dce138..dfca3cc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,8 +36,8 @@ importers: specifier: ^4.2.0 version: 4.2.3 '@push.rocks/smartstring': - specifier: ^4.0.15 - version: 4.0.15 + specifier: ^4.1.0 + version: 4.1.0 '@tiptap/core': specifier: ^2.23.0 version: 2.23.0(@tiptap/pm@2.23.0) @@ -63,8 +63,8 @@ importers: specifier: 1.2.0 version: 1.2.0 apexcharts: - specifier: ^5.3.4 - version: 5.3.4 + specifier: ^5.3.5 + version: 5.3.5 highlight.js: specifier: 11.11.1 version: 11.11.1 @@ -72,11 +72,11 @@ importers: specifier: ^4.5.1 version: 4.5.1 lucide: - specifier: ^0.542.0 - version: 0.542.0 + specifier: ^0.544.0 + version: 0.544.0 monaco-editor: - specifier: ^0.52.2 - version: 0.52.2 + specifier: ^0.53.0 + version: 0.53.0 pdfjs-dist: specifier: ^4.10.38 version: 4.10.38 @@ -94,8 +94,8 @@ importers: specifier: ^2.5.1 version: 2.5.1 '@git.zone/tstest': - specifier: ^2.3.6 - version: 2.3.6(@aws-sdk/credential-providers@3.826.0)(socks@2.8.7)(typescript@5.9.2) + specifier: ^2.3.8 + version: 2.3.8(@aws-sdk/credential-providers@3.826.0)(socks@2.8.7)(typescript@5.9.2) '@git.zone/tswatch': specifier: ^2.2.1 version: 2.2.1 @@ -807,8 +807,8 @@ packages: resolution: {integrity: sha512-DDzWunkxXLtXJTxBf4EioXLwhuqdA2VzdTmOzWrw4Z4Qnms/YM67q36yajwNohAajPYyRz5DayU0ikrceFXyVw==} hasBin: true - '@git.zone/tstest@2.3.6': - resolution: {integrity: sha512-2dcVM1WvQj9FoLPRWbLgBCWnDK0auI2c2vJxUzrLe0bi/ci50yrXxyKb2FIToQ+kOVe234Yb6jhNyp/d/zyHMQ==} + '@git.zone/tstest@2.3.8': + resolution: {integrity: sha512-rt7rpR2UwzHXjpqquEvWG4LfzGOGeI6lcR2YyO8pc7lqjhH+xsuaWPUQ5IwFl4Vw4VnR9ZoHBCqkjvxF8ow1wQ==} hasBin: true '@git.zone/tswatch@2.2.1': @@ -1012,6 +1012,39 @@ packages: '@pdf-lib/upng@1.0.1': resolution: {integrity: sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==} + '@peculiar/asn1-cms@2.5.0': + resolution: {integrity: sha512-p0SjJ3TuuleIvjPM4aYfvYw8Fk1Hn/zAVyPJZTtZ2eE9/MIer6/18ROxX6N/e6edVSfvuZBqhxAj3YgsmSjQ/A==} + + '@peculiar/asn1-csr@2.5.0': + resolution: {integrity: sha512-ioigvA6WSYN9h/YssMmmoIwgl3RvZlAYx4A/9jD2qaqXZwGcNlAxaw54eSx2QG1Yu7YyBC5Rku3nNoHrQ16YsQ==} + + '@peculiar/asn1-ecc@2.5.0': + resolution: {integrity: sha512-t4eYGNhXtLRxaP50h3sfO6aJebUCDGQACoeexcelL4roMFRRVgB20yBIu2LxsPh/tdW9I282gNgMOyg3ywg/mg==} + + '@peculiar/asn1-pfx@2.5.0': + resolution: {integrity: sha512-Vj0d0wxJZA+Ztqfb7W+/iu8Uasw6hhKtCdLKXLG/P3kEPIQpqGI4P4YXlROfl7gOCqFIbgsj1HzFIFwQ5s20ug==} + + '@peculiar/asn1-pkcs8@2.5.0': + resolution: {integrity: sha512-L7599HTI2SLlitlpEP8oAPaJgYssByI4eCwQq2C9eC90otFpm8MRn66PpbKviweAlhinWQ3ZjDD2KIVtx7PaVw==} + + '@peculiar/asn1-pkcs9@2.5.0': + resolution: {integrity: sha512-UgqSMBLNLR5TzEZ5ZzxR45Nk6VJrammxd60WMSkofyNzd3DQLSNycGWSK5Xg3UTYbXcDFyG8pA/7/y/ztVCa6A==} + + '@peculiar/asn1-rsa@2.5.0': + resolution: {integrity: sha512-qMZ/vweiTHy9syrkkqWFvbT3eLoedvamcUdnnvwyyUNv5FgFXA3KP8td+ATibnlZ0EANW5PYRm8E6MJzEB/72Q==} + + '@peculiar/asn1-schema@2.5.0': + resolution: {integrity: sha512-YM/nFfskFJSlHqv59ed6dZlLZqtZQwjRVJ4bBAiWV08Oc+1rSd5lDZcBEx0lGDHfSoH3UziI2pXt2UM33KerPQ==} + + '@peculiar/asn1-x509-attr@2.5.0': + resolution: {integrity: sha512-9f0hPOxiJDoG/bfNLAFven+Bd4gwz/VzrCIIWc1025LEI4BXO0U5fOCTNDPbbp2ll+UzqKsZ3g61mpBp74gk9A==} + + '@peculiar/asn1-x509@2.5.0': + resolution: {integrity: sha512-CpwtMCTJvfvYTFMuiME5IH+8qmDe3yEWzKHe7OOADbGfq7ohxeLaXwQo0q4du3qs0AII3UbLCvb9NF/6q0oTKQ==} + + '@peculiar/x509@1.14.0': + resolution: {integrity: sha512-Yc4PDxN3OrxUPiXgU63c+ZRXKGE8YKF2McTciYhUHFtHVB0KMnjeFSU0qpztGhsp4P0uKix4+J2xEpIEDu8oXg==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1028,8 +1061,8 @@ packages: resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} - '@puppeteer/browsers@2.10.8': - resolution: {integrity: sha512-f02QYEnBDE0p8cteNoPYHHjbDuwyfbe4cCIVlNi8/MRicIxFW4w4CfgU0LNgWEID6s06P+hRJ1qjpBLMhPRCiQ==} + '@puppeteer/browsers@2.10.9': + resolution: {integrity: sha512-kUGHwABarVhvMP+zhW5zvDA7LmGcd4TwrTEBwcTQic5EebUqaK5NjC0UXLJepIFVGsr2N/Z8NJQz2JYGo1ZwxA==} engines: {node: '>=18'} hasBin: true @@ -1105,6 +1138,9 @@ packages: '@push.rocks/smartdelay@3.0.5': resolution: {integrity: sha512-mUuI7kj2f7ztjpic96FvRIlf2RsKBa5arw81AHNsndbxO6asRcxuWL8dTVxouEIK8YsBUlj0AsrCkHhMbLQdHw==} + '@push.rocks/smartdns@7.6.1': + resolution: {integrity: sha512-nnP5+A2GOt0WsHrYhtKERmjdEHUchc+QbCCBEqlyeQTn+mNfx2WZvKVI1DFRJt8lamvzxP6Hr/BSe3WHdh4Snw==} + '@push.rocks/smartenv@5.0.12': resolution: {integrity: sha512-tDEFwywzq0FNzRYc9qY2dRl2pgQuZG0G2/yml2RLWZWSW+Fn1EHshnKOGHz8o77W7zvu4hTgQQX42r/JY5XHTg==} @@ -1153,6 +1189,9 @@ packages: '@push.rocks/smartjson@5.0.20': resolution: {integrity: sha512-ogGBLyOTluphZVwBYNyjhm5sziPGuiAwWihW07OSRxD4HQUyqj9Ek6r1pqH07JUG5EbtRYivM1Yt1cCwnu3JVQ==} + '@push.rocks/smartjson@5.2.0': + resolution: {integrity: sha512-710e8UwovRfPgUtaBHcd6unaODUjV5fjxtGcGCqtaTcmvOV6VpasdVfT66xMDzQmWH2E9ZfHDJeso9HdDQzNQA==} + '@push.rocks/smartlog-destination-devtools@1.0.12': resolution: {integrity: sha512-zvsIkrqByc0JRaBgIyhh+PSz2SY/e/bmhZdUcr/OW6pudgAcqe2sso68EzrKux0w9OMl1P9ZnzF3FpCZPFWD/A==} @@ -1189,8 +1228,8 @@ packages: '@push.rocks/smartmongo@2.0.12': resolution: {integrity: sha512-NglYiO14BikxnlvW6JF18FtopBtaWQEGAtPxHmmSCbyhU8Mi0aEFO7VgCasE9Kguba/wcR597qhcDEdcpBg1eQ==} - '@push.rocks/smartnetwork@4.1.2': - resolution: {integrity: sha512-TjucG72ooHgzAUpNu2LAv4iFoettmZq2aEWhhzIa7AKcOvt4yxsk3Vl73guhKRohTfhdRauPcH5OHISLUHJbYA==} + '@push.rocks/smartnetwork@4.4.0': + resolution: {integrity: sha512-OvFtz41cvQ7lcXwaIOhghNUUlNoMxvwKDctbDvMyuZyEH08SpLjhyv2FuKbKL/mgwA/WxakTbohoC8SW7t+kiw==} '@push.rocks/smartnpm@2.0.6': resolution: {integrity: sha512-7anKDOjX6gXWs1IAc+YWz9ZZ8gDsTwaLh+CxRnGHjAawOmK788NrrgVCg2Fb3qojrPnoxecc46F8Ivp1BT7Izw==} @@ -1267,8 +1306,8 @@ packages: '@push.rocks/smartstream@3.2.5': resolution: {integrity: sha512-PLGGIFDy8JLNVUnnntMSIYN4W081YSbNC7Y/sWpvUT8PAXtbEXXUiDFgK5o3gcI0ptpKQxHAwxhzNlPj0sbFVg==} - '@push.rocks/smartstring@4.0.15': - resolution: {integrity: sha512-NTNeOjWyg+aHtBTiQEyXamr7oTvYZ3wS1fudHo9ua7CLrykpK+i+RxFyJaLg1zB5x9xQF3NLEQecB14HPFX8Cg==} + '@push.rocks/smartstring@4.1.0': + resolution: {integrity: sha512-Q4py/Nm3KTDhQ9EiC75yBtSTLR0KLMwhKM+8gGcutgKotZT6wJ3gncjmtD8LKFfNhb4lSaFMgPJgLrCHTOH6Iw==} '@push.rocks/smarttime@4.1.1': resolution: {integrity: sha512-Ha/3J/G+zfTl4ahpZgF6oUOZnUjpLhrBja0OQ2cloFxF9sKT8I1COaSqIfBGDtoK2Nly4UD4aTJ3JcJNOg/kgA==} @@ -2164,6 +2203,9 @@ packages: '@types/babel__code-frame@7.0.6': resolution: {integrity: sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==} + '@types/bn.js@5.2.0': + resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} + '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} @@ -2209,8 +2251,11 @@ packages: '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - '@types/default-gateway@7.2.2': - resolution: {integrity: sha512-35C93fYQlnLKLASkMPoxRvok4fENwB3By9clRLd2I/08n/XRl0pCdf7EB17K5oMMwZu8NBYA8i66jH5r/LYBKA==} + '@types/dns-packet@5.6.5': + resolution: {integrity: sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q==} + + '@types/elliptic@6.4.18': + resolution: {integrity: sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw==} '@types/express-serve-static-core@5.0.6': resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==} @@ -2372,6 +2417,9 @@ packages: '@types/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} + '@types/trusted-types@1.0.6': + resolution: {integrity: sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==} + '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -2451,6 +2499,10 @@ packages: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} + acme-client@5.4.0: + resolution: {integrity: sha512-mORqg60S8iML6XSmVjqjGHJkINrCGLMj2QvDmFzI9vIlv1RGlyjmw3nrzaINJjkNsYXC41XhhD5pfy7CtuGcbA==} + engines: {node: '>= 16'} + agent-base@7.1.3: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} @@ -2499,8 +2551,8 @@ packages: resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} engines: {node: '>=14'} - apexcharts@5.3.4: - resolution: {integrity: sha512-N0gNh8uLu/BN8N+BCphNK+gZAoSoUtDDn1jFGB+3+EMcv8s6vajuP3W0g4dMLTRp6chFkjMmQK3uD8pz4ISmLA==} + apexcharts@5.3.5: + resolution: {integrity: sha512-I04DY/WBZbJgJD2uixeV5EzyiL+J5LgKQXEu8rctqAwyRmKv44aDVeofJoLdTJe3ao4r2KEQfCgtVzXn6pqirg==} argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -2512,6 +2564,10 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + asn1js@3.0.6: + resolution: {integrity: sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==} + engines: {node: '>=12.0.0'} + ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -2533,6 +2589,9 @@ packages: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} + axios@1.12.2: + resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==} + b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -2548,8 +2607,8 @@ packages: bare-events@2.6.1: resolution: {integrity: sha512-AuTJkq9XmE6Vk0FJVNq5QxETrSA/vKHarWVBG5l/JbdCL1prJemiyJqUS0jrlXO0MftuPq4m3YVYhoNc5+aE/g==} - bare-fs@4.2.3: - resolution: {integrity: sha512-1aGs5pRVLToMQ79elP+7cc0u0s/wXAzfBv/7hDloT7WFggLqECCas5qqPky7WHCFdsBH5WDq6sD4fAoz5sJbtA==} + bare-fs@4.4.4: + resolution: {integrity: sha512-Q8yxM1eLhJfuM7KXVP3zjhBvtMJCYRByoTT+wHXjpdMELv0xICFJX+1w4c7csa+WZEOsq4ItJ4RGwvzid6m/dw==} engines: {bare: '>=1.16.0'} peerDependencies: bare-buffer: '*' @@ -2575,6 +2634,9 @@ packages: bare-events: optional: true + bare-url@2.2.2: + resolution: {integrity: sha512-g+ueNGKkrjMazDG3elZO1pNs3HY5+mMmOet1jtKyhOaCnkLzitxf26z7hoAEkDNgdNmnc1KIlt/dw6Po6xZMpA==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -2586,6 +2648,9 @@ packages: resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} + bn.js@4.12.2: + resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} + body-parser@2.2.0: resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} engines: {node: '>=18'} @@ -2609,6 +2674,9 @@ packages: broadcast-channel@7.1.0: resolution: {integrity: sha512-InJljddsYWbEL8LBnopnCg+qMQp9KcowvYWOt4YWrjD5HmxzDYKdVbDS1w/ji5rFZdRD58V5UxJPtBdpEbEJYw==} + brorand@1.1.0: + resolution: {integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=} + bson@4.7.2: resolution: {integrity: sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==} engines: {node: '>=6.9.0'} @@ -2724,10 +2792,6 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clone-regexp@3.0.0: - resolution: {integrity: sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==} - engines: {node: '>=12'} - clone@2.1.2: resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=} engines: {node: '>=0.8'} @@ -2797,10 +2861,6 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - convert-hrtime@5.0.0: - resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} - engines: {node: '>=12'} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -2893,6 +2953,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decode-named-character-reference@1.2.0: resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} @@ -2980,10 +3049,6 @@ packages: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} - dns-socket@4.2.2: - resolution: {integrity: sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==} - engines: {node: '>=6'} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -2994,6 +3059,9 @@ packages: ee-first@1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3234,6 +3302,15 @@ packages: fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} @@ -3313,10 +3390,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function-timeout@0.1.1: - resolution: {integrity: sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==} - engines: {node: '>=14.16'} - get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -3381,10 +3454,6 @@ packages: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} engines: {node: '>=14.16'} - got@13.0.0: - resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} - engines: {node: '>=16'} - graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} @@ -3414,6 +3483,9 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -3435,6 +3507,9 @@ packages: resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} engines: {node: '>=12.0.0'} + hmac-drbg@1.0.1: + resolution: {integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -3545,10 +3620,6 @@ packages: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} engines: {node: '>=8'} - ip-regex@5.0.0: - resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -3584,10 +3655,6 @@ packages: resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} engines: {node: '>=8'} - is-ip@5.0.1: - resolution: {integrity: sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==} - engines: {node: '>=14.16'} - is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -3615,10 +3682,6 @@ packages: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} - is-regexp@3.1.0: - resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} - engines: {node: '>=12'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -3695,9 +3758,6 @@ packages: resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - js-base64@3.7.7: - resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} - js-base64@3.7.8: resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} @@ -3887,8 +3947,8 @@ packages: resolution: {integrity: sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==} engines: {node: '>=16.14'} - lucide@0.542.0: - resolution: {integrity: sha512-+EtDSHjqg/nONgCfnjHCNd84OzbDjxR8ShnOf+oImlU+A8gqlptZ6pGrMCnhEDw8pVNQv3zu/L0eDvMzcc7nWA==} + lucide@0.544.0: + resolution: {integrity: sha512-U5ORwr5z9Sx7bNTDFaW55RbjVdQEnAcT3vws9uz3vRT1G4XXJUDAhRZdxhFoIyHEvjmTkzzlEhjSLYM5n4mb5w==} make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} @@ -4122,6 +4182,12 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=} + minimatch@10.0.1: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} @@ -4152,8 +4218,8 @@ packages: engines: {node: '>=10'} hasBin: true - monaco-editor@0.52.2: - resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} + monaco-editor@0.53.0: + resolution: {integrity: sha512-0WNThgC6CMWNXXBxTbaYYcunj08iB5rnx4/G56UOPeL9UVIUGGHA1GR0EWIh9Ebabj7NpCRawQ5b0hfN1jQmYQ==} mongodb-connection-string-url@2.6.0: resolution: {integrity: sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==} @@ -4548,10 +4614,6 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - public-ip@7.0.1: - resolution: {integrity: sha512-DdNcqcIbI0wEeCBcqX+bmZpUCvrDMJHXE553zgyG1MZ8S1a/iCCxmK9iTjjql+SpHSv4cZkmRv5/zGYW93AlCw==} - engines: {node: '>=18'} - pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} @@ -4566,15 +4628,22 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - puppeteer-core@24.19.0: - resolution: {integrity: sha512-qsEys4OIb2VGC2tNWKAs4U0mnjkIAxueMOOzk2nEFM9g4Y8QuvYkEMtmwsEdvzNGsUFd7DprOQfABmlN7WBOlg==} + puppeteer-core@24.20.0: + resolution: {integrity: sha512-n0y/f8EYyZt4yEJkjP3Vrqf9A4qa3uYpKYdsiedIY4bxIfTw1aAJSpSVPmWBPlr1LO4cNq2hGNIBWKPhvBF68w==} engines: {node: '>=18'} - puppeteer@24.19.0: - resolution: {integrity: sha512-gUWgHX36m9K6yUbvNBEA7CXElIL92yXMoAVFrO8OpZkItqrruLVqYA8ikmfgwcw/cNfYgkt0n2+yP9jd9RSETA==} + puppeteer@24.20.0: + resolution: {integrity: sha512-iLnLV9oHKKAujmxiSxRWKfcT1q2COu0g1N9iU2TCp1MlmsyjgNAkcBOR3cAOqKb5UTiVPIGG4z5PO5yfpYZ6jA==} engines: {node: '>=18'} hasBin: true + pvtsutils@1.3.6: + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + + pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + qs@6.14.0: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} @@ -4620,6 +4689,9 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -4934,10 +5006,6 @@ packages: resolution: {integrity: sha512-FhwotcEqjr241ZbjFzjlIYg6c5/L/s4yBGWSMvJ9UoExiSqL+FnFA/CaeZx17WGaZMS/4SOZp8wH18jSS4R4lw==} engines: {node: '>=16'} - super-regex@0.2.0: - resolution: {integrity: sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==} - engines: {node: '>=14.16'} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -4952,8 +5020,8 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - systeminformation@5.27.8: - resolution: {integrity: sha512-d3Z0gaQO1MlUxzDUKsmXz5y4TOBCMZ8IyijzaYOykV3AcNOTQ7mT+tpndUOXYNSxzLK3la8G32xiUFvZ0/s6PA==} + systeminformation@5.27.9: + resolution: {integrity: sha512-g2PsfwJtUOwTki9Dbpq11GqGGk9XWczBf3iDuXm9lEa4akZxSXjAnZyE7oJhlS+vxjlmexThtYRxvxrOSb8erQ==} engines: {node: '>=8.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true @@ -4979,10 +5047,6 @@ packages: through@2.3.8: resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} - time-span@5.1.0: - resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} - engines: {node: '>=12'} - tiny-worker@2.3.0: resolution: {integrity: sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==} @@ -5039,6 +5103,10 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsyringe@4.10.0: + resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} + engines: {node: '>= 6.0.0'} + turndown-plugin-gfm@1.0.2: resolution: {integrity: sha512-vwz9tfvF7XN/jE0dGoBei3FXWuvll78ohzCZQuOb+ZjWrs3a0XhQVomJEb2Qh4VHTPNRO4GPZh0V7VRbiWwkRg==} @@ -5161,6 +5229,9 @@ packages: w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + webdriver-bidi-protocol@0.2.8: + resolution: {integrity: sha512-KPvtVAIX8VHjLZH1KHT5GXoOaPeb0Ju+JlAcdshw6Z/gsmRtLoxt0Hw99PgJwZta7zUQaAUIHHWDRkzrPHsQTQ==} + webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -5376,7 +5447,7 @@ snapshots: '@push.rocks/smartjson': 5.0.20 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smartsocket': 2.1.0 - '@push.rocks/smartstring': 4.0.15 + '@push.rocks/smartstring': 4.1.0 '@push.rocks/smarturl': 3.1.0 transitivePeerDependencies: - '@nuxt/kit' @@ -6392,7 +6463,7 @@ snapshots: '@push.rocks/smartrouter': 1.3.2 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smartstate': 2.0.20 - '@push.rocks/smartstring': 4.0.15 + '@push.rocks/smartstring': 4.1.0 '@push.rocks/smarturl': 3.1.0 '@push.rocks/webrequest': 3.0.37 '@push.rocks/websetup': 3.0.19 @@ -6678,7 +6749,7 @@ snapshots: '@push.rocks/smartshell': 3.3.0 tsx: 4.20.5 - '@git.zone/tstest@2.3.6(@aws-sdk/credential-providers@3.826.0)(socks@2.8.7)(typescript@5.9.2)': + '@git.zone/tstest@2.3.8(@aws-sdk/credential-providers@3.826.0)(socks@2.8.7)(typescript@5.9.2)': dependencies: '@api.global/typedserver': 3.0.79 '@git.zone/tsbundle': 2.5.1 @@ -6692,9 +6763,10 @@ snapshots: '@push.rocks/smartenv': 5.0.13 '@push.rocks/smartexpect': 2.5.0 '@push.rocks/smartfile': 11.2.7 - '@push.rocks/smartjson': 5.0.20 + '@push.rocks/smartjson': 5.2.0 '@push.rocks/smartlog': 3.1.9 '@push.rocks/smartmongo': 2.0.12(@aws-sdk/credential-providers@3.826.0)(socks@2.8.7) + '@push.rocks/smartnetwork': 4.4.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 4.3.1 @@ -6965,6 +7037,96 @@ snapshots: dependencies: pako: 1.0.11 + '@peculiar/asn1-cms@2.5.0': + dependencies: + '@peculiar/asn1-schema': 2.5.0 + '@peculiar/asn1-x509': 2.5.0 + '@peculiar/asn1-x509-attr': 2.5.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-csr@2.5.0': + dependencies: + '@peculiar/asn1-schema': 2.5.0 + '@peculiar/asn1-x509': 2.5.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.5.0': + dependencies: + '@peculiar/asn1-schema': 2.5.0 + '@peculiar/asn1-x509': 2.5.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pfx@2.5.0': + dependencies: + '@peculiar/asn1-cms': 2.5.0 + '@peculiar/asn1-pkcs8': 2.5.0 + '@peculiar/asn1-rsa': 2.5.0 + '@peculiar/asn1-schema': 2.5.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs8@2.5.0': + dependencies: + '@peculiar/asn1-schema': 2.5.0 + '@peculiar/asn1-x509': 2.5.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs9@2.5.0': + dependencies: + '@peculiar/asn1-cms': 2.5.0 + '@peculiar/asn1-pfx': 2.5.0 + '@peculiar/asn1-pkcs8': 2.5.0 + '@peculiar/asn1-schema': 2.5.0 + '@peculiar/asn1-x509': 2.5.0 + '@peculiar/asn1-x509-attr': 2.5.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-rsa@2.5.0': + dependencies: + '@peculiar/asn1-schema': 2.5.0 + '@peculiar/asn1-x509': 2.5.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-schema@2.5.0': + dependencies: + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509-attr@2.5.0': + dependencies: + '@peculiar/asn1-schema': 2.5.0 + '@peculiar/asn1-x509': 2.5.0 + asn1js: 3.0.6 + tslib: 2.8.1 + + '@peculiar/asn1-x509@2.5.0': + dependencies: + '@peculiar/asn1-schema': 2.5.0 + asn1js: 3.0.6 + pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/x509@1.14.0': + dependencies: + '@peculiar/asn1-cms': 2.5.0 + '@peculiar/asn1-csr': 2.5.0 + '@peculiar/asn1-ecc': 2.5.0 + '@peculiar/asn1-pkcs9': 2.5.0 + '@peculiar/asn1-rsa': 2.5.0 + '@peculiar/asn1-schema': 2.5.0 + '@peculiar/asn1-x509': 2.5.0 + pvtsutils: 1.3.6 + reflect-metadata: 0.2.2 + tslib: 2.8.1 + tsyringe: 4.10.0 + '@pkgjs/parseargs@0.11.0': optional: true @@ -6980,9 +7142,9 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@puppeteer/browsers@2.10.8': + '@puppeteer/browsers@2.10.9': dependencies: - debug: 4.4.1 + debug: 4.4.3 extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 @@ -7024,7 +7186,7 @@ snapshots: '@push.rocks/smartjson': 5.0.20 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartstring': 4.0.15 + '@push.rocks/smartstring': 4.1.0 '@push.rocks/smartunique': 3.0.9 '@push.rocks/taskbuffer': 3.1.10 '@tsclass/tsclass': 9.2.0 @@ -7070,7 +7232,7 @@ snapshots: '@push.rocks/smartfile': 10.0.41 '@push.rocks/smartpath': 5.0.18 '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartstring': 4.0.15 + '@push.rocks/smartstring': 4.1.0 '@push.rocks/qenv@6.1.0': dependencies: @@ -7128,7 +7290,7 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smartstream': 3.2.5 - '@push.rocks/smartstring': 4.0.15 + '@push.rocks/smartstring': 4.1.0 '@push.rocks/smartunique': 3.0.9 '@tsclass/tsclass': 9.2.0 transitivePeerDependencies: @@ -7142,7 +7304,7 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smartstream': 3.2.5 - '@push.rocks/smartstring': 4.0.15 + '@push.rocks/smartstring': 4.1.0 '@push.rocks/smartunique': 3.0.9 '@tsclass/tsclass': 4.4.4 transitivePeerDependencies: @@ -7200,7 +7362,7 @@ snapshots: '@push.rocks/smartmongo': 2.0.12(@aws-sdk/credential-providers@3.826.0)(socks@2.8.7) '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartstring': 4.0.15 + '@push.rocks/smartstring': 4.1.0 '@push.rocks/smarttime': 4.1.1 '@push.rocks/smartunique': 3.0.9 '@push.rocks/taskbuffer': 3.1.7 @@ -7221,6 +7383,22 @@ snapshots: dependencies: '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartdns@7.6.1': + dependencies: + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartenv': 5.0.13 + '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartrequest': 2.1.0 + '@tsclass/tsclass': 9.2.0 + '@types/dns-packet': 5.6.5 + '@types/elliptic': 6.4.18 + acme-client: 5.4.0 + dns-packet: 5.6.1 + elliptic: 6.6.1 + minimatch: 10.0.3 + transitivePeerDependencies: + - supports-color + '@push.rocks/smartenv@5.0.12': dependencies: '@push.rocks/smartpromise': 4.2.3 @@ -7344,7 +7522,14 @@ snapshots: '@push.rocks/smartjson@5.0.20': dependencies: '@push.rocks/smartenv': 5.0.12 - '@push.rocks/smartstring': 4.0.15 + '@push.rocks/smartstring': 4.1.0 + fast-json-stable-stringify: 2.1.0 + lodash.clonedeep: 4.5.0 + + '@push.rocks/smartjson@5.2.0': + dependencies: + '@push.rocks/smartenv': 5.0.13 + '@push.rocks/smartstring': 4.1.0 fast-json-stable-stringify: 2.1.0 lodash.clonedeep: 4.5.0 @@ -7444,15 +7629,16 @@ snapshots: - socks - supports-color - '@push.rocks/smartnetwork@4.1.2': + '@push.rocks/smartnetwork@4.4.0': dependencies: + '@push.rocks/smartdns': 7.6.1 '@push.rocks/smartping': 1.0.8 '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartstring': 4.0.15 - '@types/default-gateway': 7.2.2 + '@push.rocks/smartstring': 4.1.0 isopen: 1.3.0 - public-ip: 7.0.1 - systeminformation: 5.27.8 + systeminformation: 5.27.9 + transitivePeerDependencies: + - supports-color '@push.rocks/smartnpm@2.0.6': dependencies: @@ -7500,7 +7686,7 @@ snapshots: '@push.rocks/smartbuffer': 3.0.5 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile': 11.2.7 - '@push.rocks/smartnetwork': 4.1.2 + '@push.rocks/smartnetwork': 4.4.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartpuppeteer': 2.0.5(typescript@5.9.2) @@ -7528,7 +7714,7 @@ snapshots: dependencies: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartshell': 3.3.0 - puppeteer: 24.19.0(typescript@5.9.2) + puppeteer: 24.20.0(typescript@5.9.2) tree-kill: 1.2.2 transitivePeerDependencies: - bare-buffer @@ -7679,16 +7865,9 @@ snapshots: '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrx': 3.0.7 - '@push.rocks/smartstring@4.0.15': + '@push.rocks/smartstring@4.1.0': dependencies: '@push.rocks/isounique': 1.0.5 - '@push.rocks/smartenv': 5.0.12 - '@types/randomatic': 3.1.5 - crypto-random-string: 5.0.0 - js-base64: 3.7.7 - randomatic: 3.1.1 - strip-indent: 4.0.0 - url: 0.11.4 '@push.rocks/smarttime@4.1.1': dependencies: @@ -8933,6 +9112,10 @@ snapshots: '@types/babel__code-frame@7.0.6': {} + '@types/bn.js@5.2.0': + dependencies: + '@types/node': 22.15.31 + '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 @@ -8987,7 +9170,13 @@ snapshots: '@types/deep-eql@4.0.2': {} - '@types/default-gateway@7.2.2': {} + '@types/dns-packet@5.6.5': + dependencies: + '@types/node': 22.15.31 + + '@types/elliptic@6.4.18': + dependencies: + '@types/bn.js': 5.2.0 '@types/express-serve-static-core@5.0.6': dependencies: @@ -9172,6 +9361,8 @@ snapshots: '@types/triple-beam@1.3.5': {} + '@types/trusted-types@1.0.6': {} + '@types/trusted-types@2.0.7': {} '@types/turndown@5.0.5': {} @@ -9308,6 +9499,16 @@ snapshots: mime-types: 3.0.1 negotiator: 1.0.0 + acme-client@5.4.0: + dependencies: + '@peculiar/x509': 1.14.0 + asn1js: 3.0.6 + axios: 1.12.2(debug@4.4.3) + debug: 4.4.3 + node-forge: 1.3.1 + transitivePeerDependencies: + - supports-color + agent-base@7.1.3: {} agent-base@7.1.4: {} @@ -9340,7 +9541,7 @@ snapshots: ansis@4.1.0: {} - apexcharts@5.3.4: + apexcharts@5.3.5: dependencies: '@svgdotjs/svg.draggable.js': 3.0.6(@svgdotjs/svg.js@3.2.4) '@svgdotjs/svg.filter.js': 3.0.9 @@ -9357,6 +9558,12 @@ snapshots: array-union@2.1.0: {} + asn1js@3.0.6: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.1.3 + tslib: 2.8.1 + ast-types@0.13.4: dependencies: tslib: 2.8.1 @@ -9373,6 +9580,14 @@ snapshots: axe-core@4.10.3: {} + axios@1.12.2(debug@4.4.3): + dependencies: + follow-redirects: 1.15.11(debug@4.4.3) + form-data: 4.0.4 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + b4a@1.6.7: {} bail@2.0.2: {} @@ -9385,11 +9600,13 @@ snapshots: bare-events@2.6.1: optional: true - bare-fs@4.2.3: + bare-fs@4.4.4: dependencies: bare-events: 2.6.1 bare-path: 3.0.0 bare-stream: 2.7.0(bare-events@2.6.1) + bare-url: 2.2.2 + fast-fifo: 1.3.2 optional: true bare-os@3.6.2: @@ -9407,12 +9624,19 @@ snapshots: bare-events: 2.6.1 optional: true + bare-url@2.2.2: + dependencies: + bare-path: 3.0.0 + optional: true + base64-js@1.5.1: {} base64id@2.0.0: {} basic-ftp@5.0.5: {} + bn.js@4.12.2: {} + body-parser@2.2.0: dependencies: bytes: 3.1.2 @@ -9451,6 +9675,8 @@ snapshots: p-queue: 6.6.2 unload: 2.4.1 + brorand@1.1.0: {} + bson@4.7.2: dependencies: buffer: 5.7.1 @@ -9571,10 +9797,6 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clone-regexp@3.0.0: - dependencies: - is-regexp: 3.1.0 - clone@2.1.2: {} co-body@6.2.0: @@ -9643,8 +9865,6 @@ snapshots: content-type@1.0.5: {} - convert-hrtime@5.0.0: {} - convert-source-map@2.0.0: {} cookie-signature@1.2.2: {} @@ -9710,6 +9930,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 @@ -9782,10 +10006,6 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - dns-socket@4.2.2: - dependencies: - dns-packet: 5.6.1 - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -9796,6 +10016,16 @@ snapshots: ee-first@1.1.1: {} + elliptic@6.6.1: + dependencies: + bn.js: 4.12.2 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -10018,7 +10248,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.4.1 + debug: 4.4.3 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -10128,6 +10358,10 @@ snapshots: fn.name@1.1.0: {} + follow-redirects@1.15.11(debug@4.4.3): + optionalDependencies: + debug: 4.4.3 + follow-redirects@1.15.9(debug@4.4.1): optionalDependencies: debug: 4.4.1 @@ -10211,8 +10445,6 @@ snapshots: function-bind@1.1.2: {} - function-timeout@0.1.1: {} - get-caller-file@2.0.5: {} get-intrinsic@1.3.0: @@ -10252,7 +10484,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -10321,20 +10553,6 @@ snapshots: p-cancelable: 3.0.0 responselike: 3.0.0 - got@13.0.0: - dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - graceful-fs@4.2.10: {} graceful-fs@4.2.11: {} @@ -10359,6 +10577,11 @@ snapshots: dependencies: has-symbols: 1.1.0 + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -10391,6 +10614,12 @@ snapshots: highlight.js@11.11.1: {} + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + html-escaper@2.0.2: {} html-minifier@4.0.0: @@ -10438,7 +10667,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -10514,8 +10743,6 @@ snapshots: ip-regex@4.3.0: {} - ip-regex@5.0.0: {} - ipaddr.js@1.9.1: {} is-arrayish@0.2.1: {} @@ -10543,11 +10770,6 @@ snapshots: dependencies: ip-regex: 4.3.0 - is-ip@5.0.1: - dependencies: - ip-regex: 5.0.0 - super-regex: 0.2.0 - is-nan@1.3.2: dependencies: call-bind: 1.0.8 @@ -10570,8 +10792,6 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - is-regexp@3.1.0: {} - is-stream@2.0.1: {} is-stream@4.0.1: {} @@ -10654,8 +10874,6 @@ snapshots: graceful-fs: 4.2.11 picomatch: 2.3.1 - js-base64@3.7.7: {} - js-base64@3.7.8: {} js-tokens@4.0.0: {} @@ -10881,7 +11099,7 @@ snapshots: lru-cache@8.0.5: {} - lucide@0.542.0: {} + lucide@0.544.0: {} make-dir@3.1.0: dependencies: @@ -11286,6 +11504,10 @@ snapshots: min-indent@1.0.1: {} + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 @@ -11310,7 +11532,9 @@ snapshots: mkdirp@1.0.4: {} - monaco-editor@0.52.2: {} + monaco-editor@0.53.0: + dependencies: + '@types/trusted-types': 1.0.6 mongodb-connection-string-url@2.6.0: dependencies: @@ -11483,7 +11707,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -11725,7 +11949,7 @@ snapshots: proxy-agent@6.5.0: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -11737,12 +11961,6 @@ snapshots: proxy-from-env@1.1.0: {} - public-ip@7.0.1: - dependencies: - dns-socket: 4.2.2 - got: 13.0.0 - is-ip: 5.0.1 - pump@3.0.3: dependencies: end-of-stream: 1.4.5 @@ -11754,13 +11972,14 @@ snapshots: punycode@2.3.1: {} - puppeteer-core@24.19.0: + puppeteer-core@24.20.0: dependencies: - '@puppeteer/browsers': 2.10.8 + '@puppeteer/browsers': 2.10.9 chromium-bidi: 8.0.0(devtools-protocol@0.0.1495869) - debug: 4.4.1 + debug: 4.4.3 devtools-protocol: 0.0.1495869 typed-query-selector: 2.12.0 + webdriver-bidi-protocol: 0.2.8 ws: 8.18.3 transitivePeerDependencies: - bare-buffer @@ -11768,13 +11987,13 @@ snapshots: - supports-color - utf-8-validate - puppeteer@24.19.0(typescript@5.9.2): + puppeteer@24.20.0(typescript@5.9.2): dependencies: - '@puppeteer/browsers': 2.10.8 + '@puppeteer/browsers': 2.10.9 chromium-bidi: 8.0.0(devtools-protocol@0.0.1495869) cosmiconfig: 9.0.0(typescript@5.9.2) devtools-protocol: 0.0.1495869 - puppeteer-core: 24.19.0 + puppeteer-core: 24.20.0 typed-query-selector: 2.12.0 transitivePeerDependencies: - bare-buffer @@ -11783,6 +12002,12 @@ snapshots: - typescript - utf-8-validate + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.3: {} + qs@6.14.0: dependencies: side-channel: 1.1.0 @@ -11840,6 +12065,8 @@ snapshots: readdirp@4.1.2: {} + reflect-metadata@0.2.2: {} + regenerator-runtime@0.14.1: {} registry-auth-token@5.1.0: @@ -12140,7 +12367,7 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -12253,12 +12480,6 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.4.2 - super-regex@0.2.0: - dependencies: - clone-regexp: 3.0.0 - function-timeout: 0.1.1 - time-span: 5.1.0 - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -12271,14 +12492,14 @@ snapshots: symbol-tree@3.2.4: {} - systeminformation@5.27.8: {} + systeminformation@5.27.9: {} tar-fs@3.1.0: dependencies: pump: 3.0.3 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.2.3 + bare-fs: 4.4.4 bare-path: 3.0.0 transitivePeerDependencies: - bare-buffer @@ -12312,10 +12533,6 @@ snapshots: through@2.3.8: {} - time-span@5.1.0: - dependencies: - convert-hrtime: 5.0.0 - tiny-worker@2.3.0: dependencies: esm: 3.2.25 @@ -12366,6 +12583,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsyringe@4.10.0: + dependencies: + tslib: 1.14.1 + turndown-plugin-gfm@1.0.2: {} turndown@7.2.0: @@ -12473,6 +12694,8 @@ snapshots: w3c-keyname@2.2.8: {} + webdriver-bidi-protocol@0.2.8: {} + webidl-conversions@7.0.0: {} whatwg-mimetype@3.0.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..6b0d7e3 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +onlyBuiltDependencies: + - puppeteer diff --git a/ts_web/elements/dees-form.ts b/ts_web/elements/dees-form.ts index 1e8acf1..54df4b7 100644 --- a/ts_web/elements/dees-form.ts +++ b/ts_web/elements/dees-form.ts @@ -20,7 +20,7 @@ import { DeesInputMultitoggle } from './dees-input-multitoggle.js'; import { DeesInputPhone } from './dees-input-phone.js'; import { DeesInputTypelist } from './dees-input-typelist.js'; import { DeesFormSubmit } from './dees-form-submit.js'; -import { DeesTable } from './dees-table.js'; +import { DeesTable } from './dees-table/dees-table.js'; import { demoFunc } from './dees-form.demo.js'; // Unified set for form input types diff --git a/ts_web/elements/dees-table.demo.ts b/ts_web/elements/dees-table/dees-table.demo.ts similarity index 87% rename from ts_web/elements/dees-table.demo.ts rename to ts_web/elements/dees-table/dees-table.demo.ts index 28be021..882656d 100644 --- a/ts_web/elements/dees-table.demo.ts +++ b/ts_web/elements/dees-table/dees-table.demo.ts @@ -1,5 +1,5 @@ import { type ITableAction } from './dees-table.js'; -import * as plugins from './00plugins.js'; +import * as plugins from '../00plugins.js'; import { html, css, cssManager } from '@design.estate/dees-element'; interface ITableDemoData { @@ -427,6 +427,46 @@ export const demoFunc = () => html` dataName="items" > + +
+

Schema-First Columns (New)

+

Defines columns explicitly and renders via schema. No displayFunction needed.

+ html`${v}` }, + { key: 'joinedAt', header: 'Joined', renderer: (v: string) => new Date(v).toLocaleDateString() }, + ]} + .data=${[ + { name: 'Alice', email: 'alice@example.com', joinedAt: '2022-08-01' }, + { name: 'Bob', email: 'bob@example.com', joinedAt: '2021-12-11' }, + { name: 'Carol', email: 'carol@example.com', joinedAt: '2023-03-22' }, + ]} + dataName="users" + > +
+ +
+

Partial Schema + Augment (New)

+

Provides only the important columns; the rest are merged in from displayFunction.

+ ({ name: u.name, email: u.email, role: u.role })} + .augmentFromDisplayFunction=${true} + .data=${[ + { name: 'Erin', email: 'erin@example.com', role: 'Admin' }, + { name: 'Finn', email: 'finn@example.com', role: 'User' }, + { name: 'Gina', email: 'gina@example.com', role: 'User' }, + ]} + dataName="users" + > +
-`; \ No newline at end of file +`; diff --git a/ts_web/elements/dees-table.ts b/ts_web/elements/dees-table/dees-table.ts similarity index 75% rename from ts_web/elements/dees-table.ts rename to ts_web/elements/dees-table/dees-table.ts index e6443e5..3d726eb 100644 --- a/ts_web/elements/dees-table.ts +++ b/ts_web/elements/dees-table/dees-table.ts @@ -1,6 +1,6 @@ -import * as plugins from './00plugins.js'; +import * as plugins from '../00plugins.js'; import { demoFunc } from './dees-table.demo.js'; -import { cssGeistFontFamily } from './00fonts.js'; +import { cssGeistFontFamily } from '../00fonts.js'; import { customElement, html, @@ -12,10 +12,10 @@ import { directives, } from '@design.estate/dees-element'; -import { DeesContextmenu } from './dees-contextmenu.js'; +import { DeesContextmenu } from '../dees-contextmenu.js'; import * as domtools from '@design.estate/dees-domtools'; -import { type TIconKey } from './dees-icon.js'; +import { type TIconKey } from '../dees-icon.js'; declare global { interface HTMLElementTagNameMap { @@ -63,6 +63,21 @@ export interface ITableActionDataArg { table: DeesTable; } +// schema-first columns API (Phase 1) +export interface Column { + /** key in the raw item or a computed key name */ + key: keyof T | string; + /** header label or template; defaults to key */ + header?: string | TemplateResult; + /** compute the cell value when not reading directly by key */ + value?: (row: T) => any; + /** optional cell renderer */ + renderer?: (value: any, row: T, ctx: { rowIndex: number; colIndex: number; column: Column }) => TemplateResult | string; + /** reserved for future phases; present to sketch intent */ + sortable?: boolean; + hidden?: boolean; +} + export type TDisplayFunction = (itemArg: T) => object; // the table implementation @@ -134,6 +149,24 @@ export class DeesTable extends DeesElement { }) public dataActions: ITableAction[] = []; + // schema-first columns API + @property({ attribute: false }) + public columns: Column[] = []; + + /** + * Stable row identity for selection and updates. If provided as a function, + * it is only usable as a property (not via attribute). + */ + @property({ attribute: false }) + public rowKey?: keyof T | ((row: T) => string); + + /** + * When true and columns are provided, merge any missing columns discovered + * via displayFunction into the effective schema. + */ + @property({ type: Boolean }) + public augmentFromDisplayFunction: boolean = false; + @property({ attribute: false, }) @@ -180,6 +213,12 @@ export class DeesTable extends DeesElement { public dataChangeSubject = new domtools.plugins.smartrx.rxjs.Subject(); + // simple client-side sorting (Phase 1) + @property({ attribute: false }) + private sortKey?: string; + @property({ attribute: false }) + private sortDir: 'asc' | 'desc' | null = null; + constructor() { super(); } @@ -544,6 +583,11 @@ export class DeesTable extends DeesElement { ]; public render(): TemplateResult { + const usingColumns = Array.isArray(this.columns) && this.columns.length > 0; + const effectiveColumns: Column[] = usingColumns + ? this.computeEffectiveColumns() + : this.computeColumnsFromDisplayFunction(); + return html`
@@ -609,32 +653,35 @@ export class DeesTable extends DeesElement { ${this.data.length > 0 - ? (() => { - // Only pick up the keys from the first transformed data object - // as all data objects are assumed to have the same structure - const firstTransformedItem = this.displayFunction(this.data[0]); - const headings: string[] = Object.keys(firstTransformedItem); - return html` - - - - ${headings.map( - (headingArg) => html` - - ` - )} - ${(() => { - if (this.dataActions && this.dataActions.length > 0) { - return html` - - `; - } - })()} - - - - ${this.data.map((itemArg) => { - const transformedItem = this.displayFunction(itemArg); + ? html` +
${headingArg}Actions
+ + + ${effectiveColumns + .filter((c) => !c.hidden) + .map((col) => { + const isSortable = !!col.sortable; + const ariaSort = this.getAriaSort(col); + return html` + `; + })} + ${(() => { + if (this.dataActions && this.dataActions.length > 0) { + return html` `; + } + })()} + + + + ${this.getViewData(effectiveColumns).map((itemArg, rowIndex) => { const getTr = (elementArg: HTMLElement): HTMLElement => { if (elementArg.tagName === 'TR') { return elementArg; @@ -651,8 +698,6 @@ export class DeesTable extends DeesElement { eventArg.preventDefault(); eventArg.stopPropagation(); const realTarget = getTr(eventArg.target as HTMLElement); - console.log('dragenter'); - console.log(realTarget); setTimeout(() => { realTarget.classList.add('hasAttachment'); }, 0); @@ -702,29 +747,31 @@ export class DeesTable extends DeesElement { }} class="${itemArg === this.selectedDataRow ? 'selected' : ''}" > - ${headings.map( - (headingArg) => html` - - ` - )} + }} + > +
${content}
+ + `; + })} ${(() => { if (this.dataActions && this.dataActions.length > 0) { return html` @@ -732,36 +779,30 @@ export class DeesTable extends DeesElement {
${this.getActionsForType('inRow').map( (actionArg) => html` -
- actionArg.actionFunc({ - item: itemArg, - table: this, - })} - > - ${actionArg.iconName - ? html` - - ` - : actionArg.name} -
- ` - )} +
+ actionArg.actionFunc({ + item: itemArg, + table: this, + })} + > + ${actionArg.iconName + ? html` ` + : actionArg.name} +
+ ` + )}
`; } })()} -
- `; + `; })} - -
(isSortable ? this.toggleSort(col) : null)} + > + ${col.header ?? (col.key as any)} + ${this.renderSortIndicator(col)} + Actions
{ - if (this.editableFields.includes(headingArg)) { - this.handleCellEditing(e, itemArg, headingArg); - } else { - const wantedAction = this.dataActions.find((actionArg) => + ${effectiveColumns + .filter((c) => !c.hidden) + .map((col, colIndex) => { + const value = this.getCellValue(itemArg, col); + const content = col.renderer + ? col.renderer(value, itemArg, { rowIndex, colIndex, column: col }) + : value; + const editKey = String(col.key); + return html` + { + const dblAction = this.dataActions.find((actionArg) => actionArg.type.includes('doubleClick') ); - if (wantedAction) { - wantedAction.actionFunc({ - item: itemArg, - table: this, - }); + if (this.editableFields.includes(editKey)) { + this.handleCellEditing(e, itemArg, editKey); + } else if (dblAction) { + dblAction.actionFunc({ item: itemArg, table: this }); } - } - }} - > -
${transformedItem[headingArg]}
-
- `; - })() + + + ` : html`
No data set!
`}