@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.
Files changed (124) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/README.md +625 -0
  3. package/examples/basic/aeon.config.ts +39 -0
  4. package/examples/basic/components/Cursor.tsx +86 -0
  5. package/examples/basic/components/OfflineIndicator.tsx +103 -0
  6. package/examples/basic/components/PresenceBar.tsx +77 -0
  7. package/examples/basic/package.json +20 -0
  8. package/examples/basic/pages/index.tsx +80 -0
  9. package/package.json +101 -0
  10. package/packages/analytics/README.md +309 -0
  11. package/packages/analytics/build.ts +35 -0
  12. package/packages/analytics/package.json +50 -0
  13. package/packages/analytics/src/click-tracker.ts +368 -0
  14. package/packages/analytics/src/context-bridge.ts +319 -0
  15. package/packages/analytics/src/data-layer.ts +302 -0
  16. package/packages/analytics/src/gtm-loader.ts +239 -0
  17. package/packages/analytics/src/index.ts +230 -0
  18. package/packages/analytics/src/merkle-tree.ts +489 -0
  19. package/packages/analytics/src/provider.tsx +300 -0
  20. package/packages/analytics/src/types.ts +320 -0
  21. package/packages/analytics/src/use-analytics.ts +296 -0
  22. package/packages/analytics/tsconfig.json +19 -0
  23. package/packages/benchmarks/src/benchmark.test.ts +691 -0
  24. package/packages/cli/dist/index.js +61899 -0
  25. package/packages/cli/package.json +43 -0
  26. package/packages/cli/src/commands/build.test.ts +682 -0
  27. package/packages/cli/src/commands/build.ts +890 -0
  28. package/packages/cli/src/commands/dev.ts +473 -0
  29. package/packages/cli/src/commands/init.ts +409 -0
  30. package/packages/cli/src/commands/start.ts +297 -0
  31. package/packages/cli/src/index.ts +105 -0
  32. package/packages/directives/src/use-aeon.ts +272 -0
  33. package/packages/mcp-server/package.json +51 -0
  34. package/packages/mcp-server/src/index.ts +178 -0
  35. package/packages/mcp-server/src/resources.ts +346 -0
  36. package/packages/mcp-server/src/tools/index.ts +36 -0
  37. package/packages/mcp-server/src/tools/navigation.ts +545 -0
  38. package/packages/mcp-server/tsconfig.json +21 -0
  39. package/packages/react/package.json +40 -0
  40. package/packages/react/src/Link.tsx +388 -0
  41. package/packages/react/src/components/InstallPrompt.tsx +286 -0
  42. package/packages/react/src/components/OfflineDiagnostics.tsx +677 -0
  43. package/packages/react/src/components/PushNotifications.tsx +453 -0
  44. package/packages/react/src/hooks/useAeonNavigation.ts +219 -0
  45. package/packages/react/src/hooks/useConflicts.ts +277 -0
  46. package/packages/react/src/hooks/useNetworkState.ts +209 -0
  47. package/packages/react/src/hooks/usePilotNavigation.ts +254 -0
  48. package/packages/react/src/hooks/useServiceWorker.ts +278 -0
  49. package/packages/react/src/hooks.ts +195 -0
  50. package/packages/react/src/index.ts +151 -0
  51. package/packages/react/src/provider.tsx +467 -0
  52. package/packages/react/tsconfig.json +19 -0
  53. package/packages/runtime/README.md +399 -0
  54. package/packages/runtime/build.ts +48 -0
  55. package/packages/runtime/package.json +71 -0
  56. package/packages/runtime/schema.sql +40 -0
  57. package/packages/runtime/src/api-routes.ts +465 -0
  58. package/packages/runtime/src/benchmark.ts +171 -0
  59. package/packages/runtime/src/cache.ts +479 -0
  60. package/packages/runtime/src/durable-object.ts +1341 -0
  61. package/packages/runtime/src/index.ts +360 -0
  62. package/packages/runtime/src/navigation.test.ts +421 -0
  63. package/packages/runtime/src/navigation.ts +422 -0
  64. package/packages/runtime/src/nextjs-adapter.ts +272 -0
  65. package/packages/runtime/src/offline/encrypted-queue.test.ts +607 -0
  66. package/packages/runtime/src/offline/encrypted-queue.ts +478 -0
  67. package/packages/runtime/src/offline/encryption.test.ts +412 -0
  68. package/packages/runtime/src/offline/encryption.ts +397 -0
  69. package/packages/runtime/src/offline/types.ts +465 -0
  70. package/packages/runtime/src/predictor.ts +371 -0
  71. package/packages/runtime/src/registry.ts +351 -0
  72. package/packages/runtime/src/router/context-extractor.ts +661 -0
  73. package/packages/runtime/src/router/esi-control-react.tsx +2053 -0
  74. package/packages/runtime/src/router/esi-control.ts +541 -0
  75. package/packages/runtime/src/router/esi-cyrano.ts +779 -0
  76. package/packages/runtime/src/router/esi-format-react.tsx +1744 -0
  77. package/packages/runtime/src/router/esi-react.tsx +1065 -0
  78. package/packages/runtime/src/router/esi-translate-observer.ts +476 -0
  79. package/packages/runtime/src/router/esi-translate-react.tsx +556 -0
  80. package/packages/runtime/src/router/esi-translate.ts +503 -0
  81. package/packages/runtime/src/router/esi.ts +666 -0
  82. package/packages/runtime/src/router/heuristic-adapter.test.ts +295 -0
  83. package/packages/runtime/src/router/heuristic-adapter.ts +557 -0
  84. package/packages/runtime/src/router/index.ts +298 -0
  85. package/packages/runtime/src/router/merkle-capability.ts +473 -0
  86. package/packages/runtime/src/router/speculation.ts +451 -0
  87. package/packages/runtime/src/router/types.ts +630 -0
  88. package/packages/runtime/src/router.test.ts +470 -0
  89. package/packages/runtime/src/router.ts +302 -0
  90. package/packages/runtime/src/server.ts +481 -0
  91. package/packages/runtime/src/service-worker-push.ts +319 -0
  92. package/packages/runtime/src/service-worker.ts +553 -0
  93. package/packages/runtime/src/skeleton-hydrate.ts +237 -0
  94. package/packages/runtime/src/speculation.test.ts +389 -0
  95. package/packages/runtime/src/speculation.ts +486 -0
  96. package/packages/runtime/src/storage.test.ts +1297 -0
  97. package/packages/runtime/src/storage.ts +1048 -0
  98. package/packages/runtime/src/sync/conflict-resolver.test.ts +528 -0
  99. package/packages/runtime/src/sync/conflict-resolver.ts +565 -0
  100. package/packages/runtime/src/sync/coordinator.test.ts +608 -0
  101. package/packages/runtime/src/sync/coordinator.ts +596 -0
  102. package/packages/runtime/src/tree-compiler.ts +295 -0
  103. package/packages/runtime/src/types.ts +728 -0
  104. package/packages/runtime/src/worker.ts +327 -0
  105. package/packages/runtime/tsconfig.json +20 -0
  106. package/packages/runtime/wasm/aeon_pages_runtime.d.ts +504 -0
  107. package/packages/runtime/wasm/aeon_pages_runtime.js +1657 -0
  108. package/packages/runtime/wasm/aeon_pages_runtime_bg.wasm +0 -0
  109. package/packages/runtime/wasm/aeon_pages_runtime_bg.wasm.d.ts +196 -0
  110. package/packages/runtime/wasm/package.json +21 -0
  111. package/packages/runtime/wrangler.toml +41 -0
  112. package/packages/runtime-wasm/Cargo.lock +436 -0
  113. package/packages/runtime-wasm/Cargo.toml +29 -0
  114. package/packages/runtime-wasm/pkg/aeon_pages_runtime.d.ts +480 -0
  115. package/packages/runtime-wasm/pkg/aeon_pages_runtime.js +1568 -0
  116. package/packages/runtime-wasm/pkg/aeon_pages_runtime_bg.wasm +0 -0
  117. package/packages/runtime-wasm/pkg/aeon_pages_runtime_bg.wasm.d.ts +192 -0
  118. package/packages/runtime-wasm/pkg/package.json +21 -0
  119. package/packages/runtime-wasm/src/hydrate.rs +352 -0
  120. package/packages/runtime-wasm/src/lib.rs +191 -0
  121. package/packages/runtime-wasm/src/render.rs +629 -0
  122. package/packages/runtime-wasm/src/router.rs +298 -0
  123. package/packages/runtime-wasm/src/skeleton.rs +430 -0
  124. 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 |