@otto-code/brain 0.7.5

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 (150) hide show
  1. package/bin/otto-brain +2 -0
  2. package/dist/bench/context-corpus.d.ts +58 -0
  3. package/dist/bench/context-corpus.js +210 -0
  4. package/dist/bench/corpus.d.ts +31 -0
  5. package/dist/bench/corpus.js +379 -0
  6. package/dist/bench/curated-repos.d.ts +35 -0
  7. package/dist/bench/curated-repos.js +41 -0
  8. package/dist/bench/health.d.ts +50 -0
  9. package/dist/bench/health.js +112 -0
  10. package/dist/bench/index.d.ts +103 -0
  11. package/dist/bench/index.js +209 -0
  12. package/dist/bench/mine.d.ts +32 -0
  13. package/dist/bench/mine.js +101 -0
  14. package/dist/bench/repo-task.d.ts +93 -0
  15. package/dist/bench/repo-task.js +380 -0
  16. package/dist/bench/repo.d.ts +125 -0
  17. package/dist/bench/repo.js +195 -0
  18. package/dist/bench/rescore.d.ts +41 -0
  19. package/dist/bench/rescore.js +127 -0
  20. package/dist/bench/tasks.d.ts +124 -0
  21. package/dist/bench/tasks.js +1249 -0
  22. package/dist/bench/verify.d.ts +142 -0
  23. package/dist/bench/verify.js +350 -0
  24. package/dist/cli.d.ts +13 -0
  25. package/dist/cli.js +72 -0
  26. package/dist/commands/bench.d.ts +20 -0
  27. package/dist/commands/bench.js +222 -0
  28. package/dist/commands/calibrate.d.ts +19 -0
  29. package/dist/commands/calibrate.js +75 -0
  30. package/dist/commands/catalog.d.ts +32 -0
  31. package/dist/commands/catalog.js +48 -0
  32. package/dist/commands/config.d.ts +13 -0
  33. package/dist/commands/config.js +90 -0
  34. package/dist/commands/lifecycle.d.ts +29 -0
  35. package/dist/commands/lifecycle.js +194 -0
  36. package/dist/commands/pull.d.ts +22 -0
  37. package/dist/commands/pull.js +135 -0
  38. package/dist/commands/report.d.ts +10 -0
  39. package/dist/commands/report.js +34 -0
  40. package/dist/commands/rescore.d.ts +11 -0
  41. package/dist/commands/rescore.js +48 -0
  42. package/dist/commands/runtime.d.ts +21 -0
  43. package/dist/commands/runtime.js +62 -0
  44. package/dist/commands/scan.d.ts +24 -0
  45. package/dist/commands/scan.js +55 -0
  46. package/dist/commands/search.d.ts +31 -0
  47. package/dist/commands/search.js +135 -0
  48. package/dist/commands/share.d.ts +26 -0
  49. package/dist/commands/share.js +148 -0
  50. package/dist/commands/sweep.d.ts +21 -0
  51. package/dist/commands/sweep.js +69 -0
  52. package/dist/commands/ui.d.ts +9 -0
  53. package/dist/commands/ui.js +28 -0
  54. package/dist/config/env.d.ts +10 -0
  55. package/dist/config/env.js +48 -0
  56. package/dist/config/index.d.ts +9 -0
  57. package/dist/config/index.js +9 -0
  58. package/dist/config/otto-home.d.ts +2 -0
  59. package/dist/config/otto-home.js +24 -0
  60. package/dist/config/paths.d.ts +20 -0
  61. package/dist/config/paths.js +33 -0
  62. package/dist/config/private-files.d.ts +3 -0
  63. package/dist/config/private-files.js +32 -0
  64. package/dist/config/profiles.d.ts +34 -0
  65. package/dist/config/profiles.js +116 -0
  66. package/dist/config/schema.d.ts +1035 -0
  67. package/dist/config/schema.js +191 -0
  68. package/dist/config/store.d.ts +11 -0
  69. package/dist/config/store.js +73 -0
  70. package/dist/gguf.d.ts +61 -0
  71. package/dist/gguf.js +231 -0
  72. package/dist/gpu.d.ts +12 -0
  73. package/dist/gpu.js +49 -0
  74. package/dist/index.d.ts +14 -0
  75. package/dist/index.js +13 -0
  76. package/dist/main.d.ts +2 -0
  77. package/dist/main.js +5 -0
  78. package/dist/models/dirs.d.ts +9 -0
  79. package/dist/models/dirs.js +21 -0
  80. package/dist/models/download.d.ts +31 -0
  81. package/dist/models/download.js +105 -0
  82. package/dist/models/enrich.d.ts +36 -0
  83. package/dist/models/enrich.js +68 -0
  84. package/dist/models/hf.d.ts +62 -0
  85. package/dist/models/hf.js +114 -0
  86. package/dist/models/index.d.ts +15 -0
  87. package/dist/models/index.js +49 -0
  88. package/dist/models/manage.d.ts +27 -0
  89. package/dist/models/manage.js +112 -0
  90. package/dist/models/pick.d.ts +3 -0
  91. package/dist/models/pick.js +36 -0
  92. package/dist/models/scan.d.ts +13 -0
  93. package/dist/models/scan.js +185 -0
  94. package/dist/ops/archive.d.ts +34 -0
  95. package/dist/ops/archive.js +105 -0
  96. package/dist/ops/calibrate.d.ts +49 -0
  97. package/dist/ops/calibrate.js +74 -0
  98. package/dist/ops/report.d.ts +26 -0
  99. package/dist/ops/report.js +532 -0
  100. package/dist/ops/results.d.ts +207 -0
  101. package/dist/ops/results.js +250 -0
  102. package/dist/ops/sweep.d.ts +77 -0
  103. package/dist/ops/sweep.js +126 -0
  104. package/dist/output/index.d.ts +5 -0
  105. package/dist/output/index.js +5 -0
  106. package/dist/output/render.d.ts +4 -0
  107. package/dist/output/render.js +96 -0
  108. package/dist/output/types.d.ts +52 -0
  109. package/dist/output/types.js +9 -0
  110. package/dist/output/with-output.d.ts +3 -0
  111. package/dist/output/with-output.js +42 -0
  112. package/dist/run.d.ts +5 -0
  113. package/dist/run.js +19 -0
  114. package/dist/runtime/args.d.ts +21 -0
  115. package/dist/runtime/args.js +71 -0
  116. package/dist/runtime/index.d.ts +13 -0
  117. package/dist/runtime/index.js +41 -0
  118. package/dist/runtime/lmstudio.d.ts +10 -0
  119. package/dist/runtime/lmstudio.js +88 -0
  120. package/dist/runtime/managed.d.ts +26 -0
  121. package/dist/runtime/managed.js +148 -0
  122. package/dist/service/model-selector.d.ts +36 -0
  123. package/dist/service/model-selector.js +123 -0
  124. package/dist/service/pid-lock.d.ts +18 -0
  125. package/dist/service/pid-lock.js +50 -0
  126. package/dist/service/router.d.ts +144 -0
  127. package/dist/service/router.js +746 -0
  128. package/dist/service/scheduler.d.ts +74 -0
  129. package/dist/service/scheduler.js +110 -0
  130. package/dist/service/serve.d.ts +41 -0
  131. package/dist/service/serve.js +278 -0
  132. package/dist/service/supervisor.d.ts +67 -0
  133. package/dist/service/supervisor.js +222 -0
  134. package/dist/service/tailscale.d.ts +19 -0
  135. package/dist/service/tailscale.js +62 -0
  136. package/dist/service/tls.d.ts +77 -0
  137. package/dist/service/tls.js +192 -0
  138. package/dist/sysmon.d.ts +50 -0
  139. package/dist/sysmon.js +103 -0
  140. package/dist/tui/app.d.ts +208 -0
  141. package/dist/tui/app.js +1801 -0
  142. package/dist/tui/screen.d.ts +72 -0
  143. package/dist/tui/screen.js +176 -0
  144. package/dist/types.d.ts +76 -0
  145. package/dist/types.js +7 -0
  146. package/dist/version.d.ts +2 -0
  147. package/dist/version.js +8 -0
  148. package/dist/vram.d.ts +67 -0
  149. package/dist/vram.js +132 -0
  150. package/package.json +58 -0
