用途:该规则用于 Domo App Platform 应用代码内对 Code Engine 运行时的函数调用,而非包的创建/更新编排(后者由 code-engine-create、code-engine-update 等 CLI 技能处理)。
主要能力:采用契约优先模式调用 Code Engine 函数,推荐使用 domo.post('/domo/codeengine/v2/packages/{alias}', params) 直接调用;支持在清单(manifest)中以 packagesMapping 定义每个包的名称、别名、packageId、版本、函数名、参数与输出契约;要求版本固定:若需确定性构建,应显式设置 "version": "x.y.z",不要留空为 null(除非用户明确需要非固定/最新行为)。
使用方式:先安装依赖 npm install ryuu.js,再在代码中 import domo from 'ryuu.js',随后以 await domo.post(...) 调用。首次集成时应打印响应以确认实际结构;解析时需处理 body/data/原始响应以及可能存在的嵌套 response 信封(最多 6 层),并从 output、result、value 等字段中提取数值、字符串或对象输出;输出无效时应抛出错误。同时要为用户明确披露输入参数名、类型、nullable 期望,输出名称、类型与形态,以及是否包裹响应信封。
发现函数签名:调用 Domo 提供的全局包(如 DOMO Notifications、DOMO DataSets、DOMO Users)时,REST API 返回的 functions 为空,无法发现导出函数名与参数签名;应前往 https://{instance}.domo.com/codeengine/{packageId} 阅读包源码,确认导出函数名、位置参数顺序(按位置映射,而非键名)及可选/可空参数。例如 DOMO Notifications(03ba6971-98d0-4654-9bfd-aa897816df33)中的 sendEmail 参数为 recipientEmails、subject、body、personRecipients、groupRecipients、attachments、attachment、includeReplyAll,其中 recipientEmails 是单个逗号分隔字符串而非数组。
适用场景与限制:适用于应用运行时调用 Code Engine 函数并校验响应结构;不负责包生命周期管理。暂未提供具体收费、价格或平台信息。