@progress/kendo-angular-webmcp 24.2.2 → 25.0.0-develop.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.
@@ -17,8 +17,8 @@ const packageMetadata = {
17
17
  productName: 'Kendo UI for Angular',
18
18
  productCode: 'KENDOUIANGULAR',
19
19
  productCodes: ['KENDOUIANGULAR'],
20
- publishDate: 1783511758,
21
- version: '24.2.2',
20
+ publishDate: 1783680077,
21
+ version: '25.0.0-develop.1',
22
22
  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',
23
23
  };
24
24
 
@@ -4785,10 +4785,10 @@ class WebMcpDirective {
4785
4785
  && typeof navigator !== 'undefined'
4786
4786
  && !!navigator.modelContext;
4787
4787
  }
4788
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WebMcpDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: KENDO_WEBMCP_HOST, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
4789
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: WebMcpDirective, isStandalone: true, selector: "[kendoWebMcp]", inputs: { config: ["kendoWebMcp", "config"] }, usesOnChanges: true, ngImport: i0 });
4788
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: WebMcpDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: KENDO_WEBMCP_HOST, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
4789
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: WebMcpDirective, isStandalone: true, selector: "[kendoWebMcp]", inputs: { config: ["kendoWebMcp", "config"] }, usesOnChanges: true, ngImport: i0 });
4790
4790
  }
