@luka-cat-mimi/n8n-nodes-feishu 0.5.11 → 0.6.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.
Files changed (75) hide show
  1. package/README.md +24 -0
  2. package/dist/credentials/FeishuNodeCredentialsApi.credentials.js +56 -9
  3. package/dist/credentials/FeishuNodeCredentialsApi.credentials.js.map +1 -1
  4. package/dist/credentials/FeishuNodeOauth2Api.credentials.js +89 -9
  5. package/dist/credentials/FeishuNodeOauth2Api.credentials.js.map +1 -1
  6. package/dist/nodes/FeishuNode/FeishuNode.node.js +11 -0
  7. package/dist/nodes/FeishuNode/FeishuNode.node.js.map +1 -1
  8. package/dist/nodes/FeishuNode/FeishuNodeTrigger.node.d.ts +5 -0
  9. package/dist/nodes/FeishuNode/FeishuNodeTrigger.node.js +200 -0
  10. package/dist/nodes/FeishuNode/FeishuNodeTrigger.node.js.map +1 -0
  11. package/dist/nodes/FeishuNode/FeishuTrigger.node.json +19 -0
  12. package/dist/nodes/FeishuNode/RespondToFeishu.node.d.ts +5 -0
  13. package/dist/nodes/FeishuNode/RespondToFeishu.node.js +129 -0
  14. package/dist/nodes/FeishuNode/RespondToFeishu.node.js.map +1 -0
  15. package/dist/nodes/FeishuNode/resource/message/MessageEphemeralSendOperate.js +1 -1
  16. package/dist/nodes/FeishuNode/resource/message/MessageEphemeralSendOperate.js.map +1 -1
  17. package/dist/nodes/FeishuNode/resource/message/MessageEventDecryptOperate.js +2 -55
  18. package/dist/nodes/FeishuNode/resource/message/MessageEventDecryptOperate.js.map +1 -1
  19. package/dist/nodes/help/type/enums.d.ts +14 -0
  20. package/dist/nodes/help/type/enums.js +18 -0
  21. package/dist/nodes/help/type/enums.js.map +1 -1
  22. package/dist/nodes/help/utils/FeishuDecryptUtils.d.ts +1 -0
  23. package/dist/nodes/help/utils/FeishuDecryptUtils.js +61 -0
  24. package/dist/nodes/help/utils/FeishuDecryptUtils.js.map +1 -0
  25. package/dist/nodes/help/utils/FeishuResponseManager.d.ts +11 -0
  26. package/dist/nodes/help/utils/FeishuResponseManager.js +51 -0
  27. package/dist/nodes/help/utils/FeishuResponseManager.js.map +1 -0
  28. package/dist/nodes/help/utils/RequestUtils.js +3 -2
  29. package/dist/nodes/help/utils/RequestUtils.js.map +1 -1
  30. package/dist/nodes/help/utils/lark-sdk/consts.d.ts +4 -0
  31. package/dist/nodes/help/utils/lark-sdk/consts.js +8 -0
  32. package/dist/nodes/help/utils/lark-sdk/consts.js.map +1 -0
  33. package/dist/nodes/help/utils/lark-sdk/data-cache.d.ts +23 -0
  34. package/dist/nodes/help/utils/lark-sdk/data-cache.js +63 -0
  35. package/dist/nodes/help/utils/lark-sdk/data-cache.js.map +1 -0
  36. package/dist/nodes/help/utils/lark-sdk/enum.d.ts +37 -0
  37. package/dist/nodes/help/utils/lark-sdk/enum.js +47 -0
  38. package/dist/nodes/help/utils/lark-sdk/enum.js.map +1 -0
  39. package/dist/nodes/help/utils/lark-sdk/handler/cache.d.ts +16 -0
  40. package/dist/nodes/help/utils/lark-sdk/handler/cache.js +37 -0
  41. package/dist/nodes/help/utils/lark-sdk/handler/cache.js.map +1 -0
  42. package/dist/nodes/help/utils/lark-sdk/handler/event-handler.d.ts +26 -0
  43. package/dist/nodes/help/utils/lark-sdk/handler/event-handler.js +92 -0
  44. package/dist/nodes/help/utils/lark-sdk/handler/event-handler.js.map +1 -0
  45. package/dist/nodes/help/utils/lark-sdk/handler/events-template.d.ts +4 -0
  46. package/dist/nodes/help/utils/lark-sdk/handler/events-template.js +3 -0
  47. package/dist/nodes/help/utils/lark-sdk/handler/events-template.js.map +1 -0
  48. package/dist/nodes/help/utils/lark-sdk/handler/request-handle.d.ts +15 -0
  49. package/dist/nodes/help/utils/lark-sdk/handler/request-handle.js +77 -0
  50. package/dist/nodes/help/utils/lark-sdk/handler/request-handle.js.map +1 -0
  51. package/dist/nodes/help/utils/lark-sdk/interfaces.d.ts +8 -0
  52. package/dist/nodes/help/utils/lark-sdk/interfaces.js +3 -0
  53. package/dist/nodes/help/utils/lark-sdk/interfaces.js.map +1 -0
  54. package/dist/nodes/help/utils/lark-sdk/proto-buf/index.d.ts +3 -0
  55. package/dist/nodes/help/utils/lark-sdk/proto-buf/index.js +13 -0
  56. package/dist/nodes/help/utils/lark-sdk/proto-buf/index.js.map +1 -0
  57. package/dist/nodes/help/utils/lark-sdk/proto-buf/pbbp2.js +718 -0
  58. package/dist/nodes/help/utils/lark-sdk/utils/aes-cipher.d.ts +5 -0
  59. package/dist/nodes/help/utils/lark-sdk/utils/aes-cipher.js +23 -0
  60. package/dist/nodes/help/utils/lark-sdk/utils/aes-cipher.js.map +1 -0
  61. package/dist/nodes/help/utils/lark-sdk/ws-client/index.d.ts +43 -0
  62. package/dist/nodes/help/utils/lark-sdk/ws-client/index.js +364 -0
  63. package/dist/nodes/help/utils/lark-sdk/ws-client/index.js.map +1 -0
  64. package/dist/nodes/help/utils/lark-sdk/ws-client/ws-config.d.ts +33 -0
  65. package/dist/nodes/help/utils/lark-sdk/ws-client/ws-config.js +53 -0
  66. package/dist/nodes/help/utils/lark-sdk/ws-client/ws-config.js.map +1 -0
  67. package/dist/nodes/help/utils/outputs.d.ts +6 -0
  68. package/dist/nodes/help/utils/outputs.js +21 -0
  69. package/dist/nodes/help/utils/outputs.js.map +1 -0
  70. package/dist/nodes/help/utils/properties.d.ts +12 -0
  71. package/dist/nodes/help/utils/properties.js +156 -0
  72. package/dist/nodes/help/utils/properties.js.map +1 -0
  73. package/dist/package.json +10 -3
  74. package/dist/tsconfig.tsbuildinfo +1 -1
  75. package/package.json +10 -3
