@hirey-ai/hirey 1.0.14 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -7
- package/dist/index.js.map +1 -1
- package/dist/tools/capabilities.d.ts +4 -2
- package/dist/tools/capabilities.d.ts.map +1 -1
- package/dist/tools/capabilities.js +56 -51
- package/dist/tools/capabilities.js.map +1 -1
- package/dist/tools/control.d.ts.map +1 -1
- package/dist/tools/control.js +9 -5
- package/dist/tools/control.js.map +1 -1
- package/dist/utils/error-detail.d.ts +7 -0
- package/dist/utils/error-detail.d.ts.map +1 -0
- package/dist/utils/error-detail.js +32 -0
- package/dist/utils/error-detail.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,YAAY,CAAC;AAoBpB,wBAA8B,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgG5F"}
|
package/dist/index.js
CHANGED
|
@@ -7,8 +7,15 @@
|
|
|
7
7
|
// 2. 缺能力 fail-soft:老 host 可能没 registerService 或 registerHttpRoute;feature-detect 后
|
|
8
8
|
// skip + warn,不要 throw 让 host 起不来。
|
|
9
9
|
// 3. 真业务全部委托给 @hirey-ai/agent-sdk + 平台 /v1/capabilities/<id>/call,本文件只做 wiring。
|
|
10
|
+
// 4. capability tool schema 不在 plugin 内部 hardcode:从 prod /v1/capabilities 拉 PublicAgentCapability
|
|
11
|
+
// 列表,原样把 capability.parameters 当 OpenClaw tool parameters 用。一处对齐 prod,14 个 tool
|
|
12
|
+
// 全部受益,未来平台加新 capability 也不用改 plugin。
|
|
13
|
+
// 这一段是 async fetch;OpenClaw 的 register(api) 类型是 sync,但运行时支持 async / await:
|
|
14
|
+
// plugin loader 在 dynamic import 后会 `await register(api)`(实测兼容 Promise<void>)。这里
|
|
15
|
+
// 显式 await,防止"factory 已被注册但 schema 还没拉到" 的窗口让 LLM 看到空 schema 又调出
|
|
16
|
+
// "unsupported action"。
|
|
10
17
|
import { buildAllControlTools } from './tools/control.js';
|
|
11
|
-
import { buildAllCapabilityTools } from './tools/capabilities.js';
|
|
18
|
+
import { buildAllCapabilityTools, fetchPublicCapabilities } from './tools/capabilities.js';
|
|
12
19
|
import { buildAgentEventsService } from './services/agent-events.js';
|
|
13
20
|
import { buildWebhookRoute } from './routes/webhook.js';
|
|
14
21
|
import { ensurePluginToolsAlsoAllowed } from './utils/openclaw-config.js';
|
|
@@ -23,7 +30,7 @@ function defaultedConfig(raw) {
|
|
|
23
30
|
claimLeaseMs: Math.max(1000, Number(raw?.claimLeaseMs ?? 60000)),
|
|
24
31
|
};
|
|
25
32
|
}
|
|
26
|
-
export default function registerHiOpenClawPlugin(api) {
|
|
33
|
+
export default async function registerHiOpenClawPlugin(api) {
|
|
27
34
|
if (_registeredApis.has(api))
|
|
28
35
|
return;
|
|
29
36
|
_registeredApis.add(api);
|
|
@@ -39,12 +46,32 @@ export default function registerHiOpenClawPlugin(api) {
|
|
|
39
46
|
}
|
|
40
47
|
else {
|
|
41
48
|
const controlTools = buildAllControlTools(config);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
// 控制工具不依赖 platform,先注册掉;capability 工具要等 schema 拉到才能注册,避免
|
|
50
|
+
// 先用空 schema 注册再被 OpenClaw / OpenAI strict mode 静默剥掉所有 properties,
|
|
51
|
+
// 调用方传 action 等字段被丢,落到平台时变成空 args 报 "unsupported action"。
|
|
52
|
+
for (const tool of controlTools) {
|
|
45
53
|
api.registerTool(() => tool, { names: [tool.name] });
|
|
46
54
|
}
|
|
47
|
-
|
|
55
|
+
try {
|
|
56
|
+
const capabilitySpecs = await fetchPublicCapabilities(config.platformBaseUrl);
|
|
57
|
+
const capabilityTools = buildAllCapabilityTools(config, capabilitySpecs);
|
|
58
|
+
for (const tool of capabilityTools) {
|
|
59
|
+
api.registerTool(() => tool, { names: [tool.name] });
|
|
60
|
+
}
|
|
61
|
+
const allTools = [...controlTools, ...capabilityTools];
|
|
62
|
+
logger.info?.('[hi-openclaw-plugin] registered tools', {
|
|
63
|
+
count: allTools.length,
|
|
64
|
+
control_tools: controlTools.map(t => t.name),
|
|
65
|
+
capability_tools: capabilityTools.map(t => t.name),
|
|
66
|
+
capability_schema_source: `${config.platformBaseUrl}/v1/capabilities`,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
// platform 不可达 / contract 异常 —— capability tool 无法拿到 schema,不能用 hardcoded
|
|
71
|
+
// 兜底(schema 不一致比工具缺席更危险,会让 LLM 在 owner 面前幻觉调用形态)。这里只
|
|
72
|
+
// 注册控制工具,业务工具留空,让 owner 通过 hi_agent_doctor / hi_agent_status 看到为什么。
|
|
73
|
+
logger.error?.('[hi-openclaw-plugin] failed to fetch platform capability schemas; capability tools will NOT be registered. Resolve network/platform reachability and reload the plugin.', { platform_base_url: config.platformBaseUrl, error: String(err?.message || err) });
|
|
74
|
+
}
|
|
48
75
|
}
|
|
49
76
|
// ---- service / route ----
|
|
50
77
|
// 1.0.9 起恢复 daemon claim/SSE 模式,但走 push 推送架构(拉到 event 后 POST hooks/agent
|
|
@@ -87,6 +114,6 @@ export default function registerHiOpenClawPlugin(api) {
|
|
|
87
114
|
error: String(err?.message || err),
|
|
88
115
|
});
|
|
89
116
|
});
|
|
90
|
-
logger.info?.('[hi-openclaw-plugin]
|
|
117
|
+
logger.info?.('[hi-openclaw-plugin] register complete', { platform: config.platformBaseUrl, profile: config.profile, webhook: config.webhookPath });
|
|
91
118
|
}
|
|
92
119
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,4EAA4E;AAC5E,EAAE;AACF,QAAQ;AACR,qEAAqE;AACrE,8CAA8C;AAC9C,mFAAmF;AACnF,sCAAsC;AACtC,gFAAgF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { PluginToolDefinition, HiOpenClawPluginConfig } from '../types.js';
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
2
|
+
import type { PublicAgentCapability } from '@hirey-ai/agent-sdk';
|
|
3
|
+
export declare function fetchPublicCapabilities(platformBaseUrl: string): Promise<PublicAgentCapability[]>;
|
|
4
|
+
export declare function buildAllCapabilityTools(config: Required<HiOpenClawPluginConfig>, specs: readonly PublicAgentCapability[]): PluginToolDefinition[];
|
|
5
|
+
export declare function getCapabilityToolNames(specs: readonly PublicAgentCapability[]): string[];
|
|
4
6
|
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,oBAAoB,EAAoB,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAIlG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAsEjE,wBAAsB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAQvG;AAID,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EACxC,KAAK,EAAE,SAAS,qBAAqB,EAAE,GACtC,oBAAoB,EAAE,CAExB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAExF"}
|
|
@@ -1,43 +1,24 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Hi 平台 capability tool 的 generic dispatcher。每个 capability 都通过 platform 的
|
|
2
2
|
// /v1/capabilities/<capability_id>/call 调用——平台那侧已经做完整的 input schema 校验、
|
|
3
3
|
// authorization、业务逻辑。plugin 这边只做 thin 转发。
|
|
4
4
|
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
|
|
5
|
+
// 注意 schema 来源:plugin 在 register 阶段从 prod 平台 /v1/capabilities 拉一次完整
|
|
6
|
+
// PublicCapability 列表(含 14 个 capability 的 capability_id / tool_name / description /
|
|
7
|
+
// 完整 input schema),用平台返回的 schema 作为 OpenClaw registerTool 的 parameters。
|
|
8
|
+
// 这样 LLM / openclaw-control-ui / 任意 strict-mode 的 tool calling 框架都能直接看到
|
|
9
|
+
// 跟 prod 完全一致的 properties / required / enum 列表,不会因为本地 plugin 写死的极简
|
|
10
|
+
// schema(只有 additionalProperties:true,没有任何 properties 声明)导致 strict 校验把
|
|
11
|
+
// action / listing_id / 之类调用方实际想传的参数静默丢掉,让平台收到空 args 后回
|
|
12
|
+
// "unsupported action"。
|
|
13
|
+
//
|
|
14
|
+
// 1.0.16 之前的版本里这里写的是 14 个 hardcoded CapabilitySpec + bare schema,会发生
|
|
15
|
+
// 上述静默丢字段问题(线上报告:listing_taxonomy(action="list_types") 422 unsupported
|
|
16
|
+
// action / agent_listings(action="upsert") 422 unsupported action)。现在改成"启动时
|
|
17
|
+
// 一次拉取,原样回放 prod schema",一处对齐,14 个 tool 全部受益,未来平台加新
|
|
18
|
+
// capability 也不需要改 plugin 代码。
|
|
19
|
+
import { buildAuthorizedClients, buildPublicClients } from '../clients.js';
|
|
9
20
|
import { resolveStateDir } from '../state.js';
|
|
10
|
-
|
|
11
|
-
const CAPABILITIES = [
|
|
12
|
-
{ capability_id: 'hi.agent-listings', tool_name: 'agent_listings',
|
|
13
|
-
description: 'Manage Hirey AI listings — upsert (create or update with full canonical schema: listing_type_id from listing_taxonomy + canonical self/target roles + facts/requirements), update_status, get, list. Use this to publish what the owner is looking for or offering on Hi.' },
|
|
14
|
-
{ capability_id: 'hi.matching-sessions', tool_name: 'matching_sessions',
|
|
15
|
-
description: 'Drive Hi match feed and search against an owner-published listing. Actions: match_feed (recommendation feed), search (sharper structured query when feed is sparse), contact_match (continue on a chosen match → creates pairing). Returns target_preview_text + compatibility_status per result.' },
|
|
16
|
-
{ capability_id: 'hi.pairings', tool_name: 'pairings',
|
|
17
|
-
description: 'Pair-level continuation. Actions: create (start pairing from a match selection_key), timeline (canonical chat history + action cards + pending meeting actions), contact_target (send a message to the matched peer). Always read timeline before deciding the next pairing action.' },
|
|
18
|
-
{ capability_id: 'hi.thread-meetings', tool_name: 'thread_meetings',
|
|
19
|
-
description: 'Meeting flow inside a pairing. Actions: start (open a meeting flow with flow_kind=start_now|need_slots|propose_slot, modality=zoom|phone), respond (accept_proposed_slot|share_availability|select_slot|approve|reject|decline depending on the action card primary_cta), get (read current state). Use propose_slot when the user has one exact future slot in mind, need_slots to exchange availability.' },
|
|
20
|
-
{ capability_id: 'hi.conversations', tool_name: 'conversations',
|
|
21
|
-
description: 'Inspect agent.message.created envelopes and reply through a conversation thread. Used when a webhook delivers a message that needs a reply through the same thread rather than the pairing surface.' },
|
|
22
|
-
{ capability_id: 'hi.listing-taxonomy', tool_name: 'listing_taxonomy',
|
|
23
|
-
description: 'Hi listing taxonomy lookup. Actions: list_types (canonical listing_type_id values like "recruiting", "housing", "fundraising", "social_or_friendship", etc), get_roles (canonical self/target role_type_id options for a given listing_type_id). Always call this before agent_listings(action="upsert") to pick canonical values; freelancing role names is rejected by the platform.' },
|
|
24
|
-
{ capability_id: 'hi.agent-credits', tool_name: 'agent_credits',
|
|
25
|
-
description: 'Read remaining Hi agent credits + pricing tier for the current owner. Used when the user asks about their Hi quota or hits a paid feature.' },
|
|
26
|
-
{ capability_id: 'hi.content-get', tool_name: 'content_get',
|
|
27
|
-
description: 'Read structured content stored on Hi (listing details, profile previews, etc) by content_id. Mostly used internally to expand previews returned by other tools.' },
|
|
28
|
-
{ capability_id: 'hi.content-render', tool_name: 'content_render',
|
|
29
|
-
description: 'Render Hi content into a presentation surface (markdown, plain text, structured cards). Use when surfacing a listing preview or profile to the owner.' },
|
|
30
|
-
{ capability_id: 'hi.faq-get', tool_name: 'faq_get',
|
|
31
|
-
description: 'Read a specific Hirey AI FAQ entry by id. Used when the user asks a how-to question we already have a canonical answer for.' },
|
|
32
|
-
{ capability_id: 'hi.faq-search', tool_name: 'faq_search',
|
|
33
|
-
description: 'Free-text search over Hirey AI FAQ. Use this before answering a generic Hi how-to question with your own words; if the FAQ has it, prefer the canonical text.' },
|
|
34
|
-
{ capability_id: 'hi.social-org', tool_name: 'social_org',
|
|
35
|
-
description: 'Read or update social-org metadata on Hi — companies, teams, organizations the owner is part of. Used for org-aware matching (e.g. "I want to find a co-founder, not anyone in my own org").' },
|
|
36
|
-
{ capability_id: 'hi.social-permissions', tool_name: 'social_permissions',
|
|
37
|
-
description: 'Manage who can see / contact this owner on Hi. Owner-controlled visibility settings.' },
|
|
38
|
-
{ capability_id: 'hi.social-relationships', tool_name: 'social_relationships',
|
|
39
|
-
description: 'Read or write structured relationships between Hi agents (knows / worked-with / introduced-by) — used by stronger match algorithms.' },
|
|
40
|
-
];
|
|
21
|
+
import { buildErrorDetailFields } from '../utils/error-detail.js';
|
|
41
22
|
function defaultStateDir(config) {
|
|
42
23
|
return config.stateDir || resolveStateDir(config.profile);
|
|
43
24
|
}
|
|
@@ -53,19 +34,25 @@ function asErrorResult(error, details) {
|
|
|
53
34
|
Object.assign(payload, details);
|
|
54
35
|
return { ...asJsonResult(payload), isError: true };
|
|
55
36
|
}
|
|
37
|
+
// 把 PublicAgentCapability 的 parameters 原样作为 OpenClaw tool parameters。
|
|
38
|
+
// 不在 plugin 这边做任何 properties / required 加工 —— 平台 schema 就是 single source of truth。
|
|
39
|
+
// 唯一的安全网:如果平台返回的 parameters 不是 plain object,给一个最小可用 schema(type:object,
|
|
40
|
+
// additionalProperties:true)让 OpenClaw 不至于 register 失败;这种情况理论上不该发生,发生
|
|
41
|
+
// 了说明平台 contract 退化或拉取过程出错,留 logger.warn 由 register caller 自己负责告警。
|
|
42
|
+
function pickPublicSchema(spec) {
|
|
43
|
+
const params = spec.parameters;
|
|
44
|
+
if (params && typeof params === 'object' && !Array.isArray(params)) {
|
|
45
|
+
return params;
|
|
46
|
+
}
|
|
47
|
+
return { type: 'object', additionalProperties: true };
|
|
48
|
+
}
|
|
56
49
|
function buildCapabilityTool(spec, config) {
|
|
57
50
|
const stateDir = defaultStateDir(config);
|
|
58
51
|
return {
|
|
59
52
|
name: spec.tool_name,
|
|
60
|
-
label: `Hi ${spec.tool_name}`,
|
|
61
|
-
description: spec.description
|
|
62
|
-
parameters:
|
|
63
|
-
type: 'object',
|
|
64
|
-
// 平台校验严格 — 每个 capability 自己有 schema。这里 plugin 这边接 generic object,
|
|
65
|
-
// 把 args 整体转发给平台 /v1/capabilities/<id>/call,由平台返回校验错误。
|
|
66
|
-
additionalProperties: true,
|
|
67
|
-
description: `Arguments for capability ${spec.capability_id}. Required field is "action" (capability-specific values). Other fields depend on the chosen action — fetch ${spec.capability_id} schema if you are unsure.`,
|
|
68
|
-
},
|
|
53
|
+
label: spec.title || `Hi ${spec.tool_name}`,
|
|
54
|
+
description: spec.description || `Hi capability ${spec.capability_id}.`,
|
|
55
|
+
parameters: pickPublicSchema(spec),
|
|
69
56
|
async execute(_id, params) {
|
|
70
57
|
try {
|
|
71
58
|
const auth = await buildAuthorizedClients({
|
|
@@ -75,19 +62,37 @@ function buildCapabilityTool(spec, config) {
|
|
|
75
62
|
return asJsonResult({ ok: true, ...result, capability_id: spec.capability_id });
|
|
76
63
|
}
|
|
77
64
|
catch (err) {
|
|
78
|
-
//
|
|
65
|
+
// 平台 4xx 的诊断 detail 全在 err.detail.data 里(缺哪个字段 / required_for_action /
|
|
66
|
+
// enum 候选值等),err.message 只是 body.error 字段的一句话。早先这里只 surface
|
|
67
|
+
// err.message,等同于把诊断 swallow 掉——LLM 收到 tool result 只剩"missing fields"
|
|
68
|
+
// 一句话,不知道缺哪个字段,在 owner 面前盲调死循环。详见 utils/error-detail.ts。
|
|
79
69
|
return asErrorResult('capability_call_failed', {
|
|
80
70
|
capability_id: spec.capability_id,
|
|
81
|
-
|
|
71
|
+
...buildErrorDetailFields(err),
|
|
82
72
|
});
|
|
83
73
|
}
|
|
84
74
|
},
|
|
85
75
|
};
|
|
86
76
|
}
|
|
87
|
-
|
|
88
|
-
|
|
77
|
+
// 启动时同步拉一次 platform /v1/capabilities,返回 14 个(或未来 N 个)PublicAgentCapability。
|
|
78
|
+
// 这里不缓存到 module-level:调用方(register 入口)持有结果,下一次 plugin reload 自然重新拉。
|
|
79
|
+
// 不做 retry / fallback:拉不到说明 platform 不可达或 contract 出错,让调用方决定怎么 surface
|
|
80
|
+
// (日志 / 不 register tools / throw 都可以),不要在 plugin 内部偷偷塞 hardcoded schema。
|
|
81
|
+
export async function fetchPublicCapabilities(platformBaseUrl) {
|
|
82
|
+
const clients = await buildPublicClients(platformBaseUrl);
|
|
83
|
+
const resp = await clients.platform.listCapabilities();
|
|
84
|
+
const items = Array.isArray(resp.capabilities) ? resp.capabilities : [];
|
|
85
|
+
if (items.length === 0) {
|
|
86
|
+
throw new Error('hi_capabilities_empty: platform /v1/capabilities returned no items');
|
|
87
|
+
}
|
|
88
|
+
return items;
|
|
89
|
+
}
|
|
90
|
+
// 用一组 PublicAgentCapability 实例化对应的 OpenClaw plugin tools。
|
|
91
|
+
// 每个 capability 一个 tool;tool 的 parameters = capability.parameters(原样)。
|
|
92
|
+
export function buildAllCapabilityTools(config, specs) {
|
|
93
|
+
return specs.map((spec) => buildCapabilityTool(spec, config));
|
|
89
94
|
}
|
|
90
|
-
export function getCapabilityToolNames() {
|
|
91
|
-
return
|
|
95
|
+
export function getCapabilityToolNames(specs) {
|
|
96
|
+
return specs.map((c) => c.tool_name);
|
|
92
97
|
}
|
|
93
98
|
//# sourceMappingURL=capabilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/tools/control.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAoB,sBAAsB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/tools/control.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAoB,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAoClG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,oBAAoB,CA+DrG;AAGD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,oBAAoB,CAiOtG;AAGD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,oBAAoB,CAuFrG;AAGD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,oBAAoB,CA+BpG;AAMD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,oBAAoB,CAsEpG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,oBAAoB,EAAE,CAQrG"}
|
package/dist/tools/control.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { buildAuthorizedClients, buildPublicClients, loadStateWithQuarantine, peekQuarantineNotice, } from '../clients.js';
|
|
7
7
|
import { resolveStateDir, resolveStateFile, updateState, } from '../state.js';
|
|
8
8
|
import { ensureOpenClawHooksConfigured, ensurePluginToolsAlsoAllowed, readGatewayPort } from '../utils/openclaw-config.js';
|
|
9
|
+
import { buildErrorDetailFields } from '../utils/error-detail.js';
|
|
9
10
|
import fs from 'node:fs/promises';
|
|
10
11
|
function defaultStateDir(config) {
|
|
11
12
|
return config.stateDir || resolveStateDir(config.profile);
|
|
@@ -83,7 +84,7 @@ export function buildHiAgentStatusTool(config) {
|
|
|
83
84
|
return asJsonResult(summary);
|
|
84
85
|
}
|
|
85
86
|
catch (err) {
|
|
86
|
-
return asErrorResult('hi_agent_status_failed',
|
|
87
|
+
return asErrorResult('hi_agent_status_failed', buildErrorDetailFields(err));
|
|
87
88
|
}
|
|
88
89
|
},
|
|
89
90
|
};
|
|
@@ -294,7 +295,10 @@ export function buildHiAgentInstallTool(config) {
|
|
|
294
295
|
});
|
|
295
296
|
}
|
|
296
297
|
catch (err) {
|
|
297
|
-
return asErrorResult('hi_agent_install_failed', {
|
|
298
|
+
return asErrorResult('hi_agent_install_failed', {
|
|
299
|
+
...buildErrorDetailFields(err),
|
|
300
|
+
stack: err?.stack,
|
|
301
|
+
});
|
|
298
302
|
}
|
|
299
303
|
},
|
|
300
304
|
};
|
|
@@ -382,7 +386,7 @@ export function buildHiAgentDoctorTool(config) {
|
|
|
382
386
|
});
|
|
383
387
|
}
|
|
384
388
|
catch (err) {
|
|
385
|
-
return asErrorResult('hi_agent_doctor_failed',
|
|
389
|
+
return asErrorResult('hi_agent_doctor_failed', buildErrorDetailFields(err));
|
|
386
390
|
}
|
|
387
391
|
},
|
|
388
392
|
};
|
|
@@ -415,7 +419,7 @@ export function buildHiAgentResetTool(config) {
|
|
|
415
419
|
return asJsonResult({ ok: true, cleared: args.clear_state !== false, state_file: file });
|
|
416
420
|
}
|
|
417
421
|
catch (err) {
|
|
418
|
-
return asErrorResult('hi_agent_reset_failed',
|
|
422
|
+
return asErrorResult('hi_agent_reset_failed', buildErrorDetailFields(err));
|
|
419
423
|
}
|
|
420
424
|
},
|
|
421
425
|
};
|
|
@@ -491,7 +495,7 @@ export function buildHiPullEventsTool(config) {
|
|
|
491
495
|
});
|
|
492
496
|
}
|
|
493
497
|
catch (err) {
|
|
494
|
-
return asErrorResult('hi_pull_events_failed',
|
|
498
|
+
return asErrorResult('hi_pull_events_failed', buildErrorDetailFields(err));
|
|
495
499
|
}
|
|
496
500
|
},
|
|
497
501
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/tools/control.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/tools/control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-detail.d.ts","sourceRoot":"","sources":["../../src/utils/error-detail.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAatE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// 把 hi-agent-sdk / fetch / 任意 catch 里的 error 对象拍平成 LLM-friendly 的诊断字段。
|
|
2
|
+
//
|
|
3
|
+
// 为什么需要这个 util:
|
|
4
|
+
// - hi-agent-sdk 的 BaseHiClient.request 在收到 4xx 时 throw 一个 Error,把 platform 返回的
|
|
5
|
+
// 完整 JSON body 挂到 err.detail(含 422 校验诊断如 `{ missing: [...], required_for_action,
|
|
6
|
+
// path }`),HTTP status 挂到 err.status;err.message 只是 body.error 字段的浅复制。
|
|
7
|
+
// - 之前 plugin 的 tool execute 路径在 catch 里只 surface `String(err.message)`,等同于把
|
|
8
|
+
// platform 那侧专门为 LLM self-recovery 准备的结构化诊断 swallow 掉。LLM 收到 tool result
|
|
9
|
+
// 只剩一句 "missing fields",没法知道缺哪个字段,在 owner 面前只能干说"看不到具体缺哪个
|
|
10
|
+
// 字段"陷入盲调死循环。
|
|
11
|
+
// - 这个 helper 把 err.message + err.status + err.detail 一并 surface 出去;如果 err 没
|
|
12
|
+
// .detail(fs / dns / 网络层等非 SDK 错误),就只 surface message,行为退化但不丢信息。
|
|
13
|
+
//
|
|
14
|
+
// 14 个 capability tool + 5 个 control tool 全部走这个 util,一处 fix 修完一类问题。
|
|
15
|
+
// 未来加新 tool 时务必继续走这个 util 而不要 inline `String(err?.message || err)`。
|
|
16
|
+
export function buildErrorDetailFields(err) {
|
|
17
|
+
const message = String(err?.message || err || 'unknown_error');
|
|
18
|
+
const out = { error_message: message };
|
|
19
|
+
if (err && typeof err === 'object') {
|
|
20
|
+
const status = err.status;
|
|
21
|
+
if (typeof status === 'number')
|
|
22
|
+
out.status = status;
|
|
23
|
+
const platformDetail = err.detail;
|
|
24
|
+
// detail === undefined 时不 surface 这个字段(避免给 LLM 看到 `platform_response: null`
|
|
25
|
+
// 误解为"平台返回 null");只要 detail 存在(包括 detail === null 这种 SDK 显式 null),
|
|
26
|
+
// 就一并暴露原始 body,让 LLM 自己解构。
|
|
27
|
+
if (platformDetail !== undefined)
|
|
28
|
+
out.platform_response = platformDetail;
|
|
29
|
+
}
|
|
30
|
+
return out;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=error-detail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-detail.js","sourceRoot":"","sources":["../../src/utils/error-detail.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,gBAAgB;AAChB,gFAAgF;AAChF,mFAAmF;AACnF,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,4DAA4D;AAC5D,gBAAgB;AAChB,6EAA6E;AAC7E,mEAAmE;AACnE,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AAQpE,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,OAAO,GAAG,MAAM,CAAE,GAAW,EAAE,OAAO,IAAI,GAAG,IAAI,eAAe,CAAC,CAAC;IACxE,MAAM,GAAG,GAAsB,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IAC1D,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAI,GAAW,CAAC,MAAM,CAAC;QACnC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpD,MAAM,cAAc,GAAI,GAAW,CAAC,MAAM,CAAC;QAC3C,4EAA4E;QAC5E,mEAAmE;QACnE,2BAA2B;QAC3B,IAAI,cAAc,KAAK,SAAS;YAAE,GAAG,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|