@contentful/mcp-server 1.6.1 → 1.7.0-dev-20251002T1538-162821d.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 +35 -39
- package/build/config/contentful.js +0 -20
- package/build/config/contentful.js.map +0 -1
- package/build/config/env.js +0 -27
- package/build/config/env.js.map +0 -1
- package/build/config/version.js +0 -3
- package/build/config/version.js.map +0 -1
- package/build/index.js +0 -39
- package/build/index.js.map +0 -1
- package/build/prompts/register.js +0 -2
- package/build/prompts/register.js.map +0 -1
- package/build/resources/register.js +0 -2
- package/build/resources/register.js.map +0 -1
- package/build/tools/ai-actions/createAiAction.js +0 -57
- package/build/tools/ai-actions/createAiAction.js.map +0 -1
- package/build/tools/ai-actions/deleteAiAction.js +0 -21
- package/build/tools/ai-actions/deleteAiAction.js.map +0 -1
- package/build/tools/ai-actions/getAiAction.js +0 -21
- package/build/tools/ai-actions/getAiAction.js.map +0 -1
- package/build/tools/ai-actions/getAiActionInvocation.js +0 -22
- package/build/tools/ai-actions/getAiActionInvocation.js.map +0 -1
- package/build/tools/ai-actions/invokeAiAction.js +0 -75
- package/build/tools/ai-actions/invokeAiAction.js.map +0 -1
- package/build/tools/ai-actions/listAiActions.js +0 -66
- package/build/tools/ai-actions/listAiActions.js.map +0 -1
- package/build/tools/ai-actions/mockClient.js +0 -229
- package/build/tools/ai-actions/mockClient.js.map +0 -1
- package/build/tools/ai-actions/publishAiAction.js +0 -35
- package/build/tools/ai-actions/publishAiAction.js.map +0 -1
- package/build/tools/ai-actions/register.js +0 -21
- package/build/tools/ai-actions/register.js.map +0 -1
- package/build/tools/ai-actions/unpublishAiAction.js +0 -29
- package/build/tools/ai-actions/unpublishAiAction.js.map +0 -1
- package/build/tools/ai-actions/updateAiAction.js +0 -66
- package/build/tools/ai-actions/updateAiAction.js.map +0 -1
- package/build/tools/assets/deleteAsset.js +0 -21
- package/build/tools/assets/deleteAsset.js.map +0 -1
- package/build/tools/assets/getAsset.js +0 -19
- package/build/tools/assets/getAsset.js.map +0 -1
- package/build/tools/assets/listAssets.js +0 -69
- package/build/tools/assets/listAssets.js.map +0 -1
- package/build/tools/assets/mockClient.js +0 -160
- package/build/tools/assets/mockClient.js.map +0 -1
- package/build/tools/assets/publishAsset.js +0 -59
- package/build/tools/assets/publishAsset.js.map +0 -1
- package/build/tools/assets/register.js +0 -17
- package/build/tools/assets/register.js.map +0 -1
- package/build/tools/assets/unpublishAsset.js +0 -59
- package/build/tools/assets/unpublishAsset.js.map +0 -1
- package/build/tools/assets/updateAsset.js +0 -43
- package/build/tools/assets/updateAsset.js.map +0 -1
- package/build/tools/assets/uploadAsset.js +0 -52
- package/build/tools/assets/uploadAsset.js.map +0 -1
- package/build/tools/content-types/createContentType.js +0 -44
- package/build/tools/content-types/createContentType.js.map +0 -1
- package/build/tools/content-types/deleteContentType.js +0 -21
- package/build/tools/content-types/deleteContentType.js.map +0 -1
- package/build/tools/content-types/getContentType.js +0 -25
- package/build/tools/content-types/getContentType.js.map +0 -1
- package/build/tools/content-types/listContentTypes.js +0 -60
- package/build/tools/content-types/listContentTypes.js.map +0 -1
- package/build/tools/content-types/mockClient.js +0 -139
- package/build/tools/content-types/mockClient.js.map +0 -1
- package/build/tools/content-types/publishContentType.js +0 -23
- package/build/tools/content-types/publishContentType.js.map +0 -1
- package/build/tools/content-types/register.js +0 -17
- package/build/tools/content-types/register.js.map +0 -1
- package/build/tools/content-types/unpublishContentType.js +0 -21
- package/build/tools/content-types/unpublishContentType.js.map +0 -1
- package/build/tools/content-types/updateContentType.js +0 -82
- package/build/tools/content-types/updateContentType.js.map +0 -1
- package/build/tools/context/getInitialContextTool.js +0 -44
- package/build/tools/context/getInitialContextTool.js.map +0 -1
- package/build/tools/context/instructions.js +0 -115
- package/build/tools/context/instructions.js.map +0 -1
- package/build/tools/context/middleware.js +0 -9
- package/build/tools/context/middleware.js.map +0 -1
- package/build/tools/context/register.js +0 -5
- package/build/tools/context/register.js.map +0 -1
- package/build/tools/context/store.js +0 -16
- package/build/tools/context/store.js.map +0 -1
- package/build/tools/entries/createEntry.js +0 -31
- package/build/tools/entries/createEntry.js.map +0 -1
- package/build/tools/entries/deleteEntry.js +0 -22
- package/build/tools/entries/deleteEntry.js.map +0 -1
- package/build/tools/entries/getEntry.js +0 -19
- package/build/tools/entries/getEntry.js.map +0 -1
- package/build/tools/entries/mockClient.js +0 -79
- package/build/tools/entries/mockClient.js.map +0 -1
- package/build/tools/entries/publishEntry.js +0 -51
- package/build/tools/entries/publishEntry.js.map +0 -1
- package/build/tools/entries/register.js +0 -17
- package/build/tools/entries/register.js.map +0 -1
- package/build/tools/entries/searchEntries.js +0 -51
- package/build/tools/entries/searchEntries.js.map +0 -1
- package/build/tools/entries/unpublishEntry.js +0 -51
- package/build/tools/entries/unpublishEntry.js.map +0 -1
- package/build/tools/entries/updateEntry.js +0 -47
- package/build/tools/entries/updateEntry.js.map +0 -1
- package/build/tools/environments/createEnvironment.js +0 -22
- package/build/tools/environments/createEnvironment.js.map +0 -1
- package/build/tools/environments/deleteEnvironment.js +0 -20
- package/build/tools/environments/deleteEnvironment.js.map +0 -1
- package/build/tools/environments/listEnvironments.js +0 -62
- package/build/tools/environments/listEnvironments.js.map +0 -1
- package/build/tools/environments/mockClient.js +0 -42
- package/build/tools/environments/mockClient.js.map +0 -1
- package/build/tools/environments/register.js +0 -9
- package/build/tools/environments/register.js.map +0 -1
- package/build/tools/jobs/register.js +0 -5
- package/build/tools/jobs/register.js.map +0 -1
- package/build/tools/jobs/space-to-space-migration/exportSpace.js +0 -148
- package/build/tools/jobs/space-to-space-migration/exportSpace.js.map +0 -1
- package/build/tools/jobs/space-to-space-migration/importSpace.js +0 -127
- package/build/tools/jobs/space-to-space-migration/importSpace.js.map +0 -1
- package/build/tools/jobs/space-to-space-migration/instructions.js +0 -33
- package/build/tools/jobs/space-to-space-migration/instructions.js.map +0 -1
- package/build/tools/jobs/space-to-space-migration/migrationHandler.js +0 -45
- package/build/tools/jobs/space-to-space-migration/migrationHandler.js.map +0 -1
- package/build/tools/jobs/space-to-space-migration/mockClient.js +0 -156
- package/build/tools/jobs/space-to-space-migration/mockClient.js.map +0 -1
- package/build/tools/jobs/space-to-space-migration/paramCollection.js +0 -288
- package/build/tools/jobs/space-to-space-migration/paramCollection.js.map +0 -1
- package/build/tools/jobs/space-to-space-migration/register.js +0 -23
- package/build/tools/jobs/space-to-space-migration/register.js.map +0 -1
- package/build/tools/locales/createLocale.js +0 -50
- package/build/tools/locales/createLocale.js.map +0 -1
- package/build/tools/locales/deleteLocale.js +0 -22
- package/build/tools/locales/deleteLocale.js.map +0 -1
- package/build/tools/locales/getLocale.js +0 -19
- package/build/tools/locales/getLocale.js.map +0 -1
- package/build/tools/locales/listLocales.js +0 -62
- package/build/tools/locales/listLocales.js.map +0 -1
- package/build/tools/locales/mockClient.js +0 -55
- package/build/tools/locales/mockClient.js.map +0 -1
- package/build/tools/locales/register.js +0 -13
- package/build/tools/locales/register.js.map +0 -1
- package/build/tools/locales/updateLocale.js +0 -48
- package/build/tools/locales/updateLocale.js.map +0 -1
- package/build/tools/orgs/getOrg.js +0 -23
- package/build/tools/orgs/getOrg.js.map +0 -1
- package/build/tools/orgs/listOrgs.js +0 -57
- package/build/tools/orgs/listOrgs.js.map +0 -1
- package/build/tools/orgs/mockClient.js +0 -38
- package/build/tools/orgs/mockClient.js.map +0 -1
- package/build/tools/orgs/register.js +0 -7
- package/build/tools/orgs/register.js.map +0 -1
- package/build/tools/register.js +0 -27
- package/build/tools/register.js.map +0 -1
- package/build/tools/spaces/getSpace.js +0 -21
- package/build/tools/spaces/getSpace.js.map +0 -1
- package/build/tools/spaces/listSpaces.js +0 -54
- package/build/tools/spaces/listSpaces.js.map +0 -1
- package/build/tools/spaces/mockClient.js +0 -35
- package/build/tools/spaces/mockClient.js.map +0 -1
- package/build/tools/spaces/register.js +0 -7
- package/build/tools/spaces/register.js.map +0 -1
- package/build/tools/tags/createTag.js +0 -25
- package/build/tools/tags/createTag.js.map +0 -1
- package/build/tools/tags/listTags.js +0 -51
- package/build/tools/tags/listTags.js.map +0 -1
- package/build/tools/tags/mockClient.js +0 -44
- package/build/tools/tags/mockClient.js.map +0 -1
- package/build/tools/tags/register.js +0 -7
- package/build/tools/tags/register.js.map +0 -1
- package/build/tools/taxonomies/concept-schemes/createConceptScheme.js +0 -78
- package/build/tools/taxonomies/concept-schemes/createConceptScheme.js.map +0 -1
- package/build/tools/taxonomies/concept-schemes/deleteConceptScheme.js +0 -27
- package/build/tools/taxonomies/concept-schemes/deleteConceptScheme.js.map +0 -1
- package/build/tools/taxonomies/concept-schemes/getConceptScheme.js +0 -26
- package/build/tools/taxonomies/concept-schemes/getConceptScheme.js.map +0 -1
- package/build/tools/taxonomies/concept-schemes/listConceptSchemes.js +0 -66
- package/build/tools/taxonomies/concept-schemes/listConceptSchemes.js.map +0 -1
- package/build/tools/taxonomies/concept-schemes/mockClient.js +0 -147
- package/build/tools/taxonomies/concept-schemes/mockClient.js.map +0 -1
- package/build/tools/taxonomies/concept-schemes/register.js +0 -13
- package/build/tools/taxonomies/concept-schemes/register.js.map +0 -1
- package/build/tools/taxonomies/concept-schemes/updateConceptScheme.js +0 -99
- package/build/tools/taxonomies/concept-schemes/updateConceptScheme.js.map +0 -1
- package/build/tools/taxonomies/register.js +0 -5
- package/build/tools/taxonomies/register.js.map +0 -1
- package/build/types/aiActionTestCaseSchema.js +0 -61
- package/build/types/aiActionTestCaseSchema.js.map +0 -1
- package/build/types/conceptPayloadTypes.js +0 -17
- package/build/types/conceptPayloadTypes.js.map +0 -1
- package/build/types/contentTypeFieldValidationSchema.js +0 -118
- package/build/types/contentTypeFieldValidationSchema.js.map +0 -1
- package/build/types/fieldSchema.js +0 -35
- package/build/types/fieldSchema.js.map +0 -1
- package/build/types/querySchema.js +0 -36
- package/build/types/querySchema.js.map +0 -1
- package/build/types/taxonomySchema.js +0 -67
- package/build/types/taxonomySchema.js.map +0 -1
- package/build/utils/ai-actions.js +0 -47
- package/build/utils/ai-actions.js.map +0 -1
- package/build/utils/bulkOperations.js +0 -95
- package/build/utils/bulkOperations.js.map +0 -1
- package/build/utils/formatters.js +0 -40
- package/build/utils/formatters.js.map +0 -1
- package/build/utils/getVersion.js +0 -12
- package/build/utils/getVersion.js.map +0 -1
- package/build/utils/response.js +0 -38
- package/build/utils/response.js.map +0 -1
- package/build/utils/summarizer.js +0 -40
- package/build/utils/summarizer.js.map +0 -1
- package/build/utils/tools.js +0 -21
- package/build/utils/tools.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,43 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentful/mcp-server",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
},
|
|
8
|
-
"license": "MIT",
|
|
3
|
+
"version": "1.7.0-dev-20251002T1538-162821d.0",
|
|
4
|
+
"description": "Contentful MCP Server - Model Context Protocol server for Contentful",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
9
7
|
"type": "module",
|
|
10
8
|
"bin": {
|
|
11
|
-
"contentful-mcp-server": "./
|
|
9
|
+
"contentful-mcp-server": "./dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
"./package.json": "./package.json",
|
|
13
|
+
".": {
|
|
14
|
+
"@contentful/mcp-server": "./src/index.ts",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"import": "./dist/index.js",
|
|
17
|
+
"default": "./dist/index.js"
|
|
18
|
+
}
|
|
12
19
|
},
|
|
13
20
|
"files": [
|
|
14
|
-
"
|
|
21
|
+
"dist",
|
|
22
|
+
"package.json",
|
|
23
|
+
"README.md",
|
|
24
|
+
"LICENSE"
|
|
15
25
|
],
|
|
16
|
-
"engines": {
|
|
17
|
-
"node": ">=22.0.0",
|
|
18
|
-
"npm": ">=10.0.0"
|
|
19
|
-
},
|
|
20
26
|
"scripts": {
|
|
21
|
-
"
|
|
22
|
-
"build": "
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"lint": "eslint .",
|
|
26
|
-
"lint:fix": "eslint . --fix",
|
|
27
|
-
"start": "node build/index.js",
|
|
27
|
+
"prebuild": "npm run clean",
|
|
28
|
+
"build": "tsup",
|
|
29
|
+
"clean": "rimraf dist",
|
|
30
|
+
"dev": "tsup --watch",
|
|
28
31
|
"test": "vitest",
|
|
29
32
|
"test:run": "vitest run",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
|
|
33
|
+
"format": "prettier --check \"**/*.{ts,js,json,md}\"",
|
|
34
|
+
"format:fix": "prettier --write \"**/*.{ts,js,json,md}\"",
|
|
35
|
+
"lint": "eslint --ext .ts,.js .",
|
|
36
|
+
"lint:fix": "eslint --ext .ts,.js . --fix"
|
|
37
|
+
},
|
|
38
|
+
"author": "Contentful GmbH",
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/contentful/contentful-mcp-server.git",
|
|
43
|
+
"directory": "packages/mcp-server"
|
|
35
44
|
},
|
|
36
45
|
"dependencies": {
|
|
37
46
|
"@modelcontextprotocol/sdk": "^1.17.0",
|
|
38
47
|
"contentful-export": "^7.21.78",
|
|
39
|
-
"contentful-management": "^11.54.3",
|
|
40
48
|
"contentful-import": "^9.4.111",
|
|
49
|
+
"contentful-management": "^11.54.3",
|
|
41
50
|
"dotenv": "^16.4.7",
|
|
42
51
|
"fast-xml-parser": "^5.2.5",
|
|
43
52
|
"get-it": "^8.6.10",
|
|
@@ -46,24 +55,11 @@
|
|
|
46
55
|
"zod": "^3.25.76"
|
|
47
56
|
},
|
|
48
57
|
"devDependencies": {
|
|
49
|
-
"@anthropic-ai/dxt": "^0.2.6",
|
|
50
|
-
"@commitlint/cli": "^19.8.1",
|
|
51
|
-
"@commitlint/config-conventional": "^19.8.1",
|
|
52
|
-
"@modelcontextprotocol/inspector": "0.16.2",
|
|
53
|
-
"@nx/js": "^21.3.6",
|
|
54
58
|
"@types/node": "^22.16.5",
|
|
55
|
-
"@typescript-eslint/eslint-plugin": "^8.42.0",
|
|
56
59
|
"eslint": "^9.35.0",
|
|
57
|
-
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
58
|
-
"eslint-plugin-unused-imports": "^4.1.4",
|
|
59
|
-
"husky": "^9.1.7",
|
|
60
|
-
"mcps-logger": "^1.0.0",
|
|
61
|
-
"nodemon": "^3.1.10",
|
|
62
|
-
"nx": "^21.3.5",
|
|
63
60
|
"prettier": "^3.6.2",
|
|
64
|
-
"pretty-quick": "^4.2.2",
|
|
65
61
|
"rimraf": "^6.0.1",
|
|
66
|
-
"
|
|
62
|
+
"tsup": "^8.5.0",
|
|
67
63
|
"typescript": "^5.8.2",
|
|
68
64
|
"vitest": "^3.2.4"
|
|
69
65
|
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { env } from '../config/env.js';
|
|
2
|
-
import { getVersion } from '../utils/getVersion.js';
|
|
3
|
-
/**
|
|
4
|
-
* Creates a default Contentful client configuration without actually initializing it.
|
|
5
|
-
*/
|
|
6
|
-
export function getDefaultClientConfig() {
|
|
7
|
-
if (!env.success && process.env.TEST_TYPE !== 'unit') {
|
|
8
|
-
throw new Error('Environment variables are not properly configured');
|
|
9
|
-
}
|
|
10
|
-
const clientConfig = {
|
|
11
|
-
accessToken: env.data.CONTENTFUL_MANAGEMENT_ACCESS_TOKEN,
|
|
12
|
-
host: env.data.CONTENTFUL_HOST,
|
|
13
|
-
space: env.data.SPACE_ID,
|
|
14
|
-
headers: {
|
|
15
|
-
'X-Contentful-User-Agent-Tool': `contentful-mcp/${getVersion()}`, //Include user agent header for telemetry tracking
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
return clientConfig;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=contentful.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contentful.js","sourceRoot":"","sources":["../../src/config/contentful.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,YAAY,GAAkB;QAClC,WAAW,EAAE,GAAG,CAAC,IAAK,CAAC,kCAAkC;QACzD,IAAI,EAAE,GAAG,CAAC,IAAK,CAAC,eAAe;QAC/B,KAAK,EAAE,GAAG,CAAC,IAAK,CAAC,QAAQ;QACzB,OAAO,EAAE;YACP,8BAA8B,EAAE,kBAAkB,UAAU,EAAE,EAAE,EAAE,kDAAkD;SACrH;KACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
package/build/config/env.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import dotenv from 'dotenv';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
dotenv.config();
|
|
4
|
-
const EnvSchema = z.object({
|
|
5
|
-
CONTENTFUL_MANAGEMENT_ACCESS_TOKEN: z
|
|
6
|
-
.string()
|
|
7
|
-
.describe('Contentful CMA token'),
|
|
8
|
-
CONTENTFUL_HOST: z
|
|
9
|
-
.string()
|
|
10
|
-
.optional()
|
|
11
|
-
.default('api.contentful.com')
|
|
12
|
-
.describe('Contentful API host'),
|
|
13
|
-
APP_ID: z.string().optional().describe('Contentful App ID'),
|
|
14
|
-
SPACE_ID: z.string().optional().describe('Contentful Space ID'),
|
|
15
|
-
ENVIRONMENT_ID: z
|
|
16
|
-
.string()
|
|
17
|
-
.optional()
|
|
18
|
-
.default('master')
|
|
19
|
-
.describe('Contentful environment ID'),
|
|
20
|
-
ORGANIZATION_ID: z.string().optional().describe('Contentful organization ID'),
|
|
21
|
-
});
|
|
22
|
-
export const env = EnvSchema.safeParse(process.env);
|
|
23
|
-
if (!env.success && process.env.TEST_TYPE !== 'unit') {
|
|
24
|
-
console.error('Invalid environment variables', env.error.format());
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=env.js.map
|
package/build/config/env.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,kCAAkC,EAAE,CAAC;SAClC,MAAM,EAAE;SACR,QAAQ,CAAC,sBAAsB,CAAC;IACnC,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,oBAAoB,CAAC;SAC7B,QAAQ,CAAC,qBAAqB,CAAC;IAElC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC3D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC/D,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,2BAA2B,CAAC;IACxC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CAC9E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAEpD,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;IACrD,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
package/build/config/version.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/config/version.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
package/build/index.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
-
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
|
-
import { registerAllPrompts } from './prompts/register.js';
|
|
5
|
-
import { registerAllResources } from './resources/register.js';
|
|
6
|
-
import { registerAllTools } from './tools/register.js';
|
|
7
|
-
import { VERSION } from './config/version.js';
|
|
8
|
-
if (process.env.NODE_ENV === 'development') {
|
|
9
|
-
try {
|
|
10
|
-
await import('mcps-logger/console');
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
console.warn('mcps-logger not available in production environment');
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const MCP_SERVER_NAME = '@contentful/mcp-server';
|
|
17
|
-
async function initializeServer() {
|
|
18
|
-
const server = new McpServer({
|
|
19
|
-
name: MCP_SERVER_NAME,
|
|
20
|
-
version: VERSION,
|
|
21
|
-
});
|
|
22
|
-
registerAllTools(server);
|
|
23
|
-
registerAllPrompts(server);
|
|
24
|
-
registerAllResources(server);
|
|
25
|
-
return server;
|
|
26
|
-
}
|
|
27
|
-
async function main() {
|
|
28
|
-
try {
|
|
29
|
-
const server = await initializeServer();
|
|
30
|
-
const transport = new StdioServerTransport();
|
|
31
|
-
await server.connect(transport);
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
console.error('Fatal error:', error);
|
|
35
|
-
process.exit(1);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
main();
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD,KAAK,UAAU,gBAAgB;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/prompts/register.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,OAAkB,IAAG,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/resources/register.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,OAAkB,IAAG,CAAC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createSuccessResponse, withErrorHandling, } from '../../utils/response.js';
|
|
3
|
-
import { BaseToolSchema, createToolClient } from '../../utils/tools.js';
|
|
4
|
-
import { VariableType } from '../../utils/ai-actions.js';
|
|
5
|
-
import { AiActionTestCaseSchema } from '../../types/aiActionTestCaseSchema.js';
|
|
6
|
-
export const CreateAiActionToolParams = BaseToolSchema.extend({
|
|
7
|
-
name: z.string().describe('The name of the AI action'),
|
|
8
|
-
description: z.string().describe('The description of the AI action'),
|
|
9
|
-
instruction: z
|
|
10
|
-
.object({
|
|
11
|
-
template: z.string().describe('The template for the AI action'),
|
|
12
|
-
variables: z
|
|
13
|
-
.array(z.object({
|
|
14
|
-
id: z.string().describe('The id of the variable'),
|
|
15
|
-
name: z.string().optional().describe('The name of the variable'),
|
|
16
|
-
type: z
|
|
17
|
-
.nativeEnum(VariableType)
|
|
18
|
-
.describe('The type of the variable'),
|
|
19
|
-
description: z
|
|
20
|
-
.string()
|
|
21
|
-
.optional()
|
|
22
|
-
.describe('The description of the variable'),
|
|
23
|
-
}))
|
|
24
|
-
.describe('Array of variables for the AI action'),
|
|
25
|
-
})
|
|
26
|
-
.describe('The instruction for the AI action'),
|
|
27
|
-
configuration: z
|
|
28
|
-
.object({
|
|
29
|
-
modelType: z.string().describe('The type of model to use'),
|
|
30
|
-
modelTemperature: z.number().describe('The temperature for the model'),
|
|
31
|
-
})
|
|
32
|
-
.describe('The configuration for the AI action'),
|
|
33
|
-
testCases: z
|
|
34
|
-
.array(AiActionTestCaseSchema)
|
|
35
|
-
.optional()
|
|
36
|
-
.describe('Test cases for the AI action'),
|
|
37
|
-
});
|
|
38
|
-
async function tool(args) {
|
|
39
|
-
const params = {
|
|
40
|
-
spaceId: args.spaceId,
|
|
41
|
-
environmentId: args.environmentId || 'master',
|
|
42
|
-
};
|
|
43
|
-
const contentfulClient = createToolClient({
|
|
44
|
-
...args,
|
|
45
|
-
environmentId: args.environmentId || 'master',
|
|
46
|
-
});
|
|
47
|
-
const aiAction = await contentfulClient.aiAction.create(params, {
|
|
48
|
-
name: args.name,
|
|
49
|
-
description: args.description,
|
|
50
|
-
instruction: args.instruction,
|
|
51
|
-
configuration: args.configuration,
|
|
52
|
-
testCases: args.testCases,
|
|
53
|
-
});
|
|
54
|
-
return createSuccessResponse('AI action created successfully', { aiAction });
|
|
55
|
-
}
|
|
56
|
-
export const createAiActionTool = withErrorHandling(tool, 'Error creating AI action');
|
|
57
|
-
//# sourceMappingURL=createAiAction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createAiAction.js","sourceRoot":"","sources":["../../../src/tools/ai-actions/createAiAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC,MAAM,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACpE,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC/D,SAAS,EAAE,CAAC;aACT,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChE,IAAI,EAAE,CAAC;iBACJ,UAAU,CAAC,YAAY,CAAC;iBACxB,QAAQ,CAAC,0BAA0B,CAAC;YACvC,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iCAAiC,CAAC;SAC/C,CAAC,CACH;aACA,QAAQ,CAAC,sCAAsC,CAAC;KACpD,CAAC;SACD,QAAQ,CAAC,mCAAmC,CAAC;IAChD,aAAa,EAAE,CAAC;SACb,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC1D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KACvE,CAAC;SACD,QAAQ,CAAC,qCAAqC,CAAC;IAClD,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,EAAE;SACV,QAAQ,CAAC,8BAA8B,CAAC;CAC5C,CAAC,CAAC;AAIH,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,QAAQ;KAC9C,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;QACxC,GAAG,IAAI;QACP,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,QAAQ;KAC9C,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9D,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CACjD,IAAI,EACJ,0BAA0B,CAC3B,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createSuccessResponse, withErrorHandling, } from '../../utils/response.js';
|
|
3
|
-
import { BaseToolSchema, createToolClient } from '../../utils/tools.js';
|
|
4
|
-
export const DeleteAiActionToolParams = BaseToolSchema.extend({
|
|
5
|
-
aiActionId: z.string().describe('The ID of the AI action to delete'),
|
|
6
|
-
});
|
|
7
|
-
async function tool(args) {
|
|
8
|
-
const params = {
|
|
9
|
-
spaceId: args.spaceId,
|
|
10
|
-
environmentId: args.environmentId,
|
|
11
|
-
aiActionId: args.aiActionId,
|
|
12
|
-
};
|
|
13
|
-
const contentfulClient = createToolClient(args);
|
|
14
|
-
// First, get the AI action to store info for return
|
|
15
|
-
const aiAction = await contentfulClient.aiAction.get(params);
|
|
16
|
-
// Delete the AI action
|
|
17
|
-
await contentfulClient.aiAction.delete(params);
|
|
18
|
-
return createSuccessResponse('AI action deleted successfully', { aiAction });
|
|
19
|
-
}
|
|
20
|
-
export const deleteAiActionTool = withErrorHandling(tool, 'Error deleting AI action');
|
|
21
|
-
//# sourceMappingURL=deleteAiAction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deleteAiAction.js","sourceRoot":"","sources":["../../../src/tools/ai-actions/deleteAiAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC,MAAM,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACrE,CAAC,CAAC;AAIH,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEhD,oDAAoD;IACpD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE/C,OAAO,qBAAqB,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CACjD,IAAI,EACJ,0BAA0B,CAC3B,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createSuccessResponse, withErrorHandling, } from '../../utils/response.js';
|
|
3
|
-
import { BaseToolSchema, createToolClient } from '../../utils/tools.js';
|
|
4
|
-
export const GetAiActionToolParams = BaseToolSchema.extend({
|
|
5
|
-
aiActionId: z.string().describe('The ID of the AI action to retrieve'),
|
|
6
|
-
});
|
|
7
|
-
async function tool(args) {
|
|
8
|
-
const params = {
|
|
9
|
-
spaceId: args.spaceId,
|
|
10
|
-
environmentId: args.environmentId,
|
|
11
|
-
aiActionId: args.aiActionId,
|
|
12
|
-
};
|
|
13
|
-
const contentfulClient = createToolClient(args);
|
|
14
|
-
// Get the AI action
|
|
15
|
-
const aiAction = await contentfulClient.aiAction.get(params);
|
|
16
|
-
return createSuccessResponse('AI action retrieved successfully', {
|
|
17
|
-
aiAction,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
export const getAiActionTool = withErrorHandling(tool, 'Error retrieving AI action');
|
|
21
|
-
//# sourceMappingURL=getAiAction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAiAction.js","sourceRoot":"","sources":["../../../src/tools/ai-actions/getAiAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CAAC;IACzD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CACvE,CAAC,CAAC;AAIH,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEhD,oBAAoB;IACpB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7D,OAAO,qBAAqB,CAAC,kCAAkC,EAAE;QAC/D,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAC9C,IAAI,EACJ,4BAA4B,CAC7B,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createSuccessResponse, withErrorHandling, } from '../../utils/response.js';
|
|
3
|
-
import { BaseToolSchema, createToolClient } from '../../utils/tools.js';
|
|
4
|
-
export const GetAiActionInvocationToolParams = BaseToolSchema.extend({
|
|
5
|
-
aiActionId: z.string().describe('The ID of the AI action'),
|
|
6
|
-
invocationId: z.string().describe('The ID of the invocation to retrieve'),
|
|
7
|
-
});
|
|
8
|
-
async function tool(args) {
|
|
9
|
-
const params = {
|
|
10
|
-
spaceId: args.spaceId,
|
|
11
|
-
environmentId: args.environmentId,
|
|
12
|
-
aiActionId: args.aiActionId,
|
|
13
|
-
invocationId: args.invocationId,
|
|
14
|
-
};
|
|
15
|
-
const contentfulClient = createToolClient(args);
|
|
16
|
-
const aiActionInvocation = await contentfulClient.aiActionInvocation.get(params);
|
|
17
|
-
return createSuccessResponse('AI action invocation retrieved successfully', {
|
|
18
|
-
aiActionInvocation,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
export const getAiActionInvocationTool = withErrorHandling(tool, 'Error retrieving AI action invocation');
|
|
22
|
-
//# sourceMappingURL=getAiActionInvocation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAiActionInvocation.js","sourceRoot":"","sources":["../../../src/tools/ai-actions/getAiActionInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,CAAC,MAAM,+BAA+B,GAAG,cAAc,CAAC,MAAM,CAAC;IACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC1D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC1E,CAAC,CAAC;AAIH,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,kBAAkB,GACtB,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAExD,OAAO,qBAAqB,CAAC,6CAA6C,EAAE;QAC1E,kBAAkB;KACnB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CACxD,IAAI,EACJ,uCAAuC,CACxC,CAAC"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createSuccessResponse, withErrorHandling, } from '../../utils/response.js';
|
|
3
|
-
import { BaseToolSchema, createToolClient } from '../../utils/tools.js';
|
|
4
|
-
import { OutputFormat, VariableValue, } from '../../utils/ai-actions.js';
|
|
5
|
-
export const InvokeAiActionToolParams = BaseToolSchema.extend({
|
|
6
|
-
aiActionId: z.string().describe('The ID of the AI action to invoke'),
|
|
7
|
-
fields: z.array(z.object({
|
|
8
|
-
outputFormat: z
|
|
9
|
-
.nativeEnum(OutputFormat)
|
|
10
|
-
.describe('The output format of the AI action'),
|
|
11
|
-
variables: z
|
|
12
|
-
.array(VariableValue)
|
|
13
|
-
.describe('The variable assignments within the AI action invocation'),
|
|
14
|
-
})),
|
|
15
|
-
});
|
|
16
|
-
async function pollForCompletion(contentfulClient, params, aiActions, pollInterval = 30000, maxAttempts = 10) {
|
|
17
|
-
const completedActions = new Map();
|
|
18
|
-
for (let attempt = 0; attempt < maxAttempts && completedActions.size < aiActions.length; attempt++) {
|
|
19
|
-
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
20
|
-
await Promise.allSettled(aiActions
|
|
21
|
-
.filter((action) => !completedActions.has(action.sys.id)) //filter out actions that have already been completed
|
|
22
|
-
.map(async (action) => {
|
|
23
|
-
try {
|
|
24
|
-
const invocationStatus = await contentfulClient.aiActionInvocation.get({
|
|
25
|
-
...params,
|
|
26
|
-
invocationId: action.sys.id,
|
|
27
|
-
});
|
|
28
|
-
const status = invocationStatus.sys
|
|
29
|
-
.status;
|
|
30
|
-
if (status === 'COMPLETED' && invocationStatus.result) {
|
|
31
|
-
completedActions.set(action.sys.id, invocationStatus.result.content);
|
|
32
|
-
}
|
|
33
|
-
else if (status === 'FAILED' || status === 'CANCELLED') {
|
|
34
|
-
throw new Error(`AI action ${action.sys.id} failed with status ${status}`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
console.warn(`Error checking status for invocation ${action.sys.id}:`, error);
|
|
39
|
-
}
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
if (completedActions.size < aiActions.length) {
|
|
43
|
-
throw new Error(`Polling timeout: ${completedActions.size}/${aiActions.length} actions completed after ${maxAttempts} attempts`);
|
|
44
|
-
}
|
|
45
|
-
return Array.from(completedActions.entries()).map(([actionId, content]) => ({
|
|
46
|
-
actionId,
|
|
47
|
-
content,
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
async function tool(args) {
|
|
51
|
-
const params = {
|
|
52
|
-
spaceId: args.spaceId,
|
|
53
|
-
environmentId: args.environmentId,
|
|
54
|
-
};
|
|
55
|
-
const contentfulClient = createToolClient(args);
|
|
56
|
-
const aiActions = [];
|
|
57
|
-
for (const field of args.fields) {
|
|
58
|
-
const aiAction = await contentfulClient.aiAction.invoke({
|
|
59
|
-
...params,
|
|
60
|
-
aiActionId: args.aiActionId,
|
|
61
|
-
}, {
|
|
62
|
-
outputFormat: field.outputFormat,
|
|
63
|
-
variables: field.variables,
|
|
64
|
-
});
|
|
65
|
-
aiActions.push(aiAction);
|
|
66
|
-
}
|
|
67
|
-
// Poll for completion
|
|
68
|
-
const completedActions = await pollForCompletion(contentfulClient, { ...params, aiActionId: args.aiActionId }, aiActions);
|
|
69
|
-
return createSuccessResponse('AI action invoked and completed successfully', {
|
|
70
|
-
aiActions: completedActions,
|
|
71
|
-
nextStepsGuidance: `Required next step: Now that the invocation is complete, you will take the next step to complete the workflow. This will involve a CRUD operation that will take action on each of the action returned in the aiActions variable. You will need to use the appropriate tool to do this, choose a tool depending on the type of entity the action was executed on and the description of the Ai Action.`,
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
export const invokeAiActionTool = withErrorHandling(tool, 'Error invoking AI action');
|
|
75
|
-
//# sourceMappingURL=invokeAiAction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invokeAiAction.js","sourceRoot":"","sources":["../../../src/tools/ai-actions/invokeAiAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createSuccessResponse, withErrorHandling, } from '../../utils/response.js';
|
|
3
|
-
import { BaseToolSchema, createToolClient } from '../../utils/tools.js';
|
|
4
|
-
import { summarizeData } from '../../utils/summarizer.js';
|
|
5
|
-
export const ListAiActionToolParams = BaseToolSchema.extend({
|
|
6
|
-
limit: z
|
|
7
|
-
.number()
|
|
8
|
-
.optional()
|
|
9
|
-
.describe('Maximum number of AI actions to return (max 3)'),
|
|
10
|
-
skip: z
|
|
11
|
-
.number()
|
|
12
|
-
.optional()
|
|
13
|
-
.describe('Skip this many AI actions for pagination'),
|
|
14
|
-
select: z
|
|
15
|
-
.string()
|
|
16
|
-
.optional()
|
|
17
|
-
.describe('Comma-separated list of fields to return'),
|
|
18
|
-
include: z
|
|
19
|
-
.number()
|
|
20
|
-
.optional()
|
|
21
|
-
.describe('Include this many levels of linked entries'),
|
|
22
|
-
order: z.string().optional().describe('Order AI actions by this field'),
|
|
23
|
-
});
|
|
24
|
-
async function tool(args) {
|
|
25
|
-
const params = {
|
|
26
|
-
spaceId: args.spaceId,
|
|
27
|
-
environmentId: args.environmentId,
|
|
28
|
-
};
|
|
29
|
-
const contentfulClient = createToolClient(args);
|
|
30
|
-
const aiActions = await contentfulClient.aiAction.getMany({
|
|
31
|
-
...params,
|
|
32
|
-
query: {
|
|
33
|
-
limit: Math.min(args.limit || 3, 3),
|
|
34
|
-
skip: args.skip || 0,
|
|
35
|
-
...(args.select && { select: args.select }),
|
|
36
|
-
...(args.include && { include: args.include }),
|
|
37
|
-
...(args.order && { order: args.order }),
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
const summarizedAiActions = aiActions.items.map((aiAction) => ({
|
|
41
|
-
id: aiAction.sys.id,
|
|
42
|
-
name: aiAction.name || 'Untitled',
|
|
43
|
-
description: aiAction.description || null,
|
|
44
|
-
instruction: aiAction.instruction || null,
|
|
45
|
-
configuration: aiAction.configuration || null,
|
|
46
|
-
testCases: aiAction.testCases || null,
|
|
47
|
-
createdAt: aiAction.sys.createdAt,
|
|
48
|
-
updatedAt: aiAction.sys.updatedAt,
|
|
49
|
-
publishedVersion: aiAction.sys.publishedVersion,
|
|
50
|
-
}));
|
|
51
|
-
const summarized = summarizeData({
|
|
52
|
-
...aiActions,
|
|
53
|
-
items: summarizedAiActions,
|
|
54
|
-
}, {
|
|
55
|
-
maxItems: 3,
|
|
56
|
-
remainingMessage: 'To see more AI actions, please ask me to retrieve the next page using the skip parameter.',
|
|
57
|
-
});
|
|
58
|
-
return createSuccessResponse('AI actions retrieved successfully', {
|
|
59
|
-
aiActions: summarized,
|
|
60
|
-
total: aiActions.total,
|
|
61
|
-
limit: aiActions.limit,
|
|
62
|
-
skip: aiActions.skip,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
export const listAiActionTool = withErrorHandling(tool, 'Error listing AI actions');
|
|
66
|
-
//# sourceMappingURL=listAiActions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listAiActions.js","sourceRoot":"","sources":["../../../src/tools/ai-actions/listAiActions.ts"],"names":[],"mappings":"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"}
|