@nocobase/plugin-workflow-request 1.3.44-beta → 1.4.0-alpha.0

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.
@@ -7,7 +7,7 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- import { Instruction, WorkflowVariableJSON, WorkflowVariableTextArea } from '@nocobase/plugin-workflow/client';
10
+ import { Instruction, WorkflowVariableJSON, WorkflowVariableRawTextArea, WorkflowVariableTextArea } from '@nocobase/plugin-workflow/client';
11
11
  declare function BodyComponent(props: any): React.JSX.Element;
12
12
  export default class extends Instruction {
13
13
  title: string;
@@ -186,7 +186,7 @@ export default class extends Instruction {
186
186
  };
187
187
  ignoreFail: {
188
188
  type: string;
189
- title: string;
189
+ 'x-content': string;
190
190
  'x-decorator': string;
191
191
  'x-component': string;
192
192
  };
@@ -198,8 +198,9 @@ export default class extends Instruction {
198
198
  }>;
199
199
  };
200
200
  BodyComponent: typeof BodyComponent;
201
- WorkflowVariableTextArea: typeof WorkflowVariableTextArea;
202
201
  WorkflowVariableJSON: typeof WorkflowVariableJSON;
202
+ WorkflowVariableTextArea: typeof WorkflowVariableTextArea;
203
+ WorkflowVariableRawTextArea: typeof WorkflowVariableRawTextArea;
203
204
  };
204
205
  useVariables({ key, title, config }: {
205
206
  key: any;
@@ -215,5 +216,6 @@ export default class extends Instruction {
215
216
  label: string;
216
217
  }[];
217
218
  };
219
+ testable: boolean;
218
220
  }
219
221
  export {};
