@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
|
@@ -20,7 +20,7 @@ const StateManagers_1 = require("../types/StateManagers");
|
|
|
20
20
|
let browserStateManager = null;
|
|
21
21
|
function getBrowserStateManager() {
|
|
22
22
|
if (!browserStateManager && typeof window !== 'undefined') {
|
|
23
|
-
browserStateManager = StateManager_1.StateManager.getInstance(StateManagers_1.StateManagers.
|
|
23
|
+
browserStateManager = StateManager_1.StateManager.getInstance(StateManagers_1.StateManagers.CoreV1, new LocalStorageAdapter_1.LocalStorageAdapter());
|
|
24
24
|
}
|
|
25
25
|
return browserStateManager;
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePersistedState.js","sourceRoot":"","sources":["../../../../src/react/usePersistedState.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAqBH,8CAmDC;AAtED,iCAA4C;AAC5C,0DAAuD;AACvD,wEAAqE;AACrE,0DAAuD;AAGvD,2DAA2D;AAC3D,IAAI,mBAAmB,GAAwB,IAAI,CAAC;AAEpD,SAAS,sBAAsB;IAC7B,IAAI,CAAC,mBAAmB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1D,mBAAmB,GAAG,2BAAY,CAAC,WAAW,CAC5C,6BAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"usePersistedState.js","sourceRoot":"","sources":["../../../../src/react/usePersistedState.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAqBH,8CAmDC;AAtED,iCAA4C;AAC5C,0DAAuD;AACvD,wEAAqE;AACrE,0DAAuD;AAGvD,2DAA2D;AAC3D,IAAI,mBAAmB,GAAwB,IAAI,CAAC;AAEpD,SAAS,sBAAsB;IAC7B,IAAI,CAAC,mBAAmB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1D,mBAAmB,GAAG,2BAAY,CAAC,WAAW,CAC5C,6BAAa,CAAC,MAAM,EACpB,IAAI,yCAAmB,EAAE,CAC1B,CAAC;IACJ,CAAC;IACD,OAAO,mBAAoB,CAAC;AAC9B,CAAC;AAED,SAAgB,iBAAiB,CAC/B,GAAW,EACX,YAAe;IAEf,gDAAgD;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAI,YAAY,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEpD,iDAAiD;IACjD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAE1C,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;QAE9C,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CAAgC,GAAG,CAAC,CAAC;gBAC1E,IAAI,MAAM,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;oBAChC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,uCAAuC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,2DAA2D;IAC3D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAEzD,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;QAE9C,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,GAAG,CAAgC,GAAG,EAAE;oBACzD,IAAI,EAAE,cAAc;oBACpB,WAAW,EAAE,GAAG;oBAChB,KAAK,EAAE,KAAK;iBACN,CAAC,CAAC,CAAE,6DAA6D;YAC3E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,uCAAuC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7B,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* State Synchronization Utilities
|
|
4
|
+
*
|
|
5
|
+
* Handles automatic syncing of component state to DOM and event triggering.
|
|
6
|
+
* Used by @Component decorator for stateful components.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.syncStateToDom = syncStateToDom;
|
|
10
|
+
exports.triggerStateChange = triggerStateChange;
|
|
11
|
+
exports.getStateFromDom = getStateFromDom;
|
|
12
|
+
exports.waitForState = waitForState;
|
|
13
|
+
exports.onStateChange = onStateChange;
|
|
14
|
+
/**
|
|
15
|
+
* Sync component state to DOM by writing to data-state attribute
|
|
16
|
+
*
|
|
17
|
+
* @param componentName - Component identifier (from @Component decorator)
|
|
18
|
+
* @param state - Current component state
|
|
19
|
+
*/
|
|
20
|
+
function syncStateToDom(componentName, state) {
|
|
21
|
+
// Find element by data-component attribute
|
|
22
|
+
const element = document.querySelector(`[data-component="${componentName}"]`);
|
|
23
|
+
if (element) {
|
|
24
|
+
try {
|
|
25
|
+
// Serialize state to JSON and write to data-state
|
|
26
|
+
const stateJson = JSON.stringify(state);
|
|
27
|
+
element.setAttribute('data-state', stateJson);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error(`[StateSync] Failed to serialize state for component '${componentName}':`, error);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// Element not in DOM yet - this is OK during initialization
|
|
35
|
+
// Component might be created before rendering
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Trigger state change event for test utilities and observers
|
|
40
|
+
*
|
|
41
|
+
* @param componentName - Component identifier
|
|
42
|
+
* @param state - New state
|
|
43
|
+
*/
|
|
44
|
+
function triggerStateChange(componentName, state) {
|
|
45
|
+
const detail = {
|
|
46
|
+
component: componentName,
|
|
47
|
+
state,
|
|
48
|
+
timestamp: Date.now()
|
|
49
|
+
};
|
|
50
|
+
const event = new CustomEvent('component:state:change', {
|
|
51
|
+
detail,
|
|
52
|
+
bubbles: false, // Don't bubble - listen on window
|
|
53
|
+
cancelable: false
|
|
54
|
+
});
|
|
55
|
+
window.dispatchEvent(event);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get component state from DOM (read data-state attribute)
|
|
59
|
+
*
|
|
60
|
+
* @param componentName - Component identifier
|
|
61
|
+
* @returns Parsed state or null if not found
|
|
62
|
+
*/
|
|
63
|
+
function getStateFromDom(componentName) {
|
|
64
|
+
const element = document.querySelector(`[data-component="${componentName}"]`);
|
|
65
|
+
if (!element) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const stateAttr = element.getAttribute('data-state');
|
|
69
|
+
if (!stateAttr) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
return JSON.parse(stateAttr);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.error(`[StateSync] Failed to parse state for component '${componentName}':`, error);
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Wait for component state to match predicate
|
|
82
|
+
* Useful for testing async state changes
|
|
83
|
+
*
|
|
84
|
+
* @param componentName - Component identifier
|
|
85
|
+
* @param predicate - Function that returns true when state is as expected
|
|
86
|
+
* @param timeoutMs - Maximum wait time (default: 5000ms)
|
|
87
|
+
* @returns Promise that resolves when predicate returns true
|
|
88
|
+
*/
|
|
89
|
+
async function waitForState(componentName, predicate, timeoutMs = 5000) {
|
|
90
|
+
const startTime = Date.now();
|
|
91
|
+
return new Promise((resolve, reject) => {
|
|
92
|
+
const checkState = () => {
|
|
93
|
+
const state = getStateFromDom(componentName);
|
|
94
|
+
if (state && predicate(state)) {
|
|
95
|
+
resolve(state);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (Date.now() - startTime > timeoutMs) {
|
|
99
|
+
reject(new Error(`Timeout waiting for component '${componentName}' state to match predicate`));
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
// Check again after short delay
|
|
103
|
+
setTimeout(checkState, 50);
|
|
104
|
+
};
|
|
105
|
+
// Start checking
|
|
106
|
+
checkState();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Subscribe to component state changes
|
|
111
|
+
*
|
|
112
|
+
* @param componentName - Component to watch (or '*' for all)
|
|
113
|
+
* @param callback - Function to call on state change
|
|
114
|
+
* @returns Unsubscribe function
|
|
115
|
+
*/
|
|
116
|
+
function onStateChange(componentName, callback) {
|
|
117
|
+
const handler = (event) => {
|
|
118
|
+
const customEvent = event;
|
|
119
|
+
const { component } = customEvent.detail;
|
|
120
|
+
if (componentName === '*' || component === componentName) {
|
|
121
|
+
callback(customEvent.detail);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
window.addEventListener('component:state:change', handler);
|
|
125
|
+
// Return unsubscribe function
|
|
126
|
+
return () => {
|
|
127
|
+
window.removeEventListener('component:state:change', handler);
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=StateSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateSync.js","sourceRoot":"","sources":["../../../../src/state/StateSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStorageAdapter.js","sourceRoot":"","sources":["../../../../src/storage/LocalStorageAdapter.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAWH;;;GAGG;AACH,MAAa,mBAAmB;IAG9B,YAAY,SAAiB,
|
|
1
|
+
{"version":3,"file":"LocalStorageAdapter.js","sourceRoot":"","sources":["../../../../src/storage/LocalStorageAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
* ```typescript
|
|
16
16
|
* // Browser
|
|
17
17
|
* const state = StateManager.getInstance(
|
|
18
|
-
* StateManagers.
|
|
18
|
+
* StateManagers.CoreV1,
|
|
19
19
|
* new LocalStorageAdapter()
|
|
20
20
|
* );
|
|
21
21
|
*
|
|
22
22
|
* // Chrome Extension MV3
|
|
23
23
|
* const state = StateManager.getInstance(
|
|
24
|
-
* StateManagers.
|
|
24
|
+
* StateManagers.CoreV1,
|
|
25
25
|
* new ChromeStorageAdapter()
|
|
26
26
|
* );
|
|
27
27
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemTools.js","sourceRoot":"","sources":["../../../../src/tools/SystemTools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAIH,sEAAmE;AA8EnE;;GAEG;AACH,SAAS,mBAAmB,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe;gBACzC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAM,YAAY;gBACtC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAM,WAAW;iBACtC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS;IAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAa,WAAW;IAWtB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI;QACf,MAAM,QAAQ,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgB,CAAC;QAE3C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP,
|
|
1
|
+
{"version":3,"file":"SystemTools.js","sourceRoot":"","sources":["../../../../src/tools/SystemTools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAIH,sEAAmE;AA8EnE;;GAEG;AACH,SAAS,mBAAmB,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe;gBACzC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAM,YAAY;gBACtC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAM,WAAW;iBACtC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS;IAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAa,WAAW;IAWtB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI;QACf,MAAM,QAAQ,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgB,CAAC;QAE3C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP,8BAA8B;gBAC9B,EAAE;gBACF,qBAAqB;gBACrB,6CAA6C;gBAC7C,8DAA8D;gBAC9D,+DAA+D;gBAC/D,EAAE;gBACF,gBAAgB,QAAQ,CAAC,MAAM,EAAE;gBACjC,eAAe,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACnD,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,SAAS,EAAE,QAAQ,CAAC,MAAM;YAC1B,WAAW,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,UAAU,CAAC;YACrD,QAAQ,EAAE;gBACR,2EAA2E;gBAC3E,qDAAqD;gBACrD,qCAAqC;aACtC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAyB,EAAE;QACvD,IAAI,KAAK,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC;QAEpC,qBAAqB;QACrB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,qEAAqE;QACrE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACvB,MAAM,UAAU,GAAG;oBACjB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,WAAW;oBACb,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACrB,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;iBACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE1B,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,mCAAmC;QAEnC,gBAAgB;QAChB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,mBAAmB;QACnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAc;QAClC,MAAM,IAAI,GAAG,2BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,yCAAyC;YACzC,MAAM,QAAQ,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAErD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,sBAAsB;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;gBACxC,CAAC,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC5C,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,gBAAgB,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,WAAmB;QACrC,MAAM,QAAQ,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC;QAEzC,8BAA8B;QAC9B,MAAM,MAAM,GAAG,QAAQ;aACpB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,GAAG,CACb,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EACvC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAC1C;SACF,CAAC,CAAC;aACF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC;aACvD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAa;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC;QAEzC,2CAA2C;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACjC,MAAM,UAAU,GAAG;gBACjB,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,WAAW;gBAChB,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;aACzB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAE1B,wBAAwB;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACtE,MAAM,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;YAExC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,OAAO,MAAM;aACV,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;SAC/B,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAI7B;QACC,MAAM,QAAQ,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,WAAW,GAAG,QAAQ,CAAC;QAE3B,wEAAwE;QAExE,iCAAiC;QACjC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;QAChF,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,2BAA2B;QAC3B,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACjC,MAAc,EACd,QAA0B;QAE1B,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,qCAAqC;YACrC,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,OAAO,IAAI,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAChE,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;;AArOH,kCAsOC;AArOC;;GAEG;AACqB,gCAAoB,GAAG,GAAG,CAAC;AAEnD;;GAEG;AACqB,2BAAe,GAAG,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@ exports.StateManagers = void 0;
|
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* ```typescript
|
|
12
|
-
* const coreState = StateManager.getInstance(StateManagers.
|
|
12
|
+
* const coreState = StateManager.getInstance(StateManagers.CoreV1, adapter);
|
|
13
13
|
* const userState = StateManager.getInstance(StateManagers.UserSession, adapter);
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
@@ -19,7 +19,7 @@ var StateManagers;
|
|
|
19
19
|
* Core application state manager (v1)
|
|
20
20
|
* Used for fundamental system state
|
|
21
21
|
*/
|
|
22
|
-
StateManagers["
|
|
22
|
+
StateManagers["CoreV1"] = "core_v1";
|
|
23
23
|
/**
|
|
24
24
|
* User session state manager
|
|
25
25
|
* Isolated user-specific data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateManagers.js","sourceRoot":"","sources":["../../../../src/types/StateManagers.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,IAAY,aAwBX;AAxBD,WAAY,aAAa;IACvB;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"StateManagers.js","sourceRoot":"","sources":["../../../../src/types/StateManagers.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,IAAY,aAwBX;AAxBD,WAAY,aAAa;IACvB;;;OAGG;IACH,mCAAkB,CAAA;IAElB;;;OAGG;IACH,6CAA4B,CAAA;IAE5B;;;OAGG;IACH,oCAAmB,CAAA;IAEnB;;;OAGG;IACH,8BAAa,CAAA;AACf,CAAC,EAxBW,aAAa,6BAAb,aAAa,QAwBxB"}
|
|
@@ -55,8 +55,8 @@ const ChatNames = {
|
|
|
55
55
|
const useChatInput = () => ({
|
|
56
56
|
registerInput: (callback) => { }
|
|
57
57
|
});
|
|
58
|
-
const
|
|
59
|
-
const
|
|
58
|
+
const ChatBubble = ({ messages, onSendMessage, onClearChat, storagePrefix = 'chat-', title = 'Chat', }) => {
|
|
59
|
+
const CHAT_EXPANDED_KEY = `${storagePrefix}expanded`;
|
|
60
60
|
// Initialize with default value (true) for both server and client to prevent hydration mismatch
|
|
61
61
|
const [isExpanded, setIsExpanded] = (0, react_1.useState)(true);
|
|
62
62
|
const [inputValue, setInputValue] = (0, react_1.useState)('');
|
|
@@ -161,7 +161,7 @@ const ChatBubble = ({ messages, onSendMessage, onClearChat }) => {
|
|
|
161
161
|
react_1.default.createElement("span", { className: "text-white text-base sm:text-lg" }, "\uD83E\uDD16")),
|
|
162
162
|
react_1.default.createElement("div", { className: "absolute -bottom-1 -right-1 w-3 h-3 sm:w-4 sm:h-4 bg-green-500 rounded-full border-2 border-white" })),
|
|
163
163
|
react_1.default.createElement("div", null,
|
|
164
|
-
react_1.default.createElement("h3", { className: "font-bold text-gray-900 text-sm sm:text-base" },
|
|
164
|
+
react_1.default.createElement("h3", { className: "font-bold text-gray-900 text-sm sm:text-base" }, title),
|
|
165
165
|
react_1.default.createElement("p", { className: "text-xs text-gray-600 hidden sm:block" }, "I'm a TOOL system AI can use to control this site"))),
|
|
166
166
|
react_1.default.createElement("div", { className: "flex items-center space-x-1" },
|
|
167
167
|
onClearChat && (react_1.default.createElement("button", { onClick: onClearChat, className: "p-1 text-gray-400 hover:text-gray-600 transition-colors", title: "Clear chat", "data-testid": ChatNames.clearButton },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatBubble.js","sourceRoot":"","sources":["../../../../../../src/ui/react/chat/ChatBubble.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAA2D;AAC3D,6DAA0D;AAE1D,2DAA2D;AAC3D,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,uBAAU,CAAC,gBAAgB;IACnC,KAAK,EAAE,uBAAU,CAAC,SAAS;IAC3B,UAAU,EAAE,uBAAU,CAAC,cAAc;IACrC,WAAW,EAAE,uBAAU,CAAC,eAAe;CACxC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC;IAC1B,aAAa,EAAE,CAAC,QAAkD,EAAE,EAAE,GAAE,CAAC;CAC1E,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatBubble.js","sourceRoot":"","sources":["../../../../../../src/ui/react/chat/ChatBubble.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LocationContext - Core SDK location tracking
|
|
3
|
+
*
|
|
4
|
+
* This is the foundation of location-aware tools. It tracks where the user
|
|
5
|
+
* currently is in the application (page, route, components, etc.) and allows
|
|
6
|
+
* tools to declare which locations they're available in.
|
|
7
|
+
*
|
|
8
|
+
* ALL consumers (MCP, CopilotKit, Tests, etc.) use this to filter tools.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Complete application location state
|
|
12
|
+
*/
|
|
13
|
+
export interface AppLocation {
|
|
14
|
+
/** Current page path (e.g., '/blog', '/dashboard') */
|
|
15
|
+
page: string;
|
|
16
|
+
/** Route pattern (e.g., '/blog/[slug]', '/examples') */
|
|
17
|
+
route?: string;
|
|
18
|
+
/** Currently mounted component IDs */
|
|
19
|
+
components?: string[];
|
|
20
|
+
/** Visible element IDs (CSS selectors or data-testid values) */
|
|
21
|
+
elements?: string[];
|
|
22
|
+
/** App-specific metadata */
|
|
23
|
+
metadata?: Record<string, any>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Tool location scope definition
|
|
27
|
+
*/
|
|
28
|
+
export interface LocationScope {
|
|
29
|
+
/** Tool is available everywhere */
|
|
30
|
+
global?: boolean;
|
|
31
|
+
/** Required page(s) - tool only available on these pages */
|
|
32
|
+
pages?: string[];
|
|
33
|
+
/** Required route pattern(s) */
|
|
34
|
+
routes?: string[];
|
|
35
|
+
/** Required component(s) - tool only available when these are mounted */
|
|
36
|
+
components?: string[];
|
|
37
|
+
/** Required element(s) - tool only available when these are visible */
|
|
38
|
+
elements?: string[];
|
|
39
|
+
/** Custom matcher function */
|
|
40
|
+
custom?: (location: AppLocation) => boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Location change listener
|
|
44
|
+
*/
|
|
45
|
+
export type LocationChangeListener = (oldLocation: AppLocation | null, newLocation: AppLocation) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Unsubscribe function
|
|
48
|
+
*/
|
|
49
|
+
export type UnsubscribeFn = () => void;
|
|
50
|
+
/**
|
|
51
|
+
* LocationContext - Global singleton for application location tracking
|
|
52
|
+
*
|
|
53
|
+
* This is SDK core functionality. All location-aware features use this.
|
|
54
|
+
*/
|
|
55
|
+
export declare class LocationContext {
|
|
56
|
+
private static current;
|
|
57
|
+
private static listeners;
|
|
58
|
+
/**
|
|
59
|
+
* Set the current application location
|
|
60
|
+
*
|
|
61
|
+
* Apps should call this on route changes:
|
|
62
|
+
*
|
|
63
|
+
* ```typescript
|
|
64
|
+
* // In Next.js app
|
|
65
|
+
* useEffect(() => {
|
|
66
|
+
* LocationContext.setCurrent({
|
|
67
|
+
* page: router.pathname,
|
|
68
|
+
* route: router.route,
|
|
69
|
+
* components: ['blog-header', 'blog-content']
|
|
70
|
+
* });
|
|
71
|
+
* }, [router.pathname]);
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
static setCurrent(location: AppLocation): void;
|
|
75
|
+
/**
|
|
76
|
+
* Get the current application location
|
|
77
|
+
*
|
|
78
|
+
* Returns null if no location has been set yet.
|
|
79
|
+
*/
|
|
80
|
+
static getCurrent(): AppLocation | null;
|
|
81
|
+
/**
|
|
82
|
+
* Subscribe to location changes
|
|
83
|
+
*
|
|
84
|
+
* Returns an unsubscribe function.
|
|
85
|
+
*
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const unsub = LocationContext.onLocationChange((old, newLoc) => {
|
|
88
|
+
* console.log('Moved from', old, 'to', newLoc);
|
|
89
|
+
* });
|
|
90
|
+
*
|
|
91
|
+
* // Later: cleanup
|
|
92
|
+
* unsub();
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
static onLocationChange(listener: LocationChangeListener): UnsubscribeFn;
|
|
96
|
+
/**
|
|
97
|
+
* Check if a location scope matches the current location
|
|
98
|
+
*
|
|
99
|
+
* @param scope - Location scope to check
|
|
100
|
+
* @param location - Location to check against (defaults to current)
|
|
101
|
+
* @returns true if scope matches location
|
|
102
|
+
*
|
|
103
|
+
* ```typescript
|
|
104
|
+
* const scope = { pages: ['/blog', '/posts'] };
|
|
105
|
+
* const matches = LocationContext.matchesScope(scope);
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
static matchesScope(scope: LocationScope, location?: AppLocation | null): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Reset location context (useful for tests)
|
|
111
|
+
*/
|
|
112
|
+
static reset(): void;
|
|
113
|
+
/**
|
|
114
|
+
* Notify all listeners of location change
|
|
115
|
+
*/
|
|
116
|
+
private static notifyListeners;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=LocationContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationContext.d.ts","sourceRoot":"","sources":["../../../../../src/background/location/LocationContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,WAAW,EAAE,WAAW,KACrB,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC;AAEvC;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA4B;IAClD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA0C;IAElE;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAQ9C;;;;OAIG;IACH,MAAM,CAAC,UAAU,IAAI,WAAW,GAAG,IAAI;IAIvC;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,aAAa;IAKxE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CACjB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,WAAW,GAAG,IAAmB,GAC1C,OAAO;IAiEV;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAKpB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;CAY/B"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LocationContext - Core SDK location tracking
|
|
3
|
+
*
|
|
4
|
+
* This is the foundation of location-aware tools. It tracks where the user
|
|
5
|
+
* currently is in the application (page, route, components, etc.) and allows
|
|
6
|
+
* tools to declare which locations they're available in.
|
|
7
|
+
*
|
|
8
|
+
* ALL consumers (MCP, CopilotKit, Tests, etc.) use this to filter tools.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* LocationContext - Global singleton for application location tracking
|
|
12
|
+
*
|
|
13
|
+
* This is SDK core functionality. All location-aware features use this.
|
|
14
|
+
*/
|
|
15
|
+
export class LocationContext {
|
|
16
|
+
/**
|
|
17
|
+
* Set the current application location
|
|
18
|
+
*
|
|
19
|
+
* Apps should call this on route changes:
|
|
20
|
+
*
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // In Next.js app
|
|
23
|
+
* useEffect(() => {
|
|
24
|
+
* LocationContext.setCurrent({
|
|
25
|
+
* page: router.pathname,
|
|
26
|
+
* route: router.route,
|
|
27
|
+
* components: ['blog-header', 'blog-content']
|
|
28
|
+
* });
|
|
29
|
+
* }, [router.pathname]);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
static setCurrent(location) {
|
|
33
|
+
const old = this.current;
|
|
34
|
+
this.current = location;
|
|
35
|
+
// Notify all listeners
|
|
36
|
+
this.notifyListeners(old, location);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get the current application location
|
|
40
|
+
*
|
|
41
|
+
* Returns null if no location has been set yet.
|
|
42
|
+
*/
|
|
43
|
+
static getCurrent() {
|
|
44
|
+
return this.current;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Subscribe to location changes
|
|
48
|
+
*
|
|
49
|
+
* Returns an unsubscribe function.
|
|
50
|
+
*
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const unsub = LocationContext.onLocationChange((old, newLoc) => {
|
|
53
|
+
* console.log('Moved from', old, 'to', newLoc);
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* // Later: cleanup
|
|
57
|
+
* unsub();
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
static onLocationChange(listener) {
|
|
61
|
+
this.listeners.add(listener);
|
|
62
|
+
return () => this.listeners.delete(listener);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if a location scope matches the current location
|
|
66
|
+
*
|
|
67
|
+
* @param scope - Location scope to check
|
|
68
|
+
* @param location - Location to check against (defaults to current)
|
|
69
|
+
* @returns true if scope matches location
|
|
70
|
+
*
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const scope = { pages: ['/blog', '/posts'] };
|
|
73
|
+
* const matches = LocationContext.matchesScope(scope);
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
static matchesScope(scope, location = this.current) {
|
|
77
|
+
// Global tools always match
|
|
78
|
+
if (scope.global) {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
// If scope has no constraints, treat as global
|
|
82
|
+
const hasConstraints = scope.pages || scope.routes || scope.components ||
|
|
83
|
+
scope.elements || scope.custom;
|
|
84
|
+
if (!hasConstraints) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
// No location set yet - only global/unconstrained tools match
|
|
88
|
+
if (!location) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
// Check pages
|
|
92
|
+
if (scope.pages && scope.pages.length > 0) {
|
|
93
|
+
if (!scope.pages.includes(location.page)) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Check routes
|
|
98
|
+
if (scope.routes && scope.routes.length > 0) {
|
|
99
|
+
if (!location.route || !scope.routes.includes(location.route)) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Check components (all required components must be present)
|
|
104
|
+
if (scope.components && scope.components.length > 0) {
|
|
105
|
+
if (!location.components) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
for (const required of scope.components) {
|
|
109
|
+
if (!location.components.includes(required)) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Check elements (all required elements must be present)
|
|
115
|
+
if (scope.elements && scope.elements.length > 0) {
|
|
116
|
+
if (!location.elements) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
for (const required of scope.elements) {
|
|
120
|
+
if (!location.elements.includes(required)) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Custom matcher
|
|
126
|
+
if (scope.custom) {
|
|
127
|
+
return scope.custom(location);
|
|
128
|
+
}
|
|
129
|
+
// If no constraints specified, tool is available everywhere
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Reset location context (useful for tests)
|
|
134
|
+
*/
|
|
135
|
+
static reset() {
|
|
136
|
+
this.current = null;
|
|
137
|
+
this.listeners.clear();
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Notify all listeners of location change
|
|
141
|
+
*/
|
|
142
|
+
static notifyListeners(old, newLocation) {
|
|
143
|
+
this.listeners.forEach(listener => {
|
|
144
|
+
try {
|
|
145
|
+
listener(old, newLocation);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
console.error('[LocationContext] Listener error:', error);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
LocationContext.current = null;
|
|
154
|
+
LocationContext.listeners = new Set();
|
|
155
|
+
//# sourceMappingURL=LocationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationContext.js","sourceRoot":"","sources":["../../../../../src/background/location/LocationContext.ts"],"names":[],"mappings":"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"}
|