用途:在 Truto 配置中编写 JSONata 表达式,所有出现 JSONata 的配置均可通过公开 HTTP API 编辑,无需 fork 平台。
主要能力:支持统一 API 映射覆盖(response_mapping、query_mapping、request_body_mapping、request_header_mapping、response_header_mapping、path_mapping、error_mapping、resource/method.expression、is_partial_expression、before/after 的 run_if、side_load 映射);自定义统一模型;按集成账号覆盖 unified_model_override;环境集成覆盖(error_expression、authorization、pagination、rate_limit、webhook);Sync Job V4 模板(transform、add_context、update_state、run_if、args_validation、request.query/body);工作流、Daemon Jobs、定时动作的 run_if 与 args_validation。运行时为 @truto/truto-jsonata,在标准 JSONata 上扩展自定义 $ 函数,涵盖编码与哈希、货币换算、lodash 风格数组对象操作、解析、文件与 Blob、SQL 辅助、标识符、字符串相似度、层级排序、日期时间、Markdown/HTML/Notion/Slack/Google Docs/ADF/PDF 转换、XML/CSV/Parquet/SQL 数据格式及 AI 辅助。
使用方式:表达式以 JSON 字符串提交,内部双引号需转义;多语句用 ( ... ; ... ; 最终表达式 );变量绑定 $name := value;含连字符的键用反引号。发布前用 truto jsonata eval --expression '<jsonata>' --input context.json 本地校验,response_mapping 也可用 truto unified test-mapping。
限制:不得臆造 $ 函数,未列出的函数不存在;非平凡调用前须查阅对应参考文件;lodash 风格过滤为 $lofilter,查找为 $find,避免与 JSONata 内置 $filter 混淆。具体函数签名与选项以官方参考为准。