@supernal/interface 1.0.7 → 1.0.9
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/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js +3 -5
- package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -1
- package/dist/cjs/src/adapters/index.js +3 -4
- package/dist/cjs/src/adapters/index.js.map +1 -1
- package/dist/cjs/src/ai/AIInterface.js +111 -61
- package/dist/cjs/src/ai/AIInterface.js.map +1 -1
- package/dist/cjs/src/ai/ToolExecutor.js +36 -1
- package/dist/cjs/src/ai/ToolExecutor.js.map +1 -1
- package/dist/cjs/src/ai/ToolMatcher.js +6 -0
- package/dist/cjs/src/ai/ToolMatcher.js.map +1 -1
- package/dist/cjs/src/background/architecture/ArchitectureInitializer.js +13 -2
- package/dist/cjs/src/background/architecture/ArchitectureInitializer.js.map +1 -1
- package/dist/cjs/src/background/architecture/Containers.js +72 -2
- package/dist/cjs/src/background/architecture/Containers.js.map +1 -1
- package/dist/cjs/src/background/architecture/index.js +2 -1
- package/dist/cjs/src/background/architecture/index.js.map +1 -1
- package/dist/cjs/src/background/location/LocationContext.js +19 -2
- package/dist/cjs/src/background/location/LocationContext.js.map +1 -1
- package/dist/cjs/src/background/navigation/NavigationGraph.js +7 -0
- package/dist/cjs/src/background/navigation/NavigationGraph.js.map +1 -1
- package/dist/cjs/src/background/registry/ComponentRegistry.js +0 -2
- package/dist/cjs/src/background/registry/ComponentRegistry.js.map +1 -1
- package/dist/cjs/src/background/registry/ToolRegistry.js +83 -123
- package/dist/cjs/src/background/registry/ToolRegistry.js.map +1 -1
- package/dist/cjs/src/browser.js +7 -1
- package/dist/cjs/src/browser.js.map +1 -1
- package/dist/cjs/src/decorators/Component.js +4 -5
- package/dist/cjs/src/decorators/Component.js.map +1 -1
- package/dist/cjs/src/decorators/Tool.js +1 -6
- package/dist/cjs/src/decorators/Tool.js.map +1 -1
- package/dist/cjs/src/decorators/ToolHelpers.js +1 -3
- package/dist/cjs/src/decorators/ToolHelpers.js.map +1 -1
- package/dist/cjs/src/decorators/ToolPreset.js +14 -14
- package/dist/cjs/src/decorators/ToolPreset.js.map +1 -1
- package/dist/cjs/src/decorators/ToolProvider.js +30 -20
- package/dist/cjs/src/decorators/ToolProvider.js.map +1 -1
- package/dist/cjs/src/decorators/index.js +8 -13
- package/dist/cjs/src/decorators/index.js.map +1 -1
- package/dist/cjs/src/exposure/ExposureCollector.js +27 -0
- package/dist/cjs/src/exposure/ExposureCollector.js.map +1 -1
- package/dist/cjs/src/index.js +6 -9
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/mcp/server.js +12 -14
- package/dist/cjs/src/mcp/server.js.map +1 -1
- package/dist/cjs/src/react/hooks/useChatWithContext.js +4 -10
- package/dist/cjs/src/react/hooks/useChatWithContext.js.map +1 -1
- package/dist/cjs/src/types/ComponentState.js.map +1 -1
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.d.ts.map +1 -1
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js +3 -5
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -1
- package/dist/esm/src/adapters/index.d.ts +0 -2
- package/dist/esm/src/adapters/index.d.ts.map +1 -1
- package/dist/esm/src/adapters/index.js +2 -1
- package/dist/esm/src/adapters/index.js.map +1 -1
- package/dist/esm/src/adapters/types/index.d.ts +0 -2
- package/dist/esm/src/adapters/types/index.d.ts.map +1 -1
- package/dist/esm/src/ai/AIInterface.d.ts +5 -1
- package/dist/esm/src/ai/AIInterface.d.ts.map +1 -1
- package/dist/esm/src/ai/AIInterface.js +111 -61
- package/dist/esm/src/ai/AIInterface.js.map +1 -1
- package/dist/esm/src/ai/ToolExecutor.js +36 -1
- package/dist/esm/src/ai/ToolExecutor.js.map +1 -1
- package/dist/esm/src/ai/ToolMatcher.d.ts +1 -0
- package/dist/esm/src/ai/ToolMatcher.d.ts.map +1 -1
- package/dist/esm/src/ai/ToolMatcher.js +6 -0
- package/dist/esm/src/ai/ToolMatcher.js.map +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.js +13 -2
- package/dist/esm/src/background/architecture/ArchitectureInitializer.js.map +1 -1
- package/dist/esm/src/background/architecture/Containers.d.ts +35 -2
- package/dist/esm/src/background/architecture/Containers.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/Containers.js +70 -2
- package/dist/esm/src/background/architecture/Containers.js.map +1 -1
- package/dist/esm/src/background/architecture/index.d.ts +1 -1
- package/dist/esm/src/background/architecture/index.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/index.js +1 -1
- package/dist/esm/src/background/architecture/index.js.map +1 -1
- package/dist/esm/src/background/location/LocationContext.d.ts +3 -2
- package/dist/esm/src/background/location/LocationContext.d.ts.map +1 -1
- package/dist/esm/src/background/location/LocationContext.js +19 -2
- package/dist/esm/src/background/location/LocationContext.js.map +1 -1
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts +5 -0
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts.map +1 -1
- package/dist/esm/src/background/navigation/NavigationGraph.js +7 -0
- package/dist/esm/src/background/navigation/NavigationGraph.js.map +1 -1
- package/dist/esm/src/background/registry/ComponentRegistry.d.ts +0 -4
- package/dist/esm/src/background/registry/ComponentRegistry.d.ts.map +1 -1
- package/dist/esm/src/background/registry/ComponentRegistry.js +0 -2
- package/dist/esm/src/background/registry/ComponentRegistry.js.map +1 -1
- package/dist/esm/src/background/registry/ToolRegistry.d.ts +24 -38
- package/dist/esm/src/background/registry/ToolRegistry.d.ts.map +1 -1
- package/dist/esm/src/background/registry/ToolRegistry.js +81 -121
- package/dist/esm/src/background/registry/ToolRegistry.js.map +1 -1
- package/dist/esm/src/browser.d.ts +3 -1
- package/dist/esm/src/browser.d.ts.map +1 -1
- package/dist/esm/src/browser.js +3 -1
- package/dist/esm/src/browser.js.map +1 -1
- package/dist/esm/src/decorators/Component.d.ts +1 -8
- package/dist/esm/src/decorators/Component.d.ts.map +1 -1
- package/dist/esm/src/decorators/Component.js +4 -5
- package/dist/esm/src/decorators/Component.js.map +1 -1
- package/dist/esm/src/decorators/Tool.d.ts +1 -6
- package/dist/esm/src/decorators/Tool.d.ts.map +1 -1
- package/dist/esm/src/decorators/Tool.js +1 -6
- package/dist/esm/src/decorators/Tool.js.map +1 -1
- package/dist/esm/src/decorators/ToolHelpers.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolHelpers.js +1 -3
- package/dist/esm/src/decorators/ToolHelpers.js.map +1 -1
- package/dist/esm/src/decorators/ToolPreset.d.ts +12 -9
- package/dist/esm/src/decorators/ToolPreset.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolPreset.js +13 -13
- package/dist/esm/src/decorators/ToolPreset.js.map +1 -1
- package/dist/esm/src/decorators/ToolProvider.d.ts +5 -21
- package/dist/esm/src/decorators/ToolProvider.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolProvider.js +30 -19
- package/dist/esm/src/decorators/ToolProvider.js.map +1 -1
- package/dist/esm/src/decorators/index.d.ts +6 -12
- package/dist/esm/src/decorators/index.d.ts.map +1 -1
- package/dist/esm/src/decorators/index.js +7 -12
- package/dist/esm/src/decorators/index.js.map +1 -1
- package/dist/esm/src/exposure/ExposureCollector.d.ts +8 -0
- package/dist/esm/src/exposure/ExposureCollector.d.ts.map +1 -1
- package/dist/esm/src/exposure/ExposureCollector.js +27 -0
- package/dist/esm/src/exposure/ExposureCollector.js.map +1 -1
- package/dist/esm/src/index.d.ts +5 -6
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +5 -6
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/mcp/server.d.ts +1 -1
- package/dist/esm/src/mcp/server.d.ts.map +1 -1
- package/dist/esm/src/mcp/server.js +12 -14
- package/dist/esm/src/mcp/server.js.map +1 -1
- package/dist/esm/src/react/hooks/useChatWithContext.d.ts +0 -2
- package/dist/esm/src/react/hooks/useChatWithContext.d.ts.map +1 -1
- package/dist/esm/src/react/hooks/useChatWithContext.js +4 -10
- package/dist/esm/src/react/hooks/useChatWithContext.js.map +1 -1
- package/dist/esm/src/types/ComponentState.d.ts +0 -4
- package/dist/esm/src/types/ComponentState.d.ts.map +1 -1
- package/dist/esm/src/types/ComponentState.js.map +1 -1
- package/package.json +22 -21
- package/dist/cjs/src/adapters/native/NativeAdapter.js +0 -268
- package/dist/cjs/src/adapters/native/NativeAdapter.js.map +0 -1
- package/dist/cjs/src/adapters/native/index.js +0 -10
- package/dist/cjs/src/adapters/native/index.js.map +0 -1
- package/dist/cjs/src/ui/react/chat/ChatBubble.js +0 -221
- package/dist/cjs/src/ui/react/chat/ChatBubble.js.map +0 -1
- package/dist/esm/src/adapters/native/NativeAdapter.d.ts +0 -47
- package/dist/esm/src/adapters/native/NativeAdapter.d.ts.map +0 -1
- package/dist/esm/src/adapters/native/NativeAdapter.js +0 -230
- package/dist/esm/src/adapters/native/NativeAdapter.js.map +0 -1
- package/dist/esm/src/adapters/native/index.d.ts +0 -6
- package/dist/esm/src/adapters/native/index.d.ts.map +0 -1
- package/dist/esm/src/adapters/native/index.js +0 -5
- package/dist/esm/src/adapters/native/index.js.map +0 -1
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts +0 -27
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts.map +0 -1
- package/dist/esm/src/ui/react/chat/ChatBubble.js +0 -184
- package/dist/esm/src/ui/react/chat/ChatBubble.js.map +0 -1
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Architecture Definition: Containers
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* @deprecated Containers are deprecated in favor of zero-config element-based inference.
|
|
6
|
+
* Tools are now automatically available based on element visibility, not manual container scoping.
|
|
7
|
+
*
|
|
8
|
+
* This file is kept for backwards compatibility only.
|
|
9
|
+
* New projects should use zero-config inference instead.
|
|
7
10
|
*
|
|
8
11
|
* Pattern: Like ComponentNames, but for high-level navigation boundaries.
|
|
9
12
|
*
|
|
@@ -11,10 +14,12 @@
|
|
|
11
14
|
* in their own codebase and register them with NavigationGraph.
|
|
12
15
|
*/
|
|
13
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ContainerRegistry = void 0;
|
|
14
18
|
exports.getContainer = getContainer;
|
|
15
19
|
exports.getAllContainers = getAllContainers;
|
|
16
20
|
exports.isComponentInContainer = isComponentInContainer;
|
|
17
21
|
exports.findComponentContainers = findComponentContainers;
|
|
22
|
+
const DEBUG = false;
|
|
18
23
|
/**
|
|
19
24
|
* Get container definition by ID
|
|
20
25
|
*/
|
|
@@ -43,4 +48,69 @@ function findComponentContainers(containers, componentId) {
|
|
|
43
48
|
return container.components.includes(componentId);
|
|
44
49
|
});
|
|
45
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Global Container Registry
|
|
53
|
+
*
|
|
54
|
+
* Stores container definitions globally so ToolRegistry can resolve
|
|
55
|
+
* containerIds to routes for scope matching.
|
|
56
|
+
*
|
|
57
|
+
* Similar pattern to ToolRegistry - uses global storage to avoid
|
|
58
|
+
* module isolation issues in tests.
|
|
59
|
+
*/
|
|
60
|
+
const globalRegistry = (typeof global !== 'undefined' ? global : globalThis);
|
|
61
|
+
if (!globalRegistry.__SUPERNAL_CONTAINER_REGISTRY__) {
|
|
62
|
+
globalRegistry.__SUPERNAL_CONTAINER_REGISTRY__ = new Map();
|
|
63
|
+
}
|
|
64
|
+
class ContainerRegistry {
|
|
65
|
+
static get containers() {
|
|
66
|
+
return globalRegistry.__SUPERNAL_CONTAINER_REGISTRY__;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Register a container definition
|
|
70
|
+
*/
|
|
71
|
+
static registerContainer(container) {
|
|
72
|
+
this.containers.set(container.id, container);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Register multiple containers
|
|
76
|
+
*/
|
|
77
|
+
static registerContainers(containers) {
|
|
78
|
+
DEBUG && console.log('[ContainerRegistry] 📦 Registering containers:', Object.keys(containers));
|
|
79
|
+
Object.values(containers).forEach(container => {
|
|
80
|
+
DEBUG && console.log(`[ContainerRegistry] 📦 Registering: ${container.id} → ${container.route}`);
|
|
81
|
+
this.registerContainer(container);
|
|
82
|
+
});
|
|
83
|
+
DEBUG && console.log('[ContainerRegistry] 📦 Total registered:', this.containers.size);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get container definition by ID
|
|
87
|
+
*/
|
|
88
|
+
static getContainer(containerId) {
|
|
89
|
+
return this.containers.get(containerId);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get container route by ID
|
|
93
|
+
*
|
|
94
|
+
* Returns the route for a container, or undefined if not found.
|
|
95
|
+
* Used by ToolRegistry to resolve containerIds to routes for scope matching.
|
|
96
|
+
*/
|
|
97
|
+
static getContainerRoute(containerId) {
|
|
98
|
+
const route = this.containers.get(containerId)?.route;
|
|
99
|
+
DEBUG && console.log(`[ContainerRegistry] 🔍 getContainerRoute("${containerId}") → ${route || 'NOT FOUND'} (registry size: ${this.containers.size})`);
|
|
100
|
+
return route;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get all registered containers
|
|
104
|
+
*/
|
|
105
|
+
static getAllContainers() {
|
|
106
|
+
return Array.from(this.containers.values());
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Clear all registered containers (for testing)
|
|
110
|
+
*/
|
|
111
|
+
static clear() {
|
|
112
|
+
this.containers.clear();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.ContainerRegistry = ContainerRegistry;
|
|
46
116
|
//# sourceMappingURL=Containers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Containers.js","sourceRoot":"","sources":["../../../../../src/background/architecture/Containers.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"Containers.js","sourceRoot":"","sources":["../../../../../src/background/architecture/Containers.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
* This is the CORE library - it provides the infrastructure, not the content.
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.isComponentContract = exports.isComponentState = exports.createAutoInitializer = exports.initializeArchitecture = exports.findComponentContainers = exports.isComponentInContainer = exports.getAllContainers = exports.getContainer = void 0;
|
|
11
|
+
exports.isComponentContract = exports.isComponentState = exports.createAutoInitializer = exports.initializeArchitecture = exports.ContainerRegistry = exports.findComponentContainers = exports.isComponentInContainer = exports.getAllContainers = exports.getContainer = void 0;
|
|
12
12
|
var Containers_1 = require("./Containers");
|
|
13
13
|
Object.defineProperty(exports, "getContainer", { enumerable: true, get: function () { return Containers_1.getContainer; } });
|
|
14
14
|
Object.defineProperty(exports, "getAllContainers", { enumerable: true, get: function () { return Containers_1.getAllContainers; } });
|
|
15
15
|
Object.defineProperty(exports, "isComponentInContainer", { enumerable: true, get: function () { return Containers_1.isComponentInContainer; } });
|
|
16
16
|
Object.defineProperty(exports, "findComponentContainers", { enumerable: true, get: function () { return Containers_1.findComponentContainers; } });
|
|
17
|
+
Object.defineProperty(exports, "ContainerRegistry", { enumerable: true, get: function () { return Containers_1.ContainerRegistry; } });
|
|
17
18
|
var ArchitectureInitializer_1 = require("./ArchitectureInitializer");
|
|
18
19
|
Object.defineProperty(exports, "initializeArchitecture", { enumerable: true, get: function () { return ArchitectureInitializer_1.initializeArchitecture; } });
|
|
19
20
|
Object.defineProperty(exports, "createAutoInitializer", { enumerable: true, get: function () { return ArchitectureInitializer_1.createAutoInitializer; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/background/architecture/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/background/architecture/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,2CAQsB;AAPpB,0GAAA,YAAY,OAAA;AACZ,8GAAA,gBAAgB,OAAA;AAChB,oHAAA,sBAAsB,OAAA;AACtB,qHAAA,uBAAuB,OAAA;AACvB,+GAAA,iBAAiB,OAAA;AAKnB,qEAImC;AAHjC,iIAAA,sBAAsB,OAAA;AACtB,gIAAA,qBAAqB,OAAA;AAIvB,qCAAqC;AACrC,yDAS6B;AAF3B,qHAAA,gBAAgB,OAAA;AAChB,wHAAA,mBAAmB,OAAA"}
|
|
@@ -10,12 +10,31 @@
|
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.LocationContext = void 0;
|
|
13
|
+
// Use global registry to ensure single instance across all module versions
|
|
14
|
+
// This prevents issues when enterprise package uses built version
|
|
15
|
+
// while source code uses source version
|
|
16
|
+
const globalRegistry = (typeof global !== 'undefined' ? global : globalThis);
|
|
17
|
+
if (!globalRegistry.__SUPERNAL_LOCATION_CONTEXT__) {
|
|
18
|
+
globalRegistry.__SUPERNAL_LOCATION_CONTEXT__ = {
|
|
19
|
+
current: null,
|
|
20
|
+
listeners: new Set(),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
13
23
|
/**
|
|
14
24
|
* LocationContext - Global singleton for application location tracking
|
|
15
25
|
*
|
|
16
26
|
* This is SDK core functionality. All location-aware features use this.
|
|
17
27
|
*/
|
|
18
28
|
class LocationContext {
|
|
29
|
+
static get current() {
|
|
30
|
+
return globalRegistry.__SUPERNAL_LOCATION_CONTEXT__.current;
|
|
31
|
+
}
|
|
32
|
+
static set current(value) {
|
|
33
|
+
globalRegistry.__SUPERNAL_LOCATION_CONTEXT__.current = value;
|
|
34
|
+
}
|
|
35
|
+
static get listeners() {
|
|
36
|
+
return globalRegistry.__SUPERNAL_LOCATION_CONTEXT__.listeners;
|
|
37
|
+
}
|
|
19
38
|
/**
|
|
20
39
|
* Set the current application location
|
|
21
40
|
*
|
|
@@ -154,6 +173,4 @@ class LocationContext {
|
|
|
154
173
|
}
|
|
155
174
|
}
|
|
156
175
|
exports.LocationContext = LocationContext;
|
|
157
|
-
LocationContext.current = null;
|
|
158
|
-
LocationContext.listeners = new Set();
|
|
159
176
|
//# sourceMappingURL=LocationContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationContext.js","sourceRoot":"","sources":["../../../../../src/background/location/LocationContext.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA0DH;;;;GAIG;AACH,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"LocationContext.js","sourceRoot":"","sources":["../../../../../src/background/location/LocationContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -211,6 +211,13 @@ class NavigationGraph {
|
|
|
211
211
|
// Fallback to local state or 'global' as default
|
|
212
212
|
return this.currentContext !== undefined ? this.currentContext : 'global';
|
|
213
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* Get current route (stub implementation - returns same as context)
|
|
216
|
+
* Enterprise version will return the actual route path
|
|
217
|
+
*/
|
|
218
|
+
getCurrentRoute() {
|
|
219
|
+
return this.getCurrentContext();
|
|
220
|
+
}
|
|
214
221
|
getAllContexts() {
|
|
215
222
|
this.warnOnce();
|
|
216
223
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationGraph.js","sourceRoot":"","sources":["../../../../../src/background/navigation/NavigationGraph.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAOH,8EAA8E;AAC9E,SAAS,kBAAkB;IACzB,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAC,eAAe,CAAC;AAChE,CAAC;AAED,kEAAkE;AAClE,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAW7D,MAAa,eAAe;IAA5B;QAEU,WAAM,GAAG,KAAK,CAAC;QAIf,iBAAY,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,sBAAsB;QACrE,sBAAiB,GAAgE,IAAI,CAAC;QAE9F,2BAA2B;QACnB,qBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;QACpD,wBAAmB,GAAwB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"NavigationGraph.js","sourceRoot":"","sources":["../../../../../src/background/navigation/NavigationGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,7 +88,6 @@ class ComponentRegistry {
|
|
|
88
88
|
kind: 'ui-component',
|
|
89
89
|
componentId: meta.componentId,
|
|
90
90
|
description: meta.description,
|
|
91
|
-
containerId: meta.containerId,
|
|
92
91
|
htmlTag: meta.htmlTag,
|
|
93
92
|
htmlType: meta.htmlType,
|
|
94
93
|
htmlRole: meta.htmlRole,
|
|
@@ -167,7 +166,6 @@ class ComponentRegistry {
|
|
|
167
166
|
kind: 'function-tool',
|
|
168
167
|
componentId: meta.componentId,
|
|
169
168
|
description: meta.description,
|
|
170
|
-
containerId: meta.containerId,
|
|
171
169
|
operationType: meta.operationType,
|
|
172
170
|
executionCount: 0,
|
|
173
171
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentRegistry.js","sourceRoot":"","sources":["../../../../../src/background/registry/ComponentRegistry.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"ComponentRegistry.js","sourceRoot":"","sources":["../../../../../src/background/registry/ComponentRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.ToolRegistry = void 0;
|
|
16
|
+
const LocationContext_1 = require("../location/LocationContext");
|
|
17
|
+
const DEBUG = false;
|
|
16
18
|
// Use a global registry to avoid Jest module isolation issues
|
|
17
19
|
const globalRegistry = (typeof global !== 'undefined' ? global : globalThis);
|
|
18
20
|
if (!globalRegistry.__SUPERNAL_TOOL_REGISTRY__) {
|
|
@@ -35,7 +37,7 @@ class ToolRegistry {
|
|
|
35
37
|
const toolId = `${providerName}.${methodName}`;
|
|
36
38
|
this.tools.set(toolId, metadata);
|
|
37
39
|
if (typeof process !== 'undefined' && process.env?.NODE_ENV !== 'test') {
|
|
38
|
-
console.log(`🔧 Registered Tool: ${metadata.name} (${metadata.toolType}, AI: ${metadata.aiEnabled})`);
|
|
40
|
+
DEBUG && console.log(`🔧 Registered Tool: ${metadata.name} (${metadata.toolType}, AI: ${metadata.aiEnabled})`);
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
/**
|
|
@@ -110,7 +112,7 @@ class ToolRegistry {
|
|
|
110
112
|
*/
|
|
111
113
|
static bindInstance(instance) {
|
|
112
114
|
const className = instance.constructor.name;
|
|
113
|
-
console.log(`🔗 [ToolRegistry] Binding instance for: ${className}`);
|
|
115
|
+
DEBUG && console.log(`🔗 [ToolRegistry] Binding instance for: ${className}`);
|
|
114
116
|
let boundCount = 0;
|
|
115
117
|
// Find all tools belonging to this class
|
|
116
118
|
for (const [toolId, tool] of this.tools.entries()) {
|
|
@@ -122,11 +124,11 @@ class ToolRegistry {
|
|
|
122
124
|
tool.method = instance[methodName].bind(instance);
|
|
123
125
|
tool.instance = instance;
|
|
124
126
|
boundCount++;
|
|
125
|
-
console.log(` ✓ Bound ${className}.${methodName}`);
|
|
127
|
+
DEBUG && console.log(` ✓ Bound ${className}.${methodName}`);
|
|
126
128
|
}
|
|
127
129
|
}
|
|
128
130
|
}
|
|
129
|
-
console.log(`🔗 [ToolRegistry] Bound ${boundCount} methods for ${className}`);
|
|
131
|
+
DEBUG && console.log(`🔗 [ToolRegistry] Bound ${boundCount} methods for ${className}`);
|
|
130
132
|
}
|
|
131
133
|
/**
|
|
132
134
|
* Get AI-enabled tools only
|
|
@@ -155,8 +157,8 @@ class ToolRegistry {
|
|
|
155
157
|
return [];
|
|
156
158
|
}
|
|
157
159
|
const queryLower = query.toLowerCase();
|
|
158
|
-
console.log(`🔍 [ToolRegistry.searchTools] Searching for: "${queryLower}"`);
|
|
159
|
-
console.log(`🔍 [ToolRegistry.searchTools] Total tools in registry: ${this.tools.size}`);
|
|
160
|
+
DEBUG && console.log(`🔍 [ToolRegistry.searchTools] Searching for: "${queryLower}"`);
|
|
161
|
+
DEBUG && console.log(`🔍 [ToolRegistry.searchTools] Total tools in registry: ${this.tools.size}`);
|
|
160
162
|
return Array.from(this.tools.values()).filter((tool) => {
|
|
161
163
|
const searchFields = [
|
|
162
164
|
tool.name ? tool.name.toLowerCase() : '',
|
|
@@ -169,42 +171,34 @@ class ToolRegistry {
|
|
|
169
171
|
});
|
|
170
172
|
}
|
|
171
173
|
/**
|
|
172
|
-
* Search tools with
|
|
174
|
+
* Search tools with zero-config element-based filtering
|
|
173
175
|
*
|
|
174
|
-
*
|
|
175
|
-
* This enables
|
|
176
|
+
* Only searches through tools that are currently visible (based on LocationContext.elements).
|
|
177
|
+
* This enables automatic scoping based on what's on screen.
|
|
176
178
|
*
|
|
177
179
|
* @param query Search query
|
|
178
|
-
* @param currentContainer
|
|
179
|
-
* @returns
|
|
180
|
+
* @param _deprecated Deprecated parameter (was currentContainer), no longer used
|
|
181
|
+
* @returns Matching visible tools
|
|
180
182
|
*/
|
|
181
|
-
static searchScoped(query,
|
|
183
|
+
static searchScoped(query, _deprecated) {
|
|
182
184
|
if (!query || typeof query !== 'string') {
|
|
183
185
|
console.error('❌ [ToolRegistry] Invalid search query:', query);
|
|
184
186
|
return [];
|
|
185
187
|
}
|
|
186
188
|
const queryLower = query.toLowerCase();
|
|
187
|
-
console.log(`🔍 [ToolRegistry]
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
console.log(`🔍 [ToolRegistry] Total tools
|
|
191
|
-
console.log(`🔍 [ToolRegistry] currentContainer = "${currentContainer}"`);
|
|
192
|
-
if (currentContainer) {
|
|
193
|
-
const toolsForContainer = allTools.filter(t => t.containerId === currentContainer);
|
|
194
|
-
console.log(`🔍 [ToolRegistry] Tools with containerId="${currentContainer}":`, toolsForContainer.map(t => ({ name: t.name, examples: t.examples?.slice(0, 2) })));
|
|
195
|
-
// DEBUG: Show ALL containerIds in registry
|
|
196
|
-
const allContainerIds = new Set(allTools.map(t => t.containerId).filter(Boolean));
|
|
197
|
-
console.log(`🔍 [ToolRegistry] All unique containerIds in registry:`, Array.from(allContainerIds));
|
|
198
|
-
}
|
|
189
|
+
DEBUG && console.log(`🔍 [ToolRegistry] Search: "${query}"`);
|
|
190
|
+
// Get only visible tools (zero-config inference)
|
|
191
|
+
const visibleTools = this.getToolsByLocation();
|
|
192
|
+
DEBUG && console.log(`🔍 [ToolRegistry] Total visible tools: ${visibleTools.length}`);
|
|
199
193
|
// Search in tool metadata (including component names)
|
|
200
|
-
const matches =
|
|
194
|
+
const matches = visibleTools.filter(tool => {
|
|
201
195
|
const examplePatterns = (tool.examples || [])
|
|
202
196
|
.filter(Boolean)
|
|
203
197
|
.map(ex => ex.toLowerCase().replace(/\{[^}]+\}/g, '').trim())
|
|
204
198
|
.filter(Boolean);
|
|
205
199
|
const startsWithPattern = examplePatterns.some(pattern => queryLower.startsWith(pattern));
|
|
206
200
|
if (startsWithPattern) {
|
|
207
|
-
console.log(` ✓ [ToolRegistry] Tool matched: ${tool.name}
|
|
201
|
+
DEBUG && console.log(` ✓ [ToolRegistry] Tool matched: ${tool.name}`);
|
|
208
202
|
return true;
|
|
209
203
|
}
|
|
210
204
|
const searchFields = [
|
|
@@ -220,21 +214,8 @@ class ToolRegistry {
|
|
|
220
214
|
.map(s => (s || '').toLowerCase()); // Ensure s is not undefined
|
|
221
215
|
return searchFields.some(field => field.includes(queryLower) || queryLower.includes(field));
|
|
222
216
|
});
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
226
|
-
// Split into local (current container) and global (no container or different)
|
|
227
|
-
const local = matches.filter(t => t.containerId === currentContainer);
|
|
228
|
-
const global = matches.filter(t => !t.containerId || t.containerId !== currentContainer);
|
|
229
|
-
console.log(`📊 [ToolRegistry] Found: ${local.length} local, ${global.length} global`);
|
|
230
|
-
// LOCAL OVERRIDE: If any local tools match, ONLY return local tools
|
|
231
|
-
// This implements lexical scoping: local shadows global
|
|
232
|
-
if (local.length > 0) {
|
|
233
|
-
console.log(`🎯 [ToolRegistry] Local tools found - shadowing ${global.length} global tools`);
|
|
234
|
-
return local;
|
|
235
|
-
}
|
|
236
|
-
// Fallback to global if no local matches
|
|
237
|
-
return global;
|
|
217
|
+
DEBUG && console.log(`📊 [ToolRegistry] Found ${matches.length} matching visible tools`);
|
|
218
|
+
return matches;
|
|
238
219
|
}
|
|
239
220
|
/**
|
|
240
221
|
* Get tools by component name
|
|
@@ -248,24 +229,6 @@ class ToolRegistry {
|
|
|
248
229
|
static getToolsByComponent(componentName) {
|
|
249
230
|
return Array.from(this.tools.values()).filter(tool => tool.componentName === componentName);
|
|
250
231
|
}
|
|
251
|
-
/**
|
|
252
|
-
* Get tools by container (page scope)
|
|
253
|
-
*/
|
|
254
|
-
static getToolsByContainer(containerId) {
|
|
255
|
-
return Array.from(this.tools.values()).filter(tool => tool.containerId === containerId);
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Get component names in a container
|
|
259
|
-
*
|
|
260
|
-
* @example
|
|
261
|
-
* getComponentsInContainer('Dashboard')
|
|
262
|
-
* // → ['counter', 'chart', 'settings']
|
|
263
|
-
*/
|
|
264
|
-
static getComponentsInContainer(containerId) {
|
|
265
|
-
const tools = this.getToolsByContainer(containerId);
|
|
266
|
-
const components = new Set(tools.map(t => t.componentName).filter((name) => !!name));
|
|
267
|
-
return Array.from(components);
|
|
268
|
-
}
|
|
269
232
|
/**
|
|
270
233
|
* Find tool by natural language query (alias for searchTools)
|
|
271
234
|
*/
|
|
@@ -629,62 +592,54 @@ class ToolRegistry {
|
|
|
629
592
|
*/
|
|
630
593
|
static clear() {
|
|
631
594
|
this.tools.clear();
|
|
632
|
-
console.log('🧹 ToolRegistry: Cleared all tools');
|
|
595
|
+
DEBUG && console.log('🧹 ToolRegistry: Cleared all tools');
|
|
633
596
|
}
|
|
634
597
|
/**
|
|
635
|
-
* Get tools grouped by
|
|
598
|
+
* Get tools grouped by component for MCP/AI consumption
|
|
636
599
|
*
|
|
637
600
|
* Returns a hierarchical structure:
|
|
638
601
|
* {
|
|
639
|
-
*
|
|
640
|
-
*
|
|
641
|
-
*
|
|
602
|
+
* Counter: [...counter tools...],
|
|
603
|
+
* Chat: [...chat tools...],
|
|
604
|
+
* Navigation: [...navigation tools...],
|
|
642
605
|
* ...
|
|
643
606
|
* }
|
|
644
607
|
*
|
|
645
608
|
* This helps AI agents understand tool organization and prioritize
|
|
646
609
|
* contextually relevant tools.
|
|
647
610
|
*/
|
|
648
|
-
static
|
|
611
|
+
static getToolsGroupedByComponent() {
|
|
649
612
|
const grouped = {
|
|
650
|
-
|
|
613
|
+
ungrouped: [],
|
|
651
614
|
};
|
|
652
615
|
for (const tool of this.tools.values()) {
|
|
653
|
-
const
|
|
654
|
-
if (!grouped[
|
|
655
|
-
grouped[
|
|
616
|
+
const component = tool.componentName || 'ungrouped';
|
|
617
|
+
if (!grouped[component]) {
|
|
618
|
+
grouped[component] = [];
|
|
656
619
|
}
|
|
657
|
-
grouped[
|
|
620
|
+
grouped[component].push(tool);
|
|
658
621
|
}
|
|
659
622
|
return grouped;
|
|
660
623
|
}
|
|
661
624
|
/**
|
|
662
|
-
* Get tools grouped by
|
|
625
|
+
* Get tools grouped by category
|
|
663
626
|
*
|
|
664
627
|
* Returns a hierarchical structure:
|
|
665
628
|
* {
|
|
666
|
-
*
|
|
667
|
-
*
|
|
668
|
-
*
|
|
669
|
-
*
|
|
670
|
-
* global: {
|
|
671
|
-
* navigation: [...navigation tools...],
|
|
672
|
-
* theme: [...theme tools...],
|
|
673
|
-
* }
|
|
629
|
+
* user_interaction: [...interaction tools...],
|
|
630
|
+
* data_management: [...data tools...],
|
|
631
|
+
* navigation: [...navigation tools...],
|
|
632
|
+
* ...
|
|
674
633
|
* }
|
|
675
634
|
*/
|
|
676
|
-
static
|
|
635
|
+
static getToolsGroupedByCategory() {
|
|
677
636
|
const grouped = {};
|
|
678
637
|
for (const tool of this.tools.values()) {
|
|
679
|
-
const
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
grouped[container] = {};
|
|
683
|
-
}
|
|
684
|
-
if (!grouped[container][component]) {
|
|
685
|
-
grouped[container][component] = [];
|
|
638
|
+
const category = tool.category || 'uncategorized';
|
|
639
|
+
if (!grouped[category]) {
|
|
640
|
+
grouped[category] = [];
|
|
686
641
|
}
|
|
687
|
-
grouped[
|
|
642
|
+
grouped[category].push(tool);
|
|
688
643
|
}
|
|
689
644
|
return grouped;
|
|
690
645
|
}
|
|
@@ -710,35 +665,29 @@ class ToolRegistry {
|
|
|
710
665
|
* ```
|
|
711
666
|
*/
|
|
712
667
|
static getToolsByLocation(location) {
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
668
|
+
const currentLocation = location !== undefined ? location : LocationContext_1.LocationContext.getCurrent();
|
|
669
|
+
if (DEBUG) {
|
|
670
|
+
console.log('=== ToolRegistry.getToolsByLocation (Zero-Config) ===');
|
|
671
|
+
console.log('[ToolRegistry] Current location:', currentLocation);
|
|
672
|
+
console.log('[ToolRegistry] Visible elements:', currentLocation?.elements || []);
|
|
673
|
+
console.log('[ToolRegistry] Total tools in registry:', this.tools.size);
|
|
674
|
+
}
|
|
716
675
|
return Array.from(this.tools.values()).filter(tool => {
|
|
717
676
|
// Check 1: LocationScope decorator (rich matching)
|
|
718
677
|
if (tool.locationScope) {
|
|
719
|
-
return LocationContext.matchesScope(tool.locationScope, currentLocation);
|
|
678
|
+
return LocationContext_1.LocationContext.matchesScope(tool.locationScope, currentLocation);
|
|
720
679
|
}
|
|
721
|
-
// Check 2:
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
// No location set = global context, only global tools available
|
|
731
|
-
if (!currentLocation)
|
|
732
|
-
return false;
|
|
733
|
-
// Match containerId against current page/route
|
|
734
|
-
const currentPage = currentLocation.page || currentLocation.route || '';
|
|
735
|
-
// Exact match or hierarchical match (e.g., containerId='/blog' matches page='/blog/post')
|
|
736
|
-
return currentPage === tool.containerId ||
|
|
737
|
-
currentPage.startsWith(tool.containerId + '/') ||
|
|
738
|
-
currentPage.startsWith('/' + tool.containerId) ||
|
|
739
|
-
currentPage === '/' + tool.containerId;
|
|
680
|
+
// Check 2: Zero-config element-based inference
|
|
681
|
+
// Tools with elementId are only available when their element is visible
|
|
682
|
+
if (tool.elementId) {
|
|
683
|
+
const visibleElements = currentLocation?.elements || [];
|
|
684
|
+
const isVisible = visibleElements.includes(tool.elementId);
|
|
685
|
+
if (DEBUG) {
|
|
686
|
+
console.log(`[ToolRegistry] Tool "${tool.name}" (elementId: ${tool.elementId}):`, isVisible ? 'VISIBLE' : 'HIDDEN');
|
|
687
|
+
}
|
|
688
|
+
return isVisible;
|
|
740
689
|
}
|
|
741
|
-
// No scope defined = available everywhere (global)
|
|
690
|
+
// No scope defined = available everywhere (global tools without UI elements)
|
|
742
691
|
return true;
|
|
743
692
|
});
|
|
744
693
|
}
|
|
@@ -761,28 +710,39 @@ class ToolRegistry {
|
|
|
761
710
|
* @returns Tools available at current location
|
|
762
711
|
*/
|
|
763
712
|
static getToolsForCurrentContext() {
|
|
764
|
-
const
|
|
765
|
-
|
|
713
|
+
const currentLocation = LocationContext_1.LocationContext.getCurrent();
|
|
714
|
+
const result = this.getToolsByLocation(currentLocation);
|
|
715
|
+
if (DEBUG) {
|
|
716
|
+
const withElements = result.filter(t => t.elementId);
|
|
717
|
+
const withoutElements = result.filter(t => !t.elementId);
|
|
718
|
+
console.log('=== ToolRegistry.getToolsForCurrentContext (Zero-Config) ===');
|
|
719
|
+
console.log('[ToolRegistry] Current location:', currentLocation);
|
|
720
|
+
console.log('[RESULT] Total tools returned:', result.length);
|
|
721
|
+
console.log('[RESULT] Element-based tools:', withElements.length, withElements.map(t => ({ name: t.name, elementId: t.elementId })));
|
|
722
|
+
console.log('[RESULT] Global tools (no elementId):', withoutElements.length);
|
|
723
|
+
}
|
|
724
|
+
return result;
|
|
766
725
|
}
|
|
767
726
|
/**
|
|
768
|
-
* Get tools grouped by
|
|
727
|
+
* Get tools grouped by component, filtered by location (visible tools only)
|
|
769
728
|
*
|
|
770
|
-
* Combines location filtering with
|
|
729
|
+
* Combines location filtering with component grouping.
|
|
730
|
+
* Only returns tools that are currently visible.
|
|
771
731
|
*
|
|
772
732
|
* @param location - Optional location to filter by
|
|
773
|
-
* @returns
|
|
733
|
+
* @returns Visible tools grouped by component
|
|
774
734
|
*/
|
|
775
|
-
static
|
|
735
|
+
static getToolsGroupedByComponentForLocation(location) {
|
|
776
736
|
const tools = this.getToolsByLocation(location);
|
|
777
737
|
const grouped = {
|
|
778
|
-
|
|
738
|
+
ungrouped: [],
|
|
779
739
|
};
|
|
780
740
|
for (const tool of tools) {
|
|
781
|
-
const
|
|
782
|
-
if (!grouped[
|
|
783
|
-
grouped[
|
|
741
|
+
const component = tool.componentName || 'ungrouped';
|
|
742
|
+
if (!grouped[component]) {
|
|
743
|
+
grouped[component] = [];
|
|
784
744
|
}
|
|
785
|
-
grouped[
|
|
745
|
+
grouped[component].push(tool);
|
|
786
746
|
}
|
|
787
747
|
return grouped;
|
|
788
748
|
}
|