@av-pi-studio/server 0.0.1

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 (315) hide show
  1. package/README.md +411 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/agent/agent-manager.d.ts +107 -0
  4. package/dist/agent/agent-manager.d.ts.map +1 -0
  5. package/dist/agent/agent-manager.js +218 -0
  6. package/dist/agent/agent-manager.js.map +1 -0
  7. package/dist/agent/agent-service.d.ts +36 -0
  8. package/dist/agent/agent-service.d.ts.map +1 -0
  9. package/dist/agent/agent-service.js +195 -0
  10. package/dist/agent/agent-service.js.map +1 -0
  11. package/dist/agent/index.d.ts +17 -0
  12. package/dist/agent/index.d.ts.map +1 -0
  13. package/dist/agent/index.js +18 -0
  14. package/dist/agent/index.js.map +1 -0
  15. package/dist/agent/manifest.d.ts +7 -0
  16. package/dist/agent/manifest.d.ts.map +1 -0
  17. package/dist/agent/manifest.js +27 -0
  18. package/dist/agent/manifest.js.map +1 -0
  19. package/dist/agent/mcp-server.d.ts +100 -0
  20. package/dist/agent/mcp-server.d.ts.map +1 -0
  21. package/dist/agent/mcp-server.js +163 -0
  22. package/dist/agent/mcp-server.js.map +1 -0
  23. package/dist/agent/permissions.d.ts +71 -0
  24. package/dist/agent/permissions.d.ts.map +1 -0
  25. package/dist/agent/permissions.js +132 -0
  26. package/dist/agent/permissions.js.map +1 -0
  27. package/dist/agent/provider-contract.d.ts +134 -0
  28. package/dist/agent/provider-contract.d.ts.map +1 -0
  29. package/dist/agent/provider-contract.js +2 -0
  30. package/dist/agent/provider-contract.js.map +1 -0
  31. package/dist/agent/provider-registry.d.ts +37 -0
  32. package/dist/agent/provider-registry.d.ts.map +1 -0
  33. package/dist/agent/provider-registry.js +92 -0
  34. package/dist/agent/provider-registry.js.map +1 -0
  35. package/dist/agent/provider-snapshot.d.ts +52 -0
  36. package/dist/agent/provider-snapshot.d.ts.map +1 -0
  37. package/dist/agent/provider-snapshot.js +73 -0
  38. package/dist/agent/provider-snapshot.js.map +1 -0
  39. package/dist/agent/providers/mock/mock-provider.d.ts +44 -0
  40. package/dist/agent/providers/mock/mock-provider.d.ts.map +1 -0
  41. package/dist/agent/providers/mock/mock-provider.js +162 -0
  42. package/dist/agent/providers/mock/mock-provider.js.map +1 -0
  43. package/dist/agent/providers/pi/agent.d.ts +80 -0
  44. package/dist/agent/providers/pi/agent.d.ts.map +1 -0
  45. package/dist/agent/providers/pi/agent.js +322 -0
  46. package/dist/agent/providers/pi/agent.js.map +1 -0
  47. package/dist/agent/providers/pi/event-mapper.d.ts +17 -0
  48. package/dist/agent/providers/pi/event-mapper.d.ts.map +1 -0
  49. package/dist/agent/providers/pi/event-mapper.js +150 -0
  50. package/dist/agent/providers/pi/event-mapper.js.map +1 -0
  51. package/dist/agent/providers/pi/rpc-transport.d.ts +53 -0
  52. package/dist/agent/providers/pi/rpc-transport.d.ts.map +1 -0
  53. package/dist/agent/providers/pi/rpc-transport.js +190 -0
  54. package/dist/agent/providers/pi/rpc-transport.js.map +1 -0
  55. package/dist/agent/providers/pi/session-hydration.d.ts +11 -0
  56. package/dist/agent/providers/pi/session-hydration.d.ts.map +1 -0
  57. package/dist/agent/providers/pi/session-hydration.js +167 -0
  58. package/dist/agent/providers/pi/session-hydration.js.map +1 -0
  59. package/dist/agent/rewind-rpc.d.ts +15 -0
  60. package/dist/agent/rewind-rpc.d.ts.map +1 -0
  61. package/dist/agent/rewind-rpc.js +30 -0
  62. package/dist/agent/rewind-rpc.js.map +1 -0
  63. package/dist/agent/session-operations.d.ts +32 -0
  64. package/dist/agent/session-operations.d.ts.map +1 -0
  65. package/dist/agent/session-operations.js +130 -0
  66. package/dist/agent/session-operations.js.map +1 -0
  67. package/dist/agent/structured-generation.d.ts +39 -0
  68. package/dist/agent/structured-generation.d.ts.map +1 -0
  69. package/dist/agent/structured-generation.js +78 -0
  70. package/dist/agent/structured-generation.js.map +1 -0
  71. package/dist/agent/timeline-rpc.d.ts +21 -0
  72. package/dist/agent/timeline-rpc.d.ts.map +1 -0
  73. package/dist/agent/timeline-rpc.js +59 -0
  74. package/dist/agent/timeline-rpc.js.map +1 -0
  75. package/dist/agent/timeline-store.d.ts +100 -0
  76. package/dist/agent/timeline-store.d.ts.map +1 -0
  77. package/dist/agent/timeline-store.js +255 -0
  78. package/dist/agent/timeline-store.js.map +1 -0
  79. package/dist/auth/index.d.ts +2 -0
  80. package/dist/auth/index.d.ts.map +1 -0
  81. package/dist/auth/index.js +3 -0
  82. package/dist/auth/index.js.map +1 -0
  83. package/dist/auth/password-auth.d.ts +44 -0
  84. package/dist/auth/password-auth.d.ts.map +1 -0
  85. package/dist/auth/password-auth.js +78 -0
  86. package/dist/auth/password-auth.js.map +1 -0
  87. package/dist/config/daemon-config.d.ts +634 -0
  88. package/dist/config/daemon-config.d.ts.map +1 -0
  89. package/dist/config/daemon-config.js +258 -0
  90. package/dist/config/daemon-config.js.map +1 -0
  91. package/dist/config/index.d.ts +3 -0
  92. package/dist/config/index.d.ts.map +1 -0
  93. package/dist/config/index.js +4 -0
  94. package/dist/config/index.js.map +1 -0
  95. package/dist/config/project-config.d.ts +104 -0
  96. package/dist/config/project-config.d.ts.map +1 -0
  97. package/dist/config/project-config.js +106 -0
  98. package/dist/config/project-config.js.map +1 -0
  99. package/dist/daemon/bootstrap.d.ts +37 -0
  100. package/dist/daemon/bootstrap.d.ts.map +1 -0
  101. package/dist/daemon/bootstrap.js +448 -0
  102. package/dist/daemon/bootstrap.js.map +1 -0
  103. package/dist/daemon/dev-bootstrap.d.ts +14 -0
  104. package/dist/daemon/dev-bootstrap.d.ts.map +1 -0
  105. package/dist/daemon/dev-bootstrap.js +231 -0
  106. package/dist/daemon/dev-bootstrap.js.map +1 -0
  107. package/dist/daemon/dev-main.d.ts +3 -0
  108. package/dist/daemon/dev-main.d.ts.map +1 -0
  109. package/dist/daemon/dev-main.js +36 -0
  110. package/dist/daemon/dev-main.js.map +1 -0
  111. package/dist/daemon/index.d.ts +15 -0
  112. package/dist/daemon/index.d.ts.map +1 -0
  113. package/dist/daemon/index.js +21 -0
  114. package/dist/daemon/index.js.map +1 -0
  115. package/dist/daemon/main.d.ts +3 -0
  116. package/dist/daemon/main.d.ts.map +1 -0
  117. package/dist/daemon/main.js +29 -0
  118. package/dist/daemon/main.js.map +1 -0
  119. package/dist/daemon/orchestration-rpc.d.ts +19 -0
  120. package/dist/daemon/orchestration-rpc.d.ts.map +1 -0
  121. package/dist/daemon/orchestration-rpc.js +136 -0
  122. package/dist/daemon/orchestration-rpc.js.map +1 -0
  123. package/dist/files/download-token-store.d.ts +14 -0
  124. package/dist/files/download-token-store.d.ts.map +1 -0
  125. package/dist/files/download-token-store.js +33 -0
  126. package/dist/files/download-token-store.js.map +1 -0
  127. package/dist/files/file-explorer.d.ts +54 -0
  128. package/dist/files/file-explorer.d.ts.map +1 -0
  129. package/dist/files/file-explorer.js +182 -0
  130. package/dist/files/file-explorer.js.map +1 -0
  131. package/dist/files/file-transfer.d.ts +30 -0
  132. package/dist/files/file-transfer.d.ts.map +1 -0
  133. package/dist/files/file-transfer.js +132 -0
  134. package/dist/files/file-transfer.js.map +1 -0
  135. package/dist/files/index.d.ts +4 -0
  136. package/dist/files/index.d.ts.map +1 -0
  137. package/dist/files/index.js +5 -0
  138. package/dist/files/index.js.map +1 -0
  139. package/dist/http/host-allowlist.d.ts +15 -0
  140. package/dist/http/host-allowlist.d.ts.map +1 -0
  141. package/dist/http/host-allowlist.js +52 -0
  142. package/dist/http/host-allowlist.js.map +1 -0
  143. package/dist/http/http-server.d.ts +27 -0
  144. package/dist/http/http-server.d.ts.map +1 -0
  145. package/dist/http/http-server.js +76 -0
  146. package/dist/http/http-server.js.map +1 -0
  147. package/dist/http/index.d.ts +3 -0
  148. package/dist/http/index.d.ts.map +1 -0
  149. package/dist/http/index.js +4 -0
  150. package/dist/http/index.js.map +1 -0
  151. package/dist/index.d.ts +18 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +35 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/logging/index.d.ts +2 -0
  156. package/dist/logging/index.d.ts.map +1 -0
  157. package/dist/logging/index.js +2 -0
  158. package/dist/logging/index.js.map +1 -0
  159. package/dist/logging/logger.d.ts +48 -0
  160. package/dist/logging/logger.d.ts.map +1 -0
  161. package/dist/logging/logger.js +53 -0
  162. package/dist/logging/logger.js.map +1 -0
  163. package/dist/orchestration/chat-service.d.ts +61 -0
  164. package/dist/orchestration/chat-service.d.ts.map +1 -0
  165. package/dist/orchestration/chat-service.js +156 -0
  166. package/dist/orchestration/chat-service.js.map +1 -0
  167. package/dist/orchestration/cron.d.ts +30 -0
  168. package/dist/orchestration/cron.d.ts.map +1 -0
  169. package/dist/orchestration/cron.js +136 -0
  170. package/dist/orchestration/cron.js.map +1 -0
  171. package/dist/orchestration/index.d.ts +5 -0
  172. package/dist/orchestration/index.d.ts.map +1 -0
  173. package/dist/orchestration/index.js +6 -0
  174. package/dist/orchestration/index.js.map +1 -0
  175. package/dist/orchestration/loop-service.d.ts +129 -0
  176. package/dist/orchestration/loop-service.d.ts.map +1 -0
  177. package/dist/orchestration/loop-service.js +234 -0
  178. package/dist/orchestration/loop-service.js.map +1 -0
  179. package/dist/orchestration/schedule-service.d.ts +65 -0
  180. package/dist/orchestration/schedule-service.d.ts.map +1 -0
  181. package/dist/orchestration/schedule-service.js +201 -0
  182. package/dist/orchestration/schedule-service.js.map +1 -0
  183. package/dist/persistence/atomic-store.d.ts +45 -0
  184. package/dist/persistence/atomic-store.d.ts.map +1 -0
  185. package/dist/persistence/atomic-store.js +92 -0
  186. package/dist/persistence/atomic-store.js.map +1 -0
  187. package/dist/persistence/entity-schemas.d.ts +1707 -0
  188. package/dist/persistence/entity-schemas.d.ts.map +1 -0
  189. package/dist/persistence/entity-schemas.js +250 -0
  190. package/dist/persistence/entity-schemas.js.map +1 -0
  191. package/dist/persistence/entity-stores.d.ts +46 -0
  192. package/dist/persistence/entity-stores.d.ts.map +1 -0
  193. package/dist/persistence/entity-stores.js +167 -0
  194. package/dist/persistence/entity-stores.js.map +1 -0
  195. package/dist/persistence/index.d.ts +4 -0
  196. package/dist/persistence/index.d.ts.map +1 -0
  197. package/dist/persistence/index.js +5 -0
  198. package/dist/persistence/index.js.map +1 -0
  199. package/dist/projects/checkout-diff-manager.d.ts +44 -0
  200. package/dist/projects/checkout-diff-manager.d.ts.map +1 -0
  201. package/dist/projects/checkout-diff-manager.js +82 -0
  202. package/dist/projects/checkout-diff-manager.js.map +1 -0
  203. package/dist/projects/git-checkout-rpc.d.ts +18 -0
  204. package/dist/projects/git-checkout-rpc.d.ts.map +1 -0
  205. package/dist/projects/git-checkout-rpc.js +57 -0
  206. package/dist/projects/git-checkout-rpc.js.map +1 -0
  207. package/dist/projects/git-detect.d.ts +21 -0
  208. package/dist/projects/git-detect.d.ts.map +1 -0
  209. package/dist/projects/git-detect.js +34 -0
  210. package/dist/projects/git-detect.js.map +1 -0
  211. package/dist/projects/git-operations.d.ts +67 -0
  212. package/dist/projects/git-operations.d.ts.map +1 -0
  213. package/dist/projects/git-operations.js +200 -0
  214. package/dist/projects/git-operations.js.map +1 -0
  215. package/dist/projects/github-service.d.ts +80 -0
  216. package/dist/projects/github-service.d.ts.map +1 -0
  217. package/dist/projects/github-service.js +172 -0
  218. package/dist/projects/github-service.js.map +1 -0
  219. package/dist/projects/index.d.ts +13 -0
  220. package/dist/projects/index.d.ts.map +1 -0
  221. package/dist/projects/index.js +19 -0
  222. package/dist/projects/index.js.map +1 -0
  223. package/dist/projects/open-project.d.ts +35 -0
  224. package/dist/projects/open-project.d.ts.map +1 -0
  225. package/dist/projects/open-project.js +106 -0
  226. package/dist/projects/open-project.js.map +1 -0
  227. package/dist/projects/reconciliation.d.ts +15 -0
  228. package/dist/projects/reconciliation.d.ts.map +1 -0
  229. package/dist/projects/reconciliation.js +63 -0
  230. package/dist/projects/reconciliation.js.map +1 -0
  231. package/dist/projects/status-projection.d.ts +33 -0
  232. package/dist/projects/status-projection.d.ts.map +1 -0
  233. package/dist/projects/status-projection.js +98 -0
  234. package/dist/projects/status-projection.js.map +1 -0
  235. package/dist/projects/workspace-activity.d.ts +28 -0
  236. package/dist/projects/workspace-activity.d.ts.map +1 -0
  237. package/dist/projects/workspace-activity.js +74 -0
  238. package/dist/projects/workspace-activity.js.map +1 -0
  239. package/dist/projects/workspace-git-service.d.ts +27 -0
  240. package/dist/projects/workspace-git-service.d.ts.map +1 -0
  241. package/dist/projects/workspace-git-service.js +60 -0
  242. package/dist/projects/workspace-git-service.js.map +1 -0
  243. package/dist/projects/workspace-registry.d.ts +59 -0
  244. package/dist/projects/workspace-registry.d.ts.map +1 -0
  245. package/dist/projects/workspace-registry.js +149 -0
  246. package/dist/projects/workspace-registry.js.map +1 -0
  247. package/dist/projects/worktree-service.d.ts +100 -0
  248. package/dist/projects/worktree-service.d.ts.map +1 -0
  249. package/dist/projects/worktree-service.js +216 -0
  250. package/dist/projects/worktree-service.js.map +1 -0
  251. package/dist/proxy/index.d.ts +4 -0
  252. package/dist/proxy/index.d.ts.map +1 -0
  253. package/dist/proxy/index.js +5 -0
  254. package/dist/proxy/index.js.map +1 -0
  255. package/dist/proxy/service-hostname.d.ts +21 -0
  256. package/dist/proxy/service-hostname.d.ts.map +1 -0
  257. package/dist/proxy/service-hostname.js +44 -0
  258. package/dist/proxy/service-hostname.js.map +1 -0
  259. package/dist/proxy/service-port-registry.d.ts +36 -0
  260. package/dist/proxy/service-port-registry.d.ts.map +1 -0
  261. package/dist/proxy/service-port-registry.js +55 -0
  262. package/dist/proxy/service-port-registry.js.map +1 -0
  263. package/dist/proxy/service-proxy.d.ts +34 -0
  264. package/dist/proxy/service-proxy.d.ts.map +1 -0
  265. package/dist/proxy/service-proxy.js +54 -0
  266. package/dist/proxy/service-proxy.js.map +1 -0
  267. package/dist/terminal/index.d.ts +4 -0
  268. package/dist/terminal/index.d.ts.map +1 -0
  269. package/dist/terminal/index.js +5 -0
  270. package/dist/terminal/index.js.map +1 -0
  271. package/dist/terminal/pty-backend.d.ts +44 -0
  272. package/dist/terminal/pty-backend.d.ts.map +1 -0
  273. package/dist/terminal/pty-backend.js +119 -0
  274. package/dist/terminal/pty-backend.js.map +1 -0
  275. package/dist/terminal/screen-buffer.d.ts +21 -0
  276. package/dist/terminal/screen-buffer.d.ts.map +1 -0
  277. package/dist/terminal/screen-buffer.js +55 -0
  278. package/dist/terminal/screen-buffer.js.map +1 -0
  279. package/dist/terminal/terminal-manager.d.ts +79 -0
  280. package/dist/terminal/terminal-manager.d.ts.map +1 -0
  281. package/dist/terminal/terminal-manager.js +174 -0
  282. package/dist/terminal/terminal-manager.js.map +1 -0
  283. package/dist/terminal/terminal-rpc.d.ts +20 -0
  284. package/dist/terminal/terminal-rpc.d.ts.map +1 -0
  285. package/dist/terminal/terminal-rpc.js +122 -0
  286. package/dist/terminal/terminal-rpc.js.map +1 -0
  287. package/dist/util/concurrency.d.ts +16 -0
  288. package/dist/util/concurrency.d.ts.map +1 -0
  289. package/dist/util/concurrency.js +23 -0
  290. package/dist/util/concurrency.js.map +1 -0
  291. package/dist/util/index.d.ts +2 -0
  292. package/dist/util/index.d.ts.map +1 -0
  293. package/dist/util/index.js +2 -0
  294. package/dist/util/index.js.map +1 -0
  295. package/dist/ws/capability-store.d.ts +11 -0
  296. package/dist/ws/capability-store.d.ts.map +1 -0
  297. package/dist/ws/capability-store.js +10 -0
  298. package/dist/ws/capability-store.js.map +1 -0
  299. package/dist/ws/index.d.ts +5 -0
  300. package/dist/ws/index.d.ts.map +1 -0
  301. package/dist/ws/index.js +6 -0
  302. package/dist/ws/index.js.map +1 -0
  303. package/dist/ws/router.d.ts +34 -0
  304. package/dist/ws/router.d.ts.map +1 -0
  305. package/dist/ws/router.js +97 -0
  306. package/dist/ws/router.js.map +1 -0
  307. package/dist/ws/session.d.ts +28 -0
  308. package/dist/ws/session.d.ts.map +1 -0
  309. package/dist/ws/session.js +36 -0
  310. package/dist/ws/session.js.map +1 -0
  311. package/dist/ws/ws-server.d.ts +41 -0
  312. package/dist/ws/ws-server.d.ts.map +1 -0
  313. package/dist/ws/ws-server.js +104 -0
  314. package/dist/ws/ws-server.js.map +1 -0
  315. package/package.json +48 -0
