@oomol-lab/open-connector 1.6.3 → 1.6.5

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 (108) hide show
  1. package/assets/open-connector/catalog/apps/aisa.json +568 -0
  2. package/assets/open-connector/catalog/apps/bilibili.json +2586 -0
  3. package/assets/open-connector/catalog/apps/bitwarden.json +1423 -0
  4. package/assets/open-connector/catalog/apps/cronfree.json +303 -0
  5. package/assets/open-connector/catalog/apps/cufinder.json +368 -0
  6. package/assets/open-connector/catalog/apps/feishu_app_bot.json +2 -2
  7. package/assets/open-connector/catalog/apps/gmail.json +73 -0
  8. package/assets/open-connector/catalog/apps/investoday_mcp.json +22228 -197
  9. package/assets/open-connector/catalog/apps/ixspy.json +2274 -0
  10. package/assets/open-connector/catalog/apps/jin10.json +1 -1
  11. package/assets/open-connector/catalog/apps/osv.json +663 -0
  12. package/assets/open-connector/catalog/apps/pdf_vector.json +329 -0
  13. package/assets/open-connector/catalog/apps/pulsetic.json +406 -0
  14. package/assets/open-connector/catalog/apps/shopee.json +1785 -0
  15. package/assets/open-connector/catalog/apps/slack.json +81 -0
  16. package/assets/open-connector/catalog/apps/slackbot.json +81 -0
  17. package/assets/open-connector/catalog/apps/speak_ai.json +360 -0
  18. package/assets/open-connector/catalog/apps/tongdaxin.json +11 -440
  19. package/assets/open-connector/catalog/apps/zyhub.json +1585 -0
  20. package/assets/open-connector/catalog/apps-index.json +1 -1
  21. package/package.json +1 -1
  22. package/src/core/json-schema.d.ts +5 -1
  23. package/src/core/json-schema.js +14 -2
  24. package/src/core/types.d.ts +9 -0
  25. package/src/oauth/oauth-credential-refresh-service.js +3 -1
  26. package/src/oauth/oauth-flow-service.js +17 -2
  27. package/src/oauth/oauth-token.d.ts +13 -0
  28. package/src/providers/action-contracts.generated.d.ts +16 -4
  29. package/src/providers/aisa/executors.d.ts +4 -0
  30. package/src/providers/aisa/executors.js +176 -0
  31. package/src/providers/bilibili/articles.d.ts +3 -0
  32. package/src/providers/bilibili/articles.js +369 -0
  33. package/src/providers/bilibili/executors.d.ts +8 -0
  34. package/src/providers/bilibili/executors.js +262 -0
  35. package/src/providers/bilibili/runtime.d.ts +95 -0
  36. package/src/providers/bilibili/runtime.js +238 -0
  37. package/src/providers/bilibili/upload.d.ts +14 -0
  38. package/src/providers/bilibili/upload.js +105 -0
  39. package/src/providers/bitwarden/executors.d.ts +3 -0
  40. package/src/providers/bitwarden/executors.js +146 -0
  41. package/src/providers/cronfree/executors.d.ts +4 -0
  42. package/src/providers/cronfree/executors.js +89 -0
  43. package/src/providers/cufinder/executors.d.ts +4 -0
  44. package/src/providers/cufinder/executors.js +105 -0
  45. package/src/providers/dropbox/executors.js +21 -3
  46. package/src/providers/elevenreader/runtime.js +6 -5
  47. package/src/providers/feishu_app_bot/scopes.js +1 -1
  48. package/src/providers/gmail/attachment-stream.d.ts +2 -0
  49. package/src/providers/gmail/attachment-stream.js +162 -0
  50. package/src/providers/gmail/executors.d.ts +3 -1
  51. package/src/providers/gmail/executors.js +53 -25
  52. package/src/providers/investoday_mcp/official-actions.js +19 -372
  53. package/src/providers/investoday_mcp/official-tool-types.d.ts +10 -0
  54. package/src/providers/investoday_mcp/official-tool-types.js +4 -0
  55. package/src/providers/investoday_mcp/official-tools/charts.d.ts +2 -0
  56. package/src/providers/investoday_mcp/official-tools/charts.js +32 -0
  57. package/src/providers/investoday_mcp/official-tools/fixed-income.d.ts +2 -0
  58. package/src/providers/investoday_mcp/official-tools/fixed-income.js +326 -0
  59. package/src/providers/investoday_mcp/official-tools/funds.d.ts +2 -0
  60. package/src/providers/investoday_mcp/official-tools/funds.js +1085 -0
  61. package/src/providers/investoday_mcp/official-tools/hong-kong.d.ts +2 -0
  62. package/src/providers/investoday_mcp/official-tools/hong-kong.js +275 -0
  63. package/src/providers/investoday_mcp/official-tools/indices-industries.d.ts +2 -0
  64. package/src/providers/investoday_mcp/official-tools/indices-industries.js +642 -0
  65. package/src/providers/investoday_mcp/official-tools/macro-calendar.d.ts +2 -0
  66. package/src/providers/investoday_mcp/official-tools/macro-calendar.js +398 -0
  67. package/src/providers/investoday_mcp/official-tools/other.d.ts +2 -0
  68. package/src/providers/investoday_mcp/official-tools/other.js +131 -0
  69. package/src/providers/investoday_mcp/official-tools/research-news.d.ts +2 -0
  70. package/src/providers/investoday_mcp/official-tools/research-news.js +302 -0
  71. package/src/providers/investoday_mcp/official-tools/stocks.d.ts +2 -0
  72. package/src/providers/investoday_mcp/official-tools/stocks.js +2829 -0
  73. package/src/providers/ixspy/executors.d.ts +3 -0
  74. package/src/providers/ixspy/executors.js +220 -0
  75. package/src/providers/mcp-client.d.ts +1 -0
  76. package/src/providers/mcp-client.js +41 -27
  77. package/src/providers/osv/executors.d.ts +2 -0
  78. package/src/providers/osv/executors.js +11 -0
  79. package/src/providers/osv/runtime.d.ts +9 -0
  80. package/src/providers/osv/runtime.js +66 -0
  81. package/src/providers/pdf_vector/executors.d.ts +4 -0
  82. package/src/providers/pdf_vector/executors.js +108 -0
  83. package/src/providers/provider-runtime.d.ts +3 -0
  84. package/src/providers/provider-runtime.js +4 -1
  85. package/src/providers/pulsetic/executors.d.ts +4 -0
  86. package/src/providers/pulsetic/executors.js +126 -0
  87. package/src/providers/registry.generated.js +12 -0
  88. package/src/providers/sellersprite_mcp/executors.js +2 -1
  89. package/src/providers/shopee/actions.d.ts +2 -0
  90. package/src/providers/shopee/actions.js +474 -0
  91. package/src/providers/shopee/executors.d.ts +3 -0
  92. package/src/providers/shopee/executors.js +85 -0
  93. package/src/providers/shopee/runtime.d.ts +79 -0
  94. package/src/providers/shopee/runtime.js +693 -0
  95. package/src/providers/slack/actions.js +17 -0
  96. package/src/providers/slack/runtime.js +62 -4
  97. package/src/providers/speak_ai/executors.d.ts +3 -0
  98. package/src/providers/speak_ai/executors.js +187 -0
  99. package/src/providers/tongdaxin/executors.js +5 -4
  100. package/src/providers/tongdaxin/named-action-output.js +3 -9
  101. package/src/providers/tongdaxin/named-action-routing.js +1 -1
  102. package/src/providers/tongdaxin/named-actions.js +1 -6
  103. package/src/providers/tushare/runtime.js +22 -9
  104. package/src/providers/twenty_crm/runtime.js +4 -2
  105. package/src/providers/zyhub/executors.d.ts +3 -0
  106. package/src/providers/zyhub/executors.js +240 -0
  107. package/src/server/files/transit-files.d.ts +3 -2
  108. package/src/server/files/transit-files.js +31 -35
