@affectively/aeon-flux 1.1.1 → 1.1.3

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +64 -48
  2. package/README.md +47 -0
  3. package/package.json +5 -1
package/CHANGELOG.md CHANGED
@@ -5,71 +5,87 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [0.3.0] - 2025-02-07
8
+ ## [1.1.3] - 2026-02-07
9
9
 
10
10
  ### Added
11
11
 
12
- #### Runtime Package (`@aeon-pages/runtime`)
12
+ - `/esi` export path for ESI hooks (`useESITier`, `useESIEmotionState`, etc.)
13
13
 
14
- - **Offline Queue System**
15
- - `offline/types.ts` - Type definitions for offline operations, queue config, sync, conflicts, network state
16
- - `offline/encryption.ts` - AES-256-GCM encryption using Web Crypto API with UCAN or session-based key derivation
17
- - `offline/encrypted-queue.ts` - Priority queuing (high/normal/low) with 50MB capacity, automatic compaction, retry logic
14
+ ## [1.1.2] - 2026-02-07
18
15
 
19
- - **Sync Coordination**
20
- - `sync/coordinator.ts` - Network state tracking, bandwidth profiling, adaptive batch sizing
21
- - `sync/conflict-resolver.ts` - Conflict detection with resolution strategies (local-wins, remote-wins, merge, last-modified, manual)
16
+ ### Documentation
22
17
 
23
- - **Push Notifications**
24
- - `service-worker-push.ts` - Push notification handler with background sync support
25
- - Integrated push handlers into main service worker
18
+ - Added ESI Global State injection pattern to README
19
+ - Documented tier-based hooks (`useESITier`, `useESIEmotionState`, `useESIFeature`, `useGlobalESIState`)
20
+ - Added `/esi` export path documentation
26
21
 
27
- - **Durable Object Sync Endpoints**
28
- - `POST /sync-queue` - Receive offline queue batch
29
- - `GET /queue-status` - Return pending operations and conflicts
30
- - `POST /resolve-conflict` - Manual conflict resolution
22
+ ## [1.1.1] - 2026-02-07
31
23
 
32
- - **Extended Configuration Types**
33
- - `PushOptions` - Push notification configuration
34
- - `InstallOptions` - PWA install prompt configuration
35
- - Enhanced `OfflineOptions` with encryption, sync, and storage sub-configs
24
+ ### Fixed
36
25
 
37
- #### React Package (`@aeon-pages/react`)
26
+ - CLI binary path corrected to `packages/cli/dist/index.js`
38
27
 
39
- - **Hooks**
40
- - `useNetworkState` - Network state and bandwidth monitoring
41
- - `useConflicts` - Conflict management with resolution methods
28
+ ## [1.1.0] - 2026-02-07
42
29
 
43
- - **Components**
44
- - `InstallPrompt` - PWA install prompt with iOS detection (+ `useInstallPrompt` hook)
45
- - `PushNotifications` - Push subscription management (+ `usePushNotifications` hook)
46
- - `OfflineDiagnostics` - Composable diagnostic panels for network, service worker, cache, queue, and conflicts
30
+ ### Added
47
31
 
48
- ### Tests
32
+ - **Edge Side Inference (ESI)** - AI inference at render time
33
+ - `<ESI.Infer>` - Basic inference with caching
34
+ - `<ESI.Structured>` - Zod schema validation for structured output
35
+ - `<ESI.If>` - Conditional rendering based on AI decisions
36
+ - `<ESI.Collaborative>` - Presence-aware inference
37
+ - `<ESI.Optimize>` - Self-improving content generation
38
+ - **Tier-based feature gating** - Control features by user tier (free/starter/pro/enterprise)
39
+ - **Global state injection** - `window.__AEON_ESI_STATE__` for zero-CLS personalization
49
40
 
50
- - Added comprehensive test suites for all new modules:
51
- - `offline/encryption.test.ts` - 20 tests
52
- - `offline/encrypted-queue.test.ts` - 35 tests
53
- - `sync/conflict-resolver.test.ts` - 38 tests
54
- - `sync/coordinator.test.ts` - 33 tests
41
+ ## [1.0.0] - 2026-02-01
55
42
 
56
- ## [0.2.0] - 2025-01-15
43
+ ### Core Features
57
44
 
58
- ### Added
45
+ - **Zero-Dependency Rendering** - Single HTML with inline CSS, assets, fonts
46
+ - **Hyperpersonalized Routing** - Routes adapt based on user context
47
+ - **~20KB WASM Runtime** - Rust-compiled WebAssembly for performance
48
+ - **Multi-layer Caching** - KV (1ms) -> D1 (5ms) -> Session (50ms)
49
+ - **Speculative Pre-rendering** - Zero-latency navigation via prediction
50
+ - **Real-time Collaboration** - CRDT-based conflict-free editing
51
+ - **GitHub PR Publishing** - Visual edits compile to TSX and create PRs
52
+
53
+ ### Runtime
59
54
 
