Files
analytics/pnpm-workspace.yaml
zeekay bb8982e354 Sign in on hanzo.ai, carrying this app's own request
/login drew its own card against hanzo.id: discovery and the provider
methods were read from hanzo.id, and "Continue with GitHub" went
through hanzo.id's authorize. It also could not see a person already
signed in on hanzo.ai, whose IAM session is host-only there.

A signed-out visit now stashes the page asked for and leaves for
hanzo.ai/login (/signup for a new account) with the query of the
authorize request @hanzo/iam builds for hanzo-analytics: its callback,
a fresh state and an S256 challenge whose verifier stays here.
hanzo.ai finishes it, "Continue as" or its own sign-in, and
/auth/callback exchanges the code and returns to that page.

The browser asks IAM at api.hanzo.ai only: discovery, token, refresh,
userinfo and revocation. The server reads IAM's keys there and pins
the issuer to the iss tokens name. @hanzo/iam moves to 0.21.32, and
the home org is read from the principal's org, the field it carries.

The release is revived: deploy.yml built with buildx and qemu on a
repo with Actions disabled, so nothing built. hanzo.yml and the
hanzoai/ci caller have the door build the image in-cluster. jest runs
through esbuild, since ts-jest cannot drive TypeScript 7 and every
suite failed before it ran.
2026-10-16 23:27:00 -07:00

239 lines
7.0 KiB
YAML

