comparison infinite_canvas/BUILD @ 280:49e9e591c9bb

Add persistent dictation, prewarmed WebRTC speech input, Copilot SDK routing, animated conversation lifecycle controls, parking, and architecture coverage.
author MrJuneJune <me@mrjunejune.com>
date Tue, 18 Aug 2026 19:14:53 -0700
parents 8d560f50ed4c
children c57149ad216e
comparison
equal deleted inserted replaced
279:b3b547563ec7 280:49e9e591c9bb
1 load("@emsdk//emscripten_toolchain:wasm_rules.bzl", "wasm_cc_binary") 1 load("@emsdk//emscripten_toolchain:wasm_rules.bzl", "wasm_cc_binary")
2 load("@rules_cc//cc:cc_library.bzl", "cc_library") 2 load("@rules_cc//cc:cc_library.bzl", "cc_library")
3 load("@rules_cc//cc:cc_test.bzl", "cc_test") 3 load("@rules_cc//cc:cc_test.bzl", "cc_test")
4 load("@rules_shell//shell:sh_binary.bzl", "sh_binary") 4 load("@rules_shell//shell:sh_binary.bzl", "sh_binary")
5 load("@rules_shell//shell:sh_test.bzl", "sh_test")
5 load("//gui_ze:gui_ze.bzl", "move_files_into_dir") 6 load("//gui_ze:gui_ze.bzl", "move_files_into_dir")
6 load("//third_party/raylib:raylib.bzl", "raylib_binary") 7 load("//third_party/raylib:raylib.bzl", "raylib_binary")
7 8
8 cc_library( 9 cc_library(
9 name = "theme", 10 name = "theme",
69 "@cef//:cef", 70 "@cef//:cef",
70 "@cef//:cef_wrapper", 71 "@cef//:cef_wrapper",
71 ], 72 ],
72 "//config:macos": ["@cef//:cef_wrapper"], 73 "//config:macos": ["@cef//:cef_wrapper"],
73 "//config:windows": ["@cef//:cef_wrapper"], 74 "//config:windows": ["@cef//:cef_wrapper"],
75 "//conditions:default": [],
76 }),
77 )
78
79 cc_library(
80 name = "agent_service",
81 srcs = select({
82 "//config:linux": ["agent_service_copilot.c"],
83 "//config:macos": ["agent_service_stub.c"],
84 "//config:windows": ["agent_service_stub.c"],
85 "//conditions:default": ["agent_service_stub.c"],
86 }),
87 hdrs = ["agent_service.h"],
88 deps = [
89 ":canvas",
90 "//dowa:dowa",
91 ] + select({
92 "//config:linux": ["//mrjunejune:inference_bridge"],
93 "//conditions:default": [],
94 }),
95 linkopts = select({
96 "//config:linux": ["-lpthread"],
74 "//conditions:default": [], 97 "//conditions:default": [],
75 }), 98 }),
76 ) 99 )
77 100
78 filegroup( 101 filegroup(
122 "@cef//:resources", 145 "@cef//:resources",
123 ], 146 ],
124 "//conditions:default": [], 147 "//conditions:default": [],
125 }), 148 }),
126 deps = [ 149 deps = [
150 ":agent_service",
127 ":canvas", 151 ":canvas",
128 ":web_surface", 152 ":web_surface",
129 "//dowa:dowa", 153 "//dowa:dowa",
130 "//third_party/raylib:raylib", 154 "//third_party/raylib:raylib",
131 ], 155 ],
151 ], 175 ],
152 "//conditions:default": [], 176 "//conditions:default": [],
153 }), 177 }),
154 defines = ["INFINITE_CANVAS_DEV_UI"], 178 defines = ["INFINITE_CANVAS_DEV_UI"],
155 deps = [ 179 deps = [
180 ":agent_service",
156 ":canvas", 181 ":canvas",
157 ":dev_ui", 182 ":dev_ui",
158 ":theme", 183 ":theme",
159 ":web_surface", 184 ":web_surface",
160 "//dowa:dowa", 185 "//dowa:dowa",
170 195
171 sh_binary( 196 sh_binary(
172 name = "dev_linux", 197 name = "dev_linux",
173 srcs = ["run_native.sh"], 198 srcs = ["run_native.sh"],
174 data = [":dev_bin"], 199 data = [":dev_bin"],
200 )
201
202 sh_binary(
203 name = "orchestration_dev",
204 srcs = ["run_orchestration_dev.sh"],
205 data = [
206 ":dev",
207 "//dictation:server",
208 "//mrjunejune:canvas_orchestration_launcher",
209 "//mrjunejune/inference:copilot_sidecar_zip",
210 "//mrjunejune/inference:litellm_config.yaml",
211 "//mrjunejune/inference:litellm_proxy_zip",
212 "@copilot_cli_linux_x86_64//:copilot",
213 "@python_3_11//:files",
214 "@python_3_11//:python3",
215 ],
216 target_compatible_with = select({
217 "//config:linux": [],
218 "//conditions:default": ["@platforms//:incompatible"],
219 }),
220 )
221
222 alias(
223 name = "agent_dev",
224 actual = ":orchestration_dev",
175 ) 225 )
176 226
177 alias( 227 alias(
178 name = "app", 228 name = "app",
179 actual = select({ 229 actual = select({
206 ":fonts", 256 ":fonts",
207 ":image_placeholder", 257 ":image_placeholder",
208 ], 258 ],
209 defines = ["INFINITE_CANVAS_DEV_UI"], 259 defines = ["INFINITE_CANVAS_DEV_UI"],
210 deps = [ 260 deps = [
261 ":agent_service",
211 ":canvas", 262 ":canvas",
212 ":dev_ui", 263 ":dev_ui",
213 ":web_surface", 264 ":web_surface",
214 "//dowa:dowa", 265 "//dowa:dowa",
215 "//third_party/raylib:raylib", 266 "//third_party/raylib:raylib",
243 name = "canvas_test", 294 name = "canvas_test",
244 srcs = ["canvas_test.c"], 295 srcs = ["canvas_test.c"],
245 deps = [":canvas"], 296 deps = [":canvas"],
246 ) 297 )
247 298
299 cc_test(
300 name = "agent_service_test",
301 srcs = ["agent_service_test.c"],
302 args = [
303 "$(rootpath //mrjunejune/test:inference_bridge_fake_sidecar)",
304 ],
305 data = [
306 "//mrjunejune/test:inference_bridge_fake_sidecar",
307 ],
308 deps = [
309 ":agent_service",
310 "//dowa:dowa",
311 ],
312 linkopts = ["-lpthread"],
313 target_compatible_with = select({
314 "//config:linux": [],
315 "//conditions:default": ["@platforms//:incompatible"],
316 }),
317 )
318
319 sh_test(
320 name = "dictation_policy_test",
321 srcs = ["dictation_policy_test.sh"],
322 args = [
323 "$(rootpath :web_surface_native.cc)",
324 "$(rootpath :main.c)",
325 "$(rootpath :dev_ui.c)",
326 ],
327 data = [
328 "dev_ui.c",
329 "main.c",
330 "web_surface_native.cc",
331 ],
332 )
333
248 sh_binary( 334 sh_binary(
249 name = "serve", 335 name = "serve",
250 srcs = ["serve.sh"], 336 srcs = ["serve.sh"],
251 data = [":web_bundle"], 337 data = [":web_bundle"],
252 ) 338 )