Mercurial
comparison mrjunejune/BUILD @ 264:04fee26ecce0
add authenticated JRPG conversation platform
Add reusable auth/session storage, owned conversation recovery, guest quotas, admin workflows, URL-routed conversation UI, mobile frame support, and parallel browser acceptance.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Fri, 07 Aug 2026 07:34:12 -0700 |
| parents | b401627fc49e |
| children | 056790c4fb0d |
comparison
equal
deleted
inserted
replaced
| 263:ee04e4e69fed | 264:04fee26ecce0 |
|---|---|
| 170 srcs = glob(["src/public/fonts/*"]), | 170 srcs = glob(["src/public/fonts/*"]), |
| 171 visibility = ["//visibility:public"], | 171 visibility = ["//visibility:public"], |
| 172 ) | 172 ) |
| 173 | 173 |
| 174 filegroup( | 174 filegroup( |
| 175 name = "html_src_files", | |
| 176 srcs = glob(["src/**/*.html"]), | |
| 177 visibility = ["//mrjunejune/test:__pkg__"], | |
| 178 ) | |
| 179 | |
| 180 filegroup( | |
| 175 name = "src_files", | 181 name = "src_files", |
| 176 srcs = glob( | 182 srcs = glob( |
| 177 ["src/**"], | 183 ["src/**"], |
| 178 exclude = ["src/**/*.png"], | 184 exclude = ["src/**/*.png"], |
| 179 ) + [":react_pages", ":shared_js_non_public", ":shared_js_file", ":rich_editor_js", ":design_system_components", ":design_system_styles", ":icons", ":generated_public_webp", ":hlsjs_runtime"], | 185 ) + [":react_pages", ":shared_js_non_public", ":shared_js_file", ":rich_editor_js", ":design_system_components", ":design_system_styles", ":icons", ":generated_public_webp", ":hlsjs_runtime"], |
| 188 | 194 |
| 189 js_library( | 195 js_library( |
| 190 name = "hls_player_js", | 196 name = "hls_player_js", |
| 191 srcs = ["src/tools/hls_player/hls-player.js"], | 197 srcs = ["src/tools/hls_player/hls-player.js"], |
| 192 visibility = ["//mrjunejune/test:__pkg__"], | 198 visibility = ["//mrjunejune/test:__pkg__"], |
| 199 ) | |
| 200 | |
| 201 cc_library( | |
| 202 name = "template_renderer", | |
| 203 srcs = ["template_renderer.c"], | |
| 204 hdrs = ["template_renderer.h"], | |
| 205 deps = [ | |
| 206 "//dowa:dowa", | |
| 207 "//seobeo:seobeo", | |
| 208 ], | |
| 209 visibility = [ | |
| 210 "//mrjunejune:__pkg__", | |
| 211 "//mrjunejune/test:__pkg__", | |
| 212 ], | |
| 193 ) | 213 ) |
| 194 | 214 |
| 195 cc_library( | 215 cc_library( |
| 196 name = "latex_renderer", | 216 name = "latex_renderer", |
| 197 srcs = ["latex_renderer.c"], | 217 srcs = ["latex_renderer.c"], |
| 220 cc_library( | 240 cc_library( |
| 221 name = "conversation_api", | 241 name = "conversation_api", |
| 222 srcs = ["conversation_api.c"], | 242 srcs = ["conversation_api.c"], |
| 223 hdrs = ["conversation_api.h"], | 243 hdrs = ["conversation_api.h"], |
| 224 deps = [ | 244 deps = [ |
| 245 ":auth_api", | |
| 225 ":conversation_store", | 246 ":conversation_store", |
| 226 ":inference_bridge", | 247 ":inference_bridge", |
| 227 "//dowa:dowa", | 248 "//auth:auth_store", |
| 228 "//seobeo:seobeo", | 249 "//dowa:dowa", |
| 229 ], | 250 "//seobeo:seobeo", |
| 251 ], | |
| 252 linkopts = ["-lpthread"], | |
| 253 ) | |
| 254 | |
| 255 cc_library( | |
| 256 name = "admin_api", | |
| 257 srcs = ["admin_api.c"], | |
| 258 hdrs = ["admin_api.h"], | |
| 259 deps = [ | |
| 260 ":auth_api", | |
| 261 ":template_renderer", | |
| 262 "//auth:auth_crypto", | |
| 263 "//auth:auth_store", | |
| 264 "//dowa:dowa", | |
| 265 "//seobeo:seobeo", | |
| 266 "@openssl//:crypto", | |
| 267 ], | |
| 268 visibility = ["//mrjunejune/test:__pkg__"], | |
| 269 ) | |
| 270 | |
| 271 # Same sources compiled with test-hook symbols exposed. | |
| 272 cc_library( | |
| 273 name = "admin_api_with_test_hooks", | |
| 274 srcs = ["admin_api.c"], | |
| 275 hdrs = ["admin_api.h"], | |
| 276 copts = ["-DADMIN_API_TEST_HOOKS"], | |
| 277 deps = [ | |
| 278 ":auth_api_with_test_hooks", | |
| 279 ":template_renderer", | |
| 280 "//auth:auth_crypto", | |
| 281 "//auth:auth_store", | |
| 282 "//dowa:dowa", | |
| 283 "//seobeo:seobeo", | |
| 284 "@openssl//:crypto", | |
| 285 ], | |
| 286 linkopts = ["-lpthread"], | |
| 287 testonly = True, | |
| 288 visibility = ["//mrjunejune/test:__pkg__"], | |
| 289 ) | |
| 290 | |
| 291 cc_library( | |
| 292 name = "auth_api", | |
| 293 srcs = ["auth_api.c"], | |
| 294 hdrs = ["auth_api.h"], | |
| 295 deps = [ | |
| 296 ":template_renderer", | |
| 297 "//auth:auth_crypto", | |
| 298 "//auth:auth_store", | |
| 299 "//dowa:dowa", | |
| 300 "//seobeo:seobeo", | |
| 301 "@openssl//:crypto", | |
| 302 ], | |
| 303 linkopts = ["-lpthread"], | |
| 304 visibility = ["//mrjunejune/test:__pkg__"], | |
| 305 ) | |
| 306 | |
| 307 # Same sources, compiled with test-hook symbols exposed. | |
| 308 cc_library( | |
| 309 name = "auth_api_with_test_hooks", | |
| 310 srcs = ["auth_api.c"], | |
| 311 hdrs = ["auth_api.h"], | |
| 312 copts = ["-DAUTH_API_TEST_HOOKS"], | |
| 313 deps = [ | |
| 314 ":template_renderer", | |
| 315 "//auth:auth_crypto", | |
| 316 "//auth:auth_store", | |
| 317 "//dowa:dowa", | |
| 318 "//seobeo:seobeo", | |
| 319 "@openssl//:crypto", | |
| 320 ], | |
| 321 linkopts = ["-lpthread"], | |
| 322 testonly = True, | |
| 323 visibility = ["//mrjunejune/test:__pkg__"], | |
| 230 ) | 324 ) |
| 231 | 325 |
| 232 cc_library( | 326 cc_library( |
| 233 name = "inference_bridge", | 327 name = "inference_bridge", |
| 234 srcs = ["inference_bridge.c"], | 328 srcs = ["inference_bridge.c"], |
| 263 # Server binary | 357 # Server binary |
| 264 cc_binary( | 358 cc_binary( |
| 265 name = "mrjunejune_server", | 359 name = "mrjunejune_server", |
| 266 srcs = ["main.c"], | 360 srcs = ["main.c"], |
| 267 deps = [ | 361 deps = [ |
| 362 ":admin_api", | |
| 363 ":auth_api", | |
| 268 ":conversation_api", | 364 ":conversation_api", |
| 365 ":template_renderer", | |
| 269 "//seobeo:seobeo", | 366 "//seobeo:seobeo", |
| 270 "//markdown_converter:markdown_to_html_c", | 367 "//markdown_converter:markdown_to_html_c", |
| 271 "//s3:s3", | 368 "//s3:s3", |
| 272 "//deita:deita", | 369 "//deita:deita", |
| 273 ":latex_renderer", | 370 ":latex_renderer", |
| 371 "//auth:auth_crypto", | |
| 274 ], | 372 ], |
| 275 copts = ["-D_GNU_SOURCE"], | 373 copts = ["-D_GNU_SOURCE"], |
| 276 linkopts = ["-lpthread"], | 374 linkopts = ["-lpthread"], |
| 277 data = [ | 375 data = [ |
| 278 ":src_files", | 376 ":src_files", |
| 279 ":config_file", | |
| 280 ":inference_runtime_data", | 377 ":inference_runtime_data", |
| 281 ":tectonic_runtime_data", | 378 ":tectonic_runtime_data", |
| 282 "//:env_file", | |
| 283 ], | 379 ], |
| 284 visibility = ["//mrjunejune/test:__pkg__"], | 380 visibility = ["//mrjunejune/test:__pkg__"], |
| 285 ) | 381 ) |
| 286 | 382 |
| 287 # Debug build with verbose logging | 383 # Debug build with verbose logging |
| 288 cc_binary( | 384 cc_binary( |
| 289 name = "mrjunejune_server_debug", | 385 name = "mrjunejune_server_debug", |
| 290 srcs = ["main.c"], | 386 srcs = ["main.c"], |
| 291 deps = [ | 387 deps = [ |
| 388 ":admin_api", | |
| 389 ":auth_api", | |
| 292 ":conversation_api", | 390 ":conversation_api", |
| 391 ":template_renderer", | |
| 293 "//seobeo:seobeo_debug", | 392 "//seobeo:seobeo_debug", |
| 294 "//markdown_converter:markdown_to_html_c", | 393 "//markdown_converter:markdown_to_html_c", |
| 295 "//s3:s3", | 394 "//s3:s3", |
| 296 "//deita:deita", | 395 "//deita:deita", |
| 297 ":latex_renderer", | 396 ":latex_renderer", |
| 397 "//auth:auth_crypto", | |
| 298 ], | 398 ], |
| 299 copts = [ | 399 copts = [ |
| 300 "-D_GNU_SOURCE", | 400 "-D_GNU_SOURCE", |
| 401 "-DMRJUNEJUNE_DEVELOPMENT_CONFIG", | |
| 301 ], | 402 ], |
| 302 linkopts = ["-lpthread"], | 403 linkopts = ["-lpthread"], |
| 303 data = [ | 404 data = [ |
| 304 ":src_files_development", | 405 ":src_files_development", |
| 305 ":config_file", | 406 ":config_file", |