package/README.md CHANGED
@@ -13,6 +13,30 @@
13
13
 
14
14
  ## 功能列表
15
15
 
16
+ ### 🚀 飞书 Trigger ✨ 新增
17
+
18
+ 通过 **WebSocket 长连接**方式监听飞书事件,当事件发生时自动启动工作流。
19
+
20
+ **主要特点:**
21
+ - 支持订阅多种飞书事件(消息、卡片交互、审批等)
22
+ - 两种响应模式:
23
+ - **Immediately**:事件触发后立即响应
24
+ - **Using '飞书响应' Node**:配合飞书响应节点同步返回自定义响应
25
+
26
+ > ⚠️ 由于飞书 API 限制,每个飞书应用同时只能有一个 Trigger 在运行。
27
+
28
+ ### 🔄 飞书响应 ✨ 新增
29
+
30
+ 配合**飞书 Trigger** 使用,用于同步响应飞书事件(如卡片交互回调)。
31
+
32
+ **主要特点:**
33
+ - 支持**无响应**或**自定义 JSON** 响应
34
+ - 可显示 Toast 提示消息
35
+ - 可同步响应json信息到飞书
36
+ - 可选启用响应输出分支
37
+
38
+ ---
39
+
16
40
  ### 知识库 (13)
17
41
  - 获取知识空间列表
