/* METADATA { "name": "tasker", "display_name": { "zh": "Tasker 触发器", "en": "Tasker Trigger" }, "description": { "zh": "集成 Tasker 插件事件触发工具,通过本包可向 Tasker 发送事件。", "en": "Integration for triggering Tasker plugin events. This package lets you send events to Tasker." }, "enabledByDefault": false, "category": "Workflow", "tools": [ { "name": "trigger_tasker_event", "description": { "zh": "触发一个 Tasker 事件。使用 task_type 指定事件类型,可传 arg1..arg5 或 args_json。", "en": "Trigger a Tasker event. Use task_type to specify the event type. You can pass arg1..arg5 or args_json." }, "parameters": [ { "name": "task_type", "description": { "zh": "事件类型标识", "en": "Event type identifier" }, "type": "string", "required": true }, { "name": "arg1", "description": { "zh": "可选参数1", "en": "Optional argument 1" }, "type": "string", "required": false }, { "name": "arg2", "description": { "zh": "可选参数2", "en": "Optional argument 2" }, "type": "string", "required": false }, { "name": "arg3", "description": { "zh": "可选参数3", "en": "Optional argument 3" }, "type": "string", "required": false }, { "name": "arg4", "description": { "zh": "可选参数4", "en": "Optional argument 4" }, "type": "string", "required": false }, { "name": "arg5", "description": { "zh": "可选参数5", "en": "Optional argument 5" }, "type": "string", "required": false }, { "name": "args_json", "description": { "zh": "以JSON形式传递任意参数", "en": "Pass arbitrary parameters as a JSON string" }, "type": "string", "required": false } ] } ] }*/ /// const TaskerIntegration = (function () { async function trigger_tasker_event(params: Tasker.TriggerTaskerEventParams) { const data: string = await Tools.Tasker.triggerEvent(params); return { success: true, message: "Tasker 事件已触发", data }; } async function wrapToolExecution(func: (params: any) => Promise, params?: any) { try { const result = await func(params || {}); complete(result); } catch (error: any) { console.error(`Tool ${func.name} failed unexpectedly`, error); complete({ success: false, message: String(error && error.message ? error.message : error) }); } } return { trigger_tasker_event: (params?: Tasker.TriggerTaskerEventParams) => wrapToolExecution(trigger_tasker_event, params) }; })(); exports.trigger_tasker_event = TaskerIntegration.trigger_tasker_event;