diff --git a/LICENSE b/LICENSE index 3cc7ab744da..967624f7ecb 100644 --- a/LICENSE +++ b/LICENSE @@ -255,7 +255,7 @@ Maka includes an ejected adaptation of Astryx ChatReasoning v0.1.9 in `packages/ui/src/astryx-chat-reasoning.tsx` and generated theme artifacts in `apps/desktop/src/renderer/astryx-theme/`, based on Astryx theme-neutral v0.6.2. Maka also redistributes -`patches/@astryxdesign+core+0.6.2.patch`, which modifies the MIT-licensed Astryx +`patches/@astryxdesign+core+0.6.3.patch`, which modifies the MIT-licensed Astryx core package. The following MIT License applies to that material: MIT License @@ -316,10 +316,10 @@ THE SOFTWARE. Pi TUI dependency patch -Source: https://www.npmjs.com/package/@earendil-works/pi-tui/v/0.85.1 -Repository: https://github.com/earendil-works/pi/tree/v0.85.1/packages/tui -Version: 0.85.1 -Dependency patch: patches/@earendil-works+pi-tui+0.85.1.patch +Source: https://www.npmjs.com/package/@earendil-works/pi-tui/v/0.87.1 +Repository: https://github.com/earendil-works/pi/tree/v0.87.1/packages/tui +Version: 0.87.1 +Dependency patch: patches/@earendil-works+pi-tui+0.87.1.patch Copyright (c) 2025 Mario Zechner License: MIT @@ -385,10 +385,10 @@ SOFTWARE. Model Context Protocol client dependency patch -Source: https://www.npmjs.com/package/@modelcontextprotocol/client/v/2.0.0 +Source: https://www.npmjs.com/package/@modelcontextprotocol/client/v/2.1.0 Repository: https://github.com/modelcontextprotocol/typescript-sdk -Version: 2.0.0 -Dependency patch: patches/@modelcontextprotocol+client+2.0.0.patch +Version: 2.1.0 +Dependency patch: patches/@modelcontextprotocol+client+2.1.0.patch Copyright (c) 2024-2025 Model Context Protocol a Series of LF Projects, LLC. Declared package license: MIT @@ -469,11 +469,11 @@ THE SOFTWARE. electron-builder dependency patches -Source: https://www.npmjs.com/package/app-builder-lib/v/26.16.1 +Source: https://www.npmjs.com/package/app-builder-lib/v/26.17.0 https://www.npmjs.com/package/electron-updater/v/6.8.9 Repository: https://github.com/electron-userland/electron-builder -Versions: app-builder-lib 26.16.1; electron-updater 6.8.9 -Dependency patch: patches/app-builder-lib+26.16.1.patch +Versions: app-builder-lib 26.17.0; electron-updater 6.8.9 +Dependency patch: patches/app-builder-lib+26.17.0.patch patches/electron-updater+6.8.9.patch License: MIT diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 7152e9370dc..f392bf3ec49 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -57,7 +57,7 @@ "smoke:browser:run": "electron scripts/browser-observe-act-smoke.mjs" }, "dependencies": { - "@jackwener/opencli": "1.8.7", + "@jackwener/opencli": "1.8.8", "@maka/computer-use": "0.1.0", "@maka/core": "0.1.0", "@maka/mcp": "0.1.0", @@ -75,13 +75,13 @@ "zod": "^4.6.5" }, "devDependencies": { - "@astryxdesign/core": "0.6.2", - "@astryxdesign/theme-neutral": "0.6.2", - "@babel/parser": "7.29.7", + "@astryxdesign/core": "0.6.3", + "@astryxdesign/theme-neutral": "0.6.3", + "@babel/parser": "7.29.9", "@fontsource-variable/geist": "^5.3.0", "@fontsource-variable/geist-mono": "^5.3.0", "@maka/ui": "0.1.0", - "@modelcontextprotocol/sdk": "^1.26.0", + "@modelcontextprotocol/sdk": "^1.30.1", "@playwright/test": "^1.63.0", "@storybook/react-vite": "^10.6.0", "@types/react": "^19.3.0", @@ -92,14 +92,14 @@ "@xterm/addon-web-links": "0.12.0", "@xterm/xterm": "^6.0.0", "electron": "43.4.1", - "electron-builder": "26.16.1", + "electron-builder": "26.17.0", "esbuild": "^0.28.1", "linkedom": "^0.18.13", "react": "^19.3.0", "react-dom": "^19.3.0", - "simple-icons": "16.31.0", + "simple-icons": "16.32.0", "storybook": "^10.4.6", - "vite": "^8.3.0" + "vite": "^8.3.1" }, "maka": { "rendererBundledDependencies": [ diff --git a/apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt b/apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt index 376a6b9a9c0..e501be4de33 100644 --- a/apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt +++ b/apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt @@ -10,7 +10,7 @@ Policy: every package must resolve to an ASF-compatible SPDX license. Compound expressions record the compatible selected license. Packages without a shipped license file require an exact name@version text override in the generator. -Package: @agentclientprotocol/sdk@1.4.0 +Package: @agentclientprotocol/sdk@1.5.0 Declared license: Apache-2.0 Selected license: Apache-2.0 Repository: git+https://github.com/agentclientprotocol/typescript-sdk.git @@ -647,7 +647,7 @@ SOFTWARE. ================================================================================ -Package: @astryxdesign/core@0.6.2 +Package: @astryxdesign/core@0.6.3 Declared license: MIT Selected license: MIT Repository: git+https://github.com/facebook/astryx.git#packages/core @@ -677,7 +677,7 @@ SOFTWARE. ================================================================================ -Package: @astryxdesign/theme-neutral@0.6.2 +Package: @astryxdesign/theme-neutral@0.6.3 Declared license: MIT Selected license: MIT Repository: git+https://github.com/facebook/astryx.git#packages/themes/neutral @@ -1173,7 +1173,7 @@ SOFTWARE. ================================================================================ -Package: @jackwener/opencli@1.8.7 +Package: @jackwener/opencli@1.8.8 Declared license: Apache-2.0 Selected license: Apache-2.0 Repository: git+https://github.com/jackwener/opencli.git @@ -1372,7 +1372,7 @@ Apache License ================================================================================ -Package: @larksuiteoapi/node-sdk@1.73.3 +Package: @larksuiteoapi/node-sdk@1.74.0 Declared license: MIT Selected license: MIT Repository: https://github.com/larksuite/node-sdk.git @@ -1454,7 +1454,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================================================ -Package: @modelcontextprotocol/client@2.0.0 +Package: @modelcontextprotocol/client@2.1.0 Declared license: MIT Selected license: MIT Repository: git+https://github.com/modelcontextprotocol/typescript-sdk.git @@ -1904,7 +1904,7 @@ the full license text. ================================================================================ -Package: @modelcontextprotocol/node@2.0.0 +Package: @modelcontextprotocol/core@2.1.0 Declared license: MIT Selected license: MIT Repository: git+https://github.com/modelcontextprotocol/typescript-sdk.git @@ -2129,7 +2129,232 @@ the full license text. ================================================================================ -Package: @modelcontextprotocol/server@2.0.0 +Package: @modelcontextprotocol/node@2.1.0 +Declared license: MIT +Selected license: MIT +Repository: git+https://github.com/modelcontextprotocol/typescript-sdk.git + +--- LICENSE --- +The MCP project is undergoing a licensing transition from the MIT License to the Apache License, Version 2.0 ("Apache-2.0"). All new code and specification contributions to the project are licensed under Apache-2.0. Documentation contributions (excluding specifications) are licensed under CC-BY-4.0. + +Contributions for which relicensing consent has been obtained are licensed under Apache-2.0. Contributions made by authors who originally licensed their work under the MIT License and who have not yet granted explicit permission to relicense remain licensed under the MIT License. + +No rights beyond those granted by the applicable original license are conveyed for such contributions. + +--- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to the Licensor for inclusion in the Work by the copyright + owner or by an individual or Legal Entity authorized to submit on behalf + of the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +--- + +MIT License + +Copyright (c) 2024-2025 Model Context Protocol a Series of LF Projects, LLC. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + +Creative Commons Attribution 4.0 International (CC-BY-4.0) + +Documentation in this project (excluding specifications) is licensed under +CC-BY-4.0. See https://creativecommons.org/licenses/by/4.0/legalcode for +the full license text. + +================================================================================ + +Package: @modelcontextprotocol/server@2.1.0 Declared license: MIT Selected license: MIT Repository: git+https://github.com/modelcontextprotocol/typescript-sdk.git @@ -4975,7 +5200,7 @@ MIT License ================================================================================ -Package: @types/node@26.5.1 +Package: @types/node@26.6.3 Declared license: MIT Selected license: MIT Repository: https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node @@ -10545,7 +10770,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================================================ -Package: image-dimensions@2.5.1 +Package: image-dimensions@2.6.0 Declared license: MIT Selected license: MIT Repository: sindresorhus/image-dimensions @@ -11282,7 +11507,7 @@ SOFTWARE. ================================================================================ -Package: katex@0.18.7 +Package: katex@0.18.9 Declared license: MIT Selected license: MIT Repository: https://github.com/KaTeX/KaTeX.git @@ -12141,6 +12366,58 @@ SOFTWARE. ================================================================================ +Package: lucide-react@1.48.0 +Declared license: ISC +Selected license: ISC +Repository: https://github.com/lucide-icons/lucide.git#packages/lucide-react + +--- LICENSE --- +ISC License + +Copyright (c) 2026 Lucide Icons and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +--- + +The following Lucide icons are derived from the Feather project: + +airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + +The MIT License (MIT) (for the icons listed above) + +Copyright (c) 2013-present Cole Bemis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +================================================================================ + Package: marked@16.4.2 Declared license: MIT Selected license: MIT @@ -14517,7 +14794,7 @@ SOFTWARE. ================================================================================ -Package: simple-icons@16.31.0 +Package: simple-icons@16.32.0 Declared license: CC0-1.0 Selected license: CC0-1.0 Repository: git+ssh://git@github.com/simple-icons/simple-icons.git @@ -14759,7 +15036,7 @@ SOFTWARE. ================================================================================ -Package: systeminformation@5.33.10 +Package: systeminformation@5.33.13 Declared license: MIT Selected license: MIT Repository: git+https://github.com/sebhildebrandt/systeminformation.git @@ -15022,7 +15299,7 @@ PERFORMANCE OF THIS SOFTWARE. ================================================================================ -Package: undici@6.29.0 +Package: undici@7.29.1 Declared license: MIT Selected license: MIT Repository: git+https://github.com/nodejs/undici.git diff --git a/apps/desktop/src/renderer/astryx-theme/maka.css b/apps/desktop/src/renderer/astryx-theme/maka.css index c998cbdde9b..32fc2ee497e 100644 --- a/apps/desktop/src/renderer/astryx-theme/maka.css +++ b/apps/desktop/src/renderer/astryx-theme/maka.css @@ -2,7 +2,7 @@ * @generated by `astryx theme build` — do not edit manually. * Source: src/renderer/astryx-theme/makaTheme.ts * Command: astryx theme build src/renderer/astryx-theme/makaTheme.ts --out src/renderer/astryx-theme/maka.css - * CLI: @astryxdesign/cli@0.6.2 + * CLI: @astryxdesign/cli@0.6.3 * Core: @astryxdesign/core@0.1.0 */ @@ -260,6 +260,10 @@ --astryx-theme-neutral-color-destructive-overlay-pressed: light-dark(#ff7f771A, #ee736c1A); } + :scope { + font-family: var(--font-family-body); + } + .astryx-heading[data-level="1"] { font-family: var(--font-family-heading); font-size: var(--text-heading-1-size); diff --git a/apps/desktop/src/renderer/astryx-theme/maka.d.ts b/apps/desktop/src/renderer/astryx-theme/maka.d.ts index 9018df6d249..1a3c052f785 100644 --- a/apps/desktop/src/renderer/astryx-theme/maka.d.ts +++ b/apps/desktop/src/renderer/astryx-theme/maka.d.ts @@ -2,7 +2,7 @@ * @generated by `astryx theme build` — do not edit manually. * Source: src/renderer/astryx-theme/makaTheme.ts * Command: astryx theme build src/renderer/astryx-theme/makaTheme.ts --out src/renderer/astryx-theme/maka.css - * CLI: @astryxdesign/cli@0.6.2 + * CLI: @astryxdesign/cli@0.6.3 * Core: @astryxdesign/core@0.1.0 */ diff --git a/apps/desktop/src/renderer/astryx-theme/maka.js b/apps/desktop/src/renderer/astryx-theme/maka.js index 63168f40c8f..628556e2866 100644 --- a/apps/desktop/src/renderer/astryx-theme/maka.js +++ b/apps/desktop/src/renderer/astryx-theme/maka.js @@ -2,7 +2,7 @@ * @generated by `astryx theme build` — do not edit manually. * Source: src/renderer/astryx-theme/makaTheme.ts * Command: astryx theme build src/renderer/astryx-theme/makaTheme.ts --out src/renderer/astryx-theme/maka.css - * CLI: @astryxdesign/cli@0.6.2 + * CLI: @astryxdesign/cli@0.6.3 * Core: @astryxdesign/core@0.1.0 */ diff --git a/docs/astryx-surface-file-inventory.md b/docs/astryx-surface-file-inventory.md index f2c53cd5b85..bfbeecf9cd5 100644 --- a/docs/astryx-surface-file-inventory.md +++ b/docs/astryx-surface-file-inventory.md @@ -2,7 +2,7 @@ Generated by `scripts/generate-astryx-surface-inventory.mjs`. Each row is one on-disk product surface file. Regenerated inventory must stay in sync with disk (coverage gate). -Generated against `@astryxdesign/core@0.6.2` (195 component exports). +Generated against `@astryxdesign/core@0.6.3` (195 component exports). Wiki bar: Design Conventions · API Use-the-System · Theming · Container Padding. diff --git a/package-lock.json b/package-lock.json index edf0d92548e..aa35d9dae25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,14 +26,14 @@ ], "devDependencies": { "@ai-sdk/provider-utils": "5.0.51", - "@astryxdesign/cli": "0.6.2", - "@astryxdesign/core": "0.6.2", - "@biomejs/biome": "2.5.13", + "@astryxdesign/cli": "0.6.3", + "@astryxdesign/core": "0.6.3", + "@biomejs/biome": "2.5.14", "@electron/asar": "4.3.0", - "@types/node": "^26.5.1", + "@types/node": "^26.6.3", "esbuild": "^0.28.1", "husky": "^9.1.7", - "knip": "^6.35.1", + "knip": "^6.38.0", "patch-package": "8.0.1", "typescript": "^7.0.2", "yaml": "2.9.1" @@ -47,7 +47,7 @@ "version": "0.2.0", "license": "Apache-2.0", "dependencies": { - "@jackwener/opencli": "1.8.7", + "@jackwener/opencli": "1.8.8", "@maka/computer-use": "0.1.0", "@maka/core": "0.1.0", "@maka/mcp": "0.1.0", @@ -65,13 +65,13 @@ "zod": "^4.6.5" }, "devDependencies": { - "@astryxdesign/core": "0.6.2", - "@astryxdesign/theme-neutral": "0.6.2", - "@babel/parser": "7.29.7", + "@astryxdesign/core": "0.6.3", + "@astryxdesign/theme-neutral": "0.6.3", + "@babel/parser": "7.29.9", "@fontsource-variable/geist": "^5.3.0", "@fontsource-variable/geist-mono": "^5.3.0", "@maka/ui": "0.1.0", - "@modelcontextprotocol/sdk": "^1.26.0", + "@modelcontextprotocol/sdk": "^1.30.1", "@playwright/test": "^1.63.0", "@storybook/react-vite": "^10.6.0", "@types/react": "^19.3.0", @@ -82,14 +82,14 @@ "@xterm/addon-web-links": "0.12.0", "@xterm/xterm": "^6.0.0", "electron": "43.4.1", - "electron-builder": "26.16.1", + "electron-builder": "26.17.0", "esbuild": "^0.28.1", "linkedom": "^0.18.13", "react": "^19.3.0", "react-dom": "^19.3.0", - "simple-icons": "16.31.0", + "simple-icons": "16.32.0", "storybook": "^10.4.6", - "vite": "^8.3.0" + "vite": "^8.3.1" } }, "apps/desktop/node_modules/@vitejs/plugin-react": { @@ -130,9 +130,9 @@ "license": "MIT" }, "node_modules/@agentclientprotocol/sdk": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@agentclientprotocol/sdk/-/sdk-1.4.0.tgz", - "integrity": "sha512-/eufudw+aFY1LKLolT6yFE6UMmYRl7fMJ/DEONSIyR6wI3slHWITBsANRGqXEY8FRzqUxwh7QEaGiZHcJPVThg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@agentclientprotocol/sdk/-/sdk-1.5.0.tgz", + "integrity": "sha512-524jwbB2iYWA+kWWyv9fhKbhU89dH/lu9u5EXwVNmfYzopV8BujCDxByBDZhxRUkB7RWIJzISCnwivdDk+bdVg==", "license": "Apache-2.0", "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" @@ -320,30 +320,48 @@ } }, "node_modules/@astrojs/compiler-binding": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding/-/compiler-binding-0.4.0.tgz", - "integrity": "sha512-x2RjDUuWfwLNtc3mjAdSRInwqh/rqbLar9cm/5FOMbHvmYZB7yfKewzSclAxWjIZsypJDXv1lhaP2WG+P8TK3g==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding/-/compiler-binding-0.5.1.tgz", + "integrity": "sha512-oczyolLUl9mNrtuBuNjuvn5thpHrFLXAHAWGTRg0JDHQ8cGVsVeFekOu2uSoQGgainJIi+A3/9m0DyYwz3Nlnw==", "dev": true, "license": "MIT", "engines": { "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@astrojs/compiler-binding-darwin-arm64": "0.4.0", - "@astrojs/compiler-binding-darwin-x64": "0.4.0", - "@astrojs/compiler-binding-linux-arm64-gnu": "0.4.0", - "@astrojs/compiler-binding-linux-arm64-musl": "0.4.0", - "@astrojs/compiler-binding-linux-x64-gnu": "0.4.0", - "@astrojs/compiler-binding-linux-x64-musl": "0.4.0", - "@astrojs/compiler-binding-wasm32-wasi": "0.4.0", - "@astrojs/compiler-binding-win32-arm64-msvc": "0.4.0", - "@astrojs/compiler-binding-win32-x64-msvc": "0.4.0" + "@astrojs/compiler-binding-android-arm64": "0.5.1", + "@astrojs/compiler-binding-darwin-arm64": "0.5.1", + "@astrojs/compiler-binding-darwin-x64": "0.5.1", + "@astrojs/compiler-binding-linux-arm64-gnu": "0.5.1", + "@astrojs/compiler-binding-linux-arm64-musl": "0.5.1", + "@astrojs/compiler-binding-linux-x64-gnu": "0.5.1", + "@astrojs/compiler-binding-linux-x64-musl": "0.5.1", + "@astrojs/compiler-binding-wasm32-wasi": "0.5.1", + "@astrojs/compiler-binding-win32-arm64-msvc": "0.5.1", + "@astrojs/compiler-binding-win32-x64-msvc": "0.5.1" + } + }, + "node_modules/@astrojs/compiler-binding-android-arm64": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-android-arm64/-/compiler-binding-android-arm64-0.5.1.tgz", + "integrity": "sha512-nMb2nMIJtcWLNH+fV75Enmi+jp4tIOYOfsv4XtpgdOWkqc9P4uSSdK5u1xb340AzrXo5V18SxLl/nc3vcqtamQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@astrojs/compiler-binding-darwin-arm64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-arm64/-/compiler-binding-darwin-arm64-0.4.0.tgz", - "integrity": "sha512-ZVUwHundaQyFNjE6uoa0usaC0WOCitDCLS/4mdb4rOiJXwVUuKJBMxI5WMzXLWmamsXtK/Z//ifLXvV5Yeh4Hw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-arm64/-/compiler-binding-darwin-arm64-0.5.1.tgz", + "integrity": "sha512-5k4+nZ/WRt+dcVow4z7rBuI7iv9A58h/uQ91YJe1PrTivbcCkq3u2Ynx/AZJwII4CsZawBCeGpojkFjutZBhBQ==", "cpu": [ "arm64" ], @@ -358,9 +376,9 @@ } }, "node_modules/@astrojs/compiler-binding-darwin-x64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-x64/-/compiler-binding-darwin-x64-0.4.0.tgz", - "integrity": "sha512-FI6G8AY8u6fR1SI/QRR5yGMwtvZwP34CDmZpZ5HwJGa50UM1VISTLhqkhV4a476pmgd25X1Aur2dqw6hUnrlKA==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-x64/-/compiler-binding-darwin-x64-0.5.1.tgz", + "integrity": "sha512-0Buw+YST9Ff2EqQyhRMQujuFq/dijLw3zXWhsvI0dJ2pGrT38iVoxTEca2eBX/PfhlwkVWSRJEKO5gMqKHyeHg==", "cpu": [ "x64" ], @@ -375,9 +393,9 @@ } }, "node_modules/@astrojs/compiler-binding-linux-arm64-gnu": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-gnu/-/compiler-binding-linux-arm64-gnu-0.4.0.tgz", - "integrity": "sha512-lB9gLFJK7m82EnjaU8nlRBEfcwGNeHidW3sSjODTUjMNaoewVuUz9fwwdY5M4jiSXIqWLH3yl6TX8FTDKA74Sw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-gnu/-/compiler-binding-linux-arm64-gnu-0.5.1.tgz", + "integrity": "sha512-x5LRpyCoMKuu3INr18cn42YhwSOaRpp9b5Ny3eJJ/sWVeejC16Zeshu1JlvlSmEZACLeWxU5JM0RX6T6nI+YyA==", "cpu": [ "arm64" ], @@ -395,9 +413,9 @@ } }, "node_modules/@astrojs/compiler-binding-linux-arm64-musl": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-musl/-/compiler-binding-linux-arm64-musl-0.4.0.tgz", - "integrity": "sha512-HPbvWqbxFxyaoQJhLxCaSjtYBx9KBo7JGVzEFZCmMl968a2PsSH0UfiODYgYPXofTOIsIH2aoCcrHXML0IA3ig==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-musl/-/compiler-binding-linux-arm64-musl-0.5.1.tgz", + "integrity": "sha512-mL7tQEuDk3rGfaKmrO63nw6WBy1TPVioQGmVyjcAr+C+a/k3SVMYBytNSMqH9mZPT/Swj30JaZ2N842Z1NnOEQ==", "cpu": [ "arm64" ], @@ -415,9 +433,9 @@ } }, "node_modules/@astrojs/compiler-binding-linux-x64-gnu": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-gnu/-/compiler-binding-linux-x64-gnu-0.4.0.tgz", - "integrity": "sha512-tQKolMxoJ/+0AmLWm1PmJ/i+z3i10ZU1bNuVjEDulCf48azEMtUNjTZgHJ5MPtpYRNc7dlETr8QujUfduzoC7Q==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-gnu/-/compiler-binding-linux-x64-gnu-0.5.1.tgz", + "integrity": "sha512-uLGc9jtxwiDe4cQyhNPQim4ECiB/YzbWlXssfLAv8r374kArfTwBHjwR2+j+XVyF71yCx5mF9YNRclRqdNBgeg==", "cpu": [ "x64" ], @@ -435,9 +453,9 @@ } }, "node_modules/@astrojs/compiler-binding-linux-x64-musl": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-musl/-/compiler-binding-linux-x64-musl-0.4.0.tgz", - "integrity": "sha512-5v5YymudsxMHp3NBLCS8BUlu5CRqeLtWD9cKS/4nIhIEHCbpz9okmVV6I0HWqmBAPhWYcDa3vw/vltYPrOQCTA==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-musl/-/compiler-binding-linux-x64-musl-0.5.1.tgz", + "integrity": "sha512-G0cywinaQUc8v1MrytvYKUX7svTDMmYtOCZfxjwKPbJi59zIqM+Ll0rWgO0GQWLZH3XoPYo19ZwlP3Xt9ep9YA==", "cpu": [ "x64" ], @@ -455,9 +473,9 @@ } }, "node_modules/@astrojs/compiler-binding-wasm32-wasi": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-wasm32-wasi/-/compiler-binding-wasm32-wasi-0.4.0.tgz", - "integrity": "sha512-m/phuH3x3PREvv1OnkM44NoPh4MatUadix1fB1u5SvMLCyDTUZykDJbKnWf1cjnYmHdlB8HcjTjl6JrCqAIXcw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-wasm32-wasi/-/compiler-binding-wasm32-wasi-0.5.1.tgz", + "integrity": "sha512-yMhLL8asmLydoAdnEZxAw6eLfNDs3YJl6jqn0pjPt6zrb2U5qIDLnii4/twThpIFODKkQ6YDpBRTOz/vSfZCxw==", "cpu": [ "wasm32" ], @@ -465,16 +483,74 @@ "license": "MIT", "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^1.2.2" + "@emnapi/core": "1.11.3", + "@emnapi/runtime": "1.11.3", + "@napi-rs/wasm-runtime": "^1.2.4" }, "engines": { - "node": ">=14.0.0" + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", + "integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", + "integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.4.tgz", + "integrity": "sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.4", + "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4" } }, "node_modules/@astrojs/compiler-binding-win32-arm64-msvc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-arm64-msvc/-/compiler-binding-win32-arm64-msvc-0.4.0.tgz", - "integrity": "sha512-B9zYf3okEY83kM8gydlpH2BHP00w4ifxPqlYlWrgTwuD6wnkrJDCwBlgy1q31cERjCJRXN1lrE2VmkLvFjv/6g==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-arm64-msvc/-/compiler-binding-win32-arm64-msvc-0.5.1.tgz", + "integrity": "sha512-aClIG6poFt3Wf/bZykrEAX2nAnKvBHW6RXiKUa69QjBtWH0/FOlOAjnFcxRNlhej2AMWNYFx0o+LGjwMcH8P7Q==", "cpu": [ "arm64" ], @@ -489,9 +565,9 @@ } }, "node_modules/@astrojs/compiler-binding-win32-x64-msvc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-x64-msvc/-/compiler-binding-win32-x64-msvc-0.4.0.tgz", - "integrity": "sha512-zB0Nrv0dGc0zZWPGDRmmETTPhDRqyZjAjk+gWMlVrJX5U89obpB3VUUE1ZiHxOCN5LQojeLK6O8L/dnoHolvNQ==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-x64-msvc/-/compiler-binding-win32-x64-msvc-0.5.1.tgz", + "integrity": "sha512-/E6uBCagY70YpWqssBC+/FuniNSloeQPRgj7l3LDWiqjxIyTLnIgX1sTt18FU7jrigetpSnC9cHAM6b6IxSgPw==", "cpu": [ "x64" ], @@ -506,13 +582,13 @@ } }, "node_modules/@astrojs/compiler-rs": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler-rs/-/compiler-rs-0.4.0.tgz", - "integrity": "sha512-koVikeon1kreEy+/JzLQRy3vzHHQVOjycs4degg4vFufKApZOwMZvSSAEztYNhmcQVfNVsVZZI4cEge3cexAbQ==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-rs/-/compiler-rs-0.5.1.tgz", + "integrity": "sha512-1k1acnX7DepIiea9U9/Y+d1hdAFfylu1ZQQkkYgRSwBOBAsXInolyZuh/2tax+83vu/A+hOYP6P3+265RvMTvw==", "dev": true, "license": "MIT", "dependencies": { - "@astrojs/compiler-binding": "0.4.0" + "@astrojs/compiler-binding": "0.5.1" }, "engines": { "node": ">=22.12.0" @@ -536,9 +612,9 @@ } }, "node_modules/@astrojs/markdown-satteri": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.4.1.tgz", - "integrity": "sha512-EniHbFNa6SQHDih7JnpPos3NWXO6hdt4raBcOosfGmlfc3gP9CI/sESA3VOf1PgJZ7SFfewlZW9Livn0JugEZg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.4.2.tgz", + "integrity": "sha512-g4QehXnB/MzxQWnSf17NciFInMqEJy9948p8cc7zGg/r7995m0Ln5PMr3Xlnj24iey1LchaoZ3SzTOa3D4P/3w==", "dev": true, "license": "MIT", "dependencies": { @@ -594,9 +670,9 @@ } }, "node_modules/@astryxdesign/cli": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@astryxdesign/cli/-/cli-0.6.2.tgz", - "integrity": "sha512-7M3jqDRsFqsIyjMDJNHUaoJ9pcYa5e+MDrF/wMx40YAinkzRYonNy55mvcryiB6EcFrpmusrlWKspVvPDHd6QA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@astryxdesign/cli/-/cli-0.6.3.tgz", + "integrity": "sha512-3ggz5X5j0AsFnX43/mRs3bdnYDICGMuIPkVl+uCvaQUnzbPWFcu1fWR3JS27qyZ5CIg9ZVBP4mUB+dwm6R6ZXQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -671,9 +747,9 @@ } }, "node_modules/@astryxdesign/core": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@astryxdesign/core/-/core-0.6.2.tgz", - "integrity": "sha512-QzRE4Dn4hePtLL2q8KgdBcPKQVlxg316XIHez087iTSa3dkyY3429Zi23G35yCDrRHn6zoAMpLLLQp12s4FVFg==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@astryxdesign/core/-/core-0.6.3.tgz", + "integrity": "sha512-ieaZZn0wjP8saWkfSXFgzvrA0UfXWeOBsvuvsbtJ0789LdYacTJS83UXsROcvPLONUIOO/Iy1Ar5+70xvcVpgg==", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -686,16 +762,16 @@ } }, "node_modules/@astryxdesign/theme-neutral": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@astryxdesign/theme-neutral/-/theme-neutral-0.6.2.tgz", - "integrity": "sha512-DI80GzPqrcnMXHMGzNB8SFJSbTKOvU4FBtNANg8g/NexY4bHrmpOLzlUomGxuLdmDH/HCwVX6BRDK8s96OKJjA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@astryxdesign/theme-neutral/-/theme-neutral-0.6.3.tgz", + "integrity": "sha512-6l2u3qVcs5TkN4YUMUrSlMdmRmzt+/nB1pJqZopn3/nylVZcxSql+wzeD7T1VyinM+wHAokoaRD6xmCa2abNDg==", "dev": true, "license": "MIT", "dependencies": { "lucide-react": "^1.18.0" }, "peerDependencies": { - "@astryxdesign/core": "0.6.2", + "@astryxdesign/core": "0.6.3", "react": ">=19" } }, @@ -980,13 +1056,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", - "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "version": "7.29.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.9.tgz", + "integrity": "sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.29.7" + "@babel/types": "^7.29.8" }, "bin": { "parser": "bin/babel-parser.js" @@ -1281,9 +1357,9 @@ } }, "node_modules/@biomejs/biome": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.13.tgz", - "integrity": "sha512-+SEC/mFk1a+5mvUANZgbZTaiZXs1nj4iMhL/PHiqDT5TPUEPFIlliEtkKKZB4N862yylHC3UI+/Sj2I0HJEqhA==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.14.tgz", + "integrity": "sha512-0FabLIjd4M/dm8VFI86RMaLLdgepzbdfiAL2R8cr7V81OYYrP1w7Z73KfAwPK5h9SrEBXTzNG2y+mBwPo9xRnw==", "dev": true, "license": "MIT OR Apache-2.0", "bin": { @@ -1297,20 +1373,20 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "2.5.13", - "@biomejs/cli-darwin-x64": "2.5.13", - "@biomejs/cli-linux-arm64": "2.5.13", - "@biomejs/cli-linux-arm64-musl": "2.5.13", - "@biomejs/cli-linux-x64": "2.5.13", - "@biomejs/cli-linux-x64-musl": "2.5.13", - "@biomejs/cli-win32-arm64": "2.5.13", - "@biomejs/cli-win32-x64": "2.5.13" + "@biomejs/cli-darwin-arm64": "2.5.14", + "@biomejs/cli-darwin-x64": "2.5.14", + "@biomejs/cli-linux-arm64": "2.5.14", + "@biomejs/cli-linux-arm64-musl": "2.5.14", + "@biomejs/cli-linux-x64": "2.5.14", + "@biomejs/cli-linux-x64-musl": "2.5.14", + "@biomejs/cli-win32-arm64": "2.5.14", + "@biomejs/cli-win32-x64": "2.5.14" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.13.tgz", - "integrity": "sha512-nYSuDJ6zgVqZUkAkJkvhXxsF2PYIrUk/g638K4voCXz7foI9f7b6C2/7+oAihsHQlivZNMUrm/y8ywlcHQtZOw==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.14.tgz", + "integrity": "sha512-UnzaXO65L4tsZimFITFP2M121GyhDcWFrT3pL5ZJ5U4XcS/0L5VHYytVohdCf/gnDUFHgl2I9xnt5bV/J1kxHQ==", "cpu": [ "arm64" ], @@ -1325,9 +1401,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.13.tgz", - "integrity": "sha512-KVy1ceEDuJ3AzFxjT9kkxbVy+UANw1pjEMUS6lvKfxjJ+fmkRvc7sQn1Xo6ETgseEI7wUQoV03KSga3XfE8YRQ==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.14.tgz", + "integrity": "sha512-kiy8qA16K93J7uvFfWi4LgjqDpnRKyePAna6A0Y4jxyUga35SYpIZ2cNWlhy0lsfgqRenCpfymnJWEZ6mgpRgA==", "cpu": [ "x64" ], @@ -1342,9 +1418,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.13.tgz", - "integrity": "sha512-VlNMtoxOqs0dUR6drxxHr18SNUvI7xxAuHZlH4s/dstYSf3g6RaqVgo8JRnhcOhKz9afWrvtJTboNG1JuYlIDQ==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.14.tgz", + "integrity": "sha512-vO/9BaU1n30CiFNLx49gMTMtbCAAqlo/EqFoG0BU3deQInTbJrmXSmTQ9e3FoDZIKQnvSLDVNL4lx1ci7y1T1Q==", "cpu": [ "arm64" ], @@ -1362,9 +1438,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.13.tgz", - "integrity": "sha512-CH32xpep3dNS5EVJpAHlYchkBYznxyVZQrx0b6YYYlPL9u9ZeD2NtqiK/6s64+HFS2a7hGnryLlqqZAOh8ax5g==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.14.tgz", + "integrity": "sha512-SJ9PrZkBnnH9dHJDnxk34vKs0GB2dbsioaft6/hPhWJ7AHpwYH83Isnhj0FSRpFkGgpVfJ1lds23ApB2czUDLQ==", "cpu": [ "arm64" ], @@ -1382,9 +1458,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.13.tgz", - "integrity": "sha512-Fi6gIxbUaJ3ZCIXeG3ggIBPF76O2DjDN67WrPX/ODRv54GeXPm2gbEPC96Yb0yrJoiH0Eax1JLx1Pi0XbsNFZQ==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.14.tgz", + "integrity": "sha512-VHZRa7CCQBUWKxNwUvHJeuW03WFRgN5NWO//SDGOitc9QIeNyfA42V9zlKm+x82xFSG9Bzi5fi+hbhm9anO8yA==", "cpu": [ "x64" ], @@ -1402,9 +1478,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.13.tgz", - "integrity": "sha512-F3pmwl+VHoUuVJN/tbNLKeLt0SVK3EIyN1jXlMcNyQGYRQQTVqXF+GgkP0/CjGXFN87e/mv0sBfUnWqWza5PKQ==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.14.tgz", + "integrity": "sha512-2kI5PrMgW5dcEZYrstLPmUmCwkUwZY39rP4BN93Vxbwcs2O57LDQOktUZZYPvvspN5i0mhGr3TJtF5sU26NUWg==", "cpu": [ "x64" ], @@ -1422,9 +1498,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.13.tgz", - "integrity": "sha512-+WD13qshXrr0Icv4BfsAdzm8Fs3TL+nZ59zEQxsYNd8lcgZJ0A5+OrlwsL1PipVCmWeRpxgIPD6DAcEd7smkCQ==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.14.tgz", + "integrity": "sha512-pHgAFffmZtaYoxavEsWEYNvcA7NwOIjLyqw2HXyLbt16xYryX0L4fMV2u0G9ag6LNYPIoqWaWqzUcnc6rLGGXg==", "cpu": [ "arm64" ], @@ -1439,9 +1515,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "2.5.13", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.13.tgz", - "integrity": "sha512-VOofU/nW761XWzUeUNE8zzYNyPrxuMuNFMizL0qz7J75yeV8N7WFheUlk1/K6dOkaFpH9wJ+lDKlwjAbw0346w==", + "version": "2.5.14", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.14.tgz", + "integrity": "sha512-oJWmBhoHsnhUKIke+0gXDX0mltJrWHA1UyHsrTlXwX0TL64ilVZAo+TYZm97baecV0esBdpzy3k96q+09JaZUQ==", "cpu": [ "x64" ], @@ -1687,13 +1763,13 @@ } }, "node_modules/@earendil-works/pi-tui": { - "version": "0.85.1", - "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.85.1.tgz", - "integrity": "sha512-OIzw9efInmO4WOBnD4TxcTdBjmzvYJpzslkgoUro946nEGoYWg5rwv1p4fDt3/JvMx9QybryUCUwlm7j8Dreig==", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.87.1.tgz", + "integrity": "sha512-YEH2vRyOeiO7hhN6j6AE6YwKSq2Kz2f3XR8bj1TbR+aGE/JsnY1hLPMI2pvaZfRM1n9Y00tejxFQ4zbzvF7nkQ==", "license": "MIT", "dependencies": { "get-east-asian-width": "1.6.0", - "marked": "18.0.5" + "marked": "18.0.11" }, "engines": { "node": ">=22.19.0" @@ -1978,9 +2054,9 @@ } }, "node_modules/@electron/universal/node_modules/fs-extra": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", - "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.1.tgz", + "integrity": "sha512-KYAb4c9BJQI6QqGKthV68OHe0badztdXJWKo0WtBA9IuCFPTKvE5ZdUBglP833aMjhaSPNO4A5j/EkzZtGlKjA==", "dev": true, "license": "MIT", "dependencies": { @@ -2077,9 +2153,9 @@ } }, "node_modules/@electron/windows-sign/node_modules/fs-extra": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", - "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.1.tgz", + "integrity": "sha512-KYAb4c9BJQI6QqGKthV68OHe0badztdXJWKo0WtBA9IuCFPTKvE5ZdUBglP833aMjhaSPNO4A5j/EkzZtGlKjA==", "dev": true, "license": "MIT", "optional": true, @@ -3249,9 +3325,9 @@ } }, "node_modules/@jackwener/opencli": { - "version": "1.8.7", - "resolved": "https://registry.npmjs.org/@jackwener/opencli/-/opencli-1.8.7.tgz", - "integrity": "sha512-2M+oPc70R1jNGzKzNrsm3fN4/gdvxCKlla7s9eaaTjkDjlzHpoZFN1YdV01A185kwCTN/ChOg+rbO4epO73c3w==", + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/@jackwener/opencli/-/opencli-1.8.8.tgz", + "integrity": "sha512-T0rp89sVWMKdnQHoYwkRDuACy7k/lCvVScOZmpqnBhd1AnXG6XLYSYO6U0D/Zdj8qq9kQqgop3qmElNcbMr+sw==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -3261,14 +3337,23 @@ "js-yaml": "^4.3.1", "turndown": "^7.2.2", "turndown-plugin-gfm": "^1.0.2", - "undici": "^6.27.0", + "undici": "7.29.0", "ws": "^8.18.0" }, "bin": { "opencli": "dist/src/main.js" }, "engines": { - "node": ">=20.0.0" + "node": ">=20.18.1" + } + }, + "node_modules/@jackwener/opencli/node_modules/undici": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.1.tgz", + "integrity": "sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==", + "license": "MIT", + "engines": { + "node": ">=20.18.1" } }, "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": { @@ -3342,9 +3427,9 @@ } }, "node_modules/@larksuiteoapi/node-sdk": { - "version": "1.73.3", - "resolved": "https://registry.npmjs.org/@larksuiteoapi/node-sdk/-/node-sdk-1.73.3.tgz", - "integrity": "sha512-14Zj8r3f5CEIvpRuzb5HSYyp6O092N1kQkGHg6Kwi/c7B0CmXeCHBVM3Pmn0ozP5JvvAQd/PXBzW48rMH6cj4Q==", + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@larksuiteoapi/node-sdk/-/node-sdk-1.74.0.tgz", + "integrity": "sha512-K2WoGy6x97u2kPPSFsu0v9X8CY+0q4OwO3rhXiOSRXYjGS7ovydFpEH07AS5VYcBnbQCoc5sGezo0IEGVViuoA==", "license": "MIT", "dependencies": { "axios": "^1.16.0", @@ -3475,12 +3560,12 @@ "license": "BSD-2-Clause" }, "node_modules/@modelcontextprotocol/client": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/client/-/client-2.0.0.tgz", - "integrity": "sha512-8f1OghQ2rjzIOfqgUCP+8GiUWqRs89njoWLNqAe8kWmDePv3s1fZXseej+QXemssEuuOvLLmLO/kqM3IQHtISw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/client/-/client-2.1.0.tgz", + "integrity": "sha512-mDVhoy5WjDb0U+4dQPzLcciC2erSex/GRVQqnoZdiuMoE3YiTZdiS7ezNcFwX4XEOWOaj7jZr0kLYnILnL8orA==", "license": "MIT", "dependencies": { - "@modelcontextprotocol/core": "2.0.0", + "@modelcontextprotocol/core": "2.1.0", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", @@ -3492,6 +3577,18 @@ "node": ">=20" } }, + "node_modules/@modelcontextprotocol/client/node_modules/@modelcontextprotocol/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/core/-/core-2.1.0.tgz", + "integrity": "sha512-YdFj5gMRHr0gYNAhTbQDgjLHiEJdIAUYxomhKseUNye7ZGlISQmUoLh2sveFFCiQ7j2YMffT1kgSND0FSfIFjQ==", + "license": "MIT", + "dependencies": { + "zod": "^4.2.0" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/@modelcontextprotocol/core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@modelcontextprotocol/core/-/core-2.0.0.tgz", @@ -3505,9 +3602,9 @@ } }, "node_modules/@modelcontextprotocol/node": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/node/-/node-2.0.0.tgz", - "integrity": "sha512-Y4hAC2XdGDUdDOCbLDOCA4+aL3NUldjsOWlDL/YwpAxrPhRm1xHd7lZ+mLacvZ9t3PaH28wgNoaLQGrIk1P2pg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/node/-/node-2.1.0.tgz", + "integrity": "sha512-6xg3iWVcOfiL8Y7rI6xUqXD0lI2AY5q3djsa/cOi1IJUSwx06t0gvhSwU/6mIIohrFlt40/ANUG56DQ0HLhILQ==", "license": "MIT", "dependencies": { "@hono/node-server": "^1.19.9" @@ -3516,7 +3613,7 @@ "node": ">=20" }, "peerDependencies": { - "@modelcontextprotocol/server": "^2.0.0", + "@modelcontextprotocol/server": "^2.1.0", "hono": "^4.11.4" }, "peerDependenciesMeta": { @@ -3526,9 +3623,9 @@ } }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.30.0.tgz", - "integrity": "sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.30.1.tgz", + "integrity": "sha512-H2HxLvC3HDNybePJaLdSrU1hhUK5iQw+WvV1b01myFyI7sdVGe1u/IPTE5D9fGCiJDVtgMV/lmFkQXLmQyIFYA==", "dev": true, "license": "MIT", "dependencies": { @@ -3580,12 +3677,12 @@ } }, "node_modules/@modelcontextprotocol/server": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/server/-/server-2.0.0.tgz", - "integrity": "sha512-YhHWdHfpFMQfd0prsEnxKeS3Qz3ytIGmsS0sth4KDjnacIT7hxk6hXHkJ9KysxlkvTM+WZAtQbbcUhdoP4Hvtw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/server/-/server-2.1.0.tgz", + "integrity": "sha512-FdvwZU5N03O77Suh35JqjAqq5R1ZTEPFtwu6N4BgBq28qrQtrCnpbLL5U2pwYCuE194jAw0xnlOVmIqhfoYuUQ==", "license": "MIT", "dependencies": { - "@modelcontextprotocol/core": "2.0.0", + "@modelcontextprotocol/core": "2.1.0", "zod": "^4.2.0" }, "engines": { @@ -3620,6 +3717,18 @@ } } }, + "node_modules/@modelcontextprotocol/server/node_modules/@modelcontextprotocol/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/core/-/core-2.1.0.tgz", + "integrity": "sha512-YdFj5gMRHr0gYNAhTbQDgjLHiEJdIAUYxomhKseUNye7ZGlISQmUoLh2sveFFCiQ7j2YMffT1kgSND0FSfIFjQ==", + "license": "MIT", + "dependencies": { + "zod": "^4.2.0" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/@mozilla/readability": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@mozilla/readability/-/readability-0.6.0.tgz", @@ -4351,9 +4460,9 @@ ] }, "node_modules/@peculiar/asn1-schema": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.9.4.tgz", - "integrity": "sha512-GjzePcT9Iw8NzeOPf73iNS9xM+TBhd/FilAfP+RQGkTMQJTVWtytN3JHJACCjf/ABNau5S7mS3g+DcuxmRgYEg==", + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.9.5.tgz", + "integrity": "sha512-Ez3wLKVjaxdsLcgeWN4OE31QkM7oBOgKuuBJxldRYAkfYw2C+8zJPcSd/SThnbhszsEOlAmoaS5kIIkN29fGKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4479,9 +4588,9 @@ "license": "BSD-3-Clause" }, "node_modules/@rolldown/binding-android-arm-eabi": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.8.tgz", - "integrity": "sha512-tN5aztYkKCte4i5SIrrz5yK/HMjEuCqCSCJa418jOV8tZ1cBY3YF2otxB1ktPxzsLA1BeTqwapK0bfjxNvHJVw==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.11.tgz", + "integrity": "sha512-A5kXfGKvKWWZE0TtPrfsvT+q4Y5d1QG8gGUzpYjGydM+fARM9MuX90PrXYXe0XbsDVgyxxNzHo6giCj90bsFNw==", "cpu": [ "arm" ], @@ -4496,9 +4605,9 @@ } }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.8.tgz", - "integrity": "sha512-dIYTWl9XprMUiQFoc55KUyk/oS8SKYH3zFl0LTR7RT0Xj4hgSVyuJcroH8JUu8RcpF8fTB6E0aOwCkZoYPcDSQ==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.11.tgz", + "integrity": "sha512-z6cTycz+iJ4PVkuL4HHW4DfTfoeU/2nqYYuSOrTmH7yHK5Y0LCOnA03V4ZNxavyVaU1oOqUgIg2klN/s+USGOA==", "cpu": [ "arm64" ], @@ -4513,9 +4622,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.8.tgz", - "integrity": "sha512-PCSDQGXD2IyTEFrcgPyBM8jJuGmrbCMuoIOXdbEGVemruKACXoLQJrb+A45Z0L5t1RQkdfJprAYPkikbh7dzdA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.11.tgz", + "integrity": "sha512-jShvqNtP6vDC6/A5JOAzbVV+DkgHqhl/ScVCJEbt+TUY6QYz7YnXcrg3sLtFBniro0f/Ld50ZwCWA6f7KYD1nQ==", "cpu": [ "arm64" ], @@ -4530,9 +4639,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.8.tgz", - "integrity": "sha512-Uk7lRsGhPFHVX/sAUC6D5H9Ol30dFHd6iquokll2th3LpdJ3F5CzQB+7DHn0Ri2mG+U7k2zXiPHDrwZenXhwSA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.11.tgz", + "integrity": "sha512-f2i2xiNWq1Z1l2++q2fuhZRdLAT3aqxD6vRNm1RAxpUoBcdqNB3C0s1Bt+K+PbEx2F5F4gQp6hqKkphCY/xF9w==", "cpu": [ "x64" ], @@ -4547,9 +4656,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.8.tgz", - "integrity": "sha512-DjszaTEVogPqA5bYzsEeqDCQxbcp2fexQwKcRspYji2yzR68fCf+e4fx6kBSRDwX5/brZaHw/hWS9+A/+/w9sQ==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.11.tgz", + "integrity": "sha512-4Ir5FSOKIAMr4r0kExpt1s3bMgzJU3rA45AYOHtQpls0oNeqcYBKrWMlckrYH4KCfGLfkfn1tN1dmZPMVsdXow==", "cpu": [ "x64" ], @@ -4564,9 +4673,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.8.tgz", - "integrity": "sha512-zmwa7FTmdzB6aaEEuuls18H6Ap5JmJPSoPTuXixeJZV6tG40SyLkApQtz1g8ptZtiEKqj9OM0oNLPh1AgvE31Q==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.11.tgz", + "integrity": "sha512-/gnRDM+39BROzAN/k1OZjDPnDMcZxB/0EUxKjONO5yVkNEvlsoMDrxGNKgZi/ttFriS2gwlDNzB65pvNbFOXIQ==", "cpu": [ "arm" ], @@ -4581,9 +4690,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.8.tgz", - "integrity": "sha512-KdYQDPHwJVnbFwdTGMgxsI9SqblBlz6STGM+w1We/d5B8OWWidYH0MwkU/uA1wM5fIpO2MkOVxXrNzzuZhw9ew==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.11.tgz", + "integrity": "sha512-PFaK8HwvAHbaKbBcDNQihjMKYvFnA5hiENx/l5tphTDz1E0WFp32l0A7aq7lyUwGsRw/xSrNIy/gIK4thrSCrw==", "cpu": [ "arm64" ], @@ -4601,9 +4710,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.8.tgz", - "integrity": "sha512-jFJTifHnNPY+yzOoNZQfSIysrVyXzEQPhPnOUjmD1bcQGHH6s7c8cViKWar8YplQImE5N9JRqMCLrM2CdxOrZA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.11.tgz", + "integrity": "sha512-AskzJUIKRLPxkruR1wLKewGbOw+EYfU/9lOrBFj4AFrEA8hPpKFnODWNu2WLaNs0QNkEb9QIJufmVZZIL/bJlg==", "cpu": [ "arm64" ], @@ -4621,9 +4730,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.8.tgz", - "integrity": "sha512-FhiOziBDWPBjbcmRzfLyIJnaP7AVMFXT7YCXPjXxj7wKU3vx24RjrCNN/zjvVa+N2vVoHJwCoUBvsrN/DG3zIA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.11.tgz", + "integrity": "sha512-qlUGAheh2yh8afH7QBgx0PrRHN85hKnNd78x8MeMhXivuevgd8vgf6/CstOzmNKY/lLTHvNTrPy98cLnAugzJw==", "cpu": [ "ppc64" ], @@ -4641,9 +4750,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.8.tgz", - "integrity": "sha512-WnHfADMzOV2Y55wlx1hzzQnar/wDt/VdvWSD99r18Mz9ylNieIGOkRx3UV21h7m/eJvjySYJkO26VvGNFkwsIQ==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.11.tgz", + "integrity": "sha512-secpEad+0vCbSfn8upFySkDskv+bGPk3THSDS9Y89yc4rb4kzqHp8Dmyd9BkQW4SnhNXBZCl/6CrO//hZahNJQ==", "cpu": [ "s390x" ], @@ -4661,9 +4770,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.8.tgz", - "integrity": "sha512-H9tRr5ibfXFVLxbPOseVewewFpl28zcEdjRDt2FTUZU7odxP0gEv1ki4/kGmcGOh78oRwZuuQllGLZ9zTJp84g==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.11.tgz", + "integrity": "sha512-mOVBT3dPpkWm8XBWPmU4bf+U6dYDLeMo/9ojUmis4N0L5uu10qra5vOyngZ7/PSdoE4G9KvRt4bloRxNjLas7A==", "cpu": [ "x64" ], @@ -4681,9 +4790,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.8.tgz", - "integrity": "sha512-UefiqfM3D6IVNlZ8tSGs9+Ejjud2T+oxO0IHADU45Y+lyEjD2dVFyZHbkfX0LUb5Zugo/oIv1eCO/KVYhgYJYA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.11.tgz", + "integrity": "sha512-Is78i9A8Ui4SqcxUwFJ9uMmjDn58IbVTjFWYdQestFEgeuEmHMLGNriXnVJKkwG2YiZjw8cP0zCTyDMdDGtOOg==", "cpu": [ "x64" ], @@ -4701,9 +4810,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.8.tgz", - "integrity": "sha512-637Ke4kWSy6rp9cxQ9gMOXlxPgIw/c1beASV4M//3+9I4uwBVOOl74G+e3zyU3u19U7RkRl/HuewixZ/Z6+Rjg==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.11.tgz", + "integrity": "sha512-dUCXneZ87INUMyQ0D+C0HrEBNUPNXHaPmU5GTjyKTJEiussw9Kaj5Ln8UztPe4epV/ffvgNBEadksdYhmW6xJA==", "cpu": [ "arm64" ], @@ -4718,9 +4827,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.8.tgz", - "integrity": "sha512-xWBkPOF1Q9k/Gv1nQXnVdLxKu74jXppuOM4Z3mnypVUJJJwLsMl7hNJGRAUJoG8A5MgOI1ACKM+wBFxSJzKy4A==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.11.tgz", + "integrity": "sha512-jByxb6qfd+bH1xUd0qnfFnb17i9sWBPY2tOavJ0l3tdr3OTu+Kvtm8cd/JV5nFt657b1VqGltxg9olOEfofXWw==", "cpu": [ "arm64" ], @@ -4735,9 +4844,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.8.tgz", - "integrity": "sha512-uz2ZvfgXbxqNwijjjbxrnvALwpyODDcgc1T1N8N3rf/DXKQmaFwmB4LX4yyjggpwN2obdQLb2rgirX5ffCWYng==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.11.tgz", + "integrity": "sha512-/PzKqzAJ03i19oy2ItPvyvaVjOjBCNnfaJs8yvUdGBKmiESgnrJSQ2awd81QzFbbnAmu7YO9ZnJrDCb9VSJPRA==", "cpu": [ "x64" ], @@ -5714,9 +5823,9 @@ } }, "node_modules/@types/node": { - "version": "26.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.5.1.tgz", - "integrity": "sha512-CzNm2FezW4VR/LjG6yUdiEgLE/rAQ9Slj5gCu/C2VrdcW7I0ahNZ8DRbHT7zOZ6r3ONgd/bsQIeSaoDGrd1C6g==", + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.3.tgz", + "integrity": "sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==", "license": "MIT", "dependencies": { "undici-types": "~8.9.0" @@ -6452,9 +6561,9 @@ } }, "node_modules/app-builder-lib": { - "version": "26.16.1", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.16.1.tgz", - "integrity": "sha512-FhaO6YOup01ZfQW0Z6gt3AyukJjv1gW4uFK47jTgwcHZKqyN/fSlK2LqPf9tAeZYLP2bRJLDzeOkRImsw2X4Pg==", + "version": "26.17.0", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.17.0.tgz", + "integrity": "sha512-wfL7EhujuODDW3uMSD8RPcr/MLzmT0dmpVfWV0wFUWXI0rIdaukzAJ7EFUSyHXOpxuBZqaIGlQt6VeQhtHhetw==", "dev": true, "license": "MIT", "dependencies": { @@ -6504,8 +6613,8 @@ "node": ">=14.0.0" }, "peerDependencies": { - "dmg-builder": "26.16.1", - "electron-builder-squirrel-windows": "26.16.1" + "dmg-builder": "26.17.0", + "electron-builder-squirrel-windows": "26.17.0" } }, "node_modules/app-builder-lib/node_modules/@electron/asar": { @@ -6789,15 +6898,15 @@ } }, "node_modules/astro": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/astro/-/astro-7.3.2.tgz", - "integrity": "sha512-ysTcdpGP61XZpHoMRYC/CK19DQ94qkBvzXMtXEo0gEqPNkmOU/Tv++CtWmzaI4nF2Ck8RXFdiWvdlTWa2oOr9w==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/astro/-/astro-7.3.5.tgz", + "integrity": "sha512-1p/ernaq/RuESbM5NMjWzbO6SiebMGrGcYlGjMfBhzzgM+n/X7AUmVyw8BqW2QYCdivpsHwJBcD1fqmlTZjZHg==", "dev": true, "license": "MIT", "dependencies": { - "@astrojs/compiler-rs": "^0.4.0", + "@astrojs/compiler-rs": "^0.5.0", "@astrojs/internal-helpers": "0.11.0", - "@astrojs/markdown-satteri": "0.4.1", + "@astrojs/markdown-satteri": "0.4.2", "@astrojs/telemetry": "3.3.3", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", @@ -6814,35 +6923,35 @@ "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.28.0", - "find-proc": "0.1.0", + "find-proc": "0.2.0", "flattie": "^1.1.1", "fontace": "~0.4.1", "get-tsconfig": "5.0.0-beta.4", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", - "js-yaml": "^4.3.0", + "js-yaml": "^4.3.2", "jsonc-parser": "^3.3.1", "magic-string": "^1.0.0", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^1.0.1", - "obug": "^2.1.1", + "obug": "^3.0.0", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.4", - "semver": "^7.7.4", "shiki": "^4.0.2", - "smol-toml": "^1.6.0", - "svgo": "^4.0.1", - "tinyclip": "^0.1.12", + "smol-toml": "^1.8.0", + "svgo": "^4.1.0", + "tinyclip": "^1.0.1", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "ultrahtml": "^1.6.0", "unifont": "~0.7.5", "unstorage": "^1.17.5", + "verkit": "^0.4.0", "vite": "^8.0.13", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", @@ -6959,19 +7068,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/astro/node_modules/semver": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/astro/node_modules/yargs-parser": { "version": "22.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", @@ -8865,13 +8961,13 @@ } }, "node_modules/dmg-builder": { - "version": "26.16.1", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.16.1.tgz", - "integrity": "sha512-pnI/3Qb24Uk+rMTgIUrsVUKosVgwmBUdF8Zeb8TexOSbpq8MWc7v6l+n+FrEqVkjNZwzBN+XpDS9ENgZ/rkWAw==", + "version": "26.17.0", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.17.0.tgz", + "integrity": "sha512-EAw1f2iGkICmUvAVBOjm7v5mxJdB7/+OZSycHFhKBimiTkCXtvkCC6wBKzHo7ZQYi58C2MmwIleRbgRnROlK2Q==", "dev": true, "license": "MIT", "dependencies": { - "app-builder-lib": "26.16.1", + "app-builder-lib": "26.17.0", "builder-util": "26.16.0", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0" @@ -9079,18 +9175,18 @@ } }, "node_modules/electron-builder": { - "version": "26.16.1", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.16.1.tgz", - "integrity": "sha512-LrLK65QX5PUYYODXqp23FKrV7CILTtVY7mrJckNknO9jLNSMiqFkKbSMiDRw4CjOADMPVDdWLxY4mezOZWswxg==", + "version": "26.17.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.17.0.tgz", + "integrity": "sha512-iYHBRiagS9sDIbZx1ZD113f5rEGQvtpvTvHf70ovHKJ8mRvxwIkWX7JCwfmVQmVS4eX735p7TZmoxHnBPwF3vA==", "dev": true, "license": "MIT", "dependencies": { - "app-builder-lib": "26.16.1", + "app-builder-lib": "26.17.0", "builder-util": "26.16.0", "builder-util-runtime": "9.7.0", "chalk": "^4.1.2", "ci-info": "^4.2.0", - "dmg-builder": "26.16.1", + "dmg-builder": "26.17.0", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "simple-update-notifier": "2.0.0", @@ -9105,14 +9201,14 @@ } }, "node_modules/electron-builder-squirrel-windows": { - "version": "26.16.1", - "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.16.1.tgz", - "integrity": "sha512-w0y44wSaT1l6R7CAGmeHn4nHPfvzDyCAU1xJyi1w9SbPYJpYn76SmHDzqHf8Y7l91cPWTdPYBpGQtB2T5mJ08A==", + "version": "26.17.0", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.17.0.tgz", + "integrity": "sha512-uyh+D+B0m12qCRp9c/7dwBirHTh7JcvAzj5eTEbb4dXPPGAhYPx1nozzbu1fC6AdULfat6ZNqgWhipTFpb82lQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "app-builder-lib": "26.16.1", + "app-builder-lib": "26.17.0", "builder-util": "26.16.0", "electron-winstaller": "5.4.0" } @@ -9941,9 +10037,9 @@ } }, "node_modules/find-proc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/find-proc/-/find-proc-0.1.0.tgz", - "integrity": "sha512-OaOpEYv2PiQ7SQ5LIrl+deA1XaWcxEjnpM6VuWXTUvn+teIXxeFTLDmu18/zDQpFmHN4o3oDBX+BT0AGwEhemg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/find-proc/-/find-proc-0.2.0.tgz", + "integrity": "sha512-a6h2nTrgB3g5Wrn4au9Ux4kMk7IJtyF6oA8uGn+mk3weLZssUtc1cp6meHIzzuW2o1srrBAxzkmXLbqjRkgB6w==", "dev": true, "license": "MIT", "engines": { @@ -10791,9 +10887,9 @@ } }, "node_modules/image-dimensions": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/image-dimensions/-/image-dimensions-2.5.1.tgz", - "integrity": "sha512-It7CkTNp7IYA8jhvGgz8K18OAbHF3/Juk8RNEyTyMFfolJOIU1Y2wGDnzDQPbGCjyxVF/++pwIZE0BKJUEOb1g==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/image-dimensions/-/image-dimensions-2.6.0.tgz", + "integrity": "sha512-j1cgVnvl0ltv7tYImMYMlrkYeDB43oSUiQv3zodkImsFbJWmJZ6M5e5N9k5/8zdMVjrtYzRbmcqTqpxvyh29vw==", "license": "MIT", "bin": { "image-dimensions": "cli.js" @@ -11342,9 +11438,9 @@ } }, "node_modules/knip": { - "version": "6.35.1", - "resolved": "https://registry.npmjs.org/knip/-/knip-6.35.1.tgz", - "integrity": "sha512-22wnEnv4do2fvoeJsxpFCG/MBxReNxoCVBccaCl7suUJsG+F0UvxI9ycxZ9YgtLHSSjrZl5tOas0JZ/R1vJ93g==", + "version": "6.38.0", + "resolved": "https://registry.npmjs.org/knip/-/knip-6.38.0.tgz", + "integrity": "sha512-umytiMCaZf02MV9SOO1FEDgbDf6h20VZk3ruJE0kh52kkGjYZFRUAXHJWYoLhvhoHGINO/7GXVJmQ2vxTBvl6A==", "dev": true, "funding": [ { @@ -11362,14 +11458,14 @@ "formatly": "^0.7.0", "get-tsconfig": "4.14.3", "jiti": "^2.7.0", - "oxc-parser": "^0.148.0", + "oxc-parser": "^0.150.0", "oxc-resolver": "11.24.2", "picomatch": "^4.0.7", "smol-toml": "^1.8.0", "strip-json-comments": "5.0.3", "tinyglobby": "^0.2.17", "unbash": "^4.0.11", - "yaml": "^2.9.0", + "yaml": "^2.9.1", "zod": "^4.4.3" }, "bin": { @@ -11381,9 +11477,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-android-arm-eabi": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.148.0.tgz", - "integrity": "sha512-pHASv9g5pASxb7akHERZNSkrEqPhFaUix98o7d9hbTpolnnFWl7UiRrcMhCsV1+iVO4/cJwKsbKRJTFNs2tdBQ==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.150.0.tgz", + "integrity": "sha512-oQef2Zu4Prz1KLKznz3HqZzU9uVoA5PMoDZuuLmqms7hKmKSAPzlaMnLllJq3t+rgKmfJJ2siPrpZfFrW06btw==", "cpu": [ "arm" ], @@ -11398,9 +11494,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-android-arm64": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.148.0.tgz", - "integrity": "sha512-sg/6Ez0KdAygsu0POELux9wN1Po2CP93WY8eNl4DBKIGprsd4QSHBXOb471Pu9i2OCD5sLkISSb2agZEhVn2Zw==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.150.0.tgz", + "integrity": "sha512-B6ofpoFiAUwIZ0MJ2IgHPvZK8FAtL4qzSZRwOkAKIfxEobE1mQC8nDdiFZj7pUaJiVUVCsfkMsBJKedzO8rZvA==", "cpu": [ "arm64" ], @@ -11415,9 +11511,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-darwin-arm64": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.148.0.tgz", - "integrity": "sha512-yiSJmzGUvCUaJT8X3j40gVcX+ckuHQMuiOtF8DvzTs5+JtB/7XuHFPp4M+vv5u+HlBtDUd4Ks5pyHpWz8mfnkg==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.150.0.tgz", + "integrity": "sha512-J+9IHKzx/bSz1JetOfD4zKXSK9sOm4/a7+0qomJODcTL6JsRXGeV/ZdkAPSIDydfFmWzYCraMlQEosSZEyBYkQ==", "cpu": [ "arm64" ], @@ -11432,9 +11528,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-darwin-x64": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.148.0.tgz", - "integrity": "sha512-6ZeklaamrMy4H2JmhvcJg6iip59tYILtuLaILxyAHT3l5FDxnI5ihVievAft5ZmAbqtlWHErOi1OpJK8gy1wcA==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.150.0.tgz", + "integrity": "sha512-v6IPfcAcSYrBWXV5Tce1DmxDMXLhEYpIIWiRFPJopgCVscZdLaV4MRQOUxvL3usQlw+yrwYOjBFB9IwBx+jUiQ==", "cpu": [ "x64" ], @@ -11449,9 +11545,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-freebsd-x64": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.148.0.tgz", - "integrity": "sha512-vFsPx+a/qFECPnz/H8nC6x6MDvnWscLTCo/5muojEF54ERUq1kdgbvnWo95YnkhjF9sTIcG/uDxQBh1gffaufQ==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.150.0.tgz", + "integrity": "sha512-AoR/4jD02HET0KO0yNT4nbTE+XJUxiO9jB1X/ycEjUE3WrIJ3IjV/Vf+gskhWLcqqeXfvNnkDtBR7epllAm88A==", "cpu": [ "x64" ], @@ -11466,9 +11562,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-arm-gnueabihf": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.148.0.tgz", - "integrity": "sha512-eOr3M+6iGbbxNL4PSS0VtsyQ2eOUxSBh00BqO22SbolDimPSYsBuLr/LCrZBkiqW2BoabhR6V4R8jrRAay7hjg==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.150.0.tgz", + "integrity": "sha512-A/hycCFjLUrCmLoL5O/vBp40ohlaXO1Ta3v5hqYZxicYFs129wZmgZJggcW4mYGYbZebQLhup+N8JjeQl8qwyw==", "cpu": [ "arm" ], @@ -11483,9 +11579,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-arm-musleabihf": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.148.0.tgz", - "integrity": "sha512-58ZKDw0mQRbCNfrd2IDyV4o8T7enzGERJn41BH2tjrZVGyiKiFzcfDicuB7Zcpb/1xIOrObovr8Dja6lZi8dLw==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.150.0.tgz", + "integrity": "sha512-pbqahg1Pkz7J4RKmXm30s/iQu99hv64ayXCu8P4p75HcEH5azOdR4eGqiB6lFGkFR3mMpzaYsSKLkS8oJbjmeQ==", "cpu": [ "arm" ], @@ -11500,9 +11596,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-arm64-gnu": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.148.0.tgz", - "integrity": "sha512-Fnu95O4eZ5i++GPvIzBEZ8y4ddTLR+D9paYa8JRaRk6ZK7nHQiWP5xtrhcPQsXqgat1d7sU/d5rbbI0p1FTHSQ==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.150.0.tgz", + "integrity": "sha512-HV11aRbBQGwqv8bEo+K/6qr88uB4fEe1mhXncMhlVCrj+WpBSraxrUzHaPVmeQRU6x6x8v/3DuCbbo93rpp+fw==", "cpu": [ "arm64" ], @@ -11520,9 +11616,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-arm64-musl": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.148.0.tgz", - "integrity": "sha512-3CQy/BMdx7N7H3qrcPxUL+a2CwUZodUcf6oq8iJuNZ9C6Ol1aq3mcWzsgySJ7CHFLvpX21ZDPp1r1X0QLbu/AQ==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.150.0.tgz", + "integrity": "sha512-k6pVkJqALwtEuP4zukVhGRhdIy4+ofChUIUUsAHHyqDZlNsknmel3JjbggrJiWGaes6h/dIcWmEXsKW4SmK9oQ==", "cpu": [ "arm64" ], @@ -11540,9 +11636,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-ppc64-gnu": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.148.0.tgz", - "integrity": "sha512-9LkaYvfiF8hMOw900csAvkf1oxE8XlmMeGowu5BcastSSwV8mKvKRMNU7HsV+ycyj1dQD8pX5qgOw8ja6SJacg==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.150.0.tgz", + "integrity": "sha512-tEFg39mw/rHO5n8GK2DR4ZMFfsPQZtnQIPbsIpjoQRomJc/2tRfsCSmCT6gNit+NZGoeJG5aH9ATDH5bf0WnoQ==", "cpu": [ "ppc64" ], @@ -11560,9 +11656,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-riscv64-gnu": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.148.0.tgz", - "integrity": "sha512-2GBiM9h26dR4WJfhoMvnFMnFLf7m/kYs4UMqjvrOfQG4BV1nuTJDH22Zc2MQr3INZF7nSKYQ6xlhD3hQ7A6gug==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.150.0.tgz", + "integrity": "sha512-0JO7IFkoek6HqV589Menx3hJySNXi6quRhO4tq2P7kpEHKEXoDATnoPVUpn5B7gDH2KLkdo751N0uIrGJFCTCw==", "cpu": [ "riscv64" ], @@ -11580,9 +11676,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-riscv64-musl": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.148.0.tgz", - "integrity": "sha512-uPqZexvKJmEgq4mAu36qe2xTfXZE7oyik1R7KtZ5tl8qKlq1U1fIqTFRUEBZqRGvforoTrGIpatRzcoPKO66RA==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.150.0.tgz", + "integrity": "sha512-7XPzREnyAS5wHU9aB+49Uaqgoo1gVCklHc3DRlc3fJy2tXD/eAJFN1QFz/crj+Ulup5P1+axNREF+/RGaB/IRA==", "cpu": [ "riscv64" ], @@ -11600,9 +11696,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-s390x-gnu": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.148.0.tgz", - "integrity": "sha512-9oUHvnTbp7ZraFsTC8PN6XhdhPSSxZumYvixWl7Smi353gEULvK6yV0sXNVrdFMHQeaDKFCi8TgDhNK7/A+Y+Q==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.150.0.tgz", + "integrity": "sha512-7n7ZxcbRWDFaTdyj8M8p0O9OfzoMKm8O6syBAIgcSutbOALq0Bb9G52Me+XH0anMLZV+NgXc726gqgG2q39vcQ==", "cpu": [ "s390x" ], @@ -11620,9 +11716,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-x64-gnu": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.148.0.tgz", - "integrity": "sha512-2qhDSJwKzbSZzF7lDqqk8sr/yXsmwr3PeUa4/nazIF+zFAYz1gVPEfC34GQtGxzJUUmklaYAL63368LEfrMeyw==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.150.0.tgz", + "integrity": "sha512-Vx0GSA9ZCRTUiczoEQnIIyXkMvtEY8uc6IiwLQtMe5ci2sXPqjrry0Ek5fsPP1k2kCzkML3ow9UOOEgnEDi7Bw==", "cpu": [ "x64" ], @@ -11640,9 +11736,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-linux-x64-musl": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.148.0.tgz", - "integrity": "sha512-qQoPDZUFV0bh9xA09XydmkjMBpgc1ukJuhMvzQ9QeVmFaHTS9W5TE5CoLmSl3QQyUP9OuHO3x/WPZTIIZPWR3Q==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.150.0.tgz", + "integrity": "sha512-ii4/9m3viDLssMnfXU7/Pni/3nYplApuGayceX4qsVGaqqQJCx3tHIH9M/HWIeSty5i8LjS21zPYT6lVIkwLxw==", "cpu": [ "x64" ], @@ -11660,9 +11756,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-openharmony-arm64": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.148.0.tgz", - "integrity": "sha512-1UGbaQWEXUCLqAmaR5kwRDjx/R4S5LQKZkM9CHmaHkuKhriOF32aRLfS0jCRNE2yGQJLMEA1z9UucbBVqjXnDw==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.150.0.tgz", + "integrity": "sha512-ZtoxX5rez36ZWkwtiEhjkCPnlTPoQ2I7lIL0IYZ1yjxMYohbvoOjBmUIZzrf9W/HouONq0omIfTeCWEY+R380w==", "cpu": [ "arm64" ], @@ -11677,9 +11773,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-win32-arm64-msvc": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.148.0.tgz", - "integrity": "sha512-pWKdzRDNG2+NK4h/V6U/CYERcfYD6u28h5IB/VJVsrZaD3muvE58tUj22lieL5vLZ+XFi1GPv9YXckZbJZ9BLA==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.150.0.tgz", + "integrity": "sha512-VqeRb5JX/bKYBrff7TUDvJyKY0914UzuCkuXIGxJS4FUmvMNfqkCbc7Sq90iMz9DlmAtlggwaBYQ9eg3h3ltiw==", "cpu": [ "arm64" ], @@ -11694,9 +11790,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-win32-ia32-msvc": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.148.0.tgz", - "integrity": "sha512-i3p4x+mvwtjcE1J5HM6V7ggsbXiznExN/4MkNyOy3dfXrVV3bnkSfmZxvo6/84qCVX4ShkpNE1SKt9biIF31GQ==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.150.0.tgz", + "integrity": "sha512-EPqJfeZ4Pgg2BJSsCV8GozxV0FDltRzpVtGVa1r2noJu1iu+opOw3gtBWXwIo9odCT/MdFfyHxdy0/CRqs3OqA==", "cpu": [ "ia32" ], @@ -11711,9 +11807,9 @@ } }, "node_modules/knip/node_modules/@oxc-parser/binding-win32-x64-msvc": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.148.0.tgz", - "integrity": "sha512-Ye6vB7VQulghWYkYkECOBYFRVEizz4XyRTUAv+t8BuyurhKU7uD0P9eowL+mKG5Mf8MSYx+DI3Cm8SKZvYG7bQ==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.150.0.tgz", + "integrity": "sha512-n5YMzbqwPQqozbkrexi0lNZrUz5cnPHalYpFWe6Dau7AmKIWNo+y24IwzDuZEQtEdUHuKhXmMMih/MPjOI+CMw==", "cpu": [ "x64" ], @@ -11728,9 +11824,9 @@ } }, "node_modules/knip/node_modules/@oxc-project/types": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.148.0.tgz", - "integrity": "sha512-Nm4s/jB+4FpFsPhWGEC4h7rzksesmtnMXomo6rCMcg/b8zLQuOziRgkCS1fxDCXOlJB/6Q8oABOZ/OP6RIPj9A==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.150.0.tgz", + "integrity": "sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==", "dev": true, "license": "MIT", "funding": { @@ -11738,13 +11834,13 @@ } }, "node_modules/knip/node_modules/oxc-parser": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.148.0.tgz", - "integrity": "sha512-syxUKHeUll89RIABQADcI7sikYrwyssvA6gj4phSSIPezKVM8yMaLAiLLSc7fmzVvrwybfFGFbW5zme9sX87rg==", + "version": "0.150.0", + "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.150.0.tgz", + "integrity": "sha512-zwajKw1GUa57IOdafIS7/yOObGF2NihwIfZfs5yJTRprMSkiwhWOc/k+n8bwnUPbHr2/XsjfBO8KyTPaW3VpWg==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "^0.148.0" + "@oxc-project/types": "^0.150.0" }, "engines": { "node": "^20.19.0 || >=22.12.0" @@ -11753,25 +11849,25 @@ "url": "https://github.com/sponsors/oxc-project" }, "optionalDependencies": { - "@oxc-parser/binding-android-arm-eabi": "0.148.0", - "@oxc-parser/binding-android-arm64": "0.148.0", - "@oxc-parser/binding-darwin-arm64": "0.148.0", - "@oxc-parser/binding-darwin-x64": "0.148.0", - "@oxc-parser/binding-freebsd-x64": "0.148.0", - "@oxc-parser/binding-linux-arm-gnueabihf": "0.148.0", - "@oxc-parser/binding-linux-arm-musleabihf": "0.148.0", - "@oxc-parser/binding-linux-arm64-gnu": "0.148.0", - "@oxc-parser/binding-linux-arm64-musl": "0.148.0", - "@oxc-parser/binding-linux-ppc64-gnu": "0.148.0", - "@oxc-parser/binding-linux-riscv64-gnu": "0.148.0", - "@oxc-parser/binding-linux-riscv64-musl": "0.148.0", - "@oxc-parser/binding-linux-s390x-gnu": "0.148.0", - "@oxc-parser/binding-linux-x64-gnu": "0.148.0", - "@oxc-parser/binding-linux-x64-musl": "0.148.0", - "@oxc-parser/binding-openharmony-arm64": "0.148.0", - "@oxc-parser/binding-win32-arm64-msvc": "0.148.0", - "@oxc-parser/binding-win32-ia32-msvc": "0.148.0", - "@oxc-parser/binding-win32-x64-msvc": "0.148.0" + "@oxc-parser/binding-android-arm-eabi": "0.150.0", + "@oxc-parser/binding-android-arm64": "0.150.0", + "@oxc-parser/binding-darwin-arm64": "0.150.0", + "@oxc-parser/binding-darwin-x64": "0.150.0", + "@oxc-parser/binding-freebsd-x64": "0.150.0", + "@oxc-parser/binding-linux-arm-gnueabihf": "0.150.0", + "@oxc-parser/binding-linux-arm-musleabihf": "0.150.0", + "@oxc-parser/binding-linux-arm64-gnu": "0.150.0", + "@oxc-parser/binding-linux-arm64-musl": "0.150.0", + "@oxc-parser/binding-linux-ppc64-gnu": "0.150.0", + "@oxc-parser/binding-linux-riscv64-gnu": "0.150.0", + "@oxc-parser/binding-linux-riscv64-musl": "0.150.0", + "@oxc-parser/binding-linux-s390x-gnu": "0.150.0", + "@oxc-parser/binding-linux-x64-gnu": "0.150.0", + "@oxc-parser/binding-linux-x64-musl": "0.150.0", + "@oxc-parser/binding-openharmony-arm64": "0.150.0", + "@oxc-parser/binding-win32-arm64-msvc": "0.150.0", + "@oxc-parser/binding-win32-ia32-msvc": "0.150.0", + "@oxc-parser/binding-win32-x64-msvc": "0.150.0" } }, "node_modules/layout-base": { @@ -12177,6 +12273,7 @@ "version": "1.45.0", "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.45.0.tgz", "integrity": "sha512-yH1ubCAduho9UR7oJhRXIQXogksRILBiTuZC4/bQIGeB9JOkxMlSuEHyyZpo1Z3S0yWJO2KTSUZbjiNvVxeOUw==", + "dev": true, "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -12243,9 +12340,9 @@ } }, "node_modules/marked": { - "version": "18.0.5", - "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.5.tgz", - "integrity": "sha512-S6GcvALHg6K4ohtu4E7x0a1AqhAjp6cV8KhLSyN9qVapnzJkusVBxZRcIU9AeYsbe6P1hKDusSbEOzGyyuce6w==", + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.11.tgz", + "integrity": "sha512-HnslJfsZkRPBDJRHvVtAaWlZHEpSu7u8LgQuJCELjRKuWR+hpq4A7sLq3p8HaI9ypVoXDXxV34CsQJEe1+J5Aw==", "license": "MIT", "bin": { "marked": "bin/marked.js" @@ -12974,9 +13071,9 @@ } }, "node_modules/obug": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz", - "integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/obug/-/obug-3.0.0.tgz", + "integrity": "sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==", "dev": true, "funding": [ "https://github.com/sponsors/sxzz", @@ -13646,13 +13743,16 @@ } }, "node_modules/pkijs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", - "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.1.tgz", + "integrity": "sha512-Oo/NZcSWccq8KyoG7gLE9fnltgHns+pNCjCAp/WmjsUySi+sX7y4z4Xqu4fVb42CDHzRPl33fjzT15V1wvcyhA==", "dev": true, "license": "BSD-3-Clause", + "workspaces": [ + "website" + ], "dependencies": { - "@noble/hashes": "1.4.0", + "@noble/hashes": "1.8.0", "asn1js": "^3.0.6", "bytestreamjs": "^2.0.1", "pvtsutils": "^1.3.6", @@ -13663,19 +13763,6 @@ "node": ">=16.0.0" } }, - "node_modules/pkijs/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/playwright": { "version": "1.63.0", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz", @@ -14535,13 +14622,13 @@ "license": "Unlicense" }, "node_modules/rolldown": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.8.tgz", - "integrity": "sha512-Z67nTmhZe7anqnM/EjI392w5i/ANUinjip7QYsOyN37oayduxt3ksdX0hf5OOamkAd53BiIHfbfSzfUmzKFQqQ==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.11.tgz", + "integrity": "sha512-qpSwIyz0jHQq5qXBTNxFmE6664rJ7O+4TvPFOiOaBSrz8IOHc1koKKSqTM2H6u1UG1+TveuC6vaDHKXFOvb1Kw==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.149.0", + "@oxc-project/types": "=0.151.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -14551,27 +14638,27 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm-eabi": "1.2.8", - "@rolldown/binding-android-arm64": "1.2.8", - "@rolldown/binding-darwin-arm64": "1.2.8", - "@rolldown/binding-darwin-x64": "1.2.8", - "@rolldown/binding-freebsd-x64": "1.2.8", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.8", - "@rolldown/binding-linux-arm64-gnu": "1.2.8", - "@rolldown/binding-linux-arm64-musl": "1.2.8", - "@rolldown/binding-linux-ppc64-gnu": "1.2.8", - "@rolldown/binding-linux-s390x-gnu": "1.2.8", - "@rolldown/binding-linux-x64-gnu": "1.2.8", - "@rolldown/binding-linux-x64-musl": "1.2.8", - "@rolldown/binding-openharmony-arm64": "1.2.8", - "@rolldown/binding-win32-arm64-msvc": "1.2.8", - "@rolldown/binding-win32-x64-msvc": "1.2.8" + "@rolldown/binding-android-arm-eabi": "1.2.11", + "@rolldown/binding-android-arm64": "1.2.11", + "@rolldown/binding-darwin-arm64": "1.2.11", + "@rolldown/binding-darwin-x64": "1.2.11", + "@rolldown/binding-freebsd-x64": "1.2.11", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.11", + "@rolldown/binding-linux-arm64-gnu": "1.2.11", + "@rolldown/binding-linux-arm64-musl": "1.2.11", + "@rolldown/binding-linux-ppc64-gnu": "1.2.11", + "@rolldown/binding-linux-s390x-gnu": "1.2.11", + "@rolldown/binding-linux-x64-gnu": "1.2.11", + "@rolldown/binding-linux-x64-musl": "1.2.11", + "@rolldown/binding-openharmony-arm64": "1.2.11", + "@rolldown/binding-win32-arm64-msvc": "1.2.11", + "@rolldown/binding-win32-x64-msvc": "1.2.11" } }, "node_modules/rolldown/node_modules/@oxc-project/types": { - "version": "0.149.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.149.0.tgz", - "integrity": "sha512-Efcc+iF0j3Bf67YjEqIqWXbX5XddXoK/Mw4K1/JuXwRCZ8N16VR7iT23nlCc9XrveFVh/E5Rqs2StT0V8v9LdA==", + "version": "0.151.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.151.0.tgz", + "integrity": "sha512-J1yXrIlNDZVzE3ada310xeAw7nH8yCAyLPuUIsjKatFPmfn5bS1oW+cM+QsGOtVWd5nhSpbwZWx/rue+r5Z+PA==", "dev": true, "license": "MIT", "funding": { @@ -15009,9 +15096,9 @@ "license": "ISC" }, "node_modules/simple-icons": { - "version": "16.31.0", - "resolved": "https://registry.npmjs.org/simple-icons/-/simple-icons-16.31.0.tgz", - "integrity": "sha512-dDEqvQrmxL7ZnqQtGHGjCNW6CfiwzAif+83Hol9JXAnAB6wh2zsZD7Sc1kWT0O/RRAKt7xfG8W6UZhYBPD+GAA==", + "version": "16.32.0", + "resolved": "https://registry.npmjs.org/simple-icons/-/simple-icons-16.32.0.tgz", + "integrity": "sha512-BwqATHxAulx7X6kNdTkecy7PBjLkgtAHcgrwYLd9iA+cD2At9DzhJwdwaSELk2+aZe01IfiM/Wxtyp68Dvup2A==", "dev": true, "funding": [ { @@ -15892,9 +15979,9 @@ } }, "node_modules/systeminformation": { - "version": "5.33.10", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.33.10.tgz", - "integrity": "sha512-/NXbMVASt2UbSVgmWto4aBTIAeuYY7zOELpZybmNxqpsrbo5uYHpuEPf5nkyrPng0uG5YOb+Yv6s0FyKY4mDQg==", + "version": "5.33.13", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.33.13.tgz", + "integrity": "sha512-GtyakkchTQKymM1WeAB652zi3rM1q00RKdc+jZe9KGstuc/mWUwAnQGN/RE5gVYvHIR8xYOUIUD9irVKDtA0wA==", "license": "MIT", "os": [ "darwin", @@ -16011,9 +16098,9 @@ "license": "MIT" }, "node_modules/tinyclip": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-0.1.15.tgz", - "integrity": "sha512-uo33abH+Ays0xYaDysoBt494Hb3hsEczMpcC0MwFl773pazORx4fmvKhclhR1wonUbB6vvpRsvVMwnhfqeMc+A==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-1.0.3.tgz", + "integrity": "sha512-nTv2raKFMzGG6JJp0lpNDsRPdfFE6UHlu2rVEjXo8vkx1ZS3LW2CVXqIaLu8xZlu+6tbFs9V58Qc/Jmk/Ii7wA==", "dev": true, "license": "MIT", "engines": { @@ -16356,6 +16443,7 @@ "version": "6.29.0", "resolved": "https://registry.npmjs.org/undici/-/undici-6.29.0.tgz", "integrity": "sha512-R+RODBqp6i2pPflGdq+xIOUkl+RNfGgHwoinecKu/JCuf2uO06cOKoDbI2P7Dn6KcswdKwrczbU6IYJ6K8X+wg==", + "dev": true, "license": "MIT", "engines": { "node": ">=18.17" @@ -16715,6 +16803,19 @@ "node": ">= 0.8" } }, + "node_modules/verkit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/verkit/-/verkit-0.4.1.tgz", + "integrity": "sha512-mMVzj0TXExtVdlDEq+Mzp0eyOuyznNpFobNM3uAqe3HVm/Ps2c+u17BligMkZjZCA6EiXpoon8iRTer3iu40SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -16784,16 +16885,16 @@ } }, "node_modules/vite": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.0.tgz", - "integrity": "sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.1.tgz", + "integrity": "sha512-/bvH9E9tmCXRGp2uXY3WbOldqpTwFkbha/8ANaEQ6VkxhH60KyqLwgZq6lG2y+4uT55x9+9eUHMpQ7uGnOCKjA==", "dev": true, "license": "MIT", "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", "postcss": "^8.5.28", - "rolldown": "~1.2.6", + "rolldown": "~1.2.9", "tinyglobby": "^0.2.17" }, "bin": { @@ -17151,7 +17252,7 @@ "version": "0.1.0", "license": "Apache-2.0", "dependencies": { - "@agentclientprotocol/sdk": "1.4.0" + "@agentclientprotocol/sdk": "1.5.0" }, "devDependencies": { "@maka/core": "0.1.0", @@ -17166,7 +17267,7 @@ "@maka/acp-executor-plugin": "0.1.0" }, "devDependencies": { - "@agentclientprotocol/sdk": "1.4.0", + "@agentclientprotocol/sdk": "1.5.0", "@maka/core": "0.1.0", "@maka/runtime": "0.1.0" } @@ -17176,8 +17277,8 @@ "version": "0.2.0", "license": "Apache-2.0", "dependencies": { - "@agentclientprotocol/sdk": "1.4.0", - "@earendil-works/pi-tui": "0.85.1", + "@agentclientprotocol/sdk": "1.5.0", + "@earendil-works/pi-tui": "0.87.1", "@maka/core": "0.1.0", "@maka/eval": "0.1.0", "@maka/mcp": "0.1.0", @@ -17253,12 +17354,12 @@ "license": "Apache-2.0", "dependencies": { "@maka/core": "0.1.0", - "@modelcontextprotocol/client": "2.0.0" + "@modelcontextprotocol/client": "2.1.0" }, "devDependencies": { - "@modelcontextprotocol/node": "2.0.0", - "@modelcontextprotocol/sdk": "1.30.0", - "@modelcontextprotocol/server": "2.0.0", + "@modelcontextprotocol/node": "2.1.0", + "@modelcontextprotocol/sdk": "1.30.1", + "@modelcontextprotocol/server": "2.1.0", "@modelcontextprotocol/server-legacy": "2.0.0" } }, @@ -17275,7 +17376,7 @@ "@ai-sdk/openai": "4.0.80", "@ai-sdk/openai-compatible": "3.0.59", "@ai-sdk/provider": "4.0.19", - "@larksuiteoapi/node-sdk": "1.73.3", + "@larksuiteoapi/node-sdk": "1.74.0", "@maka/core": "0.1.0", "@mozilla/readability": "^0.6.0", "@openai/agents-core": "0.18.0", @@ -17288,7 +17389,7 @@ "ajv": "^8.20.0", "glob": "^13.0.6", "https-proxy-agent": "^9.1.0", - "image-dimensions": "^2.5.1", + "image-dimensions": "^2.6.0", "linkedom": "^0.18.13", "minisearch": "7.2.0", "node-pty": "^1.2.0-beta.15", @@ -17313,13 +17414,13 @@ "version": "0.1.0", "license": "Apache-2.0", "dependencies": { - "@agentclientprotocol/sdk": "1.4.0", + "@agentclientprotocol/sdk": "1.5.0", "@maka/acp-executor-plugin": "0.1.0", "@maka/antigravity-acp-plugin": "0.1.0", "@maka/core": "0.1.0", "@maka/runtime": "0.1.0", "@maka/storage": "0.1.0", - "systeminformation": "^5.33.10", + "systeminformation": "^5.33.13", "ws": "^8.21.3", "yaml": "^2.9.1", "zod": "^4.6.5" @@ -17404,11 +17505,11 @@ "version": "0.1.0", "license": "Apache-2.0", "dependencies": { - "@astryxdesign/core": "0.6.2", + "@astryxdesign/core": "0.6.3", "@maka/core": "0.1.0", "clsx": "^2.1.1", - "katex": "0.18.7", - "lucide-react": "^1.45.0", + "katex": "0.18.9", + "lucide-react": "^1.48.0", "mermaid": "^11.17.2", "react": "^19.3.0", "react-dom": "^19.3.0", @@ -17430,9 +17531,9 @@ } }, "packages/ui/node_modules/katex": { - "version": "0.18.7", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.18.7.tgz", - "integrity": "sha512-h+UCwkZ+4Jz8WQ7MLGfj7UVFrRCizGb912fwF4luGdYsC5paYG1vx+jy+KRcC/XkpjGva/P7nAWuxNnPzRvzHw==", + "version": "0.18.9", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.18.9.tgz", + "integrity": "sha512-8ad9RyoKsb/g8/yLFE+KAlP+DhbCTRUNi/V9XGsxn0R+trJJltNwzcDNo0q/DEkOy5fQUQTAQyCXCYSE+OakTQ==", "funding": [ "https://opencollective.com/katex", "https://github.com/sponsors/katex" @@ -17445,6 +17546,15 @@ "katex": "cli.js" } }, + "packages/ui/node_modules/lucide-react": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.48.0.tgz", + "integrity": "sha512-R0CIKY/fXiC6y9xRBADgsK+VW2p/pcTJOMhLZf1T+uG+vJUvyUR02nGOgmIIC7MPkiNK4Ox8QDnbqF8rJYWPZQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "website": { "name": "@maka/website", "version": "0.0.0", @@ -17452,7 +17562,7 @@ "@fontsource-variable/geist": "^5.3.0", "@fontsource-variable/geist-mono": "^5.3.0", "@playwright/test": "^1.63.0", - "astro": "^7.3.2", + "astro": "^7.3.5", "cookie": "2.0.1" } }, diff --git a/package.json b/package.json index 84700752448..cb404d4b3e1 100644 --- a/package.json +++ b/package.json @@ -114,21 +114,21 @@ }, "devDependencies": { "@ai-sdk/provider-utils": "5.0.51", - "@astryxdesign/cli": "0.6.2", - "@astryxdesign/core": "0.6.2", - "@biomejs/biome": "2.5.13", + "@astryxdesign/cli": "0.6.3", + "@astryxdesign/core": "0.6.3", + "@biomejs/biome": "2.5.14", "@electron/asar": "4.3.0", - "@types/node": "^26.5.1", + "@types/node": "^26.6.3", "esbuild": "^0.28.1", "husky": "^9.1.7", - "knip": "^6.35.1", + "knip": "^6.38.0", "patch-package": "8.0.1", "typescript": "^7.0.2", "yaml": "2.9.1" }, "allowScripts": { - "esbuild@0.27.7": true, - "@jackwener/opencli@1.8.4": true, + "esbuild@0.28.2": true, + "@jackwener/opencli@1.8.8": true, "node-pty@1.2.0-beta.15": true }, "overrides": { @@ -137,6 +137,9 @@ }, "@modelcontextprotocol/sdk": { "@hono/node-server": "2.0.12" + }, + "@jackwener/opencli@1.8.8": { + "undici": "7.29.1" } } } diff --git a/packages/acp-executor-plugin/package.json b/packages/acp-executor-plugin/package.json index 67ad7561fc8..449ddcb93d0 100644 --- a/packages/acp-executor-plugin/package.json +++ b/packages/acp-executor-plugin/package.json @@ -21,7 +21,7 @@ "test:dist": "node --test \"dist/**/*.test.js\"" }, "dependencies": { - "@agentclientprotocol/sdk": "1.4.0" + "@agentclientprotocol/sdk": "1.5.0" }, "devDependencies": { "@maka/runtime": "0.1.0", diff --git a/packages/antigravity-acp-plugin/package.json b/packages/antigravity-acp-plugin/package.json index 8df648a6c49..b450ffef194 100644 --- a/packages/antigravity-acp-plugin/package.json +++ b/packages/antigravity-acp-plugin/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@maka/runtime": "0.1.0", - "@agentclientprotocol/sdk": "1.4.0", + "@agentclientprotocol/sdk": "1.5.0", "@maka/core": "0.1.0" } } diff --git a/packages/cli/THIRD_PARTY_NOTICES.txt b/packages/cli/THIRD_PARTY_NOTICES.txt index ee14e793450..8b091f92b32 100644 --- a/packages/cli/THIRD_PARTY_NOTICES.txt +++ b/packages/cli/THIRD_PARTY_NOTICES.txt @@ -9,7 +9,7 @@ Policy: every package must resolve to an ASF-compatible SPDX license. Compound expressions record the compatible selected license. Packages without a shipped license file require an exact name@version text override in the generator. -Package: @agentclientprotocol/sdk@1.4.0 +Package: @agentclientprotocol/sdk@1.5.0 Declared license: Apache-2.0 Selected license: Apache-2.0 Repository: git+https://github.com/agentclientprotocol/typescript-sdk.git @@ -616,7 +616,7 @@ Apache License ================================================================================ -Package: @earendil-works/pi-tui@0.85.1 +Package: @earendil-works/pi-tui@0.87.1 Declared license: MIT Selected license: MIT Repository: git+https://github.com/earendil-works/pi.git#packages/tui @@ -700,7 +700,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ================================================================================ -Package: @larksuiteoapi/node-sdk@1.73.3 +Package: @larksuiteoapi/node-sdk@1.74.0 Declared license: MIT Selected license: MIT Repository: https://github.com/larksuite/node-sdk.git @@ -752,7 +752,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================================================ -Package: @modelcontextprotocol/client@2.0.0 +Package: @modelcontextprotocol/client@2.1.0 Declared license: MIT Selected license: MIT Repository: git+https://github.com/modelcontextprotocol/typescript-sdk.git @@ -977,7 +977,7 @@ the full license text. ================================================================================ -Package: @modelcontextprotocol/core@2.0.0 +Package: @modelcontextprotocol/core@2.1.0 Declared license: MIT Selected license: MIT Repository: git+https://github.com/modelcontextprotocol/typescript-sdk.git @@ -1723,7 +1723,7 @@ SOFTWARE. ================================================================================ -Package: @types/node@26.5.1 +Package: @types/node@26.6.3 Declared license: MIT Selected license: MIT Repository: https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node @@ -4721,7 +4721,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================================================ -Package: image-dimensions@2.5.1 +Package: image-dimensions@2.6.0 Declared license: MIT Selected license: MIT Repository: sindresorhus/image-dimensions @@ -5574,10 +5574,10 @@ software or this license, under any kind of legal claim.*** ================================================================================ -Package: marked@18.0.5 +Package: marked@18.0.11 Declared license: MIT Selected license: MIT -Repository: git://github.com/markedjs/marked.git +Repository: git+https://github.com/markedjs/marked.git --- LICENSE --- # License information @@ -7361,7 +7361,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ================================================================================ -Package: systeminformation@5.33.10 +Package: systeminformation@5.33.13 Declared license: MIT Selected license: MIT Repository: git+https://github.com/sebhildebrandt/systeminformation.git diff --git a/packages/cli/package.json b/packages/cli/package.json index f61309962c0..3278533085a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -19,8 +19,8 @@ "test:dist": "node --test \"dist/**/*.test.js\"" }, "dependencies": { - "@agentclientprotocol/sdk": "1.4.0", - "@earendil-works/pi-tui": "0.85.1", + "@agentclientprotocol/sdk": "1.5.0", + "@earendil-works/pi-tui": "0.87.1", "@maka/core": "0.1.0", "@maka/eval": "0.1.0", "@maka/mcp": "0.1.0", diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 95eaa10d9f6..bbfa8ee6807 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -20,12 +20,12 @@ }, "dependencies": { "@maka/core": "0.1.0", - "@modelcontextprotocol/client": "2.0.0" + "@modelcontextprotocol/client": "2.1.0" }, "devDependencies": { - "@modelcontextprotocol/node": "2.0.0", - "@modelcontextprotocol/sdk": "1.30.0", - "@modelcontextprotocol/server": "2.0.0", + "@modelcontextprotocol/node": "2.1.0", + "@modelcontextprotocol/sdk": "1.30.1", + "@modelcontextprotocol/server": "2.1.0", "@modelcontextprotocol/server-legacy": "2.0.0" } } diff --git a/packages/runtime-host/package.json b/packages/runtime-host/package.json index 2aa419e18fa..e51f2b1a7f7 100644 --- a/packages/runtime-host/package.json +++ b/packages/runtime-host/package.json @@ -30,13 +30,13 @@ "test:dist": "node --test \"dist/**/*.test.js\"" }, "dependencies": { - "@agentclientprotocol/sdk": "1.4.0", + "@agentclientprotocol/sdk": "1.5.0", "@maka/acp-executor-plugin": "0.1.0", "@maka/antigravity-acp-plugin": "0.1.0", "@maka/core": "0.1.0", "@maka/runtime": "0.1.0", "@maka/storage": "0.1.0", - "systeminformation": "^5.33.10", + "systeminformation": "^5.33.13", "ws": "^8.21.3", "yaml": "^2.9.1", "zod": "^4.6.5" diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 9ea7e5194e6..7305e75d6b3 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -161,7 +161,7 @@ "@ai-sdk/openai": "4.0.80", "@ai-sdk/openai-compatible": "3.0.59", "@ai-sdk/provider": "4.0.19", - "@larksuiteoapi/node-sdk": "1.73.3", + "@larksuiteoapi/node-sdk": "1.74.0", "@maka/core": "0.1.0", "@mozilla/readability": "^0.6.0", "@openai/agents-core": "0.18.0", @@ -174,7 +174,7 @@ "ajv": "^8.20.0", "glob": "^13.0.6", "https-proxy-agent": "^9.1.0", - "image-dimensions": "^2.5.1", + "image-dimensions": "^2.6.0", "linkedom": "^0.18.13", "minisearch": "7.2.0", "node-pty": "^1.2.0-beta.15", diff --git a/packages/ui/package.json b/packages/ui/package.json index 762ca2eed4f..d94cfb38499 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -27,11 +27,11 @@ "test:dist": "node --test \"dist/**/*.test.js\"" }, "dependencies": { - "@astryxdesign/core": "0.6.2", + "@astryxdesign/core": "0.6.3", "@maka/core": "0.1.0", "clsx": "^2.1.1", - "katex": "0.18.7", - "lucide-react": "^1.45.0", + "katex": "0.18.9", + "lucide-react": "^1.48.0", "mermaid": "^11.17.2", "react": "^19.3.0", "react-dom": "^19.3.0", diff --git a/patches/@astryxdesign+core+0.6.2.patch b/patches/@astryxdesign+core+0.6.3.patch similarity index 91% rename from patches/@astryxdesign+core+0.6.2.patch rename to patches/@astryxdesign+core+0.6.3.patch index a95a70ede97..37c6c5f1735 100644 --- a/patches/@astryxdesign+core+0.6.2.patch +++ b/patches/@astryxdesign+core+0.6.3.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.d.ts b/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.d.ts -index 90022b3..36c0637 100644 +index ce86b88..68b40e4 100644 --- a/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.d.ts +++ b/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.d.ts -@@ -62,6 +62,8 @@ export type ChatComposerTriggerItem = SearchableItem; +@@ -72,6 +72,8 @@ export type ChatComposerTriggerItem = SearchableItem; export type ChatComposerTrigger = { /** Character that activates this trigger menu (e.g. '@', '/') */ character: string; @@ -12,10 +12,10 @@ index 90022b3..36c0637 100644 * Search source providing items for this trigger. * Reuses the same SearchSource interface as Typeahead \u2014 diff --git a/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.js b/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.js -index 87dfdea..e3982e9 100644 +index c4d7fc6..e25aed3 100644 --- a/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.js +++ b/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.js -@@ -22,7 +22,7 @@ +@@ -26,7 +26,7 @@ * - /apps/storybook/stories/ChatComposer.stories.tsx * - /packages/cli/assets/templates/blocks/components/ChatComposerInput/ (block examples) */ @@ -24,7 +24,7 @@ index 87dfdea..e3982e9 100644 import { createPortal } from 'react-dom'; import * as stylex from '@stylexjs/stylex'; import "../theme/tokens.stylex.js"; -@@ -30,7 +30,7 @@ import { colorVars, spacingVars, typeScaleVars, typographyVars } from "../theme/ +@@ -34,7 +34,7 @@ import { colorVars, spacingVars, typeScaleVars, typographyVars } from "../theme/ import { mergeProps, isImeKeyEvent } from "../utils/index.js"; import { useTriggerMenu } from "./useTriggerMenu.js"; import { useChatComposerTokens, isCustomToken } from "./useChatComposerTokens.js"; @@ -33,7 +33,7 @@ index 87dfdea..e3982e9 100644 import { ChatPastedTextToken } from "./ChatPastedTextToken.js"; import { useChatPasteAsToken } from "./useChatPasteAsToken.js"; import { Badge } from "../Badge/index.js"; -@@ -261,7 +261,7 @@ export function ChatComposerInput(props) { +@@ -270,7 +270,7 @@ export function ChatComposerInput(props) { inputControlRef.current = null; }; }, [inputControlRef, focusEditableAtEnd]); @@ -42,7 +42,7 @@ index 87dfdea..e3982e9 100644 if (controlledValue === undefined || !editableRef.current) { return; } -@@ -293,6 +293,7 @@ export function ChatComposerInput(props) { +@@ -302,6 +302,7 @@ export function ChatComposerInput(props) { const range = document.createRange(); range.selectNodeContents(editable); range.collapse(false); @@ -269,7 +269,7 @@ index 97b1a3b..e50f680 100644 selection.removeAllRanges(); selection.addRange(range); diff --git a/node_modules/@astryxdesign/core/dist/Chat/index.d.ts b/node_modules/@astryxdesign/core/dist/Chat/index.d.ts -index a650ae4..aafef4b 100644 +index ecc438e..5a8a145 100644 --- a/node_modules/@astryxdesign/core/dist/Chat/index.d.ts +++ b/node_modules/@astryxdesign/core/dist/Chat/index.d.ts @@ -31,6 +31,7 @@ export { useChatPasteAsToken } from './useChatPasteAsToken'; @@ -595,7 +595,7 @@ index 95e7519..3680732 100644 -import { useCallback, useEffect, useRef } from 'react'; +import { useCallback, useEffect, useMemo, useRef } from 'react'; import { getInteractionModality, useInteractionModalityTracking } from "../utils/interactionModality.js"; - + /** @@ -229,11 +229,11 @@ export function useTouchTrigger(options) { } @@ -635,10 +635,10 @@ index 8753b5f..43a5abe 100644 // unconditionally would erase a label a consumer pointed at their own // heading. diff --git a/node_modules/@astryxdesign/core/dist/Markdown/Markdown.d.ts b/node_modules/@astryxdesign/core/dist/Markdown/Markdown.d.ts -index 6b3b7e1..c529123 100644 +index 96babc5..881f060 100644 --- a/node_modules/@astryxdesign/core/dist/Markdown/Markdown.d.ts +++ b/node_modules/@astryxdesign/core/dist/Markdown/Markdown.d.ts -@@ -98,6 +98,10 @@ export interface MarkdownProps extends BaseProps { +@@ -99,6 +99,10 @@ export interface MarkdownProps) => void | false; /** * Citation sources keyed by ID. When provided, `[id]` and `【id】` markers -@@ -163,7 +167,7 @@ export interface MarkdownProps extends BaseProps { - * - * ``` - */ --export declare function Markdown({ ref, children, display, density, headingLevelStart, isStreaming, onLinkClick, sources, citationStyle, contentWidth, contentAlign, components, inlinePlugins, autolink, xstyle, className, style, 'data-testid': testId, ...props }: MarkdownProps): React.ReactElement; -+export declare function Markdown({ ref, children, display, density, headingLevelStart, isStreaming, settledText, transformSource, onLinkClick, sources, citationStyle, contentWidth, contentAlign, components, inlinePlugins, autolink, xstyle, className, style, 'data-testid': testId, ...props }: MarkdownProps): React.ReactElement; - export declare namespace Markdown { - var displayName: string; - } diff --git a/node_modules/@astryxdesign/core/dist/Markdown/Markdown.js b/node_modules/@astryxdesign/core/dist/Markdown/Markdown.js -index 3432f13..898e131 100644 +index 2a294a5..052de46 100644 --- a/node_modules/@astryxdesign/core/dist/Markdown/Markdown.js +++ b/node_modules/@astryxdesign/core/dist/Markdown/Markdown.js @@ -8,7 +8,7 @@ * @output Exports Markdown component, MarkdownProps, and renderer contracts * @position Core implementation; renders markdown as Astryx components */ --import { useMemo, useRef } from 'react'; -+import { useMemo, useRef, useState } from 'react'; +-import { Component, Suspense, useMemo, useRef } from 'react'; ++import { Component, Suspense, useMemo, useRef, useState } from 'react'; import { Fragment } from 'react'; import * as stylex from '@stylexjs/stylex'; import "../theme/tokens.stylex.js"; -@@ -1087,6 +1087,8 @@ export function Markdown({ +@@ -1205,6 +1205,8 @@ export function Markdown({ density = 'default', headingLevelStart = 1, isStreaming = false, @@ -680,7 +671,7 @@ index 3432f13..898e131 100644 onLinkClick, sources, citationStyle = 'label', -@@ -1118,7 +1120,10 @@ export function Markdown({ +@@ -1251,7 +1253,10 @@ export function Markdown({ // Smooth bursty streamed chunks into a steady character-by-character reveal. // When not streaming, the hook returns children unchanged (no-op). @@ -692,34 +683,49 @@ index 3432f13..898e131 100644 const incrementalStateRef = useRef(createIncrementalState()); // Reset incremental cache when parser-affecting component options toggle — // cached settled blocks were parsed with the previous setting. -@@ -1139,11 +1144,11 @@ export function Markdown({ +@@ -1267,21 +1272,21 @@ export function Markdown({ + return []; + } + if (isStreaming) { +- if (smoothedText === '') { ++ if (parsedText === '') { + incrementalStateRef.current = createIncrementalState(); return []; } const options = hasMathRenderer ? mathParseOptions : legacyParseOptions; - const input = trimStreamingArtifacts(smoothedText, options); + const input = trimStreamingArtifacts(parsedText, options); - return hasMathRenderer ? parseMarkdownIncremental(input, incrementalStateRef.current, mathParseOptions) : parseMarkdownIncremental(input, incrementalStateRef.current, legacyParseOptions); + return (hasMathRenderer ? parseMarkdownAstIncremental(input, incrementalStateRef.current, mathParseOptions) : parseMarkdownAstIncremental(input, incrementalStateRef.current, legacyParseOptions)).children; } -- return hasMathRenderer ? parseMarkdown(children, mathParseOptions) : parseMarkdown(children, legacyParseOptions); +- return (hasMathRenderer ? parseMarkdownAst(children, mathParseOptions) : parseMarkdownAst(children, legacyParseOptions)).children; - }, [display, smoothedText, children, isStreaming, hasMathRenderer, mathParseOptions, legacyParseOptions]); -+ return hasMathRenderer ? parseMarkdown(parsedText, mathParseOptions) : parseMarkdown(parsedText, legacyParseOptions); +- const transformSource = isStreaming ? trimStreamingArtifacts(smoothedText, hasMathRenderer ? mathParseOptions : legacyParseOptions) : children; ++ return (hasMathRenderer ? parseMarkdownAst(parsedText, mathParseOptions) : parseMarkdownAst(parsedText, legacyParseOptions)).children; + }, [display, parsedText, isStreaming, hasMathRenderer, mathParseOptions, legacyParseOptions]); ++ const streamingSource = isStreaming ? trimStreamingArtifacts(parsedText, hasMathRenderer ? mathParseOptions : legacyParseOptions) : parsedText; + const blocks = useMemo(() => applyMarkdownTransforms({ + type: 'root', + children: parsedBlocks +- }, preparedPlugins, transformSource, !isStreaming, 'block').children, [parsedBlocks, preparedPlugins, transformSource, isStreaming]); ++ }, preparedPlugins, streamingSource, !isStreaming, 'block').children, [parsedBlocks, preparedPlugins, streamingSource, isStreaming]); // Assign each top-level heading the slug that parseOutlineFromMarkdown // would derive for it, so Outline hash links built from the same source -@@ -1170,9 +1175,9 @@ export function Markdown({ +@@ -1308,10 +1313,10 @@ export function Markdown({ return []; } const options = hasMathRenderer ? mathParseOptions : legacyParseOptions; - const input = isStreaming ? trimStreamingArtifacts(smoothedText, options) : children; + const input = isStreaming ? trimStreamingArtifacts(parsedText, options) : parsedText; - return hasMathRenderer ? parseInline(input, mathParseOptions) : parseInline(input, legacyParseOptions); + return hasMathRenderer ? parseInlineAst(input, mathParseOptions) : parseInlineAst(input, legacyParseOptions); - }, [display, smoothedText, children, isStreaming, hasMathRenderer, mathParseOptions, legacyParseOptions]); +- const inlineTransformSource = isStreaming ? trimStreamingArtifacts(smoothedText, hasMathRenderer ? mathParseOptions : legacyParseOptions) : children; + }, [display, parsedText, isStreaming, hasMathRenderer, mathParseOptions, legacyParseOptions]); - - // Track recent boundaries for stacked fade-in animation. - // The number of spans needed = ceil(animationDuration / tickInterval). -@@ -1189,17 +1194,25 @@ export function Markdown({ ++ const inlineTransformSource = isStreaming ? trimStreamingArtifacts(parsedText, hasMathRenderer ? mathParseOptions : legacyParseOptions) : parsedText; + const inlineNodes = useMemo(() => { + if (display !== 'inline') { + return []; +@@ -1342,17 +1347,25 @@ export function Markdown({ const tickMs = tick != null ? Math.max(4, Math.round(tick / 10)) : 50; return Math.min(Math.ceil(duration / tickMs), 12); }, [token]); @@ -756,8 +762,8 @@ index 3432f13..898e131 100644 const cursor = { offset: 0, boundaries, -@@ -1227,9 +1240,6 @@ export function Markdown({ - children: inlineNodes.map((node, i) => renderInline(node, i, onLinkClick, cursor, citationCtx, LinkComponent, inlinePlugins, components)) +@@ -1380,9 +1393,6 @@ export function Markdown({ + children: inlineNodes.map((node, i) => renderInline(node, i, onLinkClick, cursor, citationCtx, LinkComponent, inlinePlugins, components, preparedPlugins)) }); - // Store current inline nodes for next render's boundary calculation. @@ -766,8 +772,8 @@ index 3432f13..898e131 100644 return renderedInline; } const rendered = /*#__PURE__*/_jsx("div", { -@@ -1246,11 +1256,6 @@ export function Markdown({ - children: blocks.map((block, i) => renderBlock(block, i, blocks.length, density, headingLevelStart, onLinkClick, cursor, citationCtx, contentWidth ? typeof contentWidth === 'number' ? `${contentWidth}px` : contentWidth : null, contentAlign, LinkComponent, inlinePlugins, components, t, headingIdMap)) +@@ -1399,11 +1409,6 @@ export function Markdown({ + children: blocks.map((block, i) => renderBlock(block, i, blocks.length, density, headingLevelStart, onLinkClick, cursor, citationCtx, contentWidth ? typeof contentWidth === 'number' ? `${contentWidth}px` : contentWidth : null, contentAlign, LinkComponent, inlinePlugins, components, preparedPlugins, t, headingIdMap)) }); - // Store current blocks for next render's boundary calculation. @@ -780,10 +786,10 @@ index 3432f13..898e131 100644 Markdown.displayName = 'Markdown'; \ No newline at end of file diff --git a/node_modules/@astryxdesign/core/dist/Markdown/parser.js b/node_modules/@astryxdesign/core/dist/Markdown/parser.js -index 55ac179..971f1fc 100644 +index 107ef3f..5c4dede 100644 --- a/node_modules/@astryxdesign/core/dist/Markdown/parser.js +++ b/node_modules/@astryxdesign/core/dist/Markdown/parser.js -@@ -1741,6 +1741,7 @@ export function trimStreamingArtifacts(input, options) { +@@ -2264,6 +2264,7 @@ export function trimStreamingArtifacts(input, options) { const lastNL = displayTrimmed.lastIndexOf('\n'); const prefix = lastNL === -1 ? '' : displayTrimmed.slice(0, lastNL + 1); let tail = lastNL === -1 ? displayTrimmed : displayTrimmed.slice(lastNL + 1); @@ -791,7 +797,7 @@ index 55ac179..971f1fc 100644 if (options?.math) { // Hold an unmatched inline opener so raw TeX syntax does not flash while // streaming. If another unescaped dollar is already present but fails the -@@ -1755,6 +1756,7 @@ export function trimStreamingArtifacts(input, options) { +@@ -2278,6 +2279,7 @@ export function trimStreamingArtifacts(input, options) { } const close = findInlineMathEnd(tail, index); if (close !== -1) { @@ -799,7 +805,7 @@ index 55ac179..971f1fc 100644 index = close; continue; } -@@ -1772,10 +1774,23 @@ export function trimStreamingArtifacts(input, options) { +@@ -2295,10 +2297,23 @@ export function trimStreamingArtifacts(input, options) { index = laterDollar; } } @@ -824,7 +830,7 @@ index 55ac179..971f1fc 100644 if (lastBracket !== -1) { const afterBracket = tail.slice(lastBracket); // A closed link/image has ](...) somewhere after the [ -@@ -1834,8 +1849,9 @@ export function trimStreamingArtifacts(input, options) { +@@ -2357,8 +2372,9 @@ export function trimStreamingArtifacts(input, options) { while (idx + markerLen < tail.length && tail[idx + markerLen] === '*') { markerLen++; } @@ -836,7 +842,7 @@ index 55ac179..971f1fc 100644 searchFrom = idx + markerLen; continue; } -@@ -1903,8 +1919,10 @@ export function trimStreamingArtifacts(input, options) { +@@ -2426,8 +2442,10 @@ export function trimStreamingArtifacts(input, options) { if (idx === -1) { break; } @@ -897,27 +903,17 @@ index b56c9d5..463f665 100644 role: "group", "aria-labelledby": `${id}-label`, diff --git a/node_modules/@astryxdesign/core/dist/Spinner/Spinner.js b/node_modules/@astryxdesign/core/dist/Spinner/Spinner.js -index ea27c3a..b99db05 100644 +index 0c81fd3..cd61fc7 100644 --- a/node_modules/@astryxdesign/core/dist/Spinner/Spinner.js +++ b/node_modules/@astryxdesign/core/dist/Spinner/Spinner.js -@@ -173,7 +173,8 @@ function pinRingsToTimelineOrigin() { - flushScheduled = false; - const animations = []; - for (const svg of pendingRings) { -- animations.push(...svg.getAnimations()); -+ // The rotation runs on the ring's host span, not on the svg itself. -+ animations.push(...(svg.parentElement ?? svg).getAnimations()); - } - pendingRings.clear(); - for (const animation of animations) { -@@ -200,8 +201,19 @@ function syncRotationPhase(svg) { +@@ -205,8 +205,19 @@ function syncRotationPhase(svg) { flushScheduled = true; requestAnimationFrame(pinRingsToTimelineOrigin); } -+ // Moving a mounted spinner (a list re-sorting its rows) restarts its CSS -+ // animation without running this ref again; pin the restarted one too. ++ // Moving a mounted spinner (a list re-sorting its rows) restarts the arc's ++ // CSS animation without running this ref again; pin the restarted one too. + const host = svg.parentElement ?? svg; -+ const repin = event => { ++ const repin = (event) => { + if (event.target !== host) return; + for (const animation of host.getAnimations()) { + animation.startTime = 0; @@ -930,7 +926,7 @@ index ea27c3a..b99db05 100644 }; } -@@ -231,6 +243,16 @@ const styles = { +@@ -247,6 +258,16 @@ const styles = { "--_spinner-ring-stroke": "x10qssua", "--_spinner-box-size": "x69vvuq", kmuXW: "x2lah0s", @@ -947,20 +943,19 @@ index ea27c3a..b99db05 100644 $$css: true }, circle: { -@@ -429,7 +451,7 @@ export function Spinner({ - height: frameSize, - "aria-hidden": "true", - ...{ -- className: "xlp1x4z x1lliihq x6v0vjy x7yyq19 x1so62im x1rea2x4 x14qxm4i xnh0sag xa4qsjk x1ka1v4i x1esw782" -+ className: "x1lliihq x6v0vjy x7yyq19 x1rea2x4" - }, - children: [/*#__PURE__*/_jsx("circle", { - cx: "50%", diff --git a/node_modules/@astryxdesign/core/dist/astryx.css b/node_modules/@astryxdesign/core/dist/astryx.css -index 465aaab..2499c49 100644 +index 69573c6..a32e7a4 100644 --- a/node_modules/@astryxdesign/core/dist/astryx.css +++ b/node_modules/@astryxdesign/core/dist/astryx.css -@@ -578,7 +578,7 @@ +@@ -65,6 +65,7 @@ + @keyframes xv1hr86-B{from{opacity:0;transform:translateY(calc(-1 * var(--spacing-2))) scale(.95);}to{opacity:1;transform:translateY(0) scale(1);}} + @keyframes x1b6yrix-B{from{opacity:0;transform:translateY(var(--spacing-2));}to{opacity:1;transform:translateY(0);}} + @keyframes xiylxmw-B{from{opacity:0;transform:translateY(calc(-1 * var(--spacing-2)));}to{opacity:1;transform:translateY(0);}} ++ @keyframes xqng64z-B{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}} + @keyframes x1wbvqyn-B{0%{stroke-dashoffset:0;}100%{stroke-dashoffset:calc(var(--_spinner-ring-diameter) * -3.141592653589793);}} + @keyframes x1c2q33o-B{0%{transform:translateX(100%);}100%{transform:translateX(-250%);}} + @keyframes xr3m334-B{0%{transform:translateX(-100%);}100%{transform:translateX(250%);}} +@@ -577,7 +578,7 @@ .xk2sxw7:focus-within:not(#\#):not(#\#){border-color:var(--color-error)} .xyq33ac:focus-within:not(#\#):not(#\#){border-color:var(--color-success)} .xa1yw2k:focus-within:not(#\#):not(#\#){border-color:var(--color-warning)} @@ -969,7 +964,15 @@ index 465aaab..2499c49 100644 .x1dordxg:focus-within:not(#\#):not(#\#){overflow:visible} .xb0m1lw:has(> div > .astryx-layout-content):not(#\#):not(#\#){margin-inline:0} .x16s19ga:has(:focus-visible):not(#\#):not(#\#){outline:var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color)} -@@ -664,6 +664,7 @@ +@@ -650,6 +651,7 @@ + .x3psbcj:not(#\#):not(#\#):not(#\#){animation-name:x1ahk7ht-B} + .x1dvww92:not(#\#):not(#\#):not(#\#){animation-name:x1b6yrix-B} + .x97zbip:not(#\#):not(#\#):not(#\#){animation-name:x1k48ry3-B} ++ .x1ka1v4i:not(#\#):not(#\#):not(#\#){animation-name:xqng64z-B} + .x1nlxm0d:not(#\#):not(#\#):not(#\#){animation-name:x1wbvqyn-B} + .x1gbn2au:not(#\#):not(#\#):not(#\#){animation-name:x1xhkexc-B} + .xeuoslp:not(#\#):not(#\#):not(#\#){animation-name:xgnty7z-B} +@@ -663,6 +665,7 @@ .x4hg4is:not(#\#):not(#\#):not(#\#){animation-timing-function:ease-in-out} .x1esw782:not(#\#):not(#\#):not(#\#){animation-timing-function:linear} .x193epu2:not(#\#):not(#\#):not(#\#){animation-timing-function:steps(10,end)} @@ -977,8 +980,8 @@ index 465aaab..2499c49 100644 .x128ha8g:not(#\#):not(#\#):not(#\#){animation-timing-function:var(--ease-standard)} .xjyslct:not(#\#):not(#\#):not(#\#){appearance:none} .x1plog1:not(#\#):not(#\#):not(#\#){aspect-ratio:1} -@@ -1365,7 +1366,7 @@ - .x7s97pk:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:2px} +@@ -1367,7 +1370,7 @@ + .x1l5jwag:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:calc(0px - var(--focus-outline-width))} .x13aywxo:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:var(--button-focus-offset)} .x1vwwbsn:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:var(--focus-outline-offset)} - .xwz5zln.xwz5zln:where(.x1iwu4tg:has(:focus-visible) *):not(#\#):not(#\#):not(#\#){outline-offset:var(--focus-outline-offset)} @@ -986,7 +989,7 @@ index 465aaab..2499c49 100644 .x1jhp3zv:focus-visible:not(#\#):not(#\#):not(#\#){outline-style:var(--focus-outline-style)} .x1vidyx5:focus-visible:not(#\#):not(#\#):not(#\#){outline-width:var(--focus-outline-width)} .x1n6uwha:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--spacing-4),env(safe-area-inset-left,0px))} -@@ -1844,8 +1845,8 @@ +@@ -1850,8 +1853,8 @@ .x5lhr3w:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-width)} .x1wp2rvj.x1wp2rvj:where(.x139im0d:last-child *):not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:0} .x132qfvm:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){height:auto} @@ -1167,10 +1170,10 @@ index 693d728..7d5724e 100644 } \ No newline at end of file diff --git a/node_modules/@astryxdesign/core/src/Chat/ChatComposerInput.tsx b/node_modules/@astryxdesign/core/src/Chat/ChatComposerInput.tsx -index a45cc2f..f676118 100644 +index e63c86f..ea489b3 100644 --- a/node_modules/@astryxdesign/core/src/Chat/ChatComposerInput.tsx +++ b/node_modules/@astryxdesign/core/src/Chat/ChatComposerInput.tsx -@@ -28,6 +28,7 @@ import { +@@ -32,6 +32,7 @@ import { useState, useCallback, useEffect, @@ -1178,7 +1181,7 @@ index a45cc2f..f676118 100644 useImperativeHandle, type ReactNode, type KeyboardEvent, -@@ -51,6 +52,7 @@ import { +@@ -56,6 +57,7 @@ import { insertTextAtCursor, isSelectionAtStart, isSelectionAtEnd, @@ -1186,7 +1189,7 @@ index a45cc2f..f676118 100644 placeCaretAtEnd, getSelectionRangeInside, restoreSelectionRange, -@@ -114,6 +116,8 @@ export type ChatComposerTriggerItem = SearchableItem; +@@ -126,6 +128,8 @@ export type ChatComposerTriggerItem = SearchableItem; export type ChatComposerTrigger = { /** Character that activates this trigger menu (e.g. '@', '/') */ character: string; @@ -1195,7 +1198,7 @@ index a45cc2f..f676118 100644 /** * Search source providing items for this trigger. * Reuses the same SearchSource interface as Typeahead \u2014 -@@ -465,7 +469,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) { +@@ -485,7 +489,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) { }; }, [inputControlRef, focusEditableAtEnd]); @@ -1204,7 +1207,7 @@ index a45cc2f..f676118 100644 if (controlledValue === undefined || !editableRef.current) { return; } -@@ -497,6 +501,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) { +@@ -517,6 +521,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) { const range = document.createRange(); range.selectNodeContents(editable); range.collapse(false); @@ -1438,10 +1441,10 @@ index 0f31ca8..7fa3a89 100644 selection.removeAllRanges(); selection.addRange(range); diff --git a/node_modules/@astryxdesign/core/src/Chat/index.ts b/node_modules/@astryxdesign/core/src/Chat/index.ts -index 7239e18..db3ca04 100644 +index f778b8b..4d8bcbf 100644 --- a/node_modules/@astryxdesign/core/src/Chat/index.ts +++ b/node_modules/@astryxdesign/core/src/Chat/index.ts -@@ -80,6 +80,7 @@ export type { +@@ -81,6 +81,7 @@ export type { UseChatComposerTokensReturn, TokenPortal, } from './useChatComposerTokens'; @@ -1730,7 +1733,7 @@ index cb027d3..8f0e5e6 100644 @@ -26,7 +26,7 @@ * icon-button whose only job is to reveal the layer needs. */ - + -import {useCallback, useEffect, useRef, type RefObject} from 'react'; +import {useCallback, useEffect, useMemo, useRef, type RefObject} from 'react'; import { @@ -1739,7 +1742,7 @@ index cb027d3..8f0e5e6 100644 @@ -354,11 +354,14 @@ export function useTouchTrigger( wasOpenRef.current = isOpen; }, [isOpen, disarmOutsideDismiss]); - + - return { - isTouchPointerRef, - isTouchInteraction, @@ -1779,19 +1782,19 @@ index 5b63cd6..76627fe 100644 // unconditionally would erase a label a consumer pointed at their own // heading. diff --git a/node_modules/@astryxdesign/core/src/Markdown/Markdown.tsx b/node_modules/@astryxdesign/core/src/Markdown/Markdown.tsx -index 75e68af..ca671d4 100644 +index 45ec33b..be7b53f 100644 --- a/node_modules/@astryxdesign/core/src/Markdown/Markdown.tsx +++ b/node_modules/@astryxdesign/core/src/Markdown/Markdown.tsx @@ -9,7 +9,7 @@ * @position Core implementation; renders markdown as Astryx components */ --import {useMemo, useRef} from 'react'; -+import {useMemo, useRef, useState} from 'react'; +-import {Component, Suspense, useMemo, useRef} from 'react'; ++import {Component, Suspense, useMemo, useRef, useState} from 'react'; import type React from 'react'; import {Fragment} from 'react'; import * as stylex from '@stylexjs/stylex'; -@@ -159,6 +159,10 @@ export interface MarkdownProps extends BaseProps { +@@ -178,6 +178,10 @@ export interface MarkdownProps< */ headingLevelStart?: 1 | 2 | 3 | 4 | 5 | 6; isStreaming?: boolean; @@ -1802,7 +1805,7 @@ index 75e68af..ca671d4 100644 onLinkClick?: ( href: string, event: React.MouseEvent, -@@ -1656,6 +1660,8 @@ export function Markdown({ +@@ -1860,6 +1864,8 @@ export function Markdown< density = 'default', headingLevelStart = 1, isStreaming = false, @@ -1811,7 +1814,7 @@ index 75e68af..ca671d4 100644 onLinkClick, sources, citationStyle = 'label', -@@ -1690,7 +1696,10 @@ export function Markdown({ +@@ -1911,7 +1917,10 @@ export function Markdown< // Smooth bursty streamed chunks into a steady character-by-character reveal. // When not streaming, the hook returns children unchanged (no-op). @@ -1823,23 +1826,30 @@ index 75e68af..ca671d4 100644 const incrementalStateRef = useRef>( createIncrementalState(), -@@ -1718,7 +1727,7 @@ export function Markdown({ +@@ -1934,12 +1943,12 @@ export function Markdown< + return []; + } + if (isStreaming) { +- if (smoothedText === '') { ++ if (parsedText === '') { + incrementalStateRef.current = createIncrementalState(); return []; } const options = hasMathRenderer ? mathParseOptions : legacyParseOptions; - const input = trimStreamingArtifacts(smoothedText, options); + const input = trimStreamingArtifacts(parsedText, options); - return hasMathRenderer - ? parseMarkdownIncremental( - input, -@@ -1732,12 +1741,11 @@ export function Markdown({ - ); + return ( + hasMathRenderer + ? parseMarkdownAstIncremental( +@@ -1956,35 +1965,34 @@ export function Markdown< } - return hasMathRenderer -- ? parseMarkdown(children, mathParseOptions) -- : parseMarkdown(children, legacyParseOptions); -+ ? parseMarkdown(parsedText, mathParseOptions) -+ : parseMarkdown(parsedText, legacyParseOptions); + return ( + hasMathRenderer +- ? parseMarkdownAst(children, mathParseOptions) +- : parseMarkdownAst(children, legacyParseOptions) ++ ? parseMarkdownAst(parsedText, mathParseOptions) ++ : parseMarkdownAst(parsedText, legacyParseOptions) + ).children; }, [ display, - smoothedText, @@ -1848,7 +1858,34 @@ index 75e68af..ca671d4 100644 isStreaming, hasMathRenderer, mathParseOptions, -@@ -1771,15 +1779,14 @@ export function Markdown({ + legacyParseOptions, + ]); + +- const transformSource = isStreaming ++ const streamingSource = isStreaming + ? trimStreamingArtifacts( +- smoothedText, ++ parsedText, + hasMathRenderer ? mathParseOptions : legacyParseOptions, + ) +- : children; ++ : parsedText; + const blocks = useMemo( + () => + applyMarkdownTransforms( + {type: 'root', children: parsedBlocks}, + preparedPlugins, +- transformSource, ++ streamingSource, + !isStreaming, + 'block', + ).children, +- [parsedBlocks, preparedPlugins, transformSource, isStreaming], ++ [parsedBlocks, preparedPlugins, streamingSource, isStreaming], + ); + + // Assign each top-level heading the slug that parseOutlineFromMarkdown +@@ -2016,15 +2024,14 @@ export function Markdown< } const options = hasMathRenderer ? mathParseOptions : legacyParseOptions; const input = isStreaming @@ -1857,8 +1894,8 @@ index 75e68af..ca671d4 100644 + ? trimStreamingArtifacts(parsedText, options) + : parsedText; return hasMathRenderer - ? parseInline(input, mathParseOptions) - : parseInline(input, legacyParseOptions); + ? parseInlineAst(input, mathParseOptions) + : parseInlineAst(input, legacyParseOptions); }, [ display, - smoothedText, @@ -1867,12 +1904,25 @@ index 75e68af..ca671d4 100644 isStreaming, hasMathRenderer, mathParseOptions, -@@ -1800,20 +1807,43 @@ export function Markdown({ +@@ -2033,10 +2040,10 @@ export function Markdown< + + const inlineTransformSource = isStreaming + ? trimStreamingArtifacts( +- smoothedText, ++ parsedText, + hasMathRenderer ? mathParseOptions : legacyParseOptions, + ) +- : children; ++ : parsedText; + const inlineNodes = useMemo(() => { + if (display !== 'inline') { + return []; +@@ -2077,20 +2084,41 @@ export function Markdown< return Math.min(Math.ceil(duration / tickMs), 12); }, [token]); -- const prevBlocksRef = useRef([]); -- const prevInlineNodesRef = useRef([]); +- const prevBlocksRef = useRef>([]); +- const prevInlineNodesRef = useRef>([]); - const boundariesRef = useRef([]); - const smoothedLen = smoothedText.length; - const boundaries = useMemo(() => { @@ -1885,9 +1935,10 @@ index 75e68af..ca671d4 100644 - boundariesRef.current = next; - return next; - }, [display, smoothedLen, maxSpans]); -+ const visibleLength = display === 'inline' -+ ? countInlineTextLength(inlineNodes) -+ : countBlockTextLength(blocks); ++ const visibleLength = ++ display === 'inline' ++ ? countInlineTextLength(inlineNodes) ++ : countBlockTextLength(blocks); + const [fadeState, setFadeState] = useState(() => ({ + display, + settledText, @@ -1895,24 +1946,21 @@ index 75e68af..ca671d4 100644 + visibleLength, + boundaries: settledText === undefined ? [0] : [visibleLength], + })); -+ const resetBoundaries = fadeState.display !== display -+ || fadeState.settledText !== settledText -+ || !smoothedText.startsWith(fadeState.smoothedText); ++ const resetBoundaries = ++ fadeState.display !== display || ++ fadeState.settledText !== settledText || ++ !smoothedText.startsWith(fadeState.smoothedText); + const boundaries = resetBoundaries + ? [visibleLength] + : fadeState.smoothedText === smoothedText + ? fadeState.boundaries -+ : computeBoundaries( -+ fadeState.boundaries, -+ fadeState.visibleLength, -+ maxSpans, -+ ); ++ : computeBoundaries(fadeState.boundaries, fadeState.visibleLength, maxSpans); + if ( -+ fadeState.display !== display -+ || fadeState.settledText !== settledText -+ || fadeState.smoothedText !== smoothedText -+ || fadeState.visibleLength !== visibleLength -+ || fadeState.boundaries !== boundaries ++ fadeState.display !== display || ++ fadeState.settledText !== settledText || ++ fadeState.smoothedText !== smoothedText || ++ fadeState.visibleLength !== visibleLength || ++ fadeState.boundaries !== boundaries + ) { + setFadeState({ + display, @@ -1925,7 +1973,7 @@ index 75e68af..ca671d4 100644 const cursor: StreamingCursor = { offset: 0, -@@ -1855,10 +1885,6 @@ export function Markdown({ +@@ -2133,10 +2161,6 @@ export function Markdown< ); @@ -1936,7 +1984,7 @@ index 75e68af..ca671d4 100644 return renderedInline; } -@@ -1902,12 +1928,6 @@ export function Markdown({ +@@ -2181,12 +2205,6 @@ export function Markdown< ); @@ -1950,10 +1998,10 @@ index 75e68af..ca671d4 100644 } diff --git a/node_modules/@astryxdesign/core/src/Markdown/parser.ts b/node_modules/@astryxdesign/core/src/Markdown/parser.ts -index 6dee3b2..3717b78 100644 +index 418c30b..a7f533a 100644 --- a/node_modules/@astryxdesign/core/src/Markdown/parser.ts +++ b/node_modules/@astryxdesign/core/src/Markdown/parser.ts -@@ -2149,6 +2149,7 @@ export function trimStreamingArtifacts( +@@ -3013,6 +3013,7 @@ export function trimStreamingArtifacts( const prefix = lastNL === -1 ? '' : displayTrimmed.slice(0, lastNL + 1); let tail = lastNL === -1 ? displayTrimmed : displayTrimmed.slice(lastNL + 1); @@ -1961,7 +2009,7 @@ index 6dee3b2..3717b78 100644 if (options?.math) { // Hold an unmatched inline opener so raw TeX syntax does not flash while // streaming. If another unescaped dollar is already present but fails the -@@ -2169,6 +2170,7 @@ export function trimStreamingArtifacts( +@@ -3033,6 +3034,7 @@ export function trimStreamingArtifacts( } const close = findInlineMathEnd(tail, index); if (close !== -1) { @@ -1969,7 +2017,7 @@ index 6dee3b2..3717b78 100644 index = close; continue; } -@@ -2186,10 +2188,23 @@ export function trimStreamingArtifacts( +@@ -3050,10 +3052,23 @@ export function trimStreamingArtifacts( index = laterDollar; } } @@ -1994,7 +2042,7 @@ index 6dee3b2..3717b78 100644 if (lastBracket !== -1) { const afterBracket = tail.slice(lastBracket); // A closed link/image has ](...) somewhere after the [ -@@ -2251,8 +2266,9 @@ export function trimStreamingArtifacts( +@@ -3115,8 +3130,9 @@ export function trimStreamingArtifacts( while (idx + markerLen < tail.length && tail[idx + markerLen] === '*') { markerLen++; } @@ -2006,7 +2054,7 @@ index 6dee3b2..3717b78 100644 searchFrom = idx + markerLen; continue; } -@@ -2317,8 +2333,10 @@ export function trimStreamingArtifacts( +@@ -3181,8 +3197,10 @@ export function trimStreamingArtifacts( if (idx === -1) { break; } @@ -2053,25 +2101,15 @@ index 6c581d4..d3a9857 100644
{ + if (event.target !== host) return; @@ -2086,7 +2124,7 @@ index e6a5837..430de71 100644 }; } -@@ -259,9 +271,24 @@ const styles = stylex.create({ +@@ -273,9 +284,24 @@ const styles = stylex.create({ // moment it sets `min-width: 0` on its items. A spinner that does not fit // overflows its host visibly instead of being silently sliced. flexShrink: 0, @@ -2112,31 +2150,6 @@ index e6a5837..430de71 100644 display: 'block', // The frame is the box, read from the same composed var the span is sized // from — not from the size constant, which a theme cannot reach, and not -@@ -271,7 +298,6 @@ const styles = stylex.create({ - // One expression, one source of truth, resolves in any layout. - width: `var(${BOX_SIZE})`, - height: `var(${BOX_SIZE})`, -- willChange: 'transform', - // The svg is sized in CSS (100% of the span) rather than from the size - // constant, so one user unit is one CSS pixel AND the frame follows a - // themed diameter: the span's box is `diameter + 2 x stroke`, both public -@@ -280,16 +306,6 @@ const styles = stylex.create({ - // diameter — an overflowing grid item aligns to start rather than centre, - // which put the ring 1.5-3.3px off across the four sizes. - overflow: 'visible', -- // Slow the rotation dramatically under reduced-motion rather than freezing -- // it (a frozen spinner reads as broken), matching ProgressBar's approach. -- // The role="status" + "Loading" label still convey busy state (obs-6). -- animationDuration: { -- default: durationVars['--duration-slow-min'], -- '@media (prefers-reduced-motion: reduce)': '3s', -- }, -- animationIterationCount: 'infinite', -- animationName: rotation, -- animationTimingFunction: 'linear', - }, - circle: { - fill: 'none', diff --git a/node_modules/@astryxdesign/core/src/hooks/useStreamingText.ts b/node_modules/@astryxdesign/core/src/hooks/useStreamingText.ts index 55b441e..7aa4174 100644 --- a/node_modules/@astryxdesign/core/src/hooks/useStreamingText.ts diff --git a/patches/@earendil-works+pi-tui+0.85.1.patch b/patches/@earendil-works+pi-tui+0.87.1.patch similarity index 82% rename from patches/@earendil-works+pi-tui+0.85.1.patch rename to patches/@earendil-works+pi-tui+0.87.1.patch index ec62b0d1143..a4ceefa673d 100644 --- a/patches/@earendil-works+pi-tui+0.85.1.patch +++ b/patches/@earendil-works+pi-tui+0.87.1.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/@earendil-works/pi-tui/dist/components/editor.js b/node_modules/@earendil-works/pi-tui/dist/components/editor.js -index ab8b7ea..fcedd74 100644 +index 7eae102..9d00340 100644 --- a/node_modules/@earendil-works/pi-tui/dist/components/editor.js +++ b/node_modules/@earendil-works/pi-tui/dist/components/editor.js @@ -2,7 +2,6 @@ import { getKeybindings } from "../keybindings.js"; @@ -7,10 +7,10 @@ index ab8b7ea..fcedd74 100644 import { KillRing } from "../kill-ring.js"; import { CURSOR_MARKER, } from "../tui.js"; -import { UndoStack } from "../undo-stack.js"; - import { cjkBreakRegex, getGraphemeSegmenter, getWordSegmenter, isWhitespaceChar, sliceByColumn, visibleWidth, } from "../utils.js"; + import { autocompleteBoundaryRegex, autocompleteSeparatorRegex, cjkBreakRegex, getGraphemeSegmenter, getWordSegmenter, isWhitespaceChar, sliceByColumn, visibleWidth, } from "../utils.js"; import { findWordBackward, findWordForward } from "../word-navigation.js"; import { SelectList } from "./select-list.js"; -@@ -251,7 +250,7 @@ export class Editor { +@@ -253,7 +252,7 @@ export class Editor { // to. snappedFromCursorCol = null; // Undo support @@ -19,7 +19,7 @@ index ab8b7ea..fcedd74 100644 onSubmit; onChange; disableSubmit = false; -@@ -1140,7 +1139,7 @@ export class Editor { +@@ -1141,7 +1140,7 @@ export class Editor { this.pasteCounter = 0; this.exitHistoryBrowsing(); this.scrollOffset = 0; @@ -28,7 +28,7 @@ index ab8b7ea..fcedd74 100644 this.lastAction = null; if (this.onChange) this.onChange(""); -@@ -1767,7 +1766,13 @@ export class Editor { +@@ -1768,7 +1767,13 @@ export class Editor { } } pushUndoSnapshot() { diff --git a/patches/@modelcontextprotocol+client+2.0.0.patch b/patches/@modelcontextprotocol+client+2.1.0.patch similarity index 75% rename from patches/@modelcontextprotocol+client+2.0.0.patch rename to patches/@modelcontextprotocol+client+2.1.0.patch index 21ce543ca08..e1997e71dbd 100644 --- a/patches/@modelcontextprotocol+client+2.0.0.patch +++ b/patches/@modelcontextprotocol+client+2.1.0.patch @@ -1,8 +1,8 @@ -diff --git a/node_modules/@modelcontextprotocol/client/dist/src-D_zzAWoS.mjs b/node_modules/@modelcontextprotocol/client/dist/src-D_zzAWoS.mjs -index 6ac3d53..641f9ae 100644 ---- a/node_modules/@modelcontextprotocol/client/dist/src-D_zzAWoS.mjs -+++ b/node_modules/@modelcontextprotocol/client/dist/src-D_zzAWoS.mjs -@@ -5552,6 +5552,22 @@ function requestStateAccessor(value) { +diff --git a/node_modules/@modelcontextprotocol/client/dist/src-D0qEN74R.cjs b/node_modules/@modelcontextprotocol/client/dist/src-D0qEN74R.cjs +index 534b4b6..2046548 100644 +--- a/node_modules/@modelcontextprotocol/client/dist/src-D0qEN74R.cjs ++++ b/node_modules/@modelcontextprotocol/client/dist/src-D0qEN74R.cjs +@@ -5625,6 +5625,22 @@ function requestStateAccessor(value) { /** Shared no-state accessor: the common case allocates nothing per request. */ const NO_REQUEST_STATE = requestStateAccessor(void 0); let writeNegotiatedProtocolVersion; @@ -25,7 +25,7 @@ index 6ac3d53..641f9ae 100644 /** * Implements MCP protocol framing on top of a pluggable transport, including * features like request/response linking, notifications, and progress. -@@ -6055,6 +6071,7 @@ var Protocol = class { +@@ -6128,6 +6144,7 @@ var Protocol = class { const flowStartedAt = Date.now(); let onAbort; let cleanupMessageId; @@ -33,16 +33,16 @@ index 6ac3d53..641f9ae 100644 return new Promise((resolve, reject) => { const earlyReject = (error) => { reject(error); -@@ -6107,7 +6124,7 @@ var Protocol = class { - relatedRequestId, - resumptionToken, - onresumptiontoken -- }).catch((error) => this._onerror(/* @__PURE__ */ new Error(`Failed to send cancellation: ${error}`))); -+ }).catch(makaCancellationErrorObserver(this)); - else requestAbort.abort(); +@@ -6181,7 +6198,7 @@ var Protocol = class { + relatedRequestId, + resumptionToken, + onresumptiontoken +- }).catch((error) => this._onerror(/* @__PURE__ */ new Error(`Failed to send cancellation: ${error}`))); ++ }).catch(makaCancellationErrorObserver(this)); + } else requestAbort.abort(); reject(reason instanceof SdkError ? reason : new SdkError(SdkErrorCode.RequestTimeout, String(reason))); }; -@@ -6148,17 +6165,17 @@ var Protocol = class { +@@ -6222,17 +6239,17 @@ var Protocol = class { const timeout = options?.timeout ?? DEFAULT_REQUEST_TIMEOUT_MSEC; const timeoutHandler = () => cancel(new SdkError(SdkErrorCode.RequestTimeout, "Request timed out", { timeout })); this._setupTimeout(messageId, timeout, options?.maxTotalTimeout, timeoutHandler, options?.resetTimeoutOnProgress ?? false); @@ -64,11 +64,11 @@ index 6ac3d53..641f9ae 100644 if (onAbort) options?.signal?.removeEventListener("abort", onAbort); if (cleanupMessageId !== void 0) { this._responseHandlers.delete(cleanupMessageId); -diff --git a/node_modules/@modelcontextprotocol/client/dist/src-NAgB4Mp8.cjs b/node_modules/@modelcontextprotocol/client/dist/src-NAgB4Mp8.cjs -index e8f2499..cc129ff 100644 ---- a/node_modules/@modelcontextprotocol/client/dist/src-NAgB4Mp8.cjs -+++ b/node_modules/@modelcontextprotocol/client/dist/src-NAgB4Mp8.cjs -@@ -5553,6 +5553,22 @@ function requestStateAccessor(value) { +diff --git a/node_modules/@modelcontextprotocol/client/dist/src-DDAAhLnO.mjs b/node_modules/@modelcontextprotocol/client/dist/src-DDAAhLnO.mjs +index 0801440..e84e02d 100644 +--- a/node_modules/@modelcontextprotocol/client/dist/src-DDAAhLnO.mjs ++++ b/node_modules/@modelcontextprotocol/client/dist/src-DDAAhLnO.mjs +@@ -5624,6 +5624,22 @@ function requestStateAccessor(value) { /** Shared no-state accessor: the common case allocates nothing per request. */ const NO_REQUEST_STATE = requestStateAccessor(void 0); let writeNegotiatedProtocolVersion; @@ -91,7 +91,7 @@ index e8f2499..cc129ff 100644 /** * Implements MCP protocol framing on top of a pluggable transport, including * features like request/response linking, notifications, and progress. -@@ -6056,6 +6072,7 @@ var Protocol = class { +@@ -6127,6 +6143,7 @@ var Protocol = class { const flowStartedAt = Date.now(); let onAbort; let cleanupMessageId; @@ -99,16 +99,16 @@ index e8f2499..cc129ff 100644 return new Promise((resolve, reject) => { const earlyReject = (error) => { reject(error); -@@ -6108,7 +6125,7 @@ var Protocol = class { - relatedRequestId, - resumptionToken, - onresumptiontoken -- }).catch((error) => this._onerror(/* @__PURE__ */ new Error(`Failed to send cancellation: ${error}`))); -+ }).catch(makaCancellationErrorObserver(this)); - else requestAbort.abort(); +@@ -6180,7 +6197,7 @@ var Protocol = class { + relatedRequestId, + resumptionToken, + onresumptiontoken +- }).catch((error) => this._onerror(/* @__PURE__ */ new Error(`Failed to send cancellation: ${error}`))); ++ }).catch(makaCancellationErrorObserver(this)); + } else requestAbort.abort(); reject(reason instanceof SdkError ? reason : new SdkError(SdkErrorCode.RequestTimeout, String(reason))); }; -@@ -6149,17 +6166,17 @@ var Protocol = class { +@@ -6221,17 +6238,17 @@ var Protocol = class { const timeout = options?.timeout ?? DEFAULT_REQUEST_TIMEOUT_MSEC; const timeoutHandler = () => cancel(new SdkError(SdkErrorCode.RequestTimeout, "Request timed out", { timeout })); this._setupTimeout(messageId, timeout, options?.maxTotalTimeout, timeoutHandler, options?.resetTimeoutOnProgress ?? false); diff --git a/patches/README.md b/patches/README.md index 16c05158f9f..b6a5fe2933c 100644 --- a/patches/README.md +++ b/patches/README.md @@ -102,7 +102,7 @@ painted on resume without another write. It fails against the unpatched bundle. Delete when upstream routes selection changes through its paused-render contract and both bundle regressions pass without the patch. -## `@earendil-works/pi-tui@0.85.1` +## `@earendil-works/pi-tui@0.87.1` Editor undo snapshots deep-clone all stored paste strings for each typed word, @@ -130,7 +130,7 @@ Before upgrading Zod, re-verify allocation handoff, reentrant parsing, and cycle identity against the new memoizer and container implementations. The Runtime `zod-recursive-contract.test.ts` suite covers both shipped entry points. -## `@modelcontextprotocol/client@2.0.0` +## `@modelcontextprotocol/client@2.1.0` Pending transport sends retain settled request arguments and results through error observers, even after response, abort, timeout, or connection close. @@ -174,7 +174,7 @@ deltas. See #1967 / #1976 and Delete when the ambiguity and blank-name tests pass against an unpatched package. -## `@astryxdesign/core@0.6.2` +## `@astryxdesign/core@0.6.3` The shared code tokenizer caches only valid language definitions. Caching `null` for arbitrary unsupported fence labels grows a process-lifetime map; a short diff --git a/patches/app-builder-lib+26.16.1.patch b/patches/app-builder-lib+26.17.0.patch similarity index 82% rename from patches/app-builder-lib+26.16.1.patch rename to patches/app-builder-lib+26.17.0.patch index f6a1cd2378c..23b93511a4e 100644 --- a/patches/app-builder-lib+26.16.1.patch +++ b/patches/app-builder-lib+26.17.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/app-builder-lib/out/targets/archive.js b/node_modules/app-builder-lib/out/targets/archive.js -index 9595b4f..e5ae6d8 100644 +index 467df9d..2a02a7e 100644 --- a/node_modules/app-builder-lib/out/targets/archive.js +++ b/node_modules/app-builder-lib/out/targets/archive.js @@ -144,6 +144,7 @@ function compute7zCompressArgs(format, options = {}) { @@ -10,15 +10,15 @@ index 9595b4f..e5ae6d8 100644 } return args; } -@@ -163,6 +164,11 @@ async function archive(format, outFile, dirToArchive, options = {}) { - builder_util_1.log.warn({ reason: "7z doesn't support NFD-normalized filenames" }, `using zip`); - use7z = false; - } +@@ -179,6 +180,11 @@ async function archive(format, outFile, dirToArchive, options = {}) { + // Maka: keep macOS ZIPs on the system zip, as 26.15.3 did, so the update + // archive Squirrel.Mac unpacks is built the way shipped releases were. + if (process.platform === "darwin" && format === "zip" && options.preserveSymlinks) { + use7z = false; + } + if (storedMembers.length > 0 && !use7z) { + throw new Error("storedPaths is not supported with the native zip fallback"); + } if (use7z) { const args = compute7zCompressArgs(format, options); // Modern 7-Zip (24.09) dereferences symlinks by default; the 7-Zip 16.02 bundled before diff --git a/scripts/generate-third-party-notices.mjs b/scripts/generate-third-party-notices.mjs index df6125f21f3..80682309ffa 100644 --- a/scripts/generate-third-party-notices.mjs +++ b/scripts/generate-third-party-notices.mjs @@ -130,6 +130,7 @@ const MIT_COPYRIGHT_OVERRIDES = new Map([ // The published tarball omits the monorepo-root LICENSE. ['@earendil-works/pi-tui@0.84.4', 'Copyright (c) 2025 Mario Zechner'], ['@earendil-works/pi-tui@0.85.1', 'Copyright (c) 2025 Mario Zechner'], + ['@earendil-works/pi-tui@0.87.1', 'Copyright (c) 2025 Mario Zechner'], // The published tarball omits the repository LICENSE; sibling @astryxdesign // packages ship it verbatim with this notice. ['@astryxdesign/core@0.1.9', 'Copyright (c) 2026 Meta Platforms, Inc.'], @@ -141,6 +142,7 @@ const MIT_COPYRIGHT_OVERRIDES = new Map([ ['@astryxdesign/core@0.5.2', 'Copyright (c) 2026 Meta Platforms, Inc.'], ['@astryxdesign/core@0.6.1', 'Copyright (c) 2026 Meta Platforms, Inc.'], ['@astryxdesign/core@0.6.2', 'Copyright (c) 2026 Meta Platforms, Inc.'], + ['@astryxdesign/core@0.6.3', 'Copyright (c) 2026 Meta Platforms, Inc.'], ['@stylexjs/stylex@0.19.0', 'Copyright (c) Meta Platforms, Inc. and affiliates.'], ['@wecom/aibot-node-sdk@1.0.7', 'Copyright (c) WeComTeam contributors'], [ diff --git a/website/package.json b/website/package.json index e0cebf7a67a..eb3354a0606 100644 --- a/website/package.json +++ b/website/package.json @@ -14,7 +14,7 @@ "@playwright/test": "^1.63.0", "@fontsource-variable/geist": "^5.3.0", "@fontsource-variable/geist-mono": "^5.3.0", - "astro": "^7.3.2", + "astro": "^7.3.5", "cookie": "2.0.1" } }