@@ -7,14 +7,20 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- (function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("@nocobase/client"),require("react/jsx-runtime"),require("react"),require("@formily/core"),require("@formily/shared"),require("@formily/react"),require("@formily/antd-v5"),require("@nocobase/plugin-workflow/client"),require("react-i18next")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","react","@formily/core","@formily/shared","@formily/react","@formily/antd-v5","@nocobase/plugin-workflow/client","react-i18next"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e["@nocobase/plugin-workflow-request"]={},e["@nocobase/client"],e.jsxRuntime,e.react,e["@formily/core"],e["@formily/shared"],e["@formily/react"],e["@formily/antd-v5"],e["@nocobase/plugin-workflow"],e["react-i18next"]))})(this,function(e,t,o,x,c,y,l,i,r,d){"use strict";var V=Object.defineProperty,j=Object.defineProperties;var $=Object.getOwnPropertyDescriptors;var q=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var T=(e,t,o)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,S=(e,t)=>{for(var o in t||(t={}))W.call(t,o)&&T(e,o,t[o]);if(q)for(var o of q(t))E.call(t,o)&&T(e,o,t[o]);return e},k=(e,t)=>j(e,$(t));var n=(e,t,o)=>(T(e,typeof t!="symbol"?t+"":t,o),o);var u=(e,t,o)=>new Promise((x,c)=>{var y=r=>{try{i(o.next(r))}catch(d){c(d)}},l=r=>{try{i(o.throw(r))}catch(d){c(d)}},i=r=>r.done?x(r.value):Promise.resolve(r.value).then(y,l);i((o=o.apply(e,t)).next())});const a="workflow-request";function f(s,p={}){const{t:m}=N(p);return m(s)}function N(s){return d.useTranslation(a,s)}const F={"application/json":{type:"void",properties:{data:{type:"object","x-decorator":"FormItem","x-decorator-props":{},"x-component":"WorkflowVariableJSON","x-component-props":{changeOnSelect:!0,autoSize:{minRows:10},placeholder:`{{t("Input request data", { ns: "${a}" })}}`}}}},"application/x-www-form-urlencoded":{type:"void",properties:{data:{type:"array","x-decorator":"FormItem","x-decorator-props":{},"x-component":"ArrayItems",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableTextArea","x-component-props":{useTypedConstant:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:`{{t("Add key-value pairs", { ns: "${a}" })}}`,"x-component":"ArrayItems.Addition"}}}}}};function g(s){const p=l.useField(),{values:m,setValuesIn:h,clearFormGraph:w}=l.useForm(),{contentType:A}=m,[v,I]=x.useState(F[A]);return l.useFormEffects(()=>{c.onFieldValueChange("contentType",b=>{w(`${p.address}.*`),I(k(S({},F[b.value]),{name:y.uid()})),h("data",null)})}),o.jsx(t.SchemaComponent,{basePath:p.address,schema:v,onlyRenderProperties:!0})}class P extends r.Instruction{constructor(){super(...arguments);n(this,"title",`{{t("HTTP request", { ns: "${a}" })}}`);n(this,"type","request");n(this,"group","extended");n(this,"description",`{{t("Send HTTP request to a URL. You can use the variables in the upstream nodes as request headers, parameters and request body.", { ns: "${a}" })}}`);n(this,"fieldset",{method:{type:"string",required:!0,title:`{{t("HTTP method", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!1,allowClear:!1,className:"auto-width"},enum:[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}],default:"POST"},url:{type:"string",required:!0,title:`{{t("URL", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-decorator-props":{},"x-component":"WorkflowVariableTextArea","x-component-props":{placeholder:"https://www.nocobase.com"}},contentType:{type:"string",title:`{{t("Content-Type", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-component":"Select","x-component-props":{allowClear:!1},enum:[{label:"application/json",value:"application/json"},{label:"application/x-www-form-urlencoded",value:"application/x-www-form-urlencoded"}],default:"application/json"},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:`{{t("Headers", { ns: "${a}" })}}`,description:`{{t('"Content-Type" will be ignored from headers.', { ns: "${a}" })}}`,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%"},className:t.css`
10
+ (function(e,o){typeof exports=="object"&&typeof module!="undefined"?o(exports,require("@nocobase/client"),require("react/jsx-runtime"),require("react"),require("@formily/core"),require("@formily/shared"),require("@formily/react"),require("@formily/antd-v5"),require("@nocobase/plugin-workflow/client"),require("react-i18next")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","react","@formily/core","@formily/shared","@formily/react","@formily/antd-v5","@nocobase/plugin-workflow/client","react-i18next"],o):(e=typeof globalThis!="undefined"?globalThis:e||self,o(e["@nocobase/plugin-workflow-request"]={},e["@nocobase/client"],e.jsxRuntime,e.react,e["@formily/core"],e["@formily/shared"],e["@formily/react"],e["@formily/antd-v5"],e["@nocobase/plugin-workflow"],e["react-i18next"]))})(this,function(e,o,r,x,c,f,l,i,t,m){"use strict";var P=Object.defineProperty,W=Object.defineProperties;var R=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var T=(e,o,r)=>o in e?P(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,S=(e,o)=>{for(var r in o||(o={}))j.call(o,r)&&T(e,r,o[r]);if(k)for(var r of k(o))E.call(o,r)&&T(e,r,o[r]);return e},q=(e,o)=>W(e,R(o));var n=(e,o,r)=>(T(e,typeof o!="symbol"?o+"":o,r),r);var u=(e,o,r)=>new Promise((x,c)=>{var f=t=>{try{i(r.next(t))}catch(m){c(m)}},l=t=>{try{i(r.throw(t))}catch(m){c(m)}},i=t=>t.done?x(t.value):Promise.resolve(t.value).then(f,l);i((r=r.apply(e,o)).next())});const a="workflow-request";function y(s,p={}){const{t:d}=N(p);return d(s)}function N(s){return m.useTranslation(a,s)}const F={"application/json":{type:"void",properties:{data:{type:"object","x-decorator":"FormItem","x-decorator-props":{},"x-component":"WorkflowVariableJSON","x-component-props":{changeOnSelect:!0,autoSize:{minRows:10},placeholder:`{{t("Input request data", { ns: "${a}" })}}`}}}},"application/x-www-form-urlencoded":{type:"void",properties:{data:{type:"array","x-decorator":"FormItem","x-decorator-props":{},"x-component":"ArrayItems",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableTextArea","x-component-props":{useTypedConstant:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:`{{t("Add key-value pairs", { ns: "${a}" })}}`,"x-component":"ArrayItems.Addition"}}}}},"application/xml":{type:"void",properties:{data:{type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableRawTextArea","x-component-props":{placeholder:'<?xml version="1.0" encoding="UTF-8"?>',autoSize:{minRows:10},className:o.css`
11
+ font-size: 80%;
12
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
13
+ `}}}},"text/plain":{type:"void",properties:{data:{type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableRawTextArea","x-component-props":{autoSize:{minRows:10},className:o.css`
14
+ font-size: 80%;
15
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
16
+ `}}}}};function g(s){const p=l.useField(),{values:d,setValuesIn:w,clearFormGraph:b}=l.useForm(),{contentType:A}=d,[h,v]=x.useState(F[A]);return l.useFormEffects(()=>{c.onFieldValueChange("contentType",I=>{b(`${p.address}.*`),v(q(S({},F[I.value]),{name:f.uid()})),w("data",null)})}),r.jsx(o.SchemaComponent,{basePath:p.address,schema:h,onlyRenderProperties:!0})}class V extends t.Instruction{constructor(){super(...arguments);n(this,"title",`{{t("HTTP request", { ns: "${a}" })}}`);n(this,"type","request");n(this,"group","extended");n(this,"description",`{{t("Send HTTP request to a URL. You can use the variables in the upstream nodes as request headers, parameters and request body.", { ns: "${a}" })}}`);n(this,"fieldset",{method:{type:"string",required:!0,title:`{{t("HTTP method", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!1,allowClear:!1,className:"auto-width"},enum:[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}],default:"POST"},url:{type:"string",required:!0,title:`{{t("URL", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-decorator-props":{},"x-component":"WorkflowVariableTextArea","x-component-props":{placeholder:"https://www.nocobase.com"}},contentType:{type:"string",title:`{{t("Content-Type", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-component":"Select","x-component-props":{allowClear:!1},enum:[{label:"application/json",value:"application/json"},{label:"application/x-www-form-urlencoded",value:"application/x-www-form-urlencoded"},{label:"application/xml",value:"application/xml"},{label:"text/plain",value:"text/plain"}],default:"application/json"},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:`{{t("Headers", { ns: "${a}" })}}`,description:`{{t('"Content-Type" will be ignored from headers.', { ns: "${a}" })}}`,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%"},className:o.css`
11
17
  & > .ant-space-item:first-child,
12
18
  & > .ant-space-item:last-child {
13
19
  flex-shrink: 0;
14
20
  }
15
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableTextArea","x-component-props":{useTypedConstant:!0,placeholder:'{{t("Value")}}'}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:`{{t("Add request header", { ns: "${a}" })}}`,"x-component":"ArrayItems.Addition"}}},params:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:`{{t("Parameters", { ns: "${a}" })}}`,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%"},className:t.css`
21
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableTextArea","x-component-props":{useTypedConstant:!0,placeholder:'{{t("Value")}}'}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:`{{t("Add request header", { ns: "${a}" })}}`,"x-component":"ArrayItems.Addition"}}},params:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:`{{t("Parameters", { ns: "${a}" })}}`,items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%"},className:o.css`
16
22
  & > .ant-space-item:first-child,
17
23
  & > .ant-space-item:last-child {
18
24
  flex-shrink: 0;
19
25
  }
20
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableTextArea","x-component-props":{useTypedConstant:!0,placeholder:'{{t("Value")}}'}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:`{{t("Add parameter", { ns: "${a}" })}}`,"x-component":"ArrayItems.Addition"}}},data:{type:"void",title:`{{t("Body", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-decorator-props":{},"x-component":"BodyComponent"},timeout:{type:"number",title:`{{t("Timeout config", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-decorator-props":{},"x-component":"InputNumber","x-component-props":{addonAfter:`{{t("ms", { ns: "${a}" })}}`,min:1,step:1e3,defaultValue:5e3}},ignoreFail:{type:"boolean",title:`{{t("Ignore failed request and continue workflow", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-component":"Checkbox"}});n(this,"components",{ArrayItems:i.ArrayItems,BodyComponent:g,WorkflowVariableTextArea:r.WorkflowVariableTextArea,WorkflowVariableJSON:r.WorkflowVariableJSON})}useVariables({key:m,title:h,config:w},{types:A}){const v=f("Status code"),I=f("Data"),b=f("Response headers");return{[r.defaultFieldNames.value]:m,[r.defaultFieldNames.label]:h,[r.defaultFieldNames.children]:w.onlyData?null:[{[r.defaultFieldNames.value]:"status",[r.defaultFieldNames.label]:v},{[r.defaultFieldNames.value]:"data",[r.defaultFieldNames.label]:I},{[r.defaultFieldNames.value]:"headers",[r.defaultFieldNames.label]:b}]}}}class C extends t.Plugin{afterAdd(){return u(this,null,function*(){})}beforeLoad(){return u(this,null,function*(){})}load(){return u(this,null,function*(){this.app.pm.get("workflow").registerInstruction("request",P)})}}e.default=C,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
26
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableTextArea","x-component-props":{useTypedConstant:!0,placeholder:'{{t("Value")}}'}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:`{{t("Add parameter", { ns: "${a}" })}}`,"x-component":"ArrayItems.Addition"}}},data:{type:"void",title:`{{t("Body", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-decorator-props":{},"x-component":"BodyComponent"},timeout:{type:"number",title:`{{t("Timeout config", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-decorator-props":{},"x-component":"InputNumber","x-component-props":{addonAfter:`{{t("ms", { ns: "${a}" })}}`,min:1,step:1e3,defaultValue:5e3}},ignoreFail:{type:"boolean","x-content":`{{t("Ignore failed request and continue workflow", { ns: "${a}" })}}`,"x-decorator":"FormItem","x-component":"Checkbox"}});n(this,"components",{ArrayItems:i.ArrayItems,BodyComponent:g,WorkflowVariableJSON:t.WorkflowVariableJSON,WorkflowVariableTextArea:t.WorkflowVariableTextArea,WorkflowVariableRawTextArea:t.WorkflowVariableRawTextArea});n(this,"testable",!0)}useVariables({key:d,title:w,config:b},{types:A}){const h=y("Status code"),v=y("Data"),I=y("Response headers");return{[t.defaultFieldNames.value]:d,[t.defaultFieldNames.label]:w,[t.defaultFieldNames.children]:b.onlyData?null:[{[t.defaultFieldNames.value]:"status",[t.defaultFieldNames.label]:h},{[t.defaultFieldNames.value]:"data",[t.defaultFieldNames.label]:v},{[t.defaultFieldNames.value]:"headers",[t.defaultFieldNames.label]:I}]}}}class C extends o.Plugin{afterAdd(){return u(this,null,function*(){})}beforeLoad(){return u(this,null,function*(){})}load(){return u(this,null,function*(){this.app.pm.get("workflow").registerInstruction("request",V)})}}e.default=C,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -13,10 +13,10 @@ module.exports = {
13
13
  "@formily/shared": "2.3.2",
14
14
  "@formily/react": "2.3.0",
15
15
  "@formily/antd-v5": "1.1.9",
16
- "@nocobase/plugin-workflow": "1.3.44-beta",
17
- "@nocobase/client": "1.3.44-beta",
16
+ "@nocobase/plugin-workflow": "1.4.0-alpha.0",
17
+ "@nocobase/client": "1.4.0-alpha.0",
18
18
  "react-i18next": "11.18.6",
19
- "@nocobase/server": "1.3.44-beta",
20
- "axios": "0.26.1",
19
+ "@nocobase/server": "1.4.0-alpha.0",
20
+ "axios": "1.7.7",
21
21
  "lodash": "4.17.21"
22
22
  };
@@ -12,8 +12,8 @@
12
12
  "Add key-value pairs": "添加键值对",
13
13
  "Format": "格式化",
14
14
  "Insert": "插入",
15
- "Timeout config": "超时设置",
16
- "ms": "毫秒",
15
+ "Timeout": "超时设置",
16
+ "Milliseconds": "毫秒",
17
17
  "Input request data": "输入请求数据",
18
18
  "Only support standard JSON data": "仅支持标准 JSON 数据",
19
19
  "\"Content-Type\" will be ignored from headers.": "请求头中配置的 \"Content-Type\" 将被忽略。",
@@ -12,13 +12,17 @@ export interface Header {
12
12
  name: string;
13
13
  value: string;
14
14
  }
15
- export type RequestConfig = Pick<AxiosRequestConfig, 'url' | 'method' | 'params' | 'data' | 'timeout'> & {
16
- headers: Array<Header>;
15
+ export type RequestInstructionConfig = Pick<AxiosRequestConfig, 'url' | 'method' | 'params' | 'data' | 'timeout'> & {
16
+ headers?: Header[];
17
17
  contentType: string;
18
- ignoreFail: boolean;
18
+ ignoreFail?: boolean;
19
19
  onlyData?: boolean;
20
20
  };
21
21
  export default class extends Instruction {
22
22
  run(node: FlowNodeModel, prevJob: any, processor: Processor): Promise<any>;
23
23
  resume(node: FlowNodeModel, job: any, processor: Processor): Promise<any>;
24
+ test(config: RequestInstructionConfig): Promise<{
25
+ status: 1 | -1;
26
+ result: any;
27
+ }>;
24
28
  }
@@ -170,4 +170,18 @@ class RequestInstruction_default extends import_plugin_workflow.Instruction {
170
170
  }
171
171
  return job;
172
172
  }
173
+ async test(config) {
174
+ try {
175
+ const response = await request(config);
176
+ return {
177
+ status: import_plugin_workflow.JOB_STATUS.RESOLVED,
178
+ result: responseSuccess(response, config.onlyData)
179
+ };
180
+ } catch (error) {
181
+ return {
182
+ status: config.ignoreFail ? import_plugin_workflow.JOB_STATUS.RESOLVED : import_plugin_workflow.JOB_STATUS.FAILED,
183
+ result: error.isAxiosError ? error.toJSON() : error.message
184
+ };
185
+ }
186
+ }
173
187
  }
package/package.json CHANGED
@@ -4,14 +4,14 @@
4
4
  "displayName.zh-CN": "工作流:HTTP 请求节点",
5
5
  "description": "Send HTTP requests to any HTTP service for data interaction in workflow.",
6
6
  "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。",
7
- "version": "1.3.44-beta",
7
+ "version": "1.4.0-alpha.0",
8
8
  "license": "AGPL-3.0",
9
9
  "main": "./dist/server/index.js",
10
10
  "homepage": "https://docs.nocobase.com/handbook/workflow-request",
11
11
  "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow-request",
12
12
  "devDependencies": {
13
13
  "antd": "5.x",
14
- "axios": "^0.26.1",
14
+ "axios": "^1.7.0",
15
15
  "react": "18.x",
16
16
  "react-i18next": "^11.15.1"
17
17
  },
@@ -22,7 +22,7 @@
22
22
  "@nocobase/server": "1.x",
23
23
  "@nocobase/test": "1.x"
24
24
  },
25
- "gitHead": "1d5666123ac1e2997e434e38defef963ba0d9f90",
25
+ "gitHead": "8ffa7b54bbaf720c0c9857da4b19a99110dffc4b",
26
26
  "keywords": [
27
27
  "Workflow"
28
28
  ]
File without changes
File without changes