google-workspace-mcp 2.1.1 → 2.3.6
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/README.md +17 -2
- package/dist/accounts.d.ts.map +1 -1
- package/dist/accounts.js +1 -0
- package/dist/accounts.js.map +1 -1
- package/dist/excelHelpers.d.ts +108 -0
- package/dist/excelHelpers.d.ts.map +1 -0
- package/dist/excelHelpers.js +343 -0
- package/dist/excelHelpers.js.map +1 -0
- package/dist/securityHelpers.d.ts +118 -0
- package/dist/securityHelpers.d.ts.map +1 -0
- package/dist/securityHelpers.js +437 -0
- package/dist/securityHelpers.js.map +1 -0
- package/dist/server.js +22 -6
- package/dist/server.js.map +1 -1
- package/dist/serverWrapper.d.ts +9 -1
- package/dist/serverWrapper.d.ts.map +1 -1
- package/dist/serverWrapper.js +76 -7
- package/dist/serverWrapper.js.map +1 -1
- package/dist/tools/calendar.tools.d.ts.map +1 -1
- package/dist/tools/calendar.tools.js +2 -1
- package/dist/tools/calendar.tools.js.map +1 -1
- package/dist/tools/docs.tools.d.ts.map +1 -1
- package/dist/tools/docs.tools.js +29 -10
- package/dist/tools/docs.tools.js.map +1 -1
- package/dist/tools/drive.tools.d.ts.map +1 -1
- package/dist/tools/drive.tools.js +680 -6
- package/dist/tools/drive.tools.js.map +1 -1
- package/dist/tools/excel.tools.d.ts +3 -0
- package/dist/tools/excel.tools.d.ts.map +1 -0
- package/dist/tools/excel.tools.js +651 -0
- package/dist/tools/excel.tools.js.map +1 -0
- package/dist/tools/forms.tools.d.ts.map +1 -1
- package/dist/tools/forms.tools.js +13 -7
- package/dist/tools/forms.tools.js.map +1 -1
- package/dist/tools/gmail.tools.d.ts.map +1 -1
- package/dist/tools/gmail.tools.js +376 -37
- package/dist/tools/gmail.tools.js.map +1 -1
- package/dist/tools/sheets.tools.d.ts.map +1 -1
- package/dist/tools/sheets.tools.js +138 -4
- package/dist/tools/sheets.tools.js.map +1 -1
- package/dist/tools/slides.tools.d.ts.map +1 -1
- package/dist/tools/slides.tools.js +3 -1
- package/dist/tools/slides.tools.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +14 -6
package/dist/serverWrapper.d.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { type FastMCP } from 'fastmcp';
|
|
2
2
|
import type { FastMCPSessionAuth } from './types.js';
|
|
3
|
+
import { type PathSecurityConfig } from './securityHelpers.js';
|
|
3
4
|
export interface ServerConfig {
|
|
4
5
|
/** When true, tools with readOnlyHint: false will be blocked at runtime */
|
|
5
6
|
readOnly: boolean;
|
|
7
|
+
/** When true, tools that communicate with third parties are blocked */
|
|
8
|
+
noThirdParty: boolean;
|
|
9
|
+
/** Path security configuration for file system operations */
|
|
10
|
+
pathSecurity: PathSecurityConfig;
|
|
6
11
|
}
|
|
7
12
|
/**
|
|
8
13
|
* Wraps a FastMCP server to:
|
|
9
14
|
* 1. Add global error handling with help links to all tools
|
|
10
15
|
* 2. Enforce read-only mode based on tool annotations (if enabled)
|
|
16
|
+
* 3. Block third-party communications (if enabled)
|
|
11
17
|
*
|
|
12
18
|
* @param server - The FastMCP server instance
|
|
13
19
|
* @param config - Server configuration
|
|
@@ -15,7 +21,9 @@ export interface ServerConfig {
|
|
|
15
21
|
*/
|
|
16
22
|
export declare function createServerWithConfig<T extends FastMCPSessionAuth>(server: FastMCP<T>, config: ServerConfig): FastMCP<T>;
|
|
17
23
|
/**
|
|
18
|
-
* Parse server config from environment variables
|
|
24
|
+
* Parse server config from environment variables and optional config file
|
|
19
25
|
*/
|
|
20
26
|
export declare function getServerConfigFromEnv(): ServerConfig;
|
|
27
|
+
export declare function setServerConfig(config: ServerConfig): void;
|
|
28
|
+
export declare function getServerConfig(): ServerConfig;
|
|
21
29
|
//# sourceMappingURL=serverWrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverWrapper.d.ts","sourceRoot":"","sources":["../src/serverWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"serverWrapper.d.ts","sourceRoot":"","sources":["../src/serverWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,YAAY,EAAE,kBAAkB,CAAC;CAClC;AA+FD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,kBAAkB,EACjE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,CAAC,CAAC,CAsCZ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CAiCrD;AAOD,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAE1D;AAED,wBAAgB,eAAe,IAAI,YAAY,CAK9C"}
|
package/dist/serverWrapper.js
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
|
+
import { DEFAULT_PATH_SECURITY_CONFIG, checkThirdPartyAction, } from './securityHelpers.js';
|
|
1
2
|
const HELP_MESSAGE = `
|
|
2
3
|
|
|
3
4
|
For help, see: https://github.com/zueai/google-workspace-mcp#troubleshooting
|
|
4
5
|
To report an issue: https://github.com/zueai/google-workspace-mcp/issues`;
|
|
6
|
+
/**
|
|
7
|
+
* Maximum characters allowed in a tool response before truncation.
|
|
8
|
+
* Configurable via GOOGLE_MCP_MAX_RESPONSE_CHARS env var.
|
|
9
|
+
*/
|
|
10
|
+
const MAX_RESPONSE_CHARS = parseInt(process.env.GOOGLE_MCP_MAX_RESPONSE_CHARS || '100000', 10);
|
|
11
|
+
/**
|
|
12
|
+
* Truncate a tool response string if it exceeds the configured limit.
|
|
13
|
+
*/
|
|
14
|
+
function guardResponseSize(response, toolName) {
|
|
15
|
+
if (response.length > MAX_RESPONSE_CHARS) {
|
|
16
|
+
const truncated = response.substring(0, MAX_RESPONSE_CHARS);
|
|
17
|
+
return (truncated +
|
|
18
|
+
`\n\n[...RESPONSE TRUNCATED — tool "${toolName}" returned ${response.length.toLocaleString()} chars, ` +
|
|
19
|
+
`limit is ${MAX_RESPONSE_CHARS.toLocaleString()}. Use more specific parameters to reduce response size.]`);
|
|
20
|
+
}
|
|
21
|
+
return response;
|
|
22
|
+
}
|
|
5
23
|
/**
|
|
6
24
|
* Enhances error messages with help links
|
|
7
25
|
*/
|
|
@@ -12,11 +30,23 @@ function enhanceErrorMessage(error) {
|
|
|
12
30
|
/**
|
|
13
31
|
* Wraps a tool's execute function with error handling that adds help links
|
|
14
32
|
*/
|
|
15
|
-
function wrapExecuteWithErrorHandler(tool) {
|
|
33
|
+
function wrapExecuteWithErrorHandler(tool, config) {
|
|
16
34
|
const originalExecute = tool.execute;
|
|
17
35
|
const wrappedExecute = async (args, context) => {
|
|
36
|
+
// Check for third-party actions at runtime if noThirdParty mode is enabled
|
|
37
|
+
if (config.noThirdParty) {
|
|
38
|
+
const thirdPartyCheck = checkThirdPartyAction(tool.name, args);
|
|
39
|
+
if (thirdPartyCheck.blocked) {
|
|
40
|
+
throw new Error(`${thirdPartyCheck.reason}\n\nRestart the server without --no-third-party to enable external communications.${HELP_MESSAGE}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
18
43
|
try {
|
|
19
|
-
|
|
44
|
+
const result = await originalExecute(args, context);
|
|
45
|
+
// Apply global response size guard to string results
|
|
46
|
+
if (typeof result === 'string') {
|
|
47
|
+
return guardResponseSize(result, tool.name);
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
20
50
|
}
|
|
21
51
|
catch (error) {
|
|
22
52
|
throw new Error(enhanceErrorMessage(error));
|
|
@@ -31,6 +61,7 @@ function wrapExecuteWithErrorHandler(tool) {
|
|
|
31
61
|
* Wraps a FastMCP server to:
|
|
32
62
|
* 1. Add global error handling with help links to all tools
|
|
33
63
|
* 2. Enforce read-only mode based on tool annotations (if enabled)
|
|
64
|
+
* 3. Block third-party communications (if enabled)
|
|
34
65
|
*
|
|
35
66
|
* @param server - The FastMCP server instance
|
|
36
67
|
* @param config - Server configuration
|
|
@@ -39,7 +70,7 @@ function wrapExecuteWithErrorHandler(tool) {
|
|
|
39
70
|
export function createServerWithConfig(server, config) {
|
|
40
71
|
// Store original addTool method
|
|
41
72
|
const originalAddTool = server.addTool.bind(server);
|
|
42
|
-
// Override addTool to wrap all tools with error handling (and
|
|
73
|
+
// Override addTool to wrap all tools with error handling (and mode enforcement if configured)
|
|
43
74
|
server.addTool = function (tool) {
|
|
44
75
|
const isReadOnly = tool.annotations?.readOnlyHint === true;
|
|
45
76
|
// In read-only mode, block non-read-only tools
|
|
@@ -57,18 +88,56 @@ export function createServerWithConfig(server, config) {
|
|
|
57
88
|
originalAddTool(blockedTool);
|
|
58
89
|
return;
|
|
59
90
|
}
|
|
60
|
-
// Wrap tool with error handler
|
|
61
|
-
const wrappedTool = wrapExecuteWithErrorHandler(tool);
|
|
91
|
+
// Wrap tool with error handler and third-party checking
|
|
92
|
+
const wrappedTool = wrapExecuteWithErrorHandler(tool, config);
|
|
62
93
|
originalAddTool(wrappedTool);
|
|
63
94
|
};
|
|
64
95
|
return server;
|
|
65
96
|
}
|
|
66
97
|
/**
|
|
67
|
-
* Parse server config from environment variables
|
|
98
|
+
* Parse server config from environment variables and optional config file
|
|
68
99
|
*/
|
|
69
100
|
export function getServerConfigFromEnv() {
|
|
70
|
-
|
|
101
|
+
// Start with defaults
|
|
102
|
+
const config = {
|
|
71
103
|
readOnly: process.env.GOOGLE_MCP_READ_ONLY === 'true',
|
|
104
|
+
noThirdParty: process.env.GOOGLE_MCP_NO_THIRD_PARTY === 'true',
|
|
105
|
+
pathSecurity: { ...DEFAULT_PATH_SECURITY_CONFIG },
|
|
72
106
|
};
|
|
107
|
+
// Allow overriding allowed paths via environment variables (comma-separated)
|
|
108
|
+
if (process.env.GOOGLE_MCP_ALLOWED_WRITE_PATHS) {
|
|
109
|
+
config.pathSecurity.allowedWritePaths = process.env.GOOGLE_MCP_ALLOWED_WRITE_PATHS.split(',')
|
|
110
|
+
.map((p) => p.trim())
|
|
111
|
+
.filter((p) => p.length > 0);
|
|
112
|
+
}
|
|
113
|
+
if (process.env.GOOGLE_MCP_ALLOWED_READ_PATHS) {
|
|
114
|
+
config.pathSecurity.allowedReadPaths = process.env.GOOGLE_MCP_ALLOWED_READ_PATHS.split(',')
|
|
115
|
+
.map((p) => p.trim())
|
|
116
|
+
.filter((p) => p.length > 0);
|
|
117
|
+
}
|
|
118
|
+
// Allow adding additional forbidden patterns via environment variable (comma-separated)
|
|
119
|
+
if (process.env.GOOGLE_MCP_FORBIDDEN_PATHS) {
|
|
120
|
+
const additionalPatterns = process.env.GOOGLE_MCP_FORBIDDEN_PATHS.split(',')
|
|
121
|
+
.map((p) => p.trim())
|
|
122
|
+
.filter((p) => p.length > 0);
|
|
123
|
+
config.pathSecurity.forbiddenPathPatterns = [
|
|
124
|
+
...config.pathSecurity.forbiddenPathPatterns,
|
|
125
|
+
...additionalPatterns,
|
|
126
|
+
];
|
|
127
|
+
}
|
|
128
|
+
return config;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get the current server configuration (for use in tool modules)
|
|
132
|
+
*/
|
|
133
|
+
let currentConfig = null;
|
|
134
|
+
export function setServerConfig(config) {
|
|
135
|
+
currentConfig = config;
|
|
136
|
+
}
|
|
137
|
+
export function getServerConfig() {
|
|
138
|
+
if (!currentConfig) {
|
|
139
|
+
currentConfig = getServerConfigFromEnv();
|
|
140
|
+
}
|
|
141
|
+
return currentConfig;
|
|
73
142
|
}
|
|
74
143
|
//# sourceMappingURL=serverWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverWrapper.js","sourceRoot":"","sources":["../src/serverWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serverWrapper.js","sourceRoot":"","sources":["../src/serverWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.tools.d.ts","sourceRoot":"","sources":["../../src/tools/calendar.tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"calendar.tools.d.ts","sourceRoot":"","sources":["../../src/tools/calendar.tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAiBvD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,QAkfjE"}
|
|
@@ -8,7 +8,8 @@ function formatDateTime(dt) {
|
|
|
8
8
|
return 'N/A';
|
|
9
9
|
if (dt.dateTime) {
|
|
10
10
|
const d = new Date(dt.dateTime);
|
|
11
|
-
|
|
11
|
+
const tz = dt.timeZone || Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
12
|
+
return d.toLocaleString('en-US', { timeZone: tz }) + ' (' + tz + ')';
|
|
12
13
|
}
|
|
13
14
|
if (dt.date)
|
|
14
15
|
return dt.date + ' (all day)';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.tools.js","sourceRoot":"","sources":["../../src/tools/calendar.tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar.tools.js","sourceRoot":"","sources":["../../src/tools/calendar.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.tools.d.ts","sourceRoot":"","sources":["../../src/tools/docs.tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAWL,KAAK,eAAe,EAWrB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.tools.d.ts","sourceRoot":"","sources":["../../src/tools/docs.tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAWL,KAAK,eAAe,EAWrB,MAAM,aAAa,CAAC;AAqJrB,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,QAo7DzD"}
|
package/dist/tools/docs.tools.js
CHANGED
|
@@ -5,6 +5,8 @@ import { AccountDocumentParameters, OptionalRangeParameters, TextStyleParameters
|
|
|
5
5
|
import * as GDocsHelpers from '../googleDocsApiHelpers.js';
|
|
6
6
|
import { isGoogleApiError, getErrorMessage } from '../errorHelpers.js';
|
|
7
7
|
import { getDocsUrl } from '../urlHelpers.js';
|
|
8
|
+
import { validateReadPath, wrapCommentContent, wrapDocumentContent } from '../securityHelpers.js';
|
|
9
|
+
import { getServerConfig } from '../serverWrapper.js';
|
|
8
10
|
/**
|
|
9
11
|
* Converts Google Docs JSON structure to Markdown format
|
|
10
12
|
*/
|
|
@@ -217,9 +219,11 @@ export function registerDocsTools(options) {
|
|
|
217
219
|
// Apply length limit to markdown if specified
|
|
218
220
|
if (args.maxLength && totalLength > args.maxLength) {
|
|
219
221
|
const truncatedContent = markdownContent.substring(0, args.maxLength);
|
|
220
|
-
|
|
222
|
+
const wrappedContent = wrapDocumentContent(truncatedContent, res.data.title || undefined);
|
|
223
|
+
return `${wrappedContent}\n\n... [Markdown truncated to ${args.maxLength} chars of ${totalLength} total. Use maxLength parameter to adjust limit or remove it to get full content.]`;
|
|
221
224
|
}
|
|
222
|
-
|
|
225
|
+
// Wrap markdown content with security warning
|
|
226
|
+
return wrapDocumentContent(markdownContent, res.data.title || undefined);
|
|
223
227
|
}
|
|
224
228
|
// Default: Text format - extract all text content
|
|
225
229
|
let textContent = '';
|
|
@@ -255,15 +259,19 @@ export function registerDocsTools(options) {
|
|
|
255
259
|
const totalLength = textContent.length;
|
|
256
260
|
log.info(`Document contains ${totalLength} characters across ${elementCount} elements`);
|
|
257
261
|
log.info(`maxLength parameter: ${args.maxLength || 'not specified'}`);
|
|
262
|
+
// Wrap document content to defend against prompt injection
|
|
263
|
+
const docTitle = res.data.title || undefined;
|
|
258
264
|
// Apply length limit only if specified
|
|
259
265
|
if (args.maxLength && totalLength > args.maxLength) {
|
|
260
266
|
const truncatedContent = textContent.substring(0, args.maxLength);
|
|
261
267
|
log.info(`Truncating content from ${totalLength} to ${args.maxLength} characters`);
|
|
262
|
-
|
|
268
|
+
const wrappedContent = wrapDocumentContent(truncatedContent, docTitle);
|
|
269
|
+
return `Content (truncated to ${args.maxLength} chars of ${totalLength} total):\n${wrappedContent}\n\n... [Document continues for ${totalLength - args.maxLength} more characters. Use maxLength parameter to adjust limit or remove it to get full content.]`;
|
|
263
270
|
}
|
|
264
|
-
// Return full content
|
|
271
|
+
// Return full content wrapped with security warning
|
|
265
272
|
const docLink = getDocsUrl(args.documentId, email);
|
|
266
|
-
const
|
|
273
|
+
const wrappedContent = wrapDocumentContent(textContent, docTitle);
|
|
274
|
+
const fullResponse = `Content (${totalLength} characters):\n${wrappedContent}\n\n---\nView document: ${docLink}`;
|
|
267
275
|
const responseLength = fullResponse.length;
|
|
268
276
|
log.info(`Returning full content: ${responseLength} characters in response (${totalLength} content + ${responseLength - totalLength} metadata)`);
|
|
269
277
|
return fullResponse;
|
|
@@ -1085,7 +1093,12 @@ export function registerDocsTools(options) {
|
|
|
1085
1093
|
execute: async (args, { log }) => {
|
|
1086
1094
|
const docs = await getDocsClient(args.account);
|
|
1087
1095
|
const drive = await getDriveClient(args.account);
|
|
1088
|
-
|
|
1096
|
+
// Validate path for security
|
|
1097
|
+
const pathValidation = validateReadPath(args.localImagePath, getServerConfig().pathSecurity);
|
|
1098
|
+
if (!pathValidation.valid) {
|
|
1099
|
+
throw new UserError(`Cannot read from this path: ${pathValidation.error}`);
|
|
1100
|
+
}
|
|
1101
|
+
log.info(`Uploading local image ${pathValidation.resolvedPath} and inserting at index ${args.index} in doc ${args.documentId}`);
|
|
1089
1102
|
try {
|
|
1090
1103
|
// Get the document's parent folder if requested
|
|
1091
1104
|
let parentFolderId;
|
|
@@ -1107,7 +1120,7 @@ export function registerDocsTools(options) {
|
|
|
1107
1120
|
}
|
|
1108
1121
|
// Upload the image to Drive
|
|
1109
1122
|
log.info('Uploading image to Drive...');
|
|
1110
|
-
const imageUrl = await GDocsHelpers.uploadImageToDrive(drive,
|
|
1123
|
+
const imageUrl = await GDocsHelpers.uploadImageToDrive(drive, pathValidation.resolvedPath, parentFolderId);
|
|
1111
1124
|
log.info(`Image uploaded successfully, public URL: ${imageUrl}`);
|
|
1112
1125
|
// Insert the image into the document
|
|
1113
1126
|
await GDocsHelpers.insertInlineImage(docs, args.documentId, imageUrl, args.index, args.width, args.height);
|
|
@@ -1202,7 +1215,9 @@ export function registerDocsTools(options) {
|
|
|
1202
1215
|
const anchor = quotedText !== 'No quoted text'
|
|
1203
1216
|
? ` (anchored to: "${quotedText.substring(0, 100)}${quotedText.length > 100 ? '...' : ''}")`
|
|
1204
1217
|
: '';
|
|
1205
|
-
|
|
1218
|
+
// Wrap comment content to defend against prompt injection
|
|
1219
|
+
const wrappedContent = wrapCommentContent(comment.content || '', author);
|
|
1220
|
+
let result = `\n${index + 1}. **${author}** (${date})${status}${anchor}\n${wrappedContent}`;
|
|
1206
1221
|
if (replies > 0) {
|
|
1207
1222
|
result += `\n └─ ${replies} ${replies === 1 ? 'reply' : 'replies'}`;
|
|
1208
1223
|
}
|
|
@@ -1248,7 +1263,9 @@ export function registerDocsTools(options) {
|
|
|
1248
1263
|
const status = comment.resolved ? ' [RESOLVED]' : '';
|
|
1249
1264
|
const quotedText = comment.quotedFileContent?.value || 'No quoted text';
|
|
1250
1265
|
const anchor = quotedText !== 'No quoted text' ? `\nAnchored to: "${quotedText}"` : '';
|
|
1251
|
-
|
|
1266
|
+
// Wrap comment content to defend against prompt injection
|
|
1267
|
+
const wrappedContent = wrapCommentContent(comment.content || '', author);
|
|
1268
|
+
let result = `**${author}** (${date})${status}${anchor}\n${wrappedContent}`;
|
|
1252
1269
|
// Add replies if any
|
|
1253
1270
|
if (comment.replies && comment.replies.length > 0) {
|
|
1254
1271
|
result += '\n\n**Replies:**';
|
|
@@ -1257,7 +1274,9 @@ export function registerDocsTools(options) {
|
|
|
1257
1274
|
const replyDate = reply.createdTime
|
|
1258
1275
|
? new Date(reply.createdTime).toLocaleDateString()
|
|
1259
1276
|
: 'Unknown date';
|
|
1260
|
-
|
|
1277
|
+
// Wrap reply content to defend against prompt injection
|
|
1278
|
+
const wrappedReply = wrapCommentContent(reply.content || '', replyAuthor);
|
|
1279
|
+
result += `\n${index + 1}. **${replyAuthor}** (${replyDate})\n${wrappedReply}`;
|
|
1261
1280
|
});
|
|
1262
1281
|
}
|
|
1263
1282
|
return result;
|