Files
sim/package.json
T
Theodore Li 75b8b6f3e5 feat(settings): self-host settings plane, Sim wordmark in sidebar (#5990)
* feat(settings): self-host settings plane, Sim wordmark in sidebar

Chat keys were only reachable at a standalone /account/settings/chat-keys
page that nothing linked to. They now live on a dedicated self-host plane
alongside the two other settings a self-hoster needs from the managed
service.

- new /selfhost/settings/{general,billing,chat-keys} plane, open to any
  signed-in user
- chat keys move off the account plane entirely; no isHosted gate
- registry `unified` projection is now optional (mirroring `planes`), so a
  section can opt out of the editor sidebar
- plane items resolve their own description and throw when one is missing,
  since a plane-only section has no unified projection to inherit from
- settings sidebar shows the Sim wordmark linking to /?home instead of a
  Back chip; drops the now-dead backHref prop
- `bun run setup` runs `bun install` first so a fresh clone is one command

* docs(readme): point Chat keys at the self-host settings plane

The account-plane URL stopped resolving when chat keys moved to
/selfhost/settings.

* improvement(settings): make the sidebar wordmark a plane attribute

Replacing the Back chip everywhere was too broad — account and
organization are reached from inside the app, so Back is right there.
Self-host is reached from outside it (the CLI wizard, the README), so it
leads with the brand mark instead.

SETTINGS_PLANE_CHROME declares that per plane, keyed on
StandaloneSettingsPlane so adding a plane forces the decision rather than
defaulting silently. It also absorbs the shell's parallel plane-label map.

* fix(settings): hide self-host Chat keys on non-hosted deployments

Chat keys are issued by the managed service and useCopilotKeys is
`enabled: isHosted` for that reason. Moving the section onto the self-host
plane dropped its hosted gate, so a self-hosted deployment rendered a
Chat keys nav item whose list could never populate.

Restores the gate on the plane that now owns the URL. sim.ai is unaffected
— the section stays visible there to every signed-in user, which is the
surface self-hosters are pointed at.
2026-07-27 20:01:26 -04:00

120 lines
5.6 KiB
JSON

{
"name": "simstudio",
"packageManager": "bun@1.3.13",
"version": "0.0.0",
"private": true,
"license": "Apache-2.0",
"workspaces": [
"apps/*",
"packages/*"
],
"bin": {
"sim": "./scripts/setup/index.ts"
},
"scripts": {
"build": "turbo run build",
"dev": "turbo run dev",
"dev:sockets": "cd apps/realtime && bun run dev",
"dev:full": "bunx concurrently -n \"App,Realtime\" -c \"cyan,magenta\" \"cd apps/sim && bun run dev\" \"cd apps/realtime && bun run dev\"",
"dev:full:minimal-registry": "bunx concurrently -n \"App,Realtime\" -c \"cyan,magenta\" \"cd apps/sim && bun run dev:minimal\" \"cd apps/realtime && bun run dev\"",
"dev:full:capped": "bunx concurrently -n \"App,Realtime\" -c \"cyan,magenta\" \"cd apps/sim && bun run dev:capped\" \"cd apps/realtime && bun run dev\"",
"test": "turbo run test",
"format": "turbo run format",
"format:check": "turbo run format:check",
"lint": "turbo run lint",
"lint:check": "turbo run lint:check",
"lint:helm": "helm lint ./helm/sim --strict --values ./helm/sim/test/values-lint.yaml",
"lint:all": "turbo run lint && bun run lint:helm",
"check": "turbo run format:check",
"check:boundaries": "bun run scripts/check-monorepo-boundaries.ts",
"check:api-validation": "bun run scripts/check-api-validation-contracts.ts --check",
"check:api-validation:strict": "bun run scripts/check-api-validation-contracts.ts --check --enforce-boundary-baseline",
"check:realtime-prune": "bun run scripts/check-realtime-prune-graph.ts",
"check:zustand-v5": "bun run scripts/check-zustand-v5-selectors.ts",
"check:react-query": "bun run scripts/check-react-query-patterns.ts --check",
"check:client-boundary": "bun run scripts/check-client-boundary-imports.ts --check",
"check:utils": "bun run scripts/check-utils-enforcement.ts",
"check:bare-icons": "bun run scripts/check-bare-icons.ts",
"check:icon-paths": "bun run scripts/check-icon-paths.ts",
"check:migrations": "bun run scripts/check-migrations-safety.ts",
"mship-contracts:generate": "bun run scripts/sync-mothership-stream-contract.ts",
"mship-contracts:check": "bun run scripts/sync-mothership-stream-contract.ts --check",
"billing-protocol-contract:generate": "bun run scripts/sync-billing-protocol-contract.ts",
"billing-protocol-contract:check": "bun run scripts/sync-billing-protocol-contract.ts --check",
"mship-tools:generate": "bun run scripts/sync-tool-catalog.ts",
"mship-tools:check": "bun run scripts/sync-tool-catalog.ts --check",
"trace-spans-contract:generate": "bun run scripts/sync-trace-spans-contract.ts",
"trace-spans-contract:check": "bun run scripts/sync-trace-spans-contract.ts --check",
"trace-attributes-contract:generate": "bun run scripts/sync-trace-attributes-contract.ts",
"trace-attributes-contract:check": "bun run scripts/sync-trace-attributes-contract.ts --check",
"trace-attribute-values-contract:generate": "bun run scripts/sync-trace-attribute-values-contract.ts",
"trace-attribute-values-contract:check": "bun run scripts/sync-trace-attribute-values-contract.ts --check",
"trace-events-contract:generate": "bun run scripts/sync-trace-events-contract.ts",
"trace-events-contract:check": "bun run scripts/sync-trace-events-contract.ts --check",
"metrics-contract:generate": "bun run scripts/sync-metrics-contract.ts",
"metrics-contract:check": "bun run scripts/sync-metrics-contract.ts --check",
"vfs-snapshot-contract:generate": "bun run scripts/sync-vfs-snapshot-contract.ts",
"vfs-snapshot-contract:check": "bun run scripts/sync-vfs-snapshot-contract.ts --check",
"mship:generate": "bun run scripts/generate-mship-contracts.ts",
"mship:check": "bun run scripts/generate-mship-contracts.ts --check",
"library:covers": "bun run scripts/generate-library-covers.tsx",
"library:covers:check": "bun run scripts/generate-library-covers.tsx --check",
"skills:sync": "bun run scripts/sync-skills.ts",
"skills:check": "bun run scripts/sync-skills.ts --check",
"setup": "bun install && bun run scripts/setup/index.ts setup",
"sim": "bun run scripts/setup/index.ts",
"doctor": "bun run scripts/setup/index.ts doctor",
"agent-stream-docs:generate": "bun run scripts/sync-agent-stream-docs.ts",
"agent-stream-docs:check": "bun run scripts/sync-agent-stream-docs.ts --check",
"prepare": "bun husky",
"type-check": "turbo run type-check",
"release": "bun run scripts/create-single-release.ts"
},
"overrides": {
"react": "19.2.4",
"react-dom": "19.2.4",
"next": "16.2.11",
"@next/env": "16.2.11",
"drizzle-orm": "^0.45.2",
"postgres": "^3.4.5",
"minimatch": "^10.2.5",
"mermaid": "11.15.0",
"zod": "4.3.6"
},
"optionalDependencies": {
"@next/swc-darwin-arm64": "16.2.11",
"@next/swc-darwin-x64": "16.2.11",
"@next/swc-linux-arm64-gnu": "16.2.11",
"@next/swc-linux-x64-gnu": "16.2.11"
},
"devDependencies": {
"@biomejs/biome": "2.0.0-beta.5",
"@clack/prompts": "1.7.0",
"@octokit/rest": "^21.0.0",
"@types/opentype.js": "1.3.10",
"@vercel/og": "0.6.8",
"chalk": "5.6.2",
"glob": "13.0.0",
"gray-matter": "4.0.3",
"husky": "9.1.7",
"json-schema-to-typescript": "15.0.4",
"lint-staged": "16.0.0",
"opentype.js": "1.3.4",
"sharp": "0.35.3",
"turbo": "2.9.14",
"yaml": "^2.8.1"
},
"lint-staged": {
"*.{js,jsx,ts,tsx,json,css,scss}": [
"biome check --write --no-errors-on-unmatched --files-ignore-unknown=true"
]
},
"trustedDependencies": [
"isolated-vm",
"sharp"
],
"dependencies": {
"@aws-sdk/client-appconfig": "3.1032.0"
}
}