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`
- ${headingArg} |
- `
- )}
- ${(() => {
- if (this.dataActions && this.dataActions.length > 0) {
- return html`
- Actions |
- `;
- }
- })()}
-
-
-
- ${this.data.map((itemArg) => {
- const transformedItem = this.displayFunction(itemArg);
+ ? html`
+
+
+
+ ${effectiveColumns
+ .filter((c) => !c.hidden)
+ .map((col) => {
+ const isSortable = !!col.sortable;
+ const ariaSort = this.getAriaSort(col);
+ return html`
+ (isSortable ? this.toggleSort(col) : null)}
+ >
+ ${col.header ?? (col.key as any)}
+ ${this.renderSortIndicator(col)}
+ | `;
+ })}
+ ${(() => {
+ if (this.dataActions && this.dataActions.length > 0) {
+ return html` Actions | `;
+ }
+ })()}
+
+
+
+ ${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`
- {
- 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]}
- |
- `
- )}
+ }}
+ >
+ ${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}
+
+ `
+ )}
`;
}
})()}
-
- `;
+ `;
})}
-
-
- `;
- })()
+
+
+ `
: html` No data set!
`}