60
- - Initial release of core framework
61
- - Page session management with Durable Objects
62
- - Real-time collaboration via WebSocket
63
- - CRDT-based conflict resolution
55
+ - Durable Objects for session management
56
+ - WebSocket-based real-time sync
64
57
  - Service worker with total preload strategy
65
- - React integration with hooks and components
66
- - CLI for project scaffolding and builds
67
- - Build system with pre-rendering support
58
+ - Speculation Rules API support
68
59
 
69
- ## [0.1.0] - 2025-01-01
60
+ ### React Integration
70
61
 
71
- ### Added
62
+ - `useAeonPage()` - Full page context with presence and sync
63
+ - `usePresence()` - Collaborative cursors and editing state
64
+ - `useAeonData<T>()` - Typed collaborative data store
65
+ - `useCollaborativeInput()` - Ready-to-use collaborative inputs
66
+ - `useOfflineStatus()` - Network awareness
67
+
68
+ ### CLI
69
+
70
+ - `aeon init` - Project scaffolding
71
+ - `aeon dev` - Development server with hot reload
72
+ - `aeon build` - Production build for Cloudflare Workers
73
+ - `aeon start` - Production server
74
+
75
+ ### Offline Support
76
+
77
+ - Encrypted offline queue with AES-256-GCM
78
+ - Priority-based sync (high/normal/low)
79
+ - Conflict resolution strategies (local-wins, remote-wins, merge, manual)
80
+ - Push notifications with background sync
81
+
82
+ ### Performance
72
83
 
73
- - Project initialization
74
- - Basic architecture design
75
- - Proof of concept implementation
84
+ | Metric | Value |
85
+ |--------|-------|
86
+ | Requests per page | 1 |
87
+ | Bundle size | ~110KB |
88
+ | TTFB | 50ms |
89
+ | First Paint | <100ms |
90
+ | TTI | <300ms |
91
+ | CLS | 0 |
package/README.md CHANGED
@@ -346,6 +346,49 @@ export default function Page() {
346
346
  | `useOfflineStatus()` | Offline awareness |
347
347
  | `useESI()` | ESI context |
348
348
  | `useESIInfer()` | Programmatic inference |
349
+ | `useESITier()` | User tier for feature gating |
350
+ | `useESIEmotionState()` | Current emotional context |
351
+ | `useESIFeature(name)` | Check feature availability |
352
+ | `useGlobalESIState()` | Full ESI state object |
353
+
354
+ ## ESI Global State Injection
355
+
356
+ For zero-CLS tier-aware rendering, inject ESI state in the `<head>`:
357
+
358
+ ```html
359
+ <script>
360
+ window.__AEON_ESI_STATE__ = {
361
+ userTier: 'pro', // free | starter | pro | enterprise
362
+ emotionState: {
363
+ primary: 'focused',
364
+ valence: 0.3,
365
+ arousal: 0.6
366
+ },
367
+ preferences: {
368
+ theme: 'dark',
369
+ reducedMotion: false
370
+ },
371
+ sessionId: 'abc123',
372
+ localHour: 14,
373
+ timezone: 'America/New_York'
374
+ };
375
+ </script>
376
+ ```
377
+
378
+ Then use in components:
379
+
380
+ ```tsx
381
+ import { useESITier } from '@affectively/aeon-flux/esi';
382
+
383
+ function PremiumFeature() {
384
+ const tier = useESITier();
385
+
386
+ if (tier === 'free') {
387
+ return <UpgradePrompt />;
388
+ }
389
+
390
+ return <AdvancedAnalytics />;
391
+ }
349
392
 
350
393
  ## Configuration
351
394
 
@@ -390,6 +433,10 @@ export default {
390
433
 
391
434
  | Package | Description |
392
435
  |---------|-------------|
436
+ | `@affectively/aeon-flux` | Main package (npm) |
437
+ | `@affectively/aeon-flux/esi` | ESI hooks for tier gating |
438
+ | `@affectively/aeon-flux/react` | React bindings |
439
+ | `@affectively/aeon-flux/server` | Server utilities |
393
440
  | `@affectively/aeon-pages-runtime` | Runtime (npm) |
394
441
  | `@affectively/aeon-pages-runtime/router` | Personalized routing + ESI |
395
442
  | `@affectively/aeon-pages-runtime/server` | Server utilities |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@affectively/aeon-flux",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "The CMS IS the website. Collaborative page framework with CRDT-based flux state and zero-CLS skeleton rendering.",
5
5
  "type": "module",
6
6
  "workspaces": [
@@ -16,6 +16,10 @@
16
16
  "import": "./packages/runtime/dist/index.js",
17
17
  "types": "./packages/runtime/dist/index.d.ts"
18
18
  },
19
+ "./esi": {
20
+ "import": "./packages/runtime/dist/router/index.js",
21
+ "types": "./packages/runtime/dist/router/index.d.ts"
22
+ },
19
23
  "./server": {
20
24
  "import": "./packages/runtime/dist/server.js",
21
25
  "types": "./packages/runtime/dist/server.d.ts"