create-fluxstack 1.15.0 → 1.17.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 (142) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/LLMD/INDEX.md +4 -3
  3. package/LLMD/resources/live-binary-delta.md +507 -0
  4. package/LLMD/resources/live-components.md +1 -0
  5. package/LLMD/resources/live-rooms.md +731 -333
  6. package/app/client/src/App.tsx +23 -14
  7. package/app/client/src/components/AppLayout.tsx +4 -4
  8. package/app/client/src/live/AuthDemo.tsx +4 -4
  9. package/app/client/src/live/PingPongDemo.tsx +199 -0
  10. package/app/client/src/live/RoomChatDemo.tsx +187 -22
  11. package/app/client/src/live/SharedCounterDemo.tsx +142 -0
  12. package/app/server/live/LivePingPong.ts +61 -0
  13. package/app/server/live/LiveRoomChat.ts +106 -38
  14. package/app/server/live/LiveSharedCounter.ts +73 -0
  15. package/app/server/live/rooms/ChatRoom.ts +68 -0
  16. package/app/server/live/rooms/CounterRoom.ts +51 -0
  17. package/app/server/live/rooms/DirectoryRoom.ts +42 -0
  18. package/app/server/live/rooms/PingRoom.ts +40 -0
  19. package/core/build/bundler.ts +40 -26
  20. package/core/build/flux-plugins-generator.ts +325 -325
  21. package/core/build/index.ts +92 -21
  22. package/core/cli/command-registry.ts +44 -46
  23. package/core/cli/commands/build.ts +11 -6
  24. package/core/cli/commands/create.ts +7 -5
  25. package/core/cli/commands/dev.ts +6 -5
  26. package/core/cli/commands/help.ts +3 -2
  27. package/core/cli/commands/make-plugin.ts +8 -7
  28. package/core/cli/commands/plugin-add.ts +60 -43
  29. package/core/cli/commands/plugin-deps.ts +73 -57
  30. package/core/cli/commands/plugin-list.ts +44 -41
  31. package/core/cli/commands/plugin-remove.ts +33 -22
  32. package/core/cli/generators/component.ts +770 -769
  33. package/core/cli/generators/controller.ts +9 -8
  34. package/core/cli/generators/index.ts +148 -146
  35. package/core/cli/generators/interactive.ts +228 -227
  36. package/core/cli/generators/plugin.ts +11 -10
  37. package/core/cli/generators/prompts.ts +83 -82
  38. package/core/cli/generators/route.ts +7 -6
  39. package/core/cli/generators/service.ts +10 -9
  40. package/core/cli/generators/template-engine.ts +2 -1
  41. package/core/cli/generators/types.ts +7 -7
  42. package/core/cli/generators/utils.ts +191 -191
  43. package/core/cli/index.ts +9 -8
  44. package/core/cli/plugin-discovery.ts +2 -2
  45. package/core/client/hooks/useAuth.ts +48 -48
  46. package/core/client/index.ts +0 -16
  47. package/core/client/standalone.ts +18 -17
  48. package/core/client/state/createStore.ts +192 -192
  49. package/core/client/state/index.ts +14 -14
  50. package/core/config/index.ts +1 -0
  51. package/core/framework/client.ts +131 -131
  52. package/core/framework/index.ts +7 -7
  53. package/core/framework/server.ts +72 -112
  54. package/core/framework/types.ts +2 -2
  55. package/core/plugins/built-in/live-components/commands/create-live-component.ts +6 -3
  56. package/core/plugins/built-in/monitoring/index.ts +110 -68
  57. package/core/plugins/built-in/static/index.ts +2 -2
  58. package/core/plugins/built-in/swagger/index.ts +9 -9
  59. package/core/plugins/built-in/vite/index.ts +3 -3
  60. package/core/plugins/built-in/vite/vite-dev.ts +3 -3
  61. package/core/plugins/config.ts +50 -47
  62. package/core/plugins/discovery.ts +10 -4
  63. package/core/plugins/executor.ts +2 -2
  64. package/core/plugins/index.ts +206 -203
  65. package/core/plugins/manager.ts +21 -20
  66. package/core/plugins/registry.ts +76 -12
  67. package/core/plugins/types.ts +14 -14
  68. package/core/server/framework.ts +3 -189
  69. package/core/server/live/auto-generated-components.ts +11 -35
  70. package/core/server/live/index.ts +41 -36
  71. package/core/server/live/websocket-plugin.ts +48 -3
  72. package/core/server/middleware/elysia-helpers.ts +16 -15
  73. package/core/server/middleware/errorHandling.ts +14 -14
  74. package/core/server/middleware/index.ts +31 -31
  75. package/core/server/plugins/database.ts +181 -180
  76. package/core/server/plugins/static-files-plugin.ts +4 -3
  77. package/core/server/plugins/swagger.ts +11 -8
  78. package/core/server/rooms/RoomBroadcaster.ts +11 -10
  79. package/core/server/rooms/RoomSystem.ts +14 -11
  80. package/core/server/services/BaseService.ts +7 -7
  81. package/core/server/services/ServiceContainer.ts +5 -5
  82. package/core/server/services/index.ts +8 -8
  83. package/core/templates/create-project.ts +28 -27
  84. package/core/testing/index.ts +9 -9
  85. package/core/testing/setup.ts +73 -73
  86. package/core/types/api.ts +168 -168
  87. package/core/types/config.ts +5 -5
  88. package/core/types/index.ts +1 -1
  89. package/core/types/plugin.ts +2 -2
  90. package/core/types/types.ts +3 -3
  91. package/core/utils/build-logger.ts +324 -324
  92. package/core/utils/config-schema.ts +480 -480
  93. package/core/utils/env.ts +10 -8
  94. package/core/utils/errors/codes.ts +114 -114
  95. package/core/utils/errors/handlers.ts +30 -20
  96. package/core/utils/errors/index.ts +54 -46
  97. package/core/utils/errors/middleware.ts +113 -113
  98. package/core/utils/helpers.ts +19 -16
  99. package/core/utils/logger/colors.ts +114 -114
  100. package/core/utils/logger/config.ts +2 -2
  101. package/core/utils/logger/formatter.ts +82 -82
  102. package/core/utils/logger/group-logger.ts +101 -101
  103. package/core/utils/logger/index.ts +13 -3
  104. package/core/utils/logger/startup-banner.ts +2 -2
  105. package/core/utils/logger/winston-logger.ts +152 -152
  106. package/core/utils/monitoring/index.ts +211 -211
  107. package/core/utils/sync-version.ts +67 -66
  108. package/core/utils/version.ts +1 -1
  109. package/package.json +11 -6
  110. package/playwright-report/index.html +85 -0
  111. package/playwright.config.ts +31 -0
  112. package/plugins/crypto-auth/client/CryptoAuthClient.ts +302 -302
  113. package/plugins/crypto-auth/client/components/index.ts +11 -11
  114. package/plugins/crypto-auth/client/index.ts +11 -11
  115. package/plugins/crypto-auth/package.json +65 -65
  116. package/plugins/crypto-auth/server/CryptoAuthService.ts +185 -185
  117. package/plugins/crypto-auth/server/middlewares/cryptoAuthAdmin.ts +6 -5
  118. package/plugins/crypto-auth/server/middlewares/cryptoAuthPermissions.ts +6 -5
  119. package/plugins/crypto-auth/server/middlewares/cryptoAuthRequired.ts +3 -3
  120. package/plugins/crypto-auth/server/middlewares/index.ts +22 -22
  121. package/plugins/crypto-auth/server/middlewares.ts +19 -19
  122. package/tsconfig.json +4 -1
  123. package/vite.config.ts +13 -0
  124. package/app/client/.live-stubs/LiveAdminPanel.js +0 -5
  125. package/app/client/.live-stubs/LiveChat.js +0 -7
  126. package/app/client/.live-stubs/LiveCounter.js +0 -9
  127. package/app/client/.live-stubs/LiveForm.js +0 -11
  128. package/app/client/.live-stubs/LiveLocalCounter.js +0 -8
  129. package/app/client/.live-stubs/LiveRoomChat.js +0 -10
  130. package/app/client/.live-stubs/LiveTodoList.js +0 -9
  131. package/app/client/.live-stubs/LiveUpload.js +0 -15
  132. package/app/client/src/live/ChatDemo.tsx +0 -107
  133. package/app/client/src/live/LiveDebuggerPanel.tsx +0 -779
  134. package/app/client/src/live/TodoListDemo.tsx +0 -158
  135. package/app/server/live/LiveChat.ts +0 -78
  136. package/app/server/live/LiveTodoList.ts +0 -110
  137. package/app/server/live/register-components.ts +0 -19
  138. package/core/build/live-components-generator.ts +0 -312
  139. package/core/client/components/LiveDebugger.tsx +0 -1324
  140. package/core/live/ComponentRegistry.ts +0 -403
  141. package/core/live/types.ts +0 -241
  142. package/workspace.json +0 -6
