import { type HostBridgeCommandResult, type HostBridgeToolContext, type HostBridgeToolLogger, type HostBridgeToolResult } from "./host-bridge-tools.js"; import { type HostAdapterCapabilityHandshakeV1 } from "./host-adapter-capabilities.js"; export { HOST_ADAPTER_CAPABILITY_CONTRACT, HOST_ADAPTER_CAPABILITY_VERSION, HOST_ADAPTER_SKILL_NAME, createHostAdapterCapabilityHandshake, verifyHostAdapterCapabilityHandshake } from "./host-adapter-capabilities.js"; export type { HostAdapterCapabilityHandshakeV1, HostAdapterCapabilitySource } from "./host-adapter-capabilities.js"; export type { HostBridgeCommandResult, HostBridgeToolContext, HostBridgeToolLogger, HostBridgeToolResult } from "./host-bridge-tools.js"; export { createTrustedHostProfileRuntime, hostProfileRelayEnvironment } from "./host-profile-runtime.js"; export type { CreateTrustedHostProfileRuntimeOptions, TrustedHostProfileRuntimeV1 } from "./host-profile-runtime.js"; /** Stable relay entrypoint for native Host connector packages. */ export declare const defaultHostAdapterRelayPath: string; export interface HostAdapterControllerContext extends HostBridgeToolContext { /** Exact Host-owned controller incarnation; never derive this from text. */ readonly authority: object; } export type HostAdapterEnvironmentContext = HostBridgeToolContext; export interface HostAdapterToolMetadata { readonly name: string; readonly description: string; readonly inputSchema: Readonly>; } export interface HostAdapterCommandMetadata { readonly name: string; readonly description: string; readonly acceptsArgs: boolean; } export interface HostAdapterLifecycle { readonly id: string; start(): void; stop(): Promise; } export interface CreateHostAdapterOptions { readonly relayPath?: string; readonly environmentForContext: (context: HostAdapterEnvironmentContext) => NodeJS.ProcessEnv; /** Fixed child environment used by the one Host-owned lifecycle service. */ readonly lifecycleEnvironment?: NodeJS.ProcessEnv; readonly lifecycleIntervalMs?: number; readonly pluginConfig?: Readonly>; readonly logger: HostBridgeToolLogger; } export interface HostAdapter { readonly command: HostAdapterCommandMetadata; readonly tools: readonly HostAdapterToolMetadata[]; readonly capabilityHandshake: HostAdapterCapabilityHandshakeV1; readonly lifecycle: HostAdapterLifecycle; verifyCapabilityHandshake(skillDocument: string, registeredToolNames?: readonly string[]): HostAdapterCapabilityHandshakeV1; executeCommand(context: HostAdapterControllerContext, args: string, signal?: AbortSignal): Promise; executeTool(context: HostAdapterControllerContext, name: string, toolCallId: string, args: Readonly>, signal?: AbortSignal): Promise; /** Drop private action/snapshot authority when the Host disposes an owner. */ disposeContext(authority: object): void; } /** * Adapt AKK's established slash command and ordered semantic tools to a Host. * * Public metadata is read from the shared catalog exactly once. Executable * registries are created lazily per exact Host authority object so private * approvals, action offers, * resume snapshots, and idempotency identities cannot leak across controllers. */ export declare function createHostAdapter(options: CreateHostAdapterOptions): HostAdapter;