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
TypeScript
/**
* 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