@venizia/ignis-docs 0.0.1-1 → 0.0.1-3
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/LICENSE.md +102 -0
- package/README.md +53 -0
- package/mcp-server/dist/common/paths.d.ts.map +1 -1
- package/mcp-server/dist/common/paths.js +3 -1
- package/mcp-server/dist/common/paths.js.map +1 -1
- package/mcp-server/dist/tools/get-doc-content.tool.d.ts +8 -12
- package/mcp-server/dist/tools/get-doc-content.tool.d.ts.map +1 -1
- package/mcp-server/dist/tools/get-doc-content.tool.js +8 -11
- package/mcp-server/dist/tools/get-doc-content.tool.js.map +1 -1
- package/mcp-server/dist/tools/get-doc-metadata.tool.d.ts +16 -20
- package/mcp-server/dist/tools/get-doc-metadata.tool.d.ts.map +1 -1
- package/mcp-server/dist/tools/get-doc-metadata.tool.js +24 -17
- package/mcp-server/dist/tools/get-doc-metadata.tool.js.map +1 -1
- package/mcp-server/dist/tools/search-docs.tool.d.ts +18 -14
- package/mcp-server/dist/tools/search-docs.tool.d.ts.map +1 -1
- package/mcp-server/dist/tools/search-docs.tool.js +7 -4
- package/mcp-server/dist/tools/search-docs.tool.js.map +1 -1
- package/package.json +4 -2
package/LICENSE.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Ignis Framework License
|
|
2
|
+
|
|
3
|
+
Ignis is a TypeScript Server Infrastructure framework built on [Hono](https://hono.dev/).
|
|
4
|
+
|
|
5
|
+
## MIT License
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2025 VENIZIA Ltd. Co.
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in all
|
|
17
|
+
copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
+
SOFTWARE.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Packages
|
|
30
|
+
|
|
31
|
+
This monorepo contains the following packages, all licensed under MIT:
|
|
32
|
+
|
|
33
|
+
| Package | Description |
|
|
34
|
+
|---------|-------------|
|
|
35
|
+
| `@venizia/ignis` | Core framework - controllers, services, decorators |
|
|
36
|
+
| `@venizia/ignis-helpers` | Utility helpers - logging, cron, Redis, queues, storage |
|
|
37
|
+
| `@venizia/ignis-inversion` | Dependency Injection & IoC container |
|
|
38
|
+
| `@venizia/dev-configs` | Shared ESLint, Prettier, TypeScript configurations |
|
|
39
|
+
| `@venizia/ignis-docs` | Documentation and MCP Server |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Third-Party Dependencies
|
|
44
|
+
|
|
45
|
+
Ignis uses the following open-source libraries. We are grateful to the authors and contributors of these projects.
|
|
46
|
+
|
|
47
|
+
### Core Dependencies
|
|
48
|
+
|
|
49
|
+
| Library | License | Description |
|
|
50
|
+
|---------|---------|-------------|
|
|
51
|
+
| [Hono](https://github.com/honojs/hono) | MIT | Ultrafast web framework |
|
|
52
|
+
| [Zod](https://github.com/colinhacks/zod) | MIT | TypeScript-first schema validation |
|
|
53
|
+
| [Drizzle ORM](https://github.com/drizzle-team/drizzle-orm) | Apache-2.0 | TypeScript ORM |
|
|
54
|
+
| [Jose](https://github.com/panva/jose) | MIT | JavaScript Object Signing and Encryption |
|
|
55
|
+
|
|
56
|
+
### Helpers Dependencies
|
|
57
|
+
|
|
58
|
+
| Library | License | Description |
|
|
59
|
+
|---------|---------|-------------|
|
|
60
|
+
| [Winston](https://github.com/winstonjs/winston) | MIT | Universal logging library |
|
|
61
|
+
| [BullMQ](https://github.com/taskforcesh/bullmq) | MIT | Message queue and job scheduling |
|
|
62
|
+
| [IORedis](https://github.com/redis/ioredis) | MIT | Redis client for Node.js |
|
|
63
|
+
| [MinIO](https://github.com/minio/minio-js) | Apache-2.0 | S3-compatible object storage client |
|
|
64
|
+
| [Axios](https://github.com/axios/axios) | MIT | HTTP client |
|
|
65
|
+
| [Day.js](https://github.com/iamkun/dayjs) | MIT | Date manipulation library |
|
|
66
|
+
| [Cron](https://github.com/kelektiv/node-cron) | MIT | Cron job scheduler |
|
|
67
|
+
| [Socket.IO](https://github.com/socketio/socket.io) | MIT | Real-time bidirectional communication |
|
|
68
|
+
| [MQTT.js](https://github.com/mqttjs/MQTT.js) | MIT | MQTT client |
|
|
69
|
+
|
|
70
|
+
### Utility Dependencies
|
|
71
|
+
|
|
72
|
+
| Library | License | Description |
|
|
73
|
+
|---------|---------|-------------|
|
|
74
|
+
| [Lodash](https://github.com/lodash/lodash) | MIT | Utility library |
|
|
75
|
+
| [reflect-metadata](https://github.com/rbuckton/reflect-metadata) | Apache-2.0 | Metadata reflection API |
|
|
76
|
+
|
|
77
|
+
### Documentation Dependencies
|
|
78
|
+
|
|
79
|
+
| Library | License | Description |
|
|
80
|
+
|---------|---------|-------------|
|
|
81
|
+
| [VitePress](https://github.com/vuejs/vitepress) | MIT | Static site generator |
|
|
82
|
+
| [Fuse.js](https://github.com/krisk/fuse) | Apache-2.0 | Fuzzy search library |
|
|
83
|
+
| [gray-matter](https://github.com/jonschlinkert/gray-matter) | MIT | Front-matter parser |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Acknowledgments
|
|
88
|
+
|
|
89
|
+
Ignis Framework is inspired by and built upon the work of many open-source projects:
|
|
90
|
+
|
|
91
|
+
- **[Hono](https://hono.dev/)** by Yusuke Wada - The ultrafast web framework that powers Ignis
|
|
92
|
+
- **[LoopBack 4](https://loopback.io/)** by IBM/StrongLoop - Inspiration for the enterprise architecture patterns
|
|
93
|
+
- **[NestJS](https://nestjs.com/)** by Kamil Mysliwiec - Inspiration for decorator-based controllers
|
|
94
|
+
- **[InversifyJS](https://inversify.io/)** - Inspiration for the IoC container design
|
|
95
|
+
|
|
96
|
+
We thank all the maintainers and contributors of these projects for their excellent work.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Contributing
|
|
101
|
+
|
|
102
|
+
By contributing to Ignis, you agree that your contributions will be licensed under the MIT License.
|
package/README.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# @venizia/ignis-docs
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@venizia/ignis-docs)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
Documentation and **MCP (Model Context Protocol) Server** for the **Ignis Framework**. The MCP server allows AI assistants to access Ignis documentation in real-time.
|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
bun add @venizia/ignis-docs
|
|
12
|
+
# or
|
|
13
|
+
npm install @venizia/ignis-docs
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## MCP Server Usage
|
|
17
|
+
|
|
18
|
+
Add to your Claude Desktop config (`claude_desktop_config.json`):
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"mcpServers": {
|
|
23
|
+
"ignis-docs": {
|
|
24
|
+
"command": "npx",
|
|
25
|
+
"args": ["@venizia/ignis-docs"]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Available MCP Tools
|
|
32
|
+
|
|
33
|
+
| Tool | Description |
|
|
34
|
+
|------|-------------|
|
|
35
|
+
| **search** | Search documentation by keyword |
|
|
36
|
+
| **getDocContent** | Get full content of a document |
|
|
37
|
+
| **listDocs** | List all available documents |
|
|
38
|
+
| **listCategories** | List documentation categories |
|
|
39
|
+
| **getDocMetadata** | Get document metadata |
|
|
40
|
+
|
|
41
|
+
## About Ignis
|
|
42
|
+
|
|
43
|
+
Ignis brings together the structured, enterprise development experience of **LoopBack 4** with the blazing speed and simplicity of **Hono** - giving you the best of both worlds.
|
|
44
|
+
|
|
45
|
+
## Documentation
|
|
46
|
+
|
|
47
|
+
- [Ignis Repository](https://github.com/venizia-ai/ignis)
|
|
48
|
+
- [MCP Server Guide](https://github.com/venizia-ai/ignis/blob/main/packages/docs/wiki/get-started/mcp-docs-server.md)
|
|
49
|
+
- [Main Documentation](https://github.com/venizia-ai/ignis/blob/main/packages/docs/wiki/index.md)
|
|
50
|
+
|
|
51
|
+
## License
|
|
52
|
+
|
|
53
|
+
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../common/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../common/paths.ts"],"names":[],"mappings":"AAOA,qBAAa,KAAK;IAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAgC;IAEpD,MAAM,CAAC,QAAQ,CAAC,WAAW,SAAuC;IAClE,MAAM,CAAC,QAAQ,CAAC,cAAc,SAAiD;IAC/E,MAAM,CAAC,QAAQ,CAAC,aAAa,SAAgD;IAE7E,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAsC;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAsC;IAC1D,MAAM,CAAC,QAAQ,CAAC,UAAU,SAA4C;IACtE,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAyC;IAChE,MAAM,CAAC,QAAQ,CAAC,cAAc,SAA6C;IAC3E,MAAM,CAAC,QAAQ,CAAC,SAAS,SAA2C;CACrE"}
|
|
@@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.Paths = void 0;
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const MCP_ROOT = __dirname;
|
|
9
|
-
|
|
9
|
+
// When compiled, __dirname is mcp-server/dist/common
|
|
10
|
+
// Go up 3 levels to reach package root: common -> dist -> mcp-server -> docs
|
|
11
|
+
const DOCS_ROOT = node_path_1.default.resolve(MCP_ROOT, "..", "..", "..");
|
|
10
12
|
class Paths {
|
|
11
13
|
static { this.WIKI = node_path_1.default.join(DOCS_ROOT, "wiki"); }
|
|
12
14
|
static { this.GET_STARTED = node_path_1.default.join(this.WIKI, "get-started"); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../common/paths.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAE7B,MAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../common/paths.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAE7B,MAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,qDAAqD;AACrD,6EAA6E;AAC7E,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3D,MAAa,KAAK;aACA,SAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aAEpC,gBAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;aAClD,mBAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;aAC/D,kBAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;aAE7D,eAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aAChD,SAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAC1C,eAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;aACtD,YAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAChD,mBAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;aAC3D,cAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;;AAZtE,sBAaC"}
|
|
@@ -3,26 +3,22 @@ import { BaseTool, type TMastraTool } from "./base.tool";
|
|
|
3
3
|
declare const InputSchema: z.ZodObject<{
|
|
4
4
|
id: z.ZodString;
|
|
5
5
|
}, z.core.$strip>;
|
|
6
|
-
declare const OutputSchema: z.
|
|
6
|
+
declare const OutputSchema: z.ZodObject<{
|
|
7
7
|
id: z.ZodString;
|
|
8
|
-
content: z.ZodString
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
error: z.ZodString;
|
|
12
|
-
}, z.core.$strip>]>;
|
|
8
|
+
content: z.ZodOptional<z.ZodString>;
|
|
9
|
+
error: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, z.core.$strip>;
|
|
13
11
|
export declare class GetDocContentTool extends BaseTool<typeof InputSchema, typeof OutputSchema> {
|
|
14
12
|
readonly id = "getDocContent";
|
|
15
13
|
readonly description = "\nRetrieves the complete markdown content of a specific Ignis Framework documentation file.\n\nPURPOSE:\nUse this tool to fetch the full text of a documentation page when you need detailed information\nbeyond what search snippets provide. This is your primary tool for reading documentation content.\n\nWHEN TO USE:\n- After searchDocs returns relevant results and you need full content\n- When user asks for detailed explanation of a specific topic\n- To read code examples, API references, or configuration guides\n- When you need to quote or reference specific documentation sections\n\nWHEN NOT TO USE:\n- Don't use this for discovery - use searchDocs or listDocs first\n- Don't fetch multiple documents blindly - review search results first\n\nDOCUMENT ID FORMAT:\nThe 'id' parameter is the relative file path from the wiki root:\n- \"get-started/quickstart.md\" - Quickstart guide\n- \"references/components/http-server.md\" - HTTP Server component reference\n- \"get-started/core-concepts/dependency-injection.md\" - DI concepts\n\nHOW TO GET VALID IDs:\n1. Use searchDocs to find documents by keyword\n2. Use listDocs to browse all available documents\n3. Use listCategories + listDocs(category) for structured browsing\n\nOUTPUT:\nReturns full markdown content suitable for:\n- Answering user questions with accurate information\n- Extracting code examples\n- Understanding API usage patterns\n- Providing step-by-step guidance\n";
|
|
16
14
|
readonly inputSchema: z.ZodObject<{
|
|
17
15
|
id: z.ZodString;
|
|
18
16
|
}, z.core.$strip>;
|
|
19
|
-
readonly outputSchema: z.
|
|
17
|
+
readonly outputSchema: z.ZodObject<{
|
|
20
18
|
id: z.ZodString;
|
|
21
|
-
content: z.ZodString
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
error: z.ZodString;
|
|
25
|
-
}, z.core.$strip>]>;
|
|
19
|
+
content: z.ZodOptional<z.ZodString>;
|
|
20
|
+
error: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
26
22
|
execute(input: z.infer<typeof InputSchema>): Promise<z.infer<typeof OutputSchema>>;
|
|
27
23
|
getTool(): TMastraTool;
|
|
28
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-doc-content.tool.d.ts","sourceRoot":"","sources":["../../tools/get-doc-content.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"get-doc-content.tool.d.ts","sourceRoot":"","sources":["../../tools/get-doc-content.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAoFrE,QAAA,MAAM,WAAW;;iBAEf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;iBAOhB,CAAC;AAMH,qBAAa,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,WAAW,EAAE,OAAO,YAAY,CAAC;IACtF,QAAQ,CAAC,EAAE,mBAAmB;IAC9B,QAAQ,CAAC,WAAW,o6CAAoB;IACxC,QAAQ,CAAC,WAAW;;sBAAe;IACnC,QAAQ,CAAC,YAAY;;;;sBAAgB;IAE/B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IAUxF,OAAO,IAAI,WAAW;CASvB"}
|
|
@@ -81,20 +81,17 @@ TYPICAL STRUCTURE:
|
|
|
81
81
|
// ----------------------------------------------------------------------------
|
|
82
82
|
// SCHEMAS
|
|
83
83
|
// ----------------------------------------------------------------------------
|
|
84
|
-
const SuccessSchema = zod_1.z.object({
|
|
85
|
-
id: zod_1.z.string().describe("The document ID that was requested."),
|
|
86
|
-
content: zod_1.z.string().describe(CONTENT_DESCRIPTION),
|
|
87
|
-
});
|
|
88
|
-
const ErrorSchema = zod_1.z.object({
|
|
89
|
-
id: zod_1.z.string().describe("The document ID that was requested but not found."),
|
|
90
|
-
error: zod_1.z.string().describe("Error message. Verify the ID using listDocs or searchDocs."),
|
|
91
|
-
});
|
|
92
84
|
const InputSchema = zod_1.z.object({
|
|
93
85
|
id: zod_1.z.string().min(1).describe(ID_DESCRIPTION),
|
|
94
86
|
});
|
|
95
|
-
const OutputSchema = zod_1.z
|
|
96
|
-
.
|
|
97
|
-
.describe(
|
|
87
|
+
const OutputSchema = zod_1.z.object({
|
|
88
|
+
id: zod_1.z.string().describe("The document ID that was requested."),
|
|
89
|
+
content: zod_1.z.string().optional().describe(CONTENT_DESCRIPTION),
|
|
90
|
+
error: zod_1.z
|
|
91
|
+
.string()
|
|
92
|
+
.optional()
|
|
93
|
+
.describe("Error message if document not found. Verify the ID using listDocs or searchDocs."),
|
|
94
|
+
});
|
|
98
95
|
// ----------------------------------------------------------------------------
|
|
99
96
|
// TOOL CLASS
|
|
100
97
|
// ----------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-doc-content.tool.js","sourceRoot":"","sources":["../../tools/get-doc-content.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,wCAAwC;AACxC,2CAAqE;AAErE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;CAmBtB,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;CAe3B,CAAC;AAEF,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,
|
|
1
|
+
{"version":3,"file":"get-doc-content.tool.js","sourceRoot":"","sources":["../../tools/get-doc-content.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,wCAAwC;AACxC,2CAAqE;AAErE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;CAmBtB,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;CAe3B,CAAC;AAEF,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC9D,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC5D,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kFAAkF,CAAC;CAChG,CAAC,CAAC;AAEH,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,MAAa,iBAAkB,SAAQ,oBAAiD;IAAxF;;QACW,OAAE,GAAG,eAAe,CAAC;QACrB,gBAAW,GAAG,gBAAgB,CAAC;QAC/B,gBAAW,GAAG,WAAW,CAAC;QAC1B,iBAAY,GAAG,YAAY,CAAC;IAqBvC,CAAC;IAnBC,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,OAAO,GAAG,MAAM,oBAAU,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACvD,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,OAAO;QACL,OAAO,IAAA,sBAAU,EAAC;YAChB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;CACF;AAzBD,8CAyBC"}
|
|
@@ -3,36 +3,32 @@ import { BaseTool, type TMastraTool } from "./base.tool";
|
|
|
3
3
|
declare const InputSchema: z.ZodObject<{
|
|
4
4
|
id: z.ZodString;
|
|
5
5
|
}, z.core.$strip>;
|
|
6
|
-
declare const OutputSchema: z.
|
|
6
|
+
declare const OutputSchema: z.ZodObject<{
|
|
7
7
|
id: z.ZodString;
|
|
8
|
-
title: z.ZodString
|
|
9
|
-
category: z.ZodString
|
|
10
|
-
wordCount: z.ZodNumber
|
|
11
|
-
charCount: z.ZodNumber
|
|
12
|
-
lastModified: z.ZodOptional<z.
|
|
8
|
+
title: z.ZodOptional<z.ZodString>;
|
|
9
|
+
category: z.ZodOptional<z.ZodString>;
|
|
10
|
+
wordCount: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
charCount: z.ZodOptional<z.ZodNumber>;
|
|
12
|
+
lastModified: z.ZodOptional<z.ZodString>;
|
|
13
13
|
size: z.ZodOptional<z.ZodNumber>;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
error: z.ZodString;
|
|
17
|
-
}, z.core.$strip>]>;
|
|
14
|
+
error: z.ZodOptional<z.ZodString>;
|
|
15
|
+
}, z.core.$strip>;
|
|
18
16
|
export declare class GetDocMetadataTool extends BaseTool<typeof InputSchema, typeof OutputSchema> {
|
|
19
17
|
readonly id = "getDocMetadata";
|
|
20
18
|
readonly description = "\nRetrieves statistical metadata about a specific Ignis Framework documentation file\nwithout fetching its full content.\n\nPURPOSE:\nUse this tool to get information ABOUT a document (size, word count, last modified)\nwithout retrieving the actual content. Useful for assessing documents before reading them fully.\n\nWHEN TO USE:\n- To check document length before fetching full content\n- To estimate reading time or complexity\n- To verify a document exists and get basic info\n- To check when documentation was last updated\n- When you need document stats for comparison or reporting\n\nWHEN NOT TO USE:\n- When you need the actual document content (use getDocContent instead)\n- For searching documents (use searchDocs instead)\n- For listing multiple documents (use listDocs instead)\n\nMETADATA FIELDS EXPLAINED:\n- wordCount: Total words in content body (excludes frontmatter)\n - Quick read: < 500 words\n - Medium: 500-1500 words\n - Long/detailed: > 1500 words\n\n- charCount: Total characters (useful for token estimation)\n - Rough token estimate: charCount / 4 for English text\n\n- lastModified: File modification timestamp\n - Recent = actively maintained documentation\n - Old = may need verification for accuracy\n\n- size: Raw file size in bytes (includes frontmatter YAML)\n\nUSE CASES:\n1. \"Is this document long?\" \u2192 Check wordCount\n2. \"Will this fit in context?\" \u2192 Check charCount, estimate tokens\n3. \"Is this documentation current?\" \u2192 Check lastModified\n4. \"Which document is more detailed?\" \u2192 Compare wordCounts\n";
|
|
21
19
|
readonly inputSchema: z.ZodObject<{
|
|
22
20
|
id: z.ZodString;
|
|
23
21
|
}, z.core.$strip>;
|
|
24
|
-
readonly outputSchema: z.
|
|
22
|
+
readonly outputSchema: z.ZodObject<{
|
|
25
23
|
id: z.ZodString;
|
|
26
|
-
title: z.ZodString
|
|
27
|
-
category: z.ZodString
|
|
28
|
-
wordCount: z.ZodNumber
|
|
29
|
-
charCount: z.ZodNumber
|
|
30
|
-
lastModified: z.ZodOptional<z.
|
|
24
|
+
title: z.ZodOptional<z.ZodString>;
|
|
25
|
+
category: z.ZodOptional<z.ZodString>;
|
|
26
|
+
wordCount: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
charCount: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
lastModified: z.ZodOptional<z.ZodString>;
|
|
31
29
|
size: z.ZodOptional<z.ZodNumber>;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
error: z.ZodString;
|
|
35
|
-
}, z.core.$strip>]>;
|
|
30
|
+
error: z.ZodOptional<z.ZodString>;
|
|
31
|
+
}, z.core.$strip>;
|
|
36
32
|
execute(input: z.infer<typeof InputSchema>): Promise<z.infer<typeof OutputSchema>>;
|
|
37
33
|
getTool(): TMastraTool;
|
|
38
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-doc-metadata.tool.d.ts","sourceRoot":"","sources":["../../tools/get-doc-metadata.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"get-doc-metadata.tool.d.ts","sourceRoot":"","sources":["../../tools/get-doc-metadata.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAwErE,QAAA,MAAM,WAAW;;iBAEf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;iBAmBhB,CAAC;AAMH,qBAAa,kBAAmB,SAAQ,QAAQ,CAAC,OAAO,WAAW,EAAE,OAAO,YAAY,CAAC;IACvF,QAAQ,CAAC,EAAE,oBAAoB;IAC/B,QAAQ,CAAC,WAAW,6iDAAoB;IACxC,QAAQ,CAAC,WAAW;;sBAAe;IACnC,QAAQ,CAAC,YAAY;;;;;;;;;sBAAgB;IAE/B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IAaxF,OAAO,IAAI,WAAW;CASvB"}
|
|
@@ -70,25 +70,29 @@ IMPORTANT:
|
|
|
70
70
|
// ----------------------------------------------------------------------------
|
|
71
71
|
// SCHEMAS
|
|
72
72
|
// ----------------------------------------------------------------------------
|
|
73
|
-
const SuccessSchema = zod_1.z.object({
|
|
74
|
-
id: zod_1.z.string().describe("The document ID that was requested."),
|
|
75
|
-
title: zod_1.z.string().describe("Document title from frontmatter or filename."),
|
|
76
|
-
category: zod_1.z.string().describe('Document category (e.g., "Getting Started", "References").'),
|
|
77
|
-
wordCount: zod_1.z.number().int().describe("Total words. Useful for reading time estimation."),
|
|
78
|
-
charCount: zod_1.z.number().int().describe("Total characters. Useful for token estimation."),
|
|
79
|
-
lastModified: zod_1.z.date().optional().describe("Last modified timestamp. May be undefined."),
|
|
80
|
-
size: zod_1.z.number().int().optional().describe("File size in bytes. May be undefined."),
|
|
81
|
-
});
|
|
82
|
-
const ErrorSchema = zod_1.z.object({
|
|
83
|
-
id: zod_1.z.string().describe("The document ID that was requested but not found."),
|
|
84
|
-
error: zod_1.z.string().describe("Error message indicating the document was not found."),
|
|
85
|
-
});
|
|
86
73
|
const InputSchema = zod_1.z.object({
|
|
87
74
|
id: zod_1.z.string().min(1).describe(ID_DESCRIPTION),
|
|
88
75
|
});
|
|
89
|
-
const OutputSchema = zod_1.z
|
|
90
|
-
.
|
|
91
|
-
.describe("Document
|
|
76
|
+
const OutputSchema = zod_1.z.object({
|
|
77
|
+
id: zod_1.z.string().describe("The document ID that was requested."),
|
|
78
|
+
title: zod_1.z.string().optional().describe("Document title from frontmatter or filename."),
|
|
79
|
+
category: zod_1.z
|
|
80
|
+
.string()
|
|
81
|
+
.optional()
|
|
82
|
+
.describe('Document category (e.g., "Getting Started", "References").'),
|
|
83
|
+
wordCount: zod_1.z
|
|
84
|
+
.number()
|
|
85
|
+
.int()
|
|
86
|
+
.optional()
|
|
87
|
+
.describe("Total words. Useful for reading time estimation."),
|
|
88
|
+
charCount: zod_1.z.number().int().optional().describe("Total characters. Useful for token estimation."),
|
|
89
|
+
lastModified: zod_1.z
|
|
90
|
+
.string()
|
|
91
|
+
.optional()
|
|
92
|
+
.describe("Last modified timestamp (ISO string). May be undefined."),
|
|
93
|
+
size: zod_1.z.number().int().optional().describe("File size in bytes. May be undefined."),
|
|
94
|
+
error: zod_1.z.string().optional().describe("Error message if document not found."),
|
|
95
|
+
});
|
|
92
96
|
// ----------------------------------------------------------------------------
|
|
93
97
|
// TOOL CLASS
|
|
94
98
|
// ----------------------------------------------------------------------------
|
|
@@ -105,7 +109,10 @@ class GetDocMetadataTool extends base_tool_1.BaseTool {
|
|
|
105
109
|
if (!metadata) {
|
|
106
110
|
return { error: "Document not found", id: input.id };
|
|
107
111
|
}
|
|
108
|
-
return
|
|
112
|
+
return {
|
|
113
|
+
...metadata,
|
|
114
|
+
lastModified: metadata.lastModified?.toISOString(),
|
|
115
|
+
};
|
|
109
116
|
}
|
|
110
117
|
getTool() {
|
|
111
118
|
return (0, base_tool_1.createTool)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-doc-metadata.tool.js","sourceRoot":"","sources":["../../tools/get-doc-metadata.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,wCAAwC;AACxC,2CAAqE;AAErE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCxB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;CAkBtB,CAAC;AAEF,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,
|
|
1
|
+
{"version":3,"file":"get-doc-metadata.tool.js","sourceRoot":"","sources":["../../tools/get-doc-metadata.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,wCAAwC;AACxC,2CAAqE;AAErE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCxB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;CAkBtB,CAAC;AAEF,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC9D,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACrF,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACjG,YAAY,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACtE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACnF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC9E,CAAC,CAAC;AAEH,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,MAAa,kBAAmB,SAAQ,oBAAiD;IAAzF;;QACW,OAAE,GAAG,gBAAgB,CAAC;QACtB,gBAAW,GAAG,gBAAgB,CAAC;QAC/B,gBAAW,GAAG,WAAW,CAAC;QAC1B,iBAAY,GAAG,YAAY,CAAC;IAwBvC,CAAC;IAtBC,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,QAAQ,GAAG,MAAM,oBAAU,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACvD,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,IAAA,sBAAU,EAAC;YAChB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;CACF;AA5BD,gDA4BC"}
|
|
@@ -4,13 +4,15 @@ declare const InputSchema: z.ZodObject<{
|
|
|
4
4
|
query: z.ZodString;
|
|
5
5
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
6
6
|
}, z.core.$strip>;
|
|
7
|
-
declare const OutputSchema: z.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
declare const OutputSchema: z.ZodObject<{
|
|
8
|
+
results: z.ZodArray<z.ZodObject<{
|
|
9
|
+
id: z.ZodString;
|
|
10
|
+
title: z.ZodString;
|
|
11
|
+
category: z.ZodString;
|
|
12
|
+
snippet: z.ZodString;
|
|
13
|
+
score: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
}, z.core.$strip>;
|
|
14
16
|
export declare class SearchDocsTool extends BaseTool<typeof InputSchema, typeof OutputSchema> {
|
|
15
17
|
readonly id = "searchDocs";
|
|
16
18
|
readonly description = "\nPerforms intelligent fuzzy search across the entire Ignis Framework documentation corpus.\n\nPURPOSE:\nUse this tool to find documentation pages relevant to a user's question or topic.\nIt searches both document titles (weighted higher) and content body using the Fuse.js fuzzy matching algorithm.\n\nWHEN TO USE:\n- User asks \"how do I...\" or \"what is...\" questions about Ignis\n- You need to find documentation about a specific feature, concept, or API\n- You want to discover related documentation before diving into specifics\n- User mentions keywords that might appear in documentation\n\nSEARCH BEHAVIOR:\n- Fuzzy matching tolerates typos and partial matches\n- Title matches are weighted 70%, content matches 30%\n- Results sorted by relevance score (lower = better match)\n- Returns snippet previews for quick assessment\n\nWORKFLOW RECOMMENDATION:\n1. Start with searchDocs to find relevant pages\n2. Review returned snippets to identify best matches\n3. Use getDocContent with specific IDs to retrieve full content\n4. Use getDocMetadata if you need document statistics\n\nOUTPUT STRUCTURE:\nReturns array of {id, title, category, snippet, score} objects.\nUse the 'id' field with getDocContent to fetch full document content.\n";
|
|
@@ -18,13 +20,15 @@ export declare class SearchDocsTool extends BaseTool<typeof InputSchema, typeof
|
|
|
18
20
|
query: z.ZodString;
|
|
19
21
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
20
22
|
}, z.core.$strip>;
|
|
21
|
-
readonly outputSchema: z.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
readonly outputSchema: z.ZodObject<{
|
|
24
|
+
results: z.ZodArray<z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
title: z.ZodString;
|
|
27
|
+
category: z.ZodString;
|
|
28
|
+
snippet: z.ZodString;
|
|
29
|
+
score: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
}, z.core.$strip>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
28
32
|
execute(input: z.infer<typeof InputSchema>): Promise<z.infer<typeof OutputSchema>>;
|
|
29
33
|
getTool(): TMastraTool;
|
|
30
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-docs.tool.d.ts","sourceRoot":"","sources":["../../tools/search-docs.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAiFrE,QAAA,MAAM,WAAW;;;iBASf,CAAC;AAEH,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"search-docs.tool.d.ts","sourceRoot":"","sources":["../../tools/search-docs.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAc,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAiFrE,QAAA,MAAM,WAAW;;;iBASf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;iBAIhB,CAAC;AAMH,qBAAa,cAAe,SAAQ,QAAQ,CAAC,OAAO,WAAW,EAAE,OAAO,YAAY,CAAC;IACnF,QAAQ,CAAC,EAAE,gBAAgB;IAC3B,QAAQ,CAAC,WAAW,kuCAAoB;IACxC,QAAQ,CAAC,WAAW;;;sBAAe;IACnC,QAAQ,CAAC,YAAY;;;;;;;;sBAAgB;IAE/B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IAQxF,OAAO,IAAI,WAAW;CASvB"}
|
|
@@ -86,9 +86,11 @@ const InputSchema = zod_1.z.object({
|
|
|
86
86
|
.default(common_1.MCP_CONFIG.search.defaultLimit)
|
|
87
87
|
.describe(LIMIT_DESCRIPTION),
|
|
88
88
|
});
|
|
89
|
-
const OutputSchema = zod_1.z
|
|
90
|
-
.
|
|
91
|
-
|
|
89
|
+
const OutputSchema = zod_1.z.object({
|
|
90
|
+
results: zod_1.z
|
|
91
|
+
.array(SearchResultSchema)
|
|
92
|
+
.describe("Search results sorted by relevance. Empty array if no matches."),
|
|
93
|
+
});
|
|
92
94
|
// ----------------------------------------------------------------------------
|
|
93
95
|
// TOOL CLASS
|
|
94
96
|
// ----------------------------------------------------------------------------
|
|
@@ -101,10 +103,11 @@ class SearchDocsTool extends base_tool_1.BaseTool {
|
|
|
101
103
|
this.outputSchema = OutputSchema;
|
|
102
104
|
}
|
|
103
105
|
async execute(input) {
|
|
104
|
-
|
|
106
|
+
const results = await helpers_1.DocsHelper.searchDocs({
|
|
105
107
|
query: input.query,
|
|
106
108
|
limit: input.limit,
|
|
107
109
|
});
|
|
110
|
+
return { results };
|
|
108
111
|
}
|
|
109
112
|
getTool() {
|
|
110
113
|
return (0, base_tool_1.createTool)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-docs.tool.js","sourceRoot":"","sources":["../../tools/search-docs.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sCAAuC;AACvC,wCAAwC;AACxC,2CAAqE;AAErE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;YAId,mBAAU,CAAC,MAAM,CAAC,cAAc;;;;;;;;;CAS3C,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;aAKb,mBAAU,CAAC,MAAM,CAAC,QAAQ;aAC1B,mBAAU,CAAC,MAAM,CAAC,YAAY;;;;;;CAM1C,CAAC;AAEF,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,OAAC;SACF,MAAM,EAAE;SACR,QAAQ,CACP,oGAAoG,CACrG;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACzF,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAC3F,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACrF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACrF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnF,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,mBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC/B,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,YAAY,CAAC;SACvC,QAAQ,CAAC,iBAAiB,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC;
|
|
1
|
+
{"version":3,"file":"search-docs.tool.js","sourceRoot":"","sources":["../../tools/search-docs.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sCAAuC;AACvC,wCAAwC;AACxC,2CAAqE;AAErE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;YAId,mBAAU,CAAC,MAAM,CAAC,cAAc;;;;;;;;;CAS3C,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;aAKb,mBAAU,CAAC,MAAM,CAAC,QAAQ;aAC1B,mBAAU,CAAC,MAAM,CAAC,YAAY;;;;;;CAM1C,CAAC;AAEF,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,OAAC;SACF,MAAM,EAAE;SACR,QAAQ,CACP,oGAAoG,CACrG;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACzF,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAC3F,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACrF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACrF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnF,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,mBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC/B,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,YAAY,CAAC;SACvC,QAAQ,CAAC,iBAAiB,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAC;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,QAAQ,CAAC,gEAAgE,CAAC;CAC9E,CAAC,CAAC;AAEH,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,MAAa,cAAe,SAAQ,oBAAiD;IAArF;;QACW,OAAE,GAAG,YAAY,CAAC;QAClB,gBAAW,GAAG,gBAAgB,CAAC;QAC/B,gBAAW,GAAG,WAAW,CAAC;QAC1B,iBAAY,GAAG,YAAY,CAAC;IAmBvC,CAAC;IAjBC,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,OAAO,GAAG,MAAM,oBAAU,CAAC,UAAU,CAAC;YAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAA,sBAAU,EAAC;YAChB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;CACF;AAvBD,wCAuBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ignis-docs",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-3",
|
|
4
4
|
"description": "Documentation and MCP Server for Ignis Framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ignis",
|
|
@@ -34,6 +34,8 @@
|
|
|
34
34
|
"ignis-docs-mcp": "./mcp-server/dist/index.js"
|
|
35
35
|
},
|
|
36
36
|
"files": [
|
|
37
|
+
"README.md",
|
|
38
|
+
"LICENSE.md",
|
|
37
39
|
"mcp-server/dist",
|
|
38
40
|
"wiki"
|
|
39
41
|
],
|
|
@@ -62,7 +64,7 @@
|
|
|
62
64
|
},
|
|
63
65
|
"repository": {
|
|
64
66
|
"type": "git",
|
|
65
|
-
"url": "https://github.com/
|
|
67
|
+
"url": "git+https://github.com/VENIZIA-AI/ignis.git",
|
|
66
68
|
"directory": "packages/docs"
|
|
67
69
|
},
|
|
68
70
|
"author": {
|