create-fluxstack 1.14.0 → 1.16.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 (76) hide show
  1. package/LLMD/INDEX.md +4 -3
  2. package/LLMD/resources/live-binary-delta.md +507 -0
  3. package/LLMD/resources/live-components.md +208 -12
  4. package/LLMD/resources/live-rooms.md +731 -333
  5. package/app/client/.live-stubs/LiveAdminPanel.js +5 -0
  6. package/app/client/.live-stubs/LiveCounter.js +9 -0
  7. package/app/client/.live-stubs/LiveForm.js +11 -0
  8. package/app/client/.live-stubs/LiveLocalCounter.js +8 -0
  9. package/app/client/.live-stubs/LivePingPong.js +10 -0
  10. package/app/client/.live-stubs/LiveRoomChat.js +11 -0
  11. package/app/client/.live-stubs/LiveSharedCounter.js +10 -0
  12. package/app/client/.live-stubs/LiveUpload.js +15 -0
  13. package/app/client/src/App.tsx +19 -7
  14. package/app/client/src/components/AppLayout.tsx +18 -10
  15. package/app/client/src/live/PingPongDemo.tsx +199 -0
  16. package/app/client/src/live/RoomChatDemo.tsx +187 -22
  17. package/app/client/src/live/SharedCounterDemo.tsx +142 -0
  18. package/app/server/auth/DevAuthProvider.ts +2 -2
  19. package/app/server/auth/JWTAuthProvider.example.ts +2 -2
  20. package/app/server/index.ts +2 -2
  21. package/app/server/live/LiveAdminPanel.ts +1 -1
  22. package/app/server/live/LivePingPong.ts +61 -0
  23. package/app/server/live/LiveProtectedChat.ts +1 -1
  24. package/app/server/live/LiveRoomChat.ts +106 -38
  25. package/app/server/live/LiveSharedCounter.ts +73 -0
  26. package/app/server/live/rooms/ChatRoom.ts +68 -0
  27. package/app/server/live/rooms/CounterRoom.ts +51 -0
  28. package/app/server/live/rooms/DirectoryRoom.ts +42 -0
  29. package/app/server/live/rooms/PingRoom.ts +40 -0
  30. package/app/server/routes/room.routes.ts +1 -2
  31. package/core/build/live-components-generator.ts +11 -2
  32. package/core/build/vite-plugins.ts +28 -0
  33. package/core/client/hooks/useLiveUpload.ts +3 -4
  34. package/core/client/index.ts +25 -35
  35. package/core/framework/server.ts +1 -1
  36. package/core/server/index.ts +1 -2
  37. package/core/server/live/auto-generated-components.ts +5 -8
  38. package/core/server/live/index.ts +90 -21
  39. package/core/server/live/websocket-plugin.ts +54 -1079
  40. package/core/types/types.ts +76 -1025
  41. package/core/utils/version.ts +1 -1
  42. package/create-fluxstack.ts +1 -1
  43. package/package.json +100 -95
  44. package/plugins/crypto-auth/index.ts +1 -1
  45. package/plugins/crypto-auth/server/CryptoAuthLiveProvider.ts +2 -2
  46. package/tsconfig.json +4 -1
  47. package/vite.config.ts +40 -12
  48. package/app/client/src/live/ChatDemo.tsx +0 -107
  49. package/app/client/src/live/LiveDebuggerPanel.tsx +0 -779
  50. package/app/server/live/LiveChat.ts +0 -78
  51. package/core/client/LiveComponentsProvider.tsx +0 -531
  52. package/core/client/components/Live.tsx +0 -111
  53. package/core/client/components/LiveDebugger.tsx +0 -1324
  54. package/core/client/hooks/AdaptiveChunkSizer.ts +0 -215
  55. package/core/client/hooks/state-validator.ts +0 -130
  56. package/core/client/hooks/useChunkedUpload.ts +0 -359
  57. package/core/client/hooks/useLiveChunkedUpload.ts +0 -87
  58. package/core/client/hooks/useLiveComponent.ts +0 -853
  59. package/core/client/hooks/useLiveDebugger.ts +0 -392
  60. package/core/client/hooks/useRoom.ts +0 -409
  61. package/core/client/hooks/useRoomProxy.ts +0 -382
  62. package/core/server/live/ComponentRegistry.ts +0 -1128
  63. package/core/server/live/FileUploadManager.ts +0 -446
  64. package/core/server/live/LiveComponentPerformanceMonitor.ts +0 -931
  65. package/core/server/live/LiveDebugger.ts +0 -462
  66. package/core/server/live/LiveLogger.ts +0 -144
  67. package/core/server/live/LiveRoomManager.ts +0 -278
  68. package/core/server/live/RoomEventBus.ts +0 -234
  69. package/core/server/live/RoomStateManager.ts +0 -172
  70. package/core/server/live/SingleConnectionManager.ts +0 -0
  71. package/core/server/live/StateSignature.ts +0 -705
  72. package/core/server/live/WebSocketConnectionManager.ts +0 -710
  73. package/core/server/live/auth/LiveAuthContext.ts +0 -71
  74. package/core/server/live/auth/LiveAuthManager.ts +0 -304
  75. package/core/server/live/auth/index.ts +0 -19
  76. package/core/server/live/auth/types.ts +0 -179
