@nitrostack/core 1.0.3 → 1.0.7

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.
Files changed (56) hide show
  1. package/README.md +42 -83
  2. package/dist/core/app-mode.d.ts +54 -0
  3. package/dist/core/app-mode.d.ts.map +1 -0
  4. package/dist/core/app-mode.js +67 -0
  5. package/dist/core/app-mode.js.map +1 -0
  6. package/dist/core/builders.d.ts +2 -2
  7. package/dist/core/builders.d.ts.map +1 -1
  8. package/dist/core/builders.js +10 -5
  9. package/dist/core/builders.js.map +1 -1
  10. package/dist/core/component.d.ts +1 -0
  11. package/dist/core/component.d.ts.map +1 -1
  12. package/dist/core/component.js +4 -0
  13. package/dist/core/component.js.map +1 -1
  14. package/dist/core/decorators.d.ts +36 -7
  15. package/dist/core/decorators.d.ts.map +1 -1
  16. package/dist/core/decorators.js +29 -7
  17. package/dist/core/decorators.js.map +1 -1
  18. package/dist/core/index.d.ts +1 -1
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js.map +1 -1
  21. package/dist/core/logger.d.ts.map +1 -1
  22. package/dist/core/logger.js +2 -1
  23. package/dist/core/logger.js.map +1 -1
  24. package/dist/core/resource.d.ts +9 -1
  25. package/dist/core/resource.d.ts.map +1 -1
  26. package/dist/core/resource.js +19 -0
  27. package/dist/core/resource.js.map +1 -1
  28. package/dist/core/server.d.ts +17 -2
  29. package/dist/core/server.d.ts.map +1 -1
  30. package/dist/core/server.js +195 -53
  31. package/dist/core/server.js.map +1 -1
  32. package/dist/core/tool.d.ts +5 -0
  33. package/dist/core/tool.d.ts.map +1 -1
  34. package/dist/core/tool.js +49 -21
  35. package/dist/core/tool.js.map +1 -1
  36. package/dist/core/widget-bundle-paths.d.ts +5 -0
  37. package/dist/core/widget-bundle-paths.d.ts.map +1 -0
  38. package/dist/core/widget-bundle-paths.js +25 -0
  39. package/dist/core/widget-bundle-paths.js.map +1 -0
  40. package/dist/core/widget-html-mime.d.ts +7 -0
  41. package/dist/core/widget-html-mime.d.ts.map +1 -0
  42. package/dist/core/widget-html-mime.js +7 -0
  43. package/dist/core/widget-html-mime.js.map +1 -0
  44. package/dist/core/widget-mcp-meta.d.ts +18 -0
  45. package/dist/core/widget-mcp-meta.d.ts.map +1 -0
  46. package/dist/core/widget-mcp-meta.js +92 -0
  47. package/dist/core/widget-mcp-meta.js.map +1 -0
  48. package/dist/core/widget-mime.d.ts +29 -0
  49. package/dist/core/widget-mime.d.ts.map +1 -0
  50. package/dist/core/widget-mime.js +41 -0
  51. package/dist/core/widget-mime.js.map +1 -0
  52. package/dist/ui-next/index.d.ts +3 -0
  53. package/dist/ui-next/index.d.ts.map +1 -1
  54. package/dist/ui-next/index.js +4 -1
  55. package/dist/ui-next/index.js.map +1 -1
  56. package/package.json +4 -1
package/README.md CHANGED
@@ -1,116 +1,75 @@
1
- # @nitrostack/core
1
+ # @nitrostack/core
2
2
 
3
- **The core engine for NitroStack — Build powerful, enterprise-grade MCP servers with ease.**
3
+ TypeScript framework for building production-ready MCP servers with decorators,
4
+ dependency injection, validation, auth, and middleware pipelines.
4
5
 
