关于 code-engine-create
用于创建 Domo Code Engine 包并准备函数负载的 Skill。它映射数据类型、同步应用清单条目,并验证创建的包版本。
主要功能
- 01创建包负载
- 02映射函数输入和输出类型
- 03同步清单包映射
- 04验证包版本和契约
- 05发布需明确批准
适用场景
- 01创建新的 Code Engine 包
- 02准备函数数据类型契约
- 03创建后更新应用清单
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ stahura/ domo-ai-vibe-rules --skill code-engine-create安装后在 Claude Code 中输入/code-engine-create确认已加载。
详细介绍
Code Engine 软件包创建(命令行)
使用此技能处理软件包创建工作流、载荷生成以及创建后的映射同步。
意图
此技能涵盖应用运行时调用技能范围之外的生命周期操作:
- 创建新的软件包外壳
- 发布首个软件包内容载荷
- 推断并规范化函数输入/输出数据类型
- 创建后更新应用
manifest.json的packagesMapping条目
有关应用内函数调用模式,请使用 ~/.agents/skills/code-engine/SKILL.md。
主要执行路径
优先使用 community-domo-cli:
community-domo-cli --instance <instance> code-engine create-package --body-file payload.json
当命令行路径不可用时的回退端点:
POST /api/codeengine/v2/packages
发布安全规则
硬性规则:除非用户明确说 "release",否则绝不调用任何 Code Engine 发布端点。
- 不要从上下文推断发布。
- 不要将发布作为 "finish"、"publish" 或 "make it work" 的一部分。
- 如果发布看起来是必要的,请停下来并先请求明确的发布批准。
必需的载荷结构
{
"name": "My Package",
"description": "Optional",
"code": "// JS source",
"environment": "LAMBDA",
"language": "JAVASCRIPT",
"manifest": {
"functions": [
{
"name": "myFunction",
"displayName": "My Function",
"description": "",
"inputs": [],
"parameters": [],
"output": {}
}
],
"configuration": {
"accountsMapping": []
}
}
}
创建语义:
POST /api/codeengine/v2/packages创建软件包或版本载荷目标。- 对于现有软件包上的新版本,在创建请求体中包含
id和version,并发送完整的代码/manifest 载荷。
数据类型映射规则(自动映射)
生成 manifest.functions[].inputs/parameters/output 时,应用以下默认值:
payload、params、config、data、body、options=>object- 表示计数/限制/偏移的名称 =>
decimal - 类布尔名称(
is*、has*、enabled、required)=>boolean - 标识符/文本字段(
*id、name、query、message)=>text - 未知项 =>
text - 输出默认值 =>
object
当 type 和 dataType 两个字段同时存在时,使用相同的类型值。
创建后 Manifest 跟进
创建成功后,更新应用 manifest.json 的 packagesMapping:
- 将
packageId设置为已创建的软件包 id - 将
version设置为返回的版本(或明确的目标版本) - 确保每个映射的函数具有匹配的
parameters和output
如果软件包 ID/版本发生变化,除非用户另有要求,否则将现有映射视为漂移并立即同步。
创建后验证(必需)
创建后,在宣布成功之前验证目标软件包/版本:
GET /api/codeengine/v2/packages/{packageId}- 确认目标版本存在并包含预期的函数名称。
- 确认函数输入/输出具有预期的数据类型和可空性。
如果创建返回不完整的版本外壳(例如缺少函数契约),则移交到更新流程:
- 通过
code-engine-update调用PUT /api/codeengine/v2/packages/{id}/versions/{version} - 更新后重新运行验证
检查清单
- 已尝试命令行优先的创建
- 如果命令行不可用,已记录端点回退方案
- 载荷包含
manifest.functions - 已对每个函数输入/输出应用数据类型映射
- 除非用户明确要求发布,否则 未 调用发布
- 已完成对目标软件包/版本的创建后验证
- 不完整的创建结果已路由到
code-engine-update并重新验证 - 创建后已在 manifest 中更新
packagesMapping - 结果包含软件包 id/版本以供下游步骤使用
评论
支持 Markdown