@@ -0,0 +1,634 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Daemon config (`$PI_STUDIO_HOME/config.json`) — architecture/config.md § Daemon config,
4
+ * § Env precedence, § Behavior; MAIN-SCOPE.md §6.
5
+ *
6
+ * Every field is optional with a sensible default, so a missing or `{}` config yields a fully
7
+ * populated object. Legacy shapes (`allowedHosts`, provider `command:{mode,…}`) are normalized
8
+ * inline on load (no migration framework). Environment variables overlay the parsed config (env
9
+ * wins) for the keys enumerated in config.md.
10
+ */
11
+ /** Provider ids: `/^[a-z][a-z0-9-]*$/`. */
12
+ export declare const providerIdSchema: z.ZodString;
13
+ /** A custom Pi-compatible provider profile, or an override of the built-in `pi` provider. */
14
+ export declare const providerOverrideSchema: z.ZodObject<{
15
+ extends: z.ZodOptional<z.ZodLiteral<"pi">>;
16
+ label: z.ZodOptional<z.ZodString>;
17
+ description: z.ZodOptional<z.ZodString>;
18
+ command: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
20
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
21
+ models: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
22
+ additionalModels: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
23
+ disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
+ enabled: z.ZodOptional<z.ZodBoolean>;
25
+ order: z.ZodOptional<z.ZodNumber>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ params?: Record<string, unknown> | undefined;
28
+ label?: string | undefined;
29
+ description?: string | undefined;
30
+ extends?: "pi" | undefined;
31
+ command?: string[] | undefined;
32
+ env?: Record<string, string> | undefined;
33
+ models?: unknown[] | undefined;
34
+ additionalModels?: unknown[] | undefined;
35
+ disallowedTools?: string[] | undefined;
36
+ enabled?: boolean | undefined;
37
+ order?: number | undefined;
38
+ }, {
39
+ params?: Record<string, unknown> | undefined;
40
+ label?: string | undefined;
41
+ description?: string | undefined;
42
+ extends?: "pi" | undefined;
43
+ command?: string[] | undefined;
44
+ env?: Record<string, string> | undefined;
45
+ models?: unknown[] | undefined;
46
+ additionalModels?: unknown[] | undefined;
47
+ disallowedTools?: string[] | undefined;
48
+ enabled?: boolean | undefined;
49
+ order?: number | undefined;
50
+ }>;
51
+ export type ProviderOverride = z.infer<typeof providerOverrideSchema>;
52
+ /**
53
+ * `agents.providers` map. Keys must match the provider-id pattern. A *custom* profile (any id other
54
+ * than a built-in) must declare `extends:"pi"` and a `label`; overriding the built-in `pi` does not.
55
+ */
56
+ export declare const providersRecordSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodObject<{
57
+ extends: z.ZodOptional<z.ZodLiteral<"pi">>;
58
+ label: z.ZodOptional<z.ZodString>;
59
+ description: z.ZodOptional<z.ZodString>;
60
+ command: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
61
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
62
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
63
+ models: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
64
+ additionalModels: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
65
+ disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
66
+ enabled: z.ZodOptional<z.ZodBoolean>;
67
+ order: z.ZodOptional<z.ZodNumber>;
68
+ }, "strip", z.ZodTypeAny, {
69
+ params?: Record<string, unknown> | undefined;
70
+ label?: string | undefined;
71
+ description?: string | undefined;
72
+ extends?: "pi" | undefined;
73
+ command?: string[] | undefined;
74
+ env?: Record<string, string> | undefined;
75
+ models?: unknown[] | undefined;
76
+ additionalModels?: unknown[] | undefined;
77
+ disallowedTools?: string[] | undefined;
78
+ enabled?: boolean | undefined;
79
+ order?: number | undefined;
80
+ }, {
81
+ params?: Record<string, unknown> | undefined;
82
+ label?: string | undefined;
83
+ description?: string | undefined;
84
+ extends?: "pi" | undefined;
85
+ command?: string[] | undefined;
86
+ env?: Record<string, string> | undefined;
87
+ models?: unknown[] | undefined;
88
+ additionalModels?: unknown[] | undefined;
89
+ disallowedTools?: string[] | undefined;
90
+ enabled?: boolean | undefined;
91
+ order?: number | undefined;
92
+ }>>, Record<string, {
93
+ params?: Record<string, unknown> | undefined;
94
+ label?: string | undefined;
95
+ description?: string | undefined;
96
+ extends?: "pi" | undefined;
97
+ command?: string[] | undefined;
98
+ env?: Record<string, string> | undefined;
99
+ models?: unknown[] | undefined;
100
+ additionalModels?: unknown[] | undefined;
101
+ disallowedTools?: string[] | undefined;
102
+ enabled?: boolean | undefined;
103
+ order?: number | undefined;
104
+ }>, Record<string, {
105
+ params?: Record<string, unknown> | undefined;
106
+ label?: string | undefined;
107
+ description?: string | undefined;
108
+ extends?: "pi" | undefined;
109
+ command?: string[] | undefined;
110
+ env?: Record<string, string> | undefined;
111
+ models?: unknown[] | undefined;
112
+ additionalModels?: unknown[] | undefined;
113
+ disallowedTools?: string[] | undefined;
114
+ enabled?: boolean | undefined;
115
+ order?: number | undefined;
116
+ }>>;
117
+ export declare const metadataGenerationProviderSchema: z.ZodObject<{
118
+ provider: z.ZodString;
119
+ model: z.ZodOptional<z.ZodString>;
120
+ thinkingOptionId: z.ZodOptional<z.ZodString>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ provider: string;
123
+ model?: string | undefined;
124
+ thinkingOptionId?: string | undefined;
125
+ }, {
126
+ provider: string;
127
+ model?: string | undefined;
128
+ thinkingOptionId?: string | undefined;
129
+ }>;
130
+ declare const hostnamesSchema: z.ZodUnion<[z.ZodLiteral<true>, z.ZodArray<z.ZodString, "many">]>;
131
+ export type Hostnames = z.infer<typeof hostnamesSchema>;
132
+ export declare const persistedConfigSchema: z.ZodDefault<z.ZodObject<{
133
+ version: z.ZodDefault<z.ZodNumber>;
134
+ daemon: z.ZodDefault<z.ZodObject<{
135
+ listen: z.ZodDefault<z.ZodString>;
136
+ hostnames: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<true>, z.ZodArray<z.ZodString, "many">]>>;
137
+ mcp: z.ZodDefault<z.ZodObject<{
138
+ enabled: z.ZodDefault<z.ZodBoolean>;
139
+ injectIntoAgents: z.ZodDefault<z.ZodBoolean>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ enabled: boolean;
142
+ injectIntoAgents: boolean;
143
+ }, {
144
+ enabled?: boolean | undefined;
145
+ injectIntoAgents?: boolean | undefined;
146
+ }>>;
147
+ appendSystemPrompt: z.ZodDefault<z.ZodString>;
148
+ cors: z.ZodDefault<z.ZodObject<{
149
+ allowedOrigins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ allowedOrigins: string[];
152
+ }, {
153
+ allowedOrigins?: string[] | undefined;
154
+ }>>;
155
+ relay: z.ZodDefault<z.ZodObject<{
156
+ enabled: z.ZodDefault<z.ZodBoolean>;
157
+ endpoint: z.ZodOptional<z.ZodString>;
158
+ publicEndpoint: z.ZodOptional<z.ZodString>;
159
+ useTls: z.ZodDefault<z.ZodBoolean>;
160
+ publicUseTls: z.ZodDefault<z.ZodBoolean>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ enabled: boolean;
163
+ useTls: boolean;
164
+ publicUseTls: boolean;
165
+ endpoint?: string | undefined;
166
+ publicEndpoint?: string | undefined;
167
+ }, {
168
+ enabled?: boolean | undefined;
169
+ endpoint?: string | undefined;
170
+ publicEndpoint?: string | undefined;
171
+ useTls?: boolean | undefined;
172
+ publicUseTls?: boolean | undefined;
173
+ }>>;
174
+ auth: z.ZodDefault<z.ZodObject<{
175
+ password: z.ZodOptional<z.ZodString>;
176
+ }, "strip", z.ZodTypeAny, {
177
+ password?: string | undefined;
178
+ }, {
179
+ password?: string | undefined;
180
+ }>>;
181
+ serviceProxy: z.ZodDefault<z.ZodObject<{
182
+ listen: z.ZodOptional<z.ZodString>;
183
+ publicBaseUrl: z.ZodOptional<z.ZodString>;
184
+ enabled: z.ZodOptional<z.ZodBoolean>;
185
+ }, "strip", z.ZodTypeAny, {
186
+ enabled?: boolean | undefined;
187
+ listen?: string | undefined;
188
+ publicBaseUrl?: string | undefined;
189
+ }, {
190
+ enabled?: boolean | undefined;
191
+ listen?: string | undefined;
192
+ publicBaseUrl?: string | undefined;
193
+ }>>;
194
+ }, "strip", z.ZodTypeAny, {
195
+ listen: string;
196
+ hostnames: true | string[];
197
+ mcp: {
198
+ enabled: boolean;
199
+ injectIntoAgents: boolean;
200
+ };
201
+ appendSystemPrompt: string;
202
+ cors: {
203
+ allowedOrigins: string[];
204
+ };
205
+ relay: {
206
+ enabled: boolean;
207
+ useTls: boolean;
208
+ publicUseTls: boolean;
209
+ endpoint?: string | undefined;
210
+ publicEndpoint?: string | undefined;
211
+ };
212
+ auth: {
213
+ password?: string | undefined;
214
+ };
215
+ serviceProxy: {
216
+ enabled?: boolean | undefined;
217
+ listen?: string | undefined;
218
+ publicBaseUrl?: string | undefined;
219
+ };
220
+ }, {
221
+ listen?: string | undefined;
222
+ hostnames?: true | string[] | undefined;
223
+ mcp?: {
224
+ enabled?: boolean | undefined;
225
+ injectIntoAgents?: boolean | undefined;
226
+ } | undefined;
227
+ appendSystemPrompt?: string | undefined;
228
+ cors?: {
229
+ allowedOrigins?: string[] | undefined;
230
+ } | undefined;
231
+ relay?: {
232
+ enabled?: boolean | undefined;
233
+ endpoint?: string | undefined;
234
+ publicEndpoint?: string | undefined;
235
+ useTls?: boolean | undefined;
236
+ publicUseTls?: boolean | undefined;
237
+ } | undefined;
238
+ auth?: {
239
+ password?: string | undefined;
240
+ } | undefined;
241
+ serviceProxy?: {
242
+ enabled?: boolean | undefined;
243
+ listen?: string | undefined;
244
+ publicBaseUrl?: string | undefined;
245
+ } | undefined;
246
+ }>>;
247
+ app: z.ZodDefault<z.ZodObject<{
248
+ baseUrl: z.ZodOptional<z.ZodString>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ baseUrl?: string | undefined;
251
+ }, {
252
+ baseUrl?: string | undefined;
253
+ }>>;
254
+ worktrees: z.ZodDefault<z.ZodObject<{
255
+ root: z.ZodOptional<z.ZodString>;
256
+ }, "strip", z.ZodTypeAny, {
257
+ root?: string | undefined;
258
+ }, {
259
+ root?: string | undefined;
260
+ }>>;
261
+ providers: z.ZodDefault<z.ZodObject<{
262
+ local: z.ZodDefault<z.ZodObject<{
263
+ modelsDir: z.ZodOptional<z.ZodString>;
264
+ }, "strip", z.ZodTypeAny, {
265
+ modelsDir?: string | undefined;
266
+ }, {
267
+ modelsDir?: string | undefined;
268
+ }>>;
269
+ }, "strip", z.ZodTypeAny, {
270
+ local: {
271
+ modelsDir?: string | undefined;
272
+ };
273
+ }, {
274
+ local?: {
275
+ modelsDir?: string | undefined;
276
+ } | undefined;
277
+ }>>;
278
+ agents: z.ZodDefault<z.ZodObject<{
279
+ providers: z.ZodDefault<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodObject<{
280
+ extends: z.ZodOptional<z.ZodLiteral<"pi">>;
281
+ label: z.ZodOptional<z.ZodString>;
282
+ description: z.ZodOptional<z.ZodString>;
283
+ command: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
284
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
285
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
286
+ models: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
287
+ additionalModels: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
288
+ disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
289
+ enabled: z.ZodOptional<z.ZodBoolean>;
290
+ order: z.ZodOptional<z.ZodNumber>;
291
+ }, "strip", z.ZodTypeAny, {
292
+ params?: Record<string, unknown> | undefined;
293
+ label?: string | undefined;
294
+ description?: string | undefined;
295
+ extends?: "pi" | undefined;
296
+ command?: string[] | undefined;
297
+ env?: Record<string, string> | undefined;
298
+ models?: unknown[] | undefined;
299
+ additionalModels?: unknown[] | undefined;
300
+ disallowedTools?: string[] | undefined;
301
+ enabled?: boolean | undefined;
302
+ order?: number | undefined;
303
+ }, {
304
+ params?: Record<string, unknown> | undefined;
305
+ label?: string | undefined;
306
+ description?: string | undefined;
307
+ extends?: "pi" | undefined;
308
+ command?: string[] | undefined;
309
+ env?: Record<string, string> | undefined;
310
+ models?: unknown[] | undefined;
311
+ additionalModels?: unknown[] | undefined;
312
+ disallowedTools?: string[] | undefined;
313
+ enabled?: boolean | undefined;
314
+ order?: number | undefined;
315
+ }>>, Record<string, {
316
+ params?: Record<string, unknown> | undefined;
317
+ label?: string | undefined;
318
+ description?: string | undefined;
319
+ extends?: "pi" | undefined;
320
+ command?: string[] | undefined;
321
+ env?: Record<string, string> | undefined;
322
+ models?: unknown[] | undefined;
323
+ additionalModels?: unknown[] | undefined;
324
+ disallowedTools?: string[] | undefined;
325
+ enabled?: boolean | undefined;
326
+ order?: number | undefined;
327
+ }>, Record<string, {
328
+ params?: Record<string, unknown> | undefined;
329
+ label?: string | undefined;
330
+ description?: string | undefined;
331
+ extends?: "pi" | undefined;
332
+ command?: string[] | undefined;
333
+ env?: Record<string, string> | undefined;
334
+ models?: unknown[] | undefined;
335
+ additionalModels?: unknown[] | undefined;
336
+ disallowedTools?: string[] | undefined;
337
+ enabled?: boolean | undefined;
338
+ order?: number | undefined;
339
+ }>>>;
340
+ metadataGeneration: z.ZodDefault<z.ZodObject<{
341
+ providers: z.ZodDefault<z.ZodArray<z.ZodObject<{
342
+ provider: z.ZodString;
343
+ model: z.ZodOptional<z.ZodString>;
344
+ thinkingOptionId: z.ZodOptional<z.ZodString>;
345
+ }, "strip", z.ZodTypeAny, {
346
+ provider: string;
347
+ model?: string | undefined;
348
+ thinkingOptionId?: string | undefined;
349
+ }, {
350
+ provider: string;
351
+ model?: string | undefined;
352
+ thinkingOptionId?: string | undefined;
353
+ }>, "many">>;
354
+ }, "strip", z.ZodTypeAny, {
355
+ providers: {
356
+ provider: string;
357
+ model?: string | undefined;
358
+ thinkingOptionId?: string | undefined;
359
+ }[];
360
+ }, {
361
+ providers?: {
362
+ provider: string;
363
+ model?: string | undefined;
364
+ thinkingOptionId?: string | undefined;
365
+ }[] | undefined;
366
+ }>>;
367
+ }, "strip", z.ZodTypeAny, {
368
+ providers: Record<string, {
369
+ params?: Record<string, unknown> | undefined;
370
+ label?: string | undefined;
371
+ description?: string | undefined;
372
+ extends?: "pi" | undefined;
373
+ command?: string[] | undefined;
374
+ env?: Record<string, string> | undefined;
375
+ models?: unknown[] | undefined;
376
+ additionalModels?: unknown[] | undefined;
377
+ disallowedTools?: string[] | undefined;
378
+ enabled?: boolean | undefined;
379
+ order?: number | undefined;
380
+ }>;
381
+ metadataGeneration: {
382
+ providers: {
383
+ provider: string;
384
+ model?: string | undefined;
385
+ thinkingOptionId?: string | undefined;
386
+ }[];
387
+ };
388
+ }, {
389
+ providers?: Record<string, {
390
+ params?: Record<string, unknown> | undefined;
391
+ label?: string | undefined;
392
+ description?: string | undefined;
393
+ extends?: "pi" | undefined;
394
+ command?: string[] | undefined;
395
+ env?: Record<string, string> | undefined;
396
+ models?: unknown[] | undefined;
397
+ additionalModels?: unknown[] | undefined;
398
+ disallowedTools?: string[] | undefined;
399
+ enabled?: boolean | undefined;
400
+ order?: number | undefined;
401
+ }> | undefined;
402
+ metadataGeneration?: {
403
+ providers?: {
404
+ provider: string;
405
+ model?: string | undefined;
406
+ thinkingOptionId?: string | undefined;
407
+ }[] | undefined;
408
+ } | undefined;
409
+ }>>;
410
+ log: z.ZodDefault<z.ZodObject<{
411
+ level: z.ZodDefault<z.ZodString>;
412
+ format: z.ZodDefault<z.ZodString>;
413
+ console: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
414
+ file: z.ZodDefault<z.ZodObject<{
415
+ level: z.ZodOptional<z.ZodString>;
416
+ path: z.ZodOptional<z.ZodString>;
417
+ rotate: z.ZodDefault<z.ZodObject<{
418
+ maxSize: z.ZodOptional<z.ZodString>;
419
+ maxFiles: z.ZodOptional<z.ZodNumber>;
420
+ }, "strip", z.ZodTypeAny, {
421
+ maxSize?: string | undefined;
422
+ maxFiles?: number | undefined;
423
+ }, {
424
+ maxSize?: string | undefined;
425
+ maxFiles?: number | undefined;
426
+ }>>;
427
+ }, "strip", z.ZodTypeAny, {
428
+ rotate: {
429
+ maxSize?: string | undefined;
430
+ maxFiles?: number | undefined;
431
+ };
432
+ path?: string | undefined;
433
+ level?: string | undefined;
434
+ }, {
435
+ path?: string | undefined;
436
+ level?: string | undefined;
437
+ rotate?: {
438
+ maxSize?: string | undefined;
439
+ maxFiles?: number | undefined;
440
+ } | undefined;
441
+ }>>;
442
+ }, "strip", z.ZodTypeAny, {
443
+ level: string;
444
+ format: string;
445
+ console: Record<string, unknown>;
446
+ file: {
447
+ rotate: {
448
+ maxSize?: string | undefined;
449
+ maxFiles?: number | undefined;
450
+ };
451
+ path?: string | undefined;
452
+ level?: string | undefined;
453
+ };
454
+ }, {
455
+ level?: string | undefined;
456
+ format?: string | undefined;
457
+ console?: Record<string, unknown> | undefined;
458
+ file?: {
459
+ path?: string | undefined;
460
+ level?: string | undefined;
461
+ rotate?: {
462
+ maxSize?: string | undefined;
463
+ maxFiles?: number | undefined;
464
+ } | undefined;
465
+ } | undefined;
466
+ }>>;
467
+ }, "strip", z.ZodTypeAny, {
468
+ agents: {
469
+ providers: Record<string, {
470
+ params?: Record<string, unknown> | undefined;
471
+ label?: string | undefined;
472
+ description?: string | undefined;
473
+ extends?: "pi" | undefined;
474
+ command?: string[] | undefined;
475
+ env?: Record<string, string> | undefined;
476
+ models?: unknown[] | undefined;
477
+ additionalModels?: unknown[] | undefined;
478
+ disallowedTools?: string[] | undefined;
479
+ enabled?: boolean | undefined;
480
+ order?: number | undefined;
481
+ }>;
482
+ metadataGeneration: {
483
+ providers: {
484
+ provider: string;
485
+ model?: string | undefined;
486
+ thinkingOptionId?: string | undefined;
487
+ }[];
488
+ };
489
+ };
490
+ version: number;
491
+ daemon: {
492
+ listen: string;
493
+ hostnames: true | string[];
494
+ mcp: {
495
+ enabled: boolean;
496
+ injectIntoAgents: boolean;
497
+ };
498
+ appendSystemPrompt: string;
499
+ cors: {
500
+ allowedOrigins: string[];
501
+ };
502
+ relay: {
503
+ enabled: boolean;
504
+ useTls: boolean;
505
+ publicUseTls: boolean;
506
+ endpoint?: string | undefined;
507
+ publicEndpoint?: string | undefined;
508
+ };
509
+ auth: {
510
+ password?: string | undefined;
511
+ };
512
+ serviceProxy: {
513
+ enabled?: boolean | undefined;
514
+ listen?: string | undefined;
515
+ publicBaseUrl?: string | undefined;
516
+ };
517
+ };
518
+ app: {
519
+ baseUrl?: string | undefined;
520
+ };
521
+ worktrees: {
522
+ root?: string | undefined;
523
+ };
524
+ providers: {
525
+ local: {
526
+ modelsDir?: string | undefined;
527
+ };
528
+ };
529
+ log: {
530
+ level: string;
531
+ format: string;
532
+ console: Record<string, unknown>;
533
+ file: {
534
+ rotate: {
535
+ maxSize?: string | undefined;
536
+ maxFiles?: number | undefined;
537
+ };
538
+ path?: string | undefined;
539
+ level?: string | undefined;
540
+ };
541
+ };
542
+ }, {
543
+ agents?: {
544
+ providers?: Record<string, {
545
+ params?: Record<string, unknown> | undefined;
546
+ label?: string | undefined;
547
+ description?: string | undefined;
548
+ extends?: "pi" | undefined;
549
+ command?: string[] | undefined;
550
+ env?: Record<string, string> | undefined;
551
+ models?: unknown[] | undefined;
552
+ additionalModels?: unknown[] | undefined;
553
+ disallowedTools?: string[] | undefined;
554
+ enabled?: boolean | undefined;
555
+ order?: number | undefined;
556
+ }> | undefined;
557
+ metadataGeneration?: {
558
+ providers?: {
559
+ provider: string;
560
+ model?: string | undefined;
561
+ thinkingOptionId?: string | undefined;
562
+ }[] | undefined;
563
+ } | undefined;
564
+ } | undefined;
565
+ version?: number | undefined;
566
+ daemon?: {
567
+ listen?: string | undefined;
568
+ hostnames?: true | string[] | undefined;
569
+ mcp?: {
570
+ enabled?: boolean | undefined;
571
+ injectIntoAgents?: boolean | undefined;
572
+ } | undefined;
573
+ appendSystemPrompt?: string | undefined;
574
+ cors?: {
575
+ allowedOrigins?: string[] | undefined;
576
+ } | undefined;
577
+ relay?: {
578
+ enabled?: boolean | undefined;
579
+ endpoint?: string | undefined;
580
+ publicEndpoint?: string | undefined;
581
+ useTls?: boolean | undefined;
582
+ publicUseTls?: boolean | undefined;
583
+ } | undefined;
584
+ auth?: {
585
+ password?: string | undefined;
586
+ } | undefined;
587
+ serviceProxy?: {
588
+ enabled?: boolean | undefined;
589
+ listen?: string | undefined;
590
+ publicBaseUrl?: string | undefined;
591
+ } | undefined;
592
+ } | undefined;
593
+ app?: {
594
+ baseUrl?: string | undefined;
595
+ } | undefined;
596
+ worktrees?: {
597
+ root?: string | undefined;
598
+ } | undefined;
599
+ providers?: {
600
+ local?: {
601
+ modelsDir?: string | undefined;
602
+ } | undefined;
603
+ } | undefined;
604
+ log?: {
605
+ level?: string | undefined;
606
+ format?: string | undefined;
607
+ console?: Record<string, unknown> | undefined;
608
+ file?: {
609
+ path?: string | undefined;
610
+ level?: string | undefined;
611
+ rotate?: {
612
+ maxSize?: string | undefined;
613
+ maxFiles?: number | undefined;
614
+ } | undefined;
615
+ } | undefined;
616
+ } | undefined;
617
+ }>>;
618
+ export type PersistedConfig = z.infer<typeof persistedConfigSchema>;
619
+ /** Normalize a raw config object before schema validation. */
620
+ export declare function migrateConfig(raw: unknown): unknown;
621
+ type Env = Record<string, string | undefined>;
622
+ /**
623
+ * Overlay environment variables onto a parsed config (env wins) for the keys enumerated in
624
+ * config.md § Env precedence.
625
+ */
626
+ export declare function overlayEnv(config: PersistedConfig, env: Env): PersistedConfig;
627
+ /**
628
+ * Load and normalize `config.json`: read JSON (or `{}` when missing/corrupt), migrate legacy
629
+ * shapes, validate with {@link persistedConfigSchema}, then overlay env vars. Throws if the parsed
630
+ * config is structurally invalid (e.g. a bad provider id or a custom provider missing extends/label).
631
+ */
632
+ export declare function loadConfig(path: string, env?: Env): PersistedConfig;
633
+ export {};
634
+ //# sourceMappingURL=daemon-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-config.d.ts","sourceRoot":"","sources":["../../src/config/daemon-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AAMH,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB,aAA+D,CAAC;AAE7F,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAKtE;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoB9B,CAAC;AAEL,eAAO,MAAM,gCAAgC;;;;;;;;;;;;EAI3C,CAAC;AAMH,QAAA,MAAM,eAAe,mEAAkD,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEpB,CAAC;AAEf,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAgCpE,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAyBnD;AAMD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAO9C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,eAAe,CAuC7E;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,GAAiB,GAAG,eAAe,CAWhF"}