Files
desktop/pnpm-workspace.yaml
zeekay 7b14406063 Move to @hanzo/app 0.3.0 and @hanzo/ai 0.7.0
The main window mounts @hanzo/app's Host (was Rooms) and types its window
bar as Titlebar (was Bar). The window's own component in host.tsx is now
Main, so it no longer shares a name with the SDK's Host.

Catalog: @hanzo/app 0.3.0 and @hanzo/ai 0.7.0, excluded from the release-age
hold; app 0.3.0's peers raise @hanzo/appearance to 0.2.12, @hanzo/build to
0.2.86 and @hanzo/ui to 8.29.26. ui 8.29.26 asks @hanzo/event >= 0.3.63, and
build 0.2.86 no longer exports `prompt`, which @hanzo/studio 0.1.3 imports,
so event moves to 0.3.63 and studio to 0.1.8 (the versions hanzo-inc/app
pins). public/memoji, a new asset tree 0.3.0 ships, is ignored like the rest.

Comments and LLM.md say @hanzo/app instead of @hanzo/rooms.

Claude-Session: https://claude.ai/code/session_015XYKLjZtDTJEnMo4eK3AFH
2026-10-30 00:59:12 -07:00

368 lines
12 KiB
YAML

# pnpm 11 reads settings from THIS file, not package.json's `pnpm` field.
# The overrides below are the ones the lockfile was resolved under — losing
# this file silently drops them and pulls real react-native into an app that
# renders on @hanzogui/react-native-web-lite.
# pnpm 11 no longer reads .npmrc's shamefully-hoist; declare it here or katex
# (and every other transitively-reached asset) stops resolving from libs/.
shamefullyHoist: true
# The repo installs ONCE at the root; apps/* are packages of that install.
# Declaring them makes `pnpm run` inside apps/hanzo-desktop see the root
# `node_modules/.bin` — without this file only `npm run` did, so the same script
# worked under one package manager and failed under the other.
#
# libs/* are deliberately NOT listed: they are compiled from source through the
# `@hanzo/desktop-*` tsconfig `paths` mapping, never installed as packages, and
# listing them makes pnpm try to fetch their unpublished names from the registry.
packages:
- apps/*
overrides:
'@noble/hashes': '1.8.0'
'zod': '^4.5.2'
react-reconciler: '^0.33.0'
ink: '^7.1.1'
'@radix-ui/react-primitive': '^2.1.10'
refractor>prismjs: 1.30.0
# Tracks the direct @hanzogui/react-native-web-lite dependency. A stale major
# here is the dual-copy footgun the 8.x convergence exists to kill: the
# override feeds every transitive `react-native`, the direct dep feeds ours.
react-native: npm:@hanzogui/react-native-web-lite@^8.0.0
# Security floors, one per MAJOR that is actually installed — a blanket
# `minimatch: >=10` would drag every package pinned at ^3 onto a different
# API. Derived from the Dependabot advisories' own per-major ranges; a line
# goes when its advisory does.
'ajv@8': '>=8.18.0'
'brace-expansion@1': '>=1.1.16'
'brace-expansion@2': '>=2.1.2'
brace-expansion: '>=5.0.7'
'dompurify@3': '>=3.4.13'
'esbuild@0': '>=0.28.1'
'fast-uri@3': '>=3.1.5'
'fast-xml-parser@5': '>=5.10.1'
'form-data@4': '>=4.0.6'
'ip-address@10': '>=10.3.1'
'js-yaml@3': '>=3.15.1'
js-yaml: '4.1.1'
'lodash@4': '>=4.18.0'
'lodash-es@4': '>=4.18.0'
'mermaid@11': '>=11.16.1'
'minimatch@10': '>=10.2.3'
'nanoid@3': '>=3.3.18'
'piscina@4': '>=4.9.3'
'postcss@8': '>=8.5.23'
'protocol-buffers-schema@3': '>=3.6.1'
'react-router@7': '>=7.18.2'
'rollup@4': '>=4.59.0'
'sharp@0': '>=0.35.0'
'tar@7': '>=7.5.18'
'tmp@0': '>=0.2.6'
'ts-deepmerge@8': '>=8.0.0'
'undici@6': '>=6.28.0'
undici: '>=7.29.0'
uuid: '>=11.1.1'
serialize-javascript: '>=7.0.5'
'yaml@2': '>=2.8.3'
allowBuilds:
'@swc/core': true
cypress: false
edgedriver: false
es5-ext: false
esbuild: true
geckodriver: false
sharp: true
unrs-resolver: true
minimumReleaseAgeExclude:
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzogui/[email protected]'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
catalog:
# The main window is hanzo.ai's app (@hanzo/app App), so this block pins
# the same stack hanzo-inc/app's catalog does. Move them together.
'@hanzo/ai': '0.7.0'
'@hanzo/appearance': '0.2.12'
'@hanzo/brand': '1.4.8'
'@hanzo/build': '0.2.86'
'@hanzo/composer': '0.2.0'
'@hanzo/data': '1.2.4'
'@hanzo/design': '0.5.35'
'@hanzo/event': '0.3.63'
'@hanzo/font': '1.9.3'
'@hanzo/gui': '8.3.5'
'@hanzo/iam': '0.21.35'
'@hanzo/personas': '1.0.5'
'@hanzo/plans': '1.8.17'
'@hanzo/app': '0.3.0'
'@hanzo/studio': '0.1.8'
'@hanzo/tabs': '0.1.7'
'@hanzo/logo': '1.0.26'
'@hanzo/pay': '0.1.2'
'@hanzo/ui': '8.29.26'
'@hanzo/usage': '0.1.18'
'@hanzo/voice': '0.1.19'
'@hanzogui/config': '8.3.5'
'@hanzogui/core': '8.3.5'
'@hanzogui/lucide-icons-2': '8.3.5'
'@hanzogui/next-theme': '8.3.5'
'@hanzogui/react-native-svg': '8.3.5'
'@hanzogui/react-native-web-lite': '8.3.5'
'@hanzogui/shell': '8.3.21'
'@hanzogui/web': '8.3.5'
'@hookform/resolvers': '^5.9.1'
'@lobehub/i18n-cli': '^1.27.0'
'@luxfi/crypto': '0.1.0'
'@luxwallet/chains': '^0.1.0'
'@luxwallet/connect': '^0.2.0'
'@luxwallet/rpc': '^0.1.0'
'@luxwallet/store': '^0.1.0'
'@noble/ed25519': '^3.2.0'
'@noble/hashes': '1.8.0'
'@peculiar/webcrypto': '^1.7.1'
'@playwright/test': '^1.62.1'
'@radix-ui/react-dialog': '^1.1.23'
'@radix-ui/react-toggle': '^1.1.18'
'@react-native/normalize-color': '^2.1.0'
'@rjsf/core': '^5.24.13'
'@rjsf/utils': '^5.24.13'
'@rjsf/validator-ajv8': '^5.24.13'
'@streamdown/code': '^1.1.1'
'@streamdown/math': '^1.0.2'
'@streamdown/mermaid': '^1.0.2'
'@swc-node/register': '^1.12.1'
'@swc/cli': '^0.8.1'
'@swc/core': '^1.16.1'
'@swc/helpers': '^0.5.23'
'@tailwindcss/postcss': '^4.3.3'
'@tailwindcss/typography': '^0.5.20'
'@tailwindcss/vite': '^4.3.0'
'@tanstack/react-query': '^5.102.8'
'@tanstack/react-query-devtools': '^5.102.8'
'@tanstack/react-virtual': '^3.14.10'
'@tauri-apps/api': '^2.11.1'
'@tauri-apps/cli': '^2.11.4'
'@tauri-apps/plugin-dialog': '^2.7.2'
'@tauri-apps/plugin-fs': '^2.5.1'
'@tauri-apps/plugin-http': '^2.5.9'
'@tauri-apps/plugin-log': '^2.9.0'
'@tauri-apps/plugin-notification': '^2.3.3'
'@tauri-apps/plugin-opener': '^2.5.4'
'@tauri-apps/plugin-os': '^2.3.2'
'@tauri-apps/plugin-process': '^2.3.1'
'@tauri-apps/plugin-shell': '^2.3.5'
'@tauri-apps/plugin-updater': '^2.10.1'
'@testing-library/dom': '^10.4.1'
'@testing-library/jest-dom': '^7.0.1'
'@testing-library/react': '^16.3.3'
'@testing-library/user-event': '^14.6.6'
'@types/fs-extra': '^11.0.4'
'@types/libsodium-wrappers-sumo': '^0.8.2'
'@types/node': '26.4.0'
'@types/react': '19.2.18'
'@types/react-dom': '19.2.5'
'@types/react-plotly.js': '^2.6.4'
'@types/react-syntax-highlighter': '^15.5.13'
'@types/sql.js': '^1.4.11'
'@typescript-eslint/eslint-plugin': '^8.68.0'
'@typescript-eslint/parser': '^8.68.0'
'@vitejs/plugin-react': '^6.0.2'
'@vitest/coverage-v8': '^4.1.11'
'@vitest/eslint-plugin': '^1.6.27'
'@vitest/ui': '^4.1.11'
'@wdio/cli': '^9.31.4'
'@wdio/globals': '^9.31.3'
'@wdio/local-runner': '^9.31.4'
'@wdio/mocha-framework': '^9.31.2'
'@wdio/spec-reporter': '^9.31.2'
'@wdio/types': '^9.31.2'
'axios': '^1.20.0'
'boring-avatars': '^2.0.4'
'cheerio': '^1.2.0'
'class-variance-authority': '^0.7.1'
'clsx': '^2.1.1'
'consola': '^3.4.2'
'cronstrue': '^3.24.0'
'curve25519-js': '^0.0.4'
'date-fns': '^4.4.0'
'eslint': '^10.9.1'
'eslint-config-prettier': '^10.1.8'
'eslint-plugin-import-x': '^4.17.1'
'eslint-plugin-jsx-a11y': '^6.10.2'
'eslint-plugin-playwright': '^2.11.0'
'eslint-plugin-react': '^7.37.5'
'eslint-plugin-react-hooks': '^7.1.1'
'eslint-plugin-testing-library': '^7.16.2'
'ethers': '^6.17.0'
'fast-deep-equal': '^3.1.3'
'filesize': '^11.0.22'
'framer-motion': '^13.1.1'
'fs-extra': '^11.4.0'
'globals': '^17.11.0'
'i18next': '^26.4.0'
'i18next-browser-languagedetector': '^8.2.1'
'i18next-resources-to-backend': '^1.2.3'
'immer': '^11.1.18'
'jsdom': '^30.0.1'
'just-diff': '^6.0.2'
'katex': '^0.18.4'
'libsodium-wrappers-sumo': '^0.8.4'
'lodash': '^4.18.1'
'lucide-react': '^1.42.0'
'mermaid': '^11.17.2'
'patch-package': '^8.0.1'
'postcss': '^8.5.26'
'prettier': '^3.9.6'
'prettier-plugin-tailwindcss': '^0.8.1'
'primereact': '^10.9.9'
'prism-react-editor': '^3.3.0'
'pyodide': '^314.0.6'
'react': '19.2.8'
'react-dom': '19.2.8'
'react-dropzone': '^20.1.1'
'react-error-boundary': '^6.1.3'
'react-hook-form': '^7.86.0'
'react-hotkeys-hook': '^5.3.3'
'react-i18next': '^17.0.12'
'react-intersection-observer': '^11.0.1'
'react-native-web': '^0.21.2'
'react-plotly.js': '^4.1.0'
'react-qrcode-logo': '^4.1.0'
'react-resizable-panels': '^2.1.9'
'react-router': '^7.15.1'
'react-syntax-highlighter': '^16.1.1'
'react-use-websocket': '^4.13.0'
'recharts': '^3.10.1'
'sonner': '^2.0.8'
'sql.js': '^1.14.2'
'streamdown': '^2.6.0'
'svg-pan-zoom': '^3.6.2'
'tailwind-merge': '^3.6.0'
'tailwindcss': '^4.3.3'
'tailwindcss-animate': '^1.0.7'
'tar': '^7.5.22'
'ts-deepmerge': '^8.0.0'
'ts-node': '^10.9.2'
'tslib': '^2.8.1'
'typescript': '7.0.2'
'typescript-eslint': '^8.68.0'
'vaul': '^1.1.2'
'vite': '^8.2.2'
'vite-plugin-dts': '^5.0.3'
'vite-plugin-top-level-await': '^1.6.0'
'vite-plugin-wasm': '^3.6.0'
'vite-tsconfig-paths': '^6.1.1'
'vitest': '^4.1.11'
'zip-lib': '^1.4.0'
'zod': '^4.5.2'
'zustand': '^5.0.15'