From e0b52ddd2af2e2241e5b4e0fd157d6e2b05dcfeb Mon Sep 17 00:00:00 2001 From: "Anthony Fu (via agent)" Date: Thu, 23 Jul 2026 09:11:54 +0000 Subject: [PATCH 1/2] feat(core): allow a group entry to override its in-group sub-category order MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A group's members currently sort their in-group sub-categories using the same shared DEFAULT_CATEGORIES_ORDER table as the outer dock bar. Add DevframeViewGroup.categoryOrder — a per-group Record override that reweights only that group's own sub-category split, leaving every other group and the outer bar on the shared table. The field is defined upstream in devframes/devframe#133 but not yet in a published @devframes/hub release, so it's shimmed locally via declaration merging on DevframeViewGroup until the dependency bumps past that release. --- docs/kit/dock-system.md | 18 ++++++++ .../state/__tests__/dock-groups.test.ts | 43 +++++++++++++++++++ .../webcomponents/state/dock-settings.ts | 35 ++++++++++----- packages/kit/src/types/docks.ts | 19 ++++++++ .../references/dock-entry-types.md | 13 ++++++ 5 files changed, 118 insertions(+), 10 deletions(-) diff --git a/docs/kit/dock-system.md b/docs/kit/dock-system.md index b3661132..73d921d8 100644 --- a/docs/kit/dock-system.md +++ b/docs/kit/dock-system.md @@ -76,6 +76,8 @@ interface DockEntry { groupId?: string /** Member opened when a group button is activated (for type: 'group') */ defaultChildId?: string + /** Per-group override of in-group sub-category order (for type: 'group') — see Categories inside a group */ + categoryOrder?: Record /** URL to load in the iframe (for type: 'iframe') */ url?: string /** Action configuration (for type: 'action') */ @@ -504,6 +506,22 @@ ctx.docks.register({ id: 'nuxt:graph', title: 'Graph', icon: 'ph:graph-duotone', An orphan member (its `groupId` matches no registered group) has no group to supply an outer bucket, so it falls back to its own `category`. +A group can reshuffle its own sub-category order with `categoryOrder`, a `Record` that overrides `DEFAULT_CATEGORIES_ORDER` for that group's members only — every other group and the outer dock-bar order are untouched: + +```ts +// 'advanced' now leads 'app' inside this group, reversing the shared default. +ctx.docks.register({ + id: 'nuxt', + title: 'Nuxt', + icon: 'logos:nuxt-icon', + type: 'group', + category: 'framework', + categoryOrder: { advanced: -1, app: 1 }, +}) +``` + +A sub-category the map omits keeps its weight from the shared table. + ### The built-in Vite+ group Vite DevTools seeds a built-in **Vite+** group that collects Vite ecosystem integrations under one button. Join it with the exported id: diff --git a/packages/core/src/client/webcomponents/state/__tests__/dock-groups.test.ts b/packages/core/src/client/webcomponents/state/__tests__/dock-groups.test.ts index 10289b3f..6dd0245d 100644 --- a/packages/core/src/client/webcomponents/state/__tests__/dock-groups.test.ts +++ b/packages/core/src/client/webcomponents/state/__tests__/dock-groups.test.ts @@ -178,6 +178,49 @@ describe('in-group sub-categories (dual role of `category`)', () => { }) }) +describe('per-group sub-category order override (group.categoryOrder)', () => { + // Same shape as the sub-category fixture above ('app' before 'advanced' by + // default), but the 'nuxt' group flips that with its own `categoryOrder`. + const entries: DevToolsDockEntry[] = [ + group('nuxt', { category: 'framework', categoryOrder: { advanced: -1, app: 1 } }), + iframe('nuxt:overview', { groupId: 'nuxt', category: 'app' }), + iframe('nuxt:graph', { groupId: 'nuxt', category: 'advanced' }), + group('other', { category: 'framework' }), + iframe('other:page', { groupId: 'other', category: 'app' }), + iframe('other:tools', { groupId: 'other', category: 'advanced' }), + ] + + it('reorders sub-categories inside the overriding group only', () => { + const sub = getGroupMembersGrouped(entries, 'nuxt', settings) + // 'advanced' (-1) now sorts ahead of 'app' (1) — the reverse of the default table + expect(sub.map(([c]) => c)).toEqual(['advanced', 'app']) + }) + + it('leaves other groups on the shared DEFAULT_CATEGORIES_ORDER table', () => { + const sub = getGroupMembersGrouped(entries, 'other', settings) + // unaffected by nuxt's override: default order is 'app' (100) before 'advanced' (400) + expect(sub.map(([c]) => c)).toEqual(['app', 'advanced']) + }) + + it('leaves the outer dock bar unaffected', () => { + const grouped = docksGroupByCategories(entries, settings, { collapseGroups: true }) + // both group buttons still sort by their own outer category ('framework'), untouched + expect(grouped.map(([c]) => c)).toEqual(['framework']) + }) + + it('falls back to the shared table for sub-categories the override omits', () => { + const partial: DevToolsDockEntry[] = [ + group('g', { category: 'framework', categoryOrder: { advanced: -1 } }), + iframe('g:a', { groupId: 'g', category: 'app' }), + iframe('g:b', { groupId: 'g', category: 'advanced' }), + iframe('g:c', { groupId: 'g', category: 'web' }), + ] + const sub = getGroupMembersGrouped(partial, 'g', settings) + // 'advanced' (-1, overridden) leads; 'app' (100) and 'web' (300) keep the shared order + expect(sub.map(([c]) => c)).toEqual(['advanced', 'app', 'web']) + }) +}) + describe('pinning re-buckets into the ~pinned category', () => { function categoryOf(grouped: ReturnType, id: string): string | undefined { return grouped.find(([, items]) => items.some(i => i.id === id))?.[0] diff --git a/packages/core/src/client/webcomponents/state/dock-settings.ts b/packages/core/src/client/webcomponents/state/dock-settings.ts index 32644742..aad97913 100644 --- a/packages/core/src/client/webcomponents/state/dock-settings.ts +++ b/packages/core/src/client/webcomponents/state/dock-settings.ts @@ -28,12 +28,16 @@ export const PINNED_CATEGORY_ORDER = -100000 /** * Resolve a category's sort weight, layering the local {@link PINNED_CATEGORY} - * override on top of the upstream {@link DEFAULT_CATEGORIES_ORDER} table. + * override, then a caller-supplied `overrides` map (a group's own + * {@link DevToolsViewGroup.categoryOrder}), on top of the upstream + * {@link DEFAULT_CATEGORIES_ORDER} table. `overrides` is per-call — passing a + * group's map only reweights that group's in-group sub-categories, never the + * outer bar or any other group. */ -function categoryOrder(category: string): number { +function categoryOrder(category: string, overrides?: Record): number { if (category === PINNED_CATEGORY) return PINNED_CATEGORY_ORDER - return DEFAULT_CATEGORIES_ORDER[category] || 0 + return overrides?.[category] ?? DEFAULT_CATEGORIES_ORDER[category] ?? 0 } export interface SplitGroupsResult { @@ -127,8 +131,11 @@ export function getEntryGroup( * lives in, so it never bleeds into the sub-category split here. A pinned member * moves to a `~pinned` sub-category (leading the group, via * {@link PINNED_CATEGORY_ORDER}). Sub-categories are ordered by the same - * {@link DEFAULT_CATEGORIES_ORDER} table as top-level categories, but they are - * not independently hideable (the outer category-hide toggle does not apply + * {@link DEFAULT_CATEGORIES_ORDER} table as top-level categories — unless the + * group entry itself sets {@link DevToolsViewGroup.categoryOrder}, whose + * weights take precedence for this group's sub-categories only, leaving every + * other group and the outer bar on the shared table. Sub-categories are not + * independently hideable (the outer category-hide toggle does not apply * inside a group). */ export function getGroupMembersGrouped( @@ -140,9 +147,11 @@ export function getGroupMembersGrouped( const members = entries.filter(e => e.type !== 'group' && e.groupId === groupId) if (!settings) return members.length ? [['default', members]] : [] + const group = entries.find((e): e is DevToolsViewGroup => e.type === 'group' && e.id === groupId) // Group by the members' own `category` (the in-group sub-category), never the // group's category. Category-hide is an outer-bar concern, so it is ignored. - return docksGroupByCategories(members, settings, { ...options, ignoreCategoryHidden: true }) + // The group's own `categoryOrder`, if set, reweights only this split. + return docksGroupByCategories(members, settings, { ...options, ignoreCategoryHidden: true, categoryOrderOverride: group?.categoryOrder }) } /** @@ -186,14 +195,20 @@ export function getGroupMembers( * Because the pinned bucket is chosen before the category-hide check and is * itself never hideable, a pinned entry stays visible even when its original * category is hidden. + * + * `categoryOrderOverride` reweights the categories produced by *this call* + * (used by {@link getGroupMembersGrouped} to apply a group's own + * {@link DevToolsViewGroup.categoryOrder} to its in-group sub-category split) + * — it never touches the shared {@link DEFAULT_CATEGORIES_ORDER} table, so it + * has no effect on any other call, group, or the outer bar. */ export function docksGroupByCategories( entries: DevToolsDockEntry[], settings: Immutable, - options?: { includeHidden?: boolean, whenContext?: WhenContext, collapseGroups?: boolean, ignoreCategoryHidden?: boolean }, + options?: { includeHidden?: boolean, whenContext?: WhenContext, collapseGroups?: boolean, ignoreCategoryHidden?: boolean, categoryOrderOverride?: Record }, ): DevToolsDockEntriesGrouped { const { docksHidden, docksCategoriesHidden, docksCustomOrder, docksPinned } = settings - const { includeHidden = false, whenContext, collapseGroups = false, ignoreCategoryHidden = false } = options ?? {} + const { includeHidden = false, whenContext, collapseGroups = false, ignoreCategoryHidden = false, categoryOrderOverride } = options ?? {} // Map every registered group id to its resolved outer category. A grouped // member's OUTER bucket is its group's category (the member's own `category` @@ -258,8 +273,8 @@ export function docksGroupByCategories( const grouped = Array .from(map.entries()) .sort(([a], [b]) => { - const ia = categoryOrder(a) - const ib = categoryOrder(b) + const ia = categoryOrder(a, categoryOrderOverride) + const ib = categoryOrder(b, categoryOrderOverride) return ib === ia ? b.localeCompare(a) : ia - ib }) diff --git a/packages/kit/src/types/docks.ts b/packages/kit/src/types/docks.ts index 98686dc8..8774d90d 100644 --- a/packages/kit/src/types/docks.ts +++ b/packages/kit/src/types/docks.ts @@ -43,6 +43,25 @@ declare module '@devframes/hub/types' { interface DevframeDockEntryRegistry { 'json-render': DevToolsViewJsonRender } + + /** + * Temporary shim for `DevframeViewGroup.categoryOrder` + * ({@link https://github.com/devframes/devframe/pull/133}), merged upstream + * but not yet in a published `@devframes/hub` release (pinned dep is + * `^0.7.11`). Lets a group entry override the sort order of its members' + * in-group sub-categories, scoped to that one group — every other group and + * the outer dock-bar ordering are untouched. Delete this augmentation once + * the dependency bumps past the release that carries the real field. + */ + interface DevframeViewGroup { + /** + * Sort-weight overrides for this group's in-group sub-categories, keyed + * by sub-category id. Lower sorts earlier, matching + * `DEFAULT_CATEGORIES_ORDER`; a sub-category absent from this map keeps + * its weight from the shared table (or `0` if it's not there either). + */ + categoryOrder?: Record + } } /** diff --git a/skills/vite-devtools-kit/references/dock-entry-types.md b/skills/vite-devtools-kit/references/dock-entry-types.md index 17d50de0..af60c071 100644 --- a/skills/vite-devtools-kit/references/dock-entry-types.md +++ b/skills/vite-devtools-kit/references/dock-entry-types.md @@ -419,3 +419,16 @@ ctx.docks.register({ id: 'nuxt', title: 'Nuxt', icon: 'logos:nuxt-icon', type: ' // Outer bucket = 'framework' (the group's); 'app' is the in-group sub-category. ctx.docks.register({ id: 'nuxt:overview', title: 'Overview', icon: 'ph:gauge-duotone', type: 'iframe', url: '/__nuxt/overview/', groupId: 'nuxt', category: 'app' }) ``` + +A group's `categoryOrder` (`Record`) overrides `DEFAULT_CATEGORIES_ORDER` for that group's own in-group sub-categories only — it never affects other groups or the outer bar. Omitted sub-categories keep their weight from the shared table: + +```ts +ctx.docks.register({ + id: 'nuxt', + title: 'Nuxt', + icon: 'logos:nuxt-icon', + type: 'group', + category: 'framework', + categoryOrder: { advanced: -1, app: 1 }, // 'advanced' now leads 'app' inside this group +}) +``` From 21078f4faa3a745c4130bebb6f8b9cadf005d31a Mon Sep 17 00:00:00 2001 From: "Anthony Fu (via agent)" Date: Fri, 24 Jul 2026 04:05:36 +0000 Subject: [PATCH 2/2] deps: upgrade @devframes/hub and devframe to 0.7.12, drop categoryOrder shim DevframeViewGroup.categoryOrder ships for real in @devframes/hub 0.7.12 (devframes/devframe#133), so the local declaration-merging shim from the previous commit is no longer needed. --- packages/kit/src/types/docks.ts | 19 --- pnpm-lock.yaml | 244 +++++++++++++------------------- pnpm-workspace.yaml | 4 +- 3 files changed, 104 insertions(+), 163 deletions(-) diff --git a/packages/kit/src/types/docks.ts b/packages/kit/src/types/docks.ts index 8774d90d..98686dc8 100644 --- a/packages/kit/src/types/docks.ts +++ b/packages/kit/src/types/docks.ts @@ -43,25 +43,6 @@ declare module '@devframes/hub/types' { interface DevframeDockEntryRegistry { 'json-render': DevToolsViewJsonRender } - - /** - * Temporary shim for `DevframeViewGroup.categoryOrder` - * ({@link https://github.com/devframes/devframe/pull/133}), merged upstream - * but not yet in a published `@devframes/hub` release (pinned dep is - * `^0.7.11`). Lets a group entry override the sort order of its members' - * in-group sub-categories, scoped to that one group — every other group and - * the outer dock-bar ordering are untouched. Delete this augmentation once - * the dependency bumps past the release that carries the real field. - */ - interface DevframeViewGroup { - /** - * Sort-weight overrides for this group's in-group sub-categories, keyed - * by sub-category id. Lower sorts earlier, matching - * `DEFAULT_CATEGORIES_ORDER`; a sub-category absent from this map keeps - * its weight from the shared table (or `0` if it's not there either). - */ - categoryOrder?: Record - } } /** diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f120cda8..aa037c14 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,8 +44,8 @@ catalogs: version: 0.3.1 deps: '@devframes/hub': - specifier: ^0.7.11 - version: 0.7.11 + specifier: ^0.7.12 + version: 0.7.12 '@devframes/json-render': specifier: ^0.7.11 version: 0.7.11 @@ -65,8 +65,8 @@ catalogs: specifier: ^4.0.0 version: 4.0.0 devframe: - specifier: ^0.7.11 - version: 0.7.11 + specifier: ^0.7.12 + version: 0.7.12 diff: specifier: ^9.0.0 version: 9.0.0 @@ -655,7 +655,7 @@ importers: version: 5.0.2(change-case@5.4.4)(focus-trap@8.2.2)(fuse.js@7.5.0)(idb-keyval@6.3.0)(vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@packages+core)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0))(vitepress@2.0.0-alpha.18(@types/node@25.0.3)(@vitejs/devtools@packages+core)(change-case@5.4.4)(esbuild@0.28.1)(fuse.js@7.5.0)(idb-keyval@6.3.0)(jiti@2.7.0)(postcss@8.5.20)(terser@5.44.1)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(vue@3.5.40(typescript@6.0.3)) devframe: specifier: catalog:deps - version: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + version: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) mermaid: specifier: catalog:docs version: 11.16.0 @@ -799,16 +799,16 @@ importers: dependencies: '@devframes/hub': specifier: catalog:deps - version: 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) + version: 0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) '@devframes/plugin-inspect': specifier: catalog:deps - version: 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5) + version: 0.7.11(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5) '@devframes/plugin-messages': specifier: catalog:deps - version: 0.7.11(@devframes/hub@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(vite@8.1.5) + version: 0.7.11(@devframes/hub@0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(vite@8.1.5) '@devframes/plugin-terminals': specifier: catalog:deps - version: 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(typescript@6.0.3)(vite@8.1.5) + version: 0.7.11(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(typescript@6.0.3)(vite@8.1.5) '@vitejs/devtools-kit': specifier: workspace:* version: link:../kit @@ -823,7 +823,7 @@ importers: version: 7.0.0 devframe: specifier: catalog:deps - version: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + version: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) h3: specifier: catalog:deps version: 2.0.1-rc.22(crossws@0.4.10(srvx@0.11.22)) @@ -902,13 +902,13 @@ importers: dependencies: '@devframes/hub': specifier: catalog:deps - version: 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) + version: 0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) '@devframes/json-render': specifier: catalog:deps - version: 0.7.11(@devframes/hub@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) + version: 0.7.11(@devframes/hub@0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) devframe: specifier: catalog:deps - version: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + version: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) local-pkg: specifier: catalog:deps version: 1.2.1 @@ -945,7 +945,7 @@ importers: version: 7.0.0 devframe: specifier: catalog:deps - version: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + version: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) local-pkg: specifier: catalog:deps version: 1.2.1 @@ -1085,7 +1085,7 @@ importers: version: 3.1.2 devframe: specifier: catalog:deps - version: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + version: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) diff-match-patch-es: specifier: catalog:frontend version: 2.0.0 @@ -1215,7 +1215,7 @@ importers: version: 3.1.2 devframe: specifier: catalog:deps - version: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + version: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) diff-match-patch-es: specifier: catalog:frontend version: 2.0.0 @@ -1280,7 +1280,7 @@ importers: devDependencies: tsdown: specifier: catalog:build - version: 0.22.13(@vitejs/devtools@0.4.4)(@volar/typescript@2.4.28)(oxc-resolver@11.23.0)(publint@0.3.21)(tsx@4.23.1)(typescript@6.0.3)(unrun@0.3.1(synckit@0.11.13))(vue-tsc@3.3.7(typescript@6.0.3)) + version: 0.22.13(@vitejs/devtools@0.4.5)(@volar/typescript@2.4.28)(oxc-resolver@11.23.0)(publint@0.3.21)(tsx@4.23.1)(typescript@6.0.3)(unrun@0.3.1(synckit@0.11.13))(vue-tsc@3.3.7(typescript@6.0.3)) tsx: specifier: catalog:build version: 4.23.1 @@ -1327,7 +1327,7 @@ importers: version: 6.0.8(vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@packages+core)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3)) devframe: specifier: catalog:deps - version: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@5.9.3) + version: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@5.9.3) storybook: specifier: catalog:storybook version: 10.5.3(@types/react@19.2.17)(prettier@2.8.8)(react@19.2.8) @@ -1650,16 +1650,16 @@ packages: peerDependencies: devframe: 0.6.2 - '@devframes/hub@0.7.10': - resolution: {integrity: sha512-IMRWNYZxYzSXG8XsFLcdtsCNVZM11pNUxLhHsuiI8m3MciLliSNrVkpoHRblFbRj0phG6fRRuEQajGikJ3xmiA==} - peerDependencies: - devframe: 0.7.10 - '@devframes/hub@0.7.11': resolution: {integrity: sha512-r+qyGg0Hu1w1q7mNDCmuZUryeZAi2sUC8FTwEbwjqPT5SGjWnIoj1rMmRbJIOIBaC+2ofOejTGel4jklmzHc3w==} peerDependencies: devframe: 0.7.11 + '@devframes/hub@0.7.12': + resolution: {integrity: sha512-mglXZHtN9lCDbgszZWagvGpbbjokiJeHQ0gmArTm0jaAWS4C4SH2mwWjUTSMeXFh2Nix7eqw2anuVloFc5Jogw==} + peerDependencies: + devframe: 0.7.12 + '@devframes/json-render@0.7.11': resolution: {integrity: sha512-Iza65fq6U9OSxKUEhGokfpfMz21ISLkWF9jeS0bQHugTLKRGcPRO/tu3YE+nTe6EiKP3kQFBvSNZ1FcZ1FPfSg==} peerDependencies: @@ -1669,15 +1669,6 @@ packages: '@devframes/hub': optional: true - '@devframes/json-render@0.7.9': - resolution: {integrity: sha512-VgUBkxyCG60wTMvihZpGwX9RZwhmhNf+znh/R0Dlwz602E74HtCD2J8jdWqKje4aia4KmmHFLLwWC/itmkfJZg==} - peerDependencies: - '@devframes/hub': 0.7.9 - devframe: 0.7.9 - peerDependenciesMeta: - '@devframes/hub': - optional: true - '@devframes/plugin-inspect@0.7.11': resolution: {integrity: sha512-eL1zFUqr65PFORTlBmdJuV7VlqUed5AXRG8SB9ofRyyiauvEWX31PUMD5g6DnZyJBztq97pCxiB0X4AIXNGmeg==} hasBin: true @@ -1688,16 +1679,6 @@ packages: vite: optional: true - '@devframes/plugin-inspect@0.7.9': - resolution: {integrity: sha512-pDt/cjOvc8hF0Qj4WwBo+drnGD9yy1ck/CCFr2wno+d6AlM+00rxTgP1cCecAckVRNPxeVzSmQ7rFo8Ep/zPIw==} - hasBin: true - peerDependencies: - devframe: 0.7.9 - vite: ^8.1.5 - peerDependenciesMeta: - vite: - optional: true - '@devframes/plugin-messages@0.7.11': resolution: {integrity: sha512-7Hbgtlo84g6gp5xUOzxKWuBVVBQmT5QswzQ3K2Ax6nZyYO9kGdjDrdGrIWxH5D3acEvzxJw1ixgoRDHPmNtQSQ==} hasBin: true @@ -1709,17 +1690,6 @@ packages: vite: optional: true - '@devframes/plugin-messages@0.7.9': - resolution: {integrity: sha512-WcKRQEPw+VAjbubEZx7gHZdaKMkN4FwGkGBHCoAfe/4rbY2Sl2l/KEIW6+og0y8luoxHWxmnmrus1Jkc9mRZow==} - hasBin: true - peerDependencies: - '@devframes/hub': 0.7.9 - devframe: 0.7.9 - vite: ^8.1.5 - peerDependenciesMeta: - vite: - optional: true - '@devframes/plugin-terminals@0.7.11': resolution: {integrity: sha512-eeUvY0IyBJ2Ao529Wwn/7tgXIrtVyXs5kfPRtsLiFq9/gAl4fmS0Lj4FXX0fpFFrbjraazj7Z9AIlBaPLVp83A==} hasBin: true @@ -1730,16 +1700,6 @@ packages: vite: optional: true - '@devframes/plugin-terminals@0.7.9': - resolution: {integrity: sha512-rvDtNCzZyMRvtd89IV8UHImI0fHGqa88DzP87zHVAUoscL1WSHv9bE8zXW5yKj/tJMpJziVIeGJKTbto07tIrQ==} - hasBin: true - peerDependencies: - devframe: 0.7.9 - vite: ^8.1.5 - peerDependenciesMeta: - vite: - optional: true - '@docsearch/css@4.6.3': resolution: {integrity: sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==} @@ -4681,28 +4641,28 @@ packages: peerDependencies: vite: ^8.1.5 - '@vitejs/devtools-kit@0.4.4': - resolution: {integrity: sha512-HwCjEzuCwCSkv3X4ZJCvQcO9qCaLm9uImYTw6TQ3z71jJTmqYn0UcJx8tqY23KgF/jPPbaYBSHYG3QSGZWqMNA==} + '@vitejs/devtools-kit@0.4.5': + resolution: {integrity: sha512-fBjJ8Dyv0XvtyxxWyraah3+WC+7QDePfRQZ60Hh+gS0KrbuvgxoESiBVikE5IG9hwy03WliOM4yPWO/sVRP3+A==} peerDependencies: vite: ^8.1.5 - '@vitejs/devtools-oxc@0.4.4': - resolution: {integrity: sha512-kOVwEGgItG4SppMKF36iG1VccZLDAE+iE+A5litv8prek2NadRzP0pvrIuIHN3hPg6uUgcXyGiS9Oa2Qspucog==} + '@vitejs/devtools-oxc@0.4.5': + resolution: {integrity: sha512-r/+vN4Wf2FAUkd8AJXhcULjBeXy5N6+kPwKT+5bfGIywF0pEcpy3ZsW//de7oliOYEvVIbNCI0QYL/r7ZedAlA==} hasBin: true '@vitejs/devtools-rolldown@0.3.4': resolution: {integrity: sha512-5MFcRpZIqL50A6Kb31jHaRDt1jg7WkdQUKx53deFZdp8DxRezzzwGBaYH00kK7fWJC1UDvlwROByHgavC/O52A==} - '@vitejs/devtools-rolldown@0.4.4': - resolution: {integrity: sha512-NvrX280YnZAnK8RJZIaHrv9SF16VsdukdJEAyen/C7FqFt93MkXTYWL4He2j1Jk/jwg0aos9Qn9lIgkpzymSnQ==} + '@vitejs/devtools-rolldown@0.4.5': + resolution: {integrity: sha512-2HuNKMUmrbDDe9MIvkFywptQPnOuLotQGq1b64EmjG2O8MoLrEQQ3w3S8xFZ4ez7vQo2HXQ+juAhPOgQ5I6GXg==} - '@vitejs/devtools-vite@0.4.4': - resolution: {integrity: sha512-hAsOLpap8jBlNYdXvn5CgiEUeH+jJg/KTZeITdBHfO57Zk7LD4HhaOd3y/ImEt8W41azXwAj9LYNeUwoBY3ZaQ==} + '@vitejs/devtools-vite@0.4.5': + resolution: {integrity: sha512-OT1knJOZaeXicPlVNinxWIvox2GeLpxq69wsHDRh2bTDFBRP2/++YhaAYDz+UvfvkvskdDMb4MBBo+RxQbzz5w==} peerDependencies: vite: ^8.1.5 - '@vitejs/devtools-vitest@0.4.4': - resolution: {integrity: sha512-1j0HUIWVnVi78fqbnaCaLy44Tl5lPn35WWAIA0k0qyCIlni27gH27DLtk1QJhUEizSDYe4Qn0n2p4t4ShIgavw==} + '@vitejs/devtools-vitest@0.4.5': + resolution: {integrity: sha512-FlMuL4V5CubxxCbJ39vy3vpsBoWUyffL/7yPTJToU4I8rfSisBdRrKMfIqrHofSJ8wlA4tLxqd9Bw1K8O/7PsA==} peerDependencies: vitest: '*' peerDependenciesMeta: @@ -4715,14 +4675,14 @@ packages: peerDependencies: vite: ^8.1.5 - '@vitejs/devtools@0.4.4': - resolution: {integrity: sha512-mNNEMYBHNg3EzIIADgZlOhqqeaXN1EUguxsh14pxZz4BiEfdXTcNy9KTWuOSfa0GKgMbWP4H7uUFNq6cz5gbog==} + '@vitejs/devtools@0.4.5': + resolution: {integrity: sha512-jBawA1bnLhlUYNmVBVP94rOzezsa68kTaYD1+zVExzHG1xNp4udYnbbKLjjRtaMlZAOYwahwqhblrdNyr/fqPA==} hasBin: true peerDependencies: - '@vitejs/devtools-oxc': ^0.4.4 - '@vitejs/devtools-rolldown': ^0.4.4 - '@vitejs/devtools-vite': ^0.4.4 - '@vitejs/devtools-vitest': ^0.4.4 + '@vitejs/devtools-oxc': ^0.4.5 + '@vitejs/devtools-rolldown': ^0.4.5 + '@vitejs/devtools-vite': ^0.4.5 + '@vitejs/devtools-vitest': ^0.4.5 vite: ^8.1.5 peerDependenciesMeta: '@vitejs/devtools-oxc': @@ -6060,8 +6020,8 @@ packages: cac: optional: true - devframe@0.7.9: - resolution: {integrity: sha512-ZWSHN5uk6KwCsrCXhu373kdBnk5kxkgxmGpD8tvv5DablgUOfWz+JrP4ufufTrns6PtQFP1Nh5S7sffWoLLp8w==} + devframe@0.7.12: + resolution: {integrity: sha512-MI5qT/N2gAWPygA6abRLd8zoB9fUpiBQTrbgaTlaLZ9tIT8wOvwLK2KT7nrQJODLrhmH7PSvlqubIGLqyjuUjQ==} peerDependencies: '@modelcontextprotocol/sdk': ^1.0.0 cac: ^7.0.0 @@ -10223,11 +10183,11 @@ snapshots: tinyexec: 1.2.4 zigpty: 0.2.1 - '@devframes/hub@0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))': + '@devframes/hub@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))': dependencies: birpc: 4.0.0 destr: 2.0.5 - devframe: 0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + devframe: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) nostics: 1.2.0 pathe: 2.0.3 perfect-debounce: 2.1.0 @@ -10235,11 +10195,11 @@ snapshots: zigpty: 0.2.1 optional: true - '@devframes/hub@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))': + '@devframes/hub@0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))': dependencies: birpc: 4.0.0 destr: 2.0.5 - devframe: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + devframe: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) nostics: 1.2.0 pathe: 2.0.3 perfect-debounce: 2.1.0 @@ -10254,16 +10214,16 @@ snapshots: zod: 4.3.6 optionalDependencies: '@devframes/hub': 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) + optional: true - '@devframes/json-render@0.7.9(@devframes/hub@0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))': + '@devframes/json-render@0.7.11(@devframes/hub@0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))': dependencies: '@json-render/core': 0.19.0(zod@4.3.6) - devframe: 0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + devframe: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) nostics: 1.2.0 zod: 4.3.6 optionalDependencies: - '@devframes/hub': 0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) - optional: true + '@devframes/hub': 0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) '@devframes/plugin-inspect@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5)': dependencies: @@ -10272,21 +10232,21 @@ snapshots: devframe: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) nostics: 1.2.0 optionalDependencies: - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.5)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - valibot + optional: true - '@devframes/plugin-inspect@0.7.9(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5)': + '@devframes/plugin-inspect@0.7.11(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5)': dependencies: '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(typescript@6.0.3)) cac: 7.0.0 - devframe: 0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + devframe: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) nostics: 1.2.0 optionalDependencies: - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - valibot - optional: true '@devframes/plugin-messages@0.7.11(@devframes/hub@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(vite@8.1.5)': dependencies: @@ -10295,17 +10255,17 @@ snapshots: devframe: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) nostics: 1.2.0 optionalDependencies: - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.5)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + optional: true - '@devframes/plugin-messages@0.7.9(@devframes/hub@0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(vite@8.1.5)': + '@devframes/plugin-messages@0.7.11(@devframes/hub@0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(vite@8.1.5)': dependencies: - '@devframes/hub': 0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) + '@devframes/hub': 0.7.12(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) cac: 7.0.0 - devframe: 0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + devframe: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) nostics: 1.2.0 optionalDependencies: - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) - optional: true + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) '@devframes/plugin-terminals@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(typescript@6.0.3)(vite@8.1.5)': dependencies: @@ -10318,25 +10278,25 @@ snapshots: valibot: 1.4.2(typescript@6.0.3) zigpty: 0.2.1 optionalDependencies: - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.5)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - typescript + optional: true - '@devframes/plugin-terminals@0.7.9(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(typescript@6.0.3)(vite@8.1.5)': + '@devframes/plugin-terminals@0.7.11(devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(typescript@6.0.3)(vite@8.1.5)': dependencies: '@xterm/addon-fit': 0.11.0 '@xterm/xterm': 6.0.0 cac: 7.0.0 - devframe: 0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + devframe: 0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) nostics: 1.2.0 pathe: 2.0.3 valibot: 1.4.2(typescript@6.0.3) zigpty: 0.2.1 optionalDependencies: - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.3.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - typescript - optional: true '@docsearch/css@4.6.3': {} @@ -13395,16 +13355,16 @@ snapshots: - srvx - typescript - '@vitejs/devtools-kit@0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)': + '@vitejs/devtools-kit@0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)': dependencies: - '@devframes/hub': 0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) - '@devframes/json-render': 0.7.9(@devframes/hub@0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) - devframe: 0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + '@devframes/hub': 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) + '@devframes/json-render': 0.7.11(@devframes/hub@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) + devframe: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) local-pkg: 1.2.1 mlly: 1.8.2 nostics: 1.2.0 nypm: 0.6.8 - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.5)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - '@modelcontextprotocol/sdk' - cac @@ -13412,11 +13372,11 @@ snapshots: - typescript optional: true - '@vitejs/devtools-oxc@0.4.4(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)': + '@vitejs/devtools-oxc@0.4.5(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)': dependencies: - '@vitejs/devtools-kit': 0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) + '@vitejs/devtools-kit': 0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) cac: 7.0.0 - devframe: 0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + devframe: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) local-pkg: 1.2.1 nostics: 1.2.0 pathe: 2.0.3 @@ -13488,11 +13448,11 @@ snapshots: - webpack optional: true - '@vitejs/devtools-rolldown@0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)(vue@3.5.40(typescript@6.0.3))': + '@vitejs/devtools-rolldown@0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)(vue@3.5.40(typescript@6.0.3))': dependencies: '@floating-ui/dom': 1.8.0 '@rolldown/debug': 1.2.0 - '@vitejs/devtools-kit': 0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) + '@vitejs/devtools-kit': 0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) d3-shape: 3.2.0 diff: 9.0.0 nostics: 1.2.0 @@ -13507,16 +13467,16 @@ snapshots: - vue optional: true - '@vitejs/devtools-vite@0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)': + '@vitejs/devtools-vite@0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)': dependencies: '@floating-ui/dom': 1.8.0 - '@vitejs/devtools-kit': 0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) + '@vitejs/devtools-kit': 0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) d3-shape: 3.2.0 envinfo: 7.21.0 nostics: 1.2.0 pathe: 2.0.3 perfect-debounce: 2.1.0 - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.5)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - '@modelcontextprotocol/sdk' - cac @@ -13524,9 +13484,9 @@ snapshots: - typescript optional: true - '@vitejs/devtools-vitest@0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)(vitest@4.1.10)': + '@vitejs/devtools-vitest@0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)(vitest@4.1.10)': dependencies: - '@vitejs/devtools-kit': 0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) + '@vitejs/devtools-kit': 0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) get-port-please: 3.2.0 local-pkg: 1.2.1 nostics: 1.2.0 @@ -13595,29 +13555,29 @@ snapshots: - webpack optional: true - '@vitejs/devtools@0.4.4(@vitejs/devtools-oxc@0.4.4)(@vitejs/devtools-rolldown@0.4.4)(@vitejs/devtools-vite@0.4.4)(@vitejs/devtools-vitest@0.4.4)(crossws@0.4.10(srvx@0.11.22))(srvx@0.11.22)(typescript@6.0.3)(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5)': + '@vitejs/devtools@0.4.5(@vitejs/devtools-oxc@0.4.5)(@vitejs/devtools-rolldown@0.4.5)(@vitejs/devtools-vite@0.4.5)(@vitejs/devtools-vitest@0.4.5)(crossws@0.4.10(srvx@0.11.22))(srvx@0.11.22)(typescript@6.0.3)(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5)': dependencies: - '@devframes/hub': 0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) - '@devframes/plugin-inspect': 0.7.9(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5) - '@devframes/plugin-messages': 0.7.9(@devframes/hub@0.7.10(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(vite@8.1.5) - '@devframes/plugin-terminals': 0.7.9(devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(typescript@6.0.3)(vite@8.1.5) - '@vitejs/devtools-kit': 0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) + '@devframes/hub': 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)) + '@devframes/plugin-inspect': 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5) + '@devframes/plugin-messages': 0.7.11(@devframes/hub@0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)))(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(vite@8.1.5) + '@devframes/plugin-terminals': 0.7.11(devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3))(typescript@6.0.3)(vite@8.1.5) + '@vitejs/devtools-kit': 0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) birpc: 4.0.0 cac: 7.0.0 - devframe: 0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) + devframe: 0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3) h3: 2.0.1-rc.22(crossws@0.4.10(srvx@0.11.22)) local-pkg: 1.2.1 mlly: 1.8.2 nostics: 1.2.0 obug: 2.1.4 pathe: 2.0.3 - vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) + vite: 8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.5)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0) vue: 3.5.40(typescript@6.0.3) optionalDependencies: - '@vitejs/devtools-oxc': 0.4.4(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) - '@vitejs/devtools-rolldown': 0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)(vue@3.5.40(typescript@6.0.3)) - '@vitejs/devtools-vite': 0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) - '@vitejs/devtools-vitest': 0.4.4(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)(vitest@4.1.10) + '@vitejs/devtools-oxc': 0.4.5(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) + '@vitejs/devtools-rolldown': 0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)(vue@3.5.40(typescript@6.0.3)) + '@vitejs/devtools-vite': 0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5) + '@vitejs/devtools-vitest': 0.4.5(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3)(vite@8.1.5)(vitest@4.1.10) transitivePeerDependencies: - '@modelcontextprotocol/sdk' - crossws @@ -15082,7 +15042,7 @@ snapshots: - srvx - typescript - devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@5.9.3): + devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3): dependencies: '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(typescript@6.0.3)) birpc: 4.0.0 @@ -15093,14 +15053,15 @@ snapshots: nostics: 1.2.0 pathe: 2.0.3 ufo: 1.6.4 - valibot: 1.4.2(typescript@5.9.3) + valibot: 1.4.2(typescript@6.0.3) optionalDependencies: cac: 7.0.0 transitivePeerDependencies: - srvx - typescript + optional: true - devframe@0.7.11(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3): + devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@5.9.3): dependencies: '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(typescript@6.0.3)) birpc: 4.0.0 @@ -15111,14 +15072,14 @@ snapshots: nostics: 1.2.0 pathe: 2.0.3 ufo: 1.6.4 - valibot: 1.4.2(typescript@6.0.3) + valibot: 1.4.2(typescript@5.9.3) optionalDependencies: cac: 7.0.0 transitivePeerDependencies: - srvx - typescript - devframe@0.7.9(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3): + devframe@0.7.12(cac@7.0.0)(srvx@0.11.22)(typescript@6.0.3): dependencies: '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(typescript@6.0.3)) birpc: 4.0.0 @@ -15135,7 +15096,6 @@ snapshots: transitivePeerDependencies: - srvx - typescript - optional: true devlop@1.1.0: dependencies: @@ -18747,7 +18707,7 @@ snapshots: - oxc-resolver - vue-tsc - tsdown@0.22.13(@vitejs/devtools@0.4.4)(@volar/typescript@2.4.28)(oxc-resolver@11.23.0)(publint@0.3.21)(tsx@4.23.1)(typescript@6.0.3)(unrun@0.3.1(synckit@0.11.13))(vue-tsc@3.3.7(typescript@6.0.3)): + tsdown@0.22.13(@vitejs/devtools@0.4.5)(@volar/typescript@2.4.28)(oxc-resolver@11.23.0)(publint@0.3.21)(tsx@4.23.1)(typescript@6.0.3)(unrun@0.3.1(synckit@0.11.13))(vue-tsc@3.3.7(typescript@6.0.3)): dependencies: ansis: 4.3.1 cac: 7.0.0 @@ -18765,7 +18725,7 @@ snapshots: unconfig-core: 7.5.0 verkit: 0.1.2 optionalDependencies: - '@vitejs/devtools': 0.4.4(@vitejs/devtools-oxc@0.4.4)(@vitejs/devtools-rolldown@0.4.4)(@vitejs/devtools-vite@0.4.4)(@vitejs/devtools-vitest@0.4.4)(crossws@0.4.10(srvx@0.11.22))(srvx@0.11.22)(typescript@6.0.3)(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5) + '@vitejs/devtools': 0.4.5(@vitejs/devtools-oxc@0.4.5)(@vitejs/devtools-rolldown@0.4.5)(@vitejs/devtools-vite@0.4.5)(@vitejs/devtools-vitest@0.4.5)(crossws@0.4.10(srvx@0.11.22))(srvx@0.11.22)(typescript@6.0.3)(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5) publint: 0.3.21 tsx: 4.23.1 typescript: 6.0.3 @@ -19379,7 +19339,7 @@ snapshots: tsx: 4.23.1 yaml: 2.9.0 - vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0): + vite@8.1.5(@types/node@25.0.3)(@vitejs/devtools@0.4.5)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.44.1)(tsx@4.23.1)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.5 @@ -19388,7 +19348,7 @@ snapshots: tinyglobby: 0.2.17 optionalDependencies: '@types/node': 25.0.3 - '@vitejs/devtools': 0.4.4(@vitejs/devtools-oxc@0.4.4)(@vitejs/devtools-rolldown@0.4.4)(@vitejs/devtools-vite@0.4.4)(@vitejs/devtools-vitest@0.4.4)(crossws@0.4.10(srvx@0.11.22))(srvx@0.11.22)(typescript@6.0.3)(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5) + '@vitejs/devtools': 0.4.5(@vitejs/devtools-oxc@0.4.5)(@vitejs/devtools-rolldown@0.4.5)(@vitejs/devtools-vite@0.4.5)(@vitejs/devtools-vitest@0.4.5)(crossws@0.4.10(srvx@0.11.22))(srvx@0.11.22)(typescript@6.0.3)(valibot@1.4.2(typescript@6.0.3))(vite@8.1.5) esbuild: 0.28.1 fsevents: 2.3.3 jiti: 2.7.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a5661d24..91484a21 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -61,7 +61,7 @@ catalogs: unrun: ^0.3.1 vite: ^8.1.5 deps: - '@devframes/hub': ^0.7.11 + '@devframes/hub': ^0.7.12 '@devframes/json-render': ^0.7.11 '@devframes/plugin-inspect': ^0.7.11 '@devframes/plugin-messages': ^0.7.11 @@ -70,7 +70,7 @@ catalogs: actionspack: ^0.1.5 birpc: ^4.0.0 cac: ^7.0.0 - devframe: ^0.7.11 + devframe: ^0.7.12 diff: ^9.0.0 envinfo: ^7.21.0 get-port-please: ^3.2.0