4791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WebMcpDirective, decorators: [{
4791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: WebMcpDirective, decorators: [{
4792
4792
  type: Directive,
4793
4793
  args: [{
4794
4794
  selector: '[kendoWebMcp]',
@@ -4853,11 +4853,11 @@ const KENDO_WEBMCP = [
4853
4853
  * ```
4854
4854
  */
4855
4855
  class WebMcpModule {
4856
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WebMcpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4857
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: WebMcpModule, imports: [WebMcpDirective], exports: [WebMcpDirective] });
4858
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WebMcpModule });
4856
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: WebMcpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4857
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: WebMcpModule, imports: [WebMcpDirective], exports: [WebMcpDirective] });
4858
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: WebMcpModule });
4859
4859
  }
4860
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WebMcpModule, decorators: [{
4860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: WebMcpModule, decorators: [{
4861
4861
  type: NgModule,
4862
4862
  args: [{
4863
4863
  imports: [...KENDO_WEBMCP],
package/index.d.ts CHANGED
@@ -2,7 +2,198 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- export * from './directives';
6
- export { WebMcpDirective } from './lib/webmcp.directive';
7
- export { WebMcpModule } from './webmcp.module';
8
- export { WebMcpConfig, WebMcpToolResult, WebMcpToolOption } from './lib/webmcp.interfaces';
5
+ import * as i0 from '@angular/core';
6
+ import { OnInit, OnChanges, OnDestroy, ElementRef, NgZone, SimpleChanges } from '@angular/core';
7
+
8
+ /**
9
+ * Type declarations for the Web Model Context Protocol (MCP) browser API.
10
+ * Available in Chrome 146+ behind the `chrome://flags/#model-context-protocol` flag.
11
+ */
12
+ /**
13
+ * @hidden
14
+ */
15
+ interface McpToolDefinition {
16
+ name: string;
17
+ description: string;
18
+ inputSchema: Record<string, any>;
19
+ outputSchema?: Record<string, any>;
20
+ execute: (args: Record<string, any>) => unknown;
21
+ }
22
+ /**
23
+ * @hidden
24
+ */
25
+ interface ModelContext {
26
+ registerTool(tool: McpToolDefinition): {
27
+ unregister: () => void;
28
+ };
29
+ }
30
+ declare global {
31
+ interface Navigator {
32
+ modelContext?: ModelContext;
33
+ }
34
+ }
35
+ /**
36
+ * Represents the result returned by a Web MCP tool callback.
37
+ */
38
+ interface WebMcpToolResult {
39
+ /**
40
+ * Specifies whether the tool execution succeeded.
41
+ */
42
+ success: boolean;
43
+ /**
44
+ * Specifies a human-readable message describing the result or error.
45
+ */
46
+ message?: string;
47
+ /**
48
+ * Represents the data payload returned by the tool.
49
+ */
50
+ data?: any;
51
+ }
52
+ /**
53
+ * Represents a single tool option passed to the {@link WebMcpConfig.tools} callback.
54
+ * The callback receives the full list with default enabled states and returns a modified list —
55
+ * tools with `enabled: false` will not be registered.
56
+ */
57
+ interface WebMcpToolOption {
58
+ /**
59
+ * Specifies the tool name suffix (for example, `'sort-column'`, `'filter'`, `'export-pdf'`).
60
+ * The full registered name is `{prefix}-{name}` where prefix is `dataName` or the component default.
61
+ */
62
+ name: string;
63
+ /**
64
+ * Specifies the human-readable description passed to the MCP tool registration.
65
+ */
66
+ description: string;
67
+ /**
68
+ * Specifies whether this tool will be registered. Set to `false` to suppress it.
69
+ */
70
+ enabled: boolean;
71
+ }
72
+ /**
73
+ * Represents the configuration for the Web MCP directive.
74
+ *
75
+ * When set to `true`, registers all supported tools with default settings.
76
+ * When set to a configuration object, you can specify a custom name prefix and
77
+ * fine-tune individual tools through the `tools` callback.
78
+ */
79
+ interface WebMcpConfig {
80
+ /**
81
+ * Specifies the semantic name used as the tool name prefix for multi-instance disambiguation.
82
+ * Replaces the default `kendo-grid` prefix in registered tool names and descriptions.
83
+ *
84
+ * Example: `dataName: 'orders'` produces tools named `orders-sort-column`, `orders-filter`, etc.
85
+ *
86
+ * @default undefined (uses `kendo-grid` prefix)
87
+ */
88
+ dataName?: string;
89
+ /**
90
+ * Specifies the per-tool customization callback. Receives the full list of tool options with their
91
+ * default enabled states and returns a modified list. Tools returned with `enabled: false` will not
92
+ * be registered.
93
+ *
94
+ * Use this to suppress or adjust individual tools.
95
+ *
96
+ * @example
97
+ * // Disable the CSV export tool while keeping PDF and Excel
98
+ * tools: (tools) => tools.map(t => t.name === 'export-csv' ? { ...t, enabled: false } : t)
99
+ *
100
+ * @example
101
+ * // Keep only sort and page tools
102
+ * tools: (tools) => tools.map(t => (['sort-column', 'clear-sort', 'go-to-page'].includes(t.name) ? t : { ...t, enabled: false }))
103
+ */
104
+ tools?: (tools: WebMcpToolOption[]) => WebMcpToolOption[];
105
+ }
106
+
107
+ /**
108
+ * Registers Web MCP tools for the host Kendo Angular component.
109
+ *
110
+ * Apply this attribute directive to any supported Kendo component to expose
111
+ * AI-discoverable tools through the browser's Web MCP protocol (Chrome 146+).
112
+ *
113
+ * @example
114
+ * ```html
115
+ * <kendo-grid [data]="data" [kendoWebMcp]="true"></kendo-grid>
116
+ * ```
117
+ *
118
+ * @example
119
+ * ```html
120
+ * <kendo-grid [data]="data" [kendoWebMcp]="{ dataName: 'orders' }"></kendo-grid>
121
+ * ```
122
+ */
123
+ declare class WebMcpDirective implements OnInit, OnChanges, OnDestroy {
124
+ private readonly el;
125
+ private readonly ngZone;
126
+ private readonly hostComponent;
127
+ /**
128
+ * Enables or configures the Web MCP tools for the host component.
129
+ *
130
+ * - `true` — registers all supported tools with defaults.
131
+ * - `WebMcpConfig` — fine-grained control over which tool groups are enabled.
132
+ * - `false` — disables all tools.
133
+ */
134
+ config: boolean | WebMcpConfig;
135
+ private registrations;
136
+ private modelContext;
137
+ constructor(el: ElementRef, ngZone: NgZone, hostComponent: any);
138
+ ngOnInit(): void;
139
+ ngOnChanges(changes: SimpleChanges): void;
140
+ ngOnDestroy(): void;
141
+ private registerAll;
142
+ private findAdapter;
143
+ private unregisterAll;
144
+ private isBrowserWithMcp;
145
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebMcpDirective, [null, null, { optional: true; host: true; }]>;
146
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WebMcpDirective, "[kendoWebMcp]", never, { "config": { "alias": "kendoWebMcp"; "required": false; }; }, {}, never, never, true, never>;
147
+ }
148
+
149
+ /**
150
+ * Use the `KENDO_WEBMCP` utility array to add Web MCP support to a standalone Angular component.
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * import { Component } from '@angular/core';
155
+ * import { KENDO_WEBMCP } from '@progress/kendo-angular-webmcp';
156
+ * import { KENDO_GRID } from '@progress/kendo-angular-grid';
157
+ *
158
+ * @Component({
159
+ * standalone: true,
160
+ * imports: [KENDO_WEBMCP, KENDO_GRID],
161
+ * template: `
162
+ * <kendo-grid [data]="data" [kendoWebMcp]="true"></kendo-grid>
163
+ * `,
164
+ * })
165
+ * export class AppComponent {
166
+ * data = [...];
167
+ * }
168
+ * ```
169
+ */
170
+ declare const KENDO_WEBMCP: readonly [typeof WebMcpDirective];
171
+
172
+ /**
173
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
174
+ * definition for the Web MCP directive.
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * import { NgModule } from '@angular/core';
179
+ * import { BrowserModule } from '@angular/platform-browser';
180
+ * import { WebMcpModule } from '@progress/kendo-angular-webmcp';
181
+ * import { GridModule } from '@progress/kendo-angular-grid';
182
+ * import { AppComponent } from './app.component';
183
+ *
184
+ * @NgModule({
185
+ * declarations: [AppComponent],
186
+ * imports: [BrowserModule, GridModule, WebMcpModule],
187
+ * bootstrap: [AppComponent]
188
+ * })
189
+ * export class AppModule {}
190
+ * ```
191
+ */
192
+ declare class WebMcpModule {
193
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebMcpModule, never>;
194
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WebMcpModule, never, [typeof WebMcpDirective], [typeof WebMcpDirective]>;
195
+ static ɵinj: i0.ɵɵInjectorDeclaration<WebMcpModule>;
196
+ }
197
+
198
+ export { KENDO_WEBMCP, WebMcpDirective, WebMcpModule };
199
+ export type { WebMcpConfig, WebMcpToolOption, WebMcpToolResult };
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1783511758,
11
- "version": "24.2.2",
10
+ "publishDate": 1783680077,
11
+ "version": "25.0.0-develop.1",
12
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
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-webmcp",
3
- "version": "24.2.2",
3
+ "version": "25.0.0-develop.1",
4
4
  "description": "Web MCP Tools for Kendo UI for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -21,43 +21,43 @@
21
21
  "package": {
22
22
  "productName": "Kendo UI for Angular",
23
23
  "productCode": "KENDOUIANGULAR",
24
- "publishDate": 1783511758,
24
+ "publishDate": 1783680077,
25
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
26
  }
27
27
  },
28
28
  "peerDependencies": {
29
- "@angular/common": "19 - 22",
30
- "@angular/core": "19 - 22",
29
+ "@angular/common": "20 - 22",
30
+ "@angular/core": "20 - 22",
31
31
  "@progress/kendo-licensing": "^1.11.0",
32
- "@progress/kendo-angular-buttons": "24.2.2",
33
- "@progress/kendo-angular-charts": "24.2.2",
34
- "@progress/kendo-angular-common": "24.2.2",
35
- "@progress/kendo-angular-conversational-ui": "24.2.2",
36
- "@progress/kendo-angular-dateinputs": "24.2.2",
37
- "@progress/kendo-angular-dialog": "24.2.2",
38
- "@progress/kendo-angular-dropdowns": "24.2.2",
39
- "@progress/kendo-angular-editor": "24.2.2",
40
- "@progress/kendo-angular-gantt": "24.2.2",
41
- "@progress/kendo-angular-gauges": "24.2.2",
42
- "@progress/kendo-angular-grid": "24.2.2",
43
- "@progress/kendo-angular-indicators": "24.2.2",
44
- "@progress/kendo-angular-inputs": "24.2.2",
45
- "@progress/kendo-angular-layout": "24.2.2",
46
- "@progress/kendo-angular-listbox": "24.2.2",
47
- "@progress/kendo-angular-listview": "24.2.2",
48
- "@progress/kendo-angular-map": "24.2.2",
49
- "@progress/kendo-angular-menu": "24.2.2",
50
- "@progress/kendo-angular-notification": "24.2.2",
51
- "@progress/kendo-angular-pager": "24.2.2",
52
- "@progress/kendo-angular-pivotgrid": "24.2.2",
53
- "@progress/kendo-angular-scheduler": "24.2.2",
54
- "@progress/kendo-angular-scrollview": "24.2.2",
55
- "@progress/kendo-angular-sortable": "24.2.2",
56
- "@progress/kendo-angular-spreadsheet": "24.2.2",
57
- "@progress/kendo-angular-toolbar": "24.2.2",
58
- "@progress/kendo-angular-treelist": "24.2.2",
59
- "@progress/kendo-angular-treeview": "24.2.2",
60
- "@progress/kendo-angular-upload": "24.2.2",
32
+ "@progress/kendo-angular-buttons": "25.0.0-develop.1",
33
+ "@progress/kendo-angular-charts": "25.0.0-develop.1",
34
+ "@progress/kendo-angular-common": "25.0.0-develop.1",
35
+ "@progress/kendo-angular-conversational-ui": "25.0.0-develop.1",
36
+ "@progress/kendo-angular-dateinputs": "25.0.0-develop.1",
37
+ "@progress/kendo-angular-dialog": "25.0.0-develop.1",
38
+ "@progress/kendo-angular-dropdowns": "25.0.0-develop.1",
39
+ "@progress/kendo-angular-editor": "25.0.0-develop.1",
40
+ "@progress/kendo-angular-gantt": "25.0.0-develop.1",
41
+ "@progress/kendo-angular-gauges": "25.0.0-develop.1",
42
+ "@progress/kendo-angular-grid": "25.0.0-develop.1",
43
+ "@progress/kendo-angular-indicators": "25.0.0-develop.1",
44
+ "@progress/kendo-angular-inputs": "25.0.0-develop.1",
45
+ "@progress/kendo-angular-layout": "25.0.0-develop.1",
46
+ "@progress/kendo-angular-listbox": "25.0.0-develop.1",
47
+ "@progress/kendo-angular-listview": "25.0.0-develop.1",
48
+ "@progress/kendo-angular-map": "25.0.0-develop.1",
49
+ "@progress/kendo-angular-menu": "25.0.0-develop.1",
50
+ "@progress/kendo-angular-notification": "25.0.0-develop.1",
51
+ "@progress/kendo-angular-pager": "25.0.0-develop.1",
52
+ "@progress/kendo-angular-pivotgrid": "25.0.0-develop.1",
53
+ "@progress/kendo-angular-scheduler": "25.0.0-develop.1",
54
+ "@progress/kendo-angular-scrollview": "25.0.0-develop.1",
55
+ "@progress/kendo-angular-sortable": "25.0.0-develop.1",
56
+ "@progress/kendo-angular-spreadsheet": "25.0.0-develop.1",
57
+ "@progress/kendo-angular-toolbar": "25.0.0-develop.1",
58
+ "@progress/kendo-angular-treelist": "25.0.0-develop.1",
59
+ "@progress/kendo-angular-treeview": "25.0.0-develop.1",
60
+ "@progress/kendo-angular-upload": "25.0.0-develop.1",
61
61
  "rxjs": "^6.5.3 || ^7.0.0"
62
62
  },
63
63
  "peerDependenciesMeta": {
@@ -149,7 +149,7 @@
149
149
  "dependencies": {
150
150
  "@progress/kendo-file-saver": "^1.1.1",
151
151
  "@progress/kendo-ooxml": "^1.9.0",
152
- "@progress/kendo-angular-schematics": "24.2.2",
152
+ "@progress/kendo-angular-schematics": "25.0.0-develop.1",
153
153
  "tslib": "^2.3.1"
154
154
  },
155
155
  "schematics": "./schematics/collection.json",
package/directives.d.ts DELETED
@@ -1,27 +0,0 @@
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 { WebMcpDirective } from "./lib/webmcp.directive";
6
- /**
7
- * Use the `KENDO_WEBMCP` utility array to add Web MCP support to a standalone Angular component.
8
- *
9
- * @example
10
- * ```typescript
11
- * import { Component } from '@angular/core';
12
- * import { KENDO_WEBMCP } from '@progress/kendo-angular-webmcp';
13
- * import { KENDO_GRID } from '@progress/kendo-angular-grid';
14
- *
15
- * @Component({
16
- * standalone: true,
17
- * imports: [KENDO_WEBMCP, KENDO_GRID],
18
- * template: `
19
- * <kendo-grid [data]="data" [kendoWebMcp]="true"></kendo-grid>
20
- * `,
21
- * })
22
- * export class AppComponent {
23
- * data = [...];
24
- * }
25
- * ```
26
- */
27
- export declare const KENDO_WEBMCP: readonly [typeof WebMcpDirective];
@@ -1,22 +0,0 @@
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
- import type { ChartComponent } from '@progress/kendo-angular-charts';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- *
14
- * Web MCP tool adapter for the Kendo Angular Chart component.
15
- * Supports: drilldown, export.
16
- */
17
- export declare class ChartToolAdapter implements ToolAdapter<ChartComponent> {
18
- selector: string;
19
- registerTools(chart: ChartComponent, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): ToolHandle[];
20
- private buildToolOptions;
21
- }
22
- export {};
@@ -1,27 +0,0 @@
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
- import type { ChatComponent, AIPromptComponent } from '@progress/kendo-angular-conversational-ui';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- */
14
- export declare class ChatToolAdapter implements ToolAdapter<ChatComponent> {
15
- selector: string;
16
- registerTools(chat: ChatComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
17
- private buildToolOptions;
18
- }
19
- /**
20
- * @hidden
21
- */
22
- export declare class AIPromptToolAdapter implements ToolAdapter<AIPromptComponent> {
23
- selector: string;
24
- registerTools(prompt: AIPromptComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
25
- private buildToolOptions;
26
- }
27
- export {};
@@ -1,51 +0,0 @@
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
- import type { DatePickerComponent, DateRangeComponent, TimePickerComponent, DateTimePickerComponent, CalendarComponent } from '@progress/kendo-angular-dateinputs';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- */
14
- export declare class DatePickerToolAdapter implements ToolAdapter<DatePickerComponent> {
15
- selector: string;
16
- registerTools(dp: DatePickerComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
17
- private buildToolOptions;
18
- }
19
- /**
20
- * @hidden
21
- */
22
- export declare class DateRangeToolAdapter implements ToolAdapter<DateRangeComponent> {
23
- selector: string;
24
- registerTools(drp: DateRangeComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
25
- private buildToolOptions;
26
- }
27
- /**
28
- * @hidden
29
- */
30
- export declare class TimePickerToolAdapter implements ToolAdapter<TimePickerComponent> {
31
- selector: string;
32
- registerTools(tp: TimePickerComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
33
- private buildToolOptions;
34
- }
35
- /**
36
- * @hidden
37
- */
38
- export declare class DateTimePickerToolAdapter implements ToolAdapter<DateTimePickerComponent> {
39
- selector: string;
40
- registerTools(dtp: DateTimePickerComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
41
- private buildToolOptions;
42
- }
43
- /**
44
- * @hidden
45
- */
46
- export declare class CalendarToolAdapter implements ToolAdapter<CalendarComponent> {
47
- selector: string;
48
- registerTools(cal: CalendarComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
49
- private buildToolOptions;
50
- }
51
- export {};
@@ -1,27 +0,0 @@
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
- import type { DialogComponent, WindowComponent } from '@progress/kendo-angular-dialog';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- */
14
- export declare class DialogToolAdapter implements ToolAdapter<DialogComponent> {
15
- selector: string;
16
- registerTools(dialog: DialogComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
17
- private buildToolOptions;
18
- }
19
- /**
20
- * @hidden
21
- */
22
- export declare class WindowToolAdapter implements ToolAdapter<WindowComponent> {
23
- selector: string;
24
- registerTools(win: WindowComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
25
- private buildToolOptions;
26
- }
27
- export {};
@@ -1,59 +0,0 @@
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
- import type { DropDownListComponent, ComboBoxComponent, AutoCompleteComponent, MultiSelectComponent, DropDownTreeComponent, MultiColumnComboBoxComponent } from '@progress/kendo-angular-dropdowns';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- */
14
- export declare class DropDownListToolAdapter implements ToolAdapter<DropDownListComponent> {
15
- selector: string;
16
- registerTools(ddl: DropDownListComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
17
- private buildToolOptions;
18
- }
19
- /**
20
- * @hidden
21
- */
22
- export declare class ComboBoxToolAdapter implements ToolAdapter<ComboBoxComponent> {
23
- selector: string;
24
- registerTools(combo: ComboBoxComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
25
- private buildToolOptions;
26
- }
27
- /**
28
- * @hidden
29
- */
30
- export declare class AutoCompleteToolAdapter implements ToolAdapter<AutoCompleteComponent> {
31
- selector: string;
32
- registerTools(ac: AutoCompleteComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
33
- private buildToolOptions;
34
- }
35
- /**
36
- * @hidden
37
- */
38
- export declare class MultiSelectToolAdapter implements ToolAdapter<MultiSelectComponent> {
39
- selector: string;
40
- registerTools(ms: MultiSelectComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
41
- private buildToolOptions;
42
- }
43
- /**
44
- * @hidden
45
- */
46
- export declare class DropDownTreeToolAdapter implements ToolAdapter<DropDownTreeComponent> {
47
- selector: string;
48
- registerTools(ddt: DropDownTreeComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
49
- private buildToolOptions;
50
- }
51
- /**
52
- * @hidden
53
- */
54
- export declare class MultiColumnComboBoxToolAdapter implements ToolAdapter<MultiColumnComboBoxComponent> {
55
- selector: string;
56
- registerTools(mccb: MultiColumnComboBoxComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
57
- private buildToolOptions;
58
- }
59
- export {};
@@ -1,22 +0,0 @@
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
- import type { EditorComponent } from '@progress/kendo-angular-editor';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- *
14
- * Web MCP tool adapter for the Kendo Angular Editor component.
15
- * Supports: get content, set content, export PDF.
16
- */
17
- export declare class EditorToolAdapter implements ToolAdapter<EditorComponent> {
18
- selector: string;
19
- registerTools(editor: EditorComponent, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): ToolHandle[];
20
- private buildToolOptions;
21
- }
22
- export {};
@@ -1,22 +0,0 @@
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
- import type { GanttComponent } from '@progress/kendo-angular-gantt';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- *
14
- * Web MCP tool adapter for the Kendo Angular Gantt component.
15
- * Supports: task CRUD, sort, filter, expand/collapse, export, view.
16
- */
17
- export declare class GanttToolAdapter implements ToolAdapter<GanttComponent> {
18
- selector: string;
19
- registerTools(gantt: GanttComponent, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): ToolHandle[];
20
- private buildToolOptions;
21
- }
22
- export {};
@@ -1,34 +0,0 @@
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
- import type { GridComponent } from '@progress/kendo-angular-grid';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- *
14
- * Web MCP tool adapter for the Kendo Angular Grid component.
15
- * Supports: sort, filter, group, page, select, export, column operations.
16
- */
17
- export declare class GridToolAdapter implements ToolAdapter<GridComponent> {
18
- selector: string;
19
- registerTools(grid: GridComponent, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): ToolHandle[];
20
- private buildToolOptions;
21
- private registerSortTools;
22
- private registerFilterTools;
23
- private registerGroupTools;
24
- private registerPageTools;
25
- private registerSelectionTools;
26
- private registerExportTools;
27
- private registerColumnTools;
28
- private registerSelectAllTool;
29
- private registerGroupExpandTools;
30
- private registerDetailTools;
31
- private registerGetDataTool;
32
- private registerHighlightTools;
33
- }
34
- export {};
@@ -1,26 +0,0 @@
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 { SliderComponent, RangeSliderComponent, SwitchComponent, NumericTextBoxComponent, ColorPickerComponent, TextBoxComponent, TextAreaComponent, MaskedTextBoxComponent, SignatureComponent, RatingComponent } from '@progress/kendo-angular-inputs';
6
- import { ToolAdapter } from '../webmcp.interfaces';
7
- /** @hidden */
8
- export declare const SliderToolAdapter: new () => ToolAdapter<SliderComponent>;
9
- /** @hidden */
10
- export declare const RangeSliderToolAdapter: new () => ToolAdapter<RangeSliderComponent>;
11
- /** @hidden */
12
- export declare const SwitchToolAdapter: new () => ToolAdapter<SwitchComponent>;
13
- /** @hidden */
14
- export declare const NumericTextBoxToolAdapter: new () => ToolAdapter<NumericTextBoxComponent>;
15
- /** @hidden */
16
- export declare const ColorPickerToolAdapter: new () => ToolAdapter<ColorPickerComponent>;
17
- /** @hidden */
18
- export declare const TextBoxToolAdapter: new () => ToolAdapter<TextBoxComponent>;
19
- /** @hidden */
20
- export declare const TextAreaToolAdapter: new () => ToolAdapter<TextAreaComponent>;
21
- /** @hidden */
22
- export declare const MaskedTextBoxToolAdapter: new () => ToolAdapter<MaskedTextBoxComponent>;
23
- /** @hidden */
24
- export declare const SignatureToolAdapter: new () => ToolAdapter<SignatureComponent>;
25
- /** @hidden */
26
- export declare const RatingToolAdapter: new () => ToolAdapter<RatingComponent>;
@@ -1,43 +0,0 @@
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
- import type { TabStripComponent, PanelBarComponent, DrawerComponent, StepperComponent } from '@progress/kendo-angular-layout';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- */
14
- export declare class TabStripToolAdapter implements ToolAdapter<TabStripComponent> {
15
- selector: string;
16
- registerTools(tabs: TabStripComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
17
- private buildToolOptions;
18
- }
19
- /**
20
- * @hidden
21
- */
22
- export declare class PanelBarToolAdapter implements ToolAdapter<PanelBarComponent> {
23
- selector: string;
24
- registerTools(pb: PanelBarComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
25
- private buildToolOptions;
26
- }
27
- /**
28
- * @hidden
29
- */
30
- export declare class DrawerToolAdapter implements ToolAdapter<DrawerComponent> {
31
- selector: string;
32
- registerTools(drawer: DrawerComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
33
- private buildToolOptions;
34
- }
35
- /**
36
- * @hidden
37
- */
38
- export declare class StepperToolAdapter implements ToolAdapter<StepperComponent> {
39
- selector: string;
40
- registerTools(stepper: StepperComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
41
- private buildToolOptions;
42
- }
43
- export {};
@@ -1,100 +0,0 @@
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
- import type { ButtonComponent } from '@progress/kendo-angular-buttons';
7
- import type { TreeViewComponent } from '@progress/kendo-angular-treeview';
8
- import type { ListBoxComponent } from '@progress/kendo-angular-listbox';
9
- import type { ListViewComponent } from '@progress/kendo-angular-listview';
10
- import type { MenuComponent } from '@progress/kendo-angular-menu';
11
- import type { ScrollViewComponent } from '@progress/kendo-angular-scrollview';
12
- import type { SortableComponent } from '@progress/kendo-angular-sortable';
13
- import type { MapComponent } from '@progress/kendo-angular-map';
14
- import type { NotificationComponent } from '@progress/kendo-angular-notification';
15
- import type { UploadComponent } from '@progress/kendo-angular-upload';
16
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
17
- type ToolHandle = {
18
- unregister: () => void;
19
- };
20
- /**
21
- * @hidden
22
- */
23
- export declare class TreeViewToolAdapter implements ToolAdapter<TreeViewComponent> {
24
- selector: string;
25
- registerTools(tv: TreeViewComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
26
- private buildToolOptions;
27
- }
28
- /**
29
- * @hidden
30
- */
31
- export declare class ListBoxToolAdapter implements ToolAdapter<ListBoxComponent> {
32
- selector: string;
33
- registerTools(lb: ListBoxComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
34
- private buildToolOptions;
35
- }
36
- /**
37
- * @hidden
38
- */
39
- export declare class ListViewToolAdapter implements ToolAdapter<ListViewComponent> {
40
- selector: string;
41
- registerTools(lv: ListViewComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
42
- private buildToolOptions;
43
- }
44
- /**
45
- * @hidden
46
- */
47
- export declare class MenuToolAdapter implements ToolAdapter<MenuComponent> {
48
- selector: string;
49
- registerTools(menu: MenuComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
50
- private buildToolOptions;
51
- }
52
- /**
53
- * @hidden
54
- */
55
- export declare class ScrollViewToolAdapter implements ToolAdapter<ScrollViewComponent> {
56
- selector: string;
57
- registerTools(sv: ScrollViewComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
58
- private buildToolOptions;
59
- }
60
- /**
61
- * @hidden
62
- */
63
- export declare class SortableToolAdapter implements ToolAdapter<SortableComponent> {
64
- selector: string;
65
- registerTools(sortable: SortableComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
66
- private buildToolOptions;
67
- }
68
- /**
69
- * @hidden
70
- */
71
- export declare class MapToolAdapter implements ToolAdapter<MapComponent> {
72
- selector: string;
73
- registerTools(map: MapComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
74
- private buildToolOptions;
75
- }
76
- /**
77
- * @hidden
78
- */
79
- export declare class NotificationToolAdapter implements ToolAdapter<NotificationComponent> {
80
- selector: string;
81
- registerTools(notif: NotificationComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
82
- private buildToolOptions;
83
- }
84
- /**
85
- * @hidden
86
- */
87
- export declare class UploadToolAdapter implements ToolAdapter<UploadComponent> {
88
- selector: string;
89
- registerTools(upload: UploadComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
90
- private buildToolOptions;
91
- }
92
- /**
93
- * @hidden
94
- */
95
- export declare class ButtonToolAdapter implements ToolAdapter<ButtonComponent> {
96
- selector: string;
97
- registerTools(btn: ButtonComponent, config: WebMcpConfig, mc: ModelContext, zone: NgZone): ToolHandle[];
98
- private buildToolOptions;
99
- }
100
- export {};
@@ -1,22 +0,0 @@
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
- import type { PivotGridComponent } from '@progress/kendo-angular-pivotgrid';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- *
14
- * Web MCP tool adapter for the Kendo Angular PivotGrid component.
15
- * Supports: set rows, set columns, set measures, expand, collapse, export.
16
- */
17
- export declare class PivotGridToolAdapter implements ToolAdapter<PivotGridComponent> {
18
- selector: string;
19
- registerTools(pivot: PivotGridComponent, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): ToolHandle[];
20
- private buildToolOptions;
21
- }
22
- export {};
@@ -1,25 +0,0 @@
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
- import type { SchedulerComponent } from '@progress/kendo-angular-scheduler';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- *
14
- * Web MCP tool adapter for the Kendo Angular Scheduler component.
15
- * Supports: create, update, delete events, set view, navigate.
16
- */
17
- export declare class SchedulerToolAdapter implements ToolAdapter<SchedulerComponent> {
18
- selector: string;
19
- registerTools(scheduler: SchedulerComponent, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): ToolHandle[];
20
- private buildToolOptions;
21
- private registerEventTools;
22
- private registerNavigationTools;
23
- private registerExportTools;
24
- }
25
- export {};
@@ -1,22 +0,0 @@
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
- import type { SpreadsheetComponent } from '@progress/kendo-angular-spreadsheet';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- *
14
- * Web MCP tool adapter for the Kendo Angular Spreadsheet component.
15
- * Supports: set cell, navigate sheet, add sheet, rename sheet, export.
16
- */
17
- export declare class SpreadsheetToolAdapter implements ToolAdapter<SpreadsheetComponent> {
18
- selector: string;
19
- registerTools(spreadsheet: SpreadsheetComponent, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): ToolHandle[];
20
- private buildToolOptions;
21
- }
22
- export {};
@@ -1,27 +0,0 @@
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
- import type { TreeListComponent } from '@progress/kendo-angular-treelist';
7
- import { ToolAdapter, WebMcpConfig, ModelContext } from '../webmcp.interfaces';
8
- type ToolHandle = {
9
- unregister: () => void;
10
- };
11
- /**
12
- * @hidden
13
- *
14
- * Web MCP tool adapter for the Kendo Angular TreeList component.
15
- * Supports: sort, filter, select, expand/collapse, export.
16
- */
17
- export declare class TreeListToolAdapter implements ToolAdapter<TreeListComponent> {
18
- selector: string;
19
- registerTools(treeList: TreeListComponent, config: WebMcpConfig, modelContext: ModelContext, ngZone: NgZone): ToolHandle[];
20
- private buildToolOptions;
21
- private registerSortTools;
22
- private registerFilterTools;
23
- private registerSelectionTools;
24
- private registerExportTools;
25
- private registerExpandTools;
26
- }
27
- export {};
@@ -1,48 +0,0 @@
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 { ElementRef, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
6
- import { WebMcpConfig } from './webmcp.interfaces';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * Registers Web MCP tools for the host Kendo Angular component.
10
- *
11
- * Apply this attribute directive to any supported Kendo component to expose
12
- * AI-discoverable tools through the browser's Web MCP protocol (Chrome 146+).
13
- *
14
- * @example
15
- * ```html
16
- * <kendo-grid [data]="data" [kendoWebMcp]="true"></kendo-grid>
17
- * ```
18
- *
19
- * @example
20
- * ```html
21
- * <kendo-grid [data]="data" [kendoWebMcp]="{ dataName: 'orders' }"></kendo-grid>
22
- * ```
23
- */
24
- export declare class WebMcpDirective implements OnInit, OnChanges, OnDestroy {
25
- private readonly el;
26
- private readonly ngZone;
27
- private readonly hostComponent;
28
- /**
29
- * Enables or configures the Web MCP tools for the host component.
30
- *
31
- * - `true` — registers all supported tools with defaults.
32
- * - `WebMcpConfig` — fine-grained control over which tool groups are enabled.
33
- * - `false` — disables all tools.
34
- */
35
- config: boolean | WebMcpConfig;
36
- private registrations;
37
- private modelContext;
38
- constructor(el: ElementRef, ngZone: NgZone, hostComponent: any);
39
- ngOnInit(): void;
40
- ngOnChanges(changes: SimpleChanges): void;
41
- ngOnDestroy(): void;
42
- private registerAll;
43
- private findAdapter;
44
- private unregisterAll;
45
- private isBrowserWithMcp;
46
- static ɵfac: i0.ɵɵFactoryDeclaration<WebMcpDirective, [null, null, { optional: true; host: true; }]>;
47
- static ɵdir: i0.ɵɵDirectiveDeclaration<WebMcpDirective, "[kendoWebMcp]", never, { "config": { "alias": "kendoWebMcp"; "required": false; }; }, {}, never, never, true, never>;
48
- }
@@ -1,128 +0,0 @@
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
- }
@@ -1,9 +0,0 @@
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;
@@ -1,31 +0,0 @@
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
- }