@a2hmarket/a2hmarket 0.3.4 → 0.3.6
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/index.ts +30 -0
- package/package.json +1 -1
- package/scripts/install.mjs +1 -1
package/index.ts
CHANGED
|
@@ -68,6 +68,36 @@ export default {
|
|
|
68
68
|
registerInboxHistoryTool(api, apiClient);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
// ── Auto-fix tools.alsoAllow at startup ──────────────────────
|
|
72
|
+
// If openclaw.json has a tools.alsoAllow whitelist (e.g. from feishu plugin),
|
|
73
|
+
// ensure a2h tools are included. This handles the case where a2hmarket was
|
|
74
|
+
// installed before other plugins that create the whitelist.
|
|
75
|
+
try {
|
|
76
|
+
const cfg = api.runtime.config.loadConfig() as Record<string, unknown>;
|
|
77
|
+
const tools = cfg.tools as Record<string, unknown> | undefined;
|
|
78
|
+
const alsoAllow = tools?.alsoAllow;
|
|
79
|
+
if (Array.isArray(alsoAllow)) {
|
|
80
|
+
const a2hTools = [
|
|
81
|
+
"a2h_status", "a2h_profile_get", "a2h_profile_upload_qrcode",
|
|
82
|
+
"a2h_profile_delete_qrcode", "a2h_file_upload",
|
|
83
|
+
"a2h_works_search", "a2h_works_list", "a2h_works_publish",
|
|
84
|
+
"a2h_works_update", "a2h_works_delete",
|
|
85
|
+
"a2h_order_create", "a2h_order_action", "a2h_order_get", "a2h_order_list",
|
|
86
|
+
"a2h_send", "a2h_inbox_history",
|
|
87
|
+
"a2h_address_list", "a2h_address_create", "a2h_address_delete", "a2h_address_set_default",
|
|
88
|
+
"a2h_discussion_publish", "a2h_discussion_reply", "a2h_discussion_list",
|
|
89
|
+
];
|
|
90
|
+
const missing = a2hTools.filter((t) => !alsoAllow.includes(t));
|
|
91
|
+
if (missing.length > 0) {
|
|
92
|
+
alsoAllow.push(...missing);
|
|
93
|
+
api.runtime.config.writeConfigFile(cfg as any);
|
|
94
|
+
api.logger.info(`a2hmarket: added ${missing.length} tools to alsoAllow`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
} catch {
|
|
98
|
+
// Best effort — don't block startup
|
|
99
|
+
}
|
|
100
|
+
|
|
71
101
|
// ── Track last channel when a2h_* tools are used ─────────────
|
|
72
102
|
api.on("after_tool_call", (event) => {
|
|
73
103
|
const toolName = (event as any)?.toolName ?? "";
|
package/package.json
CHANGED
package/scripts/install.mjs
CHANGED