@affectively/aeon-pages 1.3.0
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/CHANGELOG.md +112 -0
- package/README.md +625 -0
- package/examples/basic/aeon.config.ts +39 -0
- package/examples/basic/components/Cursor.tsx +86 -0
- package/examples/basic/components/OfflineIndicator.tsx +103 -0
- package/examples/basic/components/PresenceBar.tsx +77 -0
- package/examples/basic/package.json +20 -0
- package/examples/basic/pages/index.tsx +80 -0
- package/package.json +101 -0
- package/packages/analytics/README.md +309 -0
- package/packages/analytics/build.ts +35 -0
- package/packages/analytics/package.json +50 -0
- package/packages/analytics/src/click-tracker.ts +368 -0
- package/packages/analytics/src/context-bridge.ts +319 -0
- package/packages/analytics/src/data-layer.ts +302 -0
- package/packages/analytics/src/gtm-loader.ts +239 -0
- package/packages/analytics/src/index.ts +230 -0
- package/packages/analytics/src/merkle-tree.ts +489 -0
- package/packages/analytics/src/provider.tsx +300 -0
- package/packages/analytics/src/types.ts +320 -0
- package/packages/analytics/src/use-analytics.ts +296 -0
- package/packages/analytics/tsconfig.json +19 -0
- package/packages/benchmarks/src/benchmark.test.ts +691 -0
- package/packages/cli/dist/index.js +61899 -0
- package/packages/cli/package.json +43 -0
- package/packages/cli/src/commands/build.test.ts +682 -0
- package/packages/cli/src/commands/build.ts +890 -0
- package/packages/cli/src/commands/dev.ts +473 -0
- package/packages/cli/src/commands/init.ts +409 -0
- package/packages/cli/src/commands/start.ts +297 -0
- package/packages/cli/src/index.ts +105 -0
- package/packages/directives/src/use-aeon.ts +272 -0
- package/packages/mcp-server/package.json +51 -0
- package/packages/mcp-server/src/index.ts +178 -0
- package/packages/mcp-server/src/resources.ts +346 -0
- package/packages/mcp-server/src/tools/index.ts +36 -0
- package/packages/mcp-server/src/tools/navigation.ts +545 -0
- package/packages/mcp-server/tsconfig.json +21 -0
- package/packages/react/package.json +40 -0
- package/packages/react/src/Link.tsx +388 -0
- package/packages/react/src/components/InstallPrompt.tsx +286 -0
- package/packages/react/src/components/OfflineDiagnostics.tsx +677 -0
- package/packages/react/src/components/PushNotifications.tsx +453 -0
- package/packages/react/src/hooks/useAeonNavigation.ts +219 -0
- package/packages/react/src/hooks/useConflicts.ts +277 -0
- package/packages/react/src/hooks/useNetworkState.ts +209 -0
- package/packages/react/src/hooks/usePilotNavigation.ts +254 -0
- package/packages/react/src/hooks/useServiceWorker.ts +278 -0
- package/packages/react/src/hooks.ts +195 -0
- package/packages/react/src/index.ts +151 -0
- package/packages/react/src/provider.tsx +467 -0
- package/packages/react/tsconfig.json +19 -0
- package/packages/runtime/README.md +399 -0
- package/packages/runtime/build.ts +48 -0
- package/packages/runtime/package.json +71 -0
- package/packages/runtime/schema.sql +40 -0
- package/packages/runtime/src/api-routes.ts +465 -0
- package/packages/runtime/src/benchmark.ts +171 -0
- package/packages/runtime/src/cache.ts +479 -0
- package/packages/runtime/src/durable-object.ts +1341 -0
- package/packages/runtime/src/index.ts +360 -0
- package/packages/runtime/src/navigation.test.ts +421 -0
- package/packages/runtime/src/navigation.ts +422 -0
- package/packages/runtime/src/nextjs-adapter.ts +272 -0
- package/packages/runtime/src/offline/encrypted-queue.test.ts +607 -0
- package/packages/runtime/src/offline/encrypted-queue.ts +478 -0
- package/packages/runtime/src/offline/encryption.test.ts +412 -0
- package/packages/runtime/src/offline/encryption.ts +397 -0
- package/packages/runtime/src/offline/types.ts +465 -0
- package/packages/runtime/src/predictor.ts +371 -0
- package/packages/runtime/src/registry.ts +351 -0
- package/packages/runtime/src/router/context-extractor.ts +661 -0
- package/packages/runtime/src/router/esi-control-react.tsx +2053 -0
- package/packages/runtime/src/router/esi-control.ts +541 -0
- package/packages/runtime/src/router/esi-cyrano.ts +779 -0
- package/packages/runtime/src/router/esi-format-react.tsx +1744 -0
- package/packages/runtime/src/router/esi-react.tsx +1065 -0
- package/packages/runtime/src/router/esi-translate-observer.ts +476 -0
- package/packages/runtime/src/router/esi-translate-react.tsx +556 -0
- package/packages/runtime/src/router/esi-translate.ts +503 -0
- package/packages/runtime/src/router/esi.ts +666 -0
- package/packages/runtime/src/router/heuristic-adapter.test.ts +295 -0
- package/packages/runtime/src/router/heuristic-adapter.ts +557 -0
- package/packages/runtime/src/router/index.ts +298 -0
- package/packages/runtime/src/router/merkle-capability.ts +473 -0
- package/packages/runtime/src/router/speculation.ts +451 -0
- package/packages/runtime/src/router/types.ts +630 -0
- package/packages/runtime/src/router.test.ts +470 -0
- package/packages/runtime/src/router.ts +302 -0
- package/packages/runtime/src/server.ts +481 -0
- package/packages/runtime/src/service-worker-push.ts +319 -0
- package/packages/runtime/src/service-worker.ts +553 -0
- package/packages/runtime/src/skeleton-hydrate.ts +237 -0
- package/packages/runtime/src/speculation.test.ts +389 -0
- package/packages/runtime/src/speculation.ts +486 -0
- package/packages/runtime/src/storage.test.ts +1297 -0
- package/packages/runtime/src/storage.ts +1048 -0
- package/packages/runtime/src/sync/conflict-resolver.test.ts +528 -0
- package/packages/runtime/src/sync/conflict-resolver.ts +565 -0
- package/packages/runtime/src/sync/coordinator.test.ts +608 -0
- package/packages/runtime/src/sync/coordinator.ts +596 -0
- package/packages/runtime/src/tree-compiler.ts +295 -0
- package/packages/runtime/src/types.ts +728 -0
- package/packages/runtime/src/worker.ts +327 -0
- package/packages/runtime/tsconfig.json +20 -0
- package/packages/runtime/wasm/aeon_pages_runtime.d.ts +504 -0
- package/packages/runtime/wasm/aeon_pages_runtime.js +1657 -0
- package/packages/runtime/wasm/aeon_pages_runtime_bg.wasm +0 -0
- package/packages/runtime/wasm/aeon_pages_runtime_bg.wasm.d.ts +196 -0
- package/packages/runtime/wasm/package.json +21 -0
- package/packages/runtime/wrangler.toml +41 -0
- package/packages/runtime-wasm/Cargo.lock +436 -0
- package/packages/runtime-wasm/Cargo.toml +29 -0
- package/packages/runtime-wasm/pkg/aeon_pages_runtime.d.ts +480 -0
- package/packages/runtime-wasm/pkg/aeon_pages_runtime.js +1568 -0
- package/packages/runtime-wasm/pkg/aeon_pages_runtime_bg.wasm +0 -0
- package/packages/runtime-wasm/pkg/aeon_pages_runtime_bg.wasm.d.ts +192 -0
- package/packages/runtime-wasm/pkg/package.json +21 -0
- package/packages/runtime-wasm/src/hydrate.rs +352 -0
- package/packages/runtime-wasm/src/lib.rs +191 -0
- package/packages/runtime-wasm/src/render.rs +629 -0
- package/packages/runtime-wasm/src/router.rs +298 -0
- package/packages/runtime-wasm/src/skeleton.rs +430 -0
- package/rfcs/RFC-001-ZERO-DEPENDENCY-RENDERING.md +1446 -0
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aeon Flux MCP Resources
|
|
3
|
+
*
|
|
4
|
+
* Resources that provide context to the LLM:
|
|
5
|
+
* - sitemap: Full site structure for navigation context
|
|
6
|
+
* - session: Current user session data
|
|
7
|
+
* - consciousness: Site consciousness state from Cyrano
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { Resource, TextContent } from '@modelcontextprotocol/sdk/types.js';
|
|
11
|
+
import { getNavigationState } from './tools/navigation';
|
|
12
|
+
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Resource Definitions
|
|
15
|
+
// ============================================================================
|
|
16
|
+
|
|
17
|
+
export const sitemapResource: Resource = {
|
|
18
|
+
uri: 'aeon://sitemap',
|
|
19
|
+
name: 'Sitemap',
|
|
20
|
+
description:
|
|
21
|
+
'Full site structure with all available routes and their metadata',
|
|
22
|
+
mimeType: 'application/json',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const sessionResource: Resource = {
|
|
26
|
+
uri: 'aeon://session',
|
|
27
|
+
name: 'Current Session',
|
|
28
|
+
description:
|
|
29
|
+
'Current user session data including navigation history, emotional state, and preferences',
|
|
30
|
+
mimeType: 'application/json',
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const consciousnessResource: Resource = {
|
|
34
|
+
uri: 'aeon://consciousness',
|
|
35
|
+
name: 'Site Consciousness',
|
|
36
|
+
description:
|
|
37
|
+
'Current site consciousness state - awareness level, triggers, and Cyrano state',
|
|
38
|
+
mimeType: 'application/json',
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// ============================================================================
|
|
42
|
+
// State Interfaces (would be connected to real state in production)
|
|
43
|
+
// ============================================================================
|
|
44
|
+
|
|
45
|
+
interface SessionState {
|
|
46
|
+
userId?: string;
|
|
47
|
+
tier: 'free' | 'starter' | 'pro' | 'enterprise';
|
|
48
|
+
startedAt: number;
|
|
49
|
+
emotionalState?: {
|
|
50
|
+
primary: string;
|
|
51
|
+
valence: number;
|
|
52
|
+
arousal: number;
|
|
53
|
+
};
|
|
54
|
+
preferences: Record<string, unknown>;
|
|
55
|
+
recentTools: string[];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
interface ConsciousnessState {
|
|
59
|
+
awarenessLevel:
|
|
60
|
+
| 'dormant'
|
|
61
|
+
| 'observing'
|
|
62
|
+
| 'attentive'
|
|
63
|
+
| 'engaged'
|
|
64
|
+
| 'intervening';
|
|
65
|
+
triggerCount: number;
|
|
66
|
+
pendingWhispers: number;
|
|
67
|
+
orbState: 'idle' | 'listening' | 'thinking' | 'speaking';
|
|
68
|
+
captionsEnabled: boolean;
|
|
69
|
+
voiceEnabled: boolean;
|
|
70
|
+
lastInteraction?: number;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Mock state (would be connected to real services in production)
|
|
74
|
+
let sessionState: SessionState = {
|
|
75
|
+
tier: 'free',
|
|
76
|
+
startedAt: Date.now(),
|
|
77
|
+
preferences: {},
|
|
78
|
+
recentTools: [],
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
let consciousnessState: ConsciousnessState = {
|
|
82
|
+
awarenessLevel: 'observing',
|
|
83
|
+
triggerCount: 0,
|
|
84
|
+
pendingWhispers: 0,
|
|
85
|
+
orbState: 'idle',
|
|
86
|
+
captionsEnabled: true,
|
|
87
|
+
voiceEnabled: false,
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// ============================================================================
|
|
91
|
+
// Resource Handlers
|
|
92
|
+
// ============================================================================
|
|
93
|
+
|
|
94
|
+
export async function handleReadSitemap(): Promise<{
|
|
95
|
+
contents: Array<{ uri: string; mimeType: string; text: string }>;
|
|
96
|
+
}> {
|
|
97
|
+
// Full sitemap with rich metadata
|
|
98
|
+
const sitemap = {
|
|
99
|
+
version: '1.0',
|
|
100
|
+
lastUpdated: new Date().toISOString(),
|
|
101
|
+
routes: [
|
|
102
|
+
// Core
|
|
103
|
+
{
|
|
104
|
+
route: '/',
|
|
105
|
+
title: 'Home',
|
|
106
|
+
description:
|
|
107
|
+
'Welcome to AFFECTIVELY - your emotional wellness companion',
|
|
108
|
+
category: 'core',
|
|
109
|
+
tier: 'free',
|
|
110
|
+
keywords: ['home', 'start', 'welcome'],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
route: '/dashboard',
|
|
114
|
+
title: 'Dashboard',
|
|
115
|
+
description: 'Your personal emotional wellness dashboard',
|
|
116
|
+
category: 'core',
|
|
117
|
+
tier: 'free',
|
|
118
|
+
keywords: ['dashboard', 'overview', 'summary'],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
route: '/insights',
|
|
122
|
+
title: 'Insights',
|
|
123
|
+
description: 'Emotional patterns and trends analysis',
|
|
124
|
+
category: 'core',
|
|
125
|
+
tier: 'starter',
|
|
126
|
+
keywords: ['insights', 'patterns', 'trends', 'analysis'],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
route: '/chat',
|
|
130
|
+
title: 'Chat with Cyrano',
|
|
131
|
+
description: 'Fullscreen conversation with your AI companion',
|
|
132
|
+
category: 'core',
|
|
133
|
+
tier: 'free',
|
|
134
|
+
keywords: ['chat', 'cyrano', 'talk', 'conversation'],
|
|
135
|
+
},
|
|
136
|
+
|
|
137
|
+
// Breathing Tools
|
|
138
|
+
{
|
|
139
|
+
route: '/breathing',
|
|
140
|
+
title: 'Breathing Exercises',
|
|
141
|
+
description: 'Guided breathing exercises for calm and focus',
|
|
142
|
+
category: 'tools',
|
|
143
|
+
tier: 'free',
|
|
144
|
+
keywords: ['breathing', 'calm', 'relax', 'anxiety'],
|
|
145
|
+
tools: ['4-7-8', 'box', 'coherent', 'energizing'],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
route: '/breathing/4-7-8',
|
|
149
|
+
title: '4-7-8 Breathing',
|
|
150
|
+
description: 'The relaxing breath - inhale 4, hold 7, exhale 8',
|
|
151
|
+
category: 'tools',
|
|
152
|
+
tier: 'free',
|
|
153
|
+
keywords: ['breathing', 'calm', 'sleep', 'anxiety', 'relaxing'],
|
|
154
|
+
duration: '5-10 minutes',
|
|
155
|
+
bestFor: ['stress', 'anxiety', 'sleep'],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
route: '/breathing/box',
|
|
159
|
+
title: 'Box Breathing',
|
|
160
|
+
description: 'Square breathing for focus and calm - 4-4-4-4',
|
|
161
|
+
category: 'tools',
|
|
162
|
+
tier: 'free',
|
|
163
|
+
keywords: ['breathing', 'focus', 'calm', 'navy', 'seals'],
|
|
164
|
+
duration: '5 minutes',
|
|
165
|
+
bestFor: ['focus', 'stress', 'centering'],
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
route: '/breathing/coherent',
|
|
169
|
+
title: 'Coherent Breathing',
|
|
170
|
+
description: 'Heart-brain coherence at 5 breaths per minute',
|
|
171
|
+
category: 'tools',
|
|
172
|
+
tier: 'free',
|
|
173
|
+
keywords: ['breathing', 'hrv', 'coherence', 'heart'],
|
|
174
|
+
duration: '10 minutes',
|
|
175
|
+
bestFor: ['hrv', 'heart', 'balance'],
|
|
176
|
+
},
|
|
177
|
+
|
|
178
|
+
// Grounding Tools
|
|
179
|
+
{
|
|
180
|
+
route: '/grounding',
|
|
181
|
+
title: 'Grounding Exercises',
|
|
182
|
+
description: 'Techniques to ground yourself in the present',
|
|
183
|
+
category: 'tools',
|
|
184
|
+
tier: 'free',
|
|
185
|
+
keywords: ['grounding', 'present', 'mindfulness', 'overwhelm'],
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
route: '/grounding/5-4-3-2-1',
|
|
189
|
+
title: '5-4-3-2-1 Grounding',
|
|
190
|
+
description: 'Sensory grounding - 5 things you see, 4 you hear...',
|
|
191
|
+
category: 'tools',
|
|
192
|
+
tier: 'free',
|
|
193
|
+
keywords: ['grounding', 'senses', 'anxiety', 'panic'],
|
|
194
|
+
duration: '5 minutes',
|
|
195
|
+
bestFor: ['anxiety', 'panic', 'dissociation'],
|
|
196
|
+
},
|
|
197
|
+
|
|
198
|
+
// Journaling
|
|
199
|
+
{
|
|
200
|
+
route: '/journaling',
|
|
201
|
+
title: 'Journaling',
|
|
202
|
+
description: 'Reflective writing for emotional processing',
|
|
203
|
+
category: 'tools',
|
|
204
|
+
tier: 'starter',
|
|
205
|
+
keywords: ['journaling', 'writing', 'reflection', 'processing'],
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
route: '/journaling/freeform',
|
|
209
|
+
title: 'Freeform Journaling',
|
|
210
|
+
description: 'Open space to write freely',
|
|
211
|
+
category: 'tools',
|
|
212
|
+
tier: 'starter',
|
|
213
|
+
keywords: ['journaling', 'freeform', 'stream'],
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
route: '/journaling/gratitude',
|
|
217
|
+
title: 'Gratitude Journal',
|
|
218
|
+
description: 'Daily gratitude practice',
|
|
219
|
+
category: 'tools',
|
|
220
|
+
tier: 'free',
|
|
221
|
+
keywords: ['gratitude', 'positive', 'appreciation'],
|
|
222
|
+
bestFor: ['positivity', 'wellbeing', 'perspective'],
|
|
223
|
+
},
|
|
224
|
+
|
|
225
|
+
// Learning
|
|
226
|
+
{
|
|
227
|
+
route: '/learning',
|
|
228
|
+
title: 'Learning Center',
|
|
229
|
+
description: 'Educational content about emotions and wellness',
|
|
230
|
+
category: 'learning',
|
|
231
|
+
tier: 'free',
|
|
232
|
+
keywords: ['learning', 'education', 'emotions'],
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
route: '/learning/emotions',
|
|
236
|
+
title: 'Understanding Emotions',
|
|
237
|
+
description: 'Learn about different emotions and how to work with them',
|
|
238
|
+
category: 'learning',
|
|
239
|
+
tier: 'free',
|
|
240
|
+
keywords: ['emotions', 'feelings', 'understanding'],
|
|
241
|
+
},
|
|
242
|
+
|
|
243
|
+
// Settings & Account
|
|
244
|
+
{
|
|
245
|
+
route: '/settings',
|
|
246
|
+
title: 'Settings',
|
|
247
|
+
description: 'Customize your experience',
|
|
248
|
+
category: 'settings',
|
|
249
|
+
tier: 'free',
|
|
250
|
+
keywords: ['settings', 'preferences', 'customize'],
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
route: '/account',
|
|
254
|
+
title: 'Account',
|
|
255
|
+
description: 'Manage your account',
|
|
256
|
+
category: 'account',
|
|
257
|
+
tier: 'free',
|
|
258
|
+
keywords: ['account', 'profile', 'subscription'],
|
|
259
|
+
},
|
|
260
|
+
],
|
|
261
|
+
|
|
262
|
+
// Navigation hints for Cyrano
|
|
263
|
+
contextualNavigation: {
|
|
264
|
+
highStress: ['/breathing/4-7-8', '/grounding/5-4-3-2-1'],
|
|
265
|
+
lowEnergy: ['/breathing/energizing', '/dashboard'],
|
|
266
|
+
anxiety: ['/breathing/4-7-8', '/grounding', '/journaling'],
|
|
267
|
+
sleep: ['/breathing/4-7-8', '/breathing/coherent'],
|
|
268
|
+
focus: ['/breathing/box', '/grounding'],
|
|
269
|
+
reflection: ['/journaling', '/insights'],
|
|
270
|
+
learning: ['/learning', '/learning/emotions'],
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
return {
|
|
275
|
+
contents: [
|
|
276
|
+
{
|
|
277
|
+
uri: 'aeon://sitemap',
|
|
278
|
+
mimeType: 'application/json',
|
|
279
|
+
text: JSON.stringify(sitemap, null, 2),
|
|
280
|
+
},
|
|
281
|
+
],
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
export async function handleReadSession(): Promise<{
|
|
286
|
+
contents: Array<{ uri: string; mimeType: string; text: string }>;
|
|
287
|
+
}> {
|
|
288
|
+
const navState = getNavigationState();
|
|
289
|
+
|
|
290
|
+
const fullSession = {
|
|
291
|
+
...sessionState,
|
|
292
|
+
navigation: {
|
|
293
|
+
currentRoute: navState.currentRoute,
|
|
294
|
+
previousRoutes: navState.previousRoutes,
|
|
295
|
+
pendingSuggestions: navState.pendingSuggestions,
|
|
296
|
+
autoAcceptEnabled: navState.autoAcceptEnabled,
|
|
297
|
+
},
|
|
298
|
+
timestamp: Date.now(),
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
return {
|
|
302
|
+
contents: [
|
|
303
|
+
{
|
|
304
|
+
uri: 'aeon://session',
|
|
305
|
+
mimeType: 'application/json',
|
|
306
|
+
text: JSON.stringify(fullSession, null, 2),
|
|
307
|
+
},
|
|
308
|
+
],
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export async function handleReadConsciousness(): Promise<{
|
|
313
|
+
contents: Array<{ uri: string; mimeType: string; text: string }>;
|
|
314
|
+
}> {
|
|
315
|
+
return {
|
|
316
|
+
contents: [
|
|
317
|
+
{
|
|
318
|
+
uri: 'aeon://consciousness',
|
|
319
|
+
mimeType: 'application/json',
|
|
320
|
+
text: JSON.stringify(consciousnessState, null, 2),
|
|
321
|
+
},
|
|
322
|
+
],
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
// ============================================================================
|
|
327
|
+
// State Management
|
|
328
|
+
// ============================================================================
|
|
329
|
+
|
|
330
|
+
export function setSessionState(state: Partial<SessionState>): void {
|
|
331
|
+
sessionState = { ...sessionState, ...state };
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
export function setConsciousnessState(
|
|
335
|
+
state: Partial<ConsciousnessState>,
|
|
336
|
+
): void {
|
|
337
|
+
consciousnessState = { ...consciousnessState, ...state };
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export function getSessionState(): SessionState {
|
|
341
|
+
return { ...sessionState };
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
export function getConsciousnessState(): ConsciousnessState {
|
|
345
|
+
return { ...consciousnessState };
|
|
346
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aeon Flux MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* All available MCP tools for site navigation and tool invocation.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
// Tool Definitions
|
|
9
|
+
navigateTool,
|
|
10
|
+
suggestRouteTool,
|
|
11
|
+
getCurrentRouteTool,
|
|
12
|
+
getSitemapTool,
|
|
13
|
+
speculateTool,
|
|
14
|
+
personalizeTool,
|
|
15
|
+
invokeToolTool,
|
|
16
|
+
|
|
17
|
+
// Tool Handlers
|
|
18
|
+
handleNavigate,
|
|
19
|
+
handleSuggestRoute,
|
|
20
|
+
handleGetCurrentRoute,
|
|
21
|
+
handleGetSitemap,
|
|
22
|
+
handleSpeculate,
|
|
23
|
+
handlePersonalize,
|
|
24
|
+
handleInvokeTool,
|
|
25
|
+
|
|
26
|
+
// State Management
|
|
27
|
+
setNavigationState,
|
|
28
|
+
getNavigationState,
|
|
29
|
+
enableAutoAccept,
|
|
30
|
+
clearPendingSuggestions,
|
|
31
|
+
acceptSuggestion,
|
|
32
|
+
dismissSuggestion,
|
|
33
|
+
|
|
34
|
+
// Events
|
|
35
|
+
onNavigationEvent,
|
|
36
|
+
} from './navigation';
|