import type { ConnectorConfig } from './config'; import type { PlatformId } from './platforms/base'; import { PROTOCOL_VERSION } from '@cutie-crypto/connector-core'; import type { AgentResult, RegisterResult, RunnerErrorEnvelope, StrategyKnowledgeResult } from '@cutie-crypto/connector-core'; declare const CONNECTOR_VERSION: string; /** * Adapter wrapper:保留旧接口签名(serverUrl, pairToken, agentPlatform[, capabilities]) * 内部转调 core/register,注入 os/version 信息。core 不知道 PlatformId union。 * * 约束 8:capabilities 可选,由 cli.ts 调用时传 `platform.getCapabilities()`。 * OpenClaw/Hermes 返回支持的 scene 列表;未传或显式 undefined 时 form 不带 capabilities 字段。 */ export declare function register(serverUrl: string, pairToken: string, agentPlatform: PlatformId, capabilities?: string[], backtest_tools_json?: string, remoteMaintenanceAllowed?: boolean): Promise; /** * Adapter wrapper:从 ConnectorConfig 抽出 server_url + connector_token 转调 core。 */ export declare function fetchStrategyKnowledge(config: ConnectorConfig): Promise; export interface AgentGatewayResponse { id?: string; status?: string; output?: Array<{ type: string; role?: string; content?: Array<{ type: string; text?: string; }>; }>; } /** * 本地 AI gateway 调用(OpenClaw/Hermes 用 HTTP)。zylos-cutie 不走这条路径 * (直接 spawn claude/codex CLI),所以这个函数留 adapter 包,不进 core。 * * 参数类型收窄到最小依赖(仅 gateway_url + gateway_secret),让 OpenClaw / * Hermes adapter 直接传自己的 narrow config 进来,无需 `as never` cast。 * * 0.2.0 break: * - 接收 `request.timeoutMs` 替代硬编码 60s(B6:server task.push.timeout_seconds 透传) * - 返回 `AgentResult | RunnerErrorEnvelope` 替代 `throw + Object.assign`(B5): * HTTP 4xx/5xx / 解析失败 / timeout / 网络错全部映射到结构化 envelope。 * 上层 OpenClaw / Hermes adapter 直接把返回值原样向上传给 core dispatcher。 * * 51 号新增:可选 `request.images`(base64 data URL 数组)。不传或空数组时请求体 * 保持 `{model, input: string}` 字节级不变(向后兼容);传了则 `input` 变成 * OpenAI Responses API 的结构化多模态输入(`input_text` + `input_image`)。 */ export declare function callAgentGateway(config: Pick, request: { message: string; model: string; timeoutMs: number; images?: string[]; }): Promise; /** * 探测本地 agent gateway 是否可达(粘性 lastError 修复,core 心跳前调用)。 * * 语义是"可达"而非"健康":任何 HTTP 响应(含 404——OpenClaw gateway 没有 * /health 端点)都算 true,只有网络错误(ECONNREFUSED / DNS / timeout)算 false。 * 与 lastError 的主要来源 GATEWAY_UNAVAILABLE(req.on('error'))语义互补: * 连接失败会记 lastError,连接恢复即可清除。 */ export declare function probeGatewayReachable(config: Pick, timeoutMs?: number): Promise; export type { RegisterResult, StrategyKnowledgeResult }; export { CONNECTOR_VERSION, PROTOCOL_VERSION };