@equinor/fusion-framework-cli-plugin-ai-mcp 1.0.5 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +67 -2
- package/README.md +70 -80
- package/dist/esm/index.js +12 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mcp.js +7 -2
- package/dist/esm/mcp.js.map +1 -1
- package/dist/esm/tools/fusion-search-api.js +18 -3
- package/dist/esm/tools/fusion-search-api.js.map +1 -1
- package/dist/esm/tools/fusion-search-cookbook.js +15 -3
- package/dist/esm/tools/fusion-search-cookbook.js.map +1 -1
- package/dist/esm/tools/fusion-search-eds.js +15 -3
- package/dist/esm/tools/fusion-search-eds.js.map +1 -1
- package/dist/esm/tools/fusion-search-markdown.js +15 -3
- package/dist/esm/tools/fusion-search-markdown.js.map +1 -1
- package/dist/esm/tools/fusion-search.tool.js +19 -2
- package/dist/esm/tools/fusion-search.tool.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +12 -2
- package/dist/types/mcp.d.ts +7 -0
- package/dist/types/tools/fusion-search-api.d.ts +18 -3
- package/dist/types/tools/fusion-search-cookbook.d.ts +15 -3
- package/dist/types/tools/fusion-search-eds.d.ts +15 -3
- package/dist/types/tools/fusion-search-markdown.d.ts +15 -3
- package/dist/types/tools/fusion-search.tool.d.ts +22 -2
- package/dist/types/version.d.ts +1 -1
- package/package.json +10 -8
- package/src/index.ts +12 -2
- package/src/mcp.ts +14 -3
- package/src/tools/fusion-search-api.ts +18 -3
- package/src/tools/fusion-search-cookbook.ts +15 -3
- package/src/tools/fusion-search-eds.ts +15 -3
- package/src/tools/fusion-search-markdown.ts +15 -3
- package/src/tools/fusion-search.tool.ts +28 -3
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,72 @@
|
|
|
1
1
|
# @equinor/fusion-framework-cli-plugin-ai-mcp
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- abffa53: Major version bump for Fusion Framework React 19 release.
|
|
8
|
+
|
|
9
|
+
All packages are bumped to the next major version as part of the React 19 upgrade. This release drops support for React versions below 18 and includes breaking changes across the framework.
|
|
10
|
+
|
|
11
|
+
**Breaking changes:**
|
|
12
|
+
- Peer dependencies now require React 18 or 19 (`^18.0.0 || ^19.0.0`)
|
|
13
|
+
- React Router upgraded from v6 to v7
|
|
14
|
+
- Navigation module refactored with new history API
|
|
15
|
+
- `renderComponent` and `renderApp` now use `createRoot` API
|
|
16
|
+
|
|
17
|
+
**Migration:**
|
|
18
|
+
- Update your React version to 18.0.0 or higher before upgrading
|
|
19
|
+
- Replace `NavigationProvider.createRouter()` with `@equinor/fusion-framework-react-router`
|
|
20
|
+
- See individual package changelogs for package-specific migration steps
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- aaa3f74: fix(security): address hono prototype pollution (GHSA-v8w9-8mx6-g223)
|
|
25
|
+
|
|
26
|
+
Upgrade hono from 4.12.5 to 4.12.8 to fix prototype pollution vulnerability in parseBody({ dot: true }). The vulnerability allowed specially crafted form field names like `__proto__.x` to potentially enable prototype pollution if parsed data was later merged unsafely. This is a non-breaking security patch.
|
|
27
|
+
|
|
28
|
+
**Advisory**: GHSA-v8w9-8mx6-g223 (Moderate, CVSS 4.8)
|
|
29
|
+
**Fixed in**: hono 4.12.8
|
|
30
|
+
|
|
31
|
+
- aaa3f74: fix(security): address undici multiple vulnerabilities (CVE-2026-1524, 1527, 1528, 2581)
|
|
32
|
+
|
|
33
|
+
Upgrade undici from 7.22.0 to 7.24.3 to fix multiple security vulnerabilities affecting WebSocket parsing, HTTP header validation, and request deduplication:
|
|
34
|
+
- **CVE-2026-1528** (HIGH): WebSocket 64-bit length integer overflow causing process crash
|
|
35
|
+
- **CVE-2026-1524** (MODERATE): HTTP/1.1 response field header injection
|
|
36
|
+
- **CVE-2026-1527** (MODERATE): CRLF injection via upgrade option enabling protocol smuggling
|
|
37
|
+
- **CVE-2026-2581** (MODERATE): Unbounded memory consumption in deduplication handler
|
|
38
|
+
|
|
39
|
+
These are non-breaking security patches that harden undici against untrusted upstream endpoints and malicious WebSocket frames.
|
|
40
|
+
|
|
41
|
+
**Advisories**: GHSA-f269-vfmq-vjvj, GHSA-v9p9-hfj2-hcw8, GHSA-4992-7rv2-5pvq, GHSA-phc3-fgpg-7m6h
|
|
42
|
+
**Fixed in**: undici 7.24.0+ (deployed 7.24.3)
|
|
43
|
+
|
|
44
|
+
- 3de232c: fix(cli): break turbo workspace cycle for AI plugins
|
|
45
|
+
|
|
46
|
+
Upgrade turbo from 2.8.10 to 2.8.14. This version introduces stricter workspace cycle detection, requiring the AI plugin dependencies to be moved from the CLI package's devDependencies to the root package.json.
|
|
47
|
+
|
|
48
|
+
The CLI plugins are now configured at the repository root (fusion-cli.config.ts) instead of in the packages/cli package, ensuring a clean workspace dependency graph for turbo's build scheduler.
|
|
49
|
+
|
|
50
|
+
This change has no impact on the published CLI package's public API. Plugins continue to be wired identically; only the source of the wire definition has changed.
|
|
51
|
+
|
|
52
|
+
Additional improvements from turbo 2.8.14:
|
|
53
|
+
- Fix: Ensures turbo watch mode respects task dependencies on first run
|
|
54
|
+
- Perf: Skip irrelevant packages for faster monorepo builds
|
|
55
|
+
- Feature: AI agent telemetry support in turbo traces
|
|
56
|
+
|
|
57
|
+
- Updated dependencies [abffa53]
|
|
58
|
+
- Updated dependencies [abffa53]
|
|
59
|
+
- Updated dependencies [abffa53]
|
|
60
|
+
- Updated dependencies [ae92f13]
|
|
61
|
+
- Updated dependencies [abffa53]
|
|
62
|
+
- Updated dependencies [c123c39]
|
|
63
|
+
- Updated dependencies [3de232c]
|
|
64
|
+
- Updated dependencies [32bcf83]
|
|
65
|
+
- @equinor/fusion-framework-cli@14.0.0
|
|
66
|
+
- @equinor/fusion-framework-cli-plugin-ai-base@2.0.0
|
|
67
|
+
- @equinor/fusion-framework-module@6.0.0
|
|
68
|
+
- @equinor/fusion-framework-module-ai@3.0.0
|
|
69
|
+
|
|
3
70
|
## 1.0.5
|
|
4
71
|
|
|
5
72
|
### Patch Changes
|
|
@@ -60,7 +127,6 @@
|
|
|
60
127
|
This plugin extends the Fusion Framework CLI with MCP server capabilities, enabling AI assistants to search and query Fusion Framework documentation through specialized semantic search tools.
|
|
61
128
|
|
|
62
129
|
**Features:**
|
|
63
|
-
|
|
64
130
|
- MCP protocol server implementation (stdio transport)
|
|
65
131
|
- Fusion Framework API reference search (TypeScript/TSDoc)
|
|
66
132
|
- Cookbook examples and tutorials search
|
|
@@ -69,7 +135,6 @@
|
|
|
69
135
|
- Vector store integration via Azure Cognitive Search
|
|
70
136
|
|
|
71
137
|
**Quick Usage:**
|
|
72
|
-
|
|
73
138
|
1. Install the plugin:
|
|
74
139
|
|
|
75
140
|
```sh
|
package/README.md
CHANGED
|
@@ -1,129 +1,119 @@
|
|
|
1
1
|
# @equinor/fusion-framework-cli-plugin-ai-mcp
|
|
2
2
|
|
|
3
|
-
MCP server
|
|
3
|
+
CLI plugin that adds a [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) server to the Fusion Framework CLI (`ffc`). AI assistants such as Claude Desktop, Cursor, VS Code Copilot, and other MCP-compatible clients can connect to the server and semantically search the Fusion Framework codebase — API reference, cookbooks, markdown docs, and EDS Storybook content — via Azure Cognitive Search.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Who should use this
|
|
6
|
+
|
|
7
|
+
- **AI-tool authors** integrating Fusion Framework knowledge into LLM workflows
|
|
8
|
+
- **Developers** who want context-aware code assistance inside their editor
|
|
9
|
+
- **Platform teams** embedding Fusion search into custom MCP client setups
|
|
10
|
+
|
|
11
|
+
## Quick start
|
|
12
|
+
|
|
13
|
+
### 1 — Install
|
|
6
14
|
|
|
7
15
|
```sh
|
|
8
16
|
pnpm add -D @equinor/fusion-framework-cli-plugin-ai-mcp
|
|
9
17
|
```
|
|
10
18
|
|
|
11
|
-
|
|
19
|
+
### 2 — Register the plugin
|
|
12
20
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
21
|
+
```ts
|
|
22
|
+
// fusion-cli.config.ts
|
|
16
23
|
import { defineFusionCli } from '@equinor/fusion-framework-cli';
|
|
17
24
|
|
|
18
25
|
export default defineFusionCli(() => ({
|
|
19
|
-
plugins: [
|
|
20
|
-
'@equinor/fusion-framework-cli-plugin-ai-mcp',
|
|
21
|
-
],
|
|
26
|
+
plugins: ['@equinor/fusion-framework-cli-plugin-ai-mcp'],
|
|
22
27
|
}));
|
|
23
28
|
```
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
## Features
|
|
28
|
-
|
|
29
|
-
This plugin extends the Fusion Framework CLI with MCP server capabilities:
|
|
30
|
-
|
|
31
|
-
- **MCP Protocol Server** - Implements the Model Context Protocol for AI assistant integration
|
|
32
|
-
- **Fusion Framework Tools** - Exposes tools for searching and querying the Fusion Framework codebase
|
|
33
|
-
- **Vector Store Integration** - Uses Azure Cognitive Search for semantic code search
|
|
34
|
-
- **Framework Information** - Provides tools to query framework configuration and capabilities
|
|
35
|
-
|
|
36
|
-
## Usage
|
|
37
|
-
|
|
38
|
-
Once installed, the MCP server command is automatically available:
|
|
30
|
+
### 3 — Start the server
|
|
39
31
|
|
|
40
32
|
```sh
|
|
41
|
-
# Start the MCP server (uses stdio by default)
|
|
42
33
|
ffc ai mcp
|
|
43
34
|
```
|
|
44
35
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
### `ai mcp`
|
|
48
|
-
|
|
49
|
-
Starts a Model Context Protocol (MCP) server that provides tools and resources for AI assistants to interact with the Fusion Framework.
|
|
36
|
+
The server communicates over **stdio** (the standard MCP transport). All diagnostic output is written to **stderr** so it never interferes with the protocol stream.
|
|
50
37
|
|
|
51
|
-
|
|
52
|
-
- Implements MCP protocol over stdio (standard for MCP servers)
|
|
53
|
-
- Exposes tools for semantic search of Fusion Framework codebase
|
|
54
|
-
- Provides framework information and configuration details
|
|
55
|
-
- Integrates with Azure Cognitive Search for vector-based code search
|
|
38
|
+
## CLI options
|
|
56
39
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
40
|
+
| Flag | Environment variable | Description | Required |
|
|
41
|
+
|------|---------------------|-------------|----------|
|
|
42
|
+
| `--openai-api-key` | `AZURE_OPENAI_API_KEY` | Azure OpenAI API key | Yes |
|
|
43
|
+
| `--openai-api-version` | `AZURE_OPENAI_API_VERSION` | API version (default `2024-02-15-preview`) | No |
|
|
44
|
+
| `--openai-instance` | `AZURE_OPENAI_INSTANCE_NAME` | Azure OpenAI instance name | Yes |
|
|
45
|
+
| `--openai-embedding-deployment` | `AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME` | Embedding deployment name | Yes |
|
|
46
|
+
| `--azure-search-endpoint` | `AZURE_SEARCH_ENDPOINT` | Azure Cognitive Search endpoint URL | Yes |
|
|
47
|
+
| `--azure-search-api-key` | `AZURE_SEARCH_API_KEY` | Azure Cognitive Search API key | Yes |
|
|
48
|
+
| `--azure-search-index-name` | `AZURE_SEARCH_INDEX_NAME` | Azure Cognitive Search index name | Yes |
|
|
49
|
+
| `--verbose` | — | Write diagnostic messages to stderr | No |
|
|
66
50
|
|
|
67
|
-
|
|
68
|
-
```sh
|
|
69
|
-
$ ffc ai mcp
|
|
70
|
-
$ ffc ai mcp --verbose
|
|
71
|
-
$ ffc ai mcp --azure-search-endpoint https://my-search.search.windows.net
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## MCP Tools
|
|
51
|
+
Every flag can also be set via the matching environment variable.
|
|
75
52
|
|
|
76
|
-
|
|
53
|
+
## MCP tools
|
|
77
54
|
|
|
78
55
|
### `fusion_search`
|
|
79
56
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
**Parameters:**
|
|
83
|
-
- `query` (string, required) - The search query to find relevant code or documentation
|
|
84
|
-
- `limit` (number, optional) - Maximum number of results to return (default: 5)
|
|
85
|
-
|
|
86
|
-
**Returns:**
|
|
87
|
-
- JSON object with search results including content and metadata
|
|
88
|
-
|
|
89
|
-
### `fusion_info`
|
|
57
|
+
Unified semantic search across all Fusion Framework documentation.
|
|
90
58
|
|
|
91
|
-
|
|
59
|
+
| Parameter | Type | Default | Description |
|
|
60
|
+
|-----------|------|---------|-------------|
|
|
61
|
+
| `query` | `string` | — | Natural-language search query (required) |
|
|
62
|
+
| `limit` | `number` | `5` | Maximum results to return (recommended 3–8) |
|
|
63
|
+
| `category` | `'all'` | `'all'` | Category filter (currently only `all` is exposed) |
|
|
92
64
|
|
|
93
|
-
**
|
|
94
|
-
- None
|
|
65
|
+
The tool uses **Maximal Marginal Relevance (MMR)** retrieval to balance relevance and diversity, reducing near-duplicate results. Results are returned as MCP `text` content items with `_meta` containing document metadata and source links.
|
|
95
66
|
|
|
96
|
-
|
|
97
|
-
- JSON object with framework version, module status, and service configuration
|
|
67
|
+
## Integration with AI assistants
|
|
98
68
|
|
|
99
|
-
|
|
69
|
+
### Claude Desktop / Cursor / VS Code Copilot
|
|
100
70
|
|
|
101
|
-
|
|
71
|
+
Add the server to your MCP client configuration:
|
|
102
72
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
```json
|
|
73
|
+
```jsonc
|
|
74
|
+
// Example: Claude Desktop mcp config
|
|
106
75
|
{
|
|
107
76
|
"mcpServers": {
|
|
108
77
|
"fusion-framework": {
|
|
109
78
|
"command": "ffc",
|
|
110
79
|
"args": ["ai", "mcp"],
|
|
111
80
|
"env": {
|
|
112
|
-
"AZURE_OPENAI_API_KEY": "
|
|
113
|
-
"AZURE_OPENAI_INSTANCE_NAME": "
|
|
114
|
-
"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME": "
|
|
115
|
-
"AZURE_SEARCH_ENDPOINT": "https
|
|
116
|
-
"AZURE_SEARCH_API_KEY": "
|
|
117
|
-
"AZURE_SEARCH_INDEX_NAME": "
|
|
81
|
+
"AZURE_OPENAI_API_KEY": "<key>",
|
|
82
|
+
"AZURE_OPENAI_INSTANCE_NAME": "<instance>",
|
|
83
|
+
"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME": "<deployment>",
|
|
84
|
+
"AZURE_SEARCH_ENDPOINT": "https://<service>.search.windows.net",
|
|
85
|
+
"AZURE_SEARCH_API_KEY": "<search-key>",
|
|
86
|
+
"AZURE_SEARCH_INDEX_NAME": "<index>"
|
|
118
87
|
}
|
|
119
88
|
}
|
|
120
89
|
}
|
|
121
90
|
}
|
|
122
91
|
```
|
|
123
92
|
|
|
124
|
-
##
|
|
93
|
+
## Architecture
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
src/
|
|
97
|
+
├── index.ts # Plugin registration entry point
|
|
98
|
+
├── mcp.ts # Commander command, MCP server bootstrap, stdio transport
|
|
99
|
+
├── version.ts # Auto-generated package version
|
|
100
|
+
└── tools/
|
|
101
|
+
├── fusion-search.tool.ts # Primary `fusion_search` tool (MMR retrieval)
|
|
102
|
+
├── fusion-search-api.ts # Category: TSDoc / API reference
|
|
103
|
+
├── fusion-search-cookbook.ts # Category: cookbooks & tutorials
|
|
104
|
+
├── fusion-search-eds.ts # Category: EDS Storybook stories
|
|
105
|
+
└── fusion-search-markdown.ts # Category: markdown guides & READMEs
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Key exports
|
|
125
109
|
|
|
126
|
-
|
|
110
|
+
| Export | Module | Description |
|
|
111
|
+
|--------|--------|-------------|
|
|
112
|
+
| `registerAiPlugin` | `index.ts` | Registers the `ai mcp` command with the CLI |
|
|
113
|
+
| `command` | `mcp.ts` | Fully-configured Commander command |
|
|
114
|
+
| `toolConfig` / `handleTool` | `fusion-search.tool.ts` | MCP tool config and curried handler |
|
|
115
|
+
| `FusionSearchCategory` | `fusion-search.tool.ts` | Union type for search category filters |
|
|
116
|
+
| `inputSchema` | `fusion-search.tool.ts` | Zod schema for tool input validation |
|
|
127
117
|
|
|
128
118
|
## License
|
|
129
119
|
|
package/dist/esm/index.js
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { registerAiPlugin as registerAiPluginBase } from '@equinor/fusion-framework-cli-plugin-ai-base';
|
|
2
2
|
import { command as mcpCommand } from './mcp.js';
|
|
3
3
|
/**
|
|
4
|
-
* Registers the AI MCP server plugin
|
|
5
|
-
*
|
|
4
|
+
* Registers the AI MCP server plugin with the Fusion Framework CLI.
|
|
5
|
+
*
|
|
6
|
+
* Adds the `ai mcp` subcommand to the given Commander program so that
|
|
7
|
+
* running `ffc ai mcp` starts a Model Context Protocol server.
|
|
8
|
+
*
|
|
9
|
+
* @param program - Root Commander {@link Command} instance provided by the CLI bootstrap
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { registerAiPlugin } from '@equinor/fusion-framework-cli-plugin-ai-mcp';
|
|
14
|
+
* registerAiPlugin(program);
|
|
15
|
+
* ```
|
|
6
16
|
*/
|
|
7
17
|
export function registerAiPlugin(program) {
|
|
8
18
|
registerAiPluginBase(program, mcpCommand);
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACxG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACxG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
package/dist/esm/mcp.js
CHANGED
|
@@ -55,8 +55,13 @@ const _command = createCommand('mcp')
|
|
|
55
55
|
process.exit(0);
|
|
56
56
|
});
|
|
57
57
|
});
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Fully-configured Commander {@link Command} for `ai mcp`.
|
|
60
|
+
*
|
|
61
|
+
* Includes all Azure OpenAI embedding and Azure Search options required by
|
|
62
|
+
* the search tools. Chat options are excluded because the MCP server does
|
|
63
|
+
* not perform chat completions.
|
|
64
|
+
*/
|
|
60
65
|
export const command = withAiOptions(_command, {
|
|
61
66
|
includeChat: false,
|
|
62
67
|
includeEmbedding: true,
|
package/dist/esm/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAEL,WAAW,IAAI,aAAa,GAC7B,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,UAAU,IAAI,gBAAgB,EAC9B,UAAU,IAAI,gBAAgB,GAC/B,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* MCP tool definition for `fusion_search_api`.
|
|
3
|
+
*
|
|
4
|
+
* Enables semantic search scoped to Fusion Framework TypeScript API
|
|
5
|
+
* reference — TSDoc blocks, function signatures, class definitions,
|
|
6
|
+
* and interface declarations indexed as `tsdoc` documents.
|
|
7
|
+
*
|
|
8
|
+
* Registered with the MCP server so that AI assistants can discover
|
|
9
|
+
* and invoke the tool by name.
|
|
4
10
|
*/
|
|
5
11
|
export const toolDefinition = {
|
|
6
12
|
name: 'fusion_search_api',
|
|
@@ -22,7 +28,16 @@ export const toolDefinition = {
|
|
|
22
28
|
},
|
|
23
29
|
};
|
|
24
30
|
/**
|
|
25
|
-
*
|
|
31
|
+
* Handles invocations of the `fusion_search_api` MCP tool.
|
|
32
|
+
*
|
|
33
|
+
* Queries the Azure Cognitive Search vector store with a `tsdoc` category
|
|
34
|
+
* filter and returns matching documents as JSON text content.
|
|
35
|
+
*
|
|
36
|
+
* @param args - Raw tool arguments containing `query` (string) and optional `limit` (number)
|
|
37
|
+
* @param framework - Active {@link FrameworkInstance} with the AI module loaded
|
|
38
|
+
* @param options - AI plugin options including Azure Search index name and optional `verbose` flag
|
|
39
|
+
* @returns MCP-compliant content array with search results, or an error payload
|
|
40
|
+
* @throws {Error} If the vector store is not configured or `query` is missing
|
|
26
41
|
*/
|
|
27
42
|
export async function handleTool(args, framework, options) {
|
|
28
43
|
if (!options.azureSearchIndexName || !framework.ai) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-search-api.js","sourceRoot":"","sources":["../../../src/tools/fusion-search-api.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"fusion-search-api.js","sourceRoot":"","sources":["../../../src/tools/fusion-search-api.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,qLAAqL;IACvL,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+DAA+D;aAC7E;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;gBAC/D,OAAO,EAAE,CAAC;aACX;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACO,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAA6B,EAC7B,SAA4B,EAC5B,OAA0C;IAK1C,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;IACpC,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC;QAC/C,CAAC,EAAE,KAAK;QACR,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE;YACN,gBAAgB,EAAE,oEAAoE;SACvF;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,KAAK;oBACL,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,IAAI,CAAC,GAAG,CACf,CAAC,GAA+D,EAAE,EAAE,CAAC,CAAC;wBACpE,OAAO,EAAE,GAAG,CAAC,WAAW;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACvB,CAAC,CACH;oBACD,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* MCP tool definition for `fusion_search_cookbook`.
|
|
3
|
+
*
|
|
4
|
+
* Enables semantic search scoped to Fusion Framework cookbook content —
|
|
5
|
+
* example implementations, tutorials, how-to guides, and practical recipes
|
|
6
|
+
* indexed as `cookbook` documents.
|
|
4
7
|
*/
|
|
5
8
|
export const toolDefinition = {
|
|
6
9
|
name: 'fusion_search_cookbook',
|
|
@@ -22,7 +25,16 @@ export const toolDefinition = {
|
|
|
22
25
|
},
|
|
23
26
|
};
|
|
24
27
|
/**
|
|
25
|
-
*
|
|
28
|
+
* Handles invocations of the `fusion_search_cookbook` MCP tool.
|
|
29
|
+
*
|
|
30
|
+
* Queries the Azure Cognitive Search vector store with a `cookbook` category
|
|
31
|
+
* filter and returns matching tutorial / recipe documents as JSON text content.
|
|
32
|
+
*
|
|
33
|
+
* @param args - Raw tool arguments containing `query` (string) and optional `limit` (number)
|
|
34
|
+
* @param framework - Active {@link FrameworkInstance} with the AI module loaded
|
|
35
|
+
* @param options - AI plugin options including Azure Search index name and optional `verbose` flag
|
|
36
|
+
* @returns MCP-compliant content array with search results, or an error payload
|
|
37
|
+
* @throws {Error} If the vector store is not configured or `query` is missing
|
|
26
38
|
*/
|
|
27
39
|
export async function handleTool(args, framework, options) {
|
|
28
40
|
if (!options.azureSearchIndexName || !framework.ai) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-search-cookbook.js","sourceRoot":"","sources":["../../../src/tools/fusion-search-cookbook.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"fusion-search-cookbook.js","sourceRoot":"","sources":["../../../src/tools/fusion-search-cookbook.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,mJAAmJ;IACrJ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mEAAmE;aACjF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;gBAC/D,OAAO,EAAE,CAAC;aACX;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACO,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAA6B,EAC7B,SAA4B,EAC5B,OAA0C;IAK1C,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;IACpC,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC;QAC/C,CAAC,EAAE,KAAK;QACR,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE;YACN,gBAAgB,EAAE,uEAAuE;SAC1F;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,KAAK;oBACL,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,IAAI,CAAC,GAAG,CACf,CAAC,GAA+D,EAAE,EAAE,CAAC,CAAC;wBACpE,OAAO,EAAE,GAAG,CAAC,WAAW;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACvB,CAAC,CACH;oBACD,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* MCP tool definition for `fusion_search_eds`.
|
|
3
|
+
*
|
|
4
|
+
* Enables semantic search scoped to EDS (Equinor Design System) Storybook
|
|
5
|
+
* content — component examples, prop tables, usage patterns, accessibility
|
|
6
|
+
* notes, and design-token references indexed as `storybook` documents.
|
|
4
7
|
*/
|
|
5
8
|
export const toolDefinition = {
|
|
6
9
|
name: 'fusion_search_eds',
|
|
@@ -22,7 +25,16 @@ export const toolDefinition = {
|
|
|
22
25
|
},
|
|
23
26
|
};
|
|
24
27
|
/**
|
|
25
|
-
*
|
|
28
|
+
* Handles invocations of the `fusion_search_eds` MCP tool.
|
|
29
|
+
*
|
|
30
|
+
* Queries the Azure Cognitive Search vector store with a `storybook` category
|
|
31
|
+
* filter and returns matching EDS component documents as JSON text content.
|
|
32
|
+
*
|
|
33
|
+
* @param args - Raw tool arguments containing `query` (string) and optional `limit` (number)
|
|
34
|
+
* @param framework - Active {@link FrameworkInstance} with the AI module loaded
|
|
35
|
+
* @param options - AI plugin options including Azure Search index name and optional `verbose` flag
|
|
36
|
+
* @returns MCP-compliant content array with search results, or an error payload
|
|
37
|
+
* @throws {Error} If the vector store is not configured or `query` is missing
|
|
26
38
|
*/
|
|
27
39
|
export async function handleTool(args, framework, options) {
|
|
28
40
|
if (!options.azureSearchIndexName || !framework.ai) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-search-eds.js","sourceRoot":"","sources":["../../../src/tools/fusion-search-eds.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"fusion-search-eds.js","sourceRoot":"","sources":["../../../src/tools/fusion-search-eds.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,4KAA4K;IAC9K,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,gFAAgF;aACnF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;gBAC/D,OAAO,EAAE,CAAC;aACX;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACO,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAA6B,EAC7B,SAA4B,EAC5B,OAA0C;IAK1C,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;IACpC,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,8CAA8C,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC;QAC/C,CAAC,EAAE,KAAK;QACR,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE;YACN,gBAAgB,EAAE,wEAAwE;SAC3F;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,KAAK;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,IAAI,CAAC,GAAG,CACf,CAAC,GAA+D,EAAE,EAAE,CAAC,CAAC;wBACpE,OAAO,EAAE,GAAG,CAAC,WAAW;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACvB,CAAC,CACH;oBACD,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* MCP tool definition for `fusion_search_markdown`.
|
|
3
|
+
*
|
|
4
|
+
* Enables semantic search scoped to Fusion Framework markdown
|
|
5
|
+
* documentation — architecture guides, migration notes, conceptual
|
|
6
|
+
* overviews, and README content indexed as `markdown` documents.
|
|
4
7
|
*/
|
|
5
8
|
export const toolDefinition = {
|
|
6
9
|
name: 'fusion_search_markdown',
|
|
@@ -22,7 +25,16 @@ export const toolDefinition = {
|
|
|
22
25
|
},
|
|
23
26
|
};
|
|
24
27
|
/**
|
|
25
|
-
*
|
|
28
|
+
* Handles invocations of the `fusion_search_markdown` MCP tool.
|
|
29
|
+
*
|
|
30
|
+
* Queries the Azure Cognitive Search vector store with a `markdown` category
|
|
31
|
+
* filter and returns matching documentation pages as JSON text content.
|
|
32
|
+
*
|
|
33
|
+
* @param args - Raw tool arguments containing `query` (string) and optional `limit` (number)
|
|
34
|
+
* @param framework - Active {@link FrameworkInstance} with the AI module loaded
|
|
35
|
+
* @param options - AI plugin options including Azure Search index name and optional `verbose` flag
|
|
36
|
+
* @returns MCP-compliant content array with search results, or an error payload
|
|
37
|
+
* @throws {Error} If the vector store is not configured or `query` is missing
|
|
26
38
|
*/
|
|
27
39
|
export async function handleTool(args, framework, options) {
|
|
28
40
|
if (!options.azureSearchIndexName || !framework.ai) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-search-markdown.js","sourceRoot":"","sources":["../../../src/tools/fusion-search-markdown.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"fusion-search-markdown.js","sourceRoot":"","sources":["../../../src/tools/fusion-search-markdown.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,gJAAgJ;IAClJ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;aACxE;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;gBAC/D,OAAO,EAAE,CAAC;aACX;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACO,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAA6B,EAC7B,SAA4B,EAC5B,OAA0C;IAK1C,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;IACpC,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,4CAA4C,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC;QAC/C,CAAC,EAAE,KAAK;QACR,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE;YACN,gBAAgB,EAAE,uEAAuE;SAC1F;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,KAAK;oBACL,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,IAAI,CAAC,GAAG,CACf,CAAC,GAA+D,EAAE,EAAE,CAAC,CAAC;wBACpE,OAAO,EAAE,GAAG,CAAC,WAAW;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACvB,CAAC,CACH;oBACD,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Zod input schema for the `fusion_search` MCP tool.
|
|
4
|
+
*
|
|
5
|
+
* Validates and documents the parameters that AI assistants supply when
|
|
6
|
+
* invoking the tool: a required `query` string, an optional `limit`
|
|
7
|
+
* (default 5), and an optional `category` filter (currently locked
|
|
8
|
+
* to `'all'`).
|
|
9
|
+
*/
|
|
2
10
|
export const inputSchema = z.object({
|
|
3
11
|
query: z
|
|
4
12
|
.string()
|
|
@@ -25,7 +33,11 @@ export const inputSchema = z.object({
|
|
|
25
33
|
// ),
|
|
26
34
|
});
|
|
27
35
|
/**
|
|
28
|
-
*
|
|
36
|
+
* Configuration object passed to `McpServer.registerTool()` for the
|
|
37
|
+
* `fusion_search` tool.
|
|
38
|
+
*
|
|
39
|
+
* Contains the human-readable description shown to AI assistants and the
|
|
40
|
+
* Zod {@link inputSchema} used for argument validation.
|
|
29
41
|
*/
|
|
30
42
|
export const toolConfig = {
|
|
31
43
|
description: [
|
|
@@ -36,7 +48,12 @@ export const toolConfig = {
|
|
|
36
48
|
inputSchema,
|
|
37
49
|
};
|
|
38
50
|
/**
|
|
39
|
-
* Azure Cognitive Search OData filter expressions
|
|
51
|
+
* Azure Cognitive Search OData filter expressions keyed by
|
|
52
|
+
* {@link FusionSearchCategory}.
|
|
53
|
+
*
|
|
54
|
+
* Each expression restricts the vector search to documents whose
|
|
55
|
+
* `metadata/attributes` collection contains a matching `type` value.
|
|
56
|
+
* The `all` category maps to `undefined` (no filter applied).
|
|
40
57
|
*/
|
|
41
58
|
const FILTER_EXPRESSIONS = {
|
|
42
59
|
api: "metadata/attributes/any(x: x/key eq 'type' and x/value eq 'tsdoc')",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-search.tool.js","sourceRoot":"","sources":["../../../src/tools/fusion-search.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"fusion-search.tool.js","sourceRoot":"","sources":["../../../src/tools/fusion-search.tool.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED