@apify/actors-mcp-server 0.10.12-beta.0 → 0.10.12-beta.2
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/dist/tools/common/dataset_collection.d.ts.map +1 -1
- package/dist/tools/common/dataset_collection.js +2 -1
- package/dist/tools/common/dataset_collection.js.map +1 -1
- package/dist/tools/common/get_dataset.d.ts.map +1 -1
- package/dist/tools/common/get_dataset.js +19 -18
- package/dist/tools/common/get_dataset.js.map +1 -1
- package/dist/tools/common/get_dataset_items.d.ts.map +1 -1
- package/dist/tools/common/get_dataset_items.js +21 -11
- package/dist/tools/common/get_dataset_items.js.map +1 -1
- package/dist/tools/common/get_dataset_schema.d.ts.map +1 -1
- package/dist/tools/common/get_dataset_schema.js +30 -22
- package/dist/tools/common/get_dataset_schema.js.map +1 -1
- package/dist/tools/common/get_key_value_store.d.ts.map +1 -1
- package/dist/tools/common/get_key_value_store.js +17 -16
- package/dist/tools/common/get_key_value_store.js.map +1 -1
- package/dist/tools/common/get_key_value_store_keys.d.ts.map +1 -1
- package/dist/tools/common/get_key_value_store_keys.js +30 -13
- package/dist/tools/common/get_key_value_store_keys.js.map +1 -1
- package/dist/tools/common/get_key_value_store_record.d.ts.map +1 -1
- package/dist/tools/common/get_key_value_store_record.js +21 -19
- package/dist/tools/common/get_key_value_store_record.js.map +1 -1
- package/dist/tools/common/key_value_store_collection.d.ts.map +1 -1
- package/dist/tools/common/key_value_store_collection.js +13 -10
- package/dist/tools/common/key_value_store_collection.js.map +1 -1
- package/dist/tools/common/storage_helpers.d.ts +17 -0
- package/dist/tools/common/storage_helpers.d.ts.map +1 -0
- package/dist/tools/common/storage_helpers.js +28 -0
- package/dist/tools/common/storage_helpers.js.map +1 -0
- package/dist/tools/core/actor_tools_factory.d.ts.map +1 -1
- package/dist/tools/core/actor_tools_factory.js +2 -17
- package/dist/tools/core/actor_tools_factory.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/generic.d.ts +8 -0
- package/dist/utils/generic.d.ts.map +1 -1
- package/dist/utils/generic.js +19 -0
- package/dist/utils/generic.js.map +1 -1
- package/dist/utils/mcp.d.ts +9 -0
- package/dist/utils/mcp.d.ts.map +1 -1
- package/dist/utils/mcp.js +11 -0
- package/dist/utils/mcp.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset_collection.d.ts","sourceRoot":"","sources":["../../../src/tools/common/dataset_collection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataset_collection.d.ts","sourceRoot":"","sources":["../../../src/tools/common/dataset_collection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AA2BnF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAoCvB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
import { HelperTools } from '../../const.js';
|
|
4
4
|
import { TOOL_TYPE } from '../../types.js';
|
|
5
5
|
import { compileSchema } from '../../utils/ajv.js';
|
|
6
|
+
import { wrapJsonText } from '../../utils/mcp.js';
|
|
6
7
|
const getUserDatasetsListArgs = z.object({
|
|
7
8
|
offset: z
|
|
8
9
|
.number()
|
|
@@ -59,7 +60,7 @@ export const getUserDatasetsList = Object.freeze({
|
|
|
59
60
|
desc: parsed.desc,
|
|
60
61
|
unnamed: parsed.unnamed,
|
|
61
62
|
});
|
|
62
|
-
return { content: [{ type: 'text', text:
|
|
63
|
+
return { content: [{ type: 'text', text: wrapJsonText(datasets) }] };
|
|
63
64
|
},
|
|
64
65
|
});
|
|
65
66
|
//# sourceMappingURL=dataset_collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset_collection.js","sourceRoot":"","sources":["../../../src/tools/common/dataset_collection.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataset_collection.js","sourceRoot":"","sources":["../../../src/tools/common/dataset_collection.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,uFAAuF,CAAC;SACjG,OAAO,CAAC,CAAC,CAAC;IACf,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,+FAA+F,CAAC;SACzG,OAAO,CAAC,EAAE,CAAC;IAChB,IAAI,EAAE,CAAC;SACF,OAAO,EAAE;SACT,QAAQ,CACL,2HAA2H,CAC9H;SACA,OAAO,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,CAAC,+FAA+F,CAAC;SACzG,OAAO,CAAC,KAAK,CAAC;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAc,MAAM,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,SAAS,CAAC,QAAQ;IACxB,IAAI,EAAE,WAAW,CAAC,gBAAgB;IAClC,WAAW,EAAE,MAAM,CAAA;;;;;;;;;;;;4CAYqB;IACxC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAoB;IACvE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACnE,WAAW,EAAE;QACT,KAAK,EAAE,wBAAwB;QAC/B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;YAC1C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_dataset.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAYnF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SA2Cd,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import dedent from 'dedent';
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
+
import { HelperTools } from '../../const.js';
|
|
3
4
|
import { TOOL_TYPE } from '../../types.js';
|
|
4
5
|
import { compileSchema } from '../../utils/ajv.js';
|
|
5
|
-
import {
|
|
6
|
+
import { stripQuoteWrappers } from '../../utils/generic.js';
|
|
7
|
+
import { wrapJsonText } from '../../utils/mcp.js';
|
|
6
8
|
import { normalizeDatasetFields } from '../core/actor_run_response.js';
|
|
9
|
+
import { buildStorageNotFound } from './storage_helpers.js';
|
|
7
10
|
const getDatasetArgs = z.object({
|
|
8
11
|
datasetId: z.string().min(1).describe('Dataset ID or username~dataset-name.'),
|
|
9
12
|
});
|
|
@@ -13,17 +16,18 @@ const getDatasetArgs = z.object({
|
|
|
13
16
|
export const getDataset = Object.freeze({
|
|
14
17
|
type: TOOL_TYPE.INTERNAL,
|
|
15
18
|
name: HelperTools.DATASET_GET,
|
|
16
|
-
description: `
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
description: dedent `
|
|
20
|
+
Get metadata for a dataset (collection of structured data created by an Actor run).
|
|
21
|
+
The results will include dataset details such as itemCount, schema, fields, and stats.
|
|
22
|
+
Use fields to understand structure for filtering with ${HelperTools.DATASET_GET_ITEMS}.
|
|
23
|
+
Note: itemCount updates may be delayed by up to ~5 seconds.
|
|
20
24
|
|
|
21
|
-
USAGE:
|
|
22
|
-
- Use when you need dataset metadata to understand its structure before fetching items.
|
|
25
|
+
USAGE:
|
|
26
|
+
- Use when you need dataset metadata to understand its structure before fetching items.
|
|
23
27
|
|
|
24
|
-
USAGE EXAMPLES:
|
|
25
|
-
- user_input: Show info for dataset xyz123
|
|
26
|
-
- user_input: What fields does username~my-dataset have?`,
|
|
28
|
+
USAGE EXAMPLES:
|
|
29
|
+
- user_input: Show info for dataset xyz123
|
|
30
|
+
- user_input: What fields does username~my-dataset have?`,
|
|
27
31
|
inputSchema: z.toJSONSchema(getDatasetArgs),
|
|
28
32
|
ajvValidate: compileSchema(z.toJSONSchema(getDatasetArgs)),
|
|
29
33
|
paymentRequired: true,
|
|
@@ -37,13 +41,10 @@ USAGE EXAMPLES:
|
|
|
37
41
|
call: async (toolArgs) => {
|
|
38
42
|
const { args, apifyClient: client } = toolArgs;
|
|
39
43
|
const parsed = getDatasetArgs.parse(args);
|
|
40
|
-
const
|
|
44
|
+
const datasetId = stripQuoteWrappers(parsed.datasetId);
|
|
45
|
+
const dataset = await client.dataset(datasetId).get();
|
|
41
46
|
if (!dataset) {
|
|
42
|
-
return
|
|
43
|
-
texts: [`Dataset '${parsed.datasetId}' not found.`],
|
|
44
|
-
isError: true,
|
|
45
|
-
telemetry: { toolStatus: TOOL_STATUS.SOFT_FAIL, failureCategory: FAILURE_CATEGORY.INVALID_INPUT },
|
|
46
|
-
});
|
|
47
|
+
return buildStorageNotFound(`Dataset '${datasetId}' not found.`);
|
|
47
48
|
}
|
|
48
49
|
// Apify returns `fields` slash-separated AND with array indices expanded
|
|
49
50
|
// (e.g. `latestComments/0/owner/username`). For a real Instagram-scraper
|
|
@@ -53,7 +54,7 @@ USAGE EXAMPLES:
|
|
|
53
54
|
// normalization `buildRunDataset` applies so this tool's `fields` matches
|
|
54
55
|
// the structured `storages.datasets.default.fields` shape.
|
|
55
56
|
const normalized = dataset.fields ? { ...dataset, fields: normalizeDatasetFields(dataset.fields) } : dataset;
|
|
56
|
-
return { content: [{ type: 'text', text:
|
|
57
|
+
return { content: [{ type: 'text', text: wrapJsonText(normalized) }] };
|
|
57
58
|
},
|
|
58
59
|
});
|
|
59
60
|
//# sourceMappingURL=get_dataset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_dataset.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAChF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAc,MAAM,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,SAAS,CAAC,QAAQ;IACxB,IAAI,EAAE,WAAW,CAAC,WAAW;IAC7B,WAAW,EAAE,MAAM,CAAA;;;gEAGyC,WAAW,CAAC,iBAAiB;;;;;;;;iEAQ5B;IAC7D,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc,CAAoB;IAC9D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC1D,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE;QACT,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,oBAAoB,CAAC,YAAY,SAAS,cAAc,CAAC,CAAC;QACrE,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,2DAA2D;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7G,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3E,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset_items.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_items.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"get_dataset_items.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_items.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAWnF,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAS7D;AAoCD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAyEnB,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { HelperTools, HTTP_NOT_FOUND } from '../../const.js';
|
|
4
4
|
import { TOOL_TYPE } from '../../types.js';
|
|
5
5
|
import { compileSchema } from '../../utils/ajv.js';
|
|
6
|
-
import { parseCommaSeparatedList } from '../../utils/generic.js';
|
|
7
|
-
import {
|
|
6
|
+
import { parseCommaSeparatedList, stripQuoteWrappers } from '../../utils/generic.js';
|
|
7
|
+
import { getHttpStatusCode } from '../../utils/logging.js';
|
|
8
|
+
import { wrapJsonText } from '../../utils/mcp.js';
|
|
8
9
|
import { datasetItemsOutputSchema } from '../structured_output_schemas.js';
|
|
10
|
+
import { buildStorageNotFound } from './storage_helpers.js';
|
|
9
11
|
const DEFAULT_DATASET_ITEMS_LIMIT = 20;
|
|
10
12
|
/** Top-level dot prefixes of `fields`. Apify's `flatten` recurses, so the first segment suffices. */
|
|
11
13
|
export function extractDotPrefixes(fields) {
|
|
@@ -83,7 +85,13 @@ export const getDatasetItems = Object.freeze({
|
|
|
83
85
|
const omit = parseCommaSeparatedList(parsed.omit);
|
|
84
86
|
const flatten = parsed.flatten !== undefined ? parseCommaSeparatedList(parsed.flatten) : extractDotPrefixes(fields);
|
|
85
87
|
const effectiveLimit = (_a = parsed.limit) !== null && _a !== void 0 ? _a : DEFAULT_DATASET_ITEMS_LIMIT;
|
|
86
|
-
const
|
|
88
|
+
const datasetId = stripQuoteWrappers(parsed.datasetId);
|
|
89
|
+
// `dataset(id).listItems()` throws ApifyApiError on a missing dataset
|
|
90
|
+
// instead of returning undefined (only `.get()` and `.getStatistics()`
|
|
91
|
+
// soft-catch 404 in the SDK), so translate 404 into a soft-fail.
|
|
92
|
+
const v = await client
|
|
93
|
+
.dataset(datasetId)
|
|
94
|
+
.listItems({
|
|
87
95
|
clean: parsed.clean,
|
|
88
96
|
offset: parsed.offset,
|
|
89
97
|
limit: effectiveLimit,
|
|
@@ -91,23 +99,25 @@ export const getDatasetItems = Object.freeze({
|
|
|
91
99
|
omit,
|
|
92
100
|
desc: parsed.desc,
|
|
93
101
|
flatten,
|
|
102
|
+
})
|
|
103
|
+
.catch((err) => {
|
|
104
|
+
if (getHttpStatusCode(err) === HTTP_NOT_FOUND) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
throw err;
|
|
94
108
|
});
|
|
95
109
|
if (!v) {
|
|
96
|
-
return
|
|
97
|
-
texts: [`Dataset '${parsed.datasetId}' not found.`],
|
|
98
|
-
isError: true,
|
|
99
|
-
telemetry: { toolStatus: TOOL_STATUS.SOFT_FAIL, failureCategory: FAILURE_CATEGORY.INVALID_INPUT },
|
|
100
|
-
});
|
|
110
|
+
return buildStorageNotFound(`Dataset '${datasetId}' not found.`);
|
|
101
111
|
}
|
|
102
112
|
const structuredContent = {
|
|
103
|
-
datasetId
|
|
113
|
+
datasetId,
|
|
104
114
|
items: v.items,
|
|
105
115
|
itemCount: v.items.length,
|
|
106
116
|
totalItemCount: v.total,
|
|
107
117
|
offset: (_b = parsed.offset) !== null && _b !== void 0 ? _b : 0,
|
|
108
118
|
limit: effectiveLimit,
|
|
109
119
|
};
|
|
110
|
-
return { content: [{ type: 'text', text:
|
|
120
|
+
return { content: [{ type: 'text', text: wrapJsonText(v) }], structuredContent };
|
|
111
121
|
},
|
|
112
122
|
});
|
|
113
123
|
//# sourceMappingURL=get_dataset_items.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset_items.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_items.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_dataset_items.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_items.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset_schema.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_dataset_schema.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAuBnF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAoEpB,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import dedent from 'dedent';
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
+
import { HelperTools, HTTP_NOT_FOUND, TOOL_STATUS } from '../../const.js';
|
|
3
4
|
import { TOOL_TYPE } from '../../types.js';
|
|
4
5
|
import { compileSchema } from '../../utils/ajv.js';
|
|
5
|
-
import {
|
|
6
|
+
import { stripQuoteWrappers } from '../../utils/generic.js';
|
|
7
|
+
import { getHttpStatusCode } from '../../utils/logging.js';
|
|
8
|
+
import { buildMCPResponse, wrapJsonText } from '../../utils/mcp.js';
|
|
6
9
|
import { generateSchemaFromItems } from '../../utils/schema_generation.js';
|
|
10
|
+
import { buildStorageNotFound } from './storage_helpers.js';
|
|
7
11
|
const getDatasetSchemaArgs = z.object({
|
|
8
12
|
datasetId: z.string().min(1).describe('Dataset ID or username~dataset-name.'),
|
|
9
13
|
limit: z
|
|
@@ -23,16 +27,17 @@ const getDatasetSchemaArgs = z.object({
|
|
|
23
27
|
export const getDatasetSchema = Object.freeze({
|
|
24
28
|
type: TOOL_TYPE.INTERNAL,
|
|
25
29
|
name: HelperTools.DATASET_SCHEMA_GET,
|
|
26
|
-
description: `
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
description: dedent `
|
|
31
|
+
Generate a JSON schema from a sample of dataset items.
|
|
32
|
+
The schema describes the structure of the data and can be used for validation, documentation, or processing.
|
|
33
|
+
Use this to understand the dataset before fetching many items.
|
|
29
34
|
|
|
30
|
-
USAGE:
|
|
31
|
-
- Use when you need to infer the structure of dataset items for downstream processing or validation.
|
|
35
|
+
USAGE:
|
|
36
|
+
- Use when you need to infer the structure of dataset items for downstream processing or validation.
|
|
32
37
|
|
|
33
|
-
USAGE EXAMPLES:
|
|
34
|
-
- user_input: Generate schema for dataset 34das2 using 10 items
|
|
35
|
-
- user_input: Show schema of username~my-dataset (clean items only)`,
|
|
38
|
+
USAGE EXAMPLES:
|
|
39
|
+
- user_input: Generate schema for dataset 34das2 using 10 items
|
|
40
|
+
- user_input: Show schema of username~my-dataset (clean items only)`,
|
|
36
41
|
inputSchema: z.toJSONSchema(getDatasetSchemaArgs),
|
|
37
42
|
ajvValidate: compileSchema(z.toJSONSchema(getDatasetSchemaArgs)),
|
|
38
43
|
paymentRequired: true,
|
|
@@ -46,21 +51,24 @@ USAGE EXAMPLES:
|
|
|
46
51
|
call: async (toolArgs) => {
|
|
47
52
|
const { args, apifyClient: client } = toolArgs;
|
|
48
53
|
const parsed = getDatasetSchemaArgs.parse(args);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
const datasetId = stripQuoteWrappers(parsed.datasetId);
|
|
55
|
+
// `listItems()` throws ApifyApiError on a missing dataset (the SDK only soft-catches
|
|
56
|
+
// 404 on `.get()` / `.getStatistics()`), so translate 404 into a soft-fail.
|
|
57
|
+
const datasetResponse = await client
|
|
58
|
+
.dataset(datasetId)
|
|
59
|
+
.listItems({ clean: parsed.clean, limit: parsed.limit })
|
|
60
|
+
.catch((err) => {
|
|
61
|
+
if (getHttpStatusCode(err) === HTTP_NOT_FOUND) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
throw err;
|
|
53
65
|
});
|
|
54
66
|
if (!datasetResponse) {
|
|
55
|
-
return
|
|
56
|
-
texts: [`Dataset '${parsed.datasetId}' not found.`],
|
|
57
|
-
isError: true,
|
|
58
|
-
telemetry: { toolStatus: TOOL_STATUS.SOFT_FAIL, failureCategory: FAILURE_CATEGORY.INVALID_INPUT },
|
|
59
|
-
});
|
|
67
|
+
return buildStorageNotFound(`Dataset '${datasetId}' not found.`);
|
|
60
68
|
}
|
|
61
69
|
const datasetItems = datasetResponse.items;
|
|
62
70
|
if (datasetItems.length === 0) {
|
|
63
|
-
return { content: [{ type: 'text', text: `Dataset '${
|
|
71
|
+
return { content: [{ type: 'text', text: `Dataset '${datasetId}' is empty.` }] };
|
|
64
72
|
}
|
|
65
73
|
// Generate schema using the shared utility
|
|
66
74
|
const schema = generateSchemaFromItems(datasetItems, {
|
|
@@ -70,12 +78,12 @@ USAGE EXAMPLES:
|
|
|
70
78
|
if (!schema) {
|
|
71
79
|
// Schema generation failure is typically a server/processing error, not a user error
|
|
72
80
|
return buildMCPResponse({
|
|
73
|
-
texts: [`Failed to generate schema for dataset '${
|
|
81
|
+
texts: [`Failed to generate schema for dataset '${datasetId}'.`],
|
|
74
82
|
isError: true,
|
|
75
83
|
telemetry: { toolStatus: TOOL_STATUS.FAILED },
|
|
76
84
|
});
|
|
77
85
|
}
|
|
78
|
-
return { content: [{ type: 'text', text:
|
|
86
|
+
return { content: [{ type: 'text', text: wrapJsonText(schema) }] };
|
|
79
87
|
},
|
|
80
88
|
});
|
|
81
89
|
//# sourceMappingURL=get_dataset_schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset_schema.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_dataset_schema.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_key_value_store.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_key_value_store.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAWnF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAiCpB,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import dedent from 'dedent';
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
+
import { HelperTools } from '../../const.js';
|
|
3
4
|
import { TOOL_TYPE } from '../../types.js';
|
|
4
5
|
import { compileSchema } from '../../utils/ajv.js';
|
|
5
|
-
import {
|
|
6
|
+
import { stripQuoteWrappers } from '../../utils/generic.js';
|
|
7
|
+
import { wrapJsonText } from '../../utils/mcp.js';
|
|
8
|
+
import { buildStorageNotFound } from './storage_helpers.js';
|
|
6
9
|
const getKeyValueStoreArgs = z.object({
|
|
7
10
|
keyValueStoreId: z.string().min(1).describe('Key-value store ID or username~store-name'),
|
|
8
11
|
});
|
|
@@ -12,15 +15,16 @@ const getKeyValueStoreArgs = z.object({
|
|
|
12
15
|
export const getKeyValueStore = Object.freeze({
|
|
13
16
|
type: TOOL_TYPE.INTERNAL,
|
|
14
17
|
name: HelperTools.KEY_VALUE_STORE_GET,
|
|
15
|
-
description: `
|
|
16
|
-
|
|
18
|
+
description: dedent `
|
|
19
|
+
Get details about a key-value store by ID or username~store-name.
|
|
20
|
+
The results will include store metadata (ID, name, owner, access settings) and usage statistics.
|
|
17
21
|
|
|
18
|
-
USAGE:
|
|
19
|
-
- Use when you need to inspect a store to locate records or understand its properties.
|
|
22
|
+
USAGE:
|
|
23
|
+
- Use when you need to inspect a store to locate records or understand its properties.
|
|
20
24
|
|
|
21
|
-
USAGE EXAMPLES:
|
|
22
|
-
- user_input: Show info for key-value store username~my-store
|
|
23
|
-
- user_input: Get details for store adb123`,
|
|
25
|
+
USAGE EXAMPLES:
|
|
26
|
+
- user_input: Show info for key-value store username~my-store
|
|
27
|
+
- user_input: Get details for store adb123`,
|
|
24
28
|
inputSchema: z.toJSONSchema(getKeyValueStoreArgs),
|
|
25
29
|
ajvValidate: compileSchema(z.toJSONSchema(getKeyValueStoreArgs)),
|
|
26
30
|
paymentRequired: true,
|
|
@@ -34,15 +38,12 @@ USAGE EXAMPLES:
|
|
|
34
38
|
call: async (toolArgs) => {
|
|
35
39
|
const { args, apifyClient: client } = toolArgs;
|
|
36
40
|
const parsed = getKeyValueStoreArgs.parse(args);
|
|
37
|
-
const
|
|
41
|
+
const keyValueStoreId = stripQuoteWrappers(parsed.keyValueStoreId);
|
|
42
|
+
const kvStore = await client.keyValueStore(keyValueStoreId).get();
|
|
38
43
|
if (!kvStore) {
|
|
39
|
-
return
|
|
40
|
-
texts: [`Key-value store '${parsed.keyValueStoreId}' not found.`],
|
|
41
|
-
isError: true,
|
|
42
|
-
telemetry: { toolStatus: TOOL_STATUS.SOFT_FAIL, failureCategory: FAILURE_CATEGORY.INVALID_INPUT },
|
|
43
|
-
});
|
|
44
|
+
return buildStorageNotFound(`Key-value store '${keyValueStoreId}' not found.`);
|
|
44
45
|
}
|
|
45
|
-
return { content: [{ type: 'text', text:
|
|
46
|
+
return { content: [{ type: 'text', text: wrapJsonText(kvStore) }] };
|
|
46
47
|
},
|
|
47
48
|
});
|
|
48
49
|
//# sourceMappingURL=get_key_value_store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_key_value_store.js","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_key_value_store.js","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CAC3F,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAc,MAAM,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,SAAS,CAAC,QAAQ;IACxB,IAAI,EAAE,WAAW,CAAC,mBAAmB;IACrC,WAAW,EAAE,MAAM,CAAA;;;;;;;;;mDAS4B;IAC/C,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAoB;IACpE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAChE,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE;QACT,KAAK,EAAE,qBAAqB;QAC5B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,oBAAoB,CAAC,oBAAoB,eAAe,cAAc,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IACxE,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_key_value_store_keys.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store_keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_key_value_store_keys.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store_keys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAiBnF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SA4CxB,CAAC"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import dedent from 'dedent';
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import { HelperTools } from '../../const.js';
|
|
3
|
+
import { HelperTools, HTTP_NOT_FOUND } from '../../const.js';
|
|
3
4
|
import { TOOL_TYPE } from '../../types.js';
|
|
4
5
|
import { compileSchema } from '../../utils/ajv.js';
|
|
6
|
+
import { stripQuoteWrappers } from '../../utils/generic.js';
|
|
7
|
+
import { getHttpStatusCode } from '../../utils/logging.js';
|
|
8
|
+
import { wrapJsonText } from '../../utils/mcp.js';
|
|
9
|
+
import { buildStorageNotFound } from './storage_helpers.js';
|
|
5
10
|
const getKeyValueStoreKeysArgs = z.object({
|
|
6
11
|
keyValueStoreId: z.string().min(1).describe('Key-value store ID or username~store-name'),
|
|
7
12
|
exclusiveStartKey: z
|
|
@@ -16,16 +21,17 @@ const getKeyValueStoreKeysArgs = z.object({
|
|
|
16
21
|
export const getKeyValueStoreKeys = Object.freeze({
|
|
17
22
|
type: TOOL_TYPE.INTERNAL,
|
|
18
23
|
name: HelperTools.KEY_VALUE_STORE_KEYS_GET,
|
|
19
|
-
description: `
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
description: dedent `
|
|
25
|
+
List keys in a key-value store with optional pagination.
|
|
26
|
+
The results will include keys and basic info about stored values (e.g., size).
|
|
27
|
+
Use exclusiveStartKey and limit to paginate.
|
|
22
28
|
|
|
23
|
-
USAGE:
|
|
24
|
-
- Use when you need to discover what records exist in a store.
|
|
29
|
+
USAGE:
|
|
30
|
+
- Use when you need to discover what records exist in a store.
|
|
25
31
|
|
|
26
|
-
USAGE EXAMPLES:
|
|
27
|
-
- user_input: List first 10 keys in store username~my-store
|
|
28
|
-
- user_input: Continue listing keys in store a123 from key data.json`,
|
|
32
|
+
USAGE EXAMPLES:
|
|
33
|
+
- user_input: List first 10 keys in store username~my-store
|
|
34
|
+
- user_input: Continue listing keys in store a123 from key data.json`,
|
|
29
35
|
inputSchema: z.toJSONSchema(getKeyValueStoreKeysArgs),
|
|
30
36
|
ajvValidate: compileSchema(z.toJSONSchema(getKeyValueStoreKeysArgs)),
|
|
31
37
|
paymentRequired: true,
|
|
@@ -39,11 +45,22 @@ USAGE EXAMPLES:
|
|
|
39
45
|
call: async (toolArgs) => {
|
|
40
46
|
const { args, apifyClient: client } = toolArgs;
|
|
41
47
|
const parsed = getKeyValueStoreKeysArgs.parse(args);
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
const keyValueStoreId = stripQuoteWrappers(parsed.keyValueStoreId);
|
|
49
|
+
// `listKeys()` throws ApifyApiError on a missing store (the SDK only soft-catches
|
|
50
|
+
// 404 on `.get()` / `.getRecord()`), so translate 404 into a soft-fail.
|
|
51
|
+
const keys = await client
|
|
52
|
+
.keyValueStore(keyValueStoreId)
|
|
53
|
+
.listKeys({ exclusiveStartKey: parsed.exclusiveStartKey, limit: parsed.limit })
|
|
54
|
+
.catch((err) => {
|
|
55
|
+
if (getHttpStatusCode(err) === HTTP_NOT_FOUND) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
throw err;
|
|
45
59
|
});
|
|
46
|
-
|
|
60
|
+
if (!keys) {
|
|
61
|
+
return buildStorageNotFound(`Key-value store '${keyValueStoreId}' not found.`);
|
|
62
|
+
}
|
|
63
|
+
return { content: [{ type: 'text', text: wrapJsonText(keys) }] };
|
|
47
64
|
},
|
|
48
65
|
});
|
|
49
66
|
//# sourceMappingURL=get_key_value_store_keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_key_value_store_keys.js","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store_keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"get_key_value_store_keys.js","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store_keys.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACxF,iBAAiB,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IACjF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;CACvG,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAc,MAAM,CAAC,MAAM,CAAC;IACzD,IAAI,EAAE,SAAS,CAAC,QAAQ;IACxB,IAAI,EAAE,WAAW,CAAC,wBAAwB;IAC1C,WAAW,EAAE,MAAM,CAAA;;;;;;;;;;6EAUsD;IACzE,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,wBAAwB,CAAoB;IACxE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;IACpE,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE;QACT,KAAK,EAAE,0BAA0B;QACjC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACnE,kFAAkF;QAClF,wEAAwE;QACxE,MAAM,IAAI,GAAG,MAAM,MAAM;aACpB,aAAa,CAAC,eAAe,CAAC;aAC9B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;aAC9E,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACpB,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,oBAAoB,CAAC,oBAAoB,eAAe,cAAc,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_key_value_store_record.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store_record.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_key_value_store_record.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store_record.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAYnF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAwC1B,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import dedent from 'dedent';
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
+
import { HelperTools } from '../../const.js';
|
|
3
4
|
import { TOOL_TYPE } from '../../types.js';
|
|
4
5
|
import { compileSchema } from '../../utils/ajv.js';
|
|
5
|
-
import {
|
|
6
|
+
import { stripQuoteWrappers } from '../../utils/generic.js';
|
|
7
|
+
import { wrapJsonText } from '../../utils/mcp.js';
|
|
8
|
+
import { buildStorageNotFound, normalizeRecordKey } from './storage_helpers.js';
|
|
6
9
|
const getKeyValueStoreRecordArgs = z.object({
|
|
7
10
|
keyValueStoreId: z.string().min(1).describe('Key-value store ID or username~store-name'),
|
|
8
11
|
recordKey: z.string().min(1).describe('Key of the record to retrieve.'),
|
|
@@ -13,15 +16,16 @@ const getKeyValueStoreRecordArgs = z.object({
|
|
|
13
16
|
export const getKeyValueStoreRecord = Object.freeze({
|
|
14
17
|
type: TOOL_TYPE.INTERNAL,
|
|
15
18
|
name: HelperTools.KEY_VALUE_STORE_RECORD_GET,
|
|
16
|
-
description: `
|
|
17
|
-
|
|
19
|
+
description: dedent `
|
|
20
|
+
Get a value stored in a key-value store under a specific key.
|
|
21
|
+
The response preserves the original Content-Encoding; most clients handle decompression automatically.
|
|
18
22
|
|
|
19
|
-
USAGE:
|
|
20
|
-
- Use when you need to retrieve a specific record (JSON, text, or binary) from a store.
|
|
23
|
+
USAGE:
|
|
24
|
+
- Use when you need to retrieve a specific record (JSON, text, or binary) from a store.
|
|
21
25
|
|
|
22
|
-
USAGE EXAMPLES:
|
|
23
|
-
- user_input: Get record INPUT from store abc123
|
|
24
|
-
- user_input: Get record data.json from store username~my-store`,
|
|
26
|
+
USAGE EXAMPLES:
|
|
27
|
+
- user_input: Get record INPUT from store abc123
|
|
28
|
+
- user_input: Get record data.json from store username~my-store`,
|
|
25
29
|
inputSchema: z.toJSONSchema(getKeyValueStoreRecordArgs),
|
|
26
30
|
ajvValidate: compileSchema(z.toJSONSchema(getKeyValueStoreRecordArgs)),
|
|
27
31
|
paymentRequired: true,
|
|
@@ -35,21 +39,19 @@ USAGE EXAMPLES:
|
|
|
35
39
|
call: async (toolArgs) => {
|
|
36
40
|
const { args, apifyClient: client } = toolArgs;
|
|
37
41
|
const parsed = getKeyValueStoreRecordArgs.parse(args);
|
|
38
|
-
const
|
|
39
|
-
const
|
|
42
|
+
const keyValueStoreId = stripQuoteWrappers(parsed.keyValueStoreId);
|
|
43
|
+
const recordKey = normalizeRecordKey(parsed.recordKey);
|
|
44
|
+
const store = client.keyValueStore(keyValueStoreId);
|
|
45
|
+
const record = await store.getRecord(recordKey);
|
|
40
46
|
if (record === undefined) {
|
|
41
47
|
// getRecord returns undefined for both missing-store and missing-key; disambiguate.
|
|
42
48
|
const storeInfo = await store.get();
|
|
43
49
|
const text = storeInfo
|
|
44
|
-
? `Record '${
|
|
45
|
-
: `Key-value store '${
|
|
46
|
-
return
|
|
47
|
-
texts: [text],
|
|
48
|
-
isError: true,
|
|
49
|
-
telemetry: { toolStatus: TOOL_STATUS.SOFT_FAIL, failureCategory: FAILURE_CATEGORY.INVALID_INPUT },
|
|
50
|
-
});
|
|
50
|
+
? `Record '${recordKey}' not found in key-value store '${keyValueStoreId}'.`
|
|
51
|
+
: `Key-value store '${keyValueStoreId}' not found.`;
|
|
52
|
+
return buildStorageNotFound(text);
|
|
51
53
|
}
|
|
52
|
-
return { content: [{ type: 'text', text:
|
|
54
|
+
return { content: [{ type: 'text', text: wrapJsonText(record) }] };
|
|
53
55
|
},
|
|
54
56
|
});
|
|
55
57
|
//# sourceMappingURL=get_key_value_store_record.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_key_value_store_record.js","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store_record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_key_value_store_record.js","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store_record.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACxF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CAC1E,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAc,MAAM,CAAC,MAAM,CAAC;IAC3D,IAAI,EAAE,SAAS,CAAC,QAAQ;IACxB,IAAI,EAAE,WAAW,CAAC,0BAA0B;IAC5C,WAAW,EAAE,MAAM,CAAA;;;;;;;;;wEASiD;IACpE,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,0BAA0B,CAAoB;IAC1E,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IACtE,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE;QACT,KAAK,EAAE,4BAA4B;QACnC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,oFAAoF;YACpF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,SAAS;gBAClB,CAAC,CAAC,WAAW,SAAS,mCAAmC,eAAe,IAAI;gBAC5E,CAAC,CAAC,oBAAoB,eAAe,cAAc,CAAC;YACxD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key_value_store_collection.d.ts","sourceRoot":"","sources":["../../../src/tools/common/key_value_store_collection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"key_value_store_collection.d.ts","sourceRoot":"","sources":["../../../src/tools/common/key_value_store_collection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AA6BnF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAoC7B,CAAC"}
|