@camunda/ linting- autofix (英语)
自动修补和自动填充 线性,由 Camunda 桌面和Web Modeler 共享.
模块装饰一个代理化的 Agent 子进程内部的元素属性面板, 并带有一击将 AI Agent 工具合同的两侧连接的平价: fromAi() 输入代理用品,以及 toolCallResult 输出它读回。 每项报酬都适用一条规则: 种子空白字段,绝不覆盖一个值.
两位建模师都登记同一模块,因此两人通过施工而不是建筑师记忆中要改变两者而保持锁定.
使用量
注册模块 :
import { agentConfigAutofillModule } from '@camunda/linting-autofix';
const modeler = new BpmnModeler({
additionalModules: [
agentConfigAutofillModule
]
});
模块是只编辑器(它会改变模型),需要属性面板也要注册. 主机集成为一行.
中断更改 :
@camunda/linting-autofix/assets/linting-autofix.css已不存在import '@camunda/linting-autofix/assets/linting-autofix.css';线条。 该模块现在通过属性面板发布简单的诊断propertiesPanel.setDiagnosticsAPI,它使所有的东西(文字颜色,动作按钮,组点,列表徽章)在本土化和样式化;没有这个包的自己所剩有的外形来发运.
同伴依赖关系
bpmn-js, (中文(简体) ), diagram-js, (中文(简体) ), bpmn-js-properties-panel 财务报告和审定财务报表 @bpmn-io/properties-panel (qq 3. 57.1) 是同伴的依赖关系,因此模块总是与主机自己的实例配合,保持与面板的同步,但面板样式是诊断.
bpmn-js-element-templates (+++ 2.38.0)和 (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @camunda/linting (QQ 4.1.0)是可选的同龄人. 该单元将它的行动纳入通过下列途径出版的诊断材料中: propertiesPanel.setDiagnostics在林丁标出一个字段的地方,动作会传递诊断结果;在其他地方,动作都是赤裸裸的,在工具提示中加以解释.
支付费用
-
输入自动填充( E)
fromAi()(中文(简体) )在工具流上 只输入元素 - 空白的io-映射输入和空白的可感知元素模板字段zeebe:input得到一个Input from agent行动、播种=fromAi(toolCall.<key>, "<description>", "<type>")。当生成的密钥与 a 相撞时,没有报价fromAi()键已在此元素上声明. -
自动填充( E)
toolCallResult(中文(简体) ),一个Output to agent操作任何工具流程元素,如果尚未在自身执行路径上游产生可读合同结果,则写入该元素的 本地语言 结果字段——一个被模板化的连接器的结果表达式,一个感觉脚本任务的结果变量,一个多进取输出集合,或者一个输出参数在一个平原任务上的过程变量名称.在输出映射行上,此动作坐落在进程变量名上,然后写出其它的,所以该行的 可变派值 永远不会影响它.
在无法单击时撤回: 已瞄准的输出行
toolCallResult中,单击将写入已经存在的值;在一行中,针对一个子路径,例如toolCallResult.statusCode它会破坏 深思熟虑的部分贡献. -
自动修正动作,在人口密集地区提供:
fromAi()键(错误的前缀、括号表示、引用、路径过长、外壳错误、完全缺失)和近误结果通道名称通过重新分解元素本身的字段来检测。 身材不错fromAi()以不入境为理由的电话Move to "<entry element>",它只重写fromAi(...)留下其余的字段 完好无损.每一个动作都是现场自身诊断的一部分:一个校正会从它所解决的验证信息中走过,一个场上给出的没有旗帜是赤裸裸的动作并在工具提示中解释. 其可见的标签独立描述构建者的目标,而不管执行是否将突变归类为固定或自動填充:
球场持有的 接受什么给你 标签 您所写的描述或类型 您的文本保存得准确; 只有密钥被更正, 你留下的任何东西都被填入 Fix除了破碎的钥匙 fromAi(), (中文(简体) ),fromAi(42)(中文(简体) )完整的呼叫: 密钥、 描述、 类型 Input from agent一个根本无法解释的电话 重置到工作默认值; 您所写的被替换, 相邻的验证文本和可访问的工具提示都这样写 Input from agent3条规则对此作出了规定
agent-tool-corrections.ts: 保留你所做的仍然可以读取的每个决定; 只有在无物可救时才会重置; 并说这两个决定中哪一个刚刚发生, 因为按钮预览什么也没有. 类型来自模板已声明的属性, 但从未从关键词猜到您已经打过电话 .
修补是横跨范围,从不进行全场替换,所以是一种表达方式,比如 =concat("prefix-", fromAi(), "-suffix") 永远不会丢弃。 每个被应用的固定装置,包括多元素移动,都是一个单一的撤消单元.
种子的种子 fromAi() 类型是猜测,不是事实
每一个种子呼唤都带有 type 参数计算 inferFromAiType 内 from-ai-autofill.ts。仅限 propertyType === 'Boolean' 在一个元素模板字段上是一个自信的事实; 其它一切都是一个关键词, 相对于字段本身的描述/标签文本, 默认为 'string'。 。 。 .
如果您在工具呼叫中碰到了运行时类型不匹配的情况, 请在假设连接器或模型有错之前先检查一下: 种子呼叫的第三个参数是 inferFromAiType 返回,从未手写。 修补是种子的一字编辑 "<type>" 参数本身,而不是对该函数的更改.
资格
带有此特性的相接子进程算作代理 io.camunda.agenticai.toolContainer zeebe:Properties 布尔,或 io.camunda.connectors.agenticai.aiagent.jobworker.v1 元素模板 id- 匹配 isAgenticAdHocSubProcess 内 bpmnlint-plugin-camunda-compat。一个赤裸的 zeebe:AdHoc 扩展被故意不作为倒置处理: 使用输出收集的平版加热子进程也携带它.
共享的前提isAgenticAdHocSubProcess, (中文(简体) ), isToolFlowElement, (中文(简体) ), isToolEntryElement)是输出的,因此每个主机表面都同意付费的归属.
构建和运行
# install/setup
npm install
## spin up visual playground
npm start
# lint + build + test, the same as CI
npm run all
地方发展与东道建模
构建库并将其链接到主机中 :
npm run build && npm link
cd ../camunda-modeler/client && npm link @camunda/linting-autofix
重新运行 npm run build 每次更改后; 主机拾取 dist/ 直接说.
许可证
麻省理工学院