@progress/kendo-angular-webmcp 24.0.0-develop.41

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.
@@ -0,0 +1,128 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { NgZone } from '@angular/core';
6
+ /**
7
+ * Type declarations for the Web Model Context Protocol (MCP) browser API.
8
+ * Available in Chrome 146+ behind the `chrome://flags/#model-context-protocol` flag.
9
+ */
10
+ /**
11
+ * @hidden
12
+ */
13
+ export interface McpToolDefinition {
14
+ name: string;
15
+ description: string;
16
+ inputSchema: Record<string, any>;
17
+ outputSchema?: Record<string, any>;
18
+ execute: (args: Record<string, any>) => unknown;
19
+ }
20
+ /**
21
+ * @hidden
22
+ */
23
+ export interface ModelContext {
24
+ registerTool(tool: McpToolDefinition): {
25
+ unregister: () => void;
26
+ };
27
+ }
28
+ declare global {
29
+ interface Navigator {
30
+ modelContext?: ModelContext;
31
+ }
32
+ }
33
+ /**
34
+ * Represents the result returned by a Web MCP tool callback.
35
+ */
36
+ export interface WebMcpToolResult {
37
+ /**
38
+ * Specifies whether the tool execution succeeded.
39
+ */
40
+ success: boolean;
41
+ /**
42
+ * Specifies a human-readable message describing the result or error.
43
+ */
44
+ message?: string;
45
+ /**
46
+ * Represents the data payload returned by the tool.
47
+ */
48
+ data?: any;
49
+ }
50
+ /**
51
+ * Represents a single tool option passed to the {@link WebMcpConfig.tools} callback.
52
+ * The callback receives the full list with default enabled states and returns a modified list —
53
+ * tools with `enabled: false` will not be registered.
54
+ */
55
+ export interface WebMcpToolOption {
56
+ /**
57
+ * Specifies the tool name suffix (for example, `'sort-column'`, `'filter'`, `'export-pdf'`).
58
+ * The full registered name is `{prefix}-{name}` where prefix is `dataName` or the component default.
59
+ */
60
+ name: string;
61
+ /**
62
+ * Specifies the human-readable description passed to the MCP tool registration.
63
+ */
64
+ description: string;
65
+ /**
66
+ * Specifies whether this tool will be registered. Set to `false` to suppress it.
67
+ */
68
+ enabled: boolean;
69
+ }
70
+ /**
71
+ * Represents the configuration for the Web MCP directive.
72
+ *
73
+ * When set to `true`, registers all supported tools with default settings.
74
+ * When set to a configuration object, you can specify a custom name prefix and
75
+ * fine-tune individual tools through the `tools` callback.
76
+ */
77
+ export interface WebMcpConfig {
78
+ /**
79
+ * Specifies the semantic name used as the tool name prefix for multi-instance disambiguation.
80
+ * Replaces the default `kendo-grid` prefix in registered tool names and descriptions.
81
+ *
82
+ * Example: `dataName: 'orders'` produces tools named `orders-sort-column`, `orders-filter`, etc.
83
+ *
84
+ * @default undefined (uses `kendo-grid` prefix)
85
+ */
86
+ dataName?: string;
87
+ /**
88
+ * Specifies the per-tool customization callback. Receives the full list of tool options with their
89
+ * default enabled states and returns a modified list. Tools returned with `enabled: false` will not
90
+ * be registered.
91
+ *
92
+ * Use this to suppress or adjust individual tools.
93
+ *
94
+ * @example
95
+ * // Disable the CSV export tool while keeping PDF and Excel
96
+ * tools: (tools) => tools.map(t => t.name === 'export-csv' ? { ...t, enabled: false } : t)
97
+ *
98
+ * @example
99
+ * // Keep only sort and page tools
100
+ * tools: (tools) => tools.map(t => (['sort-column', 'clear-sort', 'go-to-page'].includes(t.name) ? t : { ...t, enabled: false }))
101
+ */
102
+ tools?: (tools: WebMcpToolOption[]) => WebMcpToolOption[];
103
+ }
104
+ /**
105
+ * Resolves a `boolean | WebMcpConfig` input into a full config with defaults.
106
+ *
107
+ * @hidden
108
+ */
109
+ export declare function resolveConfig(value: boolean | WebMcpConfig): WebMcpConfig | null;
110
+ /**
111
+ * An adapter registers Web MCP tools for a specific Kendo Angular component.
112
+ *
113
+ * @hidden
114
+ */
115
+ export interface ToolAdapter<T> {
116
+ /**
117
+ * CSS selector(s) that identify the host element this adapter handles.
118
+ * Matched against the host element's tag name or attributes.
119
+ * Examples: `'kendo-grid'`, `'[kendoButton]'`.
120
+ */
121
+ selector: string;
122
+ /**
123
+ * Registers MCP tools for the component and returns cleanup handles.
124
+ */
125
+ registerTools(component: T, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): Array<{
126
+ unregister: () => void;
127
+ }>;
128
+ }
@@ -0,0 +1,9 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { type PackageMetadata } from '@progress/kendo-licensing';
6
+ /**
7
+ * @hidden
8
+ */
9
+ export declare const packageMetadata: PackageMetadata;
@@ -0,0 +1,13 @@
1
+ // Generated file. DO NOT EDIT.
2
+
3
+ export const packageMetadata = {
4
+ "name": "@progress/kendo-angular-webmcp",
5
+ "productName": "Kendo UI for Angular",
6
+ "productCode": "KENDOUIANGULAR",
7
+ "productCodes": [
8
+ "KENDOUIANGULAR"
9
+ ],
10
+ "publishDate": 1779255940,
11
+ "version": "24.0.0-develop.41",
12
+ "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
13
+ };
package/package.json ADDED
@@ -0,0 +1,168 @@
1
+ {
2
+ "name": "@progress/kendo-angular-webmcp",
3
+ "version": "24.0.0-develop.41",
4
+ "description": "Web MCP Tools for Kendo UI for Angular",
5
+ "license": "SEE LICENSE IN LICENSE.md",
6
+ "author": "Progress",
7
+ "homepage": "https://www.telerik.com/kendo-angular-ui/components/",
8
+ "bugs": {
9
+ "url": "https://github.com/telerik/kendo-angular"
10
+ },
11
+ "keywords": [
12
+ "Angular",
13
+ "Kendo UI",
14
+ "MCP",
15
+ "Web MCP",
16
+ "AI",
17
+ "Progress"
18
+ ],
19
+ "@progress": {
20
+ "friendlyName": "Web MCP Tools",
21
+ "package": {
22
+ "productName": "Kendo UI for Angular",
23
+ "productCode": "KENDOUIANGULAR",
24
+ "publishDate": 1779255940,
25
+ "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
26
+ }
27
+ },
28
+ "peerDependencies": {
29
+ "@angular/common": "19 - 21",
30
+ "@angular/core": "19 - 21",
31
+ "@progress/kendo-licensing": "^1.11.0",
32
+ "@progress/kendo-angular-buttons": "24.0.0-develop.41",
33
+ "@progress/kendo-angular-charts": "24.0.0-develop.41",
34
+ "@progress/kendo-angular-common": "24.0.0-develop.41",
35
+ "@progress/kendo-angular-conversational-ui": "24.0.0-develop.41",
36
+ "@progress/kendo-angular-dateinputs": "24.0.0-develop.41",
37
+ "@progress/kendo-angular-dialog": "24.0.0-develop.41",
38
+ "@progress/kendo-angular-dropdowns": "24.0.0-develop.41",
39
+ "@progress/kendo-angular-editor": "24.0.0-develop.41",
40
+ "@progress/kendo-angular-gantt": "24.0.0-develop.41",
41
+ "@progress/kendo-angular-gauges": "24.0.0-develop.41",
42
+ "@progress/kendo-angular-grid": "24.0.0-develop.41",
43
+ "@progress/kendo-angular-indicators": "24.0.0-develop.41",
44
+ "@progress/kendo-angular-inputs": "24.0.0-develop.41",
45
+ "@progress/kendo-angular-layout": "24.0.0-develop.41",
46
+ "@progress/kendo-angular-listbox": "24.0.0-develop.41",
47
+ "@progress/kendo-angular-listview": "24.0.0-develop.41",
48
+ "@progress/kendo-angular-map": "24.0.0-develop.41",
49
+ "@progress/kendo-angular-menu": "24.0.0-develop.41",
50
+ "@progress/kendo-angular-notification": "24.0.0-develop.41",
51
+ "@progress/kendo-angular-pager": "24.0.0-develop.41",
52
+ "@progress/kendo-angular-pivotgrid": "24.0.0-develop.41",
53
+ "@progress/kendo-angular-scheduler": "24.0.0-develop.41",
54
+ "@progress/kendo-angular-scrollview": "24.0.0-develop.41",
55
+ "@progress/kendo-angular-sortable": "24.0.0-develop.41",
56
+ "@progress/kendo-angular-spreadsheet": "24.0.0-develop.41",
57
+ "@progress/kendo-angular-toolbar": "24.0.0-develop.41",
58
+ "@progress/kendo-angular-treelist": "24.0.0-develop.41",
59
+ "@progress/kendo-angular-treeview": "24.0.0-develop.41",
60
+ "@progress/kendo-angular-upload": "24.0.0-develop.41",
61
+ "rxjs": "^6.5.3 || ^7.0.0"
62
+ },
63
+ "peerDependenciesMeta": {
64
+ "@progress/kendo-angular-buttons": {
65
+ "optional": true
66
+ },
67
+ "@progress/kendo-angular-charts": {
68
+ "optional": true
69
+ },
70
+ "@progress/kendo-angular-conversational-ui": {
71
+ "optional": true
72
+ },
73
+ "@progress/kendo-angular-dateinputs": {
74
+ "optional": true
75
+ },
76
+ "@progress/kendo-angular-dialog": {
77
+ "optional": true
78
+ },
79
+ "@progress/kendo-angular-dropdowns": {
80
+ "optional": true
81
+ },
82
+ "@progress/kendo-angular-editor": {
83
+ "optional": true
84
+ },
85
+ "@progress/kendo-angular-gantt": {
86
+ "optional": true
87
+ },
88
+ "@progress/kendo-angular-gauges": {
89
+ "optional": true
90
+ },
91
+ "@progress/kendo-angular-grid": {
92
+ "optional": true
93
+ },
94
+ "@progress/kendo-angular-indicators": {
95
+ "optional": true
96
+ },
97
+ "@progress/kendo-angular-inputs": {
98
+ "optional": true
99
+ },
100
+ "@progress/kendo-angular-layout": {
101
+ "optional": true
102
+ },
103
+ "@progress/kendo-angular-listbox": {
104
+ "optional": true
105
+ },
106
+ "@progress/kendo-angular-listview": {
107
+ "optional": true
108
+ },
109
+ "@progress/kendo-angular-map": {
110
+ "optional": true
111
+ },
112
+ "@progress/kendo-angular-menu": {
113
+ "optional": true
114
+ },
115
+ "@progress/kendo-angular-notification": {
116
+ "optional": true
117
+ },
118
+ "@progress/kendo-angular-pager": {
119
+ "optional": true
120
+ },
121
+ "@progress/kendo-angular-pivotgrid": {
122
+ "optional": true
123
+ },
124
+ "@progress/kendo-angular-scheduler": {
125
+ "optional": true
126
+ },
127
+ "@progress/kendo-angular-scrollview": {
128
+ "optional": true
129
+ },
130
+ "@progress/kendo-angular-sortable": {
131
+ "optional": true
132
+ },
133
+ "@progress/kendo-angular-spreadsheet": {
134
+ "optional": true
135
+ },
136
+ "@progress/kendo-angular-toolbar": {
137
+ "optional": true
138
+ },
139
+ "@progress/kendo-angular-treelist": {
140
+ "optional": true
141
+ },
142
+ "@progress/kendo-angular-treeview": {
143
+ "optional": true
144
+ },
145
+ "@progress/kendo-angular-upload": {
146
+ "optional": true
147
+ }
148
+ },
149
+ "dependencies": {
150
+ "@progress/kendo-file-saver": "^1.1.1",
151
+ "@progress/kendo-ooxml": "^1.9.0",
152
+ "@progress/kendo-angular-schematics": "24.0.0-develop.41",
153
+ "tslib": "^2.3.1"
154
+ },
155
+ "schematics": "./schematics/collection.json",
156
+ "module": "fesm2022/progress-kendo-angular-webmcp.mjs",
157
+ "typings": "index.d.ts",
158
+ "exports": {
159
+ "./package.json": {
160
+ "default": "./package.json"
161
+ },
162
+ ".": {
163
+ "types": "./index.d.ts",
164
+ "default": "./fesm2022/progress-kendo-angular-webmcp.mjs"
165
+ }
166
+ },
167
+ "sideEffects": false
168
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "./node_modules/@angular-devkit/schematics/collection-schema.json",
3
+ "schematics": {
4
+ "ng-add": {
5
+ "description": "Adds Kendo Angular Package to the application.",
6
+ "factory": "./ngAdd",
7
+ "schema": "./ngAdd/schema.json",
8
+ "hidden": true,
9
+ "private": true
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.default = default_1;
8
+ const schematics_1 = require("@angular-devkit/schematics");
9
+ function default_1(options) {
10
+ const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'WebMcpModule', package: 'webmcp' });
11
+ return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
12
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "SchematicsKendoAngularWebmcp",
4
+ "title": "Kendo Angular WebMCP Options Schema",
5
+ "type": "object",
6
+ "properties": {
7
+ "theme": {
8
+ "enum": ["default", "bootstrap", "material"],
9
+ "default": "default",
10
+ "description": "The theme to apply"
11
+ },
12
+ "export": {
13
+ "type": "boolean",
14
+ "default": false,
15
+ "description": "Specifies if declaring module exports the component."
16
+ },
17
+ "skipInstall": {
18
+ "description": "Skip installing Kendo dependency packages.",
19
+ "type": "boolean",
20
+ "default": false
21
+ }
22
+ },
23
+ "required": []
24
+ }
@@ -0,0 +1,31 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./lib/webmcp.directive";
7
+ /**
8
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
9
+ * definition for the Web MCP directive.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { NgModule } from '@angular/core';
14
+ * import { BrowserModule } from '@angular/platform-browser';
15
+ * import { WebMcpModule } from '@progress/kendo-angular-webmcp';
16
+ * import { GridModule } from '@progress/kendo-angular-grid';
17
+ * import { AppComponent } from './app.component';
18
+ *
19
+ * @NgModule({
20
+ * declarations: [AppComponent],
21
+ * imports: [BrowserModule, GridModule, WebMcpModule],
22
+ * bootstrap: [AppComponent]
23
+ * })
24
+ * export class AppModule {}
25
+ * ```
26
+ */
27
+ export declare class WebMcpModule {
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebMcpModule, never>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WebMcpModule, never, [typeof i1.WebMcpDirective], [typeof i1.WebMcpDirective]>;
30
+ static ɵinj: i0.ɵɵInjectorDeclaration<WebMcpModule>;
31
+ }