summaryrefslogtreecommitdiffhomepage
path: root/src/core/plugin-abi/index.ts
blob: 3c97ecaa6ea75bdf0f761d22c9b2ec7c57b338be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 * The frontend plugin ABI (plan 03) — the contract + lifecycle machinery for
 * dynamically-imported frontend plugin modules. See `types.ts` (the surface),
 * `version.ts` (the handshake), `load-diff.ts` (pure decisions), and
 * `driver.ts` (the effectful host). The composition root (src/app) wires the
 * driver to the registry, the surfaces ports, and the plugin HTTP edge.
 */
export { createFrontendDriver, type FrontendDriver, type FrontendDriverDeps } from "./driver.js";
export {
  decideFrontendLoads,
  type FrontendCandidate,
  type FrontendCandidatesInput,
  type FrontendLoadDecision,
  frontendCandidates,
  type ImportedFrontendModule,
  usablePluginIds,
} from "./load-diff.js";
export type {
  FrontendHostAPI,
  FrontendPluginModule,
  FrontendPluginState,
  FrontendViewRegistration,
} from "./types.js";
export {
  FRONTEND_ABI_VERSION,
  isFrontendCompatible,
} from "./version.js";