/** * Provider-neutral channel manifest — compile/deploy/runtime contract. * * Provider-specific fields live in {@link ChannelManifest.providerConfig}. * Adapters validate and interpret that blob; core only dispatches by `provider`. */ import type { JsonValue } from "./types.js"; /** JSON object opaque to core; validated by the provider define helper. */ export type JsonObject = { readonly [key: string]: JsonValue; }; /** * Deploy/runtime requirements a connector may declare (messaging / ingress). * * Emitted by the CLI as `connector-manifests.json` for connectors that * implement `requirements(name)`. */ export interface ChannelManifest { /** File-derived connector name (`connectors/{name}` → `/connectors/{name}/events`). */ name: string; /** Adapter key used by the runtime registry. */ provider: string; /** Optional provider-neutral ingress transport discriminator. */ readonly transport?: "trigger_server"; /** Whether the managed runner should auto-reply after invoke. */ autoReply: boolean; /** * Provider-declared permissions (Slack OAuth scopes, GitHub App permissions, …). * Informational for docs/deploy UX; not enforced by MDA core. */ requiredPermissions: readonly string[]; /** Env vars deploy must ensure when this channel is present. */ requiredEnv: readonly string[]; /** Opaque-to-core provider config (Slack filters/conversation, …). */ providerConfig: JsonObject; } //# sourceMappingURL=manifest.d.ts.map