chore: initial commit

This commit is contained in:
2026-10-22 17:07:08 +08:00
commit 0acef64f48
200 changed files with 35546 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
import type {NodeHandler} from '../../../types/bot/workflow/runtime.ts';
import type {WorkflowNodeTemplate} from '../../../types/bot/workflow/metadata.ts';
import {describe, failure_port, output, success_port} from '../metadata.ts';
export const config_template: WorkflowNodeTemplate = {
name: 'sleep', version: '1.0.0',
i18n: describe('等待', '按毫秒或游戏刻等待指定时长,再继续执行。'),
config: [
{name: 'mode', type: 'select', required: true, default: 'milliseconds',
i18n: describe('计时方式', '选择等待时长的单位。'),
options: [
{value: 'milliseconds', i18n: describe('毫秒', '按毫秒等待,1000 毫秒为 1 秒。')},
{value: 'ticks', i18n: describe('游戏刻', '按游戏刻等待,实际时长取决于游戏刻推进速度。')},
]},
{name: 'value', type: 'number', required: true, default: 1000, integer: true, min: 0, max: 2_147_483_647,
i18n: describe('等待时长', '使用所选单位的非负整数时长,0 表示不增加等待时长。')},
],
output: output('null', '等待结果', '等待完成后输出 null。'),
ports: [success_port, failure_port],
};
export const execute: NodeHandler = async (node, _state, signal, deps) => {
if (node.type !== 'sleep') throw new Error('Expected a sleep node');
signal.throwIfAborted();
await deps.sleep(node.config.mode, node.config.value, signal);
signal.throwIfAborted();
return {port: 'success', result: {status: 'success', output: null}};
};