ViteHub is still experimental. Expect bugs and breaking changes.

Definitions and discovery

Learn how ViteHub discovers portable declarations and gives them stable runtime identity.

A Definition is a portable user declaration that names work or state without depending on one framework runtime. A Discovered Definition is a Definition found by a package's discovery rules.

ViteHub derives Discovery Identity from the discovery location. It does not ask normal app code to invent inline ids for discovered names.

Why it exists

Location-derived identity makes generated registries, Provider Output, DevTools, and runtime calls predictable. It also keeps package-owned discovery rules separate from Definition Options.

This matters for agents because an Agent File Name or agent folder name becomes the discovered Agent identity. defineAgent({ name }) is not the discovery identity override.

Current discovery examples

Definition paths
server/agents/support.ts          -> support
server/agents/docs/config.ts      -> docs
src/triager.agent.ts              -> triager
server/auth.ts                    -> Primary Auth Definition
server.auth.ts                    -> Primary Auth Definition alias

Other primitive pages document their own Definition locations. Keep discovery examples on the package page when the package owns special rules.

Boundary helpers

Definition Boundary Helpers mark files for discovery and validation. A first-class discovered definition file should default-export the package-owned helper directly when a package needs build-extracted Definition Options.

server/agents/support.ts
import { defineAgent } from '@vite-hub/agent'

export default defineAgent({
  driver: {
    run: () => 'ok',
  },
})

Inspect it

Inspect the source file and the generated or runtime surface that consumes it. For Agents, DevTools and trigger consumers use discovered Agent names. For generated imports, use stable ViteHub import paths documented by the package instead of importing registry files directly.

Next steps

Copyright © 2026