@@ -1,31 +1,29 @@
1
1
  // 🔥 Auto-generated Live Components Registration
2
2
  // This file is automatically generated during build time - DO NOT EDIT MANUALLY
3
- // Generated at: 2026-02-21T20:03:53.569Z
3
+ // Generated at: 2026-03-01T19:00:29.650Z
4
4
 
5
5
  import { LiveAdminPanel } from "@app/server/live/LiveAdminPanel"
6
- import { LiveChat } from "@app/server/live/LiveChat"
7
6
  import { LiveCounter } from "@app/server/live/LiveCounter"
8
7
  import { LiveForm } from "@app/server/live/LiveForm"
9
8
  import { LiveLocalCounter } from "@app/server/live/LiveLocalCounter"
10
9
  import { LiveProtectedChat } from "@app/server/live/LiveProtectedChat"
11
10
  import { LiveRoomChat } from "@app/server/live/LiveRoomChat"
12
11
  import { LiveUpload } from "@app/server/live/LiveUpload"
13
- import { componentRegistry } from "@core/server/live/ComponentRegistry"
12
+ import { componentRegistry } from "@core/server/live"
14
13
 
15
14
  // Register all components statically for production bundle
16
15
  function registerAllComponents() {
17
16
  try {
18
17
  // Auto-generated component registrations
19
18
  componentRegistry.registerComponentClass('LiveAdminPanel', LiveAdminPanel)
20
- componentRegistry.registerComponentClass('LiveChat', LiveChat)
21
19
  componentRegistry.registerComponentClass('LiveCounter', LiveCounter)
22
20
  componentRegistry.registerComponentClass('LiveForm', LiveForm)
23
21
  componentRegistry.registerComponentClass('LiveLocalCounter', LiveLocalCounter)
24
22
  componentRegistry.registerComponentClass('LiveProtectedChat', LiveProtectedChat)
25
23
  componentRegistry.registerComponentClass('LiveRoomChat', LiveRoomChat)
26
24
  componentRegistry.registerComponentClass('LiveUpload', LiveUpload)
27
-
28
- console.log('📝 Live components registered successfully! (8 components)')
25
+
26
+ console.log('📝 Live components registered successfully! (7 components)')
29
27
  } catch (error) {
30
28
  console.warn('⚠️ Error registering components:', error)
31
29
  }
@@ -35,9 +33,8 @@ function registerAllComponents() {
35
33
  registerAllComponents()
36
34
 
37
35
  // Export all components to ensure they're included in the bundle
38
- export {
36
+ export {
39
37
  LiveAdminPanel,
40
- LiveChat,
41
38
  LiveCounter,
42
39
  LiveForm,
43
40
  LiveLocalCounter,
@@ -1,23 +1,26 @@
1
- // 🔥 FluxStack Live - Server Exports
2
-
3
- export { roomState, createTypedRoomState } from './RoomStateManager'
4
- export type { RoomStateData, RoomInfo } from './RoomStateManager'
5
-
6
- export { roomEvents, createTypedRoomEventBus } from './RoomEventBus'
7
- export type { EventHandler, RoomSubscription } from './RoomEventBus'
8
-
9
- export { componentRegistry } from './ComponentRegistry'
10
- export { liveComponentsPlugin } from './websocket-plugin'
11
- export { connectionManager } from './WebSocketConnectionManager'
12
- export { fileUploadManager } from './FileUploadManager'
13
- export { stateSignature } from './StateSignature'
14
- export { performanceMonitor } from './LiveComponentPerformanceMonitor'
15
- export { liveLog, liveWarn, registerComponentLogging, unregisterComponentLogging } from './LiveLogger'
16
- export type { LiveLogCategory, LiveLogConfig } from './LiveLogger'
17
-
18
- // 🔒 Auth system
19
- export { liveAuthManager, LiveAuthManager } from './auth/LiveAuthManager'
20
- export { AuthenticatedContext, AnonymousContext, ANONYMOUS_CONTEXT } from './auth/LiveAuthContext'
1
+ // FluxStack Live - Server Exports
2
+ // Re-exports from @fluxstack/live + backward-compatible singleton accessors
3
+
4
+ export { liveComponentsPlugin, liveServer } from './websocket-plugin'
5
+
6
+ // Re-export classes and types from @fluxstack/live
7
+ export { RoomStateManager, createTypedRoomState } from '@fluxstack/live'
8
+ export type { RoomStateData, RoomInfo } from '@fluxstack/live'
9
+
10
+ export { RoomEventBus, createTypedRoomEventBus } from '@fluxstack/live'
11
+ export type { EventHandler, RoomSubscription } from '@fluxstack/live'
12
+
13
+ export { ComponentRegistry } from '@fluxstack/live'
14
+ export { WebSocketConnectionManager } from '@fluxstack/live'
15
+ export { FileUploadManager } from '@fluxstack/live'
16
+ export { StateSignatureManager } from '@fluxstack/live'
17
+ export { PerformanceMonitor } from '@fluxstack/live'
18
+ export { liveLog, liveWarn, registerComponentLogging, unregisterComponentLogging } from '@fluxstack/live'
19
+ export type { LiveLogCategory, LiveLogConfig } from '@fluxstack/live'
20
+
21
+ // Auth system
22
+ export { LiveAuthManager } from '@fluxstack/live'
23
+ export { AuthenticatedContext, AnonymousContext, ANONYMOUS_CONTEXT } from '@fluxstack/live'
21
24
  export type {
22
25
  LiveAuthProvider,
23
26
  LiveAuthCredentials,
@@ -27,4 +30,70 @@ export type {
27
30
  LiveActionAuth,
28
31
  LiveActionAuthMap,
29
32
  LiveAuthResult,
30
- } from './auth/types'
33
+ } from '@fluxstack/live'
34
+
35
+ // Backward-compatible singleton accessors
36
+ // These lazily access the LiveServer instance created by the plugin
37
+ import { liveServer, pendingAuthProviders } from './websocket-plugin'
38
+ import type { LiveAuthProvider as _LiveAuthProvider } from '@fluxstack/live'
39
+
40
+ /**
41
+ * Backward-compatible liveAuthManager.
42
+ * Buffers register() calls that happen before the plugin setup(),
43
+ * then delegates to liveServer.authManager once available.
44
+ * @deprecated Access via liveServer.authManager instead
45
+ */
46
+ export const liveAuthManager = {
47
+ register(provider: _LiveAuthProvider) {
48
+ if (liveServer) {
49
+ liveServer.useAuth(provider)
50
+ } else {
51
+ pendingAuthProviders.push(provider)
52
+ }
53
+ },
54
+ get authenticate() { return liveServer!.authManager.authenticate.bind(liveServer!.authManager) },
55
+ get hasProviders() { return liveServer!.authManager.hasProviders.bind(liveServer!.authManager) },
56
+ get authorizeRoom() { return liveServer!.authManager.authorizeRoom.bind(liveServer!.authManager) },
57
+ get authorizeAction() { return liveServer!.authManager.authorizeAction.bind(liveServer!.authManager) },
58
+ get authorizeComponent() { return liveServer!.authManager.authorizeComponent.bind(liveServer!.authManager) },
59
+ } as any
60
+
61
+ /** @deprecated Access via liveServer.registry instead */
62
+ export const componentRegistry = new Proxy({} as any, {
63
+ get(_, prop) { return (liveServer!.registry as any)[prop] }
64
+ })
65
+
66
+ /** @deprecated Access via liveServer.connectionManager instead */
67
+ export const connectionManager = new Proxy({} as any, {
68
+ get(_, prop) { return (liveServer!.connectionManager as any)[prop] }
69
+ })
70
+
71
+ /** @deprecated Access via liveServer.roomManager instead */
72
+ export const liveRoomManager = new Proxy({} as any, {
73
+ get(_, prop) { return (liveServer!.roomManager as any)[prop] }
74
+ })
75
+
76
+ /** @deprecated Access via liveServer.roomEvents instead */
77
+ export const roomEvents = new Proxy({} as any, {
78
+ get(_, prop) { return (liveServer!.roomEvents as any)[prop] }
79
+ })
80
+
81
+ /** @deprecated Access via liveServer.fileUploadManager instead */
82
+ export const fileUploadManager = new Proxy({} as any, {
83
+ get(_, prop) { return (liveServer!.fileUploadManager as any)[prop] }
84
+ })
85
+
86
+ /** @deprecated Access via liveServer.performanceMonitor instead */
87
+ export const performanceMonitor = new Proxy({} as any, {
88
+ get(_, prop) { return (liveServer!.performanceMonitor as any)[prop] }
89
+ })
90
+
91
+ /** @deprecated Access via liveServer.stateSignature instead */
92
+ export const stateSignature = new Proxy({} as any, {
93
+ get(_, prop) { return (liveServer!.stateSignature as any)[prop] }
94
+ })
95
+
96
+ // Room state backward compat
97
+ export const roomState = new Proxy({} as any, {
98
+ get(_, prop) { return (liveServer!.roomManager as any)[prop] }
99
+ })