profound-mcp 0.7.0 → 0.8.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.
- package/package.json +2 -2
- package/server.js +1 -1
- package/server.mjs +1 -1
- package/src/server.ts +1 -1
- package/src/tools/logs/raw/bots-logs-raw.ts +416 -75
- package/src/tools/logs/raw/logs-logs-raw.ts +436 -64
- package/src/tools/prompts/answers-prompts.ts +181 -57
- package/src/tools/reports/citations-reports.ts +344 -74
- package/src/tools/reports/sentiment-reports.ts +257 -62
- package/src/tools/reports/visibility-reports.ts +215 -62
- package/tools/logs/raw/bots-logs-raw.d.mts.map +1 -1
- package/tools/logs/raw/bots-logs-raw.d.ts.map +1 -1
- package/tools/logs/raw/bots-logs-raw.js +416 -71
- package/tools/logs/raw/bots-logs-raw.js.map +1 -1
- package/tools/logs/raw/bots-logs-raw.mjs +416 -71
- package/tools/logs/raw/bots-logs-raw.mjs.map +1 -1
- package/tools/logs/raw/logs-logs-raw.d.mts.map +1 -1
- package/tools/logs/raw/logs-logs-raw.d.ts.map +1 -1
- package/tools/logs/raw/logs-logs-raw.js +436 -60
- package/tools/logs/raw/logs-logs-raw.js.map +1 -1
- package/tools/logs/raw/logs-logs-raw.mjs +436 -60
- package/tools/logs/raw/logs-logs-raw.mjs.map +1 -1
- package/tools/prompts/answers-prompts.d.mts.map +1 -1
- package/tools/prompts/answers-prompts.d.ts.map +1 -1
- package/tools/prompts/answers-prompts.js +181 -54
- package/tools/prompts/answers-prompts.js.map +1 -1
- package/tools/prompts/answers-prompts.mjs +181 -54
- package/tools/prompts/answers-prompts.mjs.map +1 -1
- package/tools/reports/citations-reports.d.mts.map +1 -1
- package/tools/reports/citations-reports.d.ts.map +1 -1
- package/tools/reports/citations-reports.js +344 -70
- package/tools/reports/citations-reports.js.map +1 -1
- package/tools/reports/citations-reports.mjs +344 -70
- package/tools/reports/citations-reports.mjs.map +1 -1
- package/tools/reports/sentiment-reports.d.mts.map +1 -1
- package/tools/reports/sentiment-reports.d.ts.map +1 -1
- package/tools/reports/sentiment-reports.js +257 -59
- package/tools/reports/sentiment-reports.js.map +1 -1
- package/tools/reports/sentiment-reports.mjs +257 -59
- package/tools/reports/sentiment-reports.mjs.map +1 -1
- package/tools/reports/visibility-reports.d.mts.map +1 -1
- package/tools/reports/visibility-reports.d.ts.map +1 -1
- package/tools/reports/visibility-reports.js +215 -59
- package/tools/reports/visibility-reports.js.map +1 -1
- package/tools/reports/visibility-reports.mjs +215 -59
- package/tools/reports/visibility-reports.mjs.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "profound-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "The official MCP Server for the Profound API",
|
|
5
5
|
"author": "Profound <support@tryprofound.com>",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"fix": "eslint --fix --ext ts,js ."
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"profoundai": "^0.
|
|
30
|
+
"profoundai": "^0.8.0",
|
|
31
31
|
"@cloudflare/cabidela": "^0.2.4",
|
|
32
32
|
"@modelcontextprotocol/sdk": "^1.11.5",
|
|
33
33
|
"@valtown/deno-http-worker": "^0.0.21",
|
package/server.js
CHANGED
|
@@ -22,7 +22,7 @@ var tools_2 = require("./tools.js");
|
|
|
22
22
|
Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
|
|
23
23
|
const newMcpServer = () => new mcp_js_1.McpServer({
|
|
24
24
|
name: 'profoundai_api',
|
|
25
|
-
version: '0.
|
|
25
|
+
version: '0.8.0',
|
|
26
26
|
}, { capabilities: { tools: {}, logging: {} } });
|
|
27
27
|
exports.newMcpServer = newMcpServer;
|
|
28
28
|
// Create server instance
|
package/server.mjs
CHANGED
|
@@ -11,7 +11,7 @@ export { ClientType } from "./compat.mjs";
|
|
|
11
11
|
export { endpoints } from "./tools.mjs";
|
|
12
12
|
export const newMcpServer = () => new McpServer({
|
|
13
13
|
name: 'profoundai_api',
|
|
14
|
-
version: '0.
|
|
14
|
+
version: '0.8.0',
|
|
15
15
|
}, { capabilities: { tools: {}, logging: {} } });
|
|
16
16
|
// Create server instance
|
|
17
17
|
export const server = newMcpServer();
|
package/src/server.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
import { maybeFilter } from 'profound-mcp/filtering';
|
|
4
3
|
import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
|
|
5
4
|
|
|
6
5
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
@@ -17,8 +16,7 @@ export const metadata: Metadata = {
|
|
|
17
16
|
|
|
18
17
|
export const tool: Tool = {
|
|
19
18
|
name: 'bots_logs_raw',
|
|
20
|
-
description:
|
|
21
|
-
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet identified bot logs with filters\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/raw_bots_response',\n $defs: {\n raw_bots_response: {\n anyOf: [ {\n type: 'array',\n title: 'LogVisitBotList',\n items: {\n type: 'object',\n title: 'LogVisitBot',\n description: 'DB Model for a bot visit.',\n properties: {\n bot_name: {\n type: 'string',\n title: 'Bot Name'\n },\n bot_provider: {\n type: 'string',\n title: 'Bot Provider'\n },\n bot_types: {\n type: 'array',\n title: 'Bot Types',\n items: {\n type: 'string',\n enum: [ 'ai_assistant',\n 'ai_training',\n 'index',\n 'ai_agent'\n ]\n }\n },\n host: {\n type: 'string',\n title: 'Host'\n },\n ip: {\n type: 'string',\n title: 'Ip'\n },\n method: {\n type: 'string',\n title: 'Method'\n },\n org_id: {\n type: 'string',\n title: 'Org Id'\n },\n path: {\n type: 'string',\n title: 'Path'\n },\n status_code: {\n type: 'integer',\n title: 'Status Code'\n },\n timestamp: {\n type: 'string',\n title: 'Timestamp',\n format: 'date-time'\n },\n user_agent: {\n type: 'string',\n title: 'User Agent'\n },\n bytes_sent: {\n type: 'integer',\n title: 'Bytes Sent'\n },\n duration_ms: {\n type: 'integer',\n title: 'Duration Ms'\n },\n query_params: {\n type: 'object',\n title: 'Query Params',\n additionalProperties: true\n },\n referer: {\n type: 'string',\n title: 'Referer'\n }\n },\n required: [ 'bot_name',\n 'bot_provider',\n 'bot_types',\n 'host',\n 'ip',\n 'method',\n 'org_id',\n 'path',\n 'status_code',\n 'timestamp',\n 'user_agent'\n ]\n }\n },\n {\n $ref: '#/$defs/report_response'\n }\n ],\n title: 'Response Get Bots V1 Logs Raw Bots Post',\n description: 'Base response model for reports.'\n },\n report_response: {\n type: 'object',\n title: 'Response',\n description: 'Base response model for reports.',\n properties: {\n data: {\n type: 'array',\n title: 'Data',\n items: {\n $ref: '#/$defs/report_result'\n }\n },\n info: {\n $ref: '#/$defs/report_info'\n }\n },\n required: [ 'data',\n 'info'\n ]\n },\n report_result: {\n type: 'object',\n title: 'Result',\n description: 'Base model for report results.',\n properties: {\n dimensions: {\n type: 'array',\n title: 'Dimensions',\n items: {\n type: 'string'\n }\n },\n metrics: {\n type: 'array',\n title: 'Metrics',\n items: {\n type: 'number'\n }\n }\n },\n required: [ 'dimensions',\n 'metrics'\n ]\n },\n report_info: {\n type: 'object',\n title: 'Info',\n description: 'Base model for report information.',\n properties: {\n total_rows: {\n type: 'integer',\n title: 'Total Rows'\n },\n query: {\n type: 'object',\n title: 'Query',\n additionalProperties: true\n }\n },\n required: [ 'total_rows'\n ]\n }\n }\n}\n```",
|
|
19
|
+
description: 'Get identified bot logs with filters',
|
|
22
20
|
inputSchema: {
|
|
23
21
|
type: 'object',
|
|
24
22
|
properties: {
|
|
@@ -77,74 +75,423 @@ export const tool: Tool = {
|
|
|
77
75
|
filters: {
|
|
78
76
|
type: 'array',
|
|
79
77
|
title: 'Filters',
|
|
80
|
-
description: 'List of filters to apply to the
|
|
78
|
+
description: 'List of filters to apply to the bots logs query.',
|
|
81
79
|
items: {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
80
|
+
anyOf: [
|
|
81
|
+
{
|
|
82
|
+
type: 'object',
|
|
83
|
+
title: 'BotNameFilter',
|
|
84
|
+
description: 'Filter by bot name',
|
|
85
|
+
properties: {
|
|
86
|
+
field: {
|
|
87
|
+
type: 'string',
|
|
88
|
+
title: 'Field',
|
|
89
|
+
enum: ['bot_name'],
|
|
90
|
+
},
|
|
91
|
+
operator: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
title: 'Operator',
|
|
94
|
+
enum: [
|
|
95
|
+
'is',
|
|
96
|
+
'not_is',
|
|
97
|
+
'in',
|
|
98
|
+
'not_in',
|
|
99
|
+
'contains',
|
|
100
|
+
'not_contains',
|
|
101
|
+
'matches',
|
|
102
|
+
'contains_case_insensitive',
|
|
103
|
+
'not_contains_case_insensitive',
|
|
104
|
+
],
|
|
105
|
+
},
|
|
106
|
+
value: {
|
|
107
|
+
anyOf: [
|
|
108
|
+
{
|
|
109
|
+
type: 'string',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'array',
|
|
113
|
+
items: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
title: 'Value',
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
required: ['field', 'operator', 'value'],
|
|
101
122
|
},
|
|
102
|
-
|
|
103
|
-
type: '
|
|
104
|
-
title: '
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
123
|
+
{
|
|
124
|
+
type: 'object',
|
|
125
|
+
title: 'BotProviderFilter',
|
|
126
|
+
description: 'Filter by bot provider',
|
|
127
|
+
properties: {
|
|
128
|
+
field: {
|
|
129
|
+
type: 'string',
|
|
130
|
+
title: 'Field',
|
|
131
|
+
enum: ['bot_provider'],
|
|
132
|
+
},
|
|
133
|
+
operator: {
|
|
134
|
+
type: 'string',
|
|
135
|
+
title: 'Operator',
|
|
136
|
+
enum: [
|
|
137
|
+
'is',
|
|
138
|
+
'not_is',
|
|
139
|
+
'in',
|
|
140
|
+
'not_in',
|
|
141
|
+
'contains',
|
|
142
|
+
'not_contains',
|
|
143
|
+
'matches',
|
|
144
|
+
'contains_case_insensitive',
|
|
145
|
+
'not_contains_case_insensitive',
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
value: {
|
|
149
|
+
anyOf: [
|
|
150
|
+
{
|
|
151
|
+
type: 'string',
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
type: 'array',
|
|
155
|
+
items: {
|
|
156
|
+
type: 'string',
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
title: 'Value',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
required: ['field', 'operator', 'value'],
|
|
116
164
|
},
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
165
|
+
{
|
|
166
|
+
type: 'object',
|
|
167
|
+
title: 'BotTypesFilter',
|
|
168
|
+
description: 'Filter by bot types (ai_assistant, ai_training, or index)',
|
|
169
|
+
properties: {
|
|
170
|
+
field: {
|
|
171
|
+
type: 'string',
|
|
172
|
+
title: 'Field',
|
|
173
|
+
enum: ['bot_types'],
|
|
174
|
+
},
|
|
175
|
+
operator: {
|
|
176
|
+
type: 'string',
|
|
177
|
+
title: 'Operator',
|
|
178
|
+
enum: [
|
|
179
|
+
'is',
|
|
180
|
+
'not_is',
|
|
181
|
+
'in',
|
|
182
|
+
'not_in',
|
|
183
|
+
'contains',
|
|
184
|
+
'not_contains',
|
|
185
|
+
'matches',
|
|
186
|
+
'contains_case_insensitive',
|
|
187
|
+
'not_contains_case_insensitive',
|
|
188
|
+
],
|
|
189
|
+
},
|
|
190
|
+
value: {
|
|
191
|
+
anyOf: [
|
|
192
|
+
{
|
|
193
|
+
type: 'string',
|
|
194
|
+
enum: ['ai_assistant', 'ai_training', 'index'],
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
type: 'array',
|
|
198
|
+
items: {
|
|
199
|
+
type: 'string',
|
|
200
|
+
enum: ['ai_assistant', 'ai_training', 'index'],
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
],
|
|
204
|
+
title: 'Value',
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
required: ['field', 'operator', 'value'],
|
|
145
208
|
},
|
|
146
|
-
|
|
147
|
-
|
|
209
|
+
{
|
|
210
|
+
type: 'object',
|
|
211
|
+
title: 'MethodFilter',
|
|
212
|
+
description: 'Filter by HTTP method',
|
|
213
|
+
properties: {
|
|
214
|
+
field: {
|
|
215
|
+
type: 'string',
|
|
216
|
+
title: 'Field',
|
|
217
|
+
enum: ['method'],
|
|
218
|
+
},
|
|
219
|
+
operator: {
|
|
220
|
+
type: 'string',
|
|
221
|
+
title: 'Operator',
|
|
222
|
+
enum: [
|
|
223
|
+
'is',
|
|
224
|
+
'not_is',
|
|
225
|
+
'in',
|
|
226
|
+
'not_in',
|
|
227
|
+
'contains',
|
|
228
|
+
'not_contains',
|
|
229
|
+
'matches',
|
|
230
|
+
'contains_case_insensitive',
|
|
231
|
+
'not_contains_case_insensitive',
|
|
232
|
+
],
|
|
233
|
+
},
|
|
234
|
+
value: {
|
|
235
|
+
anyOf: [
|
|
236
|
+
{
|
|
237
|
+
type: 'string',
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
type: 'array',
|
|
241
|
+
items: {
|
|
242
|
+
type: 'string',
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
],
|
|
246
|
+
title: 'Value',
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
required: ['field', 'operator', 'value'],
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
type: 'object',
|
|
253
|
+
title: 'PathFilter',
|
|
254
|
+
description: 'Filter by request path',
|
|
255
|
+
properties: {
|
|
256
|
+
field: {
|
|
257
|
+
type: 'string',
|
|
258
|
+
title: 'Field',
|
|
259
|
+
enum: ['path'],
|
|
260
|
+
},
|
|
261
|
+
operator: {
|
|
262
|
+
type: 'string',
|
|
263
|
+
title: 'Operator',
|
|
264
|
+
enum: [
|
|
265
|
+
'is',
|
|
266
|
+
'not_is',
|
|
267
|
+
'in',
|
|
268
|
+
'not_in',
|
|
269
|
+
'contains',
|
|
270
|
+
'not_contains',
|
|
271
|
+
'matches',
|
|
272
|
+
'contains_case_insensitive',
|
|
273
|
+
'not_contains_case_insensitive',
|
|
274
|
+
],
|
|
275
|
+
},
|
|
276
|
+
value: {
|
|
277
|
+
anyOf: [
|
|
278
|
+
{
|
|
279
|
+
type: 'string',
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
type: 'array',
|
|
283
|
+
items: {
|
|
284
|
+
type: 'string',
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
],
|
|
288
|
+
title: 'Value',
|
|
289
|
+
},
|
|
290
|
+
},
|
|
291
|
+
required: ['field', 'operator', 'value'],
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
type: 'object',
|
|
295
|
+
title: 'StatusCodeFilter',
|
|
296
|
+
description: 'Filter by HTTP status code',
|
|
297
|
+
properties: {
|
|
298
|
+
field: {
|
|
299
|
+
type: 'string',
|
|
300
|
+
title: 'Field',
|
|
301
|
+
enum: ['status_code'],
|
|
302
|
+
},
|
|
303
|
+
operator: {
|
|
304
|
+
type: 'string',
|
|
305
|
+
title: 'Operator',
|
|
306
|
+
enum: ['is', 'not_is', 'in', 'not_in'],
|
|
307
|
+
},
|
|
308
|
+
value: {
|
|
309
|
+
anyOf: [
|
|
310
|
+
{
|
|
311
|
+
type: 'integer',
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
type: 'array',
|
|
315
|
+
items: {
|
|
316
|
+
type: 'integer',
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
],
|
|
320
|
+
title: 'Value',
|
|
321
|
+
},
|
|
322
|
+
},
|
|
323
|
+
required: ['field', 'operator', 'value'],
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
type: 'object',
|
|
327
|
+
title: 'IpFilter',
|
|
328
|
+
description: 'Filter by IP address',
|
|
329
|
+
properties: {
|
|
330
|
+
field: {
|
|
331
|
+
type: 'string',
|
|
332
|
+
title: 'Field',
|
|
333
|
+
enum: ['ip'],
|
|
334
|
+
},
|
|
335
|
+
operator: {
|
|
336
|
+
type: 'string',
|
|
337
|
+
title: 'Operator',
|
|
338
|
+
enum: [
|
|
339
|
+
'is',
|
|
340
|
+
'not_is',
|
|
341
|
+
'in',
|
|
342
|
+
'not_in',
|
|
343
|
+
'contains',
|
|
344
|
+
'not_contains',
|
|
345
|
+
'matches',
|
|
346
|
+
'contains_case_insensitive',
|
|
347
|
+
'not_contains_case_insensitive',
|
|
348
|
+
],
|
|
349
|
+
},
|
|
350
|
+
value: {
|
|
351
|
+
anyOf: [
|
|
352
|
+
{
|
|
353
|
+
type: 'string',
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
type: 'array',
|
|
357
|
+
items: {
|
|
358
|
+
type: 'string',
|
|
359
|
+
},
|
|
360
|
+
},
|
|
361
|
+
],
|
|
362
|
+
title: 'Value',
|
|
363
|
+
},
|
|
364
|
+
},
|
|
365
|
+
required: ['field', 'operator', 'value'],
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
type: 'object',
|
|
369
|
+
title: 'UserAgentFilter',
|
|
370
|
+
description: 'Filter by user agent',
|
|
371
|
+
properties: {
|
|
372
|
+
field: {
|
|
373
|
+
type: 'string',
|
|
374
|
+
title: 'Field',
|
|
375
|
+
enum: ['user_agent'],
|
|
376
|
+
},
|
|
377
|
+
operator: {
|
|
378
|
+
type: 'string',
|
|
379
|
+
title: 'Operator',
|
|
380
|
+
enum: [
|
|
381
|
+
'is',
|
|
382
|
+
'not_is',
|
|
383
|
+
'in',
|
|
384
|
+
'not_in',
|
|
385
|
+
'contains',
|
|
386
|
+
'not_contains',
|
|
387
|
+
'matches',
|
|
388
|
+
'contains_case_insensitive',
|
|
389
|
+
'not_contains_case_insensitive',
|
|
390
|
+
],
|
|
391
|
+
},
|
|
392
|
+
value: {
|
|
393
|
+
anyOf: [
|
|
394
|
+
{
|
|
395
|
+
type: 'string',
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
type: 'array',
|
|
399
|
+
items: {
|
|
400
|
+
type: 'string',
|
|
401
|
+
},
|
|
402
|
+
},
|
|
403
|
+
],
|
|
404
|
+
title: 'Value',
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
required: ['field', 'operator', 'value'],
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
type: 'object',
|
|
411
|
+
title: 'RefererFilter',
|
|
412
|
+
description: 'Filter by referer',
|
|
413
|
+
properties: {
|
|
414
|
+
field: {
|
|
415
|
+
type: 'string',
|
|
416
|
+
title: 'Field',
|
|
417
|
+
enum: ['referer'],
|
|
418
|
+
},
|
|
419
|
+
operator: {
|
|
420
|
+
type: 'string',
|
|
421
|
+
title: 'Operator',
|
|
422
|
+
enum: [
|
|
423
|
+
'is',
|
|
424
|
+
'not_is',
|
|
425
|
+
'in',
|
|
426
|
+
'not_in',
|
|
427
|
+
'contains',
|
|
428
|
+
'not_contains',
|
|
429
|
+
'matches',
|
|
430
|
+
'contains_case_insensitive',
|
|
431
|
+
'not_contains_case_insensitive',
|
|
432
|
+
],
|
|
433
|
+
},
|
|
434
|
+
value: {
|
|
435
|
+
anyOf: [
|
|
436
|
+
{
|
|
437
|
+
type: 'string',
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
type: 'array',
|
|
441
|
+
items: {
|
|
442
|
+
type: 'string',
|
|
443
|
+
},
|
|
444
|
+
},
|
|
445
|
+
],
|
|
446
|
+
title: 'Value',
|
|
447
|
+
},
|
|
448
|
+
},
|
|
449
|
+
required: ['field', 'operator', 'value'],
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
type: 'object',
|
|
453
|
+
title: 'QueryParamsFilter',
|
|
454
|
+
description: 'Filter by query parameters',
|
|
455
|
+
properties: {
|
|
456
|
+
field: {
|
|
457
|
+
type: 'string',
|
|
458
|
+
title: 'Field',
|
|
459
|
+
enum: ['query_params'],
|
|
460
|
+
},
|
|
461
|
+
operator: {
|
|
462
|
+
type: 'string',
|
|
463
|
+
title: 'Operator',
|
|
464
|
+
enum: [
|
|
465
|
+
'is',
|
|
466
|
+
'not_is',
|
|
467
|
+
'in',
|
|
468
|
+
'not_in',
|
|
469
|
+
'contains',
|
|
470
|
+
'not_contains',
|
|
471
|
+
'matches',
|
|
472
|
+
'contains_case_insensitive',
|
|
473
|
+
'not_contains_case_insensitive',
|
|
474
|
+
],
|
|
475
|
+
},
|
|
476
|
+
value: {
|
|
477
|
+
anyOf: [
|
|
478
|
+
{
|
|
479
|
+
type: 'string',
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
type: 'array',
|
|
483
|
+
items: {
|
|
484
|
+
type: 'string',
|
|
485
|
+
},
|
|
486
|
+
},
|
|
487
|
+
],
|
|
488
|
+
title: 'Value',
|
|
489
|
+
},
|
|
490
|
+
},
|
|
491
|
+
required: ['field', 'operator', 'value'],
|
|
492
|
+
},
|
|
493
|
+
],
|
|
494
|
+
description: 'Filter by bot name',
|
|
148
495
|
},
|
|
149
496
|
},
|
|
150
497
|
order_by: {
|
|
@@ -157,12 +504,6 @@ export const tool: Tool = {
|
|
|
157
504
|
pagination: {
|
|
158
505
|
$ref: '#/$defs/pagination',
|
|
159
506
|
},
|
|
160
|
-
jq_filter: {
|
|
161
|
-
type: 'string',
|
|
162
|
-
title: 'jq Filter',
|
|
163
|
-
description:
|
|
164
|
-
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
165
|
-
},
|
|
166
507
|
},
|
|
167
508
|
required: ['domain', 'metrics', 'start_date'],
|
|
168
509
|
$defs: {
|
|
@@ -189,8 +530,8 @@ export const tool: Tool = {
|
|
|
189
530
|
};
|
|
190
531
|
|
|
191
532
|
export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
|
|
192
|
-
const
|
|
193
|
-
return asTextContentResult(await
|
|
533
|
+
const body = args as any;
|
|
534
|
+
return asTextContentResult(await client.logs.raw.bots(body));
|
|
194
535
|
};
|
|
195
536
|
|
|
196
537
|
export default { metadata, tool, handler };
|