pi-mono/packages/chord/src/next-node/plugins/index.ts
Mario Zechner 8959ad6e68 feat(chord): Chord v2 slice 10, HTTP and workers
chord/next/http: a Web fetch handler built from the registry Http (routes, wraps,
sockets, hosts, relays, CSP sources) and Authenticators, responses as descriptions,
a security baseline on by default, Chord's own Node listener as a host-lifetime
object, nodeRequest for apps mounting it, links and plugin sockets.
chord/next/workers: a forked worker per address, started on demand, stopped when
idle, never restarted by itself, plugins built by the server and shipped.
Plugins: kinds with platform and host packages, createPluginRuntime, scripts(kind),
rollout results per host, imports of other plugins by name. Kernel: RouteHandle
(retry, suspend), no route backoff, anonymous host.root, origins only from relays.
ws is an optional peer dependency.
2026-10-31 20:40:36 +00:00

28 lines
1.1 KiB
TypeScript

// Chord v2's plugins component (`@earendil-works/chord/next/plugins` once v2 has its entry point; slice 7c): plugin
// directories found, built into scripts, evaluated, loaded and reloaded per plugin, watched and rolled out. Node-only
// (`fs`, esbuild, `vm`); esbuild is an optional peer dependency, imported only here.
export { type BuildInput, type BuildOptions, type BuiltFacet, buildFacet } from "./build.ts";
export {
type Discovery,
type DiscoveryOptions,
type DiscoveryProblem,
discoverPlugins,
type Plugin,
} from "./discover.ts";
export { type BuiltScript, type EvaluateOptions, evaluateFacet, type HostPackages, pluginFile } from "./evaluate.ts";
export { type InstallOptions, installDependencies } from "./install.ts";
export {
type Built,
createPlugins,
type KindDefinition,
type Plugins,
type PluginsError,
type PluginsOptions,
type RolloutHost,
type RolloutResult,
type RolloutStep,
} from "./plugins.ts";
export { createPluginRuntime, type PluginRuntime, type PluginScript, type RuntimeLoad } from "./runtime.ts";
export { mapStack } from "./stack.ts";
export type { PluginsState } from "./watcher.ts";