@niubitli/plugin-feishu-connector 0.3.1-connector-feishu

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.
@@ -0,0 +1,806 @@
1
+ // src/constants.ts
2
+ var PLUGIN_ID = "paperclipai.feishu-connector";
3
+ var PLUGIN_VERSION = "0.3.1-connector-feishu";
4
+ var API_ROUTE_KEYS = {
5
+ simulateInboundMessage: "simulate-inbound-message"
6
+ };
7
+ var TOOL_NAMES = {
8
+ sendMessage: "feishu.send_message",
9
+ sendCard: "feishu.send_card",
10
+ writeBaseRecord: "feishu.write_base_record",
11
+ downloadAttachments: "feishu.download_attachments",
12
+ replyOriginalThread: "feishu.reply_original_thread",
13
+ replySourceThread: "feishu.reply_source_thread",
14
+ askClarification: "feishu.ask_clarification",
15
+ lookupUser: "feishu.lookup_user",
16
+ fetchDoc: "feishu.fetch_doc",
17
+ runLarkCliCapability: "feishu.run_lark_cli_capability"
18
+ };
19
+ var UI_EXPORTS = {
20
+ dashboardWidget: "DashboardWidget",
21
+ sidebarLink: "FeishuSidebarLink",
22
+ sidebarPanel: "FeishuSidebarPanel",
23
+ settingsPage: "FeishuSettingsPage",
24
+ issueTab: "FeishuIssueTab",
25
+ commentReplyAction: "FeishuCommentReplyAction"
26
+ };
27
+ var WEBHOOK_KEYS = {
28
+ feishuEvents: "feishu-events"
29
+ };
30
+ var DEFAULT_ACK_TEMPLATE = "\u5DF2\u6536\u5230\uFF0C\u4EA4\u7ED9 {{agent_name}} \u5904\u7406\u3002\n\u4EFB\u52A1\uFF1A{{issue_ref}}";
31
+ var DEFAULT_COMPLETION_TEMPLATE = "\u5904\u7406\u5B8C\u6210\uFF1A{{issue_title}}";
32
+ var DEFAULT_QUICK_REPLY_REGEX = "^(\u53EA\u56DE\u590D\\s*ok|\u56DE\u590D\\s*ok|ping)$";
33
+ var DEFAULT_QUICK_REPLY_TEXT = "ok";
34
+
35
+ // src/config.ts
36
+ var DEFAULT_CONFIG = {
37
+ larkCliBin: "lark-cli",
38
+ dryRunCli: true,
39
+ capabilityDefaultPolicy: "authorized",
40
+ paperclipBaseUrl: "",
41
+ enableEventSubscriber: false,
42
+ eventTypes: "im.message.receive_v1",
43
+ eventRequireSignature: false,
44
+ ackOnInbound: false,
45
+ ackMessageTemplate: DEFAULT_ACK_TEMPLATE,
46
+ completionMessageTemplate: DEFAULT_COMPLETION_TEMPLATE,
47
+ enableQuickReply: true,
48
+ quickReplyRegex: DEFAULT_QUICK_REPLY_REGEX,
49
+ quickReplyText: DEFAULT_QUICK_REPLY_TEXT
50
+ };
51
+
52
+ // src/manifest.ts
53
+ var manifest = {
54
+ id: PLUGIN_ID,
55
+ apiVersion: 1,
56
+ version: PLUGIN_VERSION,
57
+ displayName: "\u98DE\u4E66\u8FDE\u63A5\u5668",
58
+ description: "\u8BA9 Paperclip \u667A\u80FD\u4F53\u901A\u8FC7\u98DE\u4E66\u673A\u5668\u4EBA\u6536\u6D88\u606F\u3001\u56DE\u6D88\u606F\uFF0C\u5E76\u53EF\u628A\u9700\u6C42\u5199\u5165\u98DE\u4E66\u591A\u7EF4\u8868\u683C\u3002",
59
+ author: "Paperclip",
60
+ categories: ["connector", "automation"],
61
+ capabilities: [
62
+ "companies.read",
63
+ "projects.read",
64
+ "issues.read",
65
+ "issues.create",
66
+ "issue.comments.read",
67
+ "issue.comments.create",
68
+ "issue.attachments.create",
69
+ "agents.read",
70
+ "agents.invoke",
71
+ "agent.sessions.create",
72
+ "agent.sessions.send",
73
+ "activity.log.write",
74
+ "metrics.write",
75
+ "database.namespace.migrate",
76
+ "database.namespace.read",
77
+ "database.namespace.write",
78
+ "plugin.state.read",
79
+ "plugin.state.write",
80
+ "secrets.read-ref",
81
+ "webhooks.receive",
82
+ "api.routes.register",
83
+ "events.subscribe",
84
+ "agent.tools.register",
85
+ "instance.settings.register",
86
+ "ui.sidebar.register",
87
+ "ui.dashboardWidget.register",
88
+ "ui.detailTab.register",
89
+ "ui.action.register"
90
+ ],
91
+ entrypoints: {
92
+ worker: "./dist/worker.js",
93
+ ui: "./dist/ui"
94
+ },
95
+ webhooks: [
96
+ {
97
+ endpointKey: WEBHOOK_KEYS.feishuEvents,
98
+ displayName: "\u98DE\u4E66\u4E8B\u4EF6\u56DE\u8C03",
99
+ description: "\u63A5\u6536\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u63A8\u9001\u7684\u6D88\u606F\u4E8B\u4EF6\uFF0C\u5E76\u6309\u5165\u53E3\u89C4\u5219\u521B\u5EFA\u6216\u66F4\u65B0 Paperclip Issue\u3002"
100
+ }
101
+ ],
102
+ apiRoutes: [
103
+ {
104
+ routeKey: API_ROUTE_KEYS.simulateInboundMessage,
105
+ method: "POST",
106
+ path: "/simulate-inbound-message",
107
+ auth: "board",
108
+ capability: "api.routes.register",
109
+ companyResolution: { from: "body", key: "companyId" }
110
+ }
111
+ ],
112
+ database: {
113
+ namespaceSlug: "feishu_connector",
114
+ migrationsDir: "migrations",
115
+ coreReadTables: ["issues"]
116
+ },
117
+ instanceConfigSchema: {
118
+ type: "object",
119
+ properties: {
120
+ capabilityDefaultPolicy: {
121
+ type: "string",
122
+ title: "\u98DE\u4E66\u80FD\u529B\u9ED8\u8BA4\u5F00\u653E\u7B56\u7565",
123
+ "x-order": 5,
124
+ description: "\u9ED8\u8BA4\u4F7F\u7528\u201C\u6309\u98DE\u4E66\u5E94\u7528\u6388\u6743\u5F00\u653E\u201D\uFF1A\u63D2\u4EF6\u4E0D\u4F1A\u8BA9\u7528\u6237\u9010\u9879\u786E\u8BA4\u5DF2\u63A5\u5165\u80FD\u529B\uFF0C\u7528\u6237\u53EA\u9700\u8981\u5173\u95ED\u4E0D\u60F3\u7ED9 Agent \u4F7F\u7528\u7684\u80FD\u529B\u3002",
125
+ enum: ["authorized", "conservative"],
126
+ enumNames: ["\u6309\u98DE\u4E66\u5E94\u7528\u6388\u6743\u5F00\u653E", "\u4FDD\u5B88\u6A21\u5F0F\uFF1A\u53EA\u5F00\u542F\u6838\u5FC3\u80FD\u529B"],
127
+ default: "authorized"
128
+ },
129
+ connections: {
130
+ type: "array",
131
+ title: "\u7B2C 1 \u6B65\uFF1A\u98DE\u4E66\u673A\u5668\u4EBA\u8D26\u53F7",
132
+ "x-order": 10,
133
+ description: "\u5148\u544A\u8BC9 Paperclip \u7528\u54EA\u4E2A\u98DE\u4E66\u673A\u5668\u4EBA\u6536\u53D1\u6D88\u606F\u3002\u901A\u5E38\u4E00\u4E2A\u673A\u5668\u4EBA\u586B\u4E00\u9879\u3002",
134
+ items: {
135
+ type: "object",
136
+ title: "\u98DE\u4E66\u673A\u5668\u4EBA\u8D26\u53F7",
137
+ properties: {
138
+ id: {
139
+ type: "string",
140
+ title: "\u8FDE\u63A5\u4EE3\u53F7",
141
+ "x-order": 10,
142
+ description: "\u81EA\u5DF1\u8D77\u4E00\u4E2A\u77ED\u540D\u5B57\uFF0C\u540E\u9762\u7684\u63A5\u6536\u89C4\u5219\u4F1A\u5F15\u7528\u5B83\u3002\u5EFA\u8BAE\u7528\u82F1\u6587\u548C\u77ED\u6A2A\u7EBF\uFF0C\u4F8B\u5982 boss-news-bot\u3002",
143
+ default: "boss-news-bot"
144
+ },
145
+ name: {
146
+ type: "string",
147
+ title: "\u9875\u9762\u663E\u793A\u540D\u79F0",
148
+ "x-order": 20,
149
+ description: "\u7ED9\u4EBA\u770B\u7684\u540D\u5B57\uFF0C\u4F8B\u5982\u300C\u8001\u677F\u8D44\u8BAF\u673A\u5668\u4EBA\u300D\u3002",
150
+ default: "\u8001\u677F\u8D44\u8BAF\u673A\u5668\u4EBA"
151
+ },
152
+ profileName: {
153
+ type: "string",
154
+ title: "lark-cli \u767B\u5F55\u914D\u7F6E\u540D",
155
+ "x-order": 30,
156
+ description: "\u8FD9\u662F\u98DE\u4E66\u5B98\u65B9 lark-cli \u91CC\u5DF2\u7ECF\u767B\u5F55\u597D\u7684 profile \u540D\u3002\u4E0D\u4F1A\u586B\u65F6\u5148\u627E\u5DE5\u7A0B\u5E08\u6267\u884C lark-cli auth login \u521B\u5EFA\u3002",
157
+ default: "paperclip-news-bot"
158
+ },
159
+ botAliases: {
160
+ type: "array",
161
+ title: "\u98DE\u4E66 @ \u540D\u79F0/\u522B\u540D",
162
+ "x-order": 32,
163
+ description: "\u5F53\u98DE\u4E66\u6216 lark-cli \u6CA1\u6709\u8FD4\u56DE\u673A\u5668\u4EBA\u663E\u793A\u540D\u65F6\uFF0C\u7528\u8FD9\u91CC\u5224\u65AD\u7528\u6237\u662F\u4E0D\u662F @ \u4E86\u5F53\u524D\u673A\u5668\u4EBA\u3002\u53EF\u586B\u591A\u4E2A\uFF0C\u4F8B\u5982\u300C\u9510\u601D\u300D\u300C\u5C0F\u9510\u300D\u3002",
164
+ items: { type: "string" },
165
+ default: []
166
+ },
167
+ appId: {
168
+ type: "string",
169
+ title: "\u98DE\u4E66 App ID\uFF08\u53EF\u9009\uFF09",
170
+ "x-order": 35,
171
+ description: "\u53EA\u7528\u4E8E\u9875\u9762\u6838\u5BF9\uFF0C\u4E0D\u4FDD\u5B58 App Secret\u3002App Secret \u7531\u5B98\u65B9 lark-cli profile \u6258\u7BA1\u3002"
172
+ },
173
+ enabled: {
174
+ type: "boolean",
175
+ title: "\u542F\u7528\u8FD9\u4E2A\u98DE\u4E66\u673A\u5668\u4EBA",
176
+ "x-order": 40,
177
+ default: true
178
+ }
179
+ },
180
+ required: ["id", "profileName"]
181
+ },
182
+ default: []
183
+ },
184
+ routes: {
185
+ type: "array",
186
+ title: "\u7B2C 2 \u6B65\uFF1A\u98DE\u4E66\u6D88\u606F\u4EA4\u7ED9\u54EA\u4E2A\u667A\u80FD\u4F53",
187
+ "x-order": 20,
188
+ description: "\u4E00\u6761\u89C4\u5219\u4EE3\u8868\u4E00\u4E2A\u573A\u666F\uFF1A\u8C01\u5728\u98DE\u4E66\u91CC\u53D1\u6D88\u606F\u3001\u4EA4\u7ED9 Paperclip \u91CC\u7684\u54EA\u4E2A\u667A\u80FD\u4F53\u5904\u7406\u3002",
189
+ items: {
190
+ type: "object",
191
+ title: "\u63A5\u6536\u6D88\u606F\u89C4\u5219",
192
+ properties: {
193
+ id: {
194
+ type: "string",
195
+ title: "\u89C4\u5219\u4EE3\u53F7",
196
+ "x-order": 10,
197
+ description: "\u81EA\u5DF1\u8D77\u4E00\u4E2A\u77ED\u540D\u5B57\uFF0C\u4F8B\u5982 boss-chat-to-news-agent\u3002",
198
+ default: "boss-chat-to-news-agent"
199
+ },
200
+ connectionId: {
201
+ type: "string",
202
+ title: "\u4F7F\u7528\u54EA\u4E2A\u98DE\u4E66\u673A\u5668\u4EBA",
203
+ "x-order": 20,
204
+ description: "\u586B\u5199\u7B2C 1 \u6B65\u91CC\u7684\u300C\u8FDE\u63A5\u4EE3\u53F7\u300D\u3002\u5982\u679C\u53EA\u914D\u7F6E\u4E86\u4E00\u4E2A\u673A\u5668\u4EBA\uFF0C\u4E5F\u5EFA\u8BAE\u586B\u4E0A\uFF0C\u907F\u514D\u4EE5\u540E\u6DF7\u6DC6\u3002",
205
+ default: "boss-news-bot"
206
+ },
207
+ enabled: {
208
+ type: "boolean",
209
+ title: "\u542F\u7528\u8FD9\u6761\u89C4\u5219",
210
+ "x-order": 30,
211
+ default: true
212
+ },
213
+ matchType: {
214
+ type: "string",
215
+ title: "\u76D1\u542C\u65B9\u5F0F",
216
+ "x-order": 40,
217
+ description: "\u6700\u5E38\u7528\u9009\u300C\u6307\u5B9A\u98DE\u4E66\u7FA4/\u4F1A\u8BDD\u300D\u3002\u8001\u677F\u5355\u804A\u673A\u5668\u4EBA\u4E5F\u53EF\u4EE5\u7528\u8FD9\u4E2A\u65B9\u5F0F\uFF0C\u586B\u5BF9\u5E94 chat_id\u3002",
218
+ enum: ["chat", "user", "keyword", "regex", "default"],
219
+ enumNames: ["\u6307\u5B9A\u98DE\u4E66\u7FA4/\u4F1A\u8BDD", "\u6307\u5B9A\u53D1\u6D88\u606F\u7684\u4EBA", "\u6D88\u606F\u5305\u542B\u5173\u952E\u8BCD", "\u9AD8\u7EA7\uFF1A\u6B63\u5219\u5339\u914D", "\u515C\u5E95\uFF1A\u5176\u4ED6\u6D88\u606F\u90FD\u63A5\u6536"],
220
+ default: "chat"
221
+ },
222
+ chatId: {
223
+ type: "string",
224
+ title: "\u98DE\u4E66\u7FA4/\u4F1A\u8BDD chat_id",
225
+ "x-order": 50,
226
+ description: "\u76D1\u542C\u65B9\u5F0F\u9009\u300C\u6307\u5B9A\u98DE\u4E66\u7FA4/\u4F1A\u8BDD\u300D\u65F6\u586B\u5199\u3002\u8BBE\u7F6E\u9875\u652F\u6301\u6309\u7FA4\u540D\u641C\u7D22\u540E\u81EA\u52A8\u5E26\u51FA\u3002"
227
+ },
228
+ chatName: {
229
+ type: "string",
230
+ title: "\u98DE\u4E66\u7FA4/\u4F1A\u8BDD\u540D\u79F0",
231
+ "x-order": 55,
232
+ description: "\u53EA\u7528\u4E8E\u9875\u9762\u663E\u793A\uFF0C\u771F\u6B63\u5339\u914D\u4ECD\u4EE5 chat_id \u4E3A\u51C6\u3002"
233
+ },
234
+ userOpenId: {
235
+ type: "string",
236
+ title: "\u53D1\u6D88\u606F\u4EBA\u7684 open_id",
237
+ "x-order": 60,
238
+ description: "\u76D1\u542C\u65B9\u5F0F\u9009\u300C\u6307\u5B9A\u53D1\u6D88\u606F\u7684\u4EBA\u300D\u65F6\u586B\u5199\u3002\u8BBE\u7F6E\u9875\u652F\u6301\u6309\u59D3\u540D\u641C\u7D22\u540E\u81EA\u52A8\u5E26\u51FA\u3002"
239
+ },
240
+ userName: {
241
+ type: "string",
242
+ title: "\u53D1\u6D88\u606F\u4EBA\u59D3\u540D",
243
+ "x-order": 65,
244
+ description: "\u53EA\u7528\u4E8E\u9875\u9762\u663E\u793A\uFF0C\u771F\u6B63\u5339\u914D\u4ECD\u4EE5 open_id \u4E3A\u51C6\u3002"
245
+ },
246
+ keyword: {
247
+ type: "string",
248
+ title: "\u5173\u952E\u8BCD",
249
+ "x-order": 70,
250
+ description: "\u76D1\u542C\u65B9\u5F0F\u9009\u300C\u6D88\u606F\u5305\u542B\u5173\u952E\u8BCD\u300D\u65F6\u586B\u5199\u3002\u4F8B\u5982\u300C\u8D44\u8BAF\u300D\u300C\u5E2E\u6211\u67E5\u300D\u3002"
251
+ },
252
+ regex: {
253
+ type: "string",
254
+ title: "\u9AD8\u7EA7\uFF1A\u6B63\u5219\u8868\u8FBE\u5F0F",
255
+ "x-order": 80,
256
+ description: "\u4E00\u822C\u4E0D\u7528\u586B\u3002\u53EA\u6709\u9700\u8981\u590D\u6742\u5339\u914D\u89C4\u5219\u65F6\u7ED9\u5DE5\u7A0B\u5E08\u4F7F\u7528\u3002"
257
+ },
258
+ companyRef: {
259
+ type: "string",
260
+ title: "Paperclip \u516C\u53F8",
261
+ "x-order": 90,
262
+ description: "\u586B\u516C\u53F8\u540D\u79F0\u6216\u5DE6\u4FA7\u5706\u70B9\u4E0A\u7684\u516C\u53F8\u524D\u7F00\u5373\u53EF\uFF0C\u4F8B\u5982\u300C\u9510\u6377\u7F51\u7EDC\u300D\u6216\u300CCMP\u300D\u3002",
263
+ default: "CMP"
264
+ },
265
+ targetAgentName: {
266
+ type: "string",
267
+ title: "\u4EA4\u7ED9\u54EA\u4E2A\u667A\u80FD\u4F53",
268
+ "x-order": 100,
269
+ description: "\u586B\u5DE6\u4FA7\u667A\u80FD\u4F53\u5217\u8868\u91CC\u663E\u793A\u7684\u540D\u5B57\uFF0C\u4F8B\u5982\u300C\u8D44\u8BAF\u6570\u5B57\u4EBA\u300D\u300C\u5218\u603B\u300D\u3002\u63D2\u4EF6\u4F1A\u81EA\u52A8\u627E\u5230\u5BF9\u5E94\u667A\u80FD\u4F53\u3002"
270
+ },
271
+ replyMode: {
272
+ type: "string",
273
+ title: "\u667A\u80FD\u4F53\u5904\u7406\u540E\u600E\u4E48\u56DE\u590D\u98DE\u4E66",
274
+ "x-order": 110,
275
+ enum: ["none", "message", "thread"],
276
+ enumNames: ["\u4E0D\u81EA\u52A8\u56DE\u590D", "\u53D1\u4E00\u6761\u65B0\u6D88\u606F", "\u5728\u539F\u6D88\u606F\u7EBF\u7A0B\u91CC\u56DE\u590D"],
277
+ default: "thread"
278
+ },
279
+ baseSinkId: {
280
+ type: "string",
281
+ title: "\u53EF\u9009\uFF1A\u540C\u6B65\u5230\u54EA\u5F20\u591A\u7EF4\u8868\u683C",
282
+ "x-order": 120,
283
+ description: "\u586B\u5199\u7B2C 3 \u6B65\u91CC\u7684\u300C\u591A\u7EF4\u8868\u683C\u89C4\u5219\u4EE3\u53F7\u300D\u3002\u4E0D\u9700\u8981\u5199\u5165\u591A\u7EF4\u8868\u683C\u5C31\u7559\u7A7A\u3002"
284
+ },
285
+ priority: {
286
+ type: "number",
287
+ title: "\u9AD8\u7EA7\uFF1A\u89C4\u5219\u4F18\u5148\u7EA7",
288
+ "x-order": 900,
289
+ description: "\u591A\u6761\u89C4\u5219\u90FD\u80FD\u5339\u914D\u65F6\uFF0C\u6570\u5B57\u5927\u7684\u5148\u6267\u884C\u3002\u666E\u901A\u7528\u6237\u4FDD\u6301 10 \u5373\u53EF\u3002",
290
+ default: 10
291
+ },
292
+ companyId: {
293
+ type: "string",
294
+ title: "\u9AD8\u7EA7\uFF1A\u516C\u53F8 ID",
295
+ "x-order": 910,
296
+ description: "\u666E\u901A\u7528\u6237\u4E0D\u7528\u586B\u3002\u53EA\u6709\u516C\u53F8\u540D\u79F0/\u524D\u7F00\u627E\u4E0D\u5230\u65F6\uFF0C\u624D\u8BA9\u5DE5\u7A0B\u5E08\u590D\u5236\u516C\u53F8 ID\u3002"
297
+ },
298
+ projectId: {
299
+ type: "string",
300
+ title: "\u9AD8\u7EA7\uFF1A\u9879\u76EE ID",
301
+ "x-order": 920,
302
+ description: "\u9ED8\u8BA4\u4F1A\u521B\u5EFA\u5230\u516C\u53F8\u4EFB\u52A1\u6C60\u3002\u60F3\u56FA\u5B9A\u8FDB\u5165\u67D0\u4E2A\u9879\u76EE\u65F6\u518D\u586B\u9879\u76EE ID\u3002"
303
+ },
304
+ targetAgentId: {
305
+ type: "string",
306
+ title: "\u9AD8\u7EA7\uFF1A\u667A\u80FD\u4F53 ID",
307
+ "x-order": 930,
308
+ description: "\u666E\u901A\u7528\u6237\u4E0D\u7528\u586B\u3002\u53EA\u6709\u667A\u80FD\u4F53\u540D\u79F0\u627E\u4E0D\u5230\u65F6\uFF0C\u624D\u590D\u5236\u667A\u80FD\u4F53\u9875\u9762 URL \u91CC\u7684 ID\u3002"
309
+ }
310
+ },
311
+ required: ["id", "matchType"]
312
+ },
313
+ default: []
314
+ },
315
+ baseSinks: {
316
+ type: "array",
317
+ title: "\u7B2C 3 \u6B65\uFF08\u53EF\u9009\uFF09\uFF1A\u5199\u5165\u98DE\u4E66\u591A\u7EF4\u8868\u683C",
318
+ "x-order": 30,
319
+ description: "\u5982\u679C\u5E0C\u671B\u628A\u98DE\u4E66\u91CC\u7684\u65B0\u9700\u6C42\u540C\u6B65\u6C89\u6DC0\u5230\u591A\u7EF4\u8868\u683C\uFF0C\u5C31\u5728\u8FD9\u91CC\u6DFB\u52A0\u4E00\u9879\u3002\u4E0D\u9700\u8981\u5C31\u7559\u7A7A\u3002",
320
+ items: {
321
+ type: "object",
322
+ title: "\u591A\u7EF4\u8868\u683C\u5199\u5165\u89C4\u5219",
323
+ properties: {
324
+ id: {
325
+ type: "string",
326
+ title: "\u591A\u7EF4\u8868\u683C\u89C4\u5219\u4EE3\u53F7",
327
+ "x-order": 10,
328
+ description: "\u81EA\u5DF1\u8D77\u4E00\u4E2A\u77ED\u540D\u5B57\uFF0C\u63A5\u6536\u89C4\u5219\u91CC\u4F1A\u5F15\u7528\u5B83\u3002\u4F8B\u5982 boss-demand-base\u3002",
329
+ default: "boss-demand-base"
330
+ },
331
+ connectionId: {
332
+ type: "string",
333
+ title: "\u4F7F\u7528\u54EA\u4E2A\u98DE\u4E66\u673A\u5668\u4EBA",
334
+ "x-order": 20,
335
+ description: "\u586B\u5199\u7B2C 1 \u6B65\u91CC\u7684\u300C\u8FDE\u63A5\u4EE3\u53F7\u300D\u3002\u7559\u7A7A\u65F6\u9ED8\u8BA4\u4F7F\u7528\u7B2C\u4E00\u4E2A\u673A\u5668\u4EBA\u3002",
336
+ default: "boss-news-bot"
337
+ },
338
+ enabled: {
339
+ type: "boolean",
340
+ title: "\u542F\u7528\u5199\u5165\u591A\u7EF4\u8868\u683C",
341
+ "x-order": 30,
342
+ default: true
343
+ },
344
+ baseToken: {
345
+ type: "string",
346
+ title: "\u591A\u7EF4\u8868\u683C base token",
347
+ "x-order": 40,
348
+ description: "\u98DE\u4E66\u591A\u7EF4\u8868\u683C\u94FE\u63A5\u91CC\u7684 app \u5F00\u5934\u90A3\u6BB5 token\u3002\u4E0D\u4F1A\u627E\u65F6\u628A\u8868\u683C\u94FE\u63A5\u53D1\u7ED9\u5DE5\u7A0B\u5E08\u3002"
349
+ },
350
+ tableIdOrName: {
351
+ type: "string",
352
+ title: "\u6570\u636E\u8868 ID \u6216\u8868\u540D",
353
+ "x-order": 50,
354
+ description: "\u53EF\u4EE5\u586B\u8868\u540D\uFF0C\u4F8B\u5982\u300C\u9700\u6C42\u6C60\u300D\uFF1B\u66F4\u7A33\u7684\u662F\u586B table_id\u3002"
355
+ },
356
+ identity: {
357
+ type: "string",
358
+ title: "\u7528\u8C01\u7684\u8EAB\u4EFD\u5199\u8868",
359
+ "x-order": 60,
360
+ enum: ["bot", "user"],
361
+ enumNames: ["\u673A\u5668\u4EBA\u8EAB\u4EFD", "\u7528\u6237\u8EAB\u4EFD"],
362
+ default: "bot"
363
+ },
364
+ fieldMap: {
365
+ type: "object",
366
+ title: "\u5199\u5165\u54EA\u4E9B\u5B57\u6BB5",
367
+ "x-order": 70,
368
+ description: "\u5DE6\u8FB9\u662F\u98DE\u4E66\u8868\u683C\u5B57\u6BB5\u540D\uFF0C\u53F3\u8FB9\u662F\u8981\u5199\u5165\u7684\u5185\u5BB9\u6A21\u677F\u3002\u9ED8\u8BA4\u5B57\u6BB5\u9002\u5408\u300C\u9700\u6C42\u6C60\u300D\u8868\u3002",
369
+ properties: {
370
+ "\u9700\u6C42\u6807\u9898": { type: "string", title: "\u9700\u6C42\u6807\u9898", "x-order": 10, default: "{{issue_title}}" },
371
+ "\u539F\u59CB\u9700\u6C42": { type: "string", title: "\u539F\u59CB\u9700\u6C42", "x-order": 20, default: "{{message.text}}" },
372
+ "\u63D0\u51FA\u4EBA": { type: "string", title: "\u63D0\u51FA\u4EBA", "x-order": 30, default: "{{sender.name}}" },
373
+ "\u98DE\u4E66\u6D88\u606FID": { type: "string", title: "\u98DE\u4E66\u6D88\u606FID", "x-order": 40, default: "{{message.id}}" },
374
+ "Paperclip\u4EFB\u52A1ID": { type: "string", title: "Paperclip\u4EFB\u52A1ID", "x-order": 50, default: "{{issue_id}}" }
375
+ }
376
+ }
377
+ },
378
+ required: ["id", "baseToken", "tableIdOrName"]
379
+ },
380
+ default: []
381
+ },
382
+ dryRunCli: {
383
+ type: "boolean",
384
+ title: "\u6D4B\u8BD5\u6A21\u5F0F\uFF1A\u5148\u4E0D\u771F\u7684\u53D1\u98DE\u4E66\u6D88\u606F",
385
+ "x-order": 40,
386
+ default: DEFAULT_CONFIG.dryRunCli,
387
+ description: "\u521A\u914D\u7F6E\u65F6\u5EFA\u8BAE\u6253\u5F00\u3002\u786E\u8BA4\u6CA1\u95EE\u9898\u540E\u518D\u5173\u95ED\uFF0C\u5173\u95ED\u540E\u624D\u4F1A\u771F\u7684\u8C03\u7528 lark-cli \u7ED9\u98DE\u4E66\u53D1\u6D88\u606F\u6216\u5199\u8868\u3002"
388
+ },
389
+ ackOnInbound: {
390
+ type: "boolean",
391
+ title: "\u6536\u5230\u9700\u6C42\u540E\u5148\u56DE\u590D\u4E00\u53E5\u300C\u5DF2\u6536\u5230\u300D",
392
+ "x-order": 50,
393
+ default: DEFAULT_CONFIG.ackOnInbound,
394
+ description: "\u6253\u5F00\u540E\uFF0C\u98DE\u4E66\u6D88\u606F\u8FDB\u6765\u65F6\u4F1A\u5148\u81EA\u52A8\u56DE\u590D\u786E\u8BA4\u3002\u5EFA\u8BAE\u6B63\u5F0F\u4F7F\u7528\u65F6\u6253\u5F00\u3002"
395
+ },
396
+ ackMessageTemplate: {
397
+ type: "string",
398
+ title: "\u6536\u5230\u9700\u6C42\u65F6\u7684\u786E\u8BA4\u8BDD\u672F",
399
+ "x-order": 60,
400
+ default: DEFAULT_CONFIG.ackMessageTemplate,
401
+ description: "\u53EF\u4EE5\u4F7F\u7528 {{agent_name}} \u8868\u793A\u667A\u80FD\u4F53\u540D\u79F0\u3002"
402
+ },
403
+ enableQuickReply: {
404
+ type: "boolean",
405
+ title: "\u6D4B\u8BD5\u53E3\u4EE4\uFF1A\u53EA\u56DE\u590D ok \u65F6\u4E0D\u8DD1\u667A\u80FD\u4F53",
406
+ "x-order": 65,
407
+ default: DEFAULT_CONFIG.enableQuickReply,
408
+ description: "\u6253\u5F00\u540E\uFF0C\u5728\u98DE\u4E66\u91CC @\u673A\u5668\u4EBA \u53D1\u9001\u300C\u53EA\u56DE\u590D ok\u300D\u4F1A\u76F4\u63A5\u56DE ok\uFF0C\u7528\u6765\u786E\u8BA4\u98DE\u4E66\u6536\u53D1\u94FE\u8DEF\uFF0C\u4E0D\u4F1A\u521B\u5EFA Paperclip \u4EFB\u52A1\u3002"
409
+ },
410
+ quickReplyRegex: {
411
+ type: "string",
412
+ title: "\u9AD8\u7EA7\uFF1A\u6D4B\u8BD5\u53E3\u4EE4\u5339\u914D\u89C4\u5219",
413
+ "x-order": 66,
414
+ default: DEFAULT_CONFIG.quickReplyRegex,
415
+ description: "\u666E\u901A\u7528\u6237\u4E0D\u7528\u6539\u3002\u5339\u914D\u5230\u8FD9\u4E2A\u89C4\u5219\u65F6\uFF0C\u4F1A\u76F4\u63A5\u53D1\u9001\u4E0B\u65B9\u7684\u6D4B\u8BD5\u56DE\u590D\u5185\u5BB9\u3002"
416
+ },
417
+ quickReplyText: {
418
+ type: "string",
419
+ title: "\u6D4B\u8BD5\u56DE\u590D\u5185\u5BB9",
420
+ "x-order": 67,
421
+ default: DEFAULT_CONFIG.quickReplyText,
422
+ description: "\u6D4B\u8BD5\u53E3\u4EE4\u547D\u4E2D\u540E\uFF0C\u673A\u5668\u4EBA\u76F4\u63A5\u56DE\u590D\u8FD9\u53E5\u8BDD\u3002"
423
+ },
424
+ completionMessageTemplate: {
425
+ type: "string",
426
+ title: "\u667A\u80FD\u4F53\u5B8C\u6210\u540E\u7684\u56DE\u590D\u8BDD\u672F",
427
+ "x-order": 70,
428
+ default: DEFAULT_CONFIG.completionMessageTemplate,
429
+ description: "\u9ED8\u8BA4\u4F18\u5148\u4F7F\u7528 Paperclip \u6700\u7EC8\u8BC4\u8BBA\u6B63\u6587\u3002\u81EA\u5B9A\u4E49\u65F6\u53EF\u4F7F\u7528 {{issue_title}}\u3001{{issue_ref}}\u3001{{issue_url}}\u3002"
430
+ },
431
+ paperclipBaseUrl: {
432
+ type: "string",
433
+ title: "Paperclip \u5185\u90E8\u8BBF\u95EE\u5730\u5740\uFF08\u53EF\u9009\uFF09",
434
+ "x-order": 75,
435
+ default: DEFAULT_CONFIG.paperclipBaseUrl,
436
+ description: "\u4F8B\u5982 https://paperclip.company.com\u3002\u53EA\u7528\u4E8E\u98DE\u4E66\u91CC\u9644\u5E26\u5185\u90E8\u4EFB\u52A1\u94FE\u63A5\uFF1B\u6CA1\u6709 Paperclip \u8D26\u53F7\u7684\u4EBA\u6253\u4E0D\u5F00\u3002"
437
+ },
438
+ enableEventSubscriber: {
439
+ type: "boolean",
440
+ title: "\u81EA\u52A8\u76D1\u542C\u98DE\u4E66\u65B0\u6D88\u606F",
441
+ "x-order": 80,
442
+ default: DEFAULT_CONFIG.enableEventSubscriber,
443
+ description: "\u672C\u5730\u6D4B\u8BD5\u53EF\u4EE5\u6253\u5F00\u3002\u672A\u6765\u90E8\u7F72\u5230\u4E91\u670D\u52A1\u5668\u65F6\uFF0C\u5EFA\u8BAE\u53EA\u5F00\u4E00\u4E2A\u76D1\u542C\u670D\u52A1\uFF0C\u907F\u514D\u540C\u4E00\u6761\u98DE\u4E66\u6D88\u606F\u88AB\u5904\u7406\u591A\u6B21\u3002"
444
+ },
445
+ eventTypes: {
446
+ type: "string",
447
+ title: "\u9AD8\u7EA7\uFF1A\u76D1\u542C\u7684\u98DE\u4E66\u4E8B\u4EF6\u7C7B\u578B",
448
+ "x-order": 90,
449
+ default: DEFAULT_CONFIG.eventTypes,
450
+ description: "\u666E\u901A\u7528\u6237\u4E0D\u7528\u6539\u3002\u9ED8\u8BA4\u76D1\u542C\u98DE\u4E66\u6536\u5230\u6D88\u606F\u4E8B\u4EF6\u3002"
451
+ },
452
+ eventVerificationTokenRef: {
453
+ type: "string",
454
+ title: "\u4E8B\u4EF6 Verification Token Secret Ref",
455
+ "x-order": 92,
456
+ description: "\u53EF\u9009\u3002\u628A\u98DE\u4E66\u4E8B\u4EF6\u8BA2\u9605\u91CC\u7684 Verification Token \u5B58\u5230 Paperclip Secret/Vault \u540E\uFF0C\u5728\u8FD9\u91CC\u586B\u5199\u5F15\u7528\u540D\u3002\u63D2\u4EF6\u53EA\u4FDD\u5B58\u5F15\u7528\uFF0C\u4E0D\u4FDD\u5B58 token \u660E\u6587\u3002"
457
+ },
458
+ eventEncryptKeyRef: {
459
+ type: "string",
460
+ title: "\u4E8B\u4EF6 Encrypt Key Secret Ref",
461
+ "x-order": 94,
462
+ description: "\u53EF\u9009\u3002\u628A\u98DE\u4E66\u4E8B\u4EF6\u8BA2\u9605\u91CC\u7684 Encrypt Key \u5B58\u5230 Paperclip Secret/Vault \u540E\uFF0C\u5728\u8FD9\u91CC\u586B\u5199\u5F15\u7528\u540D\u3002\u7528\u4E8E\u89E3\u5BC6\u52A0\u5BC6\u4E8B\u4EF6\uFF0C\u4E5F\u53EF\u7528\u4E8E\u7B7E\u540D\u6821\u9A8C\u3002"
463
+ },
464
+ eventRequireSignature: {
465
+ type: "boolean",
466
+ title: "\u516C\u7F51\u56DE\u8C03\u5FC5\u987B\u6821\u9A8C\u7B7E\u540D",
467
+ "x-order": 96,
468
+ default: DEFAULT_CONFIG.eventRequireSignature,
469
+ description: "\u4E91\u7AEF webhook \u5EFA\u8BAE\u5F00\u542F\u3002\u5F00\u542F\u540E\uFF0C\u98DE\u4E66\u56DE\u8C03\u5FC5\u987B\u5E26 x-lark-signature\u3001timestamp \u548C nonce\uFF0C\u5E76\u901A\u8FC7 Encrypt Key \u6821\u9A8C\u3002"
470
+ },
471
+ larkCliBin: {
472
+ type: "string",
473
+ title: "\u9AD8\u7EA7\uFF1Alark-cli \u547D\u4EE4\u8DEF\u5F84",
474
+ "x-order": 100,
475
+ default: DEFAULT_CONFIG.larkCliBin,
476
+ description: "\u666E\u901A\u7528\u6237\u4E0D\u7528\u6539\u3002\u4FDD\u6301\u9ED8\u8BA4\u65F6\u63D2\u4EF6\u4F1A\u4F18\u5148\u4F7F\u7528\u5305\u5185\u81EA\u5E26 CLI\uFF1B\u9700\u8981\u5F3A\u5236\u8D70\u670D\u52A1\u5668\u56FA\u5B9A\u8DEF\u5F84\u65F6\u624D\u586B\u5199\u5B8C\u6574\u8DEF\u5F84\u3002"
477
+ }
478
+ }
479
+ },
480
+ tools: [
481
+ {
482
+ name: TOOL_NAMES.sendMessage,
483
+ displayName: "\u53D1\u9001\u98DE\u4E66\u6D88\u606F",
484
+ description: "\u901A\u8FC7\u5DF2\u914D\u7F6E\u7684\u98DE\u4E66\u673A\u5668\u4EBA\u7ED9\u6307\u5B9A\u4F1A\u8BDD\u6216\u7528\u6237\u53D1\u9001\u6D88\u606F\u3002",
485
+ parametersSchema: {
486
+ type: "object",
487
+ properties: {
488
+ connectionId: {
489
+ type: "string",
490
+ title: "\u98DE\u4E66\u673A\u5668\u4EBA\u8FDE\u63A5\u4EE3\u53F7",
491
+ description: "\u5BF9\u5E94\u7B2C 1 \u6B65\u91CC\u586B\u5199\u7684\u8FDE\u63A5\u4EE3\u53F7\u3002\u7559\u7A7A\u65F6\u4F7F\u7528\u7B2C\u4E00\u4E2A\u542F\u7528\u7684\u673A\u5668\u4EBA\u3002"
492
+ },
493
+ chatId: {
494
+ type: "string",
495
+ title: "\u98DE\u4E66\u7FA4/\u4F1A\u8BDD chat_id",
496
+ description: "\u53D1\u5230\u7FA4\u6216\u5355\u804A\u4F1A\u8BDD\u65F6\u586B\u5199\u3002"
497
+ },
498
+ userId: {
499
+ type: "string",
500
+ title: "\u98DE\u4E66\u7528\u6237 ID",
501
+ description: "\u76F4\u63A5\u53D1\u7ED9\u67D0\u4E2A\u7528\u6237\u65F6\u586B\u5199\u3002"
502
+ },
503
+ text: {
504
+ type: "string",
505
+ title: "\u6587\u672C\u5185\u5BB9"
506
+ },
507
+ markdown: {
508
+ type: "string",
509
+ title: "Markdown \u5185\u5BB9"
510
+ }
511
+ }
512
+ }
513
+ },
514
+ {
515
+ name: TOOL_NAMES.writeBaseRecord,
516
+ displayName: "\u5199\u5165\u98DE\u4E66\u591A\u7EF4\u8868\u683C",
517
+ description: "\u628A\u4E00\u6761\u7ED3\u6784\u5316\u8BB0\u5F55\u5199\u5165\u5DF2\u914D\u7F6E\u7684\u98DE\u4E66\u591A\u7EF4\u8868\u683C\u3002",
518
+ parametersSchema: {
519
+ type: "object",
520
+ properties: {
521
+ sinkId: {
522
+ type: "string",
523
+ title: "\u591A\u7EF4\u8868\u683C\u89C4\u5219\u4EE3\u53F7",
524
+ description: "\u5BF9\u5E94\u7B2C 3 \u6B65\u91CC\u586B\u5199\u7684\u89C4\u5219\u4EE3\u53F7\u3002"
525
+ },
526
+ record: {
527
+ type: "object",
528
+ title: "\u8981\u5199\u5165\u7684\u8BB0\u5F55\u5185\u5BB9"
529
+ }
530
+ },
531
+ required: ["sinkId", "record"]
532
+ }
533
+ },
534
+ {
535
+ name: TOOL_NAMES.sendCard,
536
+ displayName: "\u53D1\u9001\u98DE\u4E66\u5361\u7247",
537
+ description: "\u901A\u8FC7\u5DF2\u914D\u7F6E\u7684\u98DE\u4E66\u673A\u5668\u4EBA\u53D1\u9001\u7ED3\u6784\u5316\u98DE\u4E66\u5361\u7247\u3002",
538
+ parametersSchema: {
539
+ type: "object",
540
+ properties: {
541
+ connectionId: {
542
+ type: "string",
543
+ title: "\u98DE\u4E66\u673A\u5668\u4EBA\u8FDE\u63A5\u4EE3\u53F7",
544
+ description: "\u7559\u7A7A\u65F6\u4F7F\u7528\u7B2C\u4E00\u4E2A\u542F\u7528\u7684\u673A\u5668\u4EBA\u3002"
545
+ },
546
+ chatId: {
547
+ type: "string",
548
+ title: "\u98DE\u4E66\u7FA4/\u4F1A\u8BDD chat_id"
549
+ },
550
+ userId: {
551
+ type: "string",
552
+ title: "\u98DE\u4E66\u7528\u6237 ID"
553
+ },
554
+ title: {
555
+ type: "string",
556
+ title: "\u5361\u7247\u6807\u9898"
557
+ },
558
+ summary: {
559
+ type: "string",
560
+ title: "\u5361\u7247\u6B63\u6587\u6458\u8981"
561
+ },
562
+ actions: {
563
+ type: "array",
564
+ title: "\u6309\u94AE",
565
+ items: {
566
+ type: "object",
567
+ properties: {
568
+ text: { type: "string", title: "\u6309\u94AE\u6587\u5B57" },
569
+ url: { type: "string", title: "\u6309\u94AE\u94FE\u63A5" }
570
+ }
571
+ }
572
+ }
573
+ },
574
+ required: ["title", "summary"]
575
+ }
576
+ },
577
+ {
578
+ name: TOOL_NAMES.replyOriginalThread,
579
+ displayName: "\u56DE\u590D\u539F\u98DE\u4E66\u4F1A\u8BDD",
580
+ description: "\u5728\u7531\u98DE\u4E66\u6D88\u606F\u521B\u5EFA\u7684 Paperclip \u4EFB\u52A1\u4E2D\uFF0C\u628A\u5185\u5BB9\u56DE\u590D\u5230\u539F\u98DE\u4E66\u6D88\u606F\u7EBF\u7A0B\u3002\u9ED8\u8BA4\u4F1A\u6839\u636E\u5F53\u524D Agent \u8FD0\u884C\u81EA\u52A8\u627E\u5230\u539F\u4F1A\u8BDD\u3002",
581
+ parametersSchema: {
582
+ type: "object",
583
+ properties: {
584
+ text: {
585
+ type: "string",
586
+ title: "\u8981\u56DE\u590D\u7684\u6587\u672C"
587
+ },
588
+ issueId: {
589
+ type: "string",
590
+ title: "Paperclip \u4EFB\u52A1 ID\uFF08\u53EF\u9009\uFF09",
591
+ description: "\u4E00\u822C\u4E0D\u7528\u586B\u3002\u53EA\u6709\u5F53\u524D\u8FD0\u884C\u627E\u4E0D\u5230\u98DE\u4E66\u4F1A\u8BDD\u65F6\uFF0C\u624D\u7528\u4EFB\u52A1 ID \u515C\u5E95\u67E5\u627E\u3002"
592
+ },
593
+ replyMode: {
594
+ type: "string",
595
+ title: "\u56DE\u590D\u65B9\u5F0F",
596
+ enum: ["thread", "message"],
597
+ enumNames: ["\u5728\u539F\u6D88\u606F\u7EBF\u7A0B\u91CC\u56DE\u590D", "\u76F4\u63A5\u53D1\u5230\u539F\u98DE\u4E66\u4F1A\u8BDD"],
598
+ default: "thread"
599
+ }
600
+ },
601
+ required: ["text"]
602
+ }
603
+ },
604
+ {
605
+ name: TOOL_NAMES.replySourceThread,
606
+ displayName: "\u56DE\u590D\u98DE\u4E66\u6765\u6E90\u7EBF\u7A0B",
607
+ description: "\u5728\u7531\u98DE\u4E66\u6D88\u606F\u521B\u5EFA\u7684 Paperclip \u4EFB\u52A1\u4E2D\uFF0C\u628A\u5185\u5BB9\u56DE\u590D\u5230\u539F\u98DE\u4E66\u6D88\u606F\u7EBF\u7A0B\u3002\u5EFA\u8BAE\u65B0 Agent \u4F7F\u7528\u8FD9\u4E2A\u5DE5\u5177\u540D\uFF1B\u65E7\u5DE5\u5177\u540D\u7EE7\u7EED\u517C\u5BB9\u3002",
608
+ parametersSchema: {
609
+ type: "object",
610
+ properties: {
611
+ text: {
612
+ type: "string",
613
+ title: "\u8981\u56DE\u590D\u7684\u6587\u672C"
614
+ },
615
+ issueId: {
616
+ type: "string",
617
+ title: "Paperclip \u4EFB\u52A1 ID\uFF08\u53EF\u9009\uFF09",
618
+ description: "\u4E00\u822C\u4E0D\u7528\u586B\u3002\u53EA\u6709\u5F53\u524D\u8FD0\u884C\u627E\u4E0D\u5230\u98DE\u4E66\u4F1A\u8BDD\u65F6\uFF0C\u624D\u7528\u4EFB\u52A1 ID \u515C\u5E95\u67E5\u627E\u3002"
619
+ },
620
+ replyMode: {
621
+ type: "string",
622
+ title: "\u56DE\u590D\u65B9\u5F0F",
623
+ enum: ["thread", "message"],
624
+ enumNames: ["\u5728\u539F\u6D88\u606F\u7EBF\u7A0B\u91CC\u56DE\u590D", "\u76F4\u63A5\u53D1\u5230\u539F\u98DE\u4E66\u4F1A\u8BDD"],
625
+ default: "thread"
626
+ }
627
+ },
628
+ required: ["text"]
629
+ }
630
+ },
631
+ {
632
+ name: TOOL_NAMES.askClarification,
633
+ displayName: "\u5411\u98DE\u4E66\u63D0\u51FA\u8FFD\u95EE",
634
+ description: "\u4EFB\u52A1\u4FE1\u606F\u4E0D\u8DB3\u65F6\uFF0C\u5728\u539F\u98DE\u4E66\u6D88\u606F\u7EBF\u7A0B\u91CC\u5411\u63D0\u51FA\u4EBA\u8FFD\u95EE\u3002\u53EA\u9002\u7528\u4E8E\u4ECE\u98DE\u4E66\u5165\u53E3\u521B\u5EFA\u7684 Paperclip \u4EFB\u52A1\u3002",
635
+ parametersSchema: {
636
+ type: "object",
637
+ properties: {
638
+ question: {
639
+ type: "string",
640
+ title: "\u8981\u8FFD\u95EE\u7684\u95EE\u9898"
641
+ },
642
+ issueId: {
643
+ type: "string",
644
+ title: "Paperclip \u4EFB\u52A1 ID\uFF08\u53EF\u9009\uFF09",
645
+ description: "\u4E00\u822C\u4E0D\u7528\u586B\u3002\u53EA\u6709\u5F53\u524D\u8FD0\u884C\u627E\u4E0D\u5230\u98DE\u4E66\u4F1A\u8BDD\u65F6\uFF0C\u624D\u7528\u4EFB\u52A1 ID \u515C\u5E95\u67E5\u627E\u3002"
646
+ }
647
+ },
648
+ required: ["question"]
649
+ }
650
+ },
651
+ {
652
+ name: TOOL_NAMES.downloadAttachments,
653
+ displayName: "\u4E0B\u8F7D\u539F\u98DE\u4E66\u9644\u4EF6",
654
+ description: "\u4E0B\u8F7D\u521B\u5EFA\u5F53\u524D Paperclip \u4EFB\u52A1\u7684\u98DE\u4E66\u539F\u6D88\u606F\u9644\u4EF6\uFF0C\u5E76\u6302\u5230 Issue\u3002",
655
+ parametersSchema: {
656
+ type: "object",
657
+ properties: {
658
+ issueId: {
659
+ type: "string",
660
+ title: "Paperclip \u4EFB\u52A1 ID\uFF08\u53EF\u9009\uFF09",
661
+ description: "\u4E00\u822C\u4E0D\u7528\u586B\u3002\u53EA\u6709\u5F53\u524D\u8FD0\u884C\u627E\u4E0D\u5230\u98DE\u4E66\u4F1A\u8BDD\u65F6\uFF0C\u624D\u7528\u4EFB\u52A1 ID \u515C\u5E95\u67E5\u627E\u3002"
662
+ }
663
+ }
664
+ }
665
+ },
666
+ {
667
+ name: TOOL_NAMES.lookupUser,
668
+ displayName: "\u67E5\u627E\u98DE\u4E66\u7528\u6237",
669
+ description: "\u6309\u59D3\u540D\u3001\u5DE5\u53F7\u6216\u5173\u952E\u8BCD\u67E5\u627E\u98DE\u4E66\u8054\u7CFB\u4EBA\uFF0C\u4F9B\u667A\u80FD\u4F53\u5728\u9700\u8981\u786E\u8BA4\u6536\u4EF6\u4EBA\u6216\u63D0\u51FA\u4EBA\u8EAB\u4EFD\u65F6\u4F7F\u7528\u3002",
670
+ parametersSchema: {
671
+ type: "object",
672
+ properties: {
673
+ query: {
674
+ type: "string",
675
+ title: "\u59D3\u540D\u3001\u5DE5\u53F7\u6216\u5173\u952E\u8BCD"
676
+ },
677
+ connectionId: {
678
+ type: "string",
679
+ title: "\u98DE\u4E66\u673A\u5668\u4EBA\u8FDE\u63A5\u4EE3\u53F7\uFF08\u53EF\u9009\uFF09",
680
+ description: "\u7559\u7A7A\u65F6\u4F7F\u7528\u7B2C\u4E00\u4E2A\u542F\u7528\u7684\u673A\u5668\u4EBA\u3002"
681
+ },
682
+ profileName: {
683
+ type: "string",
684
+ title: "lark-cli profile\uFF08\u53EF\u9009\uFF09",
685
+ description: "\u5DE5\u7A0B\u5E08\u8C03\u8BD5\u65F6\u624D\u9700\u8981\u3002\u666E\u901A\u667A\u80FD\u4F53\u4E0D\u8981\u586B\u5199\u3002"
686
+ }
687
+ },
688
+ required: ["query"]
689
+ }
690
+ },
691
+ {
692
+ name: TOOL_NAMES.fetchDoc,
693
+ displayName: "\u8BFB\u53D6\u98DE\u4E66\u6587\u6863",
694
+ description: "\u8BFB\u53D6\u98DE\u4E66\u4E91\u6587\u6863\u5185\u5BB9\uFF0C\u4F9B\u667A\u80FD\u4F53\u603B\u7ED3\u6216\u5206\u6790\u3002\u9ED8\u8BA4\u4F7F\u7528\u7528\u6237\u6388\u6743\u8EAB\u4EFD\u3002",
695
+ parametersSchema: {
696
+ type: "object",
697
+ properties: {
698
+ doc: {
699
+ type: "string",
700
+ title: "\u98DE\u4E66\u6587\u6863 URL \u6216 token"
701
+ },
702
+ connectionId: {
703
+ type: "string",
704
+ title: "\u98DE\u4E66\u673A\u5668\u4EBA\u8FDE\u63A5\u4EE3\u53F7\uFF08\u53EF\u9009\uFF09",
705
+ description: "\u7528\u4E8E\u9009\u62E9\u7ED1\u5B9A\u5728\u540C\u4E00\u98DE\u4E66\u5E94\u7528\u4E0B\u7684 profile\u3002"
706
+ },
707
+ profileName: {
708
+ type: "string",
709
+ title: "lark-cli profile\uFF08\u53EF\u9009\uFF09",
710
+ description: "\u5DE5\u7A0B\u5E08\u8C03\u8BD5\u65F6\u624D\u9700\u8981\u3002\u666E\u901A\u667A\u80FD\u4F53\u4E0D\u8981\u586B\u5199\u3002"
711
+ },
712
+ identity: {
713
+ type: "string",
714
+ title: "\u8BBF\u95EE\u8EAB\u4EFD",
715
+ enum: ["user", "bot"],
716
+ enumNames: ["\u7528\u6237\u6388\u6743", "\u673A\u5668\u4EBA\u8EAB\u4EFD"],
717
+ default: "user"
718
+ }
719
+ },
720
+ required: ["doc"]
721
+ }
722
+ },
723
+ {
724
+ name: TOOL_NAMES.runLarkCliCapability,
725
+ displayName: "\u53D7\u63A7\u8FD0\u884C lark-cli \u80FD\u529B",
726
+ description: "\u9AD8\u7EA7\u515C\u5E95\u5DE5\u5177\u3002\u53EA\u80FD\u8FD0\u884C\u80FD\u529B\u4E2D\u5FC3\u5DF2\u5F00\u542F\u4E14\u547D\u4EE4\u524D\u7F00\u5728\u5141\u8BB8\u5217\u8868\u91CC\u7684 lark-cli \u80FD\u529B\u3002",
727
+ parametersSchema: {
728
+ type: "object",
729
+ properties: {
730
+ capabilityKey: {
731
+ type: "string",
732
+ title: "\u80FD\u529B key",
733
+ description: "\u6765\u81EA\u80FD\u529B\u4E2D\u5FC3\uFF0C\u4F8B\u5982 fetch_doc\u3001lookup_user\u3002"
734
+ },
735
+ command: {
736
+ type: "array",
737
+ title: "lark-cli \u547D\u4EE4\u53C2\u6570\u6570\u7EC4",
738
+ items: { type: "string" },
739
+ description: "\u4E0D\u8981\u5305\u542B lark-cli \u4E8C\u8FDB\u5236\u540D\u3002\u63D2\u4EF6\u4F1A\u6309\u8FDE\u63A5\u6CE8\u5165 profile\u3002"
740
+ },
741
+ connectionId: {
742
+ type: "string",
743
+ title: "\u98DE\u4E66\u673A\u5668\u4EBA\u8FDE\u63A5\u4EE3\u53F7\uFF08\u53EF\u9009\uFF09"
744
+ },
745
+ profileName: {
746
+ type: "string",
747
+ title: "lark-cli profile\uFF08\u53EF\u9009\uFF09",
748
+ description: "\u5DE5\u7A0B\u5E08\u8C03\u8BD5\u65F6\u624D\u9700\u8981\u3002\u666E\u901A\u667A\u80FD\u4F53\u4E0D\u8981\u586B\u5199\u3002"
749
+ },
750
+ timeoutMs: {
751
+ type: "number",
752
+ title: "\u8D85\u65F6\u65F6\u95F4\u6BEB\u79D2\uFF08\u53EF\u9009\uFF09"
753
+ }
754
+ },
755
+ required: ["capabilityKey", "command"]
756
+ }
757
+ }
758
+ ],
759
+ ui: {
760
+ slots: [
761
+ {
762
+ type: "settingsPage",
763
+ id: "feishu-connector-settings",
764
+ displayName: "\u98DE\u4E66\u8FDE\u63A5\u5668\u914D\u7F6E",
765
+ exportName: UI_EXPORTS.settingsPage
766
+ },
767
+ {
768
+ type: "dashboardWidget",
769
+ id: "feishu-connector-status",
770
+ displayName: "\u98DE\u4E66\u8FDE\u63A5\u5668",
771
+ exportName: UI_EXPORTS.dashboardWidget
772
+ },
773
+ {
774
+ type: "sidebar",
775
+ id: "feishu-connector-sidebar-link",
776
+ displayName: "\u98DE\u4E66\u8FDE\u63A5\u5668",
777
+ exportName: UI_EXPORTS.sidebarLink
778
+ },
779
+ {
780
+ type: "sidebarPanel",
781
+ id: "feishu-connector-sidebar-panel",
782
+ displayName: "\u98DE\u4E66\u8FDE\u63A5\u5668\u72B6\u6001",
783
+ exportName: UI_EXPORTS.sidebarPanel
784
+ },
785
+ {
786
+ type: "detailTab",
787
+ id: "feishu-issue-source",
788
+ displayName: "\u98DE\u4E66",
789
+ exportName: UI_EXPORTS.issueTab,
790
+ entityTypes: ["issue"]
791
+ },
792
+ {
793
+ type: "commentContextMenuItem",
794
+ id: "feishu-comment-reply-action",
795
+ displayName: "\u56DE\u590D\u5230\u98DE\u4E66",
796
+ exportName: UI_EXPORTS.commentReplyAction,
797
+ entityTypes: ["comment"]
798
+ }
799
+ ]
800
+ }
801
+ };
802
+ var manifest_default = manifest;
803
+ export {
804
+ manifest_default as default
805
+ };
806
+ //# sourceMappingURL=manifest.js.map