UNPKG

aiwg

Version:

Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo

36 lines 1.99 kB
/** * hook-bridge — cross-provider hook translation per ADR-3. * * Public API: bridgeAll(sources, providers, opts) translates every source * for every provider, returning a flat list of TranslateResult. Per ADR-3 * §7 autoInstall policy, the orchestrator passes the explicitly-enabled * providers (operator opts in via --enable-cross-provider-hooks plus per- * provider flags); this module doesn't make that policy decision itself. * * @module smiths/hook-bridge */ import type { HookSource, TranslateOptions, TranslateResult, ProviderTranslator } from './types.js'; export type { HookSource, HookEvent, HookExitSemantic, TranslateOptions, TranslateResult, ProviderTranslator } from './types.js'; export { AIWG_ENV_VARS, NATIVE_ENV_VAR_MAP } from './types.js'; export { substituteEnvVars, generateShimBash, EXIT_CODE_MAP } from './shim.js'; export { translateForCodex, renderCodexHookToml, injectHookBlock as injectCodexHookBlock } from './codex-translator.js'; export { translateForCopilot } from './copilot-translator.js'; export { translateForFactory } from './factory-translator.js'; export { translateForHermes } from './hermes-translator.js'; export { loadHookSources } from './loader.js'; /** * Provider id → translator function. Adding a new provider requires: * 1. New file `<provider>-translator.ts` exporting a ProviderTranslator * 2. Entry below * 3. Native env var entry in types.ts NATIVE_ENV_VAR_MAP * 4. Native exit code entry in shim.ts EXIT_CODE_MAP * 5. Native event mapping in the per-provider file */ export declare const TRANSLATORS: Record<string, ProviderTranslator>; /** * Translate one source across an explicit list of providers. Per-provider * failures are captured as TranslateResult entries (skipped=true with * reason); they do not throw to the caller. */ export declare function bridgeAll(sources: HookSource[], providers: string[], options: TranslateOptions): Promise<TranslateResult[]>; //# sourceMappingURL=index.d.ts.map