@lkbaba/grok-mcp 1.0.0 → 1.0.1
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/CHANGELOG.md +9 -0
- package/README.md +8 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.js +1 -1
- package/dist/tools/brainstorm.d.ts.map +1 -1
- package/dist/tools/brainstorm.js +45 -2
- package/dist/tools/brainstorm.js.map +1 -1
- package/dist/tools/definitions.d.ts +2 -0
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +2 -1
- package/dist/tools/definitions.js.map +1 -1
- package/dist/utils/tool-builder.js +2 -2
- package/dist/utils/tool-builder.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.1] - 2026-03-12
|
|
9
|
+
|
|
10
|
+
### Security
|
|
11
|
+
|
|
12
|
+
- **Path traversal protection**: `context_files` paths are now sandboxed to the working directory; attempts to read `../../etc/passwd` etc. are blocked
|
|
13
|
+
- **Sensitive file blocking**: `.env`, `.pem`, `.key`, credentials, and database files are automatically excluded from `context_files`
|
|
14
|
+
- **context_files limit**: Maximum 10 files enforced (both JSON Schema and runtime)
|
|
15
|
+
- **Domain validation hardening**: Added max length (253 chars) to domain strings to prevent ReDoS
|
|
16
|
+
|
|
8
17
|
## [1.0.0] - 2026-03-12
|
|
9
18
|
|
|
10
19
|
### Added
|
package/README.md
CHANGED
|
@@ -73,7 +73,7 @@ Multi-perspective idea generation with project context support.
|
|
|
73
73
|
|-----------|------|----------|---------|-------------|
|
|
74
74
|
| `topic` | string | Yes | - | Brainstorming topic |
|
|
75
75
|
| `context` | string | No | - | Additional context |
|
|
76
|
-
| `context_files` | string[] | No | - | Project files to read as context |
|
|
76
|
+
| `context_files` | string[] | No | - | Project files to read as context (max 10) |
|
|
77
77
|
| `count` | number | No | `5` | Number of ideas (1-10) |
|
|
78
78
|
| `style` | enum | No | `balanced` | `innovative` / `practical` / `radical` / `balanced` |
|
|
79
79
|
| `model` | enum | No | `grok-4.20-beta` | Model selection |
|
|
@@ -174,6 +174,13 @@ src/
|
|
|
174
174
|
|
|
175
175
|
**Best strategy**: Use both! Gemini for speed and code analysis, Grok for deep search and X/Twitter intelligence.
|
|
176
176
|
|
|
177
|
+
## Security
|
|
178
|
+
|
|
179
|
+
- **Path traversal protection**: `context_files` are sandboxed to the working directory — paths like `../../etc/passwd` are blocked
|
|
180
|
+
- **Sensitive file blocking**: `.env`, `.pem`, `.key`, credentials, and database files are automatically excluded
|
|
181
|
+
- **Input validation**: Domain filters, date ranges, and file counts are validated with strict schemas
|
|
182
|
+
- **No hardcoded secrets**: API keys are loaded from environment variables only
|
|
183
|
+
|
|
177
184
|
## License
|
|
178
185
|
|
|
179
186
|
MIT
|
package/dist/config/index.d.ts
CHANGED
package/dist/config/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brainstorm.d.ts","sourceRoot":"","sources":["../../src/tools/brainstorm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"brainstorm.d.ts","sourceRoot":"","sources":["../../src/tools/brainstorm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAkK3B;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAiH/B"}
|
package/dist/tools/brainstorm.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Creative brainstorming using Grok AI
|
|
5
5
|
*/
|
|
6
6
|
import { readFile } from 'fs/promises';
|
|
7
|
-
import { resolve } from 'path';
|
|
7
|
+
import { resolve, relative, isAbsolute, basename } from 'path';
|
|
8
8
|
import { createResponse, extractContent, extractUsage, calculateCost, } from '../utils/grok-client.js';
|
|
9
9
|
import { xaiConfig, debugMode, SUPPORTED_MODELS } from '../config/index.js';
|
|
10
10
|
/**
|
|
@@ -16,12 +16,55 @@ const STYLE_DESCRIPTIONS = {
|
|
|
16
16
|
radical: 'Radical: Break conventional thinking, boldly challenge existing assumptions, explore disruptive solutions',
|
|
17
17
|
balanced: 'Balanced: Balance innovation with feasibility, analyze from multiple dimensions',
|
|
18
18
|
};
|
|
19
|
+
// Sensitive file patterns that should never be read
|
|
20
|
+
const SENSITIVE_PATTERNS = [
|
|
21
|
+
/\.env($|\.)/i,
|
|
22
|
+
/\.pem$/i, /\.key$/i, /\.pfx$/i,
|
|
23
|
+
/id_rsa/i, /id_ed25519/i, /id_dsa/i,
|
|
24
|
+
/credentials/i, /secrets?\./i,
|
|
25
|
+
/password/i,
|
|
26
|
+
/\.sqlite3?$/i, /\.db$/i,
|
|
27
|
+
];
|
|
28
|
+
const MAX_CONTEXT_FILES = 10;
|
|
29
|
+
/**
|
|
30
|
+
* Validate file path is safe to read (no path traversal, no sensitive files)
|
|
31
|
+
*/
|
|
32
|
+
function isPathSafe(filePath) {
|
|
33
|
+
const cwd = process.cwd();
|
|
34
|
+
const absolutePath = resolve(cwd, filePath);
|
|
35
|
+
// Check path traversal: resolved path must stay within cwd
|
|
36
|
+
const rel = relative(cwd, absolutePath);
|
|
37
|
+
if (rel.startsWith('..') || isAbsolute(rel)) {
|
|
38
|
+
return { safe: false, reason: 'path traversal blocked' };
|
|
39
|
+
}
|
|
40
|
+
// Check sensitive file patterns
|
|
41
|
+
const name = basename(filePath);
|
|
42
|
+
const normalized = filePath.replace(/\\/g, '/');
|
|
43
|
+
for (const pattern of SENSITIVE_PATTERNS) {
|
|
44
|
+
if (pattern.test(name) || pattern.test(normalized)) {
|
|
45
|
+
return { safe: false, reason: 'sensitive file blocked' };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return { safe: true };
|
|
49
|
+
}
|
|
19
50
|
/**
|
|
20
51
|
* Read project file contents
|
|
21
52
|
*/
|
|
22
53
|
async function readContextFiles(files) {
|
|
23
54
|
const contents = [];
|
|
24
|
-
|
|
55
|
+
// Enforce file count limit
|
|
56
|
+
const limitedFiles = files.slice(0, MAX_CONTEXT_FILES);
|
|
57
|
+
if (files.length > MAX_CONTEXT_FILES) {
|
|
58
|
+
console.error(`[Brainstorm] Too many context files (${files.length}), limited to ${MAX_CONTEXT_FILES}`);
|
|
59
|
+
}
|
|
60
|
+
for (const filePath of limitedFiles) {
|
|
61
|
+
// Validate path safety
|
|
62
|
+
const check = isPathSafe(filePath);
|
|
63
|
+
if (!check.safe) {
|
|
64
|
+
console.error(`[Brainstorm] Skipped "${filePath}": ${check.reason}`);
|
|
65
|
+
contents.push(`--- File: ${filePath} ---\n(${check.reason})`);
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
25
68
|
try {
|
|
26
69
|
const absolutePath = resolve(filePath);
|
|
27
70
|
const content = await readFile(absolutePath, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brainstorm.js","sourceRoot":"","sources":["../../src/tools/brainstorm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/
|
|
1
|
+
{"version":3,"file":"brainstorm.js","sourceRoot":"","sources":["../../src/tools/brainstorm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAK/D,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE5E;;GAEG;AACH,MAAM,kBAAkB,GAA2B;IACjD,UAAU,EAAE,+EAA+E;IAC3F,SAAS,EAAE,0EAA0E;IACrF,OAAO,EAAE,2GAA2G;IACpH,QAAQ,EAAE,iFAAiF;CAC5F,CAAC;AAEF,oDAAoD;AACpD,MAAM,kBAAkB,GAAG;IACzB,cAAc;IACd,SAAS,EAAE,SAAS,EAAE,SAAS;IAC/B,SAAS,EAAE,aAAa,EAAE,SAAS;IACnC,cAAc,EAAE,aAAa;IAC7B,WAAW;IACX,cAAc,EAAE,QAAQ;CACzB,CAAC;AAEF,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;GAEG;AACH,SAAS,UAAU,CAAC,QAAgB;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE5C,2DAA2D;IAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAC3D,CAAC;IAED,gCAAgC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAAe;IAC7C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,2BAA2B;IAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,wCAAwC,KAAK,CAAC,MAAM,iBAAiB,iBAAiB,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,uBAAuB;QACvB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,UAAU,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtD,yDAAyD;YACzD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI;gBACrC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,0CAA0C,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS;gBAClG,CAAC,CAAC,OAAO,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,SAAS,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,QAAQ,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/G,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,qBAAqB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC,YAAY,CAAC;IAC1C,IAAK,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,OAAO,CAAC,KAAK,CAAC,mCAAmC,KAAK,8BAA8B,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9G,OAAO,SAAS,CAAC,YAAY,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,KAA0B,EAAE,YAAqB;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC;IACxC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC;IAC3E,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC;IAEnD,IAAI,MAAM,GAAG;;sBAEO,SAAS;;;;aAIlB,KAAK,CAAC,KAAK;CACvB,CAAC;IAEA,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,qBAAqB,KAAK,CAAC,OAAO,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,kCAAkC,YAAY,IAAI,CAAC;IAC/D,CAAC;IAED,MAAM,IAAI,uBAAuB,KAAK,mBAAmB,CAAC;IAE1D,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,kCAAkC;QAClC,MAAM,IAAI;yNAC2M,CAAC;IACxN,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,MAAM,IAAI;;;;;;;;;;;;;;yDAc2C,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,YAAgC,CAAC;QACrC,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACzD,CAAC;YACD,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,kBAAkB;QAClB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAE1D,0CAA0C;QAC1C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACpD,CAAC;QAED,oCAAoC;QACpC,IAAI,WAA+B,CAAC;QACpC,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,WAAW,GAAG,GAAG,CAAC,CAAC,0CAA0C;gBAC7D,MAAM;YACR,KAAK,YAAY;gBACf,WAAW,GAAG,GAAG,CAAC,CAAC,sBAAsB;gBACzC,MAAM;YACR,KAAK,WAAW;gBACd,WAAW,GAAG,GAAG,CAAC,CAAC,0CAA0C;gBAC7D,MAAM;YACR,8DAA8D;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;YACpC,KAAK;YACL,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,WAAW;YACX,+DAA+D;SAChE,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,mBAAmB;QACnB,OAAO;YACL,OAAO;YACP,KAAK,EAAE;gBACL,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iBAAiB;QACjB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhE,gBAAgB;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CACb,sCAAsC;oBACpC,qCAAqC;oBACrC,mCAAmC;oBACnC,sBAAsB;oBACtB,mBAAmB,KAAK,CAAC,OAAO,EAAE,CACrC,CAAC;YACJ,CAAC;YAED,YAAY;YACZ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CACb,kCAAkC;oBAChC,2CAA2C;oBAC3C,4BAA4B;oBAC5B,yCAAyC;oBACzC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CACrC,CAAC;YACJ,CAAC;YAED,eAAe;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -128,6 +128,7 @@ export declare const grokBrainstormTool: {
|
|
|
128
128
|
items: {
|
|
129
129
|
type: string;
|
|
130
130
|
};
|
|
131
|
+
maxItems: number;
|
|
131
132
|
description: string;
|
|
132
133
|
};
|
|
133
134
|
count: {
|
|
@@ -276,6 +277,7 @@ export declare const TOOL_DEFINITIONS: ({
|
|
|
276
277
|
items: {
|
|
277
278
|
type: string;
|
|
278
279
|
};
|
|
280
|
+
maxItems: number;
|
|
279
281
|
description: string;
|
|
280
282
|
};
|
|
281
283
|
count: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4G/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4G/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqE9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG5B,CAAC"}
|
|
@@ -137,7 +137,8 @@ export const grokBrainstormTool = {
|
|
|
137
137
|
context_files: {
|
|
138
138
|
type: 'array',
|
|
139
139
|
items: { type: 'string' },
|
|
140
|
-
|
|
140
|
+
maxItems: 10,
|
|
141
|
+
description: 'Project file paths (optional, max 10), reads file content as context\n' +
|
|
141
142
|
'e.g.: ["./README.md", "./docs/architecture.md"]',
|
|
142
143
|
},
|
|
143
144
|
count: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,11 +12,11 @@ import { z } from 'zod';
|
|
|
12
12
|
*/
|
|
13
13
|
const webSearchOptionsSchema = z.object({
|
|
14
14
|
allowedDomains: z
|
|
15
|
-
.array(z.string().min(1, 'Domain cannot be empty').regex(/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$/, 'Invalid domain format, e.g.: github.com, stackoverflow.com'))
|
|
15
|
+
.array(z.string().min(1, 'Domain cannot be empty').max(253, 'Domain too long').regex(/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$/, 'Invalid domain format, e.g.: github.com, stackoverflow.com'))
|
|
16
16
|
.max(5, 'Maximum of 5 allowed domains')
|
|
17
17
|
.optional(),
|
|
18
18
|
excludedDomains: z
|
|
19
|
-
.array(z.string().min(1, 'Domain cannot be empty').regex(/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$/, 'Invalid domain format, e.g.: github.com, stackoverflow.com'))
|
|
19
|
+
.array(z.string().min(1, 'Domain cannot be empty').max(253, 'Domain too long').regex(/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$/, 'Invalid domain format, e.g.: github.com, stackoverflow.com'))
|
|
20
20
|
.max(5, 'Maximum of 5 excluded domains')
|
|
21
21
|
.optional(),
|
|
22
22
|
enableImageUnderstanding: z.boolean().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-builder.js","sourceRoot":"","sources":["../../src/utils/tool-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"tool-builder.js","sourceRoot":"","sources":["../../src/utils/tool-builder.ts"],"names":[],"mappings":"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"}
|