nitrostack 1.0.69 → 1.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -7
- package/dist/core/builders.d.ts +1 -1
- package/dist/core/builders.d.ts.map +1 -1
- package/dist/core/builders.js +6 -3
- package/dist/core/builders.js.map +1 -1
- package/dist/core/decorators.d.ts +21 -0
- package/dist/core/decorators.d.ts.map +1 -1
- package/dist/core/decorators.js +28 -0
- package/dist/core/decorators.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/tool.d.ts +2 -0
- package/dist/core/tool.d.ts.map +1 -1
- package/dist/core/tool.js +6 -0
- package/dist/core/tool.js.map +1 -1
- package/package.json +1 -1
- package/src/studio/app/chat/page.tsx +76 -0
package/README.md
CHANGED
|
@@ -4,8 +4,8 @@ Build production‑ready MCP (Model Context Protocol) servers with TypeScript
|
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/nitrostack)
|
|
6
6
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
7
|
-
[](https://nitrostack.
|
|
8
|
-
[](https://
|
|
7
|
+
[](https://nitrostack.ai/)
|
|
8
|
+
[](https://docs.nitrostack.ai/)
|
|
9
9
|
|
|
10
10
|
NitroStack is a batteries‑included toolkit for creating real, shippable MCP servers. It combines a clean, declarative programming model with a built‑in visual Studio, authentication modules, widget UI system, hot‑reload dev workflow, and production‑grade tooling — all focused on one goal: let you build great MCP servers with minimal ceremony.
|
|
11
11
|
|
|
@@ -119,8 +119,6 @@ Register the module in `app.module.ts`, save — and call the tool in Studio.
|
|
|
119
119
|
```bash
|
|
120
120
|
# Create a project from templates
|
|
121
121
|
nitrostack init <name> --template typescript-starter
|
|
122
|
-
nitrostack init <name> --template typescript-auth
|
|
123
|
-
nitrostack init <name> --template typescript-auth-api-key
|
|
124
122
|
nitrostack init <name> --template typescript-oauth
|
|
125
123
|
|
|
126
124
|
# Dev / Build
|
|
@@ -160,7 +158,7 @@ Consider enabling caching, rate limits, structured logging, and health checks fo
|
|
|
160
158
|
|
|
161
159
|
## Documentation
|
|
162
160
|
|
|
163
|
-
Full docs: `https://
|
|
161
|
+
Full docs: `https://docs.nitrostack.ai/`
|
|
164
162
|
- Getting started, SDK guides, decorators, CLI reference, templates, deployment
|
|
165
163
|
|
|
166
164
|
## License
|
|
@@ -169,8 +167,8 @@ Apache License 2.0 — see `LICENSE`. © 2025 Abhishek Pandit
|
|
|
169
167
|
|
|
170
168
|
## Links
|
|
171
169
|
|
|
172
|
-
- Website: `https://nitrostack.
|
|
173
|
-
- Docs: `https://
|
|
170
|
+
- Website: `https://nitrostack.ai/`
|
|
171
|
+
- Docs: `https://docs.nitrostack.ai/`
|
|
174
172
|
- GitHub: `https://github.com/abhishekpanditofficial/nitrostack`
|
|
175
173
|
- npm: `https://www.npmjs.com/package/nitrostack`
|
|
176
174
|
- Model Context Protocol: `https://modelcontextprotocol.io`
|
package/dist/core/builders.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { ToolOptions, ResourceOptions, PromptOptions } from './decorators.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Build a Tool instance from a decorated method
|
|
7
7
|
*/
|
|
8
|
-
export declare function buildTool(controllerInstance: any, methodName: string, options: ToolOptions, widgetRoute?: string): Tool;
|
|
8
|
+
export declare function buildTool(controllerInstance: any, methodName: string, options: ToolOptions, widgetRoute?: string, isInitial?: boolean): Tool;
|
|
9
9
|
/**
|
|
10
10
|
* Build all tools from a controller
|
|
11
11
|
*/
|
|
@@ -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;AAGnD,OAAO,
|
|
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;AAGnD,OAAO,EAA6F,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AASzK;;GAEG;AACH,wBAAgB,SAAS,CACvB,kBAAkB,EAAE,GAAG,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,OAAO,GAClB,IAAI,CAqCN;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,kBAAkB,EAAE,GAAG,GAAG,IAAI,EAAE,CAY1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,kBAAkB,EAAE,GAAG,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,GACvB,QAAQ,CAeV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,kBAAkB,EAAE,GAAG,GAAG,QAAQ,EAAE,CAMlE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,kBAAkB,EAAE,GAAG,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GACrB,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,kBAAkB,EAAE,GAAG,GAAG,MAAM,EAAE,CAM9D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,GAAG,GAAG;IAChD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAgBA"}
|
package/dist/core/builders.js
CHANGED
|
@@ -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 } 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,7 @@ 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) {
|
|
16
|
+
export function buildTool(controllerInstance, methodName, options, widgetRoute, isInitial) {
|
|
17
17
|
const prototype = Object.getPrototypeOf(controllerInstance);
|
|
18
18
|
// Get the original method
|
|
19
19
|
const originalMethod = controllerInstance[methodName].bind(controllerInstance);
|
|
@@ -37,6 +37,7 @@ export function buildTool(controllerInstance, methodName, options, widgetRoute)
|
|
|
37
37
|
examples: options.examples,
|
|
38
38
|
widget: widgetRoute ? { route: widgetRoute } : undefined,
|
|
39
39
|
outputTemplate: widgetRoute,
|
|
40
|
+
isInitial,
|
|
40
41
|
});
|
|
41
42
|
// Create and attach component if widget route is specified
|
|
42
43
|
if (widgetRoute) {
|
|
@@ -53,7 +54,9 @@ export function buildTools(controllerInstance) {
|
|
|
53
54
|
return toolMetadata.map(({ methodName, options }) => {
|
|
54
55
|
// Check if this method has a widget
|
|
55
56
|
const widgetRoute = getWidgetMetadata(Object.getPrototypeOf(controllerInstance), methodName);
|
|
56
|
-
|
|
57
|
+
// Check for initial tool decorator
|
|
58
|
+
const isInitial = getInitialToolMetadata(Object.getPrototypeOf(controllerInstance), methodName);
|
|
59
|
+
return buildTool(controllerInstance, methodName, options, widgetRoute, isInitial);
|
|
57
60
|
});
|
|
58
61
|
}
|
|
59
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/core/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAY,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAU,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAA+C,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/core/builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -148,4 +148,25 @@ export declare function getWidgetMetadata(target: any, methodName: string): stri
|
|
|
148
148
|
* Get guards metadata for a specific method
|
|
149
149
|
*/
|
|
150
150
|
export declare function getGuardsMetadata(target: any, methodName: string): any[];
|
|
151
|
+
/**
|
|
152
|
+
* Initial tool decorator metadata key
|
|
153
|
+
*/
|
|
154
|
+
export declare const INITIAL_TOOL_METADATA: unique symbol;
|
|
155
|
+
/**
|
|
156
|
+
* InitialTool decorator - Marks a tool to be automatically called when the client starts
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* @Tool({ ... })
|
|
161
|
+
* @InitialTool()
|
|
162
|
+
* async init(input: any, context: ExecutionContext) {
|
|
163
|
+
* // Implementation
|
|
164
|
+
* }
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
export declare function InitialTool(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
168
|
+
/**
|
|
169
|
+
* Get initial tool metadata for a specific method
|
|
170
|
+
*/
|
|
171
|
+
export declare function getInitialToolMetadata(target: any, methodName: string): boolean;
|
|
151
172
|
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -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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"}
|
package/dist/core/decorators.js
CHANGED
|
@@ -139,4 +139,32 @@ export function getWidgetMetadata(target, methodName) {
|
|
|
139
139
|
export function getGuardsMetadata(target, methodName) {
|
|
140
140
|
return Reflect.getMetadata(GUARDS_METADATA, target, methodName) || [];
|
|
141
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Initial tool decorator metadata key
|
|
144
|
+
*/
|
|
145
|
+
export const INITIAL_TOOL_METADATA = Symbol('initial_tool:metadata');
|
|
146
|
+
/**
|
|
147
|
+
* InitialTool decorator - Marks a tool to be automatically called when the client starts
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* @Tool({ ... })
|
|
152
|
+
* @InitialTool()
|
|
153
|
+
* async init(input: any, context: ExecutionContext) {
|
|
154
|
+
* // Implementation
|
|
155
|
+
* }
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
export function InitialTool() {
|
|
159
|
+
return function (target, propertyKey, descriptor) {
|
|
160
|
+
Reflect.defineMetadata(INITIAL_TOOL_METADATA, true, target, propertyKey);
|
|
161
|
+
return descriptor;
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Get initial tool metadata for a specific method
|
|
166
|
+
*/
|
|
167
|
+
export function getInitialToolMetadata(target, methodName) {
|
|
168
|
+
return Reflect.getMetadata(INITIAL_TOOL_METADATA, target, methodName) === true;
|
|
169
|
+
}
|
|
142
170
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -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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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export { createComponent, Component } from './component.js';
|
|
|
11
11
|
export { createLogger, defaultLogger } from './logger.js';
|
|
12
12
|
export * from './errors.js';
|
|
13
13
|
export type { McpServerConfig, ToolDefinition, ResourceDefinition, PromptDefinition, ExecutionContext, Logger, } from './types.js';
|
|
14
|
-
export { Tool as ToolDecorator, Widget, Resource as ResourceDecorator, Prompt as PromptDecorator, extractTools, extractResources, extractPrompts, getWidgetMetadata, getGuardsMetadata, } from './decorators.js';
|
|
14
|
+
export { Tool as ToolDecorator, Widget, Resource as ResourceDecorator, Prompt as PromptDecorator, extractTools, extractResources, extractPrompts, getWidgetMetadata, getGuardsMetadata, InitialTool, } from './decorators.js';
|
|
15
15
|
export type { ToolOptions, ResourceOptions, PromptOptions, } from './decorators.js';
|
|
16
16
|
export { Module, createModule, isModule, getModuleMetadata, } from './module.js';
|
|
17
17
|
export type { ModuleMetadata, } from './module.js';
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG1D,cAAc,aAAa,CAAC;AAG5B,YAAY,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,GACP,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,IAAI,IAAI,aAAa,EACrB,MAAM,EACN,QAAQ,IAAI,iBAAiB,EAC7B,MAAM,IAAI,eAAe,EACzB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -18,7 +18,7 @@ export { createLogger, defaultLogger } from './logger.js';
|
|
|
18
18
|
// Errors
|
|
19
19
|
export * from './errors.js';
|
|
20
20
|
// ========== V3 Decorators ==========
|
|
21
|
-
export { Tool as ToolDecorator, Widget, Resource as ResourceDecorator, Prompt as PromptDecorator, extractTools, extractResources, extractPrompts, getWidgetMetadata, getGuardsMetadata, } from './decorators.js';
|
|
21
|
+
export { Tool as ToolDecorator, Widget, Resource as ResourceDecorator, Prompt as PromptDecorator, extractTools, extractResources, extractPrompts, getWidgetMetadata, getGuardsMetadata, InitialTool, } from './decorators.js';
|
|
22
22
|
// ========== V3 Modules ==========
|
|
23
23
|
export { Module, createModule, isModule, getModuleMetadata, } from './module.js';
|
|
24
24
|
export { UseGuards, getGuardsMetadata as getGuardsMetadataFromDecorator } from './guards/use-guards.decorator.js';
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D,aAAa;AACb,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzD,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEnD,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5D,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1D,SAAS;AACT,cAAc,aAAa,CAAC;AAY5B,sCAAsC;AACtC,OAAO,EACL,IAAI,IAAI,aAAa,EACrB,MAAM,EACN,QAAQ,IAAI,iBAAiB,EAC7B,MAAM,IAAI,eAAe,EACzB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tool.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface ToolOptions {
|
|
|
24
24
|
route: string;
|
|
25
25
|
};
|
|
26
26
|
outputTemplate?: string;
|
|
27
|
+
isInitial?: boolean;
|
|
27
28
|
}
|
|
28
29
|
export declare class Tool {
|
|
29
30
|
name: string;
|
|
@@ -37,6 +38,7 @@ export declare class Tool {
|
|
|
37
38
|
route: string;
|
|
38
39
|
};
|
|
39
40
|
outputTemplate?: string;
|
|
41
|
+
isInitial?: boolean;
|
|
40
42
|
private handler;
|
|
41
43
|
private guards;
|
|
42
44
|
private middlewares;
|
package/dist/core/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/core/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAS,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAuB,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAwB,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAiB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAA4B,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAG/G,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/core/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAS,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAuB,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAwB,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAiB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAA4B,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAG/G,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,IAAI;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,OAAO,CAA0D;IACzE,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,SAAS,CAAC,CAAY;gBAElB,OAAO,EAAE,WAAW;IAgBhC;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAuDlE;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;YACW,gBAAgB;IAqB9B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAuGpC"}
|
package/dist/core/tool.js
CHANGED
|
@@ -6,6 +6,7 @@ export class Tool {
|
|
|
6
6
|
examples;
|
|
7
7
|
widget;
|
|
8
8
|
outputTemplate;
|
|
9
|
+
isInitial;
|
|
9
10
|
handler;
|
|
10
11
|
guards;
|
|
11
12
|
middlewares;
|
|
@@ -26,6 +27,7 @@ export class Tool {
|
|
|
26
27
|
this.examples = options.examples;
|
|
27
28
|
this.widget = options.widget;
|
|
28
29
|
this.outputTemplate = options.outputTemplate;
|
|
30
|
+
this.isInitial = options.isInitial;
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
33
|
* Execute the tool with full pipeline:
|
|
@@ -174,6 +176,10 @@ export class Tool {
|
|
|
174
176
|
};
|
|
175
177
|
// Initialize _meta if needed
|
|
176
178
|
mcpTool._meta = mcpTool._meta || {};
|
|
179
|
+
// Initial tool flag
|
|
180
|
+
if (this.isInitial) {
|
|
181
|
+
mcpTool._meta['tool/initial'] = true;
|
|
182
|
+
}
|
|
177
183
|
// Include examples if available
|
|
178
184
|
if (this.examples) {
|
|
179
185
|
mcpTool.examples = this.examples;
|
package/dist/core/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/core/tool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/core/tool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -57,6 +57,7 @@ export default function ChatPage() {
|
|
|
57
57
|
const messagesEndRef = useRef<HTMLDivElement>(null);
|
|
58
58
|
const fileInputRef = useRef<HTMLInputElement>(null);
|
|
59
59
|
const textareaRef = useRef<HTMLTextAreaElement>(null);
|
|
60
|
+
const initialToolExecuted = useRef(false);
|
|
60
61
|
|
|
61
62
|
useEffect(() => {
|
|
62
63
|
loadTools();
|
|
@@ -74,6 +75,12 @@ export default function ChatPage() {
|
|
|
74
75
|
}
|
|
75
76
|
}, []);
|
|
76
77
|
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
if (tools.length > 0 && !initialToolExecuted.current) {
|
|
80
|
+
checkAndRunInitialTool();
|
|
81
|
+
}
|
|
82
|
+
}, [tools]);
|
|
83
|
+
|
|
77
84
|
useEffect(() => {
|
|
78
85
|
messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });
|
|
79
86
|
}, [chatMessages]);
|
|
@@ -225,6 +232,75 @@ export default function ChatPage() {
|
|
|
225
232
|
}
|
|
226
233
|
};
|
|
227
234
|
|
|
235
|
+
const checkAndRunInitialTool = async () => {
|
|
236
|
+
// Find initial tool using specific metadata key
|
|
237
|
+
const initialTool = tools.find(t => t._meta?.['tool/initial'] === true);
|
|
238
|
+
if (!initialTool) return;
|
|
239
|
+
|
|
240
|
+
// Check for API keys (Gemini or OpenAI)
|
|
241
|
+
const geminiKey = localStorage.getItem('gemini_api_key');
|
|
242
|
+
const openaiKey = localStorage.getItem('openai_api_key');
|
|
243
|
+
const hasKey = (geminiKey && geminiKey !== '••••••••') || (openaiKey && openaiKey !== '••••••••');
|
|
244
|
+
|
|
245
|
+
if (!hasKey) return;
|
|
246
|
+
|
|
247
|
+
// Mark as executed immediately to prevent double run
|
|
248
|
+
initialToolExecuted.current = true;
|
|
249
|
+
console.log('🚀 Auto-executing initial tool:', initialTool.name);
|
|
250
|
+
|
|
251
|
+
// Initial message
|
|
252
|
+
const autoMsg: ChatMessage = {
|
|
253
|
+
role: 'user',
|
|
254
|
+
content: `(Auto) Executing initial tool: ${initialTool.name}`,
|
|
255
|
+
};
|
|
256
|
+
addChatMessage(autoMsg);
|
|
257
|
+
setLoading(true);
|
|
258
|
+
|
|
259
|
+
try {
|
|
260
|
+
const { jwtToken, mcpApiKey } = getAuthTokens();
|
|
261
|
+
const effectiveToken = jwtToken || useStudioStore.getState().oauthState?.currentToken;
|
|
262
|
+
|
|
263
|
+
// Call the tool
|
|
264
|
+
const result = await api.callTool(
|
|
265
|
+
initialTool.name,
|
|
266
|
+
{},
|
|
267
|
+
effectiveToken,
|
|
268
|
+
mcpApiKey || undefined
|
|
269
|
+
);
|
|
270
|
+
|
|
271
|
+
// Add assistant message with tool call info
|
|
272
|
+
const toolCallId = `call_${Date.now()}`;
|
|
273
|
+
const assistantMsg: ChatMessage = {
|
|
274
|
+
role: 'assistant',
|
|
275
|
+
content: `Invoking ${initialTool.name}...`,
|
|
276
|
+
toolCalls: [{
|
|
277
|
+
id: toolCallId,
|
|
278
|
+
name: initialTool.name,
|
|
279
|
+
arguments: {},
|
|
280
|
+
result // Attach result here for widget rendering
|
|
281
|
+
}]
|
|
282
|
+
};
|
|
283
|
+
addChatMessage(assistantMsg);
|
|
284
|
+
|
|
285
|
+
// Add tool result message
|
|
286
|
+
const toolResultMsg: ChatMessage = {
|
|
287
|
+
role: 'tool',
|
|
288
|
+
content: JSON.stringify(result),
|
|
289
|
+
toolCallId: toolCallId
|
|
290
|
+
};
|
|
291
|
+
addChatMessage(toolResultMsg);
|
|
292
|
+
|
|
293
|
+
} catch (error) {
|
|
294
|
+
console.error('Initial tool execution failed:', error);
|
|
295
|
+
addChatMessage({
|
|
296
|
+
role: 'assistant',
|
|
297
|
+
content: `Failed to execute initial tool ${initialTool.name}: ${error instanceof Error ? error.message : String(error)}`
|
|
298
|
+
});
|
|
299
|
+
} finally {
|
|
300
|
+
setLoading(false);
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
|
|
228
304
|
const handleExecutePrompt = async () => {
|
|
229
305
|
if (!selectedPrompt) return;
|
|
230
306
|
|