@supernal/interface 1.0.2 → 1.0.4
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/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/cjs/src/background/location/LocationContext.js +159 -0
- package/dist/cjs/src/background/location/LocationContext.js.map +1 -0
- package/dist/cjs/src/background/navigation/ContentResolver.js +37 -0
- package/dist/cjs/src/background/navigation/ContentResolver.js.map +1 -0
- package/dist/cjs/src/background/navigation/NavigationGraph.js +125 -11
- package/dist/cjs/src/background/navigation/NavigationGraph.js.map +1 -1
- package/dist/cjs/src/background/registry/ToolRegistry.js +98 -0
- package/dist/cjs/src/background/registry/ToolRegistry.js.map +1 -1
- package/dist/cjs/src/browser.js.map +1 -1
- package/dist/cjs/src/decorators/Component.js +30 -19
- package/dist/cjs/src/decorators/Component.js.map +1 -1
- package/dist/cjs/src/decorators/LocationScope.js +65 -0
- package/dist/cjs/src/decorators/LocationScope.js.map +1 -0
- package/dist/cjs/src/decorators/Tool.js +14 -1
- package/dist/cjs/src/decorators/Tool.js.map +1 -1
- package/dist/cjs/src/decorators/ToolProvider.js +11 -0
- package/dist/cjs/src/decorators/ToolProvider.js.map +1 -1
- package/dist/cjs/src/decorators/index.js +20 -2
- package/dist/cjs/src/decorators/index.js.map +1 -1
- package/dist/cjs/src/index.js +14 -3
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/mcp/index.js +16 -0
- package/dist/cjs/src/mcp/index.js.map +1 -0
- package/dist/cjs/src/mcp/server.js +281 -0
- package/dist/cjs/src/mcp/server.js.map +1 -0
- package/dist/cjs/src/mcp/transport.js +131 -0
- package/dist/cjs/src/mcp/transport.js.map +1 -0
- package/dist/cjs/src/mcp/types.js +23 -0
- package/dist/cjs/src/mcp/types.js.map +1 -0
- package/dist/cjs/src/mcp-cli.js +55 -0
- package/dist/cjs/src/mcp-cli.js.map +1 -0
- package/dist/cjs/src/mcp-server.js +17 -0
- package/dist/cjs/src/mcp-server.js.map +1 -0
- package/dist/cjs/src/react/useNavigationHandler.js +53 -12
- package/dist/cjs/src/react/useNavigationHandler.js.map +1 -1
- package/dist/cjs/src/react/usePersistedState.js +1 -1
- package/dist/cjs/src/react/usePersistedState.js.map +1 -1
- package/dist/cjs/src/state/StateSync.js +130 -0
- package/dist/cjs/src/state/StateSync.js.map +1 -0
- package/dist/cjs/src/storage/LocalStorageAdapter.js +1 -1
- package/dist/cjs/src/storage/LocalStorageAdapter.js.map +1 -1
- package/dist/cjs/src/storage/StateManager.js +2 -2
- package/dist/cjs/src/tools/SystemTools.js +1 -1
- package/dist/cjs/src/tools/SystemTools.js.map +1 -1
- package/dist/cjs/src/types/StateManagers.js +2 -2
- package/dist/cjs/src/types/StateManagers.js.map +1 -1
- package/dist/cjs/src/ui/react/chat/ChatBubble.js +3 -3
- package/dist/cjs/src/ui/react/chat/ChatBubble.js.map +1 -1
- package/dist/esm/src/background/location/LocationContext.d.ts +118 -0
- package/dist/esm/src/background/location/LocationContext.d.ts.map +1 -0
- package/dist/esm/src/background/location/LocationContext.js +155 -0
- package/dist/esm/src/background/location/LocationContext.js.map +1 -0
- package/dist/esm/src/background/navigation/ContentResolver.d.ts +139 -0
- package/dist/esm/src/background/navigation/ContentResolver.d.ts.map +1 -0
- package/dist/esm/src/background/navigation/ContentResolver.js +36 -0
- package/dist/esm/src/background/navigation/ContentResolver.js.map +1 -0
- package/dist/esm/src/background/navigation/INavigationGraph.d.ts +1 -0
- package/dist/esm/src/background/navigation/INavigationGraph.d.ts.map +1 -1
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts +24 -0
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts.map +1 -1
- package/dist/esm/src/background/navigation/NavigationGraph.js +125 -11
- package/dist/esm/src/background/navigation/NavigationGraph.js.map +1 -1
- package/dist/esm/src/background/registry/ToolRegistry.d.ts +48 -0
- package/dist/esm/src/background/registry/ToolRegistry.d.ts.map +1 -1
- package/dist/esm/src/background/registry/ToolRegistry.js +98 -0
- package/dist/esm/src/background/registry/ToolRegistry.js.map +1 -1
- package/dist/esm/src/browser.d.ts +1 -0
- package/dist/esm/src/browser.d.ts.map +1 -1
- package/dist/esm/src/browser.js.map +1 -1
- package/dist/esm/src/decorators/Component.d.ts.map +1 -1
- package/dist/esm/src/decorators/Component.js +30 -19
- package/dist/esm/src/decorators/Component.js.map +1 -1
- package/dist/esm/src/decorators/LocationScope.d.ts +49 -0
- package/dist/esm/src/decorators/LocationScope.d.ts.map +1 -0
- package/dist/esm/src/decorators/LocationScope.js +60 -0
- package/dist/esm/src/decorators/LocationScope.js.map +1 -0
- package/dist/esm/src/decorators/Tool.d.ts +3 -1
- package/dist/esm/src/decorators/Tool.d.ts.map +1 -1
- package/dist/esm/src/decorators/Tool.js +14 -1
- package/dist/esm/src/decorators/Tool.js.map +1 -1
- package/dist/esm/src/decorators/ToolProvider.d.ts +11 -0
- package/dist/esm/src/decorators/ToolProvider.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolProvider.js +10 -0
- package/dist/esm/src/decorators/ToolProvider.js.map +1 -1
- package/dist/esm/src/decorators/index.d.ts +19 -1
- package/dist/esm/src/decorators/index.d.ts.map +1 -1
- package/dist/esm/src/decorators/index.js +19 -1
- package/dist/esm/src/decorators/index.js.map +1 -1
- package/dist/esm/src/index.d.ts +5 -2
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +6 -2
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/mcp/index.d.ts +10 -0
- package/dist/esm/src/mcp/index.d.ts.map +1 -0
- package/dist/esm/src/mcp/index.js +9 -0
- package/dist/esm/src/mcp/index.js.map +1 -0
- package/dist/esm/src/mcp/server.d.ts +84 -0
- package/dist/esm/src/mcp/server.d.ts.map +1 -0
- package/dist/esm/src/mcp/server.js +276 -0
- package/dist/esm/src/mcp/server.js.map +1 -0
- package/dist/esm/src/mcp/transport.d.ts +53 -0
- package/dist/esm/src/mcp/transport.d.ts.map +1 -0
- package/dist/esm/src/mcp/transport.js +126 -0
- package/dist/esm/src/mcp/transport.js.map +1 -0
- package/dist/esm/src/mcp/types.d.ts +175 -0
- package/dist/esm/src/mcp/types.d.ts.map +1 -0
- package/dist/esm/src/mcp/types.js +20 -0
- package/dist/esm/src/mcp/types.js.map +1 -0
- package/dist/esm/src/mcp-cli.d.ts +25 -0
- package/dist/esm/src/mcp-cli.d.ts.map +1 -0
- package/dist/esm/src/mcp-cli.js +53 -0
- package/dist/esm/src/mcp-cli.js.map +1 -0
- package/dist/esm/src/mcp-server.d.ts +10 -0
- package/dist/esm/src/mcp-server.d.ts.map +1 -0
- package/dist/esm/src/mcp-server.js +10 -0
- package/dist/esm/src/mcp-server.js.map +1 -0
- package/dist/esm/src/react/useNavigationHandler.d.ts +29 -11
- package/dist/esm/src/react/useNavigationHandler.d.ts.map +1 -1
- package/dist/esm/src/react/useNavigationHandler.js +53 -12
- package/dist/esm/src/react/useNavigationHandler.js.map +1 -1
- package/dist/esm/src/react/usePersistedState.js +1 -1
- package/dist/esm/src/react/usePersistedState.js.map +1 -1
- package/dist/esm/src/state/StateSync.d.ts +57 -0
- package/dist/esm/src/state/StateSync.d.ts.map +1 -0
- package/dist/esm/src/state/StateSync.js +123 -0
- package/dist/esm/src/state/StateSync.js.map +1 -0
- package/dist/esm/src/storage/LocalStorageAdapter.d.ts.map +1 -1
- package/dist/esm/src/storage/LocalStorageAdapter.js +1 -1
- package/dist/esm/src/storage/LocalStorageAdapter.js.map +1 -1
- package/dist/esm/src/storage/StateManager.d.ts +2 -2
- package/dist/esm/src/storage/StateManager.js +2 -2
- package/dist/esm/src/tools/SystemTools.js +1 -1
- package/dist/esm/src/tools/SystemTools.js.map +1 -1
- package/dist/esm/src/types/StateManagers.d.ts +2 -2
- package/dist/esm/src/types/StateManagers.d.ts.map +1 -1
- package/dist/esm/src/types/StateManagers.js +2 -2
- package/dist/esm/src/types/StateManagers.js.map +1 -1
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts +4 -0
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts.map +1 -1
- package/dist/esm/src/ui/react/chat/ChatBubble.js +3 -3
- package/dist/esm/src/ui/react/chat/ChatBubble.js.map +1 -1
- package/package.json +9 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolProvider.js","sourceRoot":"","sources":["../../../../src/decorators/ToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,oEAAoE;AACpE,IAAI,eAAe,GAAmC,IAAI,CAAC;AAE3D,SAAS,eAAe;IACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0DAA0D;QAC1D,eAAe,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC,YAAY,CAAC;IAChF,CAAC;IACD,OAAO,eAAgB,CAAC;AAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolProvider.js","sourceRoot":"","sources":["../../../../src/decorators/ToolProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Supernal
|
|
2
|
+
* Supernal Intelligence Interface - Decorator System Exports
|
|
3
3
|
*
|
|
4
4
|
* Enhanced decorators for automatic AI tool generation with safety controls.
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* ContainerScope - Named constants for tool container scoping
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* - ContainerScope.GLOBAL: Tool available on all pages (default)
|
|
11
|
+
* - Route path (e.g., '/examples'): Tool scoped to that route and sub-routes
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* @ToolProvider({ containerId: ContainerScope.GLOBAL }) // Available everywhere
|
|
16
|
+
* @ToolProvider({ containerId: '/examples' }) // Only on /examples pages
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare const ContainerScope: {
|
|
20
|
+
/** Tool available on all pages - the default if no containerId specified */
|
|
21
|
+
readonly GLOBAL: "global";
|
|
22
|
+
};
|
|
23
|
+
export type ContainerScopeType = typeof ContainerScope[keyof typeof ContainerScope] | string;
|
|
6
24
|
export { Tool, ToolConfig, ToolMetadata } from './Tool';
|
|
7
25
|
export { ToolProvider, ToolProviderConfig, getToolProviderConfig, isToolProvider, } from './ToolProvider';
|
|
8
26
|
export { Component, ComponentConfig, getComponentConfig, isComponent, } from './Component';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc;IACzB,4EAA4E;;CAEpE,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,GAAG,MAAM,CAAC;AAG7F,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Supernal
|
|
2
|
+
* Supernal Intelligence Interface - Decorator System Exports
|
|
3
3
|
*
|
|
4
4
|
* Enhanced decorators for automatic AI tool generation with safety controls.
|
|
5
5
|
*/
|
|
6
|
+
// Container scope constants
|
|
7
|
+
/**
|
|
8
|
+
* ContainerScope - Named constants for tool container scoping
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* - ContainerScope.GLOBAL: Tool available on all pages (default)
|
|
12
|
+
* - Route path (e.g., '/examples'): Tool scoped to that route and sub-routes
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* @ToolProvider({ containerId: ContainerScope.GLOBAL }) // Available everywhere
|
|
17
|
+
* @ToolProvider({ containerId: '/examples' }) // Only on /examples pages
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export const ContainerScope = {
|
|
21
|
+
/** Tool available on all pages - the default if no containerId specified */
|
|
22
|
+
GLOBAL: 'global',
|
|
23
|
+
};
|
|
6
24
|
// Base decorators
|
|
7
25
|
export { Tool } from './Tool.js';
|
|
8
26
|
export { ToolProvider, getToolProviderConfig, isToolProvider, } from './ToolProvider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kBAAkB;AAClB,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAC;AACxD,OAAO,EACL,YAAY,EAEZ,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EAET,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,0CAA0C;AAC1C,OAAO,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4BAA4B;AAC5B;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,4EAA4E;IAC5E,MAAM,EAAE,QAAQ;CACR,CAAC;AAIX,kBAAkB;AAClB,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAC;AACxD,OAAO,EACL,YAAY,EAEZ,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EAET,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,0CAA0C;AAC1C,OAAO,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAC"}
|
package/dist/esm/src/index.d.ts
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export { Tool, ToolConfig, ToolMetadata } from './decorators/Tool';
|
|
11
11
|
export { getStandaloneTools, getStandaloneTool } from './decorators/Tool';
|
|
12
|
-
export { ToolProvider, ToolProviderConfig, getToolProviderConfig, isToolProvider, } from './decorators/ToolProvider';
|
|
12
|
+
export { ToolProvider, ToolProviderConfig, getToolProviderConfig, isToolProvider, CONTAINER_SCOPE_GLOBAL, } from './decorators/ToolProvider';
|
|
13
|
+
export { ContainerScope, ContainerScopeType } from './decorators';
|
|
13
14
|
export { ClickTool, ChangeTool, TypeTool, HoverTool, MultiActionTool, FormTool } from './decorators/ToolHelpers';
|
|
14
15
|
export { AITool, TestTool, OnboardingTool, DangerousTool, DestructiveTool, DataReadTool, DataWriteTool, NavigationTool, AIAndTestTool, OnboardingAndTestTool, } from './decorators/SpecializedTools';
|
|
15
16
|
export { ToolPreset, getToolPreset, applyPreset, registerPendingPreset, clearToolPresets, PresetTemplates, createPreset, containerPreset, pathPreset, } from './decorators/ToolPreset';
|
|
@@ -41,10 +42,12 @@ export type { ComponentId } from './names/createNames';
|
|
|
41
42
|
export { ChatUIAdapter, ChatUIProps, ReadableState, ToolExecutionCallback, AdapterFactory, ChatUIProviderConfig, ChatUIProvider, ChatUI, useChatUI, useChatUIOptional, withChatUI, NativeAdapter, createNativeAdapter, bridgeToolRegistry, bridgeComponentState, registerReadable, createAuditTrail, setupBridge, } from './adapters';
|
|
42
43
|
export type { CopilotKitAdapterConfig, NativeAdapterConfig, BridgeToolRegistryOptions, BridgeComponentStateOptions, AuditTrailOptions, ToolExecution as ChatToolExecution, } from './adapters';
|
|
43
44
|
export type { UniversalExecutionContext, UniversalToolResult } from './background/registry/ToolRegistry';
|
|
45
|
+
export type { MCPServer, MCPServerConfig, MCPTransport, MCPRequest, MCPResponse, MCPTool, MCPToolsListResponse, MCPToolCallRequest, MCPToolCallResponse } from './mcp';
|
|
46
|
+
export { syncStateToDom, triggerStateChange, getStateFromDom, waitForState, onStateChange, type StateChangeEventDetail } from './state/StateSync';
|
|
44
47
|
export { NavigationGraph } from './background/navigation/NavigationGraph';
|
|
45
48
|
export type { INavigationGraph } from './background/navigation/INavigationGraph';
|
|
46
49
|
export { RuntimeTreeBuilder } from './background/navigation/RuntimeTreeBuilder';
|
|
47
50
|
export { TreeBuilder } from './background/navigation/RuntimeTreeBuilder';
|
|
48
|
-
export declare const VERSION = "1.
|
|
51
|
+
export declare const VERSION = "1.1.0";
|
|
49
52
|
export declare const PACKAGE_NAME = "@supernal/interface";
|
|
50
53
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/index.js
CHANGED
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
// Core decorators and registry
|
|
11
11
|
export { Tool } from './decorators/Tool.js';
|
|
12
12
|
export { getStandaloneTools, getStandaloneTool } from './decorators/Tool.js';
|
|
13
|
-
export { ToolProvider, getToolProviderConfig, isToolProvider, } from './decorators/ToolProvider.js';
|
|
13
|
+
export { ToolProvider, getToolProviderConfig, isToolProvider, CONTAINER_SCOPE_GLOBAL, } from './decorators/ToolProvider.js';
|
|
14
|
+
// Container scope constants
|
|
15
|
+
export { ContainerScope } from './decorators/index.js';
|
|
14
16
|
export { ClickTool, ChangeTool, TypeTool, HoverTool, MultiActionTool, FormTool } from './decorators/ToolHelpers.js';
|
|
15
17
|
// Specialized decorators and presets
|
|
16
18
|
export { AITool, TestTool, OnboardingTool, DangerousTool, DestructiveTool, DataReadTool, DataWriteTool, NavigationTool, AIAndTestTool, OnboardingAndTestTool, } from './decorators/SpecializedTools.js';
|
|
@@ -65,12 +67,14 @@ ChatUIProvider, ChatUI, useChatUI, useChatUIOptional, withChatUI,
|
|
|
65
67
|
NativeAdapter, createNativeAdapter,
|
|
66
68
|
// Bridge utilities
|
|
67
69
|
bridgeToolRegistry, bridgeComponentState, registerReadable, createAuditTrail, setupBridge, } from './adapters/index.js';
|
|
70
|
+
// State Management - NEW in v1.1.0
|
|
71
|
+
export { syncStateToDom, triggerStateChange, getStateFromDom, waitForState, onStateChange } from './state/StateSync.js';
|
|
68
72
|
// Enterprise feature stubs (warn users, drive upgrade)
|
|
69
73
|
export { NavigationGraph } from './background/navigation/NavigationGraph.js';
|
|
70
74
|
export { RuntimeTreeBuilder } from './background/navigation/RuntimeTreeBuilder.js';
|
|
71
75
|
export { TreeBuilder } from './background/navigation/RuntimeTreeBuilder.js';
|
|
72
76
|
// Version info
|
|
73
|
-
export const VERSION = '1.
|
|
77
|
+
export const VERSION = '1.1.0'; // Updated for MCP + State Management
|
|
74
78
|
export const PACKAGE_NAME = '@supernal/interface';
|
|
75
79
|
// Enterprise features not included in open source
|
|
76
80
|
// Available at https://supernal.ai/enterprise:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+BAA+B;AAC/B,OAAO,EAAE,IAAI,EAA4B,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EACL,YAAY,EAEZ,qBAAqB,EACrB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP (Model Context Protocol) Module
|
|
3
|
+
*
|
|
4
|
+
* Exports MCP server, transport, and types for exposing Supernal Interface
|
|
5
|
+
* tools to external AI agents.
|
|
6
|
+
*/
|
|
7
|
+
export { SupernalMCPServer, createSupernalMCPServer } from './server';
|
|
8
|
+
export { StdioTransport, createStdioTransport } from './transport';
|
|
9
|
+
export type { MCPServer, MCPServerConfig, MCPTransport, MCPRequest, MCPResponse, MCPTool, MCPToolsListResponse, MCPToolCallRequest, MCPToolCallResponse, MCPError, MCPErrorCode, MCPContent, MCPTextContent, MCPImageContent, MCPResourceContent, MCPToolParameter } from './types';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EACV,SAAS,EACT,eAAe,EACf,YAAY,EACZ,UAAU,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP (Model Context Protocol) Module
|
|
3
|
+
*
|
|
4
|
+
* Exports MCP server, transport, and types for exposing Supernal Interface
|
|
5
|
+
* tools to external AI agents.
|
|
6
|
+
*/
|
|
7
|
+
export { SupernalMCPServer, createSupernalMCPServer } from './server.js';
|
|
8
|
+
export { StdioTransport, createStdioTransport } from './transport.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supernal MCP Server
|
|
3
|
+
*
|
|
4
|
+
* MCP (Model Context Protocol) server that exposes Supernal Interface tools
|
|
5
|
+
* to external AI agents like Claude Desktop, Cursor, and custom MCP clients.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { createSupernalMCPServer } from '@supernal/interface';
|
|
10
|
+
*
|
|
11
|
+
* const server = createSupernalMCPServer({
|
|
12
|
+
* name: 'my-app-tools',
|
|
13
|
+
* version: '1.0.0'
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* await server.start();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import type { MCPServer, MCPServerConfig, MCPRequest, MCPResponse, MCPTransport } from './types';
|
|
20
|
+
/**
|
|
21
|
+
* Supernal MCP Server implementation
|
|
22
|
+
*/
|
|
23
|
+
export declare class SupernalMCPServer implements MCPServer {
|
|
24
|
+
config: MCPServerConfig;
|
|
25
|
+
private executor;
|
|
26
|
+
private transport?;
|
|
27
|
+
private running;
|
|
28
|
+
constructor(config?: Partial<MCPServerConfig>);
|
|
29
|
+
/**
|
|
30
|
+
* Start the MCP server with given transport
|
|
31
|
+
*/
|
|
32
|
+
start(transport: MCPTransport): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Stop the MCP server
|
|
35
|
+
*/
|
|
36
|
+
stop(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Handle incoming MCP request
|
|
39
|
+
*/
|
|
40
|
+
handle(request: MCPRequest): Promise<MCPResponse | null>;
|
|
41
|
+
/**
|
|
42
|
+
* Handle tools/list request
|
|
43
|
+
*
|
|
44
|
+
* Returns location-filtered tools based on LocationContext.getCurrent()
|
|
45
|
+
* Uses @LocationScope decorators to determine tool availability
|
|
46
|
+
*/
|
|
47
|
+
private handleToolsList;
|
|
48
|
+
/**
|
|
49
|
+
* Handle tools/call request
|
|
50
|
+
*/
|
|
51
|
+
private handleToolCall;
|
|
52
|
+
/**
|
|
53
|
+
* Handle initialize request
|
|
54
|
+
*/
|
|
55
|
+
private handleInitialize;
|
|
56
|
+
/**
|
|
57
|
+
* Convert Supernal tool to MCP tool format
|
|
58
|
+
*/
|
|
59
|
+
private convertToMCPTool;
|
|
60
|
+
/**
|
|
61
|
+
* Create error response
|
|
62
|
+
*/
|
|
63
|
+
private errorResponse;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create and configure a Supernal MCP server
|
|
67
|
+
*
|
|
68
|
+
* @param config - Server configuration
|
|
69
|
+
* @returns Configured MCP server instance
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const server = createSupernalMCPServer({
|
|
74
|
+
* name: 'my-app-tools',
|
|
75
|
+
* version: '1.0.0'
|
|
76
|
+
* });
|
|
77
|
+
*
|
|
78
|
+
* // Start with stdio transport
|
|
79
|
+
* const transport = new StdioTransport();
|
|
80
|
+
* await server.start(transport);
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function createSupernalMCPServer(config?: Partial<MCPServerConfig>): SupernalMCPServer;
|
|
84
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,UAAU,EACV,WAAW,EAMX,YAAY,EACb,MAAM,SAAS,CAAC;AAiBjB;;GAEG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IAC1C,MAAM,EAAE,eAAe,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAe;IACjC,OAAO,CAAC,OAAO,CAAkB;gBAErB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAKjD;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCnD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAiC9D;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;YACW,cAAc;IAwE5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;OAEG;IACH,OAAO,CAAC,aAAa;CAkBtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,iBAAiB,CAE5F"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supernal MCP Server
|
|
3
|
+
*
|
|
4
|
+
* MCP (Model Context Protocol) server that exposes Supernal Interface tools
|
|
5
|
+
* to external AI agents like Claude Desktop, Cursor, and custom MCP clients.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { createSupernalMCPServer } from '@supernal/interface';
|
|
10
|
+
*
|
|
11
|
+
* const server = createSupernalMCPServer({
|
|
12
|
+
* name: 'my-app-tools',
|
|
13
|
+
* version: '1.0.0'
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* await server.start();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import { ToolRegistry } from '../background/registry/ToolRegistry.js';
|
|
20
|
+
import { ToolExecutor } from '../ai/ToolExecutor.js';
|
|
21
|
+
import { MCPErrorCode } from './types.js';
|
|
22
|
+
/**
|
|
23
|
+
* Default server configuration
|
|
24
|
+
*/
|
|
25
|
+
const DEFAULT_CONFIG = {
|
|
26
|
+
name: 'supernal-interface',
|
|
27
|
+
version: '1.0.0',
|
|
28
|
+
description: 'MCP server for Supernal Interface tools',
|
|
29
|
+
capabilities: {
|
|
30
|
+
tools: {},
|
|
31
|
+
resources: {},
|
|
32
|
+
prompts: {}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Supernal MCP Server implementation
|
|
37
|
+
*/
|
|
38
|
+
export class SupernalMCPServer {
|
|
39
|
+
constructor(config = {}) {
|
|
40
|
+
this.running = false;
|
|
41
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
42
|
+
this.executor = new ToolExecutor();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Start the MCP server with given transport
|
|
46
|
+
*/
|
|
47
|
+
async start(transport) {
|
|
48
|
+
if (this.running) {
|
|
49
|
+
throw new Error('Server is already running');
|
|
50
|
+
}
|
|
51
|
+
this.transport = transport;
|
|
52
|
+
this.running = true;
|
|
53
|
+
console.error(`[MCP Server] Starting: ${this.config.name} v${this.config.version}`);
|
|
54
|
+
// Message processing loop
|
|
55
|
+
while (this.running) {
|
|
56
|
+
try {
|
|
57
|
+
const request = await this.transport.receive();
|
|
58
|
+
const response = await this.handle(request);
|
|
59
|
+
// Only send response if not null (notifications return null)
|
|
60
|
+
if (response !== null) {
|
|
61
|
+
await this.transport.send(response);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
if (!this.running)
|
|
66
|
+
break; // Transport closed
|
|
67
|
+
console.error('[MCP Server] Error processing message:', error);
|
|
68
|
+
// Send error response
|
|
69
|
+
if (this.transport) {
|
|
70
|
+
await this.transport.send({
|
|
71
|
+
jsonrpc: '2.0',
|
|
72
|
+
error: {
|
|
73
|
+
code: MCPErrorCode.INTERNAL_ERROR,
|
|
74
|
+
message: error instanceof Error ? error.message : 'Internal server error',
|
|
75
|
+
data: error
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Stop the MCP server
|
|
84
|
+
*/
|
|
85
|
+
async stop() {
|
|
86
|
+
this.running = false;
|
|
87
|
+
if (this.transport) {
|
|
88
|
+
await this.transport.close();
|
|
89
|
+
this.transport = undefined;
|
|
90
|
+
}
|
|
91
|
+
console.error('[MCP Server] Stopped');
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Handle incoming MCP request
|
|
95
|
+
*/
|
|
96
|
+
async handle(request) {
|
|
97
|
+
const { method, params, id } = request;
|
|
98
|
+
try {
|
|
99
|
+
// Handle notifications (no response needed)
|
|
100
|
+
if (method.startsWith('notifications/')) {
|
|
101
|
+
console.error(`[MCP Server] Received notification: ${method}`);
|
|
102
|
+
return null; // No response for notifications
|
|
103
|
+
}
|
|
104
|
+
switch (method) {
|
|
105
|
+
case 'tools/list':
|
|
106
|
+
return this.handleToolsList(id);
|
|
107
|
+
case 'tools/call':
|
|
108
|
+
return await this.handleToolCall(id, params);
|
|
109
|
+
case 'initialize':
|
|
110
|
+
return this.handleInitialize(id);
|
|
111
|
+
default:
|
|
112
|
+
return this.errorResponse(id, MCPErrorCode.METHOD_NOT_FOUND, `Method not found: ${method}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
return this.errorResponse(id, MCPErrorCode.INTERNAL_ERROR, error instanceof Error ? error.message : 'Internal error', error);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Handle tools/list request
|
|
121
|
+
*
|
|
122
|
+
* Returns location-filtered tools based on LocationContext.getCurrent()
|
|
123
|
+
* Uses @LocationScope decorators to determine tool availability
|
|
124
|
+
*/
|
|
125
|
+
handleToolsList(id) {
|
|
126
|
+
const toolsByContainer = ToolRegistry.getToolsGroupedByContainerForLocation();
|
|
127
|
+
const mcpTools = [];
|
|
128
|
+
for (const [container, containerTools] of Object.entries(toolsByContainer)) {
|
|
129
|
+
for (const tool of containerTools) {
|
|
130
|
+
mcpTools.push(this.convertToMCPTool(container, tool));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const response = {
|
|
134
|
+
tools: mcpTools
|
|
135
|
+
};
|
|
136
|
+
return {
|
|
137
|
+
jsonrpc: '2.0',
|
|
138
|
+
id,
|
|
139
|
+
result: response
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Handle tools/call request
|
|
144
|
+
*/
|
|
145
|
+
async handleToolCall(id, params) {
|
|
146
|
+
const { name, arguments: args } = params;
|
|
147
|
+
if (!name) {
|
|
148
|
+
return this.errorResponse(id, MCPErrorCode.INVALID_PARAMS, 'Missing tool name');
|
|
149
|
+
}
|
|
150
|
+
// Parse tool name (format: container.toolName)
|
|
151
|
+
const [container, toolName] = name.split('.');
|
|
152
|
+
if (!container || !toolName) {
|
|
153
|
+
return this.errorResponse(id, MCPErrorCode.INVALID_PARAMS, `Invalid tool name format: ${name}. Expected: container.toolName`);
|
|
154
|
+
}
|
|
155
|
+
// Find tool by containerId and tool name
|
|
156
|
+
// The tool may be registered with its class name, but exposed with containerId
|
|
157
|
+
// Handle undefined containerId (treat as matching the container name used in MCP)
|
|
158
|
+
const tool = Array.from(ToolRegistry.getAllTools().values()).find(t => {
|
|
159
|
+
const toolContainer = t.containerId || 'global'; // undefined becomes 'global'
|
|
160
|
+
return toolContainer === container && t.name === toolName;
|
|
161
|
+
});
|
|
162
|
+
if (!tool) {
|
|
163
|
+
return this.errorResponse(id, MCPErrorCode.TOOL_NOT_FOUND, `Tool not found: ${name}`);
|
|
164
|
+
}
|
|
165
|
+
// Execute tool
|
|
166
|
+
try {
|
|
167
|
+
// Convert args object to array format expected by ToolExecutor
|
|
168
|
+
const argsArray = Object.values(args || {});
|
|
169
|
+
const result = await this.executor.execute(tool, argsArray);
|
|
170
|
+
if (!result.success) {
|
|
171
|
+
return this.errorResponse(id, MCPErrorCode.TOOL_EXECUTION_FAILED, result.message || 'Tool execution failed', { error: result.error, timing: result.timing });
|
|
172
|
+
}
|
|
173
|
+
// Format success response
|
|
174
|
+
const response = {
|
|
175
|
+
content: [
|
|
176
|
+
{
|
|
177
|
+
type: 'text',
|
|
178
|
+
text: JSON.stringify({
|
|
179
|
+
success: true,
|
|
180
|
+
result: result.data,
|
|
181
|
+
timing: result.timing,
|
|
182
|
+
message: result.message
|
|
183
|
+
}, null, 2)
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
};
|
|
187
|
+
return {
|
|
188
|
+
jsonrpc: '2.0',
|
|
189
|
+
id,
|
|
190
|
+
result: response
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
return this.errorResponse(id, MCPErrorCode.TOOL_EXECUTION_FAILED, error instanceof Error ? error.message : 'Tool execution failed', error);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Handle initialize request
|
|
199
|
+
*/
|
|
200
|
+
handleInitialize(id) {
|
|
201
|
+
return {
|
|
202
|
+
jsonrpc: '2.0',
|
|
203
|
+
id,
|
|
204
|
+
result: {
|
|
205
|
+
protocolVersion: '2024-11-05',
|
|
206
|
+
serverInfo: {
|
|
207
|
+
name: this.config.name,
|
|
208
|
+
version: this.config.version
|
|
209
|
+
},
|
|
210
|
+
capabilities: this.config.capabilities
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Convert Supernal tool to MCP tool format
|
|
216
|
+
*/
|
|
217
|
+
convertToMCPTool(container, tool) {
|
|
218
|
+
// tool.inputSchema is already a full schema object {type, properties, required}
|
|
219
|
+
// Use it directly, or create a default if missing
|
|
220
|
+
const inputSchema = tool.inputSchema || {
|
|
221
|
+
type: 'object',
|
|
222
|
+
properties: {},
|
|
223
|
+
required: []
|
|
224
|
+
};
|
|
225
|
+
return {
|
|
226
|
+
name: `${container}.${tool.name}`,
|
|
227
|
+
description: tool.description || `Tool: ${tool.name}`,
|
|
228
|
+
inputSchema,
|
|
229
|
+
annotations: {
|
|
230
|
+
container,
|
|
231
|
+
category: tool.category,
|
|
232
|
+
elementId: tool.elementId,
|
|
233
|
+
componentName: tool.componentName,
|
|
234
|
+
toolType: tool.toolType,
|
|
235
|
+
aiEnabled: tool.aiEnabled
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Create error response
|
|
241
|
+
*/
|
|
242
|
+
errorResponse(id, code, message, data) {
|
|
243
|
+
const error = {
|
|
244
|
+
code,
|
|
245
|
+
message,
|
|
246
|
+
data
|
|
247
|
+
};
|
|
248
|
+
return {
|
|
249
|
+
jsonrpc: '2.0',
|
|
250
|
+
id,
|
|
251
|
+
error
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Create and configure a Supernal MCP server
|
|
257
|
+
*
|
|
258
|
+
* @param config - Server configuration
|
|
259
|
+
* @returns Configured MCP server instance
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* const server = createSupernalMCPServer({
|
|
264
|
+
* name: 'my-app-tools',
|
|
265
|
+
* version: '1.0.0'
|
|
266
|
+
* });
|
|
267
|
+
*
|
|
268
|
+
* // Start with stdio transport
|
|
269
|
+
* const transport = new StdioTransport();
|
|
270
|
+
* await server.start(transport);
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
export function createSupernalMCPServer(config) {
|
|
274
|
+
return new SupernalMCPServer(config);
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stdio Transport for MCP
|
|
3
|
+
*
|
|
4
|
+
* Implements MCP transport over stdin/stdout for integration with
|
|
5
|
+
* Claude Desktop, Cursor, and other MCP clients.
|
|
6
|
+
*/
|
|
7
|
+
import type { MCPTransport, MCPRequest, MCPResponse } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Stdio transport implementation
|
|
10
|
+
*
|
|
11
|
+
* Reads JSON-RPC messages from stdin (one per line)
|
|
12
|
+
* Writes JSON-RPC responses to stdout (one per line)
|
|
13
|
+
*/
|
|
14
|
+
export declare class StdioTransport implements MCPTransport {
|
|
15
|
+
private readline?;
|
|
16
|
+
private messageQueue;
|
|
17
|
+
private waitingResolvers;
|
|
18
|
+
private closed;
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* Setup readline interface for stdin
|
|
22
|
+
*/
|
|
23
|
+
private setupReadline;
|
|
24
|
+
/**
|
|
25
|
+
* Send message to client (write to stdout)
|
|
26
|
+
*/
|
|
27
|
+
send(message: MCPResponse): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Receive message from client (read from stdin)
|
|
30
|
+
*/
|
|
31
|
+
receive(): Promise<MCPRequest>;
|
|
32
|
+
/**
|
|
33
|
+
* Close transport
|
|
34
|
+
*/
|
|
35
|
+
close(): Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create stdio transport
|
|
39
|
+
*
|
|
40
|
+
* @returns Stdio transport instance
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* import { createSupernalMCPServer, createStdioTransport } from '@supernal/interface';
|
|
45
|
+
*
|
|
46
|
+
* const server = createSupernalMCPServer();
|
|
47
|
+
* const transport = createStdioTransport();
|
|
48
|
+
*
|
|
49
|
+
* await server.start(transport);
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function createStdioTransport(): StdioTransport;
|
|
53
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/mcp/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAErE;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,MAAM,CAAkB;;IAMhC;;OAEG;IACH,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAgBpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|