@shenghuabi/workflow 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/workflow/inline/node/index.browser.ts", "../../../packages/workflow/inline/node/chat/chat.node.define.ts", "../../../packages/workflow/share/common/examples.define.ts", "../../../packages/workflow/share/util/layout.ts", "../../../packages/workflow/share/common/llm.define.ts", "../../../packages/workflow/share/common/const.ts", "../../../packages/workflow/share/const.ts", "../../../packages/workflow/inline/node/chat/common.ts", "../../../packages/workflow/inline/node/chat/util.ts", "../../../packages/workflow/inline/node/chat/webview/index.ts", "../../../packages/workflow/inline/node/text/common.ts", "../../../packages/workflow/inline/node/text/text.node.define.ts", "../../../packages/workflow/inline/node/text/webview/index.ts"],
4
- "sourcesContent": ["export * from './chat/webview';\nexport * from './text/webview';\n", "import * as v from 'valibot';\n\nimport {\n actions,\n condition,\n setComponent,\n valueChange,\n} from '@piying/view-angular-core';\nimport { ChatMessageListInputType } from '@shenghuabi/openai';\nimport { EXAMPLES_DEFINE, llmModelConfig } from '../../../share/common';\nexport const ResponseList = ['json', 'markdown', 'yaml'] as const;\nexport const ResponseFormat = ['text', 'json_object', 'json_schema'] as const;\nexport type ResponseType = (typeof ResponseList)[number];\nexport const CHAT_NODE_DEFINE = v.looseObject({\n data: v.looseObject({\n config: v.pipe(\n v.object({\n llm: v.optional(llmModelConfig()),\n /** 处理时解析 */\n responseFormat: v.pipe(\n v.optional(v.picklist(ResponseFormat)),\n actions.inputs.patch({\n options: [\n // 有输入json时\n {\n label: '自动',\n value: undefined,\n description: `传入JsonSchema时为[json_schema],否则为[text]`,\n },\n { label: '文本', value: 'text' },\n {\n label: 'JSON对象',\n value: 'json_object',\n description: '只限制返回类型为JSON对象,不对字段进行限制',\n },\n {\n label: 'JSON格式定义',\n value: 'json_schema',\n description:\n '限制返回类型为JSON对象,同时限制字段,不建议手动指定,传入JsonSchema后自动启用',\n },\n ],\n }),\n v.title('响应格式'),\n ),\n /** 处理后解析 */\n parseBy: v.pipe(\n v.optional(v.picklist(ResponseList)),\n actions.inputs.patch({\n options: [\n { label: '直接返回', value: undefined },\n {\n label: 'json',\n value: 'json',\n description: `将返回的json代码块内容或原始内容解析为对象`,\n },\n {\n label: 'markdown',\n value: 'markdown',\n description: `[需要提示词约束]将返回其中的markdown代码块内容或原始内容`,\n },\n {\n label: 'yaml',\n value: 'yaml',\n description: `[需要提示词约束]将返回的yaml代码块内容或原始内容解析为对象`,\n },\n ],\n }),\n v.title('返回解析'),\n valueChange((fn) => {\n fn({ list: [['..', 'responseFormat']] }).subscribe(\n ({ list: [value], field }) => {\n if ((value ?? '').startsWith('json')) {\n if (!field.form.control!.value) {\n field.form.control!.updateValue('json');\n }\n }\n },\n );\n }),\n ),\n examples: EXAMPLES_DEFINE,\n }),\n\n actions.class.component('grid auto-rows-auto gap-2'),\n ),\n value: v.pipe(\n v.custom<ChatMessageListInputType>(Boolean),\n setComponent(''),\n condition({\n environments: ['display'],\n actions: [\n setComponent('prompt-list'),\n valueChange((fn) => {\n fn({ list: [undefined] }).subscribe(({ list: [value], field }) => {\n if (!Array.isArray(value)) {\n return;\n }\n const inputValue: ChatMessageListInputType = value ?? [];\n field.context\n .parseTemplate(\n inputValue.flatMap((item) =>\n item.content.map((item) =>\n item.type === 'text' ? item.text : '',\n ),\n ),\n )\n .then((value: any) => {\n if (!value) {\n return;\n }\n field.context.changeHandleData(field, 'input', 1, value);\n });\n\n const list = inputValue\n .flatMap((item) =>\n item.content.map((item) =>\n item.type === 'image_url' ? item.image_url.url : undefined,\n ),\n )\n .filter(Boolean)\n .map((item) => ({\n value: `${item}`,\n label: `${item}`,\n inputType: `image` as const,\n }));\n field.context.changeHandleData(field, 'input', 3, list ?? []);\n });\n }),\n ],\n }),\n ),\n }),\n});\n", "import {\n actions,\n condition,\n renderConfig,\n} from '@piying/view-angular-core';\nimport * as v from 'valibot';\nimport { asColumn } from '../util/layout';\n\nexport const EXAMPLES_DEFINE = v.pipe(\n v.optional(\n v.array(\n v.pipe(\n v.object({\n input: v.pipe(\n v.object({\n format: v.pipe(\n v.optional(v.boolean(), false),\n v.description(\n '选中后会尝试使用yaml解析为对象,再序列化为对应的响应类型',\n ),\n actions.wrappers.set(['tooltip']),\n ),\n value: v.pipe(v.string(), v.title('问题'), actions.class.top('flex-1')),\n }),\n // todo 待修复\n actions.class.top('flex gap-2 items-center'),\n ),\n\n output: v.pipe(\n v.object({\n format: v.pipe(\n v.optional(v.boolean(), false),\n v.description('是否需要格式化'),\n actions.wrappers.set(['tooltip']),\n ),\n value: v.pipe(v.string(), v.title('回答'), actions.class.top('flex-1')),\n }),\n actions.class.top('flex gap-2 items-center'),\n ),\n }),\n asColumn(),\n ),\n ),\n [],\n ),\n v.title('用例'),\n v.description('回答问题之前,会参考定义的用例格式进行回复,用于规范回答'),\n condition({\n environments: ['display'],\n actions: [\n renderConfig({\n hidden: true,\n }),\n ],\n }),\n);\n", "import { actions } from '@piying/view-angular-core';\n\nexport function asRow<TInput>(count?: number) {\n return actions.class.component<TInput>(\n typeof count === 'number'\n ? `grid gap-2 grid-cols-${count}`\n : 'flex gap-2 *:flex-1 items-center',\n );\n}\nexport function asColumn<TInput>() {\n return actions.class.component<TInput>('grid gap-2');\n}\n", "import {\n asVirtualGroup,\n actions,\n setComponent,\n} from '@piying/view-angular-core';\nimport { condition } from '@piying/valibot-visit';\nimport * as v from 'valibot';\nimport { asColumn } from '../util/layout';\nexport function llmModelConfig(item?: { label: string }) {\n return v.pipe(\n v.intersect([\n v.pipe(\n v.intersect([\n v.pipe(\n v.object({\n name: v.pipe(\n v.optional(v.string()),\n v.title('预定义模型配置'),\n setComponent('select'),\n actions.inputs.patchAsync({\n options: (field) => field.context!.getModelList(),\n }),\n ),\n model: v.pipe(v.optional(v.string()), v.title('模型')),\n // todo 配置变化configuration层被去掉.这里应该更详细支持更多参数\n\n baseURL: v.pipe(v.optional(v.string()), v.title('地址')),\n }),\n asColumn(),\n ),\n ]),\n v.title(item?.label ?? '对话模型'),\n condition({\n environments: ['display', 'config'],\n actions: [asVirtualGroup()],\n }),\n ),\n ]),\n condition({\n environments: ['display', 'config'],\n actions: [asVirtualGroup()],\n }),\n setComponent('accordion'),\n );\n}\n\nexport type ModelInputConfig = v.InferOutput<ReturnType<typeof llmModelConfig>>;\n", "export const DEFAULT_CHAT_SCHEMA_KEY = `[JsonSchema]`;\nexport const RUNNER_ORIGIN_OUTPUT_KEY = `[Origin]`;\n", "export const DEFAULT_INPUT_KEY = `[INPUT]`;\nexport const HelpObj = {\n templateVarLine: `- 变量定义格式: {{xx}},{{xx.yy}}`,\n pathTodoLine: `- **TODO** 接收传入路径而不是指定`,\n};\n", "import { HelpObj } from '../../../share';\nimport {\n DEFAULT_CHAT_SCHEMA_KEY,\n RUNNER_ORIGIN_OUTPUT_KEY,\n} from '../../../share';\nimport { NodeComponentType } from '../../../share';\n\nexport const NODE_COMMON: NodeComponentType = {\n priority: -100,\n type: 'chat',\n label: `对话`,\n icon: { fontIcon: 'chat' },\n disableHead: false,\n disableConnect: false,\n color: 'accent',\n help: [\n `- 点击输入框左侧图标可以切换或添加新行`,\n `${HelpObj.templateVarLine}`,\n '### 指定类型输出',\n '- `JsonSchema`为可选输入,需要使用`代码`节点生成',\n '> 设置后响应类型会自动变为json',\n '> 也可以使用任何符合`ChatJsonSchema`类型的数据结构传入(`代码`节点编辑时有声明)',\n '- 原始输出: 不进行任何格式化处理的输出',\n '### 定义图片变量',\n '- 只有支持图片传入的大语言模型才支持此选项',\n '> 如`minicpm-v:8b`',\n '- 定义后在对话中可以传入图片',\n '- 或者可以使用`图片输入`节点手动指定一张图片',\n '- 只有`用户提示词`可以使用图片输入',\n '> 不清楚是否所有模型都遵循此规则,所以并没有限制输入',\n ].join('\\n'),\n // config: defineConfig,\n inputs: [\n [],\n [\n {\n label: 'JsonSchema',\n value: DEFAULT_CHAT_SCHEMA_KEY,\n inputType: 'schema',\n optional: true,\n },\n ],\n ],\n outputs: [[{ label: '原始输出', value: RUNNER_ORIGIN_OUTPUT_KEY }]],\n};\n", "import { deepClone } from '@cyia/util';\n\nconst INIT_TEMPLATE = { role: 'user' as const, content: [] };\nexport function getHumanTemplate() {\n return deepClone(INIT_TEMPLATE);\n}\nexport function getSystemTemplate() {\n return deepClone({ ...INIT_TEMPLATE, role: 'system' });\n}\n", "import { WebviewNodeConfig } from '../../../../share/type';\nimport { CHAT_NODE_DEFINE } from '../chat.node.define';\nimport { NODE_COMMON } from '../common';\nimport { getSystemTemplate } from '../util';\n\nexport const ChatWebviewConfig: WebviewNodeConfig = {\n ...NODE_COMMON,\n displayConfig: CHAT_NODE_DEFINE,\n config: CHAT_NODE_DEFINE,\n initData: () => ({\n data: {\n transform: {\n resizable: true,\n },\n value: [getSystemTemplate()],\n },\n width: 300,\n }),\n};\n", "import { HelpObj } from '../../../share';\nimport { NodeComponentType } from '../../../share/type';\n\nexport const NODE_COMMON: NodeComponentType = {\n type: 'textarea',\n label: `文本模板`,\n icon: { fontIcon: 'text_snippet' },\n disableHead: false,\n disableConnect: false,\n color: 'primary',\n help: `${HelpObj.templateVarLine}`,\n priority: -98,\n};\n", "import {\n actions,\n condition,\n setComponent,\n valueChange,\n} from '@piying/view-angular-core';\nimport * as v from 'valibot';\nexport const TEXT_NODE_DEFINE = v.looseObject({\n data: v.looseObject({\n value: v.pipe(\n v.string(),\n condition({\n environments: ['display'],\n actions: [\n setComponent('string'),\n actions.class.top('nodrag'),\n\n valueChange((fn) => {\n fn({ list: [undefined] }).subscribe(({ list: [value], field }) => {\n if (typeof value !== 'string') {\n return;\n }\n field.context.parseTemplate([value]).then((value: any) => {\n if (!value) {\n return;\n }\n field.context.changeHandleData(field, 'input', 1, value);\n });\n });\n }),\n ],\n }),\n ),\n }),\n});\n", "import { WebviewNodeConfig } from '../../../../share/type';\nimport { NODE_COMMON } from '../common';\nimport { TEXT_NODE_DEFINE } from '../text.node.define';\n\nexport const TextWebviewConfig: WebviewNodeConfig = {\n ...NODE_COMMON,\n displayConfig: TEXT_NODE_DEFINE,\n initData: () => ({\n data: {\n transform: {\n resizable: true,\n },\n\n value: '',\n },\n width: 300,\n }),\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export * from './chat/webview';\nexport * from './text/webview';\n", "import * as v from 'valibot';\n\nimport {\n actions,\n condition,\n setComponent,\n valueChange,\n} from '@piying/view-angular-core';\nimport { ChatMessageListInputType } from '@shenghuabi/openai';\nimport { EXAMPLES_DEFINE, llmModelConfig } from '../../../share/common';\nexport const ResponseList = ['json', 'markdown', 'yaml'] as const;\nexport const ResponseFormat = ['text', 'json_object', 'json_schema'] as const;\nexport type ResponseType = (typeof ResponseList)[number];\nexport const CHAT_NODE_DEFINE = v.looseObject({\n data: v.looseObject({\n config: v.pipe(\n v.object({\n llm: v.optional(llmModelConfig()),\n /** 处理时解析 */\n responseFormat: v.pipe(\n v.optional(v.picklist(ResponseFormat)),\n actions.inputs.patch({\n options: [\n // 有输入json时\n {\n label: '自动',\n value: undefined,\n description: `传入JsonSchema时为[json_schema],否则为[text]`,\n },\n { label: '文本', value: 'text' },\n {\n label: 'JSON对象',\n value: 'json_object',\n description: '只限制返回类型为JSON对象,不对字段进行限制',\n },\n {\n label: 'JSON格式定义',\n value: 'json_schema',\n description:\n '限制返回类型为JSON对象,同时限制字段,不建议手动指定,传入JsonSchema后自动启用',\n },\n ],\n }),\n v.title('响应格式'),\n ),\n /** 处理后解析 */\n parseBy: v.pipe(\n v.optional(v.picklist(ResponseList)),\n actions.inputs.patch({\n options: [\n { label: '直接返回', value: undefined },\n {\n label: 'json',\n value: 'json',\n description: `将返回的json代码块内容或原始内容解析为对象`,\n },\n {\n label: 'markdown',\n value: 'markdown',\n description: `[需要提示词约束]将返回其中的markdown代码块内容或原始内容`,\n },\n {\n label: 'yaml',\n value: 'yaml',\n description: `[需要提示词约束]将返回的yaml代码块内容或原始内容解析为对象`,\n },\n ],\n }),\n v.title('返回解析'),\n valueChange((fn) => {\n fn({ list: [['..', 'responseFormat']] }).subscribe(\n ({ list: [value], field }) => {\n if ((value ?? '').startsWith('json')) {\n if (!field.form.control!.value) {\n field.form.control!.updateValue('json');\n }\n }\n },\n );\n }),\n ),\n examples: EXAMPLES_DEFINE,\n }),\n actions.wrappers.patch(['div']),\n actions.class.top('grid auto-rows-auto gap-2'),\n ),\n value: v.pipe(\n v.custom<ChatMessageListInputType>(Boolean),\n setComponent(''),\n condition({\n environments: ['display'],\n actions: [\n setComponent('prompt-list'),\n valueChange((fn) => {\n fn({ list: [undefined] }).subscribe(({ list: [value], field }) => {\n if (!Array.isArray(value)) {\n return;\n }\n const inputValue: ChatMessageListInputType = value ?? [];\n field.context\n .parseTemplate(\n inputValue.flatMap((item) =>\n item.content.map((item) =>\n item.type === 'text' ? item.text : '',\n ),\n ),\n )\n .then((value: any) => {\n if (!value) {\n return;\n }\n field.context.changeHandleData(field, 'input', 1, value);\n });\n\n const list = inputValue\n .flatMap((item) =>\n item.content.map((item) =>\n item.type === 'image_url' ? item.image_url.url : undefined,\n ),\n )\n .filter(Boolean)\n .map((item) => ({\n value: `${item}`,\n label: `${item}`,\n inputType: `image` as const,\n }));\n field.context.changeHandleData(field, 'input', 3, list ?? []);\n });\n }),\n ],\n }),\n ),\n }),\n});\n", "import {\n actions,\n condition,\n renderConfig,\n} from '@piying/view-angular-core';\nimport * as v from 'valibot';\nimport { asColumn } from '../util/layout';\n\nexport const EXAMPLES_DEFINE = v.pipe(\n v.optional(\n v.array(\n v.pipe(\n v.object({\n input: v.pipe(\n v.object({\n format: v.pipe(\n v.optional(v.boolean(), false),\n v.description(\n '选中后会尝试使用yaml解析为对象,再序列化为对应的响应类型',\n ),\n actions.wrappers.set(['tooltip']),\n ),\n value: v.pipe(v.string(), v.title('问题'), actions.class.top('flex-1')),\n }),\n // todo 待修复\n actions.class.top('flex gap-2 items-center'),\n ),\n\n output: v.pipe(\n v.object({\n format: v.pipe(\n v.optional(v.boolean(), false),\n v.description('是否需要格式化'),\n actions.wrappers.set(['tooltip']),\n ),\n value: v.pipe(v.string(), v.title('回答'), actions.class.top('flex-1')),\n }),\n actions.class.top('flex gap-2 items-center'),\n ),\n }),\n asColumn(),\n ),\n ),\n [],\n ),\n v.title('用例'),\n v.description('回答问题之前,会参考定义的用例格式进行回复,用于规范回答'),\n condition({\n environments: ['display'],\n actions: [\n renderConfig({\n hidden: true,\n }),\n ],\n }),\n);\n", "import { actions } from '@piying/view-angular-core';\n\nexport function asRow<TInput>(count?: number) {\n return actions.wrappers.patch<TInput>([\n {\n type: 'div',\n attributes: {\n class:\n typeof count === 'number'\n ? `grid gap-2 grid-cols-${count}`\n : 'flex gap-2 *:flex-1 items-center',\n },\n },\n ]);\n}\nexport function asColumn<TInput>() {\n return actions.wrappers.patch<TInput>([\n {\n type: 'div',\n attributes: {\n class: 'grid gap-2',\n },\n },\n ]);\n}\n", "import {\n asVirtualGroup,\n actions,\n setComponent,\n} from '@piying/view-angular-core';\nimport { condition } from '@piying/valibot-visit';\nimport * as v from 'valibot';\nimport { asColumn } from '../util/layout';\nexport function llmModelConfig(item?: { label: string }) {\n return v.pipe(\n v.intersect([\n v.pipe(\n v.intersect([\n v.pipe(\n v.object({\n name: v.pipe(\n v.optional(v.string()),\n v.title('预定义模型配置'),\n setComponent('select'),\n actions.inputs.patchAsync({\n options: (field) => field.context!.getModelList(),\n }),\n ),\n model: v.pipe(v.optional(v.string()), v.title('模型')),\n // todo 配置变化configuration层被去掉.这里应该更详细支持更多参数\n\n baseURL: v.pipe(v.optional(v.string()), v.title('地址')),\n }),\n asColumn(),\n ),\n ]),\n v.title(item?.label ?? '对话模型'),\n condition({\n environments: ['display', 'config'],\n actions: [asVirtualGroup()],\n }),\n ),\n ]),\n condition({\n environments: ['display', 'config'],\n actions: [asVirtualGroup()],\n }),\n setComponent('accordion'),\n );\n}\n\nexport type ModelInputConfig = v.InferOutput<ReturnType<typeof llmModelConfig>>;\n", "export const DEFAULT_CHAT_SCHEMA_KEY = `[JsonSchema]`;\nexport const RUNNER_ORIGIN_OUTPUT_KEY = `[Origin]`;\n", "export const DEFAULT_INPUT_KEY = `[INPUT]`;\nexport const HelpObj = {\n templateVarLine: `- 变量定义格式: {{xx}},{{xx.yy}}`,\n pathTodoLine: `- **TODO** 接收传入路径而不是指定`,\n};\n", "import { HelpObj } from '../../../share';\nimport {\n DEFAULT_CHAT_SCHEMA_KEY,\n RUNNER_ORIGIN_OUTPUT_KEY,\n} from '../../../share';\nimport { NodeComponentType } from '../../../share';\n\nexport const NODE_COMMON: NodeComponentType = {\n priority: -100,\n type: 'chat',\n label: `对话`,\n icon: { fontIcon: 'chat' },\n disableHead: false,\n disableConnect: false,\n color: 'accent',\n help: [\n `- 点击输入框左侧图标可以切换或添加新行`,\n `${HelpObj.templateVarLine}`,\n '### 指定类型输出',\n '- `JsonSchema`为可选输入,需要使用`代码`节点生成',\n '> 设置后响应类型会自动变为json',\n '> 也可以使用任何符合`ChatJsonSchema`类型的数据结构传入(`代码`节点编辑时有声明)',\n '- 原始输出: 不进行任何格式化处理的输出',\n '### 定义图片变量',\n '- 只有支持图片传入的大语言模型才支持此选项',\n '> 如`minicpm-v:8b`',\n '- 定义后在对话中可以传入图片',\n '- 或者可以使用`图片输入`节点手动指定一张图片',\n '- 只有`用户提示词`可以使用图片输入',\n '> 不清楚是否所有模型都遵循此规则,所以并没有限制输入',\n ].join('\\n'),\n // config: defineConfig,\n inputs: [\n [],\n [\n {\n label: 'JsonSchema',\n value: DEFAULT_CHAT_SCHEMA_KEY,\n inputType: 'schema',\n optional: true,\n },\n ],\n ],\n outputs: [[{ label: '原始输出', value: RUNNER_ORIGIN_OUTPUT_KEY }]],\n};\n", "import { deepClone } from '@cyia/util';\n\nconst INIT_TEMPLATE = { role: 'user' as const, content: [] };\nexport function getHumanTemplate() {\n return deepClone(INIT_TEMPLATE);\n}\nexport function getSystemTemplate() {\n return deepClone({ ...INIT_TEMPLATE, role: 'system' });\n}\n", "import { WebviewNodeConfig } from '../../../../share/type';\nimport { CHAT_NODE_DEFINE } from '../chat.node.define';\nimport { NODE_COMMON } from '../common';\nimport { getSystemTemplate } from '../util';\n\nexport const ChatWebviewConfig: WebviewNodeConfig = {\n ...NODE_COMMON,\n displayConfig: CHAT_NODE_DEFINE,\n config: CHAT_NODE_DEFINE,\n initData: () => ({\n data: {\n transform: {\n resizable: true,\n },\n value: [getSystemTemplate()],\n },\n width: 300,\n }),\n};\n", "import { HelpObj } from '../../../share';\nimport { NodeComponentType } from '../../../share/type';\n\nexport const NODE_COMMON: NodeComponentType = {\n type: 'textarea',\n label: `文本模板`,\n icon: { fontIcon: 'text_snippet' },\n disableHead: false,\n disableConnect: false,\n color: 'primary',\n help: `${HelpObj.templateVarLine}`,\n priority: -98,\n};\n", "import {\n actions,\n condition,\n setComponent,\n valueChange,\n} from '@piying/view-angular-core';\nimport * as v from 'valibot';\nexport const TEXT_NODE_DEFINE = v.looseObject({\n data: v.looseObject({\n value: v.pipe(\n v.string(),\n condition({\n environments: ['display'],\n actions: [\n setComponent('string'),\n actions.class.top('nodrag'),\n\n valueChange((fn) => {\n fn({ list: [undefined] }).subscribe(({ list: [value], field }) => {\n if (typeof value !== 'string') {\n return;\n }\n field.context.parseTemplate([value]).then((value: any) => {\n if (!value) {\n return;\n }\n field.context.changeHandleData(field, 'input', 1, value);\n });\n });\n }),\n ],\n }),\n ),\n }),\n});\n", "import { WebviewNodeConfig } from '../../../../share/type';\nimport { NODE_COMMON } from '../common';\nimport { TEXT_NODE_DEFINE } from '../text.node.define';\n\nexport const TextWebviewConfig: WebviewNodeConfig = {\n ...NODE_COMMON,\n displayConfig: TEXT_NODE_DEFINE,\n initData: () => ({\n data: {\n transform: {\n resizable: true,\n },\n\n value: '',\n },\n width: 300,\n }),\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["v", "actions", "condition", "setComponent", "actions", "actions", "actions", "condition", "v", "actions", "condition", "actions", "setComponent", "condition", "item", "value", "NODE_COMMON", "actions", "condition", "setComponent", "valueChange", "v", "value", "NODE_COMMON"]
7
7
  }