@igniter-js/bot
Version:
A modern, type-safe multi-platform bot framework for the Igniter.js ecosystem (adapters, middleware, commands, rich content).
1 lines • 90.6 kB
Source Map (JSON)
{"version":3,"sources":["../src/bot.provider.ts","../src/utils/try-catch.ts","../src/adapters/telegram/telegram.schemas.ts","../src/adapters/telegram/telegram.helpers.ts","../src/adapters/telegram/telegram.adapter.ts","../src/adapters/whatsapp/whatsapp.helpers.ts","../src/adapters/whatsapp/whatsapp.schemas.ts","../src/adapters/whatsapp/whatsapp.adapter.ts","../src/index.ts"],"names":["z","mediaId","token"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { TypeOf, ZodObject } from 'zod'\nimport {\n BotEvent,\n BotContext,\n BotCommand,\n BotSendParams,\n BotHandleParams,\n IBotAdapter,\n Middleware,\n} from './types/bot.types'\nimport type { BotLogger } from './types/bot.types'\n\n/**\n * Error code constants – centralized for consistency & future i18n / mapping.\n */\nexport const BotErrorCodes = {\n PROVIDER_NOT_FOUND: 'PROVIDER_NOT_FOUND',\n COMMAND_NOT_FOUND: 'COMMAND_NOT_FOUND',\n INVALID_COMMAND_PARAMETERS: 'INVALID_COMMAND_PARAMETERS',\n ADAPTER_HANDLE_RETURNED_NULL: 'ADAPTER_HANDLE_RETURNED_NULL',\n} as const\nexport type BotErrorCode = (typeof BotErrorCodes)[keyof typeof BotErrorCodes]\n\n/**\n * Rich error type used internally (and optionally by adapters).\n */\nexport class BotError extends Error {\n constructor(\n public code: BotErrorCode,\n message?: string,\n public meta?: Record<string, unknown>,\n ) {\n super(message || code)\n this.name = 'BotError'\n }\n}\n\n/**\n * Command registry structure: we keep both original map and alias index\n * for O(1) resolution of commands regardless of alias used.\n */\ninterface CommandIndexEntry {\n name: string\n command: BotCommand\n aliases: string[]\n}\n\n/**\n * Main Bot class for @igniter-js/bot\n *\n * Features:\n * - Multi-adapter routing\n * - Middleware pipeline\n * - Command system with alias indexing\n * - Pluggable logging\n * - Extensible runtime registration (adapters, commands, middleware)\n * - Type-safe adapter factory helper\n */\nexport class Bot<\n TAdapters extends Record<string, IBotAdapter<any>>,\n TMiddlewares extends Middleware[],\n TCommands extends Record<string, BotCommand>,\n> {\n /** Unique bot identifier */\n public id: string\n /** Bot name (display) */\n public name: string\n /** Registered adapters (keyed by provider name) */\n private adapters: TAdapters\n /** Registered middlewares (ordered pipeline) */\n private middlewares: TMiddlewares\n /** Command map (original user supplied) */\n private commands: TCommands\n /** Indexed / normalized command lookup */\n private commandIndex: Map<string, CommandIndexEntry> = new Map()\n /** Optional logger */\n private logger?: BotLogger\n /** Event listeners */\n private listeners: Partial<Record<BotEvent, ((ctx: BotContext) => Promise<void>)[]>> = {}\n\n /**\n * Optional hook executed just before middleware pipeline\n * to allow last‑minute context enrichment (e.g., session loading).\n */\n private preProcessHooks: Array<(ctx: BotContext) => Promise<void> | void> = []\n\n /**\n * Optional hook executed after successful processing (not on thrown errors).\n */\n private postProcessHooks: Array<(ctx: BotContext) => Promise<void> | void> = []\n\n /**\n * Creates a new Bot instance.\n */\n constructor(config: {\n id: string\n name: string\n adapters: TAdapters\n middlewares?: TMiddlewares\n commands?: TCommands\n on?: Partial<Record<BotEvent, (ctx: BotContext) => Promise<void>>>\n logger?: BotLogger\n }) {\n this.id = config.id\n this.name = config.name\n this.adapters = config.adapters\n this.middlewares = (config.middlewares || []) as TMiddlewares\n this.commands = (config.commands || {}) as TCommands\n this.logger = config.logger\n\n // Register listeners\n if (config.on) {\n for (const evt of Object.keys(config.on) as BotEvent[]) {\n const handler = config.on[evt]\n if (handler) this.on(evt, handler)\n }\n }\n\n // Build command index\n this.rebuildCommandIndex()\n }\n\n /**\n * Rebuilds the internal command index (idempotent).\n * Called at construction and whenever a command is dynamically registered.\n */\n private rebuildCommandIndex() {\n this.commandIndex.clear()\n for (const key of Object.keys(this.commands)) {\n const cmd = this.commands[key]!\n const entry: CommandIndexEntry = {\n name: cmd.name.toLowerCase(),\n command: cmd,\n aliases: cmd.aliases.map((a) => a.toLowerCase()),\n }\n this.commandIndex.set(entry.name, entry)\n for (const alias of entry.aliases) {\n this.commandIndex.set(alias, entry)\n }\n }\n }\n\n /**\n * Dynamically register a new command at runtime.\n * Useful for plugin systems / hot-reload dev flows.\n */\n registerCommand(name: string, command: BotCommand): this {\n // @ts-expect-error augmenting generic map\n this.commands[name] = command\n this.rebuildCommandIndex()\n this.logger?.debug?.(`Command registered '${name}'`, `Bot:${this.name}#${this.id}`)\n return this\n }\n\n /**\n * Dynamically register a middleware (appended to the chain).\n */\n use(mw: Middleware): this {\n this.middlewares.push(mw)\n this.logger?.debug?.(`Middleware registered (#${this.middlewares.length})`, `Bot:${this.name}#${this.id}`)\n return this\n }\n\n /**\n * Dynamically register an adapter.\n */\n registerAdapter<K extends string, A extends IBotAdapter<any>>(key: K, adapter: A): this {\n // @ts-expect-error generic expansion\n this.adapters[key] = adapter\n this.logger?.debug?.(`Adapter registered '${key}'`, `Bot:${this.name}#${this.id}`)\n return this\n }\n\n /**\n * Hook executed before processing pipeline. Runs in registration order.\n */\n onPreProcess(hook: (ctx: BotContext) => Promise<void> | void): this {\n this.preProcessHooks.push(hook)\n return this\n }\n\n /**\n * Hook executed after successful processing (not on thrown errors).\n */\n onPostProcess(hook: (ctx: BotContext) => Promise<void> | void): this {\n this.postProcessHooks.push(hook)\n return this\n }\n\n /**\n * Emits a bot event to registered listeners manually.\n */\n async emit(event: BotEvent, ctx: BotContext) {\n const listeners = this.listeners[event]\n if (listeners?.length) {\n await Promise.all(listeners.map((l) => l(ctx)))\n }\n }\n\n /**\n * Adapter factory helper (legacy static name kept for backwards compatibility).\n * Now logger-aware: logger will be injected at call sites (init/send/handle).\n */\n static adapter<TConfig extends ZodObject<any>>(adapter: {\n name: string\n parameters: TConfig\n init: (params: { config: TypeOf<TConfig>; commands: BotCommand[]; logger?: BotLogger }) => Promise<void>\n send: (params: BotSendParams<TypeOf<TConfig>> & { logger?: BotLogger }) => Promise<void>\n handle: (params: { request: Request; config: TypeOf<TConfig>; logger?: BotLogger }) => Promise<Omit<BotContext, 'bot'> | null>\n }): (config: TypeOf<TConfig>) => IBotAdapter<TConfig> {\n return (config: TypeOf<TConfig>) => ({\n name: adapter.name,\n parameters: adapter.parameters,\n async send(params: BotSendParams<TConfig> & { logger?: BotLogger }) {\n return adapter.send({ ...params, config, logger: params.logger })\n },\n async handle(params: BotHandleParams<TConfig> & { logger?: BotLogger }) {\n return adapter.handle({ ...params, config, logger: params.logger }) as any\n },\n async init(options?: { commands: BotCommand[]; logger?: BotLogger }) {\n await adapter.init({\n config,\n commands: options?.commands || [],\n logger: options?.logger,\n })\n },\n })\n }\n\n /**\n * Factory for constructing a Bot with strong typing.\n */\n static create<\n TAdapters extends Record<string, IBotAdapter<any>>,\n TMiddlewares extends Middleware[] = [],\n TCommands extends Record<string, BotCommand> = {},\n >(config: {\n id: string\n name: string\n adapters: TAdapters\n middlewares?: TMiddlewares\n commands?: TCommands\n on?: Partial<Record<BotEvent, (ctx: BotContext) => Promise<void>>>\n logger?: BotLogger\n }): Bot<TAdapters, TMiddlewares, TCommands> {\n return new Bot(config)\n }\n\n /**\n * Register (subscribe) to a lifecycle/event stream.\n */\n on(event: BotEvent, callback: (ctx: BotContext) => Promise<void>): void {\n if (!this.listeners[event]) {\n this.listeners[event] = []\n }\n this.listeners[event]!.push(callback)\n this.logger?.debug?.(`Listener registered '${event}'`, `Bot:${this.name}#${this.id}`)\n }\n\n /**\n * Resolve command by name or alias (case-insensitive).\n */\n private resolveCommand(raw: string): CommandIndexEntry | undefined {\n return this.commandIndex.get(raw.toLowerCase())\n }\n\n /**\n * Sends a message (provider abstraction).\n */\n async send(params: Omit<BotSendParams<any>, 'config'>): Promise<void> {\n const adapter = this.adapters[params.provider]\n if (!adapter) {\n const err = new BotError(BotErrorCodes.PROVIDER_NOT_FOUND, `Provider ${params.provider} not found`, {\n provider: params.provider,\n })\n this.logger?.error?.(err.message, `Bot:${this.name}#${this.id}`, err.meta)\n throw err\n }\n await (adapter as any).send({\n provider: params.provider,\n channel: params.channel,\n content: params.content,\n logger: this.logger,\n })\n this.logger?.debug?.(\n `Message sent {provider=${params.provider}, channel=${params.channel}}`,\n `Bot:${this.name}#${this.id}`,\n )\n }\n\n /**\n * Core processing pipeline:\n * 1. preProcess hooks\n * 2. middleware chain\n * 3. listeners for event\n * 4. command execution (if command)\n * 5. postProcess hooks\n */\n async process(ctx: BotContext): Promise<void> {\n // Pre-process hooks\n for (const hook of this.preProcessHooks) {\n await hook(ctx)\n }\n\n // Middleware chain\n let index = 0\n const runner = async (): Promise<void> => {\n if (index < this.middlewares.length) {\n const current = this.middlewares[index++]\n try {\n await current(ctx, runner)\n } catch (err) {\n this.logger?.warn?.(\n `Middleware error at position ${index - 1}: ${(err as any)?.message || err}`,\n `Bot:${this.name}#${this.id}`,\n )\n // Emit error event\n await this.emit('error', {\n ...ctx,\n // @ts-expect-error extension (not public on type)\n error: err,\n })\n }\n }\n }\n await runner()\n\n // Listeners\n const listeners = this.listeners[ctx.event]\n if (listeners?.length) {\n await Promise.all(listeners.map((l) => l(ctx)))\n }\n\n // Command execution\n if (ctx.event === 'message' && ctx.message.content?.type === 'command') {\n const cmdToken = ctx.message.content.command\n const entry = this.resolveCommand(cmdToken)\n if (!entry) {\n this.logger?.warn?.(\n `Command not found '${cmdToken}'`,\n `Bot:${this.name}#${this.id}`,\n )\n await this.emit('error', {\n ...ctx,\n // @ts-expect-error augment error\n error: new BotError(BotErrorCodes.COMMAND_NOT_FOUND, `Command '${cmdToken}' not registered`),\n })\n } else {\n try {\n await entry.command.handle(ctx, ctx.message.content.params)\n this.logger?.debug?.(\n `Command executed '${entry.name}' (alias used: ${cmdToken !== entry.name ? cmdToken : 'no'})`,\n `Bot:${this.name}#${this.id}`,\n )\n } catch (err: any) {\n this.logger?.warn?.(\n `Command error '${entry.name}': ${err?.message || err}`,\n `Bot:${this.name}#${this.id}`,\n )\n if (entry.command.help) {\n await this.send({\n provider: ctx.provider,\n channel: ctx.channel.id,\n content: { type: 'text', content: entry.command.help },\n })\n }\n await this.emit('error', {\n ...ctx,\n // @ts-expect-error augment\n error: new BotError(\n BotErrorCodes.INVALID_COMMAND_PARAMETERS,\n err?.message || 'Invalid command parameters',\n ),\n })\n }\n }\n }\n\n // Post-process hooks (only if we reached here without throw)\n for (const hook of this.postProcessHooks) {\n await hook(ctx)\n }\n }\n\n /**\n * Handle an incoming request from a provider (adapter).\n *\n * Contract:\n * - If adapter returns `null`, we respond 204 (ignored update).\n * - If adapter returns a context object, we process it and return 200.\n * - Any error thrown bubbles up unless caught externally.\n */\n async handle(adapter: keyof TAdapters, request: Request): Promise<Response> {\n const selectedAdapter = this.adapters[adapter]\n if (!selectedAdapter) {\n const err = new BotError(BotErrorCodes.PROVIDER_NOT_FOUND, `No adapter '${String(adapter)}'`)\n this.logger?.error?.(err.message, `Bot:${this.name}#${this.id}`)\n throw err\n }\n\n const rawContext = await (selectedAdapter as any).handle({ request, logger: this.logger })\n if (!rawContext) {\n this.logger?.debug?.(\n `Adapter '${String(adapter)}' returned null (ignored update)`,\n `Bot:${this.name}#${this.id}`,\n )\n return new Response(null, { status: 204 })\n }\n\n const ctx: BotContext = {\n ...rawContext,\n bot: {\n id: this.id,\n name: this.name,\n send: async (params) => this.send(params),\n },\n }\n\n this.logger?.debug?.(\n `Inbound event '${ctx.event}' from '${String(adapter)}'`,\n `Bot:${this.name}#${this.id}`,\n )\n\n await this.process(ctx)\n\n return new Response('OK', {\n status: 200,\n headers: { 'Content-Type': 'application/json' },\n })\n }\n\n /**\n * Initialize all adapters (idempotent at adapter level).\n * Passes current command list so adapters can perform platform-side registration (webhooks/commands).\n */\n async start(): Promise<void> {\n const commandArray = Object.values(this.commands || {})\n for (const adapter of Object.values(this.adapters)) {\n this.logger?.debug?.(\n `Initializing adapter '${adapter.name}'`,\n `Bot:${this.name}#${this.id}`,\n )\n await (adapter as any).init({ commands: commandArray, logger: this.logger })\n this.logger?.debug?.(\n `Adapter '${adapter.name}' initialized`,\n `Bot:${this.name}#${this.id}`,\n )\n }\n }\n}\n","/**\n * Lightweight try/catch helper to eliminate repetitive boilerplate while keeping\n * explicit control over error handling flows.\n *\n * Usage patterns:\n *\n * 1. Passing a promise:\n * const { data, error } = await tryCatch(fetchSomething())\n *\n * 2. Passing a lazy async function (only executed inside the helper):\n * const { data, error } = await tryCatch(async () => await fetchSomething())\n *\n * 3. Unwrapping (will throw if error is present):\n * const value = unwrapOrThrow(await tryCatch(fetchSomething()))\n *\n * Design goals:\n * - Do NOT swallow errors silently.\n * - Provide a clear, discriminated-style result object.\n * - Avoid exceptions in calling code branches where a recoverable path exists.\n * - Keep it framework‑agnostic & side‑effect free (no logging here).\n *\n * This utility intentionally avoids clever magic:\n * - It never mutates the error.\n * - It does not log (caller decides logging concerns).\n * - It does not attempt retry logic (compose that externally if needed).\n */\n\nexport interface TryCatchResult<T> {\n /**\n * Successful resolved value.\n * Present only when the operation succeeded.\n */\n data?: T\n /**\n * Captured error (unknown safe). Present only when the operation failed.\n */\n error?: unknown\n}\n\n/**\n * Type guard to check if the result represents an error state.\n */\nexport function isTryCatchError<T>(\n result: TryCatchResult<T>,\n): result is { error: unknown; data?: undefined } {\n return typeof result !== 'undefined' && 'error' in result && result.error !== undefined\n}\n\n/**\n * Type guard to check if the result represents a success state.\n */\nexport function isTryCatchSuccess<T>(\n result: TryCatchResult<T>,\n): result is { data: T; error?: undefined } {\n return typeof result !== 'undefined' && 'data' in result && result.data !== undefined\n}\n\n/**\n * Core helper: executes an async operation (promise or function returning a promise)\n * and returns a result object containing either `data` or `error`.\n *\n * It guarantees mutual exclusivity: never both `data` and `error`.\n *\n * @example\n * const { data, error } = await tryCatch(fetchUser(id))\n * if (error) return handle(error)\n * return doSomething(data)\n */\nexport async function tryCatch<T>(\n input: Promise<T> | (() => Promise<T>),\n): Promise<TryCatchResult<T>> {\n try {\n const value = await (typeof input === 'function' ? input() : input)\n return { data: value }\n } catch (err) {\n return { error: err }\n }\n}\n\n/**\n * Unwraps a TryCatchResult, throwing if it contains an error.\n *\n * Use this when you want linear code flow but still leverage the helper\n * upstream (e.g., to capture metrics, logs, etc.).\n */\nexport function unwrapOrThrow<T>(result: TryCatchResult<T>): T {\n if (isTryCatchError(result)) {\n // Re-throw original error (preserve stack)\n throw result.error\n }\n return result.data as T\n}\n\n/**\n * Convenience helper to provide a fallback value when operation fails.\n *\n * @examp