5
- [![Core SDK](https://img.shields.io/badge/NitroStack-Core-blue?style=for-the-badge&logo=none)](https://nitrostack.ai)
6
- [![License](https://img.shields.io/badge/License-Apache%202.0-red?style=for-the-badge&logo=none)](https://opensource.org/licenses/Apache-2.0)
7
- [![Documentation](https://img.shields.io/badge/Docs-docs.nitrostack.ai-brightgreen?style=for-the-badge&logo=none)](https://docs.nitrostack.ai)
6
+ [![npm version](https://img.shields.io/npm/v/@nitrostack/core?style=flat-square)](https://www.npmjs.com/package/@nitrostack/core)
7
+ [![npm downloads](https://img.shields.io/npm/dm/@nitrostack/core?style=flat-square)](https://www.npmjs.com/package/@nitrostack/core)
8
+ [![license](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](https://opensource.org/licenses/Apache-2.0)
8
9
 
9
- `@nitrostack/core` provides the foundational building blocks for building Model Context Protocol (MCP) servers. Inspired by modern frameworks like NestJS, it uses decorators and dependency injection to keep your code clean, modular, and highly testable.
10
-
11
- ---
12
-
13
- ## ✨ Key Features
14
-
15
- - **🧩 Decorator-Based API**: Define tools, resources, and prompts with simple annotations (`@Tool`, `@Resource`, `@Prompt`).
16
- - **🛡️ Secure by Design**: Built-in guards and interceptors for JWT, OAuth 2.1, and API Key authentication.
17
- - **💉 Dependency Injection**: Powerful DI container for managing services and application state.
18
- - **🛠️ Extensible Pipeline**: Middleware, Pipes, and Exception Filters for fine-grained request handling.
19
- - **🚦 Performance First**: Native support for `@Cache()` and `@RateLimit()` to protect your server.
20
- - **📝 Schema Driven**: Automated JSON-RPC validation using Zod for 100% type safety.
21
-
22
- ---
23
-
24
- ## 📦 Installation
10
+ ## Installation
25
11
 
26
12
  ```bash
27
13
  npm install @nitrostack/core zod reflect-metadata
28
14
  ```
29
15
 
30
- ---
16
+ ## Why `@nitrostack/core`
31
17
 
32
- ## 🚀 Quick Start
18
+ - Decorator-first authoring for tools, resources, and prompts
19
+ - Built-in DI container with module architecture
20
+ - Auth primitives for API key, JWT, and OAuth 2.1 flows
21
+ - Middleware-style request lifecycle (guards, pipes, interceptors)
22
+ - Strong runtime validation with Zod-based schemas
33
23
 
34
- Build a simple calculation service in just a few lines of code:
24
+ ## Quick Example
35
25
 
36
26
  ```typescript
37
- import { Module, Tool, McpApp, McpApplicationFactory, z } from '@nitrostack/core';
27
+ import { McpApp, Module, ToolDecorator as Tool, z } from '@nitrostack/core';
38
28
 
39
- class CalculatorTools {
29
+ export class MathTools {
40
30
  @Tool({
41
- name: 'calculate_sum',
42
- description: 'Adds two numbers together',
31
+ name: 'add_numbers',
32
+ description: 'Add two numbers',
43
33
  inputSchema: z.object({
44
34
  a: z.number(),
45
35
  b: z.number(),
46
- })
36
+ }),
47
37
  })
48
38
  async add(input: { a: number; b: number }) {
49
39
  return { result: input.a + input.b };
50
40
  }
51
41
  }
52
42
 
53
- @Module({
54
- controllers: [CalculatorTools],
55
- })
56
- class CalculatorModule {}
57
-
58
43
  @McpApp({
59
- name: 'My Calc Server',
60
- version: '1.0.0',
61
- modules: [CalculatorModule],
44
+ server: { name: 'math-server', version: '1.0.0' },
62
45
  })
63
- class Application {}
64
-
65
- const app = await McpApplicationFactory.create(Application);
66
- await app.listen();
67
- ```
68
-
69
- ---
70
-
71
- ## 🧪 Advanced Usage
72
-
73
- ### Dependency Injection
74
- ```typescript
75
- @Injectable()
76
- class DataService {
77
- getData() { return "Real Data"; }
78
- }
79
-
80
- class MyTools {
81
- constructor(private readonly service: DataService) {}
82
- // ...
83
- }
84
- ```
85
-
86
- ### Authentication Guards
87
- ```typescript
88
- @Tool({ name: 'secure_action' })
89
- @UseGuards(JwtGuard)
90
- async secureAction() {
91
- // Only accessible with valid JWT
92
- }
46
+ @Module({
47
+ name: 'app',
48
+ controllers: [MathTools],
49
+ })
50
+ export class AppModule {}
93
51
  ```
94
52
 
95
- ---
96
-
97
- ## 🎨 NitroStudio
98
-
99
- NitroStudio is the official visual test bench for NitroStack. It handles running your server internally, allowing you to visually debug tools, inspect contexts, and preview widgets without manual setup.
100
-
101
- ![NitroStudio](https://raw.githubusercontent.com/nitrocloudofficial/nitrostack/main/typescript/packages/core/assets/gif/nitrostudio-main.gif)
53
+ ## NitroStudio
102
54
 
103
- **[Download NitroStudio](https://nitrostack.ai/studio)**
55
+ Use NitroStudio to test tools visually, inspect payloads, and validate behavior
56
+ while developing your MCP server.
104
57
 
105
- ---
58
+ - Download: <https://nitrostack.ai/studio>
59
+ - Studio: <https://nitrostack.ai/studio>
106
60
 
107
- ## 📖 Useful Links
61
+ ## Links
108
62
 
109
- - **[GitHub Repository](https://github.com/nitrocloudofficial/nitrostack)**
110
- - **[Documentation](https://docs.nitrostack.ai)**
111
- - **[Blog & Tutorials](https://blog.nitrostack.ai)**
112
- - **[NPM Package](https://www.npmjs.com/package/@nitrostack/core)**
63
+ - Docs: <https://docs.nitrostack.ai>
64
+ - SDK guide: <https://docs.nitrostack.ai/sdk/typescript/server>
65
+ - Source: <https://github.com/nitrocloudofficial/nitrostack>
66
+ - npm: <https://www.npmjs.com/package/@nitrostack/core>
67
+ - Blog: <https://blog.nitrostack.ai>
113
68
 
114
- ---
69
+ ## Community
115
70
 
116
- Built with ⚡ by the **NitroStack Team**.
71
+ - Discord: <https://discord.gg/uVWey6UhuD>
72
+ - X: <https://x.com/nitrostackai>
73
+ - YouTube: <https://www.youtube.com/@nitrostackai>
74
+ - LinkedIn: <https://linkedin.com/company/nitrostack-ai/>
75
+ - GitHub: <https://github.com/nitrostackai>
@@ -0,0 +1,54 @@
1
+ /**
2
+ * NitroStack App Mode
3
+ *
4
+ * Central utility for detecting and switching between OpenAI Apps SDK
5
+ * and MCP Apps protocol conventions.
6
+ *
7
+ * Set via the `NITROSTACK_APP_MODE` environment variable:
8
+ * - 'openai' (default) — OpenAI Apps SDK / ChatGPT conventions
9
+ * - 'mcp-app' — MCP Apps spec (Claude, universal MCP hosts)
10
+ *
11
+ * @module
12
+ */
13
+ /**
14
+ * Supported app modes
15
+ */
16
+ export type AppMode = 'openai' | 'mcp-app' | 'universal';
17
+ /**
18
+ * MIME type used by MCP Apps spec for UI resources.
19
+ * Hosts use this MIME type to activate the MCP Apps bridge (JSON-RPC over postMessage).
20
+ */
21
+ export declare const RESOURCE_MIME_TYPE_MCP_APP = "text/html;profile=mcp-app";
22
+ /**
23
+ * MIME type used by OpenAI Apps SDK for UI resources (standard HTML).
24
+ */
25
+ export declare const RESOURCE_MIME_TYPE_OPENAI = "text/html";
26
+ /**
27
+ * Get the current NitroStack app mode from environment.
28
+ *
29
+ * Reads `NITROSTACK_APP_MODE` env variable with lenient parsing:
30
+ * - 'mcp-app', 'mcpapp', 'mcp_app' → 'mcp-app'
31
+ * - 'universal', 'all', 'both' → 'universal'
32
+ * - anything else (or unset) → 'openai' (default)
33
+ *
34
+ * @returns The active app mode
35
+ */
36
+ export declare function getAppMode(): AppMode;
37
+ /**
38
+ * Check if the server is running in MCP Apps mode.
39
+ * Returns true if mode is 'mcp-app' or 'universal'.
40
+ */
41
+ export declare function isMcpAppMode(): boolean;
42
+ /**
43
+ * Check if the server is running in OpenAI Apps SDK mode.
44
+ * Returns true if mode is 'openai' or 'universal'.
45
+ */
46
+ export declare function isOpenAiMode(): boolean;
47
+ /**
48
+ * Get the appropriate MIME type for widget resources based on current mode.
49
+ *
50
+ * - OpenAI mode: `text/html` (standard)
51
+ * - MCP Apps/Universal mode: `text/html;profile=mcp-app`
52
+ */
53
+ export declare function getWidgetMimeType(): string;
54
+ //# sourceMappingURL=app-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-mode.d.ts","sourceRoot":"","sources":["../../src/core/app-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,8BAA8B,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,OAAO,CASpC;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * NitroStack App Mode
3
+ *
4
+ * Central utility for detecting and switching between OpenAI Apps SDK
5
+ * and MCP Apps protocol conventions.
6
+ *
7
+ * Set via the `NITROSTACK_APP_MODE` environment variable:
8
+ * - 'openai' (default) — OpenAI Apps SDK / ChatGPT conventions
9
+ * - 'mcp-app' — MCP Apps spec (Claude, universal MCP hosts)
10
+ *
11
+ * @module
12
+ */
13
+ /**
14
+ * MIME type used by MCP Apps spec for UI resources.
15
+ * Hosts use this MIME type to activate the MCP Apps bridge (JSON-RPC over postMessage).
16
+ */
17
+ export const RESOURCE_MIME_TYPE_MCP_APP = 'text/html;profile=mcp-app';
18
+ /**
19
+ * MIME type used by OpenAI Apps SDK for UI resources (standard HTML).
20
+ */
21
+ export const RESOURCE_MIME_TYPE_OPENAI = 'text/html';
22
+ /**
23
+ * Get the current NitroStack app mode from environment.
24
+ *
25
+ * Reads `NITROSTACK_APP_MODE` env variable with lenient parsing:
26
+ * - 'mcp-app', 'mcpapp', 'mcp_app' → 'mcp-app'
27
+ * - 'universal', 'all', 'both' → 'universal'
28
+ * - anything else (or unset) → 'openai' (default)
29
+ *
30
+ * @returns The active app mode
31
+ */
32
+ export function getAppMode() {
33
+ const raw = process.env.NITROSTACK_APP_MODE?.toLowerCase().trim();
34
+ if (raw === 'mcp-app' || raw === 'mcpapp' || raw === 'mcp_app' || raw === 'mcp app') {
35
+ return 'mcp-app';
36
+ }
37
+ if (raw === 'universal' || raw === 'all' || raw === 'both') {
38
+ return 'universal';
39
+ }
40
+ return 'openai';
41
+ }
42
+ /**
43
+ * Check if the server is running in MCP Apps mode.
44
+ * Returns true if mode is 'mcp-app' or 'universal'.
45
+ */
46
+ export function isMcpAppMode() {
47
+ const mode = getAppMode();
48
+ return mode === 'mcp-app' || mode === 'universal';
49
+ }
50
+ /**
51
+ * Check if the server is running in OpenAI Apps SDK mode.
52
+ * Returns true if mode is 'openai' or 'universal'.
53
+ */
54
+ export function isOpenAiMode() {
55
+ const mode = getAppMode();
56
+ return mode === 'openai' || mode === 'universal';
57
+ }
58
+ /**
59
+ * Get the appropriate MIME type for widget resources based on current mode.
60
+ *
61
+ * - OpenAI mode: `text/html` (standard)
62
+ * - MCP Apps/Universal mode: `text/html;profile=mcp-app`
63
+ */
64
+ export function getWidgetMimeType() {
65
+ return isMcpAppMode() ? RESOURCE_MIME_TYPE_MCP_APP : RESOURCE_MIME_TYPE_OPENAI;
66
+ }
67
+ //# sourceMappingURL=app-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-mode.js","sourceRoot":"","sources":["../../src/core/app-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QAC3D,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,yBAAyB,CAAC;AACjF,CAAC"}
@@ -2,7 +2,7 @@ import { Tool } from './tool.js';
2
2
  import { Resource } from './resource.js';
3
3
  import { Prompt } from './prompt.js';
4
4
  import { ClassConstructor } from './types.js';
5
- import { ToolOptions, ResourceOptions, PromptOptions } from './decorators.js';
5
+ import { ToolOptions, ResourceOptions, PromptOptions, type WidgetRouteMetadata } from './decorators.js';
6
6
  /**
7
7
  * Controller instance type
8
8
  */
@@ -16,7 +16,7 @@ type ControllerClass = ClassConstructor<ControllerInstance>;
16
16
  /**
17
17
  * Build a Tool instance from a decorated method
18
18
  */
19
- export declare function buildTool(controllerInstance: ControllerInstance, methodName: string, options: ToolOptions, widgetRoute?: string, isInitial?: boolean): Tool;
19
+ export declare function buildTool(controllerInstance: ControllerInstance, methodName: string, options: ToolOptions, widgetMeta?: WidgetRouteMetadata, isInitial?: boolean): Tool;
20
20
  /**
21
21
  * Build all tools from a controller
22
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/core/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAEnD,OAAO,EAA+G,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3J,OAAO,EAA6F,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AASzK;;GAEG;AACH,UAAU,kBAAkB;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,KAAK,eAAe,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AAE5D;;GAEG;AACH,wBAAgB,SAAS,CACvB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,OAAO,GAClB,IAAI,CA2CN;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,EAAE,CAczE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,GACvB,QAAQ,CAiCV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,QAAQ,EAAE,CAOjF;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GACrB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAO7E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG;IAC5D,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAgBA"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/core/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAEnD,OAAO,EAA+G,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3J,OAAO,EAML,WAAW,EACX,eAAe,EACf,aAAa,EACb,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AASzB;;GAEG;AACH,UAAU,kBAAkB;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,KAAK,eAAe,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AAE5D;;GAEG;AACH,wBAAgB,SAAS,CACvB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,mBAAmB,EAChC,SAAS,CAAC,EAAE,OAAO,GAClB,IAAI,CAgDN;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,EAAE,CAczE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,GACvB,QAAQ,CAiCV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,QAAQ,EAAE,CAOjF;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GACrB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAO7E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG;IAC5D,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAgBA"}
@@ -2,7 +2,7 @@ import { Tool } from './tool.js';
2
2
  import { createResource } from './resource.js';
3
3
  import { createPrompt } from './prompt.js';
4
4
  import { createComponentFromNextRoute } from '../ui-next/index.js';
5
- import { extractTools, extractResources, extractPrompts, getWidgetMetadata, getInitialToolMetadata } from './decorators.js';
5
+ import { extractTools, extractResources, extractPrompts, getWidgetMetadata, getInitialToolMetadata, } from './decorators.js';
6
6
  import { getGuardsMetadata } from './guards/use-guards.decorator.js';
7
7
  import { getMiddlewareMetadata } from './middleware/middleware.decorator.js';
8
8
  import { getInterceptorMetadata } from './interceptors/interceptor.decorator.js';
@@ -13,7 +13,8 @@ import { isInjectable } from './di/injectable.decorator.js';
13
13
  /**
14
14
  * Build a Tool instance from a decorated method
15
15
  */
16
- export function buildTool(controllerInstance, methodName, options, widgetRoute, isInitial) {
16
+ export function buildTool(controllerInstance, methodName, options, widgetMeta, isInitial) {
17
+ const widgetRoute = widgetMeta?.route;
17
18
  const prototype = Object.getPrototypeOf(controllerInstance);
18
19
  // Get the original method
19
20
  const method = controllerInstance[methodName];
@@ -47,7 +48,11 @@ export function buildTool(controllerInstance, methodName, options, widgetRoute,
47
48
  });
48
49
  // Create and attach component if widget route is specified
49
50
  if (widgetRoute) {
50
- const component = createComponentFromNextRoute(widgetRoute);
51
+ const component = createComponentFromNextRoute(widgetRoute, {
52
+ csp: widgetMeta?.csp,
53
+ prefersBorder: widgetMeta?.prefersBorder,
54
+ subdomain: widgetMeta?.domain,
55
+ });
51
56
  tool.setComponent(component);
52
57
  }
53
58
  return tool;
@@ -61,10 +66,10 @@ export function buildTools(controllerInstance) {
61
66
  return toolMetadata.map(({ methodName, options }) => {
62
67
  const prototype = Object.getPrototypeOf(controllerInstance);
63
68
  // Check if this method has a widget
64
- const widgetRoute = getWidgetMetadata(prototype, methodName);
69
+ const widgetMeta = getWidgetMetadata(prototype, methodName);
65
70
  // Check for initial tool decorator
66
71
  const isInitial = getInitialToolMetadata(prototype, methodName);
67
- return buildTool(controllerInstance, methodName, options, widgetRoute, isInitial);
72
+ return buildTool(controllerInstance, methodName, options, widgetMeta, isInitial);
68
73
  });
69
74
  }
70
75
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/core/builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/core/builders.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface ComponentMetadata {
21
21
  csp?: {
22
22
  connectDomains?: string[];
23
23
  resourceDomains?: string[];
24
+ frameDomains?: string[];
24
25
  };
25
26
  /** Custom subdomain for component rendering */
26
27
  subdomain?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IAEX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,gDAAgD;IAChD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,sCAAsC;IACtC,GAAG,CAAC,EAAE;QACJ,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IAEF,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3C,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,yDAAyD;IACzD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAEpE,4DAA4D;IAC5D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAExE,qCAAqC;IACrC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAIG;gBAEL,UAAU,EAAE,mBAAmB;IAK3C,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD9B;;OAEG;IACH,SAAS,IAAI,MAAM;IAoBnB;;OAEG;IACH,cAAc,IAAI,MAAM;IAQxB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAO/E;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/E;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiD1F;;OAEG;IACH,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAoB9C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAE1E"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"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"}
@@ -170,6 +170,7 @@ ${jsTag}
170
170
  metadata['openai/widgetCSP'] = {
171
171
  connect_domains: this.definition.csp.connectDomains || [],
172
172
  resource_domains: this.definition.csp.resourceDomains || [],
173
+ frame_domains: this.definition.csp.frameDomains || [],
173
174
  };
174
175
  }
175
176
  break;
@@ -208,6 +209,9 @@ ${jsTag}
208
209
  if (openaiMeta['openai/widgetPrefersBorder']) {
209
210
  metadata['openai/widgetPrefersBorder'] = openaiMeta['openai/widgetPrefersBorder'];
210
211
  }
212
+ if (openaiMeta['openai/widgetDomain']) {
213
+ metadata['openai/widgetDomain'] = openaiMeta['openai/widgetDomain'];
214
+ }
211
215
  return metadata;
212
216
  }
213
217
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/core/component.ts"],"names":[],"mappings":"AA6DA;;GAEG;AACH,MAAM,OAAO,SAAS;IACZ,UAAU,CAAsB;IAChC,QAAQ,GAAY,KAAK,CAAC;IAC1B,MAAM,GAIV,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAEjB,YAAY,UAA+B;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC7D,8CAA8C;QAChD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,8DAA8D;QAC9D,qDAAqD;QACrD,wFAAwF;QACxF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAErE,qBAAqB;QACrB,IAAI,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAEpE,kEAAkE;QAClE,+EAA+E;QAC/E,yEAAyE;QACzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACrE,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB;YACtE,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,eAAe,OAAO,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,gEAAgE;gBAChE,gEAAgE;gBAChE,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAEhE,IAAI,CAAC,MAAM,GAAG;oBACZ,IAAI,EAAE,WAAW;iBAClB,CAAC;gBACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE;YAChC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;YACxB,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;SACvB,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE,oDAAoD,iBAAiB,EAAE,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG;YAC5B,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,GAAG,UAAU;YACrC,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE;YAC1B,CAAC,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW;YACpD,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;EACT,IAAI,CAAC,MAAM,CAAC,IAAI;EAChB,MAAM;EACN,KAAK;KACF,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,+CAA+C;QAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACpE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,eAAe,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;QAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAa,EAAE,OAAyB;QAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAChC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAa,EAAE,OAAyB;QAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACpC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,wEAAwE;QACxE,0EAA0E;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,QAA4C;QAC9D,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAE7C,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC1D,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,IAAI,KAAK,CAAC;gBAE9E,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;oBAChC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBACrE,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;oBAClC,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;gBAChD,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;oBAC9B,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC9D,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;oBACxB,QAAQ,CAAC,kBAAkB,CAAC,GAAG;wBAC7B,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;wBACzD,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;wBAC3D,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;qBACtD,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,sCAAsC;gBACtC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACjD,MAAM;YAER,KAAK,SAAS,CAAC;YACf;gBACE,4BAA4B;gBAC5B,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAChD,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,IAAI,KAAK,CAAC;gBACrE,MAAM;QACV,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,QAAQ,GAA4B;YACxC,QAAQ,EAAE,WAAW;SACtB,CAAC;QAEF,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,0BAA0B,CAAC,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,UAAU,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,4BAA4B,CAAC,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAyB;QACxC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAA+B;IAC7D,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC"}
@@ -121,19 +121,48 @@ interface ToolMetadataEntry {
121
121
  * ```
122
122
  */
123
123
  export declare function Tool(options: ToolOptions): MethodDecorator;
124
+ /**
125
+ * CSP allowlists for widget iframes (OpenAI `openai/widgetCSP` / MCP Apps `_meta.ui.csp`).
126
+ */
127
+ export interface WidgetCspOptions {
128
+ connectDomains?: string[];
129
+ resourceDomains?: string[];
130
+ frameDomains?: string[];
131
+ }
132
+ /**
133
+ * Widget linking options (object form). `route` is required; other fields are optional.
134
+ */
135
+ export interface WidgetRouteMetadata {
136
+ route: string;
137
+ csp?: WidgetCspOptions;
138
+ /** OpenAI widget sandbox domain (HTTPS), e.g. `https://myapp.example.com` — maps to `openai/widgetDomain`. */
139
+ domain?: string;
140
+ /** Maps to `openai/widgetPrefersBorder`. */
141
+ prefersBorder?: boolean;
142
+ }
124
143
  /**
125
144
  * Widget decorator - Links a tool to a Next.js widget route
126
145
  *
127
- * @example
146
+ * @example String route (backward compatible)
128
147
  * ```typescript
129
- * @Tool({ name: 'login', ... })
130
148
  * @Widget('login-result')
131
- * async login(input: LoginInput, context: ExecutionContext) {
132
- * // Implementation
133
- * }
149
+ * ```
150
+ *
151
+ * @example Object form — `route` is required
152
+ * ```typescript
153
+ * @Widget({
154
+ * route: 'card',
155
+ * prefersBorder: true,
156
+ * domain: 'https://myapp.example.com',
157
+ * csp: {
158
+ * resourceDomains: ['https://images.unsplash.com'],
159
+ * connectDomains: ['https://api.example.com'],
160
+ * frameDomains: ['https://*.example-embed.com'],
161
+ * },
162
+ * })
134
163
  * ```
135
164
  */
136
- export declare function Widget(routePath: string): MethodDecorator;
165
+ export declare function Widget(routePath: string | WidgetRouteMetadata): MethodDecorator;
137
166
  /**
138
167
  * Resource metadata stored on class
139
168
  */
@@ -194,7 +223,7 @@ export declare function extractPrompts(target: ClassConstructor): PromptMetadata
194
223
  /**
195
224
  * Get widget metadata for a specific method
196
225
  */
197
- export declare function getWidgetMetadata(target: object, methodName: string): string | undefined;
226
+ export declare function getWidgetMetadata(target: object, methodName: string): WidgetRouteMetadata | undefined;
198
227
  /**
199
228
  * Get guards metadata for a specific method
200
229
  */
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"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"}
@@ -42,19 +42,41 @@ export function Tool(options) {
42
42
  /**
43
43
  * Widget decorator - Links a tool to a Next.js widget route
44
44
  *
45
- * @example
45
+ * @example String route (backward compatible)
46
46
  * ```typescript
47
- * @Tool({ name: 'login', ... })
48
47
  * @Widget('login-result')
49
- * async login(input: LoginInput, context: ExecutionContext) {
50
- * // Implementation
51
- * }
48
+ * ```
49
+ *
50
+ * @example Object form — `route` is required
51
+ * ```typescript
52
+ * @Widget({
53
+ * route: 'card',
54
+ * prefersBorder: true,
55
+ * domain: 'https://myapp.example.com',
56
+ * csp: {
57
+ * resourceDomains: ['https://images.unsplash.com'],
58
+ * connectDomains: ['https://api.example.com'],
59
+ * frameDomains: ['https://*.example-embed.com'],
60
+ * },
61
+ * })
52
62
  * ```
53
63
  */
54
64
  export function Widget(routePath) {
65
+ let meta;
66
+ if (typeof routePath === 'string') {
67
+ if (!routePath.trim()) {
68
+ throw new Error('@Widget: route must be a non-empty string');
69
+ }
70
+ meta = { route: routePath };
71
+ }
72
+ else {
73
+ if (typeof routePath.route !== 'string' || !routePath.route.trim()) {
74
+ throw new Error('@Widget: object form requires a non-empty string "route"');
75
+ }
76
+ meta = routePath;
77
+ }
55
78
  return function (target, propertyKey, descriptor) {
56
- // Store widget metadata
57
- Reflect.defineMetadata(WIDGET_METADATA, routePath, target, String(propertyKey));
79
+ Reflect.defineMetadata(WIDGET_METADATA, meta, target, String(propertyKey));
58
80
  return descriptor;
59
81
  };
60
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/core/decorators.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export { TaskManager, TaskContext, TaskNotFoundError, TaskAlreadyTerminalError,
15
15
  export type { TaskStatus, TaskData, TaskParams, CreateTaskResult, TaskSupportLevel, } from './task.js';
16
16
  export type { McpServerConfig, ToolDefinition, ToolAnnotations, ToolResultContent, ResourceLink, EmbeddedResource, ResourceDefinition, ResourceTemplateDefinition, ResourceAnnotations, PromptDefinition, ExecutionContext, Logger, AuthContext, JsonValue, JsonValueOrUndefined, JsonObject, JsonArray, JsonPrimitive, Constructor, ClassConstructor, } from './types.js';
17
17
  export { Tool as ToolDecorator, Widget, Resource as ResourceDecorator, Prompt as PromptDecorator, extractTools, extractResources, extractPrompts, getWidgetMetadata, getGuardsMetadata, InitialTool, } from './decorators.js';
18
- export type { ToolOptions, ToolInvocationMessages, ResourceOptions, PromptOptions, } from './decorators.js';
18
+ export type { ToolOptions, ToolInvocationMessages, ResourceOptions, PromptOptions, WidgetCspOptions, WidgetRouteMetadata, } from './decorators.js';
19
19
  export { Module, createModule, isModule, getModuleMetadata, } from './module.js';
20
20
  export type { ModuleMetadata, ModuleImport, DynamicModule, Provider, } from './module.js';
21
21
  export type { Guard, GuardConstructor } from './guards/guard.interface.js';