@@ -0,0 +1,302 @@
1
+ import { s } from "../../../core/json-schema.js";
2
+ import { investodayCodeDataOutputSchema } from "../official-tool-types.js";
3
+ // 此文件按 2026-09-21 官方 MCP tools/list 审核。
4
+ export const researchNewsOfficialTools = [
5
+ {
6
+ name: "list_report_institutions",
7
+ toolName: "list_report_institutions",
8
+ description: "List report institutions data from Investoday.",
9
+ operationType: "read",
10
+ inputSchema: s.object("Arguments for the Investoday list_report_institutions operation.", {
11
+ institutionName: s.withExamples(s.nonEmptyString("Research institution name Accepted by Investoday for list_report_institutions."), ["高盛"]),
12
+ pageSize: s.withExamples(s.integer("Number of records per page Accepted by Investoday for list_report_institutions.", {
13
+ minimum: 1,
14
+ maximum: 500,
15
+ }), [10]),
16
+ pageNum: s.withExamples(s.integer("Page number, starting at 1 Accepted by Investoday for list_report_institutions.", { minimum: 1 }), [1]),
17
+ }, { required: [] }),
18
+ outputSchema: investodayCodeDataOutputSchema,
19
+ },
20
+ {
21
+ name: "search_announcements",
22
+ toolName: "list_announcement_vector-search",
23
+ description: "Search announcement passages by meaning, optionally filtering by stock, announcement ID and publication dates.",
24
+ operationType: "read",
25
+ inputSchema: s.object("Arguments for search_announcements.", {
26
+ query: s.nonEmptyString("Natural-language text describing the announcement information to find."),
27
+ stockCode: s.string("Optional stock code."),
28
+ announcementId: s.integer("Optional announcement ID."),
29
+ beginDate: s.string("Publication start date or timestamp, as accepted by Investoday."),
30
+ endDate: s.string("Publication end date or timestamp, as accepted by Investoday."),
31
+ topK: s.integer("Number of matching passages to return."),
32
+ }, { required: ["query"] }),
33
+ outputSchema: investodayCodeDataOutputSchema,
34
+ },
35
+ {
36
+ name: "list_announcements",
37
+ toolName: "list_announcements",
38
+ description: "List announcements data from Investoday.",
39
+ operationType: "read",
40
+ inputSchema: s.object("Arguments for the Investoday list_announcements operation.", {
41
+ beginDate: s.withExamples(s.date("Start date in YYYY-MM-DD format Accepted by Investoday for list_announcements.", {
42
+ minLength: 1,
43
+ }), ["2020-01-01"]),
44
+ endDate: s.withExamples(s.date("End date in YYYY-MM-DD format Accepted by Investoday for list_announcements.", {
45
+ minLength: 1,
46
+ }), ["2020-01-02"]),
47
+ announcementId: s.withExamples(s.integer("Announcement identifier Accepted by Investoday for list_announcements."), [9128035]),
48
+ pageSize: s.withExamples(s.integer("Number of records per page Accepted by Investoday for list_announcements.", {
49
+ minimum: 1,
50
+ maximum: 500,
51
+ }), [10]),
52
+ title: s.withExamples(s.nonEmptyString("Title keyword Accepted by Investoday for list_announcements."), [
53
+ "贵州茅台利润大涨",
54
+ ]),
55
+ pageNum: s.withExamples(s.integer("Page number, starting at 1 Accepted by Investoday for list_announcements.", {
56
+ minimum: 1,
57
+ }), [1]),
58
+ stockCode: s.withExamples(s.nonEmptyString("Stock code Accepted by Investoday for list_announcements."), [
59
+ "000001",
60
+ ]),
61
+ }, { required: ["stockCode"] }),
62
+ outputSchema: investodayCodeDataOutputSchema,
63
+ },
64
+ {
65
+ name: "get_announcement_content",
66
+ toolName: "get_announcement_content",
67
+ description: "Get announcement content data from Investoday.",
68
+ operationType: "read",
69
+ inputSchema: s.object("Arguments for the Investoday get_announcement_content operation.", {
70
+ announcementId: s.withExamples(s.integer("Announcement identifier Accepted by Investoday for get_announcement_content."), [9128035]),
71
+ contentLength: s.withExamples(s.integer("Requested content length Accepted by Investoday for get_announcement_content.", {
72
+ minimum: 1,
73
+ maximum: 2000,
74
+ }), [2000]),
75
+ }, { required: ["announcementId"] }),
76
+ outputSchema: investodayCodeDataOutputSchema,
77
+ },
78
+ {
79
+ name: "list_news",
80
+ toolName: "list_news",
81
+ description: "List news data from Investoday.",
82
+ operationType: "read",
83
+ inputSchema: s.object("Arguments for the Investoday list_news operation.", {
84
+ sentiment: s.withExamples(s.withEnum(s.integer("Sentiment classification Accepted by Investoday for list_news."), [1, 2, 3, 4, 5]), [1]),
85
+ pageSize: s.withExamples(s.integer("Number of records per page Accepted by Investoday for list_news.", {
86
+ minimum: 1,
87
+ maximum: 500,
88
+ }), [10]),
89
+ beginTime: s.withExamples(s.nonEmptyString("Start time in YYYY-MM-DD HH:mm:ss format Accepted by Investoday for list_news."), ["2020-01-01 08:00:00"]),
90
+ endTime: s.withExamples(s.nonEmptyString("End time in YYYY-MM-DD HH:mm:ss format Accepted by Investoday for list_news."), ["2025-02-01 08:00:00"]),
91
+ title: s.withExamples(s.nonEmptyString("Title keyword Accepted by Investoday for list_news."), ["人工智能"]),
92
+ pageNum: s.withExamples(s.integer("Page number, starting at 1 Accepted by Investoday for list_news.", {
93
+ minimum: 1,
94
+ }), [1]),
95
+ newsType: s.withExamples(s.withEnum(s.integer("News category Accepted by Investoday for list_news."), [1, 2, 3, 4]), [1]),
96
+ newsLevel: s.withExamples(s.withEnum(s.integer("News importance level Accepted by Investoday for list_news."), [1, 2]), [1]),
97
+ }, { required: [] }),
98
+ outputSchema: investodayCodeDataOutputSchema,
99
+ },
100
+ {
101
+ name: "list_entity_related_news",
102
+ toolName: "list_entity_related_news",
103
+ description: "List entity related news data from Investoday.",
104
+ operationType: "read",
105
+ inputSchema: s.object("Arguments for the Investoday list_entity_related_news operation.", {
106
+ sentiment: s.withExamples(s.withEnum(s.integer("Sentiment classification Accepted by Investoday for list_entity_related_news."), [1, 2, 3, 4, 5]), [1]),
107
+ conceptCode: s.withExamples(s.nonEmptyString("Concept code Accepted by Investoday for list_entity_related_news."), ["CLS81936"]),
108
+ pageSize: s.withExamples(s.integer("Number of records per page Accepted by Investoday for list_entity_related_news.", {
109
+ minimum: 1,
110
+ maximum: 500,
111
+ }), [10]),
112
+ beginTime: s.withExamples(s.nonEmptyString("Start time in YYYY-MM-DD HH:mm:ss format Accepted by Investoday for list_entity_related_news."), ["2020-01-01 08:00:00"]),
113
+ endTime: s.withExamples(s.nonEmptyString("End time in YYYY-MM-DD HH:mm:ss format Accepted by Investoday for list_entity_related_news."), ["2025-02-01 08:00:00"]),
114
+ title: s.withExamples(s.nonEmptyString("Title keyword Accepted by Investoday for list_entity_related_news."), [
115
+ "人工智能",
116
+ ]),
117
+ pageNum: s.withExamples(s.integer("Page number, starting at 1 Accepted by Investoday for list_entity_related_news.", { minimum: 1 }), [1]),
118
+ newsType: s.withExamples(s.withEnum(s.integer("News category Accepted by Investoday for list_entity_related_news."), [1, 2, 3, 4]), [1]),
119
+ newsLevel: s.withExamples(s.withEnum(s.integer("News importance level Accepted by Investoday for list_entity_related_news."), [1, 2]), [1]),
120
+ stockCode: s.withExamples(s.nonEmptyString("Stock code Accepted by Investoday for list_entity_related_news."), [
121
+ "600839",
122
+ ]),
123
+ industryCode: s.withExamples(s.nonEmptyString("Industry code Accepted by Investoday for list_entity_related_news."), ["370000"]),
124
+ minRelevance: s.withExamples(s.integer("Minimum relevance score Accepted by Investoday for list_entity_related_news.", {
125
+ minimum: 1,
126
+ maximum: 5,
127
+ }), [1]),
128
+ }, { required: [] }),
129
+ outputSchema: investodayCodeDataOutputSchema,
130
+ },
131
+ {
132
+ name: "get_report_earnings_forecast_rating",
133
+ toolName: "get_report_earnings_forecast_rating",
134
+ description: "Get report earnings forecast rating data from Investoday.",
135
+ operationType: "read",
136
+ inputSchema: s.object("Arguments for the Investoday get_report_earnings_forecast_rating operation.", {
137
+ pageSize: s.withExamples(s.integer("Number of records per page Accepted by Investoday for get_report_earnings_forecast_rating.", {
138
+ minimum: 1,
139
+ maximum: 500,
140
+ }), [10]),
141
+ pageNum: s.withExamples(s.integer("Page number, starting at 1 Accepted by Investoday for get_report_earnings_forecast_rating.", {
142
+ minimum: 1,
143
+ }), [1]),
144
+ stockCode: s.withExamples(s.nonEmptyString("Stock code Accepted by Investoday for get_report_earnings_forecast_rating."), ["000001"]),
145
+ }, { required: ["stockCode"] }),
146
+ outputSchema: investodayCodeDataOutputSchema,
147
+ },
148
+ {
149
+ name: "list_report_research",
150
+ toolName: "list_report_research",
151
+ description: "Find research reports by stock, industry, institution or category, with optional keywords and publication dates.",
152
+ operationType: "read",
153
+ inputSchema: s.requireAnyProperty(s.object("Arguments for list_report_research.", {
154
+ stockCode: s.nonEmptyString("Stock code; supply at least one stock, industry, institution or category filter."),
155
+ industryCode: s.nonEmptyString("Shenwan level 2 industry code."),
156
+ industryCodeLv1: s.nonEmptyString("Shenwan level 1 industry code."),
157
+ institutionCode: s.integer("Research institution code."),
158
+ categoryCode: s.stringEnum("Report category: 000100 industry, 000200 company, 000300 fund, 000400 bond, 000500 strategy, 000700 economy, 000800 forex, 000900 futures, 001000 money market, 001100 global market, 001200 capital market, 001210 NEEQ, 001300 Hong Kong, 001400 other, 001500 morning briefing, 001600 warrants, 001700 financial engineering, 001900 non-fund wealth management.", [
159
+ "000100",
160
+ "000200",
161
+ "000300",
162
+ "000400",
163
+ "000500",
164
+ "000700",
165
+ "000800",
166
+ "000900",
167
+ "001000",
168
+ "001100",
169
+ "001200",
170
+ "001210",
171
+ "001300",
172
+ "001400",
173
+ "001500",
174
+ "001600",
175
+ "001700",
176
+ "001900",
177
+ ]),
178
+ beginDate: s.date("Publication start date in YYYY-MM-DD format."),
179
+ endDate: s.date("End date in YYYY-MM-DD format."),
180
+ key: s.string("Optional keyword for research reports."),
181
+ pageNum: s.integer("Page number, starting at 1.", { minimum: 1 }),
182
+ pageSize: s.integer("Records per page, from 1 to 500.", { minimum: 1, maximum: 500 }),
183
+ }, { required: [] }), ["stockCode", "industryCode", "industryCodeLv1", "institutionCode", "categoryCode"]),
184
+ outputSchema: investodayCodeDataOutputSchema,
185
+ },
186
+ {
187
+ name: "list_report_stock_forecast_ratings",
188
+ toolName: "list_report_stock_forecast_ratings",
189
+ description: "List report stock forecast ratings data from Investoday.",
190
+ operationType: "read",
191
+ inputSchema: s.object("Arguments for the Investoday list_report_stock_forecast_ratings operation.", {
192
+ beginDate: s.withExamples(s.nonEmptyString("Start date in YYYY-MM-DD format Accepted by Investoday for list_report_stock_forecast_ratings."), ["2020-01-01"]),
193
+ endDate: s.withExamples(s.nonEmptyString("End date in YYYY-MM-DD format Accepted by Investoday for list_report_stock_forecast_ratings."), ["2025-05-01"]),
194
+ pageSize: s.withExamples(s.integer("Number of records per page Accepted by Investoday for list_report_stock_forecast_ratings.", {
195
+ minimum: 1,
196
+ maximum: 500,
197
+ }), [10]),
198
+ pageNum: s.withExamples(s.integer("Page number, starting at 1 Accepted by Investoday for list_report_stock_forecast_ratings.", {
199
+ minimum: 1,
200
+ }), [1]),
201
+ stockCode: s.withExamples(s.nonEmptyString("Stock code Accepted by Investoday for list_report_stock_forecast_ratings."), ["000001"]),
202
+ }, { required: ["stockCode"] }),
203
+ outputSchema: investodayCodeDataOutputSchema,
204
+ },
205
+ {
206
+ name: "list_report_vector-search",
207
+ toolName: "list_report_vector-search",
208
+ description: "List report vector search data from Investoday.",
209
+ operationType: "read",
210
+ inputSchema: s.object("Arguments for the Investoday list_report_vector-search operation.", {
211
+ topK: s.withExamples(s.integer("Maximum number of best matches to return Accepted by Investoday for list_report_vector-search."), [3]),
212
+ beginDate: s.withExamples(s.nonEmptyString("Start date in YYYY-MM-DD format Accepted by Investoday for list_report_vector-search."), ["2020-01-01"]),
213
+ institutionCode: s.withExamples(s.nonEmptyString("Research institution code Accepted by Investoday for list_report_vector-search."), ["37"]),
214
+ endDate: s.withExamples(s.nonEmptyString("End date in YYYY-MM-DD format Accepted by Investoday for list_report_vector-search."), ["2021-01-01"]),
215
+ query: s.withExamples(s.nonEmptyString("Natural-language query text Accepted by Investoday for list_report_vector-search."), ["新能源汽车"]),
216
+ categoryCode: s.withExamples(s.stringEnum("Category code Accepted by Investoday for list_report_vector-search.", [
217
+ "000100",
218
+ "000200",
219
+ "000300",
220
+ "000400",
221
+ "000500",
222
+ "000700",
223
+ "000800",
224
+ "000900",
225
+ "001000",
226
+ "001100",
227
+ "001200",
228
+ "001210",
229
+ "001300",
230
+ "001400",
231
+ "001500",
232
+ "001600",
233
+ "001700",
234
+ "001900",
235
+ ]), ["000100"]),
236
+ stockCode: s.withExamples(s.nonEmptyString("Stock code Accepted by Investoday for list_report_vector-search."), ["002594"]),
237
+ industryCode: s.withExamples(s.nonEmptyString("Industry code Accepted by Investoday for list_report_vector-search."), ["740000"]),
238
+ }, { required: ["query"] }),
239
+ outputSchema: investodayCodeDataOutputSchema,
240
+ },
241
+ {
242
+ name: "list_research_sentiment",
243
+ toolName: "list_research_sentiment",
244
+ description: "List research sentiment data from Investoday.",
245
+ operationType: "read",
246
+ inputSchema: s.object("Arguments for the Investoday list_research_sentiment operation.", {
247
+ sentiment: s.withExamples(s.withEnum(s.integer("Sentiment classification Accepted by Investoday for list_research_sentiment."), [1, 2, 3, 4, 5]), [1]),
248
+ conceptCode: s.withExamples(s.nonEmptyString("Concept code Accepted by Investoday for list_research_sentiment."), ["CLS81936"]),
249
+ pageSize: s.withExamples(s.integer("Number of records per page Accepted by Investoday for list_research_sentiment.", {
250
+ minimum: 1,
251
+ maximum: 500,
252
+ }), [10]),
253
+ categoryCode: s.withExamples(s.stringEnum("Category code Accepted by Investoday for list_research_sentiment.", [
254
+ "000100",
255
+ "000200",
256
+ "000300",
257
+ "000400",
258
+ "000500",
259
+ "000700",
260
+ "000800",
261
+ "000900",
262
+ "001000",
263
+ "001100",
264
+ "001200",
265
+ "001210",
266
+ "001300",
267
+ "001400",
268
+ "001500",
269
+ "001600",
270
+ "001700",
271
+ "001900",
272
+ ]), ["000100"]),
273
+ title: s.withExamples(s.nonEmptyString("Title keyword Accepted by Investoday for list_research_sentiment."), [
274
+ "宏观",
275
+ ]),
276
+ pageNum: s.withExamples(s.integer("Page number, starting at 1 Accepted by Investoday for list_research_sentiment.", { minimum: 1 }), [1]),
277
+ stockCode: s.withExamples(s.nonEmptyString("Stock code Accepted by Investoday for list_research_sentiment."), [
278
+ "000001",
279
+ ]),
280
+ industryCode: s.withExamples(s.nonEmptyString("Industry code Accepted by Investoday for list_research_sentiment."), ["370000"]),
281
+ minRelevance: s.withExamples(s.integer("Minimum relevance score Accepted by Investoday for list_research_sentiment.", {
282
+ minimum: 1,
283
+ maximum: 6,
284
+ }), [1]),
285
+ institutionCode: s.withExamples(s.integer("Research institution code Accepted by Investoday for list_research_sentiment."), [142]),
286
+ guid: s.withExamples(s.nonEmptyString("Globally unique record identifier Accepted by Investoday for list_research_sentiment."), ["0236EC2B-2416-455E-BF82-E4ED96E91DB0"]),
287
+ beginTime: s.withExamples(s.nonEmptyString("Start time in YYYY-MM-DD HH:mm:ss format Accepted by Investoday for list_research_sentiment."), ["2020-01-01 08:00:00"]),
288
+ endTime: s.withExamples(s.nonEmptyString("End time in YYYY-MM-DD HH:mm:ss format Accepted by Investoday for list_research_sentiment."), ["2025-01-02 08:00:00"]),
289
+ }, { required: [] }),
290
+ outputSchema: investodayCodeDataOutputSchema,
291
+ },
292
+ {
293
+ name: "entity_recognition",
294
+ toolName: "entity_recognition",
295
+ description: "Run the Investoday entity recognition operation.",
296
+ operationType: "read",
297
+ inputSchema: s.object("Arguments for the Investoday entity_recognition operation.", {
298
+ input: s.withExamples(s.nonEmptyString("Natural-language input to analyze Accepted by Investoday for entity_recognition."), ["贵州茅台怎么样?"]),
299
+ }, { required: ["input"] }),
300
+ outputSchema: investodayCodeDataOutputSchema,
301
+ },
302
+ ];
@@ -0,0 +1,2 @@
1
+ import type { InvestodayOfficialToolDefinition } from "../official-tool-types.ts";
2
+ export declare const stocksOfficialTools: readonly InvestodayOfficialToolDefinition[];