package/core/types/api.ts CHANGED
@@ -1,169 +1,169 @@
1
- /**
2
- * API and HTTP-related types
3
- * Type definitions for API endpoints, requests, responses, and HTTP utilities
4
- */
5
-
6
- export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS' | 'HEAD'
7
-
8
- export interface ApiEndpoint {
9
- method: HttpMethod
10
- path: string
11
- handler: Function
12
- schema?: ApiSchema
13
- middleware?: Function[]
14
- description?: string
15
- tags?: string[]
16
- deprecated?: boolean
17
- version?: string
18
- }
19
-
20
- export interface ApiSchema {
21
- params?: any
22
- query?: any
23
- body?: any
24
- response?: any
25
- headers?: any
26
- }
27
-
28
- export interface ApiResponse<T = any> {
29
- data?: T
30
- error?: ApiError
31
- meta?: ApiMeta
32
- }
33
-
34
- export interface ApiError {
35
- code: string
36
- message: string
37
- details?: any
38
- statusCode: number
39
- timestamp: string
40
- }
41
-
42
- export interface ApiMeta {
43
- pagination?: PaginationMeta
44
- timing?: TimingMeta
45
- version?: string
46
- }
47
-
48
- export interface PaginationMeta {
49
- page: number
50
- limit: number
51
- total: number
52
- totalPages: number
53
- hasNext: boolean
54
- hasPrev: boolean
55
- }
56
-
57
- export interface TimingMeta {
58
- requestId: string
59
- duration: number
60
- timestamp: string
61
- }
62
-
63
- export interface RequestContext {
64
- id: string
65
- method: HttpMethod
66
- path: string
67
- url: string
68
- headers: Record<string, string>
69
- query: Record<string, any>
70
- params: Record<string, any>
71
- body?: any
72
- user?: any
73
- startTime: number
74
- }
75
-
76
- export interface ResponseContext extends RequestContext {
77
- statusCode: number
78
- headers: Record<string, string>
79
- body?: any
80
- duration: number
81
- size: number
82
- }
83
-
84
- export interface MiddlewareContext {
85
- request: RequestContext
86
- response?: ResponseContext
87
- next: () => Promise<void>
88
- state: Record<string, any>
89
- }
90
-
91
- export interface RouteHandler {
92
- (context: RequestContext): Promise<any> | any
93
- }
94
-
95
- export interface MiddlewareHandler {
96
- (context: MiddlewareContext): Promise<void> | void
97
- }
98
-
99
- export interface ApiDocumentation {
100
- title: string
101
- version: string
102
- description?: string
103
- servers: ApiServer[]
104
- paths: Record<string, ApiPath>
105
- components?: ApiComponents
106
- }
107
-
108
- export interface ApiServer {
109
- url: string
110
- description?: string
111
- variables?: Record<string, ApiServerVariable>
112
- }
113
-
114
- export interface ApiServerVariable {
115
- default: string
116
- description?: string
117
- enum?: string[]
118
- }
119
-
120
- export interface ApiPath {
121
- [method: string]: ApiOperation
122
- }
123
-
124
- export interface ApiOperation {
125
- summary?: string
126
- description?: string
127
- operationId?: string
128
- tags?: string[]
129
- parameters?: ApiParameter[]
130
- requestBody?: ApiRequestBody
131
- responses: Record<string, ApiResponse>
132
- deprecated?: boolean
133
- }
134
-
135
- export interface ApiParameter {
136
- name: string
137
- in: 'query' | 'header' | 'path' | 'cookie'
138
- description?: string
139
- required?: boolean
140
- schema: any
141
- }
142
-
143
- export interface ApiRequestBody {
144
- description?: string
145
- content: Record<string, ApiMediaType>
146
- required?: boolean
147
- }
148
-
149
- export interface ApiMediaType {
150
- schema: any
151
- example?: any
152
- examples?: Record<string, ApiExample>
153
- }
154
-
155
- export interface ApiExample {
156
- summary?: string
157
- description?: string
158
- value: any
159
- }
160
-
161
- export interface ApiComponents {
162
- schemas?: Record<string, any>
163
- responses?: Record<string, ApiResponse>
164
- parameters?: Record<string, ApiParameter>
165
- examples?: Record<string, ApiExample>
166
- requestBodies?: Record<string, ApiRequestBody>
167
- headers?: Record<string, any>
168
- securitySchemes?: Record<string, any>
1
+ /**
2
+ * API and HTTP-related types
3
+ * Type definitions for API endpoints, requests, responses, and HTTP utilities
4
+ */
5
+
6
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS' | 'HEAD'
7
+
8
+ export interface ApiEndpoint {
9
+ method: HttpMethod
10
+ path: string
11
+ handler: Function
12
+ schema?: ApiSchema
13
+ middleware?: Function[]
14
+ description?: string
15
+ tags?: string[]
16
+ deprecated?: boolean
17
+ version?: string
18
+ }
19
+
20
+ export interface ApiSchema {
21
+ params?: unknown
22
+ query?: unknown
23
+ body?: unknown
24
+ response?: unknown
25
+ headers?: unknown
26
+ }
27
+
28
+ export interface ApiResponse<T = unknown> {
29
+ data?: T
30
+ error?: ApiError
31
+ meta?: ApiMeta
32
+ }
33
+
34
+ export interface ApiError {
35
+ code: string
36
+ message: string
37
+ details?: unknown
38
+ statusCode: number
39
+ timestamp: string
40
+ }
41
+
42
+ export interface ApiMeta {
43
+ pagination?: PaginationMeta
44
+ timing?: TimingMeta
45
+ version?: string
46
+ }
47
+
48
+ export interface PaginationMeta {
49
+ page: number
50
+ limit: number
51
+ total: number
52
+ totalPages: number
53
+ hasNext: boolean
54
+ hasPrev: boolean
55
+ }
56
+
57
+ export interface TimingMeta {
58
+ requestId: string
59
+ duration: number
60
+ timestamp: string
61
+ }
62
+
63
+ export interface RequestContext {
64
+ id: string
65
+ method: HttpMethod
66
+ path: string
67
+ url: string
68
+ headers: Record<string, string>
69
+ query: Record<string, string>
70
+ params: Record<string, string>
71
+ body?: unknown
72
+ user?: unknown
73
+ startTime: number
74
+ }
75
+
76
+ export interface ResponseContext extends RequestContext {
77
+ statusCode: number
78
+ headers: Record<string, string>
79
+ body?: unknown
80
+ duration: number
81
+ size: number
82
+ }
83
+
84
+ export interface MiddlewareContext {
85
+ request: RequestContext
86
+ response?: ResponseContext
87
+ next: () => Promise<void>
88
+ state: Record<string, unknown>
89
+ }
90
+
91
+ export interface RouteHandler {
92
+ (context: RequestContext): Promise<unknown> | unknown
93
+ }
94
+
95
+ export interface MiddlewareHandler {
96
+ (context: MiddlewareContext): Promise<void> | void
97
+ }
98
+
99
+ export interface ApiDocumentation {
100
+ title: string
101
+ version: string
102
+ description?: string
103
+ servers: ApiServer[]
104
+ paths: Record<string, ApiPath>
105
+ components?: ApiComponents
106
+ }
107
+
108
+ export interface ApiServer {
109
+ url: string
110
+ description?: string
111
+ variables?: Record<string, ApiServerVariable>
112
+ }
113
+
114
+ export interface ApiServerVariable {
115
+ default: string
116
+ description?: string
117
+ enum?: string[]
118
+ }
119
+
120
+ export interface ApiPath {
121
+ [method: string]: ApiOperation
122
+ }
123
+
124
+ export interface ApiOperation {
125
+ summary?: string
126
+ description?: string
127
+ operationId?: string
128
+ tags?: string[]
129
+ parameters?: ApiParameter[]
130
+ requestBody?: ApiRequestBody
131
+ responses: Record<string, ApiResponse>
132
+ deprecated?: boolean
133
+ }
134
+
135
+ export interface ApiParameter {
136
+ name: string
137
+ in: 'query' | 'header' | 'path' | 'cookie'
138
+ description?: string
139
+ required?: boolean
140
+ schema: unknown
141
+ }
142
+
143
+ export interface ApiRequestBody {
144
+ description?: string
145
+ content: Record<string, ApiMediaType>
146
+ required?: boolean
147
+ }
148
+
149
+ export interface ApiMediaType {
150
+ schema: unknown
151
+ example?: unknown
152
+ examples?: Record<string, ApiExample>
153
+ }
154
+
155
+ export interface ApiExample {
156
+ summary?: string
157
+ description?: string
158
+ value: unknown
159
+ }
160
+
161
+ export interface ApiComponents {
162
+ schemas?: Record<string, Record<string, unknown>>
163
+ responses?: Record<string, ApiResponse>
164
+ parameters?: Record<string, ApiParameter>
165
+ examples?: Record<string, ApiExample>
166
+ requestBodies?: Record<string, ApiRequestBody>
167
+ headers?: Record<string, Record<string, unknown>>
168
+ securitySchemes?: Record<string, Record<string, unknown>>
169
169
  }
@@ -46,7 +46,7 @@ export interface ConfigLoadOptions {
46
46
  strict?: boolean
47
47
  }
48
48
 
49
- export interface ConfigLoadResult<T = any> {
49
+ export interface ConfigLoadResult<T = unknown> {
50
50
  config: T
51
51
  errors: ValidationError[]
52
52
  warnings: ValidationWarning[]
@@ -61,19 +61,19 @@ export interface ValidationResult {
61
61
  export interface ValidationError {
62
62
  path: string
63
63
  message: string
64
- value?: any
64
+ value?: unknown
65
65
  }
66
66
 
67
67
  export interface ValidationWarning {
68
68
  path: string
69
69
  message: string
70
- value?: any
70
+ value?: unknown
71
71
  }
72
72
 
73
73
  // Additional configuration utility types
74
74
  export interface ConfigOverride {
75
75
  path: string
76
- value: any
76
+ value: unknown
77
77
  source: 'env' | 'file' | 'runtime'
78
78
  }
79
79
 
@@ -94,5 +94,5 @@ export interface ConfigSource {
94
94
  type: 'file' | 'env' | 'default' | 'override'
95
95
  path?: string
96
96
  priority: number
97
- data: any
97
+ data: unknown
98
98
  }
@@ -119,7 +119,7 @@ export interface LegacyFluxStackConfig {
119
119
  }
120
120
 
121
121
  export interface FluxStackContext {
122
- config: any // Use any to avoid circular dependency
122
+ config: unknown // Use unknown to avoid circular dependency
123
123
  isDevelopment: boolean
124
124
  isProduction: boolean
125
125
  isTest: boolean
@@ -42,7 +42,7 @@ export interface PluginManifest {
42
42
  fluxstack: {
43
43
  version: string
44
44
  hooks: string[]
45
- config?: any
45
+ config?: Record<string, unknown>
46
46
  }
47
47
  }
48
48
 
@@ -88,7 +88,7 @@ export type PluginPriority = 'highest' | 'high' | 'normal' | 'low' | 'lowest' |
88
88
 
89
89
  export interface PluginConfigSchema {
90
90
  type: 'object'
91
- properties: Record<string, any>
91
+ properties: Record<string, unknown>
92
92
  required?: string[]
93
93
  additionalProperties?: boolean
94
94
  }
@@ -83,7 +83,7 @@ export type ActionReturnType<T, K extends keyof T> =
83
83
  // Deprecated types (backward compat)
84
84
  /** @deprecated Use FluxStackWSData instead */
85
85
  export interface WebSocketData {
86
- components: Map<string, any>
86
+ components: Map<string, unknown>
87
87
  userId?: string
88
88
  subscriptions: Set<string>
89
89
  }
@@ -99,8 +99,8 @@ export interface StateValidation {
99
99
  /** @deprecated Not used in current protocol */
100
100
  export interface StateConflict {
101
101
  property: string
102
- clientValue: any
103
- serverValue: any
102
+ clientValue: unknown
103
+ serverValue: unknown
104
104
  timestamp: number
105
105
  resolved: boolean
106
106
  }