eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
29 lines (28 loc) • 1.38 kB
TypeScript
import { type ChannelKind } from "#setup/scaffold/index.js";
import type { DisabledChannelReasons } from "#setup/cli/index.js";
/**
* Existing authored registrations that affect the scaffolded channel picker
* or would conflict with a generated channel module.
*/
export interface ExistingChannelRegistrations {
readonly disabledChannelReasons: DisabledChannelReasons;
readonly webRouteOwners: readonly string[];
readonly slackOwners: readonly string[];
/**
* Whether the Next.js Web Chat app is already in place (the project depends
* on `next`). Owning the session route alone (`webRouteOwners`) does not
* imply the app: every scaffolded agent has `agent/channels/eve.ts` for the
* dev REPL, while the app only arrives via `--web` or the web scaffold.
*/
readonly webAppPresent: boolean;
}
/**
* Inspects compiled authored channels so custom filenames still disable the
* scaffold option for the channel behavior they register.
*/
export declare function inspectExistingChannelRegistrations(projectRoot: string): Promise<ExistingChannelRegistrations>;
/**
* Rejects scaffolding when another authored module already owns behavior
* emitted by the generated channel module.
*/
export declare function assertCanAddSelectedChannels(selectedChannels: readonly ChannelKind[], registrations: ExistingChannelRegistrations): void;