packages:
- '**'
# Transcribed from the onlyBuiltDependencies / ignoredBuiltDependencies lists
# below, which say the same thing in the keys pnpm read before 11.
allowBuilds:
'@prisma/client': true
'@prisma/engines': true
prisma: true
cypress: false
esbuild: false
sharp: false
'@parcel/watcher': false
unrs-resolver: false
ignoredBuiltDependencies:
- cypress
- esbuild
- sharp
minimumReleaseAgeExclude:
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzo/[email protected]'
- '@hanzogui/*'
- '@hanzo/[email protected]'
onlyBuiltDependencies:
- '@prisma/client'
- '@prisma/engines'
- prisma
catalog:
'@biomejs/biome': '^2.5.11'
'@clickhouse/client': '^1.23.1'
'@date-fns/utc': '^2.1.1'
'@dicebear/collection': '^9.2.3'
'@dicebear/core': '^9.2.3'
'@fontsource/geist-sans': '^5.3.0'
'@formatjs/cli': '^6.16.21'
'@hanzo/dashboard': '^0.2.1'
'@hanzo/design': '0.5.21'
'@hanzo/gui': '8.3.5'
'@hanzo/iam': '0.21.32'
'@hanzo/logo': '1.0.23'
'@hanzo/ui': '8.27.31'
'@hanzogui/shell': '^8.3.20'
'@hello-pangea/dnd': '^18.0.1'
'@netlify/plugin-nextjs': '^5.15.13'
'@prisma/adapter-pg': '^7.10.0'
'@prisma/client': '^7.10.0'
'@prisma/extension-read-replicas': '^0.5.0'
'@react-spring/web': '^10.1.2'
'@rollup/plugin-alias': '^6.0.0'
'@rollup/plugin-commonjs': '^29.0.3'
'@rollup/plugin-json': '^6.1.0'
'@rollup/plugin-node-resolve': '^16.0.3'
'@rollup/plugin-replace': '^6.0.3'
'@rollup/plugin-terser': '^1.0.0'
'@rollup/plugin-typescript': '^12.3.0'
'@svgr/cli': '^8.1.0'
'@tanstack/react-query': '^5.102.8'
'@types/jest': '^30.0.0'
'@types/node': '26.4.0'
'@types/react': '19.2.18'
'@types/react-dom': '19.2.5'
'@types/react-window': '^1.8.8'
'babel-plugin-react-compiler': '^1.0.0'
'chalk': '^6.0.0'
'chart.js': '^4.5.1'
'chartjs-adapter-date-fns': '^3.0.0'
'classnames': '^2.5.1'
'colord': '^2.10.0'
'cors': '^2.8.6'
'cross-env': '^10.1.0'
'cross-spawn': '^7.0.6'
'cypress': '^15.21.1'
'date-fns': '^4.4.0'
'date-fns-tz': '^3.2.0'
'debug': '^4.4.3'
'del': '^8.0.1'
'detect-browser': '^5.3.0'
'dotenv': '^17.4.2'
'esbuild': '^0.28.2'
'extract-react-intl-messages': '^5.0.0'
'fs-extra': '^11.4.0'
'husky': '^9.1.7'
'immer': '^11.1.18'
'ipaddr.js': '^2.5.0'
'is-ci': '^4.1.0'
'is-docker': '^4.0.0'
'is-localhost-ip': '^3.0.1'
'isbot': '^5.1.40'
'jest': '^30.5.0'
'jsonwebtoken': '^9.0.3'
'jszip': '^3.10.1'
'kafkajs': '^2.2.4'
'lint-staged': '^17.4.1'
'lucide-react': '^1.33.0'
'maxmind': '^5.0.7'
'nats': '2.29.3'
'next': '16.3.3'
'node-fetch': '^3.3.2'
'npm-run-all': '^4.1.5'
'papaparse': '^5.7.0'
'pg': '^8.23.0'
'postcss': '^8.5.26'
'postcss-flexbugs-fixes': '^5.0.2'
'postcss-import': '^17.0.0'
'postcss-preset-env': '^11.5.0'
'prisma': '^7.10.0'
'prompts': '^2.4.2'
'prop-types': '^15.8.1'
'pure-rand': '^7.0.1'
'react': '19.2.8'
'react-dom': '19.2.8'
'react-error-boundary': '^6.1.3'
'react-intl': '^10.1.24'
'react-native-web': '^0.21.2'
'react-resizable-panels': '^4.11.2'
'react-simple-maps': '^3.0.0'
'react-use-measure': '^2.1.7'
'react-window': '^1.8.6'
'request-ip': '^3.3.0'
'rollup': '^4.63.1'
'rollup-plugin-copy': '^3.5.0'
'rollup-plugin-delete': '^3.0.2'
'rollup-plugin-dts': '^6.5.1'
'rollup-plugin-node-externals': '^9.0.1'
'rollup-plugin-peer-deps-external': '^2.2.4'
'rollup-plugin-postcss': '^4.0.2'
'rrweb': '^2.1.1'
'rrweb-player': '^2.1.1'
'semver': '^7.8.5'
'serialize-error': '^13.0.1'
'stylelint': '^17.14.1'
'stylelint-config-css-modules': '^4.6.0'
'stylelint-config-prettier': '^9.0.5'
'stylelint-config-recommended': '^18.0.0'
'tar': '^7.5.22'
'thenby': '^1.4.1'
'ts-node': '^10.9.2'
'tsup': '^8.5.1'
'tsx': '^4.23.12'
'typescript': '7.0.2'
'ua-parser-js': '^2.0.10'
'uuid': '^14.0.2'
'zod': '^4.5.2'
'zustand': '^5.0.15'
overrides:
'@noble/hashes': '1.8.0'
'zod': '^4.5.2'
'@hanzogui/adapt': '8.3.5'
'@hanzogui/animate': '8.3.5'
'@hanzogui/animate-presence': '8.3.5'
'@hanzogui/animations-css': '8.3.5'
'@hanzogui/animations-moti': '8.3.5'
'@hanzogui/animations-react-native': '8.3.5'
'@hanzogui/babel-plugin': '8.3.5'
'@hanzogui/build': '8.3.5'
'@hanzogui/button': '8.3.5'
'@hanzogui/checkbox-headless': '8.3.5'
'@hanzogui/cli': '8.3.5'
'@hanzogui/collapsible': '8.3.5'
'@hanzogui/collection': '8.3.5'
'@hanzogui/colors': '8.3.5'
'@hanzogui/component-helpers': '8.3.5'
'@hanzogui/compose-refs': '8.3.5'
'@hanzogui/config': '8.3.5'
'@hanzogui/config-default': '8.3.5'
'@hanzogui/constants': '8.3.5'
'@hanzogui/core': '8.3.5'
'@hanzogui/create-context': '8.3.5'
'@hanzogui/create-menu': '8.3.5'
'@hanzogui/dialog': '8.3.5'
'@hanzogui/dismissable': '8.3.5'
'@hanzogui/element': '8.3.5'
'@hanzogui/floating': '8.3.5'
'@hanzogui/focus-guard': '8.3.5'
'@hanzogui/focus-scope': '8.3.5'
'@hanzogui/focusable': '8.3.5'
'@hanzogui/font-size': '8.3.5'
'@hanzogui/get-button-sized': '8.3.5'
'@hanzogui/get-font-sized': '8.3.5'
'@hanzogui/get-token': '8.3.5'
'@hanzogui/group': '8.3.5'
'@hanzogui/helpers': '8.3.5'
'@hanzogui/helpers-icon': '8.3.5'
'@hanzogui/image': '8.3.5'
'@hanzogui/input': '8.3.5'
'@hanzogui/label': '8.3.5'
'@hanzogui/list-item': '8.3.5'
'@hanzogui/loader': '8.3.5'
'@hanzogui/lucide-icons-2': '8.3.5'
'@hanzogui/native': '8.3.5'
'@hanzogui/next-plugin': '8.3.5'
'@hanzogui/next-theme': '8.3.5'
'@hanzogui/polyfill-dev': '8.3.5'
'@hanzogui/popover': '8.3.5'
'@hanzogui/popper': '8.3.5'
'@hanzogui/portal': '8.3.5'
'@hanzogui/radio-headless': '8.3.5'
'@hanzogui/react-native-media-driver': '8.3.5'
'@hanzogui/react-native-svg': '8.3.5'
'@hanzogui/react-native-use-pressable': '8.3.5'
'@hanzogui/react-native-use-responder-events': '8.3.5'
'@hanzogui/react-native-web-lite': '8.3.5'
'@hanzogui/remove-scroll': '8.3.5'
'@hanzogui/roving-focus': '8.3.5'
'@hanzogui/scroll-view': '8.3.5'
'@hanzogui/separator': '8.3.5'
'@hanzogui/shapes': '8.3.5'
'@hanzogui/sheet': '8.3.5'
'@hanzogui/shell': '^8.3.20'
'@hanzogui/sizable-context': '8.3.5'
'@hanzogui/spacer': '8.3.5'
'@hanzogui/stacks': '8.3.5'
'@hanzogui/start-transition': '8.3.5'
'@hanzogui/switch-headless': '8.3.5'
'@hanzogui/telemetry': '8.3.5'
'@hanzogui/text': '8.3.5'
'@hanzogui/theme': '8.3.5'
'@hanzogui/theme-base': '8.3.5'
'@hanzogui/themes': '8.3.5'
'@hanzogui/toast': '8.3.5'
'@hanzogui/use-async': '8.3.5'
'@hanzogui/use-callback-ref': '8.3.5'
'@hanzogui/use-constant': '8.3.5'
'@hanzogui/use-controllable-state': '8.3.5'
'@hanzogui/use-debounce': '8.3.5'
'@hanzogui/use-did-finish-ssr': '8.3.5'
'@hanzogui/use-direction': '8.3.5'
'@hanzogui/use-escape-keydown': '8.3.5'
'@hanzogui/use-event': '8.3.5'
'@hanzogui/use-force-update': '8.3.5'
'@hanzogui/use-keyboard-visible': '8.3.5'
'@hanzogui/use-presence': '8.3.5'
'@hanzogui/use-previous': '8.3.5'
'@hanzogui/visually-hidden': '8.3.5'
'@hanzogui/vite-plugin': '8.3.5'
'@hanzogui/web': '8.3.5'
'@hanzogui/z-index-stack': '8.3.5'