@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
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.2.0] - 2026-02-07
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **ESI Control Components** - Comprehensive control flow for AI-powered rendering:
|
|
13
|
+
- `ESI.Show` / `ESI.Hide` - Simple boolean visibility
|
|
14
|
+
- `ESI.When` / `ESI.Unless` - Conditional rendering shorthands
|
|
15
|
+
- `ESI.TierGate` - Gate content by user tier
|
|
16
|
+
- `ESI.EmotionGate` - Gate content by emotion state
|
|
17
|
+
- `ESI.TimeGate` - Gate content by time of day
|
|
18
|
+
- `ESI.ABTest` - A/B testing with AI or random selection
|
|
19
|
+
- `ESI.ForEach` - Iterate over AI-generated lists
|
|
20
|
+
- `ESI.Select` - Choose from predefined options
|
|
21
|
+
- `ESI.Clamp` / `ESI.Score` - Numeric inference with constraints
|
|
22
|
+
- `ESI.First` - Render first matching condition
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Default accent color changed from indigo to steel blue (#336699)
|
|
27
|
+
- Package description updated
|
|
28
|
+
|
|
29
|
+
## [1.1.3] - 2026-02-07
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- `/esi` export path for ESI hooks (`useESITier`, `useESIEmotionState`, etc.)
|
|
34
|
+
|
|
35
|
+
## [1.1.2] - 2026-02-07
|
|
36
|
+
|
|
37
|
+
### Documentation
|
|
38
|
+
|
|
39
|
+
- Added ESI Global State injection pattern to README
|
|
40
|
+
- Documented tier-based hooks (`useESITier`, `useESIEmotionState`, `useESIFeature`, `useGlobalESIState`)
|
|
41
|
+
- Added `/esi` export path documentation
|
|
42
|
+
|
|
43
|
+
## [1.1.1] - 2026-02-07
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
|
|
47
|
+
- CLI binary path corrected to `packages/cli/dist/index.js`
|
|
48
|
+
|
|
49
|
+
## [1.1.0] - 2026-02-07
|
|
50
|
+
|
|
51
|
+
### Added
|
|
52
|
+
|
|
53
|
+
- **Edge Side Inference (ESI)** - AI inference at render time
|
|
54
|
+
- `<ESI.Infer>` - Basic inference with caching
|
|
55
|
+
- `<ESI.Structured>` - Zod schema validation for structured output
|
|
56
|
+
- `<ESI.If>` - Conditional rendering based on AI decisions
|
|
57
|
+
- `<ESI.Collaborative>` - Presence-aware inference
|
|
58
|
+
- `<ESI.Optimize>` - Self-improving content generation
|
|
59
|
+
- **Tier-based feature gating** - Control features by user tier (free/starter/pro/enterprise)
|
|
60
|
+
- **Global state injection** - `window.__AEON_ESI_STATE__` for zero-CLS personalization
|
|
61
|
+
|
|
62
|
+
## [1.0.0] - 2026-02-01
|
|
63
|
+
|
|
64
|
+
### Core Features
|
|
65
|
+
|
|
66
|
+
- **Zero-Dependency Rendering** - Single HTML with inline CSS, assets, fonts
|
|
67
|
+
- **Hyperpersonalized Routing** - Routes adapt based on user context
|
|
68
|
+
- **~20KB WASM Runtime** - Rust-compiled WebAssembly for performance
|
|
69
|
+
- **Multi-layer Caching** - KV (1ms) -> D1 (5ms) -> Session (50ms)
|
|
70
|
+
- **Speculative Pre-rendering** - Zero-latency navigation via prediction
|
|
71
|
+
- **Real-time Collaboration** - CRDT-based conflict-free editing
|
|
72
|
+
- **GitHub PR Publishing** - Visual edits compile to TSX and create PRs
|
|
73
|
+
|
|
74
|
+
### Runtime
|
|
75
|
+
|
|
76
|
+
- Durable Objects for session management
|
|
77
|
+
- WebSocket-based real-time sync
|
|
78
|
+
- Service worker with total preload strategy
|
|
79
|
+
- Speculation Rules API support
|
|
80
|
+
|
|
81
|
+
### React Integration
|
|
82
|
+
|
|
83
|
+
- `useAeonPage()` - Full page context with presence and sync
|
|
84
|
+
- `usePresence()` - Collaborative cursors and editing state
|
|
85
|
+
- `useAeonData<T>()` - Typed collaborative data store
|
|
86
|
+
- `useCollaborativeInput()` - Ready-to-use collaborative inputs
|
|
87
|
+
- `useOfflineStatus()` - Network awareness
|
|
88
|
+
|
|
89
|
+
### CLI
|
|
90
|
+
|
|
91
|
+
- `aeon init` - Project scaffolding
|
|
92
|
+
- `aeon dev` - Development server with hot reload
|
|
93
|
+
- `aeon build` - Production build for Cloudflare Workers
|
|
94
|
+
- `aeon start` - Production server
|
|
95
|
+
|
|
96
|
+
### Offline Support
|
|
97
|
+
|
|
98
|
+
- Encrypted offline queue with AES-256-GCM
|
|
99
|
+
- Priority-based sync (high/normal/low)
|
|
100
|
+
- Conflict resolution strategies (local-wins, remote-wins, merge, manual)
|
|
101
|
+
- Push notifications with background sync
|
|
102
|
+
|
|
103
|
+
### Performance
|
|
104
|
+
|
|
105
|
+
| Metric | Value |
|
|
106
|
+
|--------|-------|
|
|
107
|
+
| Requests per page | 1 |
|
|
108
|
+
| Bundle size | ~110KB |
|
|
109
|
+
| TTFB | 50ms |
|
|
110
|
+
| First Paint | <100ms |
|
|
111
|
+
| TTI | <300ms |
|
|
112
|
+
| CLS | 0 |
|