@forestadmin/mcp-server 1.2.1 → 1.3.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.
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.default = declareListRelatedTool;
7
40
  const zod_1 = require("zod");
8
41
  const list_js_1 = require("./list.js");
9
- const activity_logs_creator_js_1 = __importDefault(require("../utils/activity-logs-creator.js"));
42
+ const activity_logs_creator_js_1 = __importStar(require("../utils/activity-logs-creator.js"));
10
43
  const agent_caller_js_1 = __importDefault(require("../utils/agent-caller.js"));
11
44
  const error_parser_js_1 = __importDefault(require("../utils/error-parser.js"));
12
45
  const schema_fetcher_js_1 = require("../utils/schema-fetcher.js");
@@ -60,7 +93,7 @@ function declareListRelatedTool(mcpServer, forestServerUrl, logger, collectionNa
60
93
  labelParts.push('filter');
61
94
  }
62
95
  const extraLabel = labelParts.length > 0 ? ` with ${labelParts.join(' and ')}` : '';
63
- await (0, activity_logs_creator_js_1.default)(forestServerUrl, extra, 'listRelatedData', {
96
+ const activityLog = await (0, activity_logs_creator_js_1.default)(forestServerUrl, extra, 'listRelatedData', {
64
97
  collectionName: options.collectionName,
65
98
  recordId: options.parentRecordId,
66
99
  label: `list relation "${options.relationName}"${extraLabel}`,
@@ -69,19 +102,36 @@ function declareListRelatedTool(mcpServer, forestServerUrl, logger, collectionNa
69
102
  const relation = rpcClient
70
103
  .collection(options.collectionName)
71
104
  .relation(options.relationName, options.parentRecordId);
105
+ let response;
72
106
  if (options.enableCount) {
73
107
  const [records, totalCount] = await Promise.all([
74
108
  relation.list(options),
75
109
  relation.count(options),
76
110
  ]);
77
- return { content: [{ type: 'text', text: JSON.stringify({ records, totalCount }) }] };
111
+ response = { records, totalCount };
112
+ }
113
+ else {
114
+ const records = await relation.list(options);
115
+ response = { records };
78
116
  }
79
- const records = await relation.list(options);
80
- return { content: [{ type: 'text', text: JSON.stringify({ records }) }] };
117
+ (0, activity_logs_creator_js_1.markActivityLogAsSucceeded)({
118
+ forestServerUrl,
119
+ request: extra,
120
+ activityLog,
121
+ logger,
122
+ });
123
+ return { content: [{ type: 'text', text: JSON.stringify(response) }] };
81
124
  }
82
125
  catch (error) {
126
+ (0, activity_logs_creator_js_1.markActivityLogAsFailed)({
127
+ forestServerUrl,
128
+ request: extra,
129
+ activityLog,
130
+ errorMessage: error?.message,
131
+ logger,
132
+ });
83
133
  throw await enhanceErrorWithContext(error, forestServerUrl, options);
84
134
  }
85
135
  }, logger);
86
136
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1yZWxhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xzL2xpc3QtcmVsYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQTZFQSx5Q0E0REM7QUFySUQsNkJBQXdCO0FBRXhCLHVDQUFvRDtBQUVwRCxpR0FBa0U7QUFDbEUsK0VBQW1EO0FBQ25ELCtFQUF1RDtBQUN2RCxrRUFBc0Y7QUFDdEYseUZBQW9FO0FBRXBFLFNBQVMsMEJBQTBCLENBQUMsZUFBeUI7SUFDM0QsT0FBTztRQUNMLEdBQUcsSUFBQSxpQ0FBdUIsRUFBQyxlQUFlLENBQUM7UUFDM0MsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsY0FBYyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDbEQsQ0FBQztBQUNKLENBQUM7QUFPRDs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsdUJBQXVCLENBQ3BDLEtBQWMsRUFDZCxlQUF1QixFQUN2QixPQUF3QjtJQUV4QixNQUFNLFdBQVcsR0FBRyxJQUFBLHlCQUFlLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTVFLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUEseUNBQXFCLEVBQ2xDLE1BQU0sSUFBQSxxQ0FBaUIsRUFBQyxlQUFlLENBQUMsRUFDeEMsT0FBTyxDQUFDLGNBQWMsQ0FDdkIsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ25DLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLFlBQVksS0FBSyxlQUFlLENBQ3BGLENBQUM7UUFFRixJQUNFLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQ2xELENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUNwRSxDQUFDO1lBQ0QsT0FBTyxJQUFJLEtBQUssQ0FDZCxpR0FDRSxPQUFPLENBQUMsY0FDVixTQUFTLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2pFLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxJQUFJLEtBQUssQ0FDZCwrRkFDRSxPQUFPLENBQUMsY0FDVixTQUFTLE1BQU07aUJBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztpQkFDakMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2pCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLDZEQUE2RDtJQUMvRCxDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBRSxLQUFlLENBQUM7QUFDakUsQ0FBQztBQUVELFNBQXdCLHNCQUFzQixDQUM1QyxTQUFvQixFQUNwQixlQUF1QixFQUN2QixNQUFjLEVBQ2Qsa0JBQTRCLEVBQUU7SUFFOUIsTUFBTSxpQkFBaUIsR0FBRywwQkFBMEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUV0RSxJQUFBLDhCQUF1QixFQUNyQixTQUFTLEVBQ1QsYUFBYSxFQUNiO1FBQ0UsS0FBSyxFQUFFLDhCQUE4QjtRQUNyQyxXQUFXLEVBQUUseUVBQXlFO1FBQ3RGLFdBQVcsRUFBRSxpQkFBaUI7S0FDL0IsRUFDRCxLQUFLLEVBQUUsT0FBd0IsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN4QyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBQSx5QkFBVyxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVwRixNQUFNLElBQUEsa0NBQWlCLEVBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtZQUNqRSxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7WUFDdEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ2hDLEtBQUssRUFBRSxrQkFBa0IsT0FBTyxDQUFDLFlBQVksSUFBSSxVQUFVLEVBQUU7U0FDOUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQUcsU0FBUztpQkFDdkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7aUJBQ2xDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUUxRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7b0JBQzlDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBd0IsQ0FBQztvQkFDdkMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUF3QixDQUFDO2lCQUN6QyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3hGLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBd0IsQ0FBQyxDQUFDO1lBRTlELE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzVFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxNQUFNLHVCQUF1QixDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUMsRUFDRCxNQUFNLENBQ1AsQ0FBQztBQUNKLENBQUMifQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1yZWxhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xzL2xpc3QtcmVsYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdGQSx5Q0FpRkM7QUE3SkQsNkJBQXdCO0FBRXhCLHVDQUFvRDtBQUVwRCw4RkFHMkM7QUFDM0MsK0VBQW1EO0FBQ25ELCtFQUF1RDtBQUN2RCxrRUFBc0Y7QUFDdEYseUZBQW9FO0FBRXBFLFNBQVMsMEJBQTBCLENBQUMsZUFBeUI7SUFDM0QsT0FBTztRQUNMLEdBQUcsSUFBQSxpQ0FBdUIsRUFBQyxlQUFlLENBQUM7UUFDM0MsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsY0FBYyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDbEQsQ0FBQztBQUNKLENBQUM7QUFPRDs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsdUJBQXVCLENBQ3BDLEtBQWMsRUFDZCxlQUF1QixFQUN2QixPQUF3QjtJQUV4QixNQUFNLFdBQVcsR0FBRyxJQUFBLHlCQUFlLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsTUFBTSxZQUFZLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTVFLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUEseUNBQXFCLEVBQ2xDLE1BQU0sSUFBQSxxQ0FBaUIsRUFBQyxlQUFlLENBQUMsRUFDeEMsT0FBTyxDQUFDLGNBQWMsQ0FDdkIsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ25DLEtBQUssQ0FBQyxFQUFFLENBQUMs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
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -7,7 +40,7 @@ exports.createListArgumentShape = createListArgumentShape;
7
40
  exports.default = declareListTool;
8
41
  const zod_1 = require("zod");
9
42
  const filter_js_1 = __importDefault(require("../schemas/filter.js"));
10
- const activity_logs_creator_js_1 = __importDefault(require("../utils/activity-logs-creator.js"));
43
+ const activity_logs_creator_js_1 = __importStar(require("../utils/activity-logs-creator.js"));
11
44
  const agent_caller_js_1 = __importDefault(require("../utils/agent-caller.js"));
12
45
  const error_parser_js_1 = __importDefault(require("../utils/error-parser.js"));
13
46
  const schema_fetcher_js_1 = require("../utils/schema-fetcher.js");
@@ -78,24 +111,41 @@ function declareListTool(mcpServer, forestServerUrl, logger, collectionNames = [
78
111
  else if (options.filters) {
79
112
  actionType = 'filter';
80
113
  }
81
- await (0, activity_logs_creator_js_1.default)(forestServerUrl, extra, actionType, {
114
+ const activityLog = await (0, activity_logs_creator_js_1.default)(forestServerUrl, extra, actionType, {
82
115
  collectionName: options.collectionName,
83
116
  });
84
117
  try {
85
118
  const collection = rpcClient.collection(options.collectionName);
119
+ let response;
86
120
  if (options.enableCount) {
87
121
  const [records, totalCount] = await Promise.all([
88
122
  collection.list(options),
89
123
  collection.count(options),
90
124
  ]);
91
- return { content: [{ type: 'text', text: JSON.stringify({ records, totalCount }) }] };
125
+ response = { records, totalCount };
126
+ }
127
+ else {
128
+ const records = await collection.list(options);
129
+ response = { records };
92
130
  }
93
- const records = await collection.list(options);
94
- return { content: [{ type: 'text', text: JSON.stringify({ records }) }] };
131
+ (0, activity_logs_creator_js_1.markActivityLogAsSucceeded)({
132
+ forestServerUrl,
133
+ request: extra,
134
+ activityLog,
135
+ logger,
136
+ });
137
+ return { content: [{ type: 'text', text: JSON.stringify(response) }] };
95
138
  }
96
139
  catch (error) {
97
140
  // Parse error text if it's a JSON string from the agent
98
141
  const errorDetail = (0, error_parser_js_1.default)(error);
142
+ (0, activity_logs_creator_js_1.markActivityLogAsFailed)({
143
+ forestServerUrl,
144
+ request: extra,
145
+ activityLog,
146
+ errorMessage: errorDetail || error.message,
147
+ logger,
148
+ });
99
149
  if (errorDetail?.includes('Invalid sort')) {
100
150
  const fields = (0, schema_fetcher_js_1.getFieldsOfCollection)(await (0, schema_fetcher_js_1.fetchForestSchema)(forestServerUrl), options.collectionName);
101
151
  throw new Error(`The sort field provided is invalid for this collection. Available fields for the collection ${options.collectionName} are: ${fields
@@ -107,4 +157,4 @@ function declareListTool(mcpServer, forestServerUrl, logger, collectionNames = [
107
157
  }
108
158
  }, logger);
109
159
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy9saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBaUVBLDBEQU1DO0FBRUQsa0NBc0VDO0FBM0lELDZCQUF3QjtBQUV4QixxRUFBZ0Q7QUFDaEQsaUdBQWtFO0FBQ2xFLCtFQUFtRDtBQUNuRCwrRUFBdUQ7QUFDdkQsa0VBQXNGO0FBQ3RGLHlGQUFvRTtBQUVwRSw0RUFBNEU7QUFDNUUsTUFBTSxxQkFBcUIsR0FBRyxPQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0lBQy9DLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUTtRQUFFLE9BQU8sR0FBRyxDQUFDO0lBRXhDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AscUVBQXFFO1FBQ3JFLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztBQUNILENBQUMsRUFBRSxtQkFBWSxDQUFDLENBQUM7QUFFakIsTUFBTSxrQkFBa0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xDLGNBQWMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE9BQU8sRUFBRSxxQkFBcUI7U0FDM0IsUUFBUSxDQUNQLG9KQUFvSixDQUNySjtTQUNBLFFBQVEsRUFBRTtJQUNiLElBQUksRUFBRSxPQUFDO1NBQ0osTUFBTSxDQUFDO1FBQ04sS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDakIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7S0FDdkIsQ0FBQztTQUNELFFBQVEsRUFBRTtJQUNiLHNCQUFzQixFQUFFLE9BQUM7U0FDdEIsT0FBTyxFQUFFO1NBQ1QsUUFBUSxFQUFFO1NBQ1YsT0FB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
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy9saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0VBLDBEQU1DO0FBRUQsa0NBd0ZDO0FBaEtELDZCQUF3QjtBQUV4QixxRUFBZ0Q7QUFDaEQsOEZBRzJDO0FBQzNDLCtFQUFtRDtBQUNuRCwrRUFBdUQ7QUFDdkQsa0VBQXNGO0FBQ3RGLHlGQUFvRTtBQUVwRSw0RUFBNEU7QUFDNUUsTUFBTSxxQkFBcUIsR0FBRyxPQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0lBQy9DLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUTtRQUFFLE9BQU8sR0FBRyxDQUFDO0lBRXhDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AscUVBQXFFO1FBQ3JFLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztBQUNILENBQUMsRUFBRSxtQkFBWSxDQUFDLENBQUM7QUFFakIsTUFBTSxrQkFBa0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xDLGNBQWMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQzFCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE9BQU8sRUFBRSxxQkFBcUI7U0FDM0IsUUFBUSxDQUNQLG9KQUFvSixDQUNySjtTQUNBLFFBQVEsRUFBRTtJQUNiLElBQUksRUFBRSxPQUFDO1NBQ0osTUFBTSxDQUFDO1FBQ04sS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDakIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7S0FDdkIsQ0FBQztTQUNELFFBQVEsRUFBRTtJQUNiLHNCQUFzQixFQUFFLE9BQUM7U0FDdEIs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
@@ -1,3 +1,4 @@
1
+ import type { Logger } from '../server.js';
1
2
  import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol';
2
3
  import type { ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types';
3
4
  /**
@@ -6,10 +7,32 @@ import type { ServerNotification, ServerRequest } from '@modelcontextprotocol/sd
6
7
  * @see packages/private-api/src/config/activity-logs.ts
7
8
  */
8
9
  export type ActivityLogAction = 'index' | 'search' | 'filter' | 'action' | 'create' | 'update' | 'delete' | 'listRelatedData';
9
- export default function createActivityLog(forestServerUrl: string, request: RequestHandlerExtra<ServerRequest, ServerNotification>, action: ActivityLogAction, extra?: {
10
+ type ActivityLogResponse = {
11
+ id: string;
12
+ attributes: {
13
+ index: string;
14
+ };
15
+ };
16
+ export default function createPendingActivityLog(forestServerUrl: string, request: RequestHandlerExtra<ServerRequest, ServerNotification>, action: ActivityLogAction, extra?: {
10
17
  collectionName?: string;
11
18
  recordId?: string | number;
12
19
  recordIds?: string[] | number[];
13
20
  label?: string;
14
- }): Promise<void>;
21
+ }): Promise<ActivityLogResponse>;
22
+ interface MarkActivityLogAsFailedOptions {
23
+ forestServerUrl: string;
24
+ request: RequestHandlerExtra<ServerRequest, ServerNotification>;
25
+ activityLog: ActivityLogResponse;
26
+ errorMessage: string;
27
+ logger: Logger;
28
+ }
29
+ export declare function markActivityLogAsFailed(options: MarkActivityLogAsFailedOptions): void;
30
+ interface MarkActivityLogAsSucceededOptions {
31
+ forestServerUrl: string;
32
+ request: RequestHandlerExtra<ServerRequest, ServerNotification>;
33
+ activityLog: ActivityLogResponse;
34
+ logger: Logger;
35
+ }
36
+ export declare function markActivityLogAsSucceeded(options: MarkActivityLogAsSucceededOptions): void;
37
+ export {};
15
38
  //# sourceMappingURL=activity-logs-creator.d.ts.map
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = createActivityLog;
3
+ exports.default = createPendingActivityLog;
4
+ exports.markActivityLogAsFailed = markActivityLogAsFailed;
5
+ exports.markActivityLogAsSucceeded = markActivityLogAsSucceeded;
4
6
  const ACTION_TO_TYPE = {
5
7
  index: 'read',
6
8
  search: 'read',
@@ -11,7 +13,7 @@ const ACTION_TO_TYPE = {
11
13
  delete: 'write',
12
14
  listRelatedData: 'read',
13
15
  };
14
- async function createActivityLog(forestServerUrl, request, action, extra) {
16
+ async function createPendingActivityLog(forestServerUrl, request, action, extra) {
15
17
  const type = ACTION_TO_TYPE[action];
16
18
  const forestServerToken = request.authInfo?.extra?.forestServerToken;
17
19
  const renderingId = request.authInfo?.extra?.renderingId;
@@ -30,6 +32,7 @@ async function createActivityLog(forestServerUrl, request, action, extra) {
30
32
  type,
31
33
  action,
32
34
  label: extra?.label,
35
+ status: 'pending',
33
36
  records: (extra?.recordIds || (extra?.recordId ? [extra.recordId] : [])),
34
37
  },
35
38
  relationships: {
@@ -54,5 +57,60 @@ async function createActivityLog(forestServerUrl, request, action, extra) {
54
57
  if (!response.ok) {
55
58
  throw new Error(`Failed to create activity log: ${await response.text()}`);
56
59
  }
60
+ const { data: activityLog } = (await response.json());
61
+ return activityLog;
57
62
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9ncy1jcmVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FjdGl2aXR5LWxvZ3MtY3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTZCQSxvQ0F3REM7QUFuRUQsTUFBTSxjQUFjLEdBQWdEO0lBQ2xFLEtBQUssRUFBRSxNQUFNO0lBQ2IsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxPQUFPO0lBQ2YsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsT0FBTztJQUNmLE1BQU0sRUFBRSxPQUFPO0lBQ2YsZUFBZSxFQUFFLE1BQU07Q0FDeEIsQ0FBQztBQUVhLEtBQUssVUFBVSxpQkFBaUIsQ0FDN0MsZUFBdUIsRUFDdkIsT0FBK0QsRUFDL0QsTUFBeUIsRUFDekIsS0FLQztJQUVELE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLGlCQUEyQixDQUFDO0lBQy9FLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQXFCLENBQUM7SUFFbkUsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxlQUFlLDZCQUE2QixFQUFFO1FBQzVFLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQywyQkFBMkIsRUFBRSxLQUFLO1lBQ2xDLGFBQWEsRUFBRSxVQUFVLGlCQUFpQixFQUFFO1NBQzdDO1FBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbkIsSUFBSSxFQUFFO2dCQUNKLEVBQUUsRUFBRSxDQUFDO2dCQUNMLElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLFVBQVUsRUFBRTtvQkFDVixJQUFJO29CQUNKLE1BQU07b0JBQ04sS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO29CQUNuQixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFhO2lCQUNyRjtnQkFDRCxhQUFhLEVBQUU7b0JBQ2IsU0FBUyxFQUFFO3dCQUNULElBQUksRUFBRTs0QkFDSixFQUFFLEVBQUUsV0FBVzs0QkFDZixJQUFJLEVBQUUsWUFBWTt5QkFDbkI7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWLElBQUksRUFBRSxLQUFLLEVBQUUsY0FBYzs0QkFDekIsQ0FBQyxDQUFDO2dDQUNFLEVBQUUsRUFBRSxLQUFLLENBQUMsY0FBYztnQ0FDeEIsSUFBSSxFQUFFLGFBQWE7NkJBQ3BCOzRCQUNILENBQUMsQ0FBQyxJQUFJO3FCQUNUO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0tBQ0gsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztBQUNILENBQUMifQ==
63
+ async function updateActivityLogStatus(options) {
64
+ const { forestServerUrl, request, activityLog, status, errorMessage, logger } = options;
65
+ const forestServerToken = request.authInfo?.extra?.forestServerToken;
66
+ const response = await fetch(`${forestServerUrl}/api/activity-logs-requests/${activityLog.attributes.index}/${activityLog.id}`, {
67
+ method: 'PATCH',
68
+ headers: {
69
+ 'Content-Type': 'application/json',
70
+ 'Forest-Application-Source': 'MCP',
71
+ Authorization: `Bearer ${forestServerToken}`,
72
+ },
73
+ body: JSON.stringify({
74
+ data: {
75
+ id: activityLog.id,
76
+ type: 'activity-logs-requests',
77
+ attributes: {
78
+ status,
79
+ ...(errorMessage && { errorMessage }),
80
+ },
81
+ },
82
+ }),
83
+ });
84
+ if (!response.ok) {
85
+ const responseText = await response.text();
86
+ logger('Error', `Failed to update activity log status to '${status}': ${responseText}`);
87
+ }
88
+ }
89
+ function markActivityLogAsFailed(options) {
90
+ const { forestServerUrl, request, activityLog, errorMessage, logger } = options;
91
+ // Fire-and-forget: don't block error response on activity log update
92
+ updateActivityLogStatus({
93
+ forestServerUrl,
94
+ request,
95
+ activityLog,
96
+ status: 'failed',
97
+ errorMessage,
98
+ logger,
99
+ }).catch(error => {
100
+ logger('Error', `Unexpected error updating activity log to 'failed': ${error}`);
101
+ });
102
+ }
103
+ function markActivityLogAsSucceeded(options) {
104
+ const { forestServerUrl, request, activityLog, logger } = options;
105
+ // Fire-and-forget: don't block successful response on activity log update
106
+ updateActivityLogStatus({
107
+ forestServerUrl,
108
+ request,
109
+ activityLog,
110
+ status: 'succeeded',
111
+ logger,
112
+ }).catch(error => {
113
+ logger('Error', `Unexpected error updating activity log to 'succeeded': ${error}`);
114
+ });
115
+ }
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9ncy1jcmVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FjdGl2aXR5LWxvZ3MtY3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFDQSwyQ0E2REM7QUFtREQsMERBYUM7QUFTRCxnRUFZQztBQXBLRCxNQUFNLGNBQWMsR0FBZ0Q7SUFDbEUsS0FBSyxFQUFFLE1BQU07SUFDYixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsT0FBTztJQUNmLE1BQU0sRUFBRSxPQUFPO0lBQ2YsTUFBTSxFQUFFLE9BQU87SUFDZixlQUFlLEVBQUUsTUFBTTtDQUN4QixDQUFDO0FBU2EsS0FBSyxVQUFVLHdCQUF3QixDQUNwRCxlQUF1QixFQUN2QixPQUErRCxFQUMvRCxNQUF5QixFQUN6QixLQUtDO0lBRUQsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBDLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsaUJBQTJCLENBQUM7SUFDL0UsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBcUIsQ0FBQztJQUVuRSxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLGVBQWUsNkJBQTZCLEVBQUU7UUFDNUUsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLDJCQUEyQixFQUFFLEtBQUs7WUFDbEMsYUFBYSxFQUFFLFVBQVUsaUJBQWlCLEVBQUU7U0FDN0M7UUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQixJQUFJLEVBQUU7Z0JBQ0osRUFBRSxFQUFFLENBQUM7Z0JBQ0wsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsVUFBVSxF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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forestadmin/mcp-server",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "Model Context Protocol server for Forest Admin with OAuth authentication",
5
5
  "main": "dist/index.js",
6
6
  "bin": {