@@ -0,0 +1,1035 @@
1
+ /**
2
+ * Zod schemas for everything otto-brain persists. Following Otto's config
3
+ * conventions: a `version` literal, camelCase keys, `.strict()` on config the tool
4
+ * owns, `.passthrough()` on stores that must survive version skew (profiles carry
5
+ * measured data we never want a schema bump to silently drop).
6
+ */
7
+ import { z } from "zod";
8
+ export declare const DEFAULT_REASONING_MESSAGE = "Enough analysis. Write the complete answer now.";
9
+ export declare const ProfileSchema: z.ZodObject<{
10
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
11
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
12
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
13
+ contextSize: z.ZodNumber;
14
+ cacheTypeK: z.ZodDefault<z.ZodString>;
15
+ cacheTypeV: z.ZodDefault<z.ZodString>;
16
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
17
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
18
+ vision: z.ZodDefault<z.ZodBoolean>;
19
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
20
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
21
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
22
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
23
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
24
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
25
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
26
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
27
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
28
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
29
+ contextSize: z.ZodNumber;
30
+ cacheTypeK: z.ZodDefault<z.ZodString>;
31
+ cacheTypeV: z.ZodDefault<z.ZodString>;
32
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
33
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
34
+ vision: z.ZodDefault<z.ZodBoolean>;
35
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
36
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
37
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
38
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
39
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
40
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
41
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
42
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
43
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
44
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
45
+ contextSize: z.ZodNumber;
46
+ cacheTypeK: z.ZodDefault<z.ZodString>;
47
+ cacheTypeV: z.ZodDefault<z.ZodString>;
48
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
49
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
50
+ vision: z.ZodDefault<z.ZodBoolean>;
51
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
52
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
53
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
54
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
55
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
56
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
57
+ }, z.ZodTypeAny, "passthrough">>;
58
+ export type Profile = z.infer<typeof ProfileSchema>;
59
+ export declare const CalibrationSampleSchema: z.ZodObject<{
60
+ contextSize: z.ZodNumber;
61
+ deltaBytes: z.ZodNumber;
62
+ loadSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ contextSize: number;
65
+ deltaBytes: number;
66
+ loadSeconds?: number | null | undefined;
67
+ }, {
68
+ contextSize: number;
69
+ deltaBytes: number;
70
+ loadSeconds?: number | null | undefined;
71
+ }>;
72
+ export declare const CalibrationSchema: z.ZodObject<{
73
+ kvBytesPerToken: z.ZodNumber;
74
+ baseOverheadBytes: z.ZodNumber;
75
+ theoreticalKvBytesPerToken: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
76
+ theoreticalRatio: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
77
+ samples: z.ZodOptional<z.ZodArray<z.ZodObject<{
78
+ contextSize: z.ZodNumber;
79
+ deltaBytes: z.ZodNumber;
80
+ loadSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ contextSize: number;
83
+ deltaBytes: number;
84
+ loadSeconds?: number | null | undefined;
85
+ }, {
86
+ contextSize: number;
87
+ deltaBytes: number;
88
+ loadSeconds?: number | null | undefined;
89
+ }>, "many">>;
90
+ cacheTypeK: z.ZodOptional<z.ZodString>;
91
+ cacheTypeV: z.ZodOptional<z.ZodString>;
92
+ vision: z.ZodOptional<z.ZodBoolean>;
93
+ measuredAt: z.ZodOptional<z.ZodString>;
94
+ measuredOn: z.ZodOptional<z.ZodString>;
95
+ inherited: z.ZodOptional<z.ZodBoolean>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ kvBytesPerToken: number;
98
+ baseOverheadBytes: number;
99
+ cacheTypeK?: string | undefined;
100
+ cacheTypeV?: string | undefined;
101
+ vision?: boolean | undefined;
102
+ theoreticalKvBytesPerToken?: number | null | undefined;
103
+ theoreticalRatio?: number | null | undefined;
104
+ samples?: {
105
+ contextSize: number;
106
+ deltaBytes: number;
107
+ loadSeconds?: number | null | undefined;
108
+ }[] | undefined;
109
+ measuredAt?: string | undefined;
110
+ measuredOn?: string | undefined;
111
+ inherited?: boolean | undefined;
112
+ }, {
113
+ kvBytesPerToken: number;
114
+ baseOverheadBytes: number;
115
+ cacheTypeK?: string | undefined;
116
+ cacheTypeV?: string | undefined;
117
+ vision?: boolean | undefined;
118
+ theoreticalKvBytesPerToken?: number | null | undefined;
119
+ theoreticalRatio?: number | null | undefined;
120
+ samples?: {
121
+ contextSize: number;
122
+ deltaBytes: number;
123
+ loadSeconds?: number | null | undefined;
124
+ }[] | undefined;
125
+ measuredAt?: string | undefined;
126
+ measuredOn?: string | undefined;
127
+ inherited?: boolean | undefined;
128
+ }>;
129
+ export type Calibration = z.infer<typeof CalibrationSchema>;
130
+ export declare const GeometryCalibrationSchema: z.ZodObject<{
131
+ kvBytesPerTokenPerLayer: z.ZodNumber;
132
+ baseOverheadBytes: z.ZodNumber;
133
+ measuredAt: z.ZodOptional<z.ZodString>;
134
+ measuredOn: z.ZodOptional<z.ZodString>;
135
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
136
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
137
+ kvBytesPerTokenPerLayer: z.ZodNumber;
138
+ baseOverheadBytes: z.ZodNumber;
139
+ measuredAt: z.ZodOptional<z.ZodString>;
140
+ measuredOn: z.ZodOptional<z.ZodString>;
141
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
142
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
143
+ kvBytesPerTokenPerLayer: z.ZodNumber;
144
+ baseOverheadBytes: z.ZodNumber;
145
+ measuredAt: z.ZodOptional<z.ZodString>;
146
+ measuredOn: z.ZodOptional<z.ZodString>;
147
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
148
+ }, z.ZodTypeAny, "passthrough">>;
149
+ export type GeometryCalibration = z.infer<typeof GeometryCalibrationSchema>;
150
+ export declare const ProfilesStoreSchema: z.ZodObject<{
151
+ version: z.ZodDefault<z.ZodLiteral<1>>;
152
+ profiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
153
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
154
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
155
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
156
+ contextSize: z.ZodNumber;
157
+ cacheTypeK: z.ZodDefault<z.ZodString>;
158
+ cacheTypeV: z.ZodDefault<z.ZodString>;
159
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
160
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
161
+ vision: z.ZodDefault<z.ZodBoolean>;
162
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
163
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
164
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
165
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
166
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
167
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
168
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
169
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
170
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
171
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
172
+ contextSize: z.ZodNumber;
173
+ cacheTypeK: z.ZodDefault<z.ZodString>;
174
+ cacheTypeV: z.ZodDefault<z.ZodString>;
175
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
176
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
177
+ vision: z.ZodDefault<z.ZodBoolean>;
178
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
179
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
180
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
181
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
182
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
183
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
184
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
185
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
186
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
187
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
188
+ contextSize: z.ZodNumber;
189
+ cacheTypeK: z.ZodDefault<z.ZodString>;
190
+ cacheTypeV: z.ZodDefault<z.ZodString>;
191
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
192
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
193
+ vision: z.ZodDefault<z.ZodBoolean>;
194
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
195
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
196
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
197
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
198
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
199
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
200
+ }, z.ZodTypeAny, "passthrough">>>>;
201
+ calibrations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
202
+ kvBytesPerToken: z.ZodNumber;
203
+ baseOverheadBytes: z.ZodNumber;
204
+ theoreticalKvBytesPerToken: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
205
+ theoreticalRatio: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
206
+ samples: z.ZodOptional<z.ZodArray<z.ZodObject<{
207
+ contextSize: z.ZodNumber;
208
+ deltaBytes: z.ZodNumber;
209
+ loadSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
210
+ }, "strip", z.ZodTypeAny, {
211
+ contextSize: number;
212
+ deltaBytes: number;
213
+ loadSeconds?: number | null | undefined;
214
+ }, {
215
+ contextSize: number;
216
+ deltaBytes: number;
217
+ loadSeconds?: number | null | undefined;
218
+ }>, "many">>;
219
+ cacheTypeK: z.ZodOptional<z.ZodString>;
220
+ cacheTypeV: z.ZodOptional<z.ZodString>;
221
+ vision: z.ZodOptional<z.ZodBoolean>;
222
+ measuredAt: z.ZodOptional<z.ZodString>;
223
+ measuredOn: z.ZodOptional<z.ZodString>;
224
+ inherited: z.ZodOptional<z.ZodBoolean>;
225
+ }, "strip", z.ZodTypeAny, {
226
+ kvBytesPerToken: number;
227
+ baseOverheadBytes: number;
228
+ cacheTypeK?: string | undefined;
229
+ cacheTypeV?: string | undefined;
230
+ vision?: boolean | undefined;
231
+ theoreticalKvBytesPerToken?: number | null | undefined;
232
+ theoreticalRatio?: number | null | undefined;
233
+ samples?: {
234
+ contextSize: number;
235
+ deltaBytes: number;
236
+ loadSeconds?: number | null | undefined;
237
+ }[] | undefined;
238
+ measuredAt?: string | undefined;
239
+ measuredOn?: string | undefined;
240
+ inherited?: boolean | undefined;
241
+ }, {
242
+ kvBytesPerToken: number;
243
+ baseOverheadBytes: number;
244
+ cacheTypeK?: string | undefined;
245
+ cacheTypeV?: string | undefined;
246
+ vision?: boolean | undefined;
247
+ theoreticalKvBytesPerToken?: number | null | undefined;
248
+ theoreticalRatio?: number | null | undefined;
249
+ samples?: {
250
+ contextSize: number;
251
+ deltaBytes: number;
252
+ loadSeconds?: number | null | undefined;
253
+ }[] | undefined;
254
+ measuredAt?: string | undefined;
255
+ measuredOn?: string | undefined;
256
+ inherited?: boolean | undefined;
257
+ }>>>>;
258
+ geometryCalibrations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
259
+ kvBytesPerTokenPerLayer: z.ZodNumber;
260
+ baseOverheadBytes: z.ZodNumber;
261
+ measuredAt: z.ZodOptional<z.ZodString>;
262
+ measuredOn: z.ZodOptional<z.ZodString>;
263
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
264
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
265
+ kvBytesPerTokenPerLayer: z.ZodNumber;
266
+ baseOverheadBytes: z.ZodNumber;
267
+ measuredAt: z.ZodOptional<z.ZodString>;
268
+ measuredOn: z.ZodOptional<z.ZodString>;
269
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
270
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
271
+ kvBytesPerTokenPerLayer: z.ZodNumber;
272
+ baseOverheadBytes: z.ZodNumber;
273
+ measuredAt: z.ZodOptional<z.ZodString>;
274
+ measuredOn: z.ZodOptional<z.ZodString>;
275
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
276
+ }, z.ZodTypeAny, "passthrough">>>>;
277
+ lastModelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
278
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
279
+ version: z.ZodDefault<z.ZodLiteral<1>>;
280
+ profiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
281
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
282
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
283
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
284
+ contextSize: z.ZodNumber;
285
+ cacheTypeK: z.ZodDefault<z.ZodString>;
286
+ cacheTypeV: z.ZodDefault<z.ZodString>;
287
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
288
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
289
+ vision: z.ZodDefault<z.ZodBoolean>;
290
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
291
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
292
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
293
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
294
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
295
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
296
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
297
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
298
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
299
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
300
+ contextSize: z.ZodNumber;
301
+ cacheTypeK: z.ZodDefault<z.ZodString>;
302
+ cacheTypeV: z.ZodDefault<z.ZodString>;
303
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
304
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
305
+ vision: z.ZodDefault<z.ZodBoolean>;
306
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
307
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
308
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
309
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
310
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
311
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
312
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
313
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
314
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
315
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
316
+ contextSize: z.ZodNumber;
317
+ cacheTypeK: z.ZodDefault<z.ZodString>;
318
+ cacheTypeV: z.ZodDefault<z.ZodString>;
319
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
320
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
321
+ vision: z.ZodDefault<z.ZodBoolean>;
322
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
323
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
324
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
325
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
326
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
327
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
328
+ }, z.ZodTypeAny, "passthrough">>>>;
329
+ calibrations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
330
+ kvBytesPerToken: z.ZodNumber;
331
+ baseOverheadBytes: z.ZodNumber;
332
+ theoreticalKvBytesPerToken: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
333
+ theoreticalRatio: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
334
+ samples: z.ZodOptional<z.ZodArray<z.ZodObject<{
335
+ contextSize: z.ZodNumber;
336
+ deltaBytes: z.ZodNumber;
337
+ loadSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
338
+ }, "strip", z.ZodTypeAny, {
339
+ contextSize: number;
340
+ deltaBytes: number;
341
+ loadSeconds?: number | null | undefined;
342
+ }, {
343
+ contextSize: number;
344
+ deltaBytes: number;
345
+ loadSeconds?: number | null | undefined;
346
+ }>, "many">>;
347
+ cacheTypeK: z.ZodOptional<z.ZodString>;
348
+ cacheTypeV: z.ZodOptional<z.ZodString>;
349
+ vision: z.ZodOptional<z.ZodBoolean>;
350
+ measuredAt: z.ZodOptional<z.ZodString>;
351
+ measuredOn: z.ZodOptional<z.ZodString>;
352
+ inherited: z.ZodOptional<z.ZodBoolean>;
353
+ }, "strip", z.ZodTypeAny, {
354
+ kvBytesPerToken: number;
355
+ baseOverheadBytes: number;
356
+ cacheTypeK?: string | undefined;
357
+ cacheTypeV?: string | undefined;
358
+ vision?: boolean | undefined;
359
+ theoreticalKvBytesPerToken?: number | null | undefined;
360
+ theoreticalRatio?: number | null | undefined;
361
+ samples?: {
362
+ contextSize: number;
363
+ deltaBytes: number;
364
+ loadSeconds?: number | null | undefined;
365
+ }[] | undefined;
366
+ measuredAt?: string | undefined;
367
+ measuredOn?: string | undefined;
368
+ inherited?: boolean | undefined;
369
+ }, {
370
+ kvBytesPerToken: number;
371
+ baseOverheadBytes: number;
372
+ cacheTypeK?: string | undefined;
373
+ cacheTypeV?: string | undefined;
374
+ vision?: boolean | undefined;
375
+ theoreticalKvBytesPerToken?: number | null | undefined;
376
+ theoreticalRatio?: number | null | undefined;
377
+ samples?: {
378
+ contextSize: number;
379
+ deltaBytes: number;
380
+ loadSeconds?: number | null | undefined;
381
+ }[] | undefined;
382
+ measuredAt?: string | undefined;
383
+ measuredOn?: string | undefined;
384
+ inherited?: boolean | undefined;
385
+ }>>>>;
386
+ geometryCalibrations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
387
+ kvBytesPerTokenPerLayer: z.ZodNumber;
388
+ baseOverheadBytes: z.ZodNumber;
389
+ measuredAt: z.ZodOptional<z.ZodString>;
390
+ measuredOn: z.ZodOptional<z.ZodString>;
391
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
392
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
393
+ kvBytesPerTokenPerLayer: z.ZodNumber;
394
+ baseOverheadBytes: z.ZodNumber;
395
+ measuredAt: z.ZodOptional<z.ZodString>;
396
+ measuredOn: z.ZodOptional<z.ZodString>;
397
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
398
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
399
+ kvBytesPerTokenPerLayer: z.ZodNumber;
400
+ baseOverheadBytes: z.ZodNumber;
401
+ measuredAt: z.ZodOptional<z.ZodString>;
402
+ measuredOn: z.ZodOptional<z.ZodString>;
403
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
404
+ }, z.ZodTypeAny, "passthrough">>>>;
405
+ lastModelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
406
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
407
+ version: z.ZodDefault<z.ZodLiteral<1>>;
408
+ profiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
409
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
410
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
411
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
412
+ contextSize: z.ZodNumber;
413
+ cacheTypeK: z.ZodDefault<z.ZodString>;
414
+ cacheTypeV: z.ZodDefault<z.ZodString>;
415
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
416
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
417
+ vision: z.ZodDefault<z.ZodBoolean>;
418
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
419
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
420
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
421
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
422
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
423
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
424
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
425
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
426
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
427
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
428
+ contextSize: z.ZodNumber;
429
+ cacheTypeK: z.ZodDefault<z.ZodString>;
430
+ cacheTypeV: z.ZodDefault<z.ZodString>;
431
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
432
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
433
+ vision: z.ZodDefault<z.ZodBoolean>;
434
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
435
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
436
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
437
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
438
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
439
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
440
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
441
+ modelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
442
+ modelPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
443
+ mmprojPath: z.ZodDefault<z.ZodNullable<z.ZodString>>;
444
+ contextSize: z.ZodNumber;
445
+ cacheTypeK: z.ZodDefault<z.ZodString>;
446
+ cacheTypeV: z.ZodDefault<z.ZodString>;
447
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
448
+ gpuLayers: z.ZodDefault<z.ZodNumber>;
449
+ vision: z.ZodDefault<z.ZodBoolean>;
450
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
451
+ reasoningBudgetMessage: z.ZodDefault<z.ZodString>;
452
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
453
+ batchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
454
+ ubatchSize: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
455
+ extraArgs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
456
+ }, z.ZodTypeAny, "passthrough">>>>;
457
+ calibrations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
458
+ kvBytesPerToken: z.ZodNumber;
459
+ baseOverheadBytes: z.ZodNumber;
460
+ theoreticalKvBytesPerToken: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
461
+ theoreticalRatio: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
462
+ samples: z.ZodOptional<z.ZodArray<z.ZodObject<{
463
+ contextSize: z.ZodNumber;
464
+ deltaBytes: z.ZodNumber;
465
+ loadSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
466
+ }, "strip", z.ZodTypeAny, {
467
+ contextSize: number;
468
+ deltaBytes: number;
469
+ loadSeconds?: number | null | undefined;
470
+ }, {
471
+ contextSize: number;
472
+ deltaBytes: number;
473
+ loadSeconds?: number | null | undefined;
474
+ }>, "many">>;
475
+ cacheTypeK: z.ZodOptional<z.ZodString>;
476
+ cacheTypeV: z.ZodOptional<z.ZodString>;
477
+ vision: z.ZodOptional<z.ZodBoolean>;
478
+ measuredAt: z.ZodOptional<z.ZodString>;
479
+ measuredOn: z.ZodOptional<z.ZodString>;
480
+ inherited: z.ZodOptional<z.ZodBoolean>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ kvBytesPerToken: number;
483
+ baseOverheadBytes: number;
484
+ cacheTypeK?: string | undefined;
485
+ cacheTypeV?: string | undefined;
486
+ vision?: boolean | undefined;
487
+ theoreticalKvBytesPerToken?: number | null | undefined;
488
+ theoreticalRatio?: number | null | undefined;
489
+ samples?: {
490
+ contextSize: number;
491
+ deltaBytes: number;
492
+ loadSeconds?: number | null | undefined;
493
+ }[] | undefined;
494
+ measuredAt?: string | undefined;
495
+ measuredOn?: string | undefined;
496
+ inherited?: boolean | undefined;
497
+ }, {
498
+ kvBytesPerToken: number;
499
+ baseOverheadBytes: number;
500
+ cacheTypeK?: string | undefined;
501
+ cacheTypeV?: string | undefined;
502
+ vision?: boolean | undefined;
503
+ theoreticalKvBytesPerToken?: number | null | undefined;
504
+ theoreticalRatio?: number | null | undefined;
505
+ samples?: {
506
+ contextSize: number;
507
+ deltaBytes: number;
508
+ loadSeconds?: number | null | undefined;
509
+ }[] | undefined;
510
+ measuredAt?: string | undefined;
511
+ measuredOn?: string | undefined;
512
+ inherited?: boolean | undefined;
513
+ }>>>>;
514
+ geometryCalibrations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
515
+ kvBytesPerTokenPerLayer: z.ZodNumber;
516
+ baseOverheadBytes: z.ZodNumber;
517
+ measuredAt: z.ZodOptional<z.ZodString>;
518
+ measuredOn: z.ZodOptional<z.ZodString>;
519
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
520
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
521
+ kvBytesPerTokenPerLayer: z.ZodNumber;
522
+ baseOverheadBytes: z.ZodNumber;
523
+ measuredAt: z.ZodOptional<z.ZodString>;
524
+ measuredOn: z.ZodOptional<z.ZodString>;
525
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
526
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
527
+ kvBytesPerTokenPerLayer: z.ZodNumber;
528
+ baseOverheadBytes: z.ZodNumber;
529
+ measuredAt: z.ZodOptional<z.ZodString>;
530
+ measuredOn: z.ZodOptional<z.ZodString>;
531
+ measuredLayers: z.ZodOptional<z.ZodNumber>;
532
+ }, z.ZodTypeAny, "passthrough">>>>;
533
+ lastModelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
534
+ }, z.ZodTypeAny, "passthrough">>;
535
+ export type ProfilesStore = z.infer<typeof ProfilesStoreSchema>;
536
+ export declare const ListenSchema: z.ZodObject<{
537
+ host: z.ZodDefault<z.ZodString>;
538
+ port: z.ZodDefault<z.ZodNumber>;
539
+ }, "strict", z.ZodTypeAny, {
540
+ host: string;
541
+ port: number;
542
+ }, {
543
+ host?: string | undefined;
544
+ port?: number | undefined;
545
+ }>;
546
+ export type Listen = z.infer<typeof ListenSchema>;
547
+ /**
548
+ * Remote auth. `none` is only safe on a loopback bind; exposing the brain on a
549
+ * non-loopback host should carry a token. The service layer enforces this.
550
+ */
551
+ export declare const AuthSchema: z.ZodObject<{
552
+ mode: z.ZodDefault<z.ZodEnum<["none", "token"]>>;
553
+ token: z.ZodDefault<z.ZodNullable<z.ZodString>>;
554
+ }, "strict", z.ZodTypeAny, {
555
+ mode: "none" | "token";
556
+ token: string | null;
557
+ }, {
558
+ mode?: "none" | "token" | undefined;
559
+ token?: string | null | undefined;
560
+ }>;
561
+ export type Auth = z.infer<typeof AuthSchema>;
562
+ /**
563
+ * TLS termination, built into the brain so it can be exposed over HTTPS with no
564
+ * relay in front. Four modes:
565
+ * - `off` — plain HTTP (the default; loopback-only is the safe posture).
566
+ * - `files` — bring your own cert/key (a real cert, or one you manage).
567
+ * - `self-signed` — generate a local keypair on first run, cached under `certDir`.
568
+ * - `tailscale` — issue and auto-renew a real Let's Encrypt cert for this
569
+ * machine's MagicDNS name via `tailscaled` (no cert warnings on
570
+ * the tailnet). `hostname` is auto-detected when null.
571
+ * The service layer enforces that a non-loopback bind still carries auth.
572
+ */
573
+ export declare const TlsSchema: z.ZodObject<{
574
+ mode: z.ZodDefault<z.ZodEnum<["off", "files", "self-signed", "tailscale"]>>;
575
+ certFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
576
+ keyFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
577
+ hostname: z.ZodDefault<z.ZodNullable<z.ZodString>>;
578
+ certDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
579
+ renewBeforeDays: z.ZodDefault<z.ZodNumber>;
580
+ checkIntervalMs: z.ZodDefault<z.ZodNumber>;
581
+ tailscaleExe: z.ZodDefault<z.ZodNullable<z.ZodString>>;
582
+ }, "strict", z.ZodTypeAny, {
583
+ mode: "off" | "files" | "self-signed" | "tailscale";
584
+ certFile: string | null;
585
+ keyFile: string | null;
586
+ hostname: string | null;
587
+ certDir: string | null;
588
+ renewBeforeDays: number;
589
+ checkIntervalMs: number;
590
+ tailscaleExe: string | null;
591
+ }, {
592
+ mode?: "off" | "files" | "self-signed" | "tailscale" | undefined;
593
+ certFile?: string | null | undefined;
594
+ keyFile?: string | null | undefined;
595
+ hostname?: string | null | undefined;
596
+ certDir?: string | null | undefined;
597
+ renewBeforeDays?: number | undefined;
598
+ checkIntervalMs?: number | undefined;
599
+ tailscaleExe?: string | null | undefined;
600
+ }>;
601
+ export type Tls = z.infer<typeof TlsSchema>;
602
+ export declare const RuntimeConfigSchema: z.ZodObject<{
603
+ source: z.ZodDefault<z.ZodEnum<["auto", "managed", "lmstudio"]>>;
604
+ path: z.ZodDefault<z.ZodNullable<z.ZodString>>;
605
+ }, "strict", z.ZodTypeAny, {
606
+ path: string | null;
607
+ source: "auto" | "managed" | "lmstudio";
608
+ }, {
609
+ path?: string | null | undefined;
610
+ source?: "auto" | "managed" | "lmstudio" | undefined;
611
+ }>;
612
+ export type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;
613
+ export declare const ProfileDefaultsSchema: z.ZodObject<{
614
+ cacheTypeK: z.ZodDefault<z.ZodString>;
615
+ cacheTypeV: z.ZodDefault<z.ZodString>;
616
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
617
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
618
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
619
+ contextCap: z.ZodDefault<z.ZodNumber>;
620
+ }, "strict", z.ZodTypeAny, {
621
+ cacheTypeK: string;
622
+ cacheTypeV: string;
623
+ flashAttention: boolean;
624
+ reasoningBudget: number;
625
+ parallelSlots: number;
626
+ contextCap: number;
627
+ }, {
628
+ cacheTypeK?: string | undefined;
629
+ cacheTypeV?: string | undefined;
630
+ flashAttention?: boolean | undefined;
631
+ reasoningBudget?: number | undefined;
632
+ parallelSlots?: number | undefined;
633
+ contextCap?: number | undefined;
634
+ }>;
635
+ export type ProfileDefaults = z.infer<typeof ProfileDefaultsSchema>;
636
+ export declare const BrainConfigSchema: z.ZodObject<{
637
+ version: z.ZodDefault<z.ZodLiteral<1>>;
638
+ enabled: z.ZodDefault<z.ZodBoolean>;
639
+ autoStart: z.ZodDefault<z.ZodBoolean>;
640
+ listen: z.ZodDefault<z.ZodObject<{
641
+ host: z.ZodDefault<z.ZodString>;
642
+ port: z.ZodDefault<z.ZodNumber>;
643
+ }, "strict", z.ZodTypeAny, {
644
+ host: string;
645
+ port: number;
646
+ }, {
647
+ host?: string | undefined;
648
+ port?: number | undefined;
649
+ }>>;
650
+ auth: z.ZodDefault<z.ZodObject<{
651
+ mode: z.ZodDefault<z.ZodEnum<["none", "token"]>>;
652
+ token: z.ZodDefault<z.ZodNullable<z.ZodString>>;
653
+ }, "strict", z.ZodTypeAny, {
654
+ mode: "none" | "token";
655
+ token: string | null;
656
+ }, {
657
+ mode?: "none" | "token" | undefined;
658
+ token?: string | null | undefined;
659
+ }>>;
660
+ tls: z.ZodDefault<z.ZodObject<{
661
+ mode: z.ZodDefault<z.ZodEnum<["off", "files", "self-signed", "tailscale"]>>;
662
+ certFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
663
+ keyFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
664
+ hostname: z.ZodDefault<z.ZodNullable<z.ZodString>>;
665
+ certDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
666
+ renewBeforeDays: z.ZodDefault<z.ZodNumber>;
667
+ checkIntervalMs: z.ZodDefault<z.ZodNumber>;
668
+ tailscaleExe: z.ZodDefault<z.ZodNullable<z.ZodString>>;
669
+ }, "strict", z.ZodTypeAny, {
670
+ mode: "off" | "files" | "self-signed" | "tailscale";
671
+ certFile: string | null;
672
+ keyFile: string | null;
673
+ hostname: string | null;
674
+ certDir: string | null;
675
+ renewBeforeDays: number;
676
+ checkIntervalMs: number;
677
+ tailscaleExe: string | null;
678
+ }, {
679
+ mode?: "off" | "files" | "self-signed" | "tailscale" | undefined;
680
+ certFile?: string | null | undefined;
681
+ keyFile?: string | null | undefined;
682
+ hostname?: string | null | undefined;
683
+ certDir?: string | null | undefined;
684
+ renewBeforeDays?: number | undefined;
685
+ checkIntervalMs?: number | undefined;
686
+ tailscaleExe?: string | null | undefined;
687
+ }>>;
688
+ runtime: z.ZodDefault<z.ZodObject<{
689
+ source: z.ZodDefault<z.ZodEnum<["auto", "managed", "lmstudio"]>>;
690
+ path: z.ZodDefault<z.ZodNullable<z.ZodString>>;
691
+ }, "strict", z.ZodTypeAny, {
692
+ path: string | null;
693
+ source: "auto" | "managed" | "lmstudio";
694
+ }, {
695
+ path?: string | null | undefined;
696
+ source?: "auto" | "managed" | "lmstudio" | undefined;
697
+ }>>;
698
+ modelsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
699
+ hfToken: z.ZodDefault<z.ZodNullable<z.ZodString>>;
700
+ defaultModel: z.ZodDefault<z.ZodNullable<z.ZodString>>;
701
+ lockModel: z.ZodDefault<z.ZodBoolean>;
702
+ allowRemoteConfig: z.ZodDefault<z.ZodBoolean>;
703
+ allowInsecureBind: z.ZodDefault<z.ZodBoolean>;
704
+ defaults: z.ZodDefault<z.ZodObject<{
705
+ cacheTypeK: z.ZodDefault<z.ZodString>;
706
+ cacheTypeV: z.ZodDefault<z.ZodString>;
707
+ flashAttention: z.ZodDefault<z.ZodBoolean>;
708
+ reasoningBudget: z.ZodDefault<z.ZodNumber>;
709
+ parallelSlots: z.ZodDefault<z.ZodNumber>;
710
+ contextCap: z.ZodDefault<z.ZodNumber>;
711
+ }, "strict", z.ZodTypeAny, {
712
+ cacheTypeK: string;
713
+ cacheTypeV: string;
714
+ flashAttention: boolean;
715
+ reasoningBudget: number;
716
+ parallelSlots: number;
717
+ contextCap: number;
718
+ }, {
719
+ cacheTypeK?: string | undefined;
720
+ cacheTypeV?: string | undefined;
721
+ flashAttention?: boolean | undefined;
722
+ reasoningBudget?: number | undefined;
723
+ parallelSlots?: number | undefined;
724
+ contextCap?: number | undefined;
725
+ }>>;
726
+ }, "strict", z.ZodTypeAny, {
727
+ version: 1;
728
+ enabled: boolean;
729
+ autoStart: boolean;
730
+ listen: {
731
+ host: string;
732
+ port: number;
733
+ };
734
+ auth: {
735
+ mode: "none" | "token";
736
+ token: string | null;
737
+ };
738
+ tls: {
739
+ mode: "off" | "files" | "self-signed" | "tailscale";
740
+ certFile: string | null;
741
+ keyFile: string | null;
742
+ hostname: string | null;
743
+ certDir: string | null;
744
+ renewBeforeDays: number;
745
+ checkIntervalMs: number;
746
+ tailscaleExe: string | null;
747
+ };
748
+ runtime: {
749
+ path: string | null;
750
+ source: "auto" | "managed" | "lmstudio";
751
+ };
752
+ modelsDir: string | null;
753
+ hfToken: string | null;
754
+ defaultModel: string | null;
755
+ lockModel: boolean;
756
+ allowRemoteConfig: boolean;
757
+ allowInsecureBind: boolean;
758
+ defaults: {
759
+ cacheTypeK: string;
760
+ cacheTypeV: string;
761
+ flashAttention: boolean;
762
+ reasoningBudget: number;
763
+ parallelSlots: number;
764
+ contextCap: number;
765
+ };
766
+ }, {
767
+ version?: 1 | undefined;
768
+ enabled?: boolean | undefined;
769
+ autoStart?: boolean | undefined;
770
+ listen?: {
771
+ host?: string | undefined;
772
+ port?: number | undefined;
773
+ } | undefined;
774
+ auth?: {
775
+ mode?: "none" | "token" | undefined;
776
+ token?: string | null | undefined;
777
+ } | undefined;
778
+ tls?: {
779
+ mode?: "off" | "files" | "self-signed" | "tailscale" | undefined;
780
+ certFile?: string | null | undefined;
781
+ keyFile?: string | null | undefined;
782
+ hostname?: string | null | undefined;
783
+ certDir?: string | null | undefined;
784
+ renewBeforeDays?: number | undefined;
785
+ checkIntervalMs?: number | undefined;
786
+ tailscaleExe?: string | null | undefined;
787
+ } | undefined;
788
+ runtime?: {
789
+ path?: string | null | undefined;
790
+ source?: "auto" | "managed" | "lmstudio" | undefined;
791
+ } | undefined;
792
+ modelsDir?: string | null | undefined;
793
+ hfToken?: string | null | undefined;
794
+ defaultModel?: string | null | undefined;
795
+ lockModel?: boolean | undefined;
796
+ allowRemoteConfig?: boolean | undefined;
797
+ allowInsecureBind?: boolean | undefined;
798
+ defaults?: {
799
+ cacheTypeK?: string | undefined;
800
+ cacheTypeV?: string | undefined;
801
+ flashAttention?: boolean | undefined;
802
+ reasoningBudget?: number | undefined;
803
+ parallelSlots?: number | undefined;
804
+ contextCap?: number | undefined;
805
+ } | undefined;
806
+ }>;
807
+ export type BrainConfig = z.infer<typeof BrainConfigSchema>;
808
+ export declare const DEFAULT_BRAIN_CONFIG: BrainConfig;
809
+ export declare const CatalogModelSchema: z.ZodObject<{
810
+ id: z.ZodString;
811
+ name: z.ZodString;
812
+ publisher: z.ZodOptional<z.ZodString>;
813
+ hfRepo: z.ZodString;
814
+ quant: z.ZodString;
815
+ quantFile: z.ZodOptional<z.ZodString>;
816
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
817
+ params: z.ZodOptional<z.ZodString>;
818
+ moe: z.ZodOptional<z.ZodBoolean>;
819
+ vision: z.ZodOptional<z.ZodBoolean>;
820
+ thinking: z.ZodOptional<z.ZodBoolean>;
821
+ contextMax: z.ZodOptional<z.ZodNumber>;
822
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
823
+ tier: z.ZodOptional<z.ZodString>;
824
+ why: z.ZodOptional<z.ZodString>;
825
+ status: z.ZodOptional<z.ZodString>;
826
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
827
+ id: z.ZodString;
828
+ name: z.ZodString;
829
+ publisher: z.ZodOptional<z.ZodString>;
830
+ hfRepo: z.ZodString;
831
+ quant: z.ZodString;
832
+ quantFile: z.ZodOptional<z.ZodString>;
833
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
834
+ params: z.ZodOptional<z.ZodString>;
835
+ moe: z.ZodOptional<z.ZodBoolean>;
836
+ vision: z.ZodOptional<z.ZodBoolean>;
837
+ thinking: z.ZodOptional<z.ZodBoolean>;
838
+ contextMax: z.ZodOptional<z.ZodNumber>;
839
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
840
+ tier: z.ZodOptional<z.ZodString>;
841
+ why: z.ZodOptional<z.ZodString>;
842
+ status: z.ZodOptional<z.ZodString>;
843
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
844
+ id: z.ZodString;
845
+ name: z.ZodString;
846
+ publisher: z.ZodOptional<z.ZodString>;
847
+ hfRepo: z.ZodString;
848
+ quant: z.ZodString;
849
+ quantFile: z.ZodOptional<z.ZodString>;
850
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
851
+ params: z.ZodOptional<z.ZodString>;
852
+ moe: z.ZodOptional<z.ZodBoolean>;
853
+ vision: z.ZodOptional<z.ZodBoolean>;
854
+ thinking: z.ZodOptional<z.ZodBoolean>;
855
+ contextMax: z.ZodOptional<z.ZodNumber>;
856
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
857
+ tier: z.ZodOptional<z.ZodString>;
858
+ why: z.ZodOptional<z.ZodString>;
859
+ status: z.ZodOptional<z.ZodString>;
860
+ }, z.ZodTypeAny, "passthrough">>;
861
+ export type CatalogModel = z.infer<typeof CatalogModelSchema>;
862
+ export declare const CatalogSchema: z.ZodObject<{
863
+ version: z.ZodDefault<z.ZodLiteral<1>>;
864
+ note: z.ZodOptional<z.ZodString>;
865
+ vramBudgetBytes: z.ZodOptional<z.ZodNumber>;
866
+ systemRamBytes: z.ZodOptional<z.ZodNumber>;
867
+ models: z.ZodDefault<z.ZodArray<z.ZodObject<{
868
+ id: z.ZodString;
869
+ name: z.ZodString;
870
+ publisher: z.ZodOptional<z.ZodString>;
871
+ hfRepo: z.ZodString;
872
+ quant: z.ZodString;
873
+ quantFile: z.ZodOptional<z.ZodString>;
874
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
875
+ params: z.ZodOptional<z.ZodString>;
876
+ moe: z.ZodOptional<z.ZodBoolean>;
877
+ vision: z.ZodOptional<z.ZodBoolean>;
878
+ thinking: z.ZodOptional<z.ZodBoolean>;
879
+ contextMax: z.ZodOptional<z.ZodNumber>;
880
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
881
+ tier: z.ZodOptional<z.ZodString>;
882
+ why: z.ZodOptional<z.ZodString>;
883
+ status: z.ZodOptional<z.ZodString>;
884
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
885
+ id: z.ZodString;
886
+ name: z.ZodString;
887
+ publisher: z.ZodOptional<z.ZodString>;
888
+ hfRepo: z.ZodString;
889
+ quant: z.ZodString;
890
+ quantFile: z.ZodOptional<z.ZodString>;
891
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
892
+ params: z.ZodOptional<z.ZodString>;
893
+ moe: z.ZodOptional<z.ZodBoolean>;
894
+ vision: z.ZodOptional<z.ZodBoolean>;
895
+ thinking: z.ZodOptional<z.ZodBoolean>;
896
+ contextMax: z.ZodOptional<z.ZodNumber>;
897
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
898
+ tier: z.ZodOptional<z.ZodString>;
899
+ why: z.ZodOptional<z.ZodString>;
900
+ status: z.ZodOptional<z.ZodString>;
901
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
902
+ id: z.ZodString;
903
+ name: z.ZodString;
904
+ publisher: z.ZodOptional<z.ZodString>;
905
+ hfRepo: z.ZodString;
906
+ quant: z.ZodString;
907
+ quantFile: z.ZodOptional<z.ZodString>;
908
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
909
+ params: z.ZodOptional<z.ZodString>;
910
+ moe: z.ZodOptional<z.ZodBoolean>;
911
+ vision: z.ZodOptional<z.ZodBoolean>;
912
+ thinking: z.ZodOptional<z.ZodBoolean>;
913
+ contextMax: z.ZodOptional<z.ZodNumber>;
914
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
915
+ tier: z.ZodOptional<z.ZodString>;
916
+ why: z.ZodOptional<z.ZodString>;
917
+ status: z.ZodOptional<z.ZodString>;
918
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
919
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
920
+ version: z.ZodDefault<z.ZodLiteral<1>>;
921
+ note: z.ZodOptional<z.ZodString>;
922
+ vramBudgetBytes: z.ZodOptional<z.ZodNumber>;
923
+ systemRamBytes: z.ZodOptional<z.ZodNumber>;
924
+ models: z.ZodDefault<z.ZodArray<z.ZodObject<{
925
+ id: z.ZodString;
926
+ name: z.ZodString;
927
+ publisher: z.ZodOptional<z.ZodString>;
928
+ hfRepo: z.ZodString;
929
+ quant: z.ZodString;
930
+ quantFile: z.ZodOptional<z.ZodString>;
931
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
932
+ params: z.ZodOptional<z.ZodString>;
933
+ moe: z.ZodOptional<z.ZodBoolean>;
934
+ vision: z.ZodOptional<z.ZodBoolean>;
935
+ thinking: z.ZodOptional<z.ZodBoolean>;
936
+ contextMax: z.ZodOptional<z.ZodNumber>;
937
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
938
+ tier: z.ZodOptional<z.ZodString>;
939
+ why: z.ZodOptional<z.ZodString>;
940
+ status: z.ZodOptional<z.ZodString>;
941
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
942
+ id: z.ZodString;
943
+ name: z.ZodString;
944
+ publisher: z.ZodOptional<z.ZodString>;
945
+ hfRepo: z.ZodString;
946
+ quant: z.ZodString;
947
+ quantFile: z.ZodOptional<z.ZodString>;
948
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
949
+ params: z.ZodOptional<z.ZodString>;
950
+ moe: z.ZodOptional<z.ZodBoolean>;
951
+ vision: z.ZodOptional<z.ZodBoolean>;
952
+ thinking: z.ZodOptional<z.ZodBoolean>;
953
+ contextMax: z.ZodOptional<z.ZodNumber>;
954
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
955
+ tier: z.ZodOptional<z.ZodString>;
956
+ why: z.ZodOptional<z.ZodString>;
957
+ status: z.ZodOptional<z.ZodString>;
958
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
959
+ id: z.ZodString;
960
+ name: z.ZodString;
961
+ publisher: z.ZodOptional<z.ZodString>;
962
+ hfRepo: z.ZodString;
963
+ quant: z.ZodString;
964
+ quantFile: z.ZodOptional<z.ZodString>;
965
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
966
+ params: z.ZodOptional<z.ZodString>;
967
+ moe: z.ZodOptional<z.ZodBoolean>;
968
+ vision: z.ZodOptional<z.ZodBoolean>;
969
+ thinking: z.ZodOptional<z.ZodBoolean>;
970
+ contextMax: z.ZodOptional<z.ZodNumber>;
971
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
972
+ tier: z.ZodOptional<z.ZodString>;
973
+ why: z.ZodOptional<z.ZodString>;
974
+ status: z.ZodOptional<z.ZodString>;
975
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
976
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
977
+ version: z.ZodDefault<z.ZodLiteral<1>>;
978
+ note: z.ZodOptional<z.ZodString>;
979
+ vramBudgetBytes: z.ZodOptional<z.ZodNumber>;
980
+ systemRamBytes: z.ZodOptional<z.ZodNumber>;
981
+ models: z.ZodDefault<z.ZodArray<z.ZodObject<{
982
+ id: z.ZodString;
983
+ name: z.ZodString;
984
+ publisher: z.ZodOptional<z.ZodString>;
985
+ hfRepo: z.ZodString;
986
+ quant: z.ZodString;
987
+ quantFile: z.ZodOptional<z.ZodString>;
988
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
989
+ params: z.ZodOptional<z.ZodString>;
990
+ moe: z.ZodOptional<z.ZodBoolean>;
991
+ vision: z.ZodOptional<z.ZodBoolean>;
992
+ thinking: z.ZodOptional<z.ZodBoolean>;
993
+ contextMax: z.ZodOptional<z.ZodNumber>;
994
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
995
+ tier: z.ZodOptional<z.ZodString>;
996
+ why: z.ZodOptional<z.ZodString>;
997
+ status: z.ZodOptional<z.ZodString>;
998
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
999
+ id: z.ZodString;
1000
+ name: z.ZodString;
1001
+ publisher: z.ZodOptional<z.ZodString>;
1002
+ hfRepo: z.ZodString;
1003
+ quant: z.ZodString;
1004
+ quantFile: z.ZodOptional<z.ZodString>;
1005
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
1006
+ params: z.ZodOptional<z.ZodString>;
1007
+ moe: z.ZodOptional<z.ZodBoolean>;
1008
+ vision: z.ZodOptional<z.ZodBoolean>;
1009
+ thinking: z.ZodOptional<z.ZodBoolean>;
1010
+ contextMax: z.ZodOptional<z.ZodNumber>;
1011
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1012
+ tier: z.ZodOptional<z.ZodString>;
1013
+ why: z.ZodOptional<z.ZodString>;
1014
+ status: z.ZodOptional<z.ZodString>;
1015
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1016
+ id: z.ZodString;
1017
+ name: z.ZodString;
1018
+ publisher: z.ZodOptional<z.ZodString>;
1019
+ hfRepo: z.ZodString;
1020
+ quant: z.ZodString;
1021
+ quantFile: z.ZodOptional<z.ZodString>;
1022
+ approxWeightsBytes: z.ZodOptional<z.ZodNumber>;
1023
+ params: z.ZodOptional<z.ZodString>;
1024
+ moe: z.ZodOptional<z.ZodBoolean>;
1025
+ vision: z.ZodOptional<z.ZodBoolean>;
1026
+ thinking: z.ZodOptional<z.ZodBoolean>;
1027
+ contextMax: z.ZodOptional<z.ZodNumber>;
1028
+ useCases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1029
+ tier: z.ZodOptional<z.ZodString>;
1030
+ why: z.ZodOptional<z.ZodString>;
1031
+ status: z.ZodOptional<z.ZodString>;
1032
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1033
+ }, z.ZodTypeAny, "passthrough">>;
1034
+ export type Catalog = z.infer<typeof CatalogSchema>;
1035
+ //# sourceMappingURL=schema.d.ts.map