diff --git a/LICENSE b/LICENSE
index 8c47e3748c..4215cf1f43 100644
--- a/LICENSE
+++ b/LICENSE
@@ -253,7 +253,7 @@ License: MIT
Maka includes an ejected adaptation of Astryx ChatReasoning v0.1.9 and generated
theme artifacts based on Astryx theme-neutral v0.5.2. Maka also redistributes
-`patches/@astryxdesign+core+0.5.2.patch`, which modifies the MIT-licensed Astryx
+`patches/@astryxdesign+core+0.5.4.patch`, which modifies the MIT-licensed Astryx
core package. The following MIT License applies to that material:
MIT License
@@ -280,10 +280,10 @@ SOFTWARE.
Pi TUI dependency patch
-Source: https://www.npmjs.com/package/@earendil-works/pi-tui/v/0.84.4
-Repository: https://github.com/earendil-works/pi/tree/v0.84.4/packages/tui
-Version: 0.84.4
-Dependency patch: patches/@earendil-works+pi-tui+0.84.4.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
Copyright (c) 2025 Mario Zechner
License: MIT
diff --git a/apps/desktop/package.json b/apps/desktop/package.json
index 4ab6340f51..e95137fcf2 100644
--- a/apps/desktop/package.json
+++ b/apps/desktop/package.json
@@ -71,17 +71,17 @@
},
"devDependencies": {
"@ant-design/icons-svg": "4.6.0",
- "@astryxdesign/core": "0.5.2",
- "@astryxdesign/theme-neutral": "0.5.2",
+ "@astryxdesign/core": "0.5.4",
+ "@astryxdesign/theme-neutral": "0.5.4",
"@babel/parser": "7.29.7",
"@fontsource-variable/geist": "^5.3.0",
"@fontsource-variable/geist-mono": "^5.3.0",
"@maka/ui": "0.1.0",
"@modelcontextprotocol/sdk": "^1.26.0",
- "@playwright/test": "^1.62.1",
- "@storybook/react-vite": "^10.5.10",
+ "@playwright/test": "^1.63.0",
+ "@storybook/react-vite": "^10.6.0",
"@types/react": "^19.2.18",
- "@types/react-dom": "^19.2.5",
+ "@types/react-dom": "^19.2.7",
"@types/ws": "^8.18.1",
"@vitejs/plugin-react": "^6.1.1",
"@xterm/addon-fit": "^0.11.0",
@@ -92,7 +92,7 @@
"linkedom": "^0.18.13",
"react": "^19.2.1",
"react-dom": "^19.2.1",
- "simple-icons": "16.29.0",
+ "simple-icons": "16.30.0",
"storybook": "^10.4.6",
"vite": "^8.2.2"
},
diff --git a/apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt b/apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt
index 764c5ec5cb..236bc650a8 100644
--- a/apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt
+++ b/apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt
@@ -677,7 +677,7 @@ SOFTWARE.
================================================================================
-Package: @astryxdesign/core@0.5.2
+Package: @astryxdesign/core@0.5.4
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/facebook/astryx.git#packages/core
@@ -707,7 +707,7 @@ SOFTWARE.
================================================================================
-Package: @astryxdesign/theme-neutral@0.5.2
+Package: @astryxdesign/theme-neutral@0.5.4
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/facebook/astryx.git#packages/themes/neutral
@@ -1372,7 +1372,7 @@ Apache License
================================================================================
-Package: @larksuiteoapi/node-sdk@1.73.0
+Package: @larksuiteoapi/node-sdk@1.73.3
Declared license: MIT
Selected license: MIT
Repository: https://github.com/larksuite/node-sdk.git
@@ -4525,7 +4525,7 @@ MIT License
================================================================================
-Package: @types/node@26.4.0
+Package: @types/node@26.5.1
Declared license: MIT
Selected license: MIT
Repository: https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node
@@ -10672,7 +10672,7 @@ SOFTWARE.
================================================================================
-Package: katex@0.18.5
+Package: katex@0.18.7
Declared license: MIT
Selected license: MIT
Repository: https://github.com/KaTeX/KaTeX.git
@@ -11415,7 +11415,7 @@ THE SOFTWARE.
================================================================================
-Package: lucide-react@1.38.0
+Package: lucide-react@1.45.0
Declared license: ISC
Selected license: ISC
Repository: https://github.com/lucide-icons/lucide.git#packages/lucide-react
@@ -13457,7 +13457,7 @@ SOFTWARE.
================================================================================
-Package: simple-icons@16.29.0
+Package: simple-icons@16.30.0
Declared license: CC0-1.0
Selected license: CC0-1.0
Repository: git+ssh://git@github.com/simple-icons/simple-icons.git
@@ -13525,7 +13525,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================================================
-Package: socks@2.8.9
+Package: socks@2.8.10
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/JoshGlazebrook/socks.git
@@ -13699,7 +13699,7 @@ SOFTWARE.
================================================================================
-Package: systeminformation@5.33.8
+Package: systeminformation@5.33.10
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/sebhildebrandt/systeminformation.git
@@ -13992,7 +13992,7 @@ SOFTWARE.
================================================================================
-Package: undici@8.10.1
+Package: undici@8.10.2
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/nodejs/undici.git
@@ -14022,7 +14022,7 @@ SOFTWARE.
================================================================================
-Package: undici-types@8.3.0
+Package: undici-types@8.9.0
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/nodejs/undici.git
diff --git a/apps/desktop/src/main/__tests__/chat-composer-region-draft-handoff.test.ts b/apps/desktop/src/main/__tests__/chat-composer-region-draft-handoff.test.ts
index d73d8ad343..e65c1b3a3a 100644
--- a/apps/desktop/src/main/__tests__/chat-composer-region-draft-handoff.test.ts
+++ b/apps/desktop/src/main/__tests__/chat-composer-region-draft-handoff.test.ts
@@ -68,12 +68,19 @@ async function mountRegion(): Promise<{
}> {
const { document, window } = parseHTML('
');
const storage = new Map();
- Object.assign(document, {
- getSelection: () => ({
- removeAllRanges() {},
- addRange() {},
- }),
+ const selection = {
+ rangeCount: 0,
+ removeAllRanges() {},
+ addRange() {},
+ };
+ const createRange = () => ({
+ selectNodeContents() {},
+ collapse() {},
});
+ const getSelection = () => selection as unknown as Selection;
+ const matchMedia = () => ({ matches: false, addEventListener() {}, removeEventListener() {} });
+ Object.assign(document, { createRange, getSelection });
+ Object.assign(window, { getSelection, matchMedia });
Object.assign(globalThis, {
document,
window,
@@ -86,7 +93,7 @@ async function mountRegion(): Promise<{
setItem: (key: string, value: string) => storage.set(key, value),
removeItem: (key: string) => storage.delete(key),
},
- matchMedia: () => ({ matches: false, addEventListener() {}, removeEventListener() {} }),
+ matchMedia,
requestAnimationFrame: (callback: FrameRequestCallback) => setTimeout(callback, 0),
cancelAnimationFrame: (handle: number) => clearTimeout(handle),
IS_REACT_ACT_ENVIRONMENT: true,
diff --git a/apps/desktop/src/renderer/astryx-theme/maka.css b/apps/desktop/src/renderer/astryx-theme/maka.css
index 724d75b7a6..62ccbd5c81 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.5.2
+ * CLI: @astryxdesign/cli@0.5.4
* Core: @astryxdesign/core@0.1.0
*/
@@ -144,96 +144,96 @@
--font-family-body: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Microsoft YaHei UI", "Noto Sans CJK SC", "Noto Sans SC", "WenQuanYi Micro Hei", "Source Han Sans SC", "Geist Variable", sans-serif;
--font-family-heading: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Microsoft YaHei UI", "Noto Sans CJK SC", "Noto Sans SC", "WenQuanYi Micro Hei", "Source Han Sans SC", "Geist Variable", sans-serif;
--font-family-code: "Geist Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
- --color-syntax-keyword: light-dark(#700084, #efa8ff);
- --color-syntax-string: light-dark(#005600, #a6d2a2);
- --color-syntax-comment: light-dark(#737373, #a3a3a3);
- --color-syntax-number: light-dark(#6e3500, #ffb37f);
- --color-syntax-function: light-dark(#00458c, #a0caff);
- --color-syntax-type: light-dark(#700084, #efa8ff);
- --color-syntax-variable: light-dark(#171717, #e5e5e5);
- --color-syntax-operator: light-dark(#737373, #a3a3a3);
- --color-syntax-constant: light-dark(#6e3500, #ffb37f);
- --color-syntax-tag: light-dark(#89001a, #ffaeaa);
- --color-syntax-attribute: light-dark(#584400, #eec12f);
- --color-syntax-property: light-dark(#005348, #83dac9);
- --color-syntax-punctuation: light-dark(#6e6e6e, #a0a0a0);
- --color-syntax-background: light-dark(#fafafa, #0a0a0a);
+ --color-syntax-keyword: light-dark(#6b187c, #efa8ff);
+ --color-syntax-string: light-dark(#0b5615, #a4d6a3);
+ --color-syntax-comment: light-dark(#6a6a6a, #9e9e9e);
+ --color-syntax-number: light-dark(#733100, #ffb37e);
+ --color-syntax-function: light-dark(#00458c, #a1caff);
+ --color-syntax-type: light-dark(#6b187c, #efa8ff);
+ --color-syntax-variable: light-dark(#111111, #e2e2e2);
+ --color-syntax-operator: light-dark(#6a6a6a, #9e9e9e);
+ --color-syntax-constant: light-dark(#733100, #ffb37e);
+ --color-syntax-tag: light-dark(#8a0011, #ffaea7);
+ --color-syntax-attribute: light-dark(#584400, #eec448);
+ --color-syntax-property: light-dark(#005348, #90d7c8);
+ --color-syntax-punctuation: light-dark(#6a6a6a, #9e9e9e);
+ --color-syntax-background: light-dark(#ffffff, #111111);
--color-background-surface: var(--background);
--color-background-body: var(--surface-canvas);
--color-background-card: var(--background-elevated);
--color-background-popover: var(--background-elevated);
--color-background-muted: var(--muted);
- --color-accent: light-dark(#262626, #ebebeb);
+ --color-accent: light-dark(#262626, #f1f1f1);
--color-accent-muted: light-dark(#f1f1f1, #262626);
- --color-neutral: light-dark(#0000000F, #FFFFFF1A);
+ --color-neutral: light-dark(#0000000F, #ffffff1A);
--color-overlay: light-dark(#00000080, #000000CC);
--color-overlay-hover: var(--state-hover-bg);
- --color-overlay-pressed: light-dark(#0000001A, #FFFFFF1A);
+ --color-overlay-pressed: light-dark(#0000001A, #ffffff1A);
--color-text-primary: var(--foreground);
--color-text-secondary: var(--muted-foreground);
- --color-text-disabled: light-dark(#a3a3a3, #525252);
- --color-text-accent: light-dark(#262626, #ebebeb);
+ --color-text-disabled: light-dark(#9e9e9e, #525252);
+ --color-text-accent: light-dark(#262626, #f1f1f1);
--color-on-dark: #ffffff;
- --color-on-light: #171717;
- --color-on-accent: light-dark(#ffffff, #171717);
- --color-on-success: light-dark(#ffffff, #171717);
- --color-on-error: light-dark(#ffffff, #171717);
- --color-on-warning: #171717;
- --color-icon-accent: light-dark(#262626, #ebebeb);
+ --color-on-light: #111111;
+ --color-on-accent: light-dark(#ffffff, #111111);
+ --color-on-success: light-dark(#ffffff, #111111);
+ --color-on-error: light-dark(#ffffff, #111111);
+ --color-on-warning: #111111;
+ --color-icon-accent: light-dark(#262626, #f1f1f1);
--color-icon-primary: var(--foreground);
--color-icon-secondary: var(--muted-foreground);
- --color-icon-disabled: light-dark(#a3a3a3, #525252);
- --color-success: light-dark(#007004, #9fe59b);
- --color-error: light-dark(#a50c25, #ffc6c1);
- --color-warning: light-dark(#745b00, #fdcf4f);
+ --color-icon-disabled: light-dark(#9e9e9e, #525252);
+ --color-success: light-dark(#237028, #a4d6a3);
+ --color-error: light-dark(#9e0015, #ffc4be);
+ --color-warning: light-dark(#745b00, #f8d36a);
--color-success-muted: oklch(from var(--success) l c h / 0.24);
--color-error-muted: oklch(from var(--destructive) l c h / 0.24);
--color-warning-muted: oklch(from var(--warning) l c h / 0.24);
--color-border: var(--border);
--color-border-emphasized: var(--border-strong);
- --color-skeleton: light-dark(#ebebeb, #525252);
+ --color-skeleton: light-dark(#f1f1f1, #525252);
--color-shadow: light-dark(#0000001A, #0000004D);
--color-tint-hover: light-dark(black, white);
- --color-background-red: light-dark(#facecb, #ff9e973D);
- --color-border-red: light-dark(#e6bab8, #ff6f6c);
- --color-icon-red: light-dark(#89001a, #ff9e97);
- --color-text-red: light-dark(#89001a, #ffc6c1);
- --color-background-orange: light-dark(#fad0b5, #ffa2583D);
- --color-border-orange: light-dark(#e6bda2, #e2883e);
- --color-icon-orange: light-dark(#6e3500, #ffa258);
- --color-text-orange: light-dark(#6e3500, #ffc9a2);
- --color-background-yellow: light-dark(#f8da9d, #deb4333D);
- --color-border-yellow: light-dark(#e4c279, #c0990e);
- --color-icon-yellow: light-dark(#584400, #deb433);
- --color-text-yellow: light-dark(#584400, #fdcf4f);
- --color-background-green: light-dark(#c5e5c0, #84c9803D);
- --color-border-green: light-dark(#b2d1ac, #69ad67);
- --color-icon-green: light-dark(#0c5700, #84c980);
- --color-text-green: light-dark(#0c5700, #9fe59b);
- --color-background-teal: light-dark(#a5e3d6, #7ec6b83D);
- --color-border-teal: light-dark(#94d6c8, #63ab9d);
- --color-icon-teal: light-dark(#005348, #7ec6b8);
- --color-text-teal: light-dark(#005348, #99e2d3);
- --color-background-cyan: light-dark(#a3e0ef, #83c2d43D);
- --color-border-cyan: light-dark(#91d3e3, #67a7b8);
- --color-icon-cyan: light-dark(#00505f, #83c2d4);
- --color-text-cyan: light-dark(#00505f, #9edef0);
- --color-background-blue: light-dark(#c4ddfb, #9eb7ff3D);
- --color-border-blue: light-dark(#b1c9e7, #6d9cfe);
- --color-icon-blue: light-dark(#00458c, #9eb7ff);
- --color-text-blue: light-dark(#00458c, #c7d3ff);
- --color-background-purple: light-dark(#eccef3, #f297ff3D);
- --color-border-purple: light-dark(#d8bbdf, #dd74f0);
- --color-icon-purple: light-dark(#700084, #f297ff);
- --color-text-purple: light-dark(#700084, #fac1ff);
- --color-background-pink: light-dark(#fccadc, #ff99c33D);
- --color-border-pink: light-dark(#e7b7c8, #f273aa);
- --color-icon-pink: light-dark(#83004b, #ff99c3);
- --color-text-pink: light-dark(#83004b, #ffc3da);
- --color-background-gray: light-dark(#e5e5e5, var(--color-neutral));
+ --color-background-red: light-dark(#ffc4be, #5b2b28);
+ --color-border-red: light-dark(#ffaea7, #fa6762);
+ --color-icon-red: light-dark(#8a0011, #ff9890);
+ --color-text-red: light-dark(#8a0011, #ffaea7);
+ --color-background-orange: light-dark(#ffc7a1, #503424);
+ --color-border-orange: light-dark(#ffc7a1, #df843f);
+ --color-icon-orange: light-dark(#733100, #ff9e55);
+ --color-text-orange: light-dark(#733100, #ffb37e);
+ --color-background-yellow: light-dark(#fae19e, #453a1c);
+ --color-border-yellow: light-dark(#e3c36c, #c29900);
+ --color-icon-yellow: light-dark(#584400, #e2b623);
+ --color-text-yellow: light-dark(#584400, #eec448);
+ --color-background-green: light-dark(#bce0bb, #2b422b);
+ --color-border-green: light-dark(#aad4a9, #6ab26b);
+ --color-icon-green: light-dark(#0b5615, #90ca90);
+ --color-text-green: light-dark(#0b5615, #90ca90);
+ --color-background-teal: light-dark(#a9e2d6, #28413c);
+ --color-border-teal: light-dark(#90d7c8, #4fb1a0);
+ --color-icon-teal: light-dark(#005348, #81c9bb);
+ --color-text-teal: light-dark(#005348, #90d7c8);
+ --color-background-cyan: light-dark(#9ae2f4, #274046);
+ --color-border-cyan: light-dark(#85d5e9, #49adc4);
+ --color-icon-cyan: light-dark(#00505f, #71c7dd);
+ --color-text-cyan: light-dark(#00505f, #85d5e9);
+ --color-background-blue: light-dark(#b9d7ff, #253c5a);
+ --color-border-blue: light-dark(#a1caff, #5aa0f8);
+ --color-icon-blue: light-dark(#00458c, #88bcff);
+ --color-text-blue: light-dark(#00458c, #a1caff);
+ --color-background-purple: light-dark(#f7d5ff, #4a2f51);
+ --color-border-purple: light-dark(#f3bfff, #d885eb);
+ --color-icon-purple: light-dark(#6b187c, #e496f6);
+ --color-text-purple: light-dark(#6b187c, #eaacf8);
+ --color-background-pink: light-dark(#ffc0d7, #572b3d);
+ --color-border-pink: light-dark(#ffc0d7, #fc78b1);
+ --color-icon-pink: light-dark(#83004b, #fd92bd);
+ --color-text-pink: light-dark(#83004b, #ffa9ca);
+ --color-background-gray: light-dark(#e2e2e2, #303030);
--color-border-gray: light-dark(#d4d4d4, #262626);
- --color-icon-gray: light-dark(#525252, #a3a3a3);
- --color-text-gray: light-dark(#262626, #e5e5e5);
+ --color-icon-gray: light-dark(#525252, #9e9e9e);
+ --color-text-gray: light-dark(#262626, #d4d4d4);
--radius-none: 0px;
--radius-inner: var(--radius-control);
--radius-element: var(--radius-surface);
@@ -245,9 +245,19 @@
--shadow-high: 0 4px 6px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), 0 12px 24px light-dark(oklch(0 0 0 / 15%), oklch(0 0 0 / 70%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 15%));
--shadow-inset-hover: inset 0px 0px 0px 2px #0074e24D;
--shadow-inset-selected: inset 0px 0px 0px 2px #0074e280;
- --shadow-inset-success: inset 0px 0px 0px 2px #1981004D;
- --shadow-inset-warning: inset 0px 0px 0px 2px #ffce2f4D;
- --shadow-inset-error: inset 0px 0px 0px 2px #e33f4a4D;
+ --shadow-inset-success: inset 0px 0px 0px 2px #2f7d334D;
+ --shadow-inset-warning: inset 0px 0px 0px 2px #f8d36a4D;
+ --shadow-inset-error: inset 0px 0px 0px 2px #de47454D;
+ --astryx-theme-neutral-color-status-fill-accent: light-dark(#0074e2, #6d9cfe);
+ --astryx-theme-neutral-color-status-fill-success: light-dark(#198100, #64af4c);
+ --astryx-theme-neutral-color-status-fill-warning: #ffce2f;
+ --astryx-theme-neutral-color-status-fill-error: light-dark(#c9303a, #ff705d);
+ --astryx-theme-neutral-color-status-muted-accent: light-dark(#b9d7ff, #88bcff3D);
+ --astryx-theme-neutral-color-on-tint-neutral: light-dark(#fafafa4D, #0a0a0a4D);
+ --astryx-theme-neutral-color-on-tint-overlay-hover: light-dark(#fafafa1A, #0a0a0a1A);
+ --astryx-theme-neutral-color-on-tint-overlay-pressed: light-dark(#fafafa33, #0a0a0a33);
+ --astryx-theme-neutral-color-destructive-overlay-hover: light-dark(#ff7f770D, #ee736c0D);
+ --astryx-theme-neutral-color-destructive-overlay-pressed: light-dark(#ff7f771A, #ee736c1A);
}
.astryx-heading.level-1 {
@@ -361,11 +371,13 @@
.astryx-button.destructive {
background-color: var(--color-error-muted);
color: var(--color-error);
+ --color-overlay-hover: var(--astryx-theme-neutral-color-destructive-overlay-hover);
+ --color-overlay-pressed: var(--astryx-theme-neutral-color-destructive-overlay-pressed);
}
.astryx-badge.info {
- background-color: light-dark(#0074e2, #6d9cfe);
- color: light-dark(#ffffff, #171717);
+ background-color: var(--astryx-theme-neutral-color-status-fill-accent);
+ color: var(--color-on-accent);
}
.astryx-badge.neutral {
@@ -374,18 +386,18 @@
}
.astryx-badge.success {
- background-color: light-dark(#198100, #64af4c);
- color: light-dark(#ffffff, #171717);
+ background-color: var(--astryx-theme-neutral-color-status-fill-success);
+ color: var(--color-on-success);
}
.astryx-badge.warning {
- background-color: #ffce2f;
- color: #171717;
+ background-color: var(--astryx-theme-neutral-color-status-fill-warning);
+ color: var(--color-on-warning);
}
.astryx-badge.error {
- background-color: light-dark(#c9303a, #ff705d);
- color: light-dark(#ffffff, #171717);
+ background-color: var(--astryx-theme-neutral-color-status-fill-error);
+ color: var(--color-on-error);
}
.astryx-badge.red {
@@ -439,23 +451,58 @@
}
.astryx-statusdot.success {
- background-color: light-dark(#198100, #64af4c);
+ background-color: var(--astryx-theme-neutral-color-status-fill-success);
}
.astryx-statusdot.warning {
- background-color: #ffce2f;
+ background-color: var(--astryx-theme-neutral-color-status-fill-warning);
}
.astryx-statusdot.error {
- background-color: light-dark(#c9303a, #ff705d);
+ background-color: var(--astryx-theme-neutral-color-status-fill-error);
}
.astryx-statusdot.accent {
- background-color: light-dark(#0074e2, #6d9cfe);
+ background-color: var(--astryx-theme-neutral-color-status-fill-accent);
+ }
+
+ .astryx-avatar-status-dot.success {
+ background-color: var(--astryx-theme-neutral-color-status-fill-success);
+ }
+
+ .astryx-avatar-status-dot.error {
+ background-color: var(--astryx-theme-neutral-color-status-fill-error);
+ }
+
+ .astryx-segmented-control {
+ padding: var(--spacing-1);
+ --_segmented-control-padding: var(--spacing-1);
+ }
+
+ .astryx-segmented-control-item.sm {
+ height: calc(var(--size-element-sm) - 8px);
+ }
+
+ .astryx-segmented-control-item.md {
+ height: calc(var(--size-element-md) - 8px);
+ }
+
+ .astryx-segmented-control-item.lg {
+ height: calc(var(--size-element-lg) - 8px);
+ }
+
+ .astryx-segmented-control-item.selected {
+ box-shadow: none;
+ }
+
+ .astryx-banner {
+ --color-neutral: var(--astryx-theme-neutral-color-on-tint-neutral);
+ --color-overlay-hover: var(--astryx-theme-neutral-color-on-tint-overlay-hover);
+ --color-overlay-pressed: var(--astryx-theme-neutral-color-on-tint-overlay-pressed);
}
.astryx-banner.info {
- --color-accent-muted: var(--color-background-blue);
+ --color-accent-muted: var(--astryx-theme-neutral-color-status-muted-accent);
--color-text-primary: var(--color-text-blue);
--color-text-secondary: var(--color-text-blue);
--color-accent: var(--color-text-blue);
@@ -479,6 +526,22 @@
--color-error: var(--color-text-red);
}
+ .astryx-step-indicator.accent {
+ --color-accent: var(--astryx-theme-neutral-color-status-fill-accent);
+ }
+
+ .astryx-step-indicator.success {
+ --color-success: var(--astryx-theme-neutral-color-status-fill-success);
+ }
+
+ .astryx-step-indicator.warning {
+ --color-warning: var(--astryx-theme-neutral-color-status-fill-warning);
+ }
+
+ .astryx-step-indicator.error {
+ --color-error: var(--astryx-theme-neutral-color-status-fill-error);
+ }
+
.astryx-switch {
--color-background-gray: var(--color-border-emphasized);
}
@@ -488,19 +551,19 @@
}
.astryx-progressbar.accent {
- --color-accent: #0074e2;
+ --color-accent: var(--astryx-theme-neutral-color-status-fill-accent);
}
.astryx-progressbar.success {
- --color-success: #198100;
+ --color-success: var(--astryx-theme-neutral-color-status-fill-success);
}
.astryx-progressbar.warning {
- --color-warning: #ffce2f;
+ --color-warning: var(--astryx-theme-neutral-color-status-fill-warning);
}
.astryx-progressbar.error {
- --color-error: #c9303a;
+ --color-error: var(--astryx-theme-neutral-color-status-fill-error);
}
.astryx-card {
diff --git a/apps/desktop/src/renderer/astryx-theme/maka.d.ts b/apps/desktop/src/renderer/astryx-theme/maka.d.ts
index a7cc0b13dd..cb49f4a8fa 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.5.2
+ * CLI: @astryxdesign/cli@0.5.4
* 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 182fe6f39f..d328ab9267 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.5.2
+ * CLI: @astryxdesign/cli@0.5.4
* Core: @astryxdesign/core@0.1.0
*/
@@ -84,96 +84,96 @@ export const makaTheme = {
"--font-family-body": "-apple-system, BlinkMacSystemFont, system-ui, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Microsoft YaHei UI\", \"Noto Sans CJK SC\", \"Noto Sans SC\", \"WenQuanYi Micro Hei\", \"Source Han Sans SC\", \"Geist Variable\", sans-serif",
"--font-family-heading": "-apple-system, BlinkMacSystemFont, system-ui, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Microsoft YaHei UI\", \"Noto Sans CJK SC\", \"Noto Sans SC\", \"WenQuanYi Micro Hei\", \"Source Han Sans SC\", \"Geist Variable\", sans-serif",
"--font-family-code": "\"Geist Mono Variable\", \"JetBrains Mono\", ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace",
- "--color-syntax-keyword": "light-dark(#700084, #efa8ff)",
- "--color-syntax-string": "light-dark(#005600, #a6d2a2)",
- "--color-syntax-comment": "light-dark(#737373, #a3a3a3)",
- "--color-syntax-number": "light-dark(#6e3500, #ffb37f)",
- "--color-syntax-function": "light-dark(#00458c, #a0caff)",
- "--color-syntax-type": "light-dark(#700084, #efa8ff)",
- "--color-syntax-variable": "light-dark(#171717, #e5e5e5)",
- "--color-syntax-operator": "light-dark(#737373, #a3a3a3)",
- "--color-syntax-constant": "light-dark(#6e3500, #ffb37f)",
- "--color-syntax-tag": "light-dark(#89001a, #ffaeaa)",
- "--color-syntax-attribute": "light-dark(#584400, #eec12f)",
- "--color-syntax-property": "light-dark(#005348, #83dac9)",
- "--color-syntax-punctuation": "light-dark(#6e6e6e, #a0a0a0)",
- "--color-syntax-background": "light-dark(#fafafa, #0a0a0a)",
+ "--color-syntax-keyword": "light-dark(#6b187c, #efa8ff)",
+ "--color-syntax-string": "light-dark(#0b5615, #a4d6a3)",
+ "--color-syntax-comment": "light-dark(#6a6a6a, #9e9e9e)",
+ "--color-syntax-number": "light-dark(#733100, #ffb37e)",
+ "--color-syntax-function": "light-dark(#00458c, #a1caff)",
+ "--color-syntax-type": "light-dark(#6b187c, #efa8ff)",
+ "--color-syntax-variable": "light-dark(#111111, #e2e2e2)",
+ "--color-syntax-operator": "light-dark(#6a6a6a, #9e9e9e)",
+ "--color-syntax-constant": "light-dark(#733100, #ffb37e)",
+ "--color-syntax-tag": "light-dark(#8a0011, #ffaea7)",
+ "--color-syntax-attribute": "light-dark(#584400, #eec448)",
+ "--color-syntax-property": "light-dark(#005348, #90d7c8)",
+ "--color-syntax-punctuation": "light-dark(#6a6a6a, #9e9e9e)",
+ "--color-syntax-background": "light-dark(#ffffff, #111111)",
"--color-background-surface": "var(--background)",
"--color-background-body": "var(--surface-canvas)",
"--color-background-card": "var(--background-elevated)",
"--color-background-popover": "var(--background-elevated)",
"--color-background-muted": "var(--muted)",
- "--color-accent": "light-dark(#262626, #ebebeb)",
+ "--color-accent": "light-dark(#262626, #f1f1f1)",
"--color-accent-muted": "light-dark(#f1f1f1, #262626)",
- "--color-neutral": "light-dark(#0000000F, #FFFFFF1A)",
+ "--color-neutral": "light-dark(#0000000F, #ffffff1A)",
"--color-overlay": "light-dark(#00000080, #000000CC)",
"--color-overlay-hover": "var(--state-hover-bg)",
- "--color-overlay-pressed": "light-dark(#0000001A, #FFFFFF1A)",
+ "--color-overlay-pressed": "light-dark(#0000001A, #ffffff1A)",
"--color-text-primary": "var(--foreground)",
"--color-text-secondary": "var(--muted-foreground)",
- "--color-text-disabled": "light-dark(#a3a3a3, #525252)",
- "--color-text-accent": "light-dark(#262626, #ebebeb)",
+ "--color-text-disabled": "light-dark(#9e9e9e, #525252)",
+ "--color-text-accent": "light-dark(#262626, #f1f1f1)",
"--color-on-dark": "#ffffff",
- "--color-on-light": "#171717",
- "--color-on-accent": "light-dark(#ffffff, #171717)",
- "--color-on-success": "light-dark(#ffffff, #171717)",
- "--color-on-error": "light-dark(#ffffff, #171717)",
- "--color-on-warning": "#171717",
- "--color-icon-accent": "light-dark(#262626, #ebebeb)",
+ "--color-on-light": "#111111",
+ "--color-on-accent": "light-dark(#ffffff, #111111)",
+ "--color-on-success": "light-dark(#ffffff, #111111)",
+ "--color-on-error": "light-dark(#ffffff, #111111)",
+ "--color-on-warning": "#111111",
+ "--color-icon-accent": "light-dark(#262626, #f1f1f1)",
"--color-icon-primary": "var(--foreground)",
"--color-icon-secondary": "var(--muted-foreground)",
- "--color-icon-disabled": "light-dark(#a3a3a3, #525252)",
- "--color-success": "light-dark(#007004, #9fe59b)",
- "--color-error": "light-dark(#a50c25, #ffc6c1)",
- "--color-warning": "light-dark(#745b00, #fdcf4f)",
+ "--color-icon-disabled": "light-dark(#9e9e9e, #525252)",
+ "--color-success": "light-dark(#237028, #a4d6a3)",
+ "--color-error": "light-dark(#9e0015, #ffc4be)",
+ "--color-warning": "light-dark(#745b00, #f8d36a)",
"--color-success-muted": "oklch(from var(--success) l c h / 0.24)",
"--color-error-muted": "oklch(from var(--destructive) l c h / 0.24)",
"--color-warning-muted": "oklch(from var(--warning) l c h / 0.24)",
"--color-border": "var(--border)",
"--color-border-emphasized": "var(--border-strong)",
- "--color-skeleton": "light-dark(#ebebeb, #525252)",
+ "--color-skeleton": "light-dark(#f1f1f1, #525252)",
"--color-shadow": "light-dark(#0000001A, #0000004D)",
"--color-tint-hover": "light-dark(black, white)",
- "--color-background-red": "light-dark(#facecb, #ff9e973D)",
- "--color-border-red": "light-dark(#e6bab8, #ff6f6c)",
- "--color-icon-red": "light-dark(#89001a, #ff9e97)",
- "--color-text-red": "light-dark(#89001a, #ffc6c1)",
- "--color-background-orange": "light-dark(#fad0b5, #ffa2583D)",
- "--color-border-orange": "light-dark(#e6bda2, #e2883e)",
- "--color-icon-orange": "light-dark(#6e3500, #ffa258)",
- "--color-text-orange": "light-dark(#6e3500, #ffc9a2)",
- "--color-background-yellow": "light-dark(#f8da9d, #deb4333D)",
- "--color-border-yellow": "light-dark(#e4c279, #c0990e)",
- "--color-icon-yellow": "light-dark(#584400, #deb433)",
- "--color-text-yellow": "light-dark(#584400, #fdcf4f)",
- "--color-background-green": "light-dark(#c5e5c0, #84c9803D)",
- "--color-border-green": "light-dark(#b2d1ac, #69ad67)",
- "--color-icon-green": "light-dark(#0c5700, #84c980)",
- "--color-text-green": "light-dark(#0c5700, #9fe59b)",
- "--color-background-teal": "light-dark(#a5e3d6, #7ec6b83D)",
- "--color-border-teal": "light-dark(#94d6c8, #63ab9d)",
- "--color-icon-teal": "light-dark(#005348, #7ec6b8)",
- "--color-text-teal": "light-dark(#005348, #99e2d3)",
- "--color-background-cyan": "light-dark(#a3e0ef, #83c2d43D)",
- "--color-border-cyan": "light-dark(#91d3e3, #67a7b8)",
- "--color-icon-cyan": "light-dark(#00505f, #83c2d4)",
- "--color-text-cyan": "light-dark(#00505f, #9edef0)",
- "--color-background-blue": "light-dark(#c4ddfb, #9eb7ff3D)",
- "--color-border-blue": "light-dark(#b1c9e7, #6d9cfe)",
- "--color-icon-blue": "light-dark(#00458c, #9eb7ff)",
- "--color-text-blue": "light-dark(#00458c, #c7d3ff)",
- "--color-background-purple": "light-dark(#eccef3, #f297ff3D)",
- "--color-border-purple": "light-dark(#d8bbdf, #dd74f0)",
- "--color-icon-purple": "light-dark(#700084, #f297ff)",
- "--color-text-purple": "light-dark(#700084, #fac1ff)",
- "--color-background-pink": "light-dark(#fccadc, #ff99c33D)",
- "--color-border-pink": "light-dark(#e7b7c8, #f273aa)",
- "--color-icon-pink": "light-dark(#83004b, #ff99c3)",
- "--color-text-pink": "light-dark(#83004b, #ffc3da)",
- "--color-background-gray": "light-dark(#e5e5e5, var(--color-neutral))",
+ "--color-background-red": "light-dark(#ffc4be, #5b2b28)",
+ "--color-border-red": "light-dark(#ffaea7, #fa6762)",
+ "--color-icon-red": "light-dark(#8a0011, #ff9890)",
+ "--color-text-red": "light-dark(#8a0011, #ffaea7)",
+ "--color-background-orange": "light-dark(#ffc7a1, #503424)",
+ "--color-border-orange": "light-dark(#ffc7a1, #df843f)",
+ "--color-icon-orange": "light-dark(#733100, #ff9e55)",
+ "--color-text-orange": "light-dark(#733100, #ffb37e)",
+ "--color-background-yellow": "light-dark(#fae19e, #453a1c)",
+ "--color-border-yellow": "light-dark(#e3c36c, #c29900)",
+ "--color-icon-yellow": "light-dark(#584400, #e2b623)",
+ "--color-text-yellow": "light-dark(#584400, #eec448)",
+ "--color-background-green": "light-dark(#bce0bb, #2b422b)",
+ "--color-border-green": "light-dark(#aad4a9, #6ab26b)",
+ "--color-icon-green": "light-dark(#0b5615, #90ca90)",
+ "--color-text-green": "light-dark(#0b5615, #90ca90)",
+ "--color-background-teal": "light-dark(#a9e2d6, #28413c)",
+ "--color-border-teal": "light-dark(#90d7c8, #4fb1a0)",
+ "--color-icon-teal": "light-dark(#005348, #81c9bb)",
+ "--color-text-teal": "light-dark(#005348, #90d7c8)",
+ "--color-background-cyan": "light-dark(#9ae2f4, #274046)",
+ "--color-border-cyan": "light-dark(#85d5e9, #49adc4)",
+ "--color-icon-cyan": "light-dark(#00505f, #71c7dd)",
+ "--color-text-cyan": "light-dark(#00505f, #85d5e9)",
+ "--color-background-blue": "light-dark(#b9d7ff, #253c5a)",
+ "--color-border-blue": "light-dark(#a1caff, #5aa0f8)",
+ "--color-icon-blue": "light-dark(#00458c, #88bcff)",
+ "--color-text-blue": "light-dark(#00458c, #a1caff)",
+ "--color-background-purple": "light-dark(#f7d5ff, #4a2f51)",
+ "--color-border-purple": "light-dark(#f3bfff, #d885eb)",
+ "--color-icon-purple": "light-dark(#6b187c, #e496f6)",
+ "--color-text-purple": "light-dark(#6b187c, #eaacf8)",
+ "--color-background-pink": "light-dark(#ffc0d7, #572b3d)",
+ "--color-border-pink": "light-dark(#ffc0d7, #fc78b1)",
+ "--color-icon-pink": "light-dark(#83004b, #fd92bd)",
+ "--color-text-pink": "light-dark(#83004b, #ffa9ca)",
+ "--color-background-gray": "light-dark(#e2e2e2, #303030)",
"--color-border-gray": "light-dark(#d4d4d4, #262626)",
- "--color-icon-gray": "light-dark(#525252, #a3a3a3)",
- "--color-text-gray": "light-dark(#262626, #e5e5e5)",
+ "--color-icon-gray": "light-dark(#525252, #9e9e9e)",
+ "--color-text-gray": "light-dark(#262626, #d4d4d4)",
"--radius-none": "0px",
"--radius-inner": "var(--radius-control)",
"--radius-element": "var(--radius-surface)",
@@ -185,10 +185,35 @@ export const makaTheme = {
"--shadow-high": "0 4px 6px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), 0 12px 24px light-dark(oklch(0 0 0 / 15%), oklch(0 0 0 / 70%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 15%))",
"--shadow-inset-hover": "inset 0px 0px 0px 2px #0074e24D",
"--shadow-inset-selected": "inset 0px 0px 0px 2px #0074e280",
- "--shadow-inset-success": "inset 0px 0px 0px 2px #1981004D",
- "--shadow-inset-warning": "inset 0px 0px 0px 2px #ffce2f4D",
- "--shadow-inset-error": "inset 0px 0px 0px 2px #e33f4a4D"
+ "--shadow-inset-success": "inset 0px 0px 0px 2px #2f7d334D",
+ "--shadow-inset-warning": "inset 0px 0px 0px 2px #f8d36a4D",
+ "--shadow-inset-error": "inset 0px 0px 0px 2px #de47454D"
},
+ localTokens: {
+ "--astryx-theme-neutral-color-status-fill-accent": "light-dark(#0074e2, #6d9cfe)",
+ "--astryx-theme-neutral-color-status-fill-success": "light-dark(#198100, #64af4c)",
+ "--astryx-theme-neutral-color-status-fill-warning": "#ffce2f",
+ "--astryx-theme-neutral-color-status-fill-error": "light-dark(#c9303a, #ff705d)",
+ "--astryx-theme-neutral-color-status-muted-accent": "light-dark(#b9d7ff, #88bcff3D)",
+ "--astryx-theme-neutral-color-on-tint-neutral": "light-dark(#fafafa4D, #0a0a0a4D)",
+ "--astryx-theme-neutral-color-on-tint-overlay-hover": "light-dark(#fafafa1A, #0a0a0a1A)",
+ "--astryx-theme-neutral-color-on-tint-overlay-pressed": "light-dark(#fafafa33, #0a0a0a33)",
+ "--astryx-theme-neutral-color-destructive-overlay-hover": "light-dark(#ff7f770D, #ee736c0D)",
+ "--astryx-theme-neutral-color-destructive-overlay-pressed": "light-dark(#ff7f771A, #ee736c1A)"
+ },
+ __localTokenOwners: {
+ "--astryx-theme-neutral-color-status-fill-accent": "neutral",
+ "--astryx-theme-neutral-color-status-fill-success": "neutral",
+ "--astryx-theme-neutral-color-status-fill-warning": "neutral",
+ "--astryx-theme-neutral-color-status-fill-error": "neutral",
+ "--astryx-theme-neutral-color-status-muted-accent": "neutral",
+ "--astryx-theme-neutral-color-on-tint-neutral": "neutral",
+ "--astryx-theme-neutral-color-on-tint-overlay-hover": "neutral",
+ "--astryx-theme-neutral-color-on-tint-overlay-pressed": "neutral",
+ "--astryx-theme-neutral-color-destructive-overlay-hover": "neutral",
+ "--astryx-theme-neutral-color-destructive-overlay-pressed": "neutral"
+ },
+ __localTokenLineage: ["neutral","maka"],
components: {
"heading": {
"level:1": {
@@ -288,29 +313,31 @@ export const makaTheme = {
"button": {
"variant:destructive": {
"backgroundColor": "var(--color-error-muted)",
- "color": "var(--color-error)"
+ "color": "var(--color-error)",
+ "--color-overlay-hover": "var(--astryx-theme-neutral-color-destructive-overlay-hover)",
+ "--color-overlay-pressed": "var(--astryx-theme-neutral-color-destructive-overlay-pressed)"
}
},
"badge": {
"variant:info": {
- "backgroundColor": "light-dark(#0074e2, #6d9cfe)",
- "color": "light-dark(#ffffff, #171717)"
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-accent)",
+ "color": "var(--color-on-accent)"
},
"variant:neutral": {
"backgroundColor": "var(--color-background-gray)",
"color": "var(--color-text-gray)"
},
"variant:success": {
- "backgroundColor": "light-dark(#198100, #64af4c)",
- "color": "light-dark(#ffffff, #171717)"
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-success)",
+ "color": "var(--color-on-success)"
},
"variant:warning": {
- "backgroundColor": "#ffce2f",
- "color": "#171717"
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-warning)",
+ "color": "var(--color-on-warning)"
},
"variant:error": {
- "backgroundColor": "light-dark(#c9303a, #ff705d)",
- "color": "light-dark(#ffffff, #171717)"
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-error)",
+ "color": "var(--color-on-error)"
},
"variant:red": {
"backgroundColor": "var(--color-background-red)",
@@ -355,21 +382,53 @@ export const makaTheme = {
},
"statusdot": {
"variant:success": {
- "backgroundColor": "light-dark(#198100, #64af4c)"
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-success)"
},
"variant:warning": {
- "backgroundColor": "#ffce2f"
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-warning)"
},
"variant:error": {
- "backgroundColor": "light-dark(#c9303a, #ff705d)"
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-error)"
},
"variant:accent": {
- "backgroundColor": "light-dark(#0074e2, #6d9cfe)"
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-accent)"
+ }
+ },
+ "avatar-status-dot": {
+ "variant:success": {
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-success)"
+ },
+ "variant:error": {
+ "backgroundColor": "var(--astryx-theme-neutral-color-status-fill-error)"
+ }
+ },
+ "segmented-control": {
+ "base": {
+ "padding": "var(--spacing-1)"
+ }
+ },
+ "segmented-control-item": {
+ "size:sm": {
+ "height": "calc(var(--size-element-sm) - 8px)"
+ },
+ "size:md": {
+ "height": "calc(var(--size-element-md) - 8px)"
+ },
+ "size:lg": {
+ "height": "calc(var(--size-element-lg) - 8px)"
+ },
+ "selected": {
+ "boxShadow": "none"
}
},
"banner": {
+ "base": {
+ "--color-neutral": "var(--astryx-theme-neutral-color-on-tint-neutral)",
+ "--color-overlay-hover": "var(--astryx-theme-neutral-color-on-tint-overlay-hover)",
+ "--color-overlay-pressed": "var(--astryx-theme-neutral-color-on-tint-overlay-pressed)"
+ },
"status:info": {
- "--color-accent-muted": "var(--color-background-blue)",
+ "--color-accent-muted": "var(--astryx-theme-neutral-color-status-muted-accent)",
"--color-text-primary": "var(--color-text-blue)",
"--color-text-secondary": "var(--color-text-blue)",
"--color-accent": "var(--color-text-blue)"
@@ -390,6 +449,20 @@ export const makaTheme = {
"--color-error": "var(--color-text-red)"
}
},
+ "step-indicator": {
+ "status:accent": {
+ "--color-accent": "var(--astryx-theme-neutral-color-status-fill-accent)"
+ },
+ "status:success": {
+ "--color-success": "var(--astryx-theme-neutral-color-status-fill-success)"
+ },
+ "status:warning": {
+ "--color-warning": "var(--astryx-theme-neutral-color-status-fill-warning)"
+ },
+ "status:error": {
+ "--color-error": "var(--astryx-theme-neutral-color-status-fill-error)"
+ }
+ },
"switch": {
"base": {
"--color-background-gray": "var(--color-border-emphasized)"
@@ -400,16 +473,16 @@ export const makaTheme = {
"--color-background-muted": "var(--color-border-emphasized)"
},
"variant:accent": {
- "--color-accent": "#0074e2"
+ "--color-accent": "var(--astryx-theme-neutral-color-status-fill-accent)"
},
"variant:success": {
- "--color-success": "#198100"
+ "--color-success": "var(--astryx-theme-neutral-color-status-fill-success)"
},
"variant:warning": {
- "--color-warning": "#ffce2f"
+ "--color-warning": "var(--astryx-theme-neutral-color-status-fill-warning)"
},
"variant:error": {
- "--color-error": "#c9303a"
+ "--color-error": "var(--astryx-theme-neutral-color-status-fill-error)"
}
},
"card": {
diff --git a/docs/astryx-surface-file-inventory.md b/docs/astryx-surface-file-inventory.md
index 763394835c..cd988d4b82 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.5.2` (194 component exports).
+Generated against `@astryxdesign/core@0.5.4` (194 component exports).
Wiki bar: Design Conventions · API Use-the-System · Theming · Container Padding.
diff --git a/package-lock.json b/package-lock.json
index cb24194404..53ed9eb38a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,14 +24,14 @@
],
"devDependencies": {
"@ai-sdk/provider-utils": "5.0.40",
- "@astryxdesign/cli": "0.5.2",
- "@astryxdesign/core": "0.5.2",
- "@biomejs/biome": "2.5.11",
+ "@astryxdesign/cli": "0.5.4",
+ "@astryxdesign/core": "0.5.4",
+ "@biomejs/biome": "2.5.12",
"@electron/asar": "4.3.0",
- "@types/node": "^26.4.0",
+ "@types/node": "^26.5.0",
"esbuild": "^0.28.1",
"husky": "^9.1.7",
- "knip": "^6.33.0",
+ "knip": "^6.34.0",
"patch-package": "8.0.1",
"typescript": "^7.0.2",
"yaml": "2.9.0"
@@ -63,17 +63,17 @@
},
"devDependencies": {
"@ant-design/icons-svg": "4.6.0",
- "@astryxdesign/core": "0.5.2",
- "@astryxdesign/theme-neutral": "0.5.2",
+ "@astryxdesign/core": "0.5.4",
+ "@astryxdesign/theme-neutral": "0.5.4",
"@babel/parser": "7.29.7",
"@fontsource-variable/geist": "^5.3.0",
"@fontsource-variable/geist-mono": "^5.3.0",
"@maka/ui": "0.1.0",
"@modelcontextprotocol/sdk": "^1.26.0",
- "@playwright/test": "^1.62.1",
- "@storybook/react-vite": "^10.5.10",
+ "@playwright/test": "^1.63.0",
+ "@storybook/react-vite": "^10.6.0",
"@types/react": "^19.2.18",
- "@types/react-dom": "^19.2.5",
+ "@types/react-dom": "^19.2.7",
"@types/ws": "^8.18.1",
"@vitejs/plugin-react": "^6.1.1",
"@xterm/addon-fit": "^0.11.0",
@@ -84,7 +84,7 @@
"linkedom": "^0.18.13",
"react": "^19.2.1",
"react-dom": "^19.2.1",
- "simple-icons": "16.29.0",
+ "simple-icons": "16.30.0",
"storybook": "^10.4.6",
"vite": "^8.2.2"
}
@@ -638,9 +638,9 @@
}
},
"node_modules/@astryxdesign/cli": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/@astryxdesign/cli/-/cli-0.5.2.tgz",
- "integrity": "sha512-JKEV7JJZjapMB8fPe+HR/ZRRYD3Qce0c0tt/YjNsHDCUSAYxg0ZSWJgb1zKpqVaJzRws/IN9rKws2GsIDYkrMA==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@astryxdesign/cli/-/cli-0.5.4.tgz",
+ "integrity": "sha512-cAuMW50/HTlt2Ey9S1sIb/mdLXJCg8ZthZhsMBzc6kUlzIceg3lsQJXRi1t5c63wiGDWLsAZCES5VWU+gnOASA==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -690,9 +690,9 @@
}
},
"node_modules/@astryxdesign/core": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/@astryxdesign/core/-/core-0.5.2.tgz",
- "integrity": "sha512-wJXjKIDpvqHG6t6BFzqRSuaJWIC2vMH3+9b4kVjwQE8LTYI5uUY6m8e5RQq06OC4BVTOHmnrhWfAzhsTaXFelw==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@astryxdesign/core/-/core-0.5.4.tgz",
+ "integrity": "sha512-Om3YCXGKd6d93UJwxUMbCiKyNlNweXOqYw4zYUoT4zqxiIfG4EXt2DRd809B7goBQGZWF13U8gud58jWb5z/fQ==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
@@ -705,16 +705,16 @@
}
},
"node_modules/@astryxdesign/theme-neutral": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/@astryxdesign/theme-neutral/-/theme-neutral-0.5.2.tgz",
- "integrity": "sha512-eVCN+x6OdnQk5Zw3ksAgrIKhDiTzu+0oFi689jyf0TPzFrz50f5VT3OB4SHeGgShp4dzFDWPgz6GUFQda6kTHw==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@astryxdesign/theme-neutral/-/theme-neutral-0.5.4.tgz",
+ "integrity": "sha512-rLoxjTyajKPTIBQCKfKk4fNv5Z77p3t+KtKCOfpPajZlPgVYIdJGxWiClJ0cEFuboEZx9PCw59WOfpi1jx20Qw==",
"dev": true,
"license": "MIT",
"dependencies": {
"lucide-react": "^1.18.0"
},
"peerDependencies": {
- "@astryxdesign/core": "0.5.2",
+ "@astryxdesign/core": "0.5.4",
"react": ">=19"
}
},
@@ -1300,9 +1300,9 @@
}
},
"node_modules/@biomejs/biome": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.11.tgz",
- "integrity": "sha512-Tj0dnkLPdW0ASjHfj2D/ZkkvPU2wrFmnE1jWTD2xzV1ycapV1DutbYXk4NDnR3rYTi1ZCbNFD4G2gRMEY65WaA==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.12.tgz",
+ "integrity": "sha512-Lw4VHZRebrReBBnlHa12JQjnIBm3JJAA55PDB9LbBVBF0q4RYphm6KfmIjqtPhf61MxZ5Q9KoK8R8x+7per5Aw==",
"dev": true,
"license": "MIT OR Apache-2.0",
"bin": {
@@ -1316,20 +1316,20 @@
"url": "https://opencollective.com/biome"
},
"optionalDependencies": {
- "@biomejs/cli-darwin-arm64": "2.5.11",
- "@biomejs/cli-darwin-x64": "2.5.11",
- "@biomejs/cli-linux-arm64": "2.5.11",
- "@biomejs/cli-linux-arm64-musl": "2.5.11",
- "@biomejs/cli-linux-x64": "2.5.11",
- "@biomejs/cli-linux-x64-musl": "2.5.11",
- "@biomejs/cli-win32-arm64": "2.5.11",
- "@biomejs/cli-win32-x64": "2.5.11"
+ "@biomejs/cli-darwin-arm64": "2.5.12",
+ "@biomejs/cli-darwin-x64": "2.5.12",
+ "@biomejs/cli-linux-arm64": "2.5.12",
+ "@biomejs/cli-linux-arm64-musl": "2.5.12",
+ "@biomejs/cli-linux-x64": "2.5.12",
+ "@biomejs/cli-linux-x64-musl": "2.5.12",
+ "@biomejs/cli-win32-arm64": "2.5.12",
+ "@biomejs/cli-win32-x64": "2.5.12"
}
},
"node_modules/@biomejs/cli-darwin-arm64": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.11.tgz",
- "integrity": "sha512-6SGZxoKbXvUjMn1t6A98HqWISPnGNbYs0R/Rt2JarmXBSev+lva4QxUMWEBX9lX1Wo1XTJ78uk5xVDtG58SRZg==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.12.tgz",
+ "integrity": "sha512-lCRY1rwgNeWNgTr4DI/u6ZwXTRwRLHAvbaio1YLLGS+4r1nhvB2ssyPqIpfUSmRveNfv0fn/N58C7CAdK2XVrg==",
"cpu": [
"arm64"
],
@@ -1344,9 +1344,9 @@
}
},
"node_modules/@biomejs/cli-darwin-x64": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.11.tgz",
- "integrity": "sha512-nYkXY7tLBEgnGbYapDKAyKzgt44ZEyG+AKalvTXtCWKYgepI9dw327q+cVgedxm+Udi1ZzHKUyZrIusHi/KQbw==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.12.tgz",
+ "integrity": "sha512-vhPgwnh+6tN3ArdAXuET99xaNbFt7CG82Bqn+omHVLC5xdVx45JsYjGPmUIGNzjDek5XdNCP1HKksK7fn8+3bQ==",
"cpu": [
"x64"
],
@@ -1361,9 +1361,9 @@
}
},
"node_modules/@biomejs/cli-linux-arm64": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.11.tgz",
- "integrity": "sha512-3PVLSTD9RR73rvVPt5G3T1gc+ycggWEGfTD7RvzzbtcDPD27NxgxBbAFfpm7DXJKW6VLHWE1lLMGvFt2Qxjcow==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.12.tgz",
+ "integrity": "sha512-2gp8aVwXYKdAtmBfRFCUuyDMcfN1ahHqUkGfLYrZlNRFmryMATLVvJgWKvyA8wu4Rwn5OSxM1UcUmOuOFNGeBQ==",
"cpu": [
"arm64"
],
@@ -1381,9 +1381,9 @@
}
},
"node_modules/@biomejs/cli-linux-arm64-musl": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.11.tgz",
- "integrity": "sha512-qhyZUMyCbWYFV2bAwRNVvfMVZ+hv7WYl6mossGrxC+uiQQXhvsuWWU8zz6jYX0mChZd9MgQZbm4vozTmG/5iGw==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.12.tgz",
+ "integrity": "sha512-couHYjFLL5uuI8ne6zhT7KwEsXo5YP7ry/2xmEqah7qanu0YmfDi3mwJg47YXSuv/NpZj22CZzcRH/5c4gjPSQ==",
"cpu": [
"arm64"
],
@@ -1401,9 +1401,9 @@
}
},
"node_modules/@biomejs/cli-linux-x64": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.11.tgz",
- "integrity": "sha512-JOytptlsgM33B2MMFUg8iBrb4IKpbD5JnJrSeYiaFEeAj4vuXx0iQSQZ4qK7sqyMtfjZxxPdNdMZZVL4y/mFyA==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.12.tgz",
+ "integrity": "sha512-SnvOs3TSTiuia4SQOUNe1aWC9RT4+YkjcKnOhL/nsKOV0k5ycgBkDzF0lUxKn1V7Q8CLTRq6iV23ZAivHomRoA==",
"cpu": [
"x64"
],
@@ -1421,9 +1421,9 @@
}
},
"node_modules/@biomejs/cli-linux-x64-musl": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.11.tgz",
- "integrity": "sha512-oRRlrchG5EfrEL/EmtT1qUjSNHk3/5LGeZhQqADBBAJF1b1ET6964xEKe7aGlGARzDfza8H/seEsFJl7S6Ql9w==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.12.tgz",
+ "integrity": "sha512-8A0oDW58/w9f/PQNYuq0sGUZtGtGrkNF4Z6n0PUoXpLCshi85vtKTv1XSznQawhdE4MXJ8ufpzHXyLFe87M/+w==",
"cpu": [
"x64"
],
@@ -1441,9 +1441,9 @@
}
},
"node_modules/@biomejs/cli-win32-arm64": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.11.tgz",
- "integrity": "sha512-e49E6K9hzH/ohJNx8Y26mY8HaV4I4ZViIeoqhKsmoXLKHhQnMeBAVqCgsGf2Wa3lXlS7RkporDXMHHWkzvZzFw==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.12.tgz",
+ "integrity": "sha512-b9vtoZFsuZt1pdjNwJvXl0f+BpayRzV008uS2+JpmwIKdSE2qdu4A/l04FESwLoou5g2E/Qlec0xwJydZplH+A==",
"cpu": [
"arm64"
],
@@ -1458,9 +1458,9 @@
}
},
"node_modules/@biomejs/cli-win32-x64": {
- "version": "2.5.11",
- "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.11.tgz",
- "integrity": "sha512-QSQr/KjOgXA7OzXJUWS+oguKyAZ3Q0l/lnlDGbu397eKo83atuWUjBPJrsqbKNF6CARGw8XXJLGzpHC8Ryhd4Q==",
+ "version": "2.5.12",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.12.tgz",
+ "integrity": "sha512-B1R/l+CwEpKFSuqiwePzPNRk1EiJN8kc0UhdafNz6MZN9v5OFP9HYP1irptvWzHrwVI4blVNGMbxc5zt70m3IA==",
"cpu": [
"x64"
],
@@ -1706,9 +1706,9 @@
}
},
"node_modules/@earendil-works/pi-tui": {
- "version": "0.84.4",
- "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.84.4.tgz",
- "integrity": "sha512-nPUnwDkLtupPXnZQYrCwPFcuTydCDqTY6ZbFqhsL4S4kVq0AT418kPa/6uXwtaCD+MjBNBltb7ScTYX65yeE1w==",
+ "version": "0.85.1",
+ "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.85.1.tgz",
+ "integrity": "sha512-OIzw9efInmO4WOBnD4TxcTdBjmzvYJpzslkgoUro946nEGoYWg5rwv1p4fDt3/JvMx9QybryUCUwlm7j8Dreig==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "1.6.0",
@@ -3344,9 +3344,9 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz",
+ "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==",
"dev": true,
"license": "MIT"
},
@@ -3362,9 +3362,9 @@
}
},
"node_modules/@larksuiteoapi/node-sdk": {
- "version": "1.73.0",
- "resolved": "https://registry.npmjs.org/@larksuiteoapi/node-sdk/-/node-sdk-1.73.0.tgz",
- "integrity": "sha512-gs4EiupJ6RdYAEJGtuYrCVsB7wSMBwtUDK+ilpmOHD6RTvbtciW6AWciQO9coOQVuBZfh7hvAi25dPfCsny/nA==",
+ "version": "1.73.3",
+ "resolved": "https://registry.npmjs.org/@larksuiteoapi/node-sdk/-/node-sdk-1.73.3.tgz",
+ "integrity": "sha512-14Zj8r3f5CEIvpRuzb5HSYyp6O092N1kQkGHg6Kwi/c7B0CmXeCHBVM3Pmn0ozP5JvvAQd/PXBzW48rMH6cj4Q==",
"license": "MIT",
"dependencies": {
"axios": "^1.16.0",
@@ -4417,13 +4417,13 @@
}
},
"node_modules/@playwright/test": {
- "version": "1.62.1",
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.62.1.tgz",
- "integrity": "sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==",
+ "version": "1.63.0",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.63.0.tgz",
+ "integrity": "sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright": "1.62.1"
+ "playwright": "1.63.0"
},
"bin": {
"playwright": "cli.js"
@@ -5017,13 +5017,12 @@
"license": "MIT"
},
"node_modules/@storybook/builder-vite": {
- "version": "10.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.5.10.tgz",
- "integrity": "sha512-O4GgIP0tKLRueom3EmU3OaBUHKjNYj+jkOvmTIkn3PYTiWVkCuHqSKEs4ADvRyaQuLH+peHhFe4JtkNC9KbtrQ==",
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.6.0.tgz",
+ "integrity": "sha512-7zt8tYB6dnSO8fbjUz91MHexGDpf9HrLlA3FAmlVb+2ZL3eWUs499L3I6BDUymcWu7oW5WCBJlB8ERj8ZLLzig==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/csf-plugin": "10.5.10",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -5031,45 +5030,10 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^10.5.10",
+ "storybook": "^10.6.0",
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/@storybook/csf-plugin": {
- "version": "10.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.5.10.tgz",
- "integrity": "sha512-TaCLBrqVEr767+w58QDotDUiCTuE5cyRJuRcDlsKQyUIyGBv+lYD3lu8wBiVCYxgIjB/gu9HmqiC+0yx1rHzaw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "unplugin": "^2.3.5"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "esbuild": "*",
- "rollup": "*",
- "storybook": "^10.5.10",
- "vite": "*",
- "webpack": "*"
- },
- "peerDependenciesMeta": {
- "esbuild": {
- "optional": true
- },
- "rollup": {
- "optional": true
- },
- "vite": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
"node_modules/@storybook/global": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz",
@@ -5088,14 +5052,14 @@
}
},
"node_modules/@storybook/react": {
- "version": "10.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/react/-/react-10.5.10.tgz",
- "integrity": "sha512-4MBV5e1SXIMfPynLHzr+Mp0dwGv/FW1bklWAsS4ynBOAbC98W9p/I9vqBnUctsvE3BJkhzHQQyPwMHL5tTcHVA==",
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/@storybook/react/-/react-10.6.0.tgz",
+ "integrity": "sha512-0xfYYPRHcr5ta1hmXJCSezH4JGuUHJ+xVF9f1j+Y/MWEMOQE4wnaKWKsk/HLrDjZkT5hKfvmogt9b0yduP6zEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/global": "^5.0.0",
- "@storybook/react-dom-shim": "10.5.10",
+ "@storybook/react-dom-shim": "10.6.0",
"react-docgen": "^8.0.2",
"react-docgen-typescript": "^2.2.2"
},
@@ -5108,7 +5072,7 @@
"@types/react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
- "storybook": "^10.5.10",
+ "storybook": "^10.6.0",
"typescript": ">= 4.9.x"
},
"peerDependenciesMeta": {
@@ -5124,9 +5088,9 @@
}
},
"node_modules/@storybook/react-dom-shim": {
- "version": "10.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.5.10.tgz",
- "integrity": "sha512-rbu62ILo/VE3iXKmu+kWXFpD1H1Lwi0f19q/x7JnDsD2dxKS9w5znLEqPIq2qxpzi/wjjIb2iUP1cRG1d/9W5A==",
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.6.0.tgz",
+ "integrity": "sha512-ZE0l4xL6d00rKFeJhRDuh0t3r+/2ffhx47lIyaSWrTD5kuM3nDjKDxCIWwX4E3gLV+oNX8E1prXRMuEWJUJwJg==",
"dev": true,
"license": "MIT",
"funding": {
@@ -5138,7 +5102,7 @@
"@types/react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
- "storybook": "^10.5.10"
+ "storybook": "^10.6.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -5150,18 +5114,18 @@
}
},
"node_modules/@storybook/react-vite": {
- "version": "10.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-10.5.10.tgz",
- "integrity": "sha512-xOztxefUnqKeuyvcnjspqmlDnER4cExL+liltrpdXLPJVqfFNr9lgM49FyEPajzsUVG9W/vHJWjbaQGGu1UsYQ==",
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-10.6.0.tgz",
+ "integrity": "sha512-nc1dqnmjGOcDJvPCkAn4Hmu1gi7dNHHoibNmlBp0d1adosejELZxuNjHBkPl/KxZjbzP3jljQHnHB/guxd8e2g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "^0.7.0",
"@rollup/pluginutils": "^5.0.2",
- "@storybook/builder-vite": "10.5.10",
- "@storybook/react": "10.5.10",
+ "@storybook/builder-vite": "10.6.0",
+ "@storybook/react": "10.6.0",
"empathic": "^2.0.0",
- "magic-string": "^0.30.0",
+ "magic-string": "^1.1.0",
"react-docgen": "^8.0.2",
"resolve": "^1.22.8",
"tsconfig-paths": "^4.2.0"
@@ -5173,7 +5137,7 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
- "storybook": "^10.5.10",
+ "storybook": "^10.6.0",
"typescript": ">= 4.9.x",
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
},
@@ -5256,9 +5220,9 @@
"license": "MIT"
},
"node_modules/@testing-library/user-event": {
- "version": "14.6.1",
- "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz",
- "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==",
+ "version": "14.6.7",
+ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.7.tgz",
+ "integrity": "sha512-MPCpX8bxe8zS+JmmTwLp8jd0dy1rAm60Te/SL8JrQM3qvQJcBOs1d7IefJMyZzqM3EWBrDn/LWDt1BCGu4ASfg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5743,18 +5707,18 @@
}
},
"node_modules/@types/node": {
- "version": "26.4.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.0.tgz",
- "integrity": "sha512-faiGnoIrLH/V8cibOMEAZ8pMw6oXqSukl29ra4mN8GdaB2ZewzeaLj+INpV5N+Z1eKWzY+IzaIZH2EIR6YZRNQ==",
+ "version": "26.5.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-26.5.1.tgz",
+ "integrity": "sha512-CzNm2FezW4VR/LjG6yUdiEgLE/rAQ9Slj5gCu/C2VrdcW7I0ahNZ8DRbHT7zOZ6r3ONgd/bsQIeSaoDGrd1C6g==",
"license": "MIT",
"dependencies": {
- "undici-types": "~8.3.0"
+ "undici-types": "~8.9.0"
}
},
"node_modules/@types/react": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.18.tgz",
- "integrity": "sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==",
+ "version": "19.3.0",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.3.0.tgz",
+ "integrity": "sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5762,13 +5726,13 @@
}
},
"node_modules/@types/react-dom": {
- "version": "19.2.5",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.5.tgz",
- "integrity": "sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg==",
+ "version": "19.3.0",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.3.0.tgz",
+ "integrity": "sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==",
"dev": true,
"license": "MIT",
"peerDependencies": {
- "@types/react": "^19.2.0"
+ "@types/react": "^19.3.0"
}
},
"node_modules/@types/resolve": {
@@ -6346,19 +6310,6 @@
"node": ">= 0.6"
}
},
- "node_modules/acorn": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz",
- "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/agent-base": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
@@ -6931,16 +6882,6 @@
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
}
},
- "node_modules/astro/node_modules/magic-string": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.2.3.tgz",
- "integrity": "sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.5"
- }
- },
"node_modules/astro/node_modules/p-limit": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.2.tgz",
@@ -11360,9 +11301,9 @@
}
},
"node_modules/knip": {
- "version": "6.33.0",
- "resolved": "https://registry.npmjs.org/knip/-/knip-6.33.0.tgz",
- "integrity": "sha512-gMXWV2bqgJcdZKsaRgl1oH5V2J0VumhJ2ujfP4M6b9ftpca2BNpvlX3Dq++vVtEey7sU67EXCvZGNkQfG2w1RQ==",
+ "version": "6.35.1",
+ "resolved": "https://registry.npmjs.org/knip/-/knip-6.35.1.tgz",
+ "integrity": "sha512-22wnEnv4do2fvoeJsxpFCG/MBxReNxoCVBccaCl7suUJsG+F0UvxI9ycxZ9YgtLHSSjrZl5tOas0JZ/R1vJ93g==",
"dev": true,
"funding": [
{
@@ -11380,13 +11321,13 @@
"formatly": "^0.7.0",
"get-tsconfig": "4.14.3",
"jiti": "^2.7.0",
- "oxc-parser": "^0.147.0",
+ "oxc-parser": "^0.148.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.10",
+ "unbash": "^4.0.11",
"yaml": "^2.9.0",
"zod": "^4.4.3"
},
@@ -11399,9 +11340,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-android-arm-eabi": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.147.0.tgz",
- "integrity": "sha512-fOtoGvIoirkvxQVw9J1WJPxz571XPgLsPf9uhRD+PJteUnvrJHMDmK9pw2yZEGGyismtRoEsp+JcXUdF/JDMDw==",
+ "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==",
"cpu": [
"arm"
],
@@ -11416,9 +11357,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-android-arm64": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.147.0.tgz",
- "integrity": "sha512-emjQHOYJaomo4ykaXQ1EItunr/I94Nk01oqBmU4dSkKSTupIDx6OysVDf2e8Eytm77rb+4ZxzgElyWP7rcEX7A==",
+ "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==",
"cpu": [
"arm64"
],
@@ -11433,9 +11374,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-darwin-arm64": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.147.0.tgz",
- "integrity": "sha512-kXvBPJL7RmDPJ2mze/vXPPVQimCDtFr9OFLjf7dyhV5Dx64cgcXh9KKrA1sMWvCObvJll9CZZUO0FBlFwD0l6A==",
+ "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==",
"cpu": [
"arm64"
],
@@ -11450,9 +11391,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-darwin-x64": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.147.0.tgz",
- "integrity": "sha512-mgFF8pLU6R64LbT27lSrtVRspVC/3IcZ0qyIikzmi78Y3Ik2OPnlAHHI0UEBRcC3qmNgtjaef7zkFt7/uPxIcw==",
+ "version": "0.148.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.148.0.tgz",
+ "integrity": "sha512-6ZeklaamrMy4H2JmhvcJg6iip59tYILtuLaILxyAHT3l5FDxnI5ihVievAft5ZmAbqtlWHErOi1OpJK8gy1wcA==",
"cpu": [
"x64"
],
@@ -11467,9 +11408,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-freebsd-x64": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.147.0.tgz",
- "integrity": "sha512-v38aiF11qufOTBcCAKL4skgQf0zJ4NEvRlivq7B5kHrlyvjCLjvNrMtNWDTz1SDUL6/xVsJRmLDxv2e+Cp4oWw==",
+ "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==",
"cpu": [
"x64"
],
@@ -11484,9 +11425,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-arm-gnueabihf": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.147.0.tgz",
- "integrity": "sha512-AeIiBbwUaP0H1+4/qGW9l5qHecS/+XA5iMuieVcGb1T+tyc2dVGspFW13BWk/XrLsiGP/CiDJTJqAPLLCzZHkw==",
+ "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==",
"cpu": [
"arm"
],
@@ -11501,9 +11442,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-arm-musleabihf": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.147.0.tgz",
- "integrity": "sha512-/41MKPW4RgPY4DJco0NCF0RYX3IMZaVlRNMNzvhaxRavc7tN3Txm+qllZbh0aMRs0VHdgUlbI8TcAOiTai4TKg==",
+ "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==",
"cpu": [
"arm"
],
@@ -11518,9 +11459,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-arm64-gnu": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.147.0.tgz",
- "integrity": "sha512-bmpw/RPhVXgZbtb3xBDuwW5s8+LvZYdqcDSX/sP2ltL77aTio3DP/B5ZTwwgoJ6Mr9vJs4RrmgEKW9XkLNUU1g==",
+ "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==",
"cpu": [
"arm64"
],
@@ -11538,9 +11479,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-arm64-musl": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.147.0.tgz",
- "integrity": "sha512-gd7VX/FDVOw6mjQcu45iIcp4QkgybgJwh3a0OFG2NxmPCj628mQWD96QGu1kK8+mZF9qK4b/gIEyC63vQoB7+Q==",
+ "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==",
"cpu": [
"arm64"
],
@@ -11558,9 +11499,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-ppc64-gnu": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.147.0.tgz",
- "integrity": "sha512-HnAzcfki7dSUNHf510Q2NmbJlz8Ys7rn8l9l588Pkx0tYe1BHLZnmELIgqizJ4WPhHGSwN8Ce+B/menVxS3odA==",
+ "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==",
"cpu": [
"ppc64"
],
@@ -11578,9 +11519,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-riscv64-gnu": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.147.0.tgz",
- "integrity": "sha512-qlkOL6wT44U+fT5s/+sR6Shx0OdwvQF83JyIPZUxG/ovqZF5/7atOtjH+JPZ5/7ATQLbFBBSmghcy/+2NVB/ew==",
+ "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==",
"cpu": [
"riscv64"
],
@@ -11598,9 +11539,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-riscv64-musl": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.147.0.tgz",
- "integrity": "sha512-DlefD7L7sMXs/3hIBH23Egk0phj8kG0SA81dVGOQ3S1ekjOlmTLH2E+F2Thwfh1slKx6aH+lNc5fQYAw0GU7/g==",
+ "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==",
"cpu": [
"riscv64"
],
@@ -11618,9 +11559,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-s390x-gnu": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.147.0.tgz",
- "integrity": "sha512-Xqpagk/031IvZ4svrk2FF01YEqM/iN3MJV3SVZadKg/CsGlDCGoREqKHXYnoV5+8SfGe/m6RM1szXFLusTu/Uw==",
+ "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==",
"cpu": [
"s390x"
],
@@ -11638,9 +11579,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-x64-gnu": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.147.0.tgz",
- "integrity": "sha512-QioQOeUbI4ATUr0S2z88uA3Cds2R3Mm5Ge7U8XNYtlTb2GJF3rWlcj70z0AJhhOlbdm0YgVjqPBldUNbFylDIg==",
+ "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==",
"cpu": [
"x64"
],
@@ -11658,9 +11599,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-linux-x64-musl": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.147.0.tgz",
- "integrity": "sha512-NXy1tv/OdC+pPTwf9RiCZWPK53V/Xq/2cjSnjOSyKopajdaDqMIkgtDY+jXZemp2e8px5FeWfY2L2LwhKZQovg==",
+ "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==",
"cpu": [
"x64"
],
@@ -11678,9 +11619,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-openharmony-arm64": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.147.0.tgz",
- "integrity": "sha512-GpGWZ6oKz4bjCWW9Mz5pCaGPyk2Aaze6zEoaslIQqpSLtpx5pXj/ap5gUNb5Jn2LIbqWyjkGLX9yv3NMuNcBVQ==",
+ "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==",
"cpu": [
"arm64"
],
@@ -11695,9 +11636,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-win32-arm64-msvc": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.147.0.tgz",
- "integrity": "sha512-a8mlt7CC8z7LUdCfaxhff4kCd+vSjE+NEFL0cxA8ukfuSnvAto/pWTjytW4BuVLnQGcCVdHJwcRKOfs++H+tjw==",
+ "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==",
"cpu": [
"arm64"
],
@@ -11712,9 +11653,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-win32-ia32-msvc": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.147.0.tgz",
- "integrity": "sha512-M5ViVDBcFLnl2632AuuWuP35zEL5oikK1jTx8r3+902VEDeSNHxFZAB6RZyfZ7MU6Oi5QTOG8MmMkIeHsudSaw==",
+ "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==",
"cpu": [
"ia32"
],
@@ -11729,9 +11670,9 @@
}
},
"node_modules/knip/node_modules/@oxc-parser/binding-win32-x64-msvc": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.147.0.tgz",
- "integrity": "sha512-DUaE13OwnUSlHpLZNcC/nuT10ivlWqc5EZgsfgXuAmWYw0r3nDxGeLD1zlGwYwIgVk1/ZMAxoXpV+05stvbHaA==",
+ "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==",
"cpu": [
"x64"
],
@@ -11746,50 +11687,50 @@
}
},
"node_modules/knip/node_modules/@oxc-project/types": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.147.0.tgz",
- "integrity": "sha512-IJ3s6ltHLp45S0bh7phkX+gJO7A1Wuz2EaqpAhb8WjqDwbzMiWKHhyyT42tskaWjEYXtHtVCPpnBJVT9+dcRLg==",
+ "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==",
"dev": true,
"license": "MIT",
"funding": {
- "url": "https://github.com/sponsors/Boshen"
+ "url": "https://github.com/sponsors/oxc-project"
}
},
"node_modules/knip/node_modules/oxc-parser": {
- "version": "0.147.0",
- "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.147.0.tgz",
- "integrity": "sha512-5xaug6t7GfV3BO5Iv+xHW1rmQkDEQ3BEu3L8g3InsvWO5i8CYGc4tCZ2X985QcwWNycFJam+aOns6Nr2XAThTA==",
+ "version": "0.148.0",
+ "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.148.0.tgz",
+ "integrity": "sha512-syxUKHeUll89RIABQADcI7sikYrwyssvA6gj4phSSIPezKVM8yMaLAiLLSc7fmzVvrwybfFGFbW5zme9sX87rg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@oxc-project/types": "^0.147.0"
+ "@oxc-project/types": "^0.148.0"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"funding": {
- "url": "https://github.com/sponsors/Boshen"
+ "url": "https://github.com/sponsors/oxc-project"
},
"optionalDependencies": {
- "@oxc-parser/binding-android-arm-eabi": "0.147.0",
- "@oxc-parser/binding-android-arm64": "0.147.0",
- "@oxc-parser/binding-darwin-arm64": "0.147.0",
- "@oxc-parser/binding-darwin-x64": "0.147.0",
- "@oxc-parser/binding-freebsd-x64": "0.147.0",
- "@oxc-parser/binding-linux-arm-gnueabihf": "0.147.0",
- "@oxc-parser/binding-linux-arm-musleabihf": "0.147.0",
- "@oxc-parser/binding-linux-arm64-gnu": "0.147.0",
- "@oxc-parser/binding-linux-arm64-musl": "0.147.0",
- "@oxc-parser/binding-linux-ppc64-gnu": "0.147.0",
- "@oxc-parser/binding-linux-riscv64-gnu": "0.147.0",
- "@oxc-parser/binding-linux-riscv64-musl": "0.147.0",
- "@oxc-parser/binding-linux-s390x-gnu": "0.147.0",
- "@oxc-parser/binding-linux-x64-gnu": "0.147.0",
- "@oxc-parser/binding-linux-x64-musl": "0.147.0",
- "@oxc-parser/binding-openharmony-arm64": "0.147.0",
- "@oxc-parser/binding-win32-arm64-msvc": "0.147.0",
- "@oxc-parser/binding-win32-ia32-msvc": "0.147.0",
- "@oxc-parser/binding-win32-x64-msvc": "0.147.0"
+ "@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"
}
},
"node_modules/layout-base": {
@@ -12192,9 +12133,9 @@
}
},
"node_modules/lucide-react": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.38.0.tgz",
- "integrity": "sha512-xZCyBd/wiVUDactoCc+42TjL0aB7EBOXsuX+tjz+W/sGzw2KhHpL1NOH3FIaVUcpimvUBpIYfz34Ofj9S5JEzQ==",
+ "version": "1.45.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.45.0.tgz",
+ "integrity": "sha512-yH1ubCAduho9UR7oJhRXIQXogksRILBiTuZC4/bQIGeB9JOkxMlSuEHyyZpo1Z3S0yWJO2KTSUZbjiNvVxeOUw==",
"license": "ISC",
"peerDependencies": {
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -12211,13 +12152,13 @@
}
},
"node_modules/magic-string": {
- "version": "0.30.21",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
- "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.3.1.tgz",
+ "integrity": "sha512-rm91zr2Ou+XueDTohjQQjdQEcYM6zVi8KVUCG8Ec3vHwUEKrhSdCNyfuIywkA6hcCAteIn0ZOtAHA6eGpiX+Pg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.5"
+ "@jridgewell/sourcemap-codec": "^1.6.0"
}
},
"node_modules/magicast": {
@@ -13654,28 +13595,25 @@
}
},
"node_modules/playwright": {
- "version": "1.62.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.1.tgz",
- "integrity": "sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==",
+ "version": "1.63.0",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz",
+ "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.62.1"
+ "playwright-core": "1.63.0"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
"node": ">=20"
- },
- "optionalDependencies": {
- "fsevents": "2.3.2"
}
},
"node_modules/playwright-core": {
- "version": "1.62.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.1.tgz",
- "integrity": "sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==",
+ "version": "1.63.0",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz",
+ "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -13685,21 +13623,6 @@
"node": ">=20"
}
},
- "node_modules/playwright/node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
"node_modules/plist": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz",
@@ -14990,9 +14913,9 @@
"license": "ISC"
},
"node_modules/simple-icons": {
- "version": "16.29.0",
- "resolved": "https://registry.npmjs.org/simple-icons/-/simple-icons-16.29.0.tgz",
- "integrity": "sha512-4H94f5ZgcCcgJroc902TFlFdgPu2IU2eD7+WebN2Z14xKYrKHeJ4UQcZwzgSuH4Rgzw+jp7sbHl40NefuIEYsg==",
+ "version": "16.30.0",
+ "resolved": "https://registry.npmjs.org/simple-icons/-/simple-icons-16.30.0.tgz",
+ "integrity": "sha512-YX/HmgEqjpn5Zs3myzKp8ek5Ti+TdrkvNWn9skGLetg9tOg0cTjYizj9ESAYJn4xwc0GQYVGzQxBELDfbxq7WQ==",
"dev": true,
"funding": [
{
@@ -15076,9 +14999,9 @@
}
},
"node_modules/socks": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz",
- "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==",
+ "version": "2.8.10",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.10.tgz",
+ "integrity": "sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==",
"license": "MIT",
"dependencies": {
"ip-address": "^10.1.1",
@@ -15183,9 +15106,9 @@
}
},
"node_modules/storybook": {
- "version": "10.5.10",
- "resolved": "https://registry.npmjs.org/storybook/-/storybook-10.5.10.tgz",
- "integrity": "sha512-Rz8k9ejFHsi7lbtJTaxZlhCUz4GkbJIKEoKDjXeLfr/ZhXip73E6keKxW0KH8iGeKiCqHAbJCV4YIQrxTOLiig==",
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-10.6.0.tgz",
+ "integrity": "sha512-H48X6AURAFTpfN2zEux6vNesee5Oq8Gxj1IanYmblPZ218sfKSeyyerF1NC7GD7BrruoC8L4/cU0zII4y+d6zw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15193,7 +15116,7 @@
"@storybook/icons": "^2.0.2",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "6.9.1",
- "@testing-library/user-event": "^14.6.1",
+ "@testing-library/user-event": "^14.6.3",
"@vitest/expect": "3.2.4",
"@vitest/spy": "3.2.4",
"@webcontainer/env": "^1.1.1",
@@ -15873,9 +15796,9 @@
}
},
"node_modules/systeminformation": {
- "version": "5.33.8",
- "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.33.8.tgz",
- "integrity": "sha512-v4F6OGYGh7wDvV68YmjOmZwGixV9A/GQ7d2b84t0UF4CaOy9jipNWIJDkHqYDYiTPuiojqlwVQd0hfUKOUN7tQ==",
+ "version": "5.33.10",
+ "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.33.10.tgz",
+ "integrity": "sha512-/NXbMVASt2UbSVgmWto4aBTIAeuYY7zOELpZybmNxqpsrbo5uYHpuEPf5nkyrPng0uG5YOb+Yv6s0FyKY4mDQg==",
"license": "MIT",
"os": [
"darwin",
@@ -16289,9 +16212,9 @@
"license": "MIT"
},
"node_modules/unbash": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/unbash/-/unbash-4.0.10.tgz",
- "integrity": "sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==",
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/unbash/-/unbash-4.0.11.tgz",
+ "integrity": "sha512-FoSOKV7NEofQSkAefMVHam4ZPKYMxjAydxiV72UFEDNV/YofxjGfiZ2A9pZjdL/lRJzTjcu4PABo1JYJX8N5iQ==",
"dev": true,
"license": "ISC",
"engines": {
@@ -16315,9 +16238,9 @@
}
},
"node_modules/undici-types": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz",
- "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==",
+ "version": "8.9.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz",
+ "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==",
"license": "MIT"
},
"node_modules/unified": {
@@ -16454,22 +16377,6 @@
"node": ">= 0.8"
}
},
- "node_modules/unplugin": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz",
- "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/remapping": "^2.3.5",
- "acorn": "^8.15.0",
- "picomatch": "^4.0.3",
- "webpack-virtual-modules": "^0.6.2"
- },
- "engines": {
- "node": ">=18.12.0"
- }
- },
"node_modules/unstorage": {
"version": "1.17.5",
"resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz",
@@ -16836,13 +16743,6 @@
"tslib": "^2.8.1"
}
},
- "node_modules/webpack-virtual-modules": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
- "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -17084,7 +16984,7 @@
"license": "Apache-2.0",
"dependencies": {
"@agentclientprotocol/sdk": "1.4.0",
- "@earendil-works/pi-tui": "0.84.4",
+ "@earendil-works/pi-tui": "0.85.1",
"@maka/core": "0.1.0",
"@maka/eval": "0.1.0",
"@maka/mcp": "0.1.0",
@@ -17139,13 +17039,13 @@
"dependencies": {
"@maka/core": "0.1.0",
"@maka/runtime-host": "0.1.0",
- "undici": "^8.10.1"
+ "undici": "^8.10.2"
}
},
"packages/eval/node_modules/undici": {
- "version": "8.10.1",
- "resolved": "https://registry.npmjs.org/undici/-/undici-8.10.1.tgz",
- "integrity": "sha512-YQ3WlbqjYMmNpdvDH64jAgLjxuAR9+649calDWhbshYaeQGO2bR4nI94ORJmwI3J9YhoKQnpyGOK+0zlWS5N5Q==",
+ "version": "8.10.2",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.10.2.tgz",
+ "integrity": "sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==",
"license": "MIT",
"engines": {
"node": ">=22.19.0"
@@ -17179,7 +17079,7 @@
"@ai-sdk/openai": "4.0.66",
"@ai-sdk/openai-compatible": "3.0.48",
"@ai-sdk/provider": "4.0.14",
- "@larksuiteoapi/node-sdk": "1.73.0",
+ "@larksuiteoapi/node-sdk": "1.73.3",
"@maka/core": "0.1.0",
"@mozilla/readability": "^0.6.0",
"@openai/agents-core": "0.17.0",
@@ -17196,10 +17096,10 @@
"minisearch": "7.2.0",
"node-pty": "^1.2.0-beta.15",
"qrcode": "^1.5.4",
- "socks": "^2.8.9",
+ "socks": "^2.8.10",
"socks-proxy-agent": "^10.1.0",
"turndown": "^7.2.4",
- "undici": "^8.10.1",
+ "undici": "^8.10.2",
"ws": "^8.21.3",
"yaml": "^2.9.0",
"zod": "^4.5.4"
@@ -17220,7 +17120,7 @@
"@maka/core": "0.1.0",
"@maka/runtime": "0.1.0",
"@maka/storage": "0.1.0",
- "systeminformation": "^5.33.8",
+ "systeminformation": "^5.33.9",
"ws": "^8.21.3",
"yaml": "^2.9.0",
"zod": "^4.5.4"
@@ -17344,9 +17244,9 @@
}
},
"packages/runtime/node_modules/undici": {
- "version": "8.10.1",
- "resolved": "https://registry.npmjs.org/undici/-/undici-8.10.1.tgz",
- "integrity": "sha512-YQ3WlbqjYMmNpdvDH64jAgLjxuAR9+649calDWhbshYaeQGO2bR4nI94ORJmwI3J9YhoKQnpyGOK+0zlWS5N5Q==",
+ "version": "8.10.2",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.10.2.tgz",
+ "integrity": "sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==",
"license": "MIT",
"engines": {
"node": ">=22.19.0"
@@ -17366,18 +17266,18 @@
"version": "0.1.0",
"license": "Apache-2.0",
"dependencies": {
- "@astryxdesign/core": "0.5.2",
+ "@astryxdesign/core": "0.5.4",
"@maka/core": "0.1.0",
"clsx": "^2.1.1",
- "katex": "0.18.5",
- "lucide-react": "^1.38.0",
+ "katex": "0.18.7",
+ "lucide-react": "^1.42.0",
"mermaid": "^11.17.2",
"react": "^19.2.8",
"react-dom": "^19.2.8"
},
"devDependencies": {
"@types/react": "^19.2.18",
- "@types/react-dom": "^19.2.5",
+ "@types/react-dom": "^19.2.7",
"linkedom": "^0.18.13"
}
},
@@ -17391,9 +17291,9 @@
}
},
"packages/ui/node_modules/katex": {
- "version": "0.18.5",
- "resolved": "https://registry.npmjs.org/katex/-/katex-0.18.5.tgz",
- "integrity": "sha512-1FU5H3RjGJVj6GT9fMjf2uMIXmPQp232aXS3UEeQzf0dxefHg/CKMvNB3DuOC46LFG/E5PNxrE8dOwB782FDGg==",
+ "version": "0.18.7",
+ "resolved": "https://registry.npmjs.org/katex/-/katex-0.18.7.tgz",
+ "integrity": "sha512-h+UCwkZ+4Jz8WQ7MLGfj7UVFrRCizGb912fwF4luGdYsC5paYG1vx+jy+KRcC/XkpjGva/P7nAWuxNnPzRvzHw==",
"funding": [
"https://opencollective.com/katex",
"https://github.com/sponsors/katex"
@@ -17412,7 +17312,7 @@
"devDependencies": {
"@fontsource-variable/geist": "^5.3.0",
"@fontsource-variable/geist-mono": "^5.3.0",
- "@playwright/test": "^1.62.1",
+ "@playwright/test": "^1.63.0",
"astro": "^7.2.10",
"cookie": "2.0.1"
}
diff --git a/package.json b/package.json
index be83413c74..770f1d689f 100644
--- a/package.json
+++ b/package.json
@@ -111,14 +111,14 @@
},
"devDependencies": {
"@ai-sdk/provider-utils": "5.0.40",
- "@astryxdesign/cli": "0.5.2",
- "@astryxdesign/core": "0.5.2",
- "@biomejs/biome": "2.5.11",
+ "@astryxdesign/cli": "0.5.4",
+ "@astryxdesign/core": "0.5.4",
+ "@biomejs/biome": "2.5.12",
"@electron/asar": "4.3.0",
- "@types/node": "^26.4.0",
+ "@types/node": "^26.5.0",
"esbuild": "^0.28.1",
"husky": "^9.1.7",
- "knip": "^6.33.0",
+ "knip": "^6.34.0",
"patch-package": "8.0.1",
"typescript": "^7.0.2",
"yaml": "2.9.0"
diff --git a/packages/cli/THIRD_PARTY_NOTICES.txt b/packages/cli/THIRD_PARTY_NOTICES.txt
index edb50ca5ed..55f589ed0e 100644
--- a/packages/cli/THIRD_PARTY_NOTICES.txt
+++ b/packages/cli/THIRD_PARTY_NOTICES.txt
@@ -616,7 +616,7 @@ Apache License
================================================================================
-Package: @earendil-works/pi-tui@0.84.4
+Package: @earendil-works/pi-tui@0.85.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.0
+Package: @larksuiteoapi/node-sdk@1.73.3
Declared license: MIT
Selected license: MIT
Repository: https://github.com/larksuite/node-sdk.git
@@ -1723,7 +1723,7 @@ SOFTWARE.
================================================================================
-Package: @types/node@26.4.0
+Package: @types/node@26.5.1
Declared license: MIT
Selected license: MIT
Repository: https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/node
@@ -6873,7 +6873,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================================================
-Package: socks@2.8.9
+Package: socks@2.8.10
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/JoshGlazebrook/socks.git
@@ -6969,7 +6969,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
================================================================================
-Package: systeminformation@5.33.8
+Package: systeminformation@5.33.10
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/sebhildebrandt/systeminformation.git
@@ -7082,7 +7082,7 @@ SOFTWARE.
================================================================================
-Package: undici@8.10.1
+Package: undici@8.10.2
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/nodejs/undici.git
@@ -7112,7 +7112,7 @@ SOFTWARE.
================================================================================
-Package: undici-types@8.3.0
+Package: undici-types@8.9.0
Declared license: MIT
Selected license: MIT
Repository: git+https://github.com/nodejs/undici.git
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 7730b94c22..f61309962c 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -20,7 +20,7 @@
},
"dependencies": {
"@agentclientprotocol/sdk": "1.4.0",
- "@earendil-works/pi-tui": "0.84.4",
+ "@earendil-works/pi-tui": "0.85.1",
"@maka/core": "0.1.0",
"@maka/eval": "0.1.0",
"@maka/mcp": "0.1.0",
diff --git a/packages/cli/src/__tests__/tui-autocomplete-layout.test.ts b/packages/cli/src/__tests__/tui-autocomplete-layout.test.ts
index 72030a0ea1..8fdfaa8b05 100644
--- a/packages/cli/src/__tests__/tui-autocomplete-layout.test.ts
+++ b/packages/cli/src/__tests__/tui-autocomplete-layout.test.ts
@@ -36,6 +36,8 @@ test('an overlay hides the composer cursor and preserves its draft and border co
// Emit color even under NO_COLOR so accidental style loss remains detectable.
const borderColor = (text: string) => `${CYAN_FOREGROUND}${text}${RESET_FOREGROUND}`;
+ const normalizeAdjacentColorRuns = (text: string) =>
+ text.replaceAll(`${RESET_FOREGROUND}${CYAN_FOREGROUND}`, '');
const terminal = new FakeTerminal(WIDTH, 4);
const tui = new TuiMainScreen(terminal);
t.after(() => tui.stop());
@@ -59,11 +61,14 @@ test('an overlay hides the composer cursor and preserves its draft and border co
const expectedScreenRows = expectedRows.map(plainTerminalOutput);
assert.deepEqual(actualScreenRows, expectedScreenRows);
- // The real render retains the cursor, IME marker and per-character border colors.
- const actualComposerRows = composerRenderSpy.mock.calls.at(-1)?.result;
+ // The real render retains the cursor, IME marker and border colors. pi-tui
+ // may encode one color run per glyph or coalesce adjacent glyphs.
+ const actualComposerRows = composerRenderSpy.mock.calls
+ .at(-1)
+ ?.result?.map(normalizeAdjacentColorRuns);
const expectedComposerRows = expectedRows
.slice(1)
- .map((line) => line.replaceAll('─', borderColor('─')));
+ .map((line) => normalizeAdjacentColorRuns(line.replaceAll('─', borderColor('─'))));
assert.deepEqual(actualComposerRows, expectedComposerRows);
};
diff --git a/packages/eval/package.json b/packages/eval/package.json
index 62104106ec..cd2d06cc82 100644
--- a/packages/eval/package.json
+++ b/packages/eval/package.json
@@ -38,6 +38,6 @@
"dependencies": {
"@maka/core": "0.1.0",
"@maka/runtime-host": "0.1.0",
- "undici": "^8.10.1"
+ "undici": "^8.10.2"
}
}
diff --git a/packages/runtime-host/package.json b/packages/runtime-host/package.json
index aac1ce4427..f2338d5813 100644
--- a/packages/runtime-host/package.json
+++ b/packages/runtime-host/package.json
@@ -33,7 +33,7 @@
"@maka/core": "0.1.0",
"@maka/runtime": "0.1.0",
"@maka/storage": "0.1.0",
- "systeminformation": "^5.33.8",
+ "systeminformation": "^5.33.9",
"ws": "^8.21.3",
"yaml": "^2.9.0",
"zod": "^4.5.4"
diff --git a/packages/runtime/package.json b/packages/runtime/package.json
index 3c8da57741..ef57b0f16f 100644
--- a/packages/runtime/package.json
+++ b/packages/runtime/package.json
@@ -155,7 +155,7 @@
"@ai-sdk/openai": "4.0.66",
"@ai-sdk/openai-compatible": "3.0.48",
"@ai-sdk/provider": "4.0.14",
- "@larksuiteoapi/node-sdk": "1.73.0",
+ "@larksuiteoapi/node-sdk": "1.73.3",
"@maka/core": "0.1.0",
"@mozilla/readability": "^0.6.0",
"@openai/agents-core": "0.17.0",
@@ -172,10 +172,10 @@
"minisearch": "7.2.0",
"node-pty": "^1.2.0-beta.15",
"qrcode": "^1.5.4",
- "socks": "^2.8.9",
+ "socks": "^2.8.10",
"socks-proxy-agent": "^10.1.0",
"turndown": "^7.2.4",
- "undici": "^8.10.1",
+ "undici": "^8.10.2",
"ws": "^8.21.3",
"yaml": "^2.9.0",
"zod": "^4.5.4"
diff --git a/packages/ui/package.json b/packages/ui/package.json
index d31ad6d9ed..70432dd65d 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -26,18 +26,18 @@
"test:dist": "node --test \"dist/**/*.test.js\""
},
"dependencies": {
- "@astryxdesign/core": "0.5.2",
+ "@astryxdesign/core": "0.5.4",
"@maka/core": "0.1.0",
"clsx": "^2.1.1",
- "katex": "0.18.5",
- "lucide-react": "^1.38.0",
+ "katex": "0.18.7",
+ "lucide-react": "^1.42.0",
"mermaid": "^11.17.2",
"react": "^19.2.8",
"react-dom": "^19.2.8"
},
"devDependencies": {
"@types/react": "^19.2.18",
- "@types/react-dom": "^19.2.5",
+ "@types/react-dom": "^19.2.7",
"linkedom": "^0.18.13"
}
}
diff --git a/packages/ui/src/__tests__/composer-draft-caret-focus.test.tsx b/packages/ui/src/__tests__/composer-draft-caret-focus.test.tsx
index b9c76193a5..96432e290c 100644
--- a/packages/ui/src/__tests__/composer-draft-caret-focus.test.tsx
+++ b/packages/ui/src/__tests__/composer-draft-caret-focus.test.tsx
@@ -57,6 +57,7 @@ const originalGlobals = {
requestAnimationFrame: globalThis.requestAnimationFrame,
cancelAnimationFrame: globalThis.cancelAnimationFrame,
window: globalThis.window,
+ HTMLElement: globalThis.HTMLElement,
};
const originalActEnvironment = (globalThis as typeof globalThis & {
IS_REACT_ACT_ENVIRONMENT?: boolean;
@@ -120,9 +121,22 @@ function harness() {
let active: Element | null = null;
const selected: AimedRange[] = [];
const selection = {
+ get rangeCount(): number {
+ return selected.length;
+ },
get anchorNode(): Node | null {
return selected.at(-1)?.container ?? null;
},
+ getRangeAt(index: number): Range {
+ const aimed = selected[index];
+ assert.ok(aimed?.container);
+ const range = {
+ startContainer: aimed.container,
+ endContainer: aimed.container,
+ cloneRange: () => range,
+ };
+ return range as unknown as Range;
+ },
removeAllRanges() {
selected.length = 0;
},
@@ -138,11 +152,14 @@ function harness() {
};
document.getSelection = () => selection as unknown as Selection;
window.getSelection = () => selection as unknown as Selection;
+ const matchMedia = () => ({ matches: false, addEventListener() {}, removeEventListener() {} });
+ Object.assign(window, { matchMedia });
Object.defineProperty(document, 'activeElement', { configurable: true, get: () => active });
Object.assign(globalThis, {
document,
window,
- matchMedia: () => ({ matches: false, addEventListener() {}, removeEventListener() {} }),
+ HTMLElement: window.HTMLElement,
+ matchMedia,
requestAnimationFrame: () => 1,
cancelAnimationFrame() {},
IS_REACT_ACT_ENVIRONMENT: true,
diff --git a/packages/ui/src/__tests__/composer-model-picker-recovery.test.tsx b/packages/ui/src/__tests__/composer-model-picker-recovery.test.tsx
index 29f5856e24..c2bcad435e 100644
--- a/packages/ui/src/__tests__/composer-model-picker-recovery.test.tsx
+++ b/packages/ui/src/__tests__/composer-model-picker-recovery.test.tsx
@@ -55,6 +55,7 @@ test('the recovery handle opens the existing exact account-and-model picker', as
const original = {
document: globalThis.document,
window: globalThis.window,
+ HTMLElement: globalThis.HTMLElement,
matchMedia: globalThis.matchMedia,
requestAnimationFrame: globalThis.requestAnimationFrame,
cancelAnimationFrame: globalThis.cancelAnimationFrame,
@@ -68,10 +69,14 @@ test('the recovery handle opens the existing exact account-and-model picker', as
writingMode: 'horizontal-tb',
getPropertyValue: () => '',
}) as unknown as CSSStyleDeclaration;
+ window.getSelection = () => null;
+ const matchMedia = () => ({ matches: false, addEventListener() {}, removeEventListener() {} });
+ Object.assign(window, { matchMedia });
Object.assign(globalThis, {
document,
window,
- matchMedia: () => ({ matches: false, addEventListener() {}, removeEventListener() {} }),
+ HTMLElement: window.HTMLElement,
+ matchMedia,
requestAnimationFrame: () => 1,
cancelAnimationFrame() {},
IS_REACT_ACT_ENVIRONMENT: true,
diff --git a/packages/ui/src/__tests__/composer-running-attachments.test.tsx b/packages/ui/src/__tests__/composer-running-attachments.test.tsx
index 045beeef24..6226640cec 100644
--- a/packages/ui/src/__tests__/composer-running-attachments.test.tsx
+++ b/packages/ui/src/__tests__/composer-running-attachments.test.tsx
@@ -29,6 +29,8 @@ test('only an attachment-capable running-turn host accepts a pasted image', asyn
const original = {
document: globalThis.document,
window: globalThis.window,
+ HTMLElement: globalThis.HTMLElement,
+ matchMedia: globalThis.matchMedia,
IS_REACT_ACT_ENVIRONMENT: (globalThis as typeof globalThis & {
IS_REACT_ACT_ENVIRONMENT?: boolean;
}).IS_REACT_ACT_ENVIRONMENT,
@@ -40,7 +42,15 @@ test('only an attachment-capable running-turn host accepts a pasted image', asyn
getPropertyValue: () => '',
}) as unknown as CSSStyleDeclaration;
window.getSelection = () => null;
- Object.assign(globalThis, { document, window, IS_REACT_ACT_ENVIRONMENT: true });
+ const matchMedia = () => ({ matches: false, addEventListener() {}, removeEventListener() {} });
+ Object.assign(window, { matchMedia });
+ Object.assign(globalThis, {
+ document,
+ window,
+ HTMLElement: window.HTMLElement,
+ matchMedia,
+ IS_REACT_ACT_ENVIRONMENT: true,
+ });
const container = document.querySelector('#root');
assert.ok(container);
const root = createRoot(container);
diff --git a/patches/@astryxdesign+core+0.5.2.patch b/patches/@astryxdesign+core+0.5.4.patch
similarity index 94%
rename from patches/@astryxdesign+core+0.5.2.patch
rename to patches/@astryxdesign+core+0.5.4.patch
index 51d956e14d..1a57fd52ab 100644
--- a/patches/@astryxdesign+core+0.5.2.patch
+++ b/patches/@astryxdesign+core+0.5.4.patch
@@ -1,5 +1,5 @@
diff --git a/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.js b/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.js
-index 5046603..ec36a00 100644
+index 0bbc55c..a98b06e 100644
--- a/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.js
+++ b/node_modules/@astryxdesign/core/dist/Chat/ChatComposerInput.js
@@ -22,7 +22,7 @@
@@ -11,10 +11,10 @@ index 5046603..ec36a00 100644
import { createPortal } from 'react-dom';
import * as stylex from '@stylexjs/stylex';
import "../theme/tokens.stylex.js";
-@@ -207,7 +207,7 @@ export function ChatComposerInput(props) {
+@@ -261,7 +261,7 @@ export function ChatComposerInput(props) {
inputControlRef.current = null;
};
- }, [inputControlRef]);
+ }, [inputControlRef, focusEditableAtEnd]);
- useEffect(() => {
+ useLayoutEffect(() => {
if (controlledValue === undefined || !editableRef.current) {
@@ -41,7 +41,7 @@ index ff34874..0f5ae14 100644
export declare function ChatLayout({ children, composer, density, emptyState, scrollButton, scrollRef: externalScrollRef, xstyle, className, style, 'data-testid': testId, ref, ...rest }: ChatLayoutProps): import("react").JSX.Element;
export declare namespace ChatLayout {
diff --git a/node_modules/@astryxdesign/core/dist/Chat/ChatLayout.js b/node_modules/@astryxdesign/core/dist/Chat/ChatLayout.js
-index ff9b9fa..d20288e 100644
+index ff9b9fa..f681cd0 100644
--- a/node_modules/@astryxdesign/core/dist/Chat/ChatLayout.js
+++ b/node_modules/@astryxdesign/core/dist/Chat/ChatLayout.js
@@ -85,7 +85,8 @@ const styles = {
@@ -83,7 +83,7 @@ index ff9b9fa..d20288e 100644
...rest
}) {
@@ -205,7 +204,11 @@ export function ChatLayout({
-
+
// --- Default scroll behavior ---
const scroll = useChatStreamScroll({
- scrollRef: scrollContainerRef
@@ -96,10 +96,10 @@ index ff9b9fa..d20288e 100644
const newMsgs = useChatNewMessages({
isLocked: scroll.isLocked,
diff --git a/node_modules/@astryxdesign/core/dist/Chat/ChatToolCalls.js b/node_modules/@astryxdesign/core/dist/Chat/ChatToolCalls.js
-index 889970f..459e6e8 100644
+index 3c457d1..27cf2f0 100644
--- a/node_modules/@astryxdesign/core/dist/Chat/ChatToolCalls.js
+++ b/node_modules/@astryxdesign/core/dist/Chat/ChatToolCalls.js
-@@ -122,6 +122,7 @@ function CallRow({
+@@ -140,6 +140,7 @@ function CallRow({
const row = /*#__PURE__*/_jsxs("div", {
role: hasDetail ? 'button' : undefined,
tabIndex: hasDetail ? 0 : undefined,
@@ -245,7 +245,7 @@ index 82ae62c..a97eff5 100644
var displayName: string;
}
diff --git a/node_modules/@astryxdesign/core/dist/DropdownMenu/DropdownMenuItem.js b/node_modules/@astryxdesign/core/dist/DropdownMenu/DropdownMenuItem.js
-index 446e25b..00eb8b3 100644
+index 1975140..bf6cb77 100644
--- a/node_modules/@astryxdesign/core/dist/DropdownMenu/DropdownMenuItem.js
+++ b/node_modules/@astryxdesign/core/dist/DropdownMenu/DropdownMenuItem.js
@@ -91,6 +91,7 @@ const itemSizeStyles = {
@@ -431,6 +431,24 @@ index 36ed303..0184370 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 d56c18e..f8da853 100644
+--- a/node_modules/@astryxdesign/core/dist/Markdown/parser.js
++++ b/node_modules/@astryxdesign/core/dist/Markdown/parser.js
+@@ -1921,7 +1921,12 @@ export function parseMarkdownIncremental(input, state, arg) {
+ }
+ cache.settledEnd = nextSettledEnd;
+ }
+- const unsettledRaw = unsettledInput.trim();
++ // Before the first immutable boundary, preserve the current slice verbatim.
++ // A verified streaming prefix may end in a significant space; trimming it
++ // makes the presented prefix shorter than the host's settledText authority.
++ // Once a settled prefix exists, retain the incremental parser's existing
++ // tail normalization.
++ const unsettledRaw = oldSettledEnd === 0 && boundary < 0 ? unsettledInput : unsettledInput.trim();
+ // Structural trimming holds back lines that look like an incomplete list or
+ // table, which inside a fence is ordinary code: a TypeScript union or a `- `
+ // would disappear from the code block as it streams.
diff --git a/node_modules/@astryxdesign/core/dist/SideNav/SideNavItem.d.ts b/node_modules/@astryxdesign/core/dist/SideNav/SideNavItem.d.ts
index 158ada1..fe7be94 100644
--- a/node_modules/@astryxdesign/core/dist/SideNav/SideNavItem.d.ts
@@ -478,18 +496,6 @@ index 3d2cf00..c5c0d55 100644
id: `${id}-children`,
role: "group",
"aria-labelledby": `${id}-label`,
-diff --git a/node_modules/@astryxdesign/core/dist/astryx.css b/node_modules/@astryxdesign/core/dist/astryx.css
-index 0159f32..654948b 100644
---- a/node_modules/@astryxdesign/core/dist/astryx.css
-+++ b/node_modules/@astryxdesign/core/dist/astryx.css
-@@ -1280,6 +1280,7 @@
- .x1yn0g08:not(#\#):not(#\#):not(#\#){word-break:break-all}
- .x13faqbe:not(#\#):not(#\#):not(#\#){word-break:break-word}
- .x1lldw8n:not(#\#):not(#\#):not(#\#){word-break:normal}
-+ .maka-x-blur-behind:not(#\#):not(#\#):not(#\#){z-index:-1}
- .x1ja2u2z:not(#\#):not(#\#):not(#\#){z-index:0}
- .x1vjfegm:not(#\#):not(#\#):not(#\#){z-index:1}
- .xfo81ep:not(#\#):not(#\#):not(#\#){z-index:1000}
diff --git a/node_modules/@astryxdesign/core/dist/hooks/useStreamingText.d.ts b/node_modules/@astryxdesign/core/dist/hooks/useStreamingText.d.ts
index 7a35d1c..50ee70b 100644
--- a/node_modules/@astryxdesign/core/dist/hooks/useStreamingText.d.ts
@@ -660,7 +666,7 @@ 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 5a6a56b..df6a47f 100644
+index 2dd56a9..6f49a1d 100644
--- a/node_modules/@astryxdesign/core/src/Chat/ChatComposerInput.tsx
+++ b/node_modules/@astryxdesign/core/src/Chat/ChatComposerInput.tsx
@@ -28,6 +28,7 @@ import {
@@ -671,9 +677,9 @@ index 5a6a56b..df6a47f 100644
useImperativeHandle,
type ReactNode,
type KeyboardEvent,
-@@ -402,7 +403,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) {
+@@ -465,7 +466,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) {
};
- }, [inputControlRef]);
+ }, [inputControlRef, focusEditableAtEnd]);
- useEffect(() => {
+ useLayoutEffect(() => {
@@ -722,10 +728,10 @@ index d45a912..efec9fd 100644
WebkitMaskImage: 'linear-gradient(to bottom, transparent, black 48px)',
},
diff --git a/node_modules/@astryxdesign/core/src/Chat/ChatToolCalls.tsx b/node_modules/@astryxdesign/core/src/Chat/ChatToolCalls.tsx
-index f22bb1f..b710951 100644
+index 68a424e..7b7a17a 100644
--- a/node_modules/@astryxdesign/core/src/Chat/ChatToolCalls.tsx
+++ b/node_modules/@astryxdesign/core/src/Chat/ChatToolCalls.tsx
-@@ -399,6 +399,7 @@ function CallRow({call}: {call: ChatToolCallItem}) {
+@@ -413,6 +413,7 @@ function CallRow({call}: {call: ChatToolCallItem}) {