18
42
  - 获取知识空间信息
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FeishuNodeCredentialsApi = void 0;
4
+ const enums_1 = require("../nodes/help/type/enums");
4
5
  class FeishuNodeCredentialsApi {
5
6
  constructor() {
6
7
  this.name = 'feishuNodeCredentialsApi';
@@ -9,11 +10,47 @@ class FeishuNodeCredentialsApi {
9
10
  this.properties = [
10
11
  {
11
12
  displayName: 'Base URL',
12
- name: 'baseUrl',
13
- type: 'string',
14
- default: 'open.feishu.cn',
13
+ name: 'url',
14
+ type: 'options',
15
+ options: [
16
+ {
17
+ name: `${enums_1.BaseUrl.China}`,
18
+ value: `${enums_1.BaseUrl.China}`,
19
+ description: '飞书开放平台 API 地址(中国)',
20
+ },
21
+ {
22
+ name: `${enums_1.BaseUrl.Global}`,
23
+ value: `${enums_1.BaseUrl.Global}`,
24
+ description: 'Larksuite 开放平台 API 地址(海外)',
25
+ },
26
+ {
27
+ name: '自定义',
28
+ value: 'custom',
29
+ description: '自定义 URL',
30
+ },
31
+ ],
32
+ default: enums_1.BaseUrl.China,
15
33
  required: true,
16
34
  },
35
+ {
36
+ displayName: '自定义 URL',
37
+ name: 'customUrl',
38
+ type: 'string',
39
+ default: '',
40
+ placeholder: 'https://custom.domain',
41
+ hint: '必须以 "https://" 或 "http://" 开头',
42
+ displayOptions: {
43
+ show: {
44
+ url: ['custom'],
45
+ },
46
+ },
47
+ },
48
+ {
49
+ displayName: 'URL',
50
+ name: 'baseURL',
51
+ type: 'hidden',
52
+ default: '={{$self["url"] === "custom" ? $self["customUrl"] : $self["url"]}}',
53
+ },
17
54
  {
18
55
  displayName: 'Appid',
19
56
  description: '开放平台应用的唯一标识。可以在开发者后台的 凭证与基础信息 页面查看 app_id',
@@ -51,8 +88,8 @@ class FeishuNodeCredentialsApi {
51
88
  };
52
89
  this.test = {
53
90
  request: {
54
- baseURL: '=https://{{$credentials.baseUrl}}',
55
- url: `/open-apis/auth/v3/app_access_token/internal`,
91
+ baseURL: '={{$credentials.baseURL}}',
92
+ url: '/open-apis/auth/v3/app_access_token/internal',
56
93
  method: 'POST',
57
94
  body: {
58
95
  app_id: '={{$credentials.appid}}',
@@ -61,10 +98,19 @@ class FeishuNodeCredentialsApi {
61
98
  },
62
99
  rules: [
63
100
  {
64
- type: 'responseCode',
101
+ type: 'responseSuccessBody',
102
+ properties: {
103
+ message: '参数错误',
104
+ key: 'code',
105
+ value: 10003,
106
+ },
107
+ },
108
+ {
109
+ type: 'responseSuccessBody',
65
110
  properties: {
66
- value: 200,
67
- message: '授权验证失败',
111
+ message: 'App Secret 无效',
112
+ key: 'code',
113
+ value: 10014,
68
114
  },
69
115
  },
70
116
  ],
@@ -73,7 +119,8 @@ class FeishuNodeCredentialsApi {
73
119
  async preAuthentication(credentials) {
74
120
  const res = (await this.helpers.httpRequest({
75
121
  method: 'POST',
76
- url: `https://${credentials.baseUrl}/open-apis/auth/v3/app_access_token/internal`,
122
+ baseURL: credentials.baseURL,
123
+ url: '/open-apis/auth/v3/app_access_token/internal',
77
124
  body: {
78
125
  app_id: credentials.appid,
79
126
  app_secret: credentials.appsecret,
@@ -1 +1 @@
1
- {"version":3,"file":"FeishuNodeCredentialsApi.credentials.js","sourceRoot":"","sources":["../../credentials/FeishuNodeCredentialsApi.credentials.ts"],"names":[],"mappings":";;;AASA,MAAa,wBAAwB;IAArC;QACC,SAAI,GAAG,0BAA0B,CAAC;QAClC,gBAAW,GAAG,YAAY,CAAC;QAC3B,SAAI,GAAG,eAAwB,CAAC;QAChC,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,OAAO;gBACpB,WAAW,EAAE,2CAA2C;gBACxD,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE;oBACZ,SAAS,EAAE,IAAI;iBACf;aACD;SACD,CAAC;QAyCF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,sCAAsC;iBACrD;aACD;SACD,CAAC;QAGF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,mCAAmC;gBAC5C,GAAG,EAAE,8CAA8C;gBACnD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE;oBACL,MAAM,EAAE,yBAAyB;oBACjC,UAAU,EAAE,6BAA6B;iBACzC;aACD;YACD,KAAK,EAAE;gBACN;oBACC,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE;wBACX,KAAK,EAAE,GAAG;wBACV,OAAO,EAAE,QAAQ;qBACjB;iBACD;aACD;SACD,CAAC;IACH,CAAC;IArEA,KAAK,CAAC,iBAAiB,CAA2B,WAA2C;QAC5F,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,WAAW,WAAW,CAAC,OAAO,8CAA8C;YACjF,IAAI,EAAE;gBACL,MAAM,EAAE,WAAW,CAAC,KAAK;gBACzB,UAAU,EAAE,WAAW,CAAC,SAAS;aACjC;SACD,CAAC,CAAQ,CAAC;QAIX,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC;IACjD,CAAC;CAoDD;AA7GD,4DA6GC"}
1
+ {"version":3,"file":"FeishuNodeCredentialsApi.credentials.js","sourceRoot":"","sources":["../../credentials/FeishuNodeCredentialsApi.credentials.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FeishuNodeOauth2Api = void 0;
4
+ const enums_1 = require("../nodes/help/type/enums");
4
5
  class FeishuNodeOauth2Api {
5
6
  constructor() {
6
7
  this.name = 'feishuNodeOauth2Api';
@@ -12,29 +13,108 @@ class FeishuNodeOauth2Api {
12
13
  displayName: 'Grant Type',
13
14
  name: 'grantType',
14
15
  type: 'hidden',
15
- default: 'authorizationCode',
16
+ default: 'pkce',
17
+ },
18
+ {
19
+ displayName: 'Base URL',
20
+ name: 'url',
21
+ type: 'options',
22
+ options: [
23
+ {
24
+ name: `${enums_1.BaseUrl.China}`,
25
+ value: `${enums_1.BaseUrl.China}`,
26
+ description: '飞书开放平台 API 地址(中国)',
27
+ },
28
+ {
29
+ name: `${enums_1.BaseUrl.Global}`,
30
+ value: `${enums_1.BaseUrl.Global}`,
31
+ description: 'Larksuite 开放平台 API 地址(海外)',
32
+ },
33
+ {
34
+ name: '自定义',
35
+ value: 'custom',
36
+ description: '自定义 URL',
37
+ },
38
+ ],
39
+ default: enums_1.BaseUrl.China,
40
+ required: true,
41
+ },
42
+ {
43
+ displayName: '自定义 URL',
44
+ name: 'customUrl',
45
+ type: 'string',
46
+ default: '',
47
+ placeholder: 'https://custom.domain',
48
+ hint: '必须以 "https://" 或 "http://" 开头',
49
+ displayOptions: {
50
+ show: {
51
+ url: ['custom'],
52
+ },
53
+ },
54
+ },
55
+ {
56
+ displayName: '自定义 Access Token URL',
57
+ name: 'customAccessTokenUrl',
58
+ type: 'string',
59
+ default: '',
60
+ placeholder: 'https://custom.domain/open-apis/authen/v2/oauth/token',
61
+ displayOptions: {
62
+ show: {
63
+ url: ['custom'],
64
+ },
65
+ },
66
+ },
67
+ {
68
+ displayName: '自定义授权 URL',
69
+ name: 'customAuthorizationUrl',
70
+ type: 'string',
71
+ default: '',
72
+ placeholder: 'https://custom.domain/open-apis/authen/v1/authorize',
73
+ displayOptions: {
74
+ show: {
75
+ url: ['custom'],
76
+ },
77
+ },
78
+ },
79
+ {
80
+ displayName: 'URL',
81
+ name: 'baseURL',
82
+ type: 'hidden',
83
+ default: '={{$self["url"] === "custom" ? $self["customUrl"] : $self["url"]}}',
84
+ },
85
+ {
86
+ displayName: `单次最多可向用户请求 50 个权限范围。建议包含 offline_access。<a target="_blank" href="https://open.feishu.cn/document/authentication-management/access-token/obtain-oauth-code?#bc6d1214">更多详情</a>`,
87
+ name: 'suggestion',
88
+ type: 'notice',
89
+ default: '',
90
+ },
91
+ {
92
+ displayName: '权限范围',
93
+ name: 'authScope',
94
+ type: 'string',
95
+ hint: '格式:offline_access,contact:contact,bitable:app。<a target="_blank" href="https://open.feishu.cn/document/server-docs/application-scope/scope-list">权限列表</a>',
96
+ default: 'offline_access',
97
+ required: true,
16
98
  },
17
99
  {
18
100
  displayName: 'Authorization URL',
19
101
  name: 'authUrl',
102
+ type: 'hidden',
103
+ default: '={{$self["url"] === "custom" ? $self["customAuthorizationUrl"] : $self["url"] === "https://open.feishu.cn" ? "https://accounts.feishu.cn/open-apis/authen/v1/authorize" : "https://accounts.larksuite.com/open-apis/authen/v1/authorize"}}',
20
104
  required: true,
21
- default: 'https://accounts.feishu.cn/open-apis/authen/v1/authorize',
22
- type: 'string',
23
105
  },
24
106
  {
25
107
  displayName: 'Access Token URL',
26
108
  name: 'accessTokenUrl',
109
+ type: 'hidden',
110
+ default: '={{$self["url"] === "custom" ? $self["customAccessTokenUrl"] : $self["url"] === "https://open.feishu.cn" ? "https://open.feishu.cn/open-apis/authen/v2/oauth/token" : "https://open.larksuite.com/open-apis/authen/v2/oauth/token"}}',
27
111
  required: true,
28
- default: 'https://open.feishu.cn/open-apis/authen/v2/oauth/token',
29
- type: 'string',
30
112
  },
31
113
  {
32
114
  displayName: 'Scope',
33
115
  name: 'scope',
34
- type: 'string',
35
- required: true,
36
- default: 'bitable:app wiki:wiki offline_access event:ip_list',
37
- description: '参考权限:https://open.feishu.cn/document/server-docs/application-scope/scope-list',
116
+ type: 'hidden',
117
+ default: '={{$self["authScope"].replace(/,/g, " ").trim()}}',
38
118
  },
39
119
  {
40
120
  displayName: 'Auth URI Query Parameters',
@@ -1 +1 @@
1
- {"version":3,"file":"FeishuNodeOauth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/FeishuNodeOauth2Api.credentials.ts"],"names":[],"mappings":";;;AAGA,MAAa,mBAAmB;IAAhC;QAEC,SAAI,GAAG,qBAAqB,CAAC;QAE7B,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,gBAAW,GAAG,qBAAqB,CAAC;QAEpC,SAAI,GAAG,eAAwB,CAAC;QAChC,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;aAC5B;YACD;gBACC,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,0DAA0D;gBACnE,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,wDAAwD;gBACjE,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,oDAAoD;gBAC7D,WAAW,EACV,+EAA+E;aAChF;YACD;gBACC,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ;aACjB;SACD,CAAC;IACH,CAAC;CAAA;AApDD,kDAoDC"}
1
+ {"version":3,"file":"FeishuNodeOauth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/FeishuNodeOauth2Api.credentials.ts"],"names":[],"mappings":"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"}
@@ -177,6 +177,17 @@ class FeishuNode {
177
177
  },
178
178
  },
179
179
  ],
180
+ webhooks: [
181
+ {
182
+ name: 'default',
183
+ httpMethod: 'POST',
184
+ responseMode: 'onReceived',
185
+ responseData: '',
186
+ path: '={{ $nodeId }}',
187
+ restartWebhook: true,
188
+ isFullPath: true,
189
+ },
190
+ ],
180
191
  properties: [
181
192
  {
182
193
  displayName: '凭证类型',
@@ -1 +1 @@
1
- {"version":3,"file":"FeishuNode.node.js","sourceRoot":"","sources":["../../../nodes/FeishuNode/FeishuNode.node.ts"],"names":[],"mappings":";;;;;;AAAA,+CASsB;AACtB,sFAA8D;AAI9D,MAAM,eAAe,GAAG,yBAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAczD,SAAS,cAAc,CAAC,OAA0B;;IACjD,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAExD,CAAC;QAGF,MAAM,eAAe,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,KAAK,MAAK,SAAS,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,KAAK,0CAAE,SAAS,mCAAI,EAAE,CAAC;QAC5D,MAAM,aAAa,GAAG,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,KAAK,0CAAE,aAAa,mCAAI,CAAC,CAAC;QAEnE,OAAO;YACN,OAAO,EAAE,eAAe;YAExB,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1C,aAAa;SACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QAER,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;AACF,CAAC;AAKD,KAAK,UAAU,aAAa,CAC3B,OAA0B,EAC1B,KAA2B,EAC3B,QAA8E,EAC9E,UAAkC,EAClC,QAAiB,EACjB,SAAkB;IAElB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;QAC/D,IAAI,CAAC;YACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBAC9C,QAAQ;gBACR,SAAS;gBACT,SAAS;aACT,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAG7D,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;gBACtF,MAAM,aAAa,GAAG,YAGrB,CAAC;gBACF,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;gBAErC,IAAI,UAAU,eAAwB,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;oBAEpE,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;gBACvC,CAAC;qBAAM,IAAI,UAAU,WAAoB,EAAE,CAAC;oBAE3C,OAAO,EAAE,CAAC;gBACX,CAAC;YAEF,CAAC;iBAAM,CAAC;gBAEP,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAC/D,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,YAA2B,CAAC,EAC5D,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CACjC,CAAC;gBACF,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBACpD,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CACpE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EACzD,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CACjC,CAAC;gBACF,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;gBAC1C,SAAS;YACV,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAMD,KAAK,UAAU,eAAe,CAC7B,OAA0B,EAC1B,KAA2B,EAC3B,QAA8E,EAC9E,UAAkC,EAClC,WAAwB,EACxB,QAAiB,EACjB,SAAkB;IAElB,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IACjD,MAAM,eAAe,GAA8E,EAAE,CAAC;IAGtG,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;QAE/D,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,SAAS,GAAG,SAAS,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAA,oBAAK,EAAC,aAAa,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YAChD,QAAQ;YACR,SAAS;YACT,SAAS;YACT,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,CAAC,CAAC;QAGH,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;aACtD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;aACzC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC,CAAC,CAAC;QAE3D,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAGD,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAGpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAEpC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBACjE,QAAQ;gBACR,SAAS;gBACT,SAAS,EAAE,CAAC;gBACZ,YAAY,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO;aAC5B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CACpE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,eAAe,EAAE,CAAC,EAC7E,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CACzB,CAAC;gBACF,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;gBAC1C,SAAS;YACV,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;QAEpD,IAAI,KAAK,EAAE,CAAC;YAEX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;gBACtD,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;aAClB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CACpE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EACzD,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CACjC,CAAC;gBACF,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;gBAC1C,SAAS;YACV,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAGD,MAAM,YAAY,GAAG,MAAM,CAAC;QAG5B,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;YACtF,MAAM,aAAa,GAAG,YAGrB,CAAC;YACF,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;YAErC,IAAI,UAAU,eAAwB,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAGpE,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;YACvC,CAAC;iBAAM,IAAI,UAAU,WAAoB,EAAE,CAAC;gBAE3C,SAAS;YACV,CAAC;QAEF,CAAC;aAAM,CAAC;YAEP,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAC/D,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,YAA2B,CAAC,EAC5D,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CACjC,CAAC;YACF,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAa,UAAU;IAAvB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,uDAAuD;YACjE,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE;gBACT,IAAI,EAAE,IAAI;aACV;YACD,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE;gBACZ;oBACC,IAAI,4BAAkC;oBACtC,WAAW,EAAE,QAAQ;oBACrB,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,cAAc,EAAE,4BAAkC;yBAClD;qBACD;iBACD;gBACD;oBACC,IAAI,uBAA6B;oBACjC,WAAW,EAAE,QAAQ;oBACrB,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,cAAc,EAAE,uBAA6B;yBAC7C;qBACD;iBACD;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,QAAQ;4BACd,KAAK,uBAA6B;yBAClC;wBACD;4BACC,IAAI,EAAE,QAAQ;4BACd,KAAK,4BAAkC;yBACvC;qBACD;oBACD,OAAO,4BAAkC;iBACzC;gBACD,GAAG,eAAe,CAAC,KAAK,EAAE;aAC1B;SACD,CAAC;IAsCH,CAAC;IApCA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAGlC,MAAM,UAAU,GAA2B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAE/E,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,SAAS,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS,CACtC,CAAC;QACH,CAAC;QAGD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAIzC,MAAM,aAAa,GAAG,QAAwB,CAAC;QAK/C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YAEzB,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClG,CAAC;aAAM,CAAC;YAEP,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;IACF,CAAC;CACD;AA/FD,gCA+FC"}
1
+ {"version":3,"file":"FeishuNode.node.js","sourceRoot":"","sources":["../../../nodes/FeishuNode/FeishuNode.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { INodeType, INodeTypeDescription, ITriggerFunctions, ITriggerResponse } from 'n8n-workflow';
2
+ export declare class FeishuNodeTrigger implements INodeType {
3
+ description: INodeTypeDescription;
4
+ trigger(this: ITriggerFunctions): Promise<ITriggerResponse>;
5
+ }
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FeishuNodeTrigger = void 0;
7
+ const n8n_workflow_1 = require("n8n-workflow");
8
+ const crypto_1 = __importDefault(require("crypto"));
9
+ const ws_client_1 = require("../help/utils/lark-sdk/ws-client");
10
+ const event_handler_1 = require("../help/utils/lark-sdk/handler/event-handler");
11
+ const properties_1 = require("../help/utils/properties");
12
+ const FeishuResponseManager_1 = require("../help/utils/FeishuResponseManager");
13
+ class FeishuNodeTrigger {
14
+ constructor() {
15
+ this.description = {
16
+ displayName: '飞书 Trigger',
17
+ name: 'feishuNodeTrigger',
18
+ icon: 'file:icon.svg',
19
+ group: ['trigger'],
20
+ version: [1, 2, 3],
21
+ defaultVersion: 3,
22
+ subtitle: '=已订阅 {{$parameter["events"].length}} 个事件',
23
+ description: '通过 WebSocket 监听飞书事件,当事件发生时启动工作流',
24
+ defaults: {
25
+ name: '飞书 Trigger',
26
+ },
27
+ usableAsTool: true,
28
+ inputs: [],
29
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
30
+ credentials: [
31
+ {
32
+ name: "feishuNodeCredentialsApi",
33
+ required: true,
34
+ displayOptions: {
35
+ show: {
36
+ authentication: ["feishuNodeCredentialsApi"],
37
+ },
38
+ },
39
+ },
40
+ ],
41
+ properties: [
42
+ {
43
+ displayName: '认证方式',
44
+ name: 'authentication',
45
+ type: 'options',
46
+ default: `${"feishuNodeCredentialsApi"}`,
47
+ options: [
48
+ {
49
+ name: 'Tenant Access Token',
50
+ value: "feishuNodeCredentialsApi",
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ displayName: '此 Trigger 使用 WebSocket 长连接方式接收事件。由于飞书 API 限制,每个飞书应用同时只能有一个 Trigger 在运行。',
56
+ name: 'FeishuTriggerNotice',
57
+ type: 'notice',
58
+ default: '',
59
+ },
60
+ properties_1.triggerEventProperty,
61
+ {
62
+ displayName: '响应模式',
63
+ name: 'responseMode',
64
+ type: 'options',
65
+ options: [
66
+ {
67
+ name: 'Immediately',
68
+ value: 'immediately',
69
+ description: '事件触发后立即响应',
70
+ },
71
+ {
72
+ name: "Using '飞书响应' Node",
73
+ value: 'responseNode',
74
+ description: '使用飞书响应节点同步返回响应',
75
+ },
76
+ ],
77
+ default: 'immediately',
78
+ description: '选择何时向飞书发送响应',
79
+ },
80
+ {
81
+ displayName: '选项',
82
+ name: 'options',
83
+ type: 'collection',
84
+ placeholder: '添加选项',
85
+ default: {},
86
+ options: [
87
+ {
88
+ displayName: '回调提示信息',
89
+ name: 'callbackToast',
90
+ type: 'string',
91
+ default: '',
92
+ description: '设置回调触发时显示给用户的提示信息。如果不设置,则不显示任何提示。仅在 Immediately 模式下有效。',
93
+ displayOptions: {
94
+ show: {
95
+ '/responseMode': ['immediately'],
96
+ },
97
+ },
98
+ },
99
+ {
100
+ displayName: '响应超时时间',
101
+ name: 'responseTimeout',
102
+ type: 'number',
103
+ default: 3000,
104
+ description: '等待飞书响应节点响应的最大时间(毫秒),超时后将返回空响应',
105
+ displayOptions: {
106
+ show: {
107
+ '/responseMode': ['responseNode'],
108
+ },
109
+ },
110
+ },
111
+ ],
112
+ },
113
+ ],
114
+ };
115
+ }
116
+ async trigger() {
117
+ const credentials = await this.getCredentials("feishuNodeCredentialsApi");
118
+ if (!(credentials.appid && credentials.appsecret && credentials.baseURL)) {
119
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '缺少必要的飞书凭证配置');
120
+ }
121
+ const responseMode = this.getNodeParameter('responseMode', 'immediately');
122
+ const options = this.getNodeParameter('options', {});
123
+ const callbackToast = options.callbackToast || undefined;
124
+ const responseTimeout = options.responseTimeout || 30000;
125
+ const appId = credentials['appid'];
126
+ const appSecret = credentials['appsecret'];
127
+ const baseUrl = credentials['baseURL'];
128
+ const wsClient = new ws_client_1.WSClient({
129
+ appId,
130
+ appSecret,
131
+ domain: `${baseUrl}`,
132
+ logger: this.logger,
133
+ helpers: this.helpers,
134
+ });
135
+ const closeFunction = async () => {
136
+ await wsClient.stop();
137
+ };
138
+ const startWsClient = async () => {
139
+ const events = this.getNodeParameter('events', []);
140
+ const isAnyEvent = events.includes('any_event');
141
+ const handlers = {};
142
+ for (const event of events) {
143
+ handlers[event] = async (data) => {
144
+ const donePromise = this.helpers.createDeferredPromise();
145
+ const correlationId = crypto_1.default.randomUUID();
146
+ const enrichedData = {
147
+ ...data,
148
+ responseMode,
149
+ correlationId,
150
+ };
151
+ this.emit([this.helpers.returnJsonArray(enrichedData)], undefined, donePromise);
152
+ this.logger.info(`已处理事件: ${event}, correlationId: ${correlationId}`);
153
+ if (responseMode === 'immediately') {
154
+ if (callbackToast) {
155
+ return {
156
+ toast: {
157
+ type: 'info',
158
+ content: callbackToast,
159
+ },
160
+ };
161
+ }
162
+ return {};
163
+ }
164
+ else {
165
+ const responsePromise = FeishuResponseManager_1.feishuResponseManager.waitForResponse(correlationId, responseTimeout);
166
+ try {
167
+ const response = await responsePromise;
168
+ this.logger.info(`收到飞书响应节点响应: ${JSON.stringify(response)}`);
169
+ return response;
170
+ }
171
+ catch (error) {
172
+ const errorMessage = error instanceof Error ? error.message : String(error);
173
+ this.logger.warn(`等待响应超时或出错: ${errorMessage}`);
174
+ return {};
175
+ }
176
+ }
177
+ };
178
+ }
179
+ const eventDispatcher = new event_handler_1.EventDispatcher({ logger: this.logger, isAnyEvent }).register(handlers);
180
+ await wsClient.start({ eventDispatcher });
181
+ };
182
+ if (this.getMode() !== 'manual') {
183
+ await startWsClient();
184
+ return {
185
+ closeFunction,
186
+ };
187
+ }
188
+ else {
189
+ const manualTriggerFunction = async () => {
190
+ await startWsClient();
191
+ };
192
+ return {
193
+ closeFunction,
194
+ manualTriggerFunction,
195
+ };
196
+ }
197
+ }
198
+ }
199
+ exports.FeishuNodeTrigger = FeishuNodeTrigger;
200
+ //# sourceMappingURL=FeishuNodeTrigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeishuNodeTrigger.node.js","sourceRoot":"","sources":["../../../nodes/FeishuNode/FeishuNodeTrigger.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ {
2
+ "node": "n8n-nodes-feishu.feishuTrigger",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": ["Communication"],
6
+ "resources": {
7
+ "credentialDocumentation": [
8
+ {
9
+ "url": "https://open.feishu.cn/document/faq/trouble-shooting/how-to-obtain-app-id"
10
+ }
11
+ ],
12
+ "primaryDocumentation": [
13
+ {
14
+ "url": "https://open.feishu.cn/document/server-docs/event-subscription-guide/overview"
15
+ }
16
+ ],
17
+ "generic": []
18
+ }
19
+ }
@@ -0,0 +1,5 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class RespondToFeishu implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }