@vibesdotdev/plugins 0.0.0-stage → 1.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +54 -2
  3. package/VIBES.md +165 -0
  4. package/dist/ai/index.d.ts +4 -0
  5. package/dist/ai/index.d.ts.map +1 -0
  6. package/dist/ai/index.js +3 -0
  7. package/dist/ai/index.js.map +1 -0
  8. package/dist/ai/plugin.impl.cloud.d.ts +4 -0
  9. package/dist/ai/plugin.impl.cloud.d.ts.map +1 -0
  10. package/dist/ai/plugin.impl.cloud.js +32 -0
  11. package/dist/ai/plugin.impl.cloud.js.map +1 -0
  12. package/dist/ai/plugin.impl.consumer.d.ts +7 -0
  13. package/dist/ai/plugin.impl.consumer.d.ts.map +1 -0
  14. package/dist/ai/plugin.impl.consumer.js +222 -0
  15. package/dist/ai/plugin.impl.consumer.js.map +1 -0
  16. package/dist/auth/consumer.plugin.d.ts +3 -0
  17. package/dist/auth/consumer.plugin.d.ts.map +1 -0
  18. package/dist/auth/consumer.plugin.js +105 -0
  19. package/dist/auth/consumer.plugin.js.map +1 -0
  20. package/dist/auth/index.d.ts +2 -0
  21. package/dist/auth/index.d.ts.map +1 -0
  22. package/dist/auth/index.js +2 -0
  23. package/dist/auth/index.js.map +1 -0
  24. package/dist/auth/plugin.d.ts +4 -0
  25. package/dist/auth/plugin.d.ts.map +1 -0
  26. package/dist/auth/plugin.js +33 -0
  27. package/dist/auth/plugin.js.map +1 -0
  28. package/dist/automation/consumer.plugin.d.ts +3 -0
  29. package/dist/automation/consumer.plugin.d.ts.map +1 -0
  30. package/dist/automation/consumer.plugin.js +92 -0
  31. package/dist/automation/consumer.plugin.js.map +1 -0
  32. package/dist/automation/index.d.ts +2 -0
  33. package/dist/automation/index.d.ts.map +1 -0
  34. package/dist/automation/index.js +2 -0
  35. package/dist/automation/index.js.map +1 -0
  36. package/dist/automation/plugin.d.ts +4 -0
  37. package/dist/automation/plugin.d.ts.map +1 -0
  38. package/dist/automation/plugin.js +30 -0
  39. package/dist/automation/plugin.js.map +1 -0
  40. package/dist/bun/host.d.ts +44 -0
  41. package/dist/bun/host.d.ts.map +1 -0
  42. package/dist/bun/host.js +71 -0
  43. package/dist/bun/host.js.map +1 -0
  44. package/dist/cli/child-failure.d.ts +37 -0
  45. package/dist/cli/child-failure.d.ts.map +1 -0
  46. package/dist/cli/child-failure.js +86 -0
  47. package/dist/cli/child-failure.js.map +1 -0
  48. package/dist/cli/context.d.ts +12 -0
  49. package/dist/cli/context.d.ts.map +1 -0
  50. package/dist/cli/context.js +11 -0
  51. package/dist/cli/context.js.map +1 -0
  52. package/dist/cli/execution.d.ts +10 -0
  53. package/dist/cli/execution.d.ts.map +1 -0
  54. package/dist/cli/execution.js +20 -0
  55. package/dist/cli/execution.js.map +1 -0
  56. package/dist/cli/failure-facts.d.ts +16 -0
  57. package/dist/cli/failure-facts.d.ts.map +1 -0
  58. package/dist/cli/failure-facts.js +39 -0
  59. package/dist/cli/failure-facts.js.map +1 -0
  60. package/dist/cli/package-manager.consumer.d.ts +106 -0
  61. package/dist/cli/package-manager.consumer.d.ts.map +1 -0
  62. package/dist/cli/package-manager.consumer.js +258 -0
  63. package/dist/cli/package-manager.consumer.js.map +1 -0
  64. package/dist/cli/plugin.d.ts +9 -0
  65. package/dist/cli/plugin.d.ts.map +1 -0
  66. package/dist/cli/plugin.js +34 -0
  67. package/dist/cli/plugin.js.map +1 -0
  68. package/dist/cli/plugins.add.cli-command.descriptor.d.ts +36 -0
  69. package/dist/cli/plugins.add.cli-command.descriptor.d.ts.map +1 -0
  70. package/dist/cli/plugins.add.cli-command.descriptor.js +31 -0
  71. package/dist/cli/plugins.add.cli-command.descriptor.js.map +1 -0
  72. package/dist/cli/plugins.add.cli-command.impl.consumer.d.ts +63 -0
  73. package/dist/cli/plugins.add.cli-command.impl.consumer.d.ts.map +1 -0
  74. package/dist/cli/plugins.add.cli-command.impl.consumer.js +206 -0
  75. package/dist/cli/plugins.add.cli-command.impl.consumer.js.map +1 -0
  76. package/dist/cli/plugins.cli-group.descriptor.d.ts +4 -0
  77. package/dist/cli/plugins.cli-group.descriptor.d.ts.map +1 -0
  78. package/dist/cli/plugins.cli-group.descriptor.js +10 -0
  79. package/dist/cli/plugins.cli-group.descriptor.js.map +1 -0
  80. package/dist/cli/plugins.host.cli-command.descriptor.d.ts +31 -0
  81. package/dist/cli/plugins.host.cli-command.descriptor.d.ts.map +1 -0
  82. package/dist/cli/plugins.host.cli-command.descriptor.js +37 -0
  83. package/dist/cli/plugins.host.cli-command.descriptor.js.map +1 -0
  84. package/dist/cli/plugins.host.cli-command.impl.consumer.d.ts +29 -0
  85. package/dist/cli/plugins.host.cli-command.impl.consumer.d.ts.map +1 -0
  86. package/dist/cli/plugins.host.cli-command.impl.consumer.js +109 -0
  87. package/dist/cli/plugins.host.cli-command.impl.consumer.js.map +1 -0
  88. package/dist/cli/plugins.link.cli-command.descriptor.d.ts +35 -0
  89. package/dist/cli/plugins.link.cli-command.descriptor.d.ts.map +1 -0
  90. package/dist/cli/plugins.link.cli-command.descriptor.js +32 -0
  91. package/dist/cli/plugins.link.cli-command.descriptor.js.map +1 -0
  92. package/dist/cli/plugins.link.cli-command.impl.consumer.d.ts +31 -0
  93. package/dist/cli/plugins.link.cli-command.impl.consumer.d.ts.map +1 -0
  94. package/dist/cli/plugins.link.cli-command.impl.consumer.js +104 -0
  95. package/dist/cli/plugins.link.cli-command.impl.consumer.js.map +1 -0
  96. package/dist/cli/plugins.list.cli-command.descriptor.d.ts +26 -0
  97. package/dist/cli/plugins.list.cli-command.descriptor.d.ts.map +1 -0
  98. package/dist/cli/plugins.list.cli-command.descriptor.js +22 -0
  99. package/dist/cli/plugins.list.cli-command.descriptor.js.map +1 -0
  100. package/dist/cli/plugins.list.cli-command.impl.consumer.d.ts +116 -0
  101. package/dist/cli/plugins.list.cli-command.impl.consumer.d.ts.map +1 -0
  102. package/dist/cli/plugins.list.cli-command.impl.consumer.js +343 -0
  103. package/dist/cli/plugins.list.cli-command.impl.consumer.js.map +1 -0
  104. package/dist/cli/plugins.remove.cli-command.descriptor.d.ts +31 -0
  105. package/dist/cli/plugins.remove.cli-command.descriptor.d.ts.map +1 -0
  106. package/dist/cli/plugins.remove.cli-command.descriptor.js +26 -0
  107. package/dist/cli/plugins.remove.cli-command.descriptor.js.map +1 -0
  108. package/dist/cli/plugins.remove.cli-command.impl.consumer.d.ts +30 -0
  109. package/dist/cli/plugins.remove.cli-command.impl.consumer.d.ts.map +1 -0
  110. package/dist/cli/plugins.remove.cli-command.impl.consumer.js +80 -0
  111. package/dist/cli/plugins.remove.cli-command.impl.consumer.js.map +1 -0
  112. package/dist/cli/plugins.unlink.cli-command.descriptor.d.ts +31 -0
  113. package/dist/cli/plugins.unlink.cli-command.descriptor.d.ts.map +1 -0
  114. package/dist/cli/plugins.unlink.cli-command.descriptor.js +21 -0
  115. package/dist/cli/plugins.unlink.cli-command.descriptor.js.map +1 -0
  116. package/dist/cli/plugins.unlink.cli-command.impl.consumer.d.ts +76 -0
  117. package/dist/cli/plugins.unlink.cli-command.impl.consumer.d.ts.map +1 -0
  118. package/dist/cli/plugins.unlink.cli-command.impl.consumer.js +190 -0
  119. package/dist/cli/plugins.unlink.cli-command.impl.consumer.js.map +1 -0
  120. package/dist/cli/registry-sign-in.consumer.d.ts +80 -0
  121. package/dist/cli/registry-sign-in.consumer.d.ts.map +1 -0
  122. package/dist/cli/registry-sign-in.consumer.js +199 -0
  123. package/dist/cli/registry-sign-in.consumer.js.map +1 -0
  124. package/dist/cli/roll.d.ts +230 -0
  125. package/dist/cli/roll.d.ts.map +1 -0
  126. package/dist/cli/roll.js +569 -0
  127. package/dist/cli/roll.js.map +1 -0
  128. package/dist/cli/schemas/context.d.ts +10 -0
  129. package/dist/cli/schemas/context.d.ts.map +1 -0
  130. package/dist/cli/schemas/context.js +3 -0
  131. package/dist/cli/schemas/context.js.map +1 -0
  132. package/dist/cli/schemas/scopes.d.ts +37 -0
  133. package/dist/cli/schemas/scopes.d.ts.map +1 -0
  134. package/dist/cli/schemas/scopes.js +11 -0
  135. package/dist/cli/schemas/scopes.js.map +1 -0
  136. package/dist/cli/schemas/unlink.d.ts +18 -0
  137. package/dist/cli/schemas/unlink.d.ts.map +1 -0
  138. package/dist/cli/schemas/unlink.js +3 -0
  139. package/dist/cli/schemas/unlink.js.map +1 -0
  140. package/dist/cli/schemas/update.d.ts +77 -0
  141. package/dist/cli/schemas/update.d.ts.map +1 -0
  142. package/dist/cli/schemas/update.js +3 -0
  143. package/dist/cli/schemas/update.js.map +1 -0
  144. package/dist/cli/scopes.d.ts +50 -0
  145. package/dist/cli/scopes.d.ts.map +1 -0
  146. package/dist/cli/scopes.js +90 -0
  147. package/dist/cli/scopes.js.map +1 -0
  148. package/dist/cli/seed.d.ts +232 -0
  149. package/dist/cli/seed.d.ts.map +1 -0
  150. package/dist/cli/seed.js +590 -0
  151. package/dist/cli/seed.js.map +1 -0
  152. package/dist/cli/self-update.d.ts +120 -0
  153. package/dist/cli/self-update.d.ts.map +1 -0
  154. package/dist/cli/self-update.js +274 -0
  155. package/dist/cli/self-update.js.map +1 -0
  156. package/dist/cli/update.cli-command.descriptor.d.ts +62 -0
  157. package/dist/cli/update.cli-command.descriptor.d.ts.map +1 -0
  158. package/dist/cli/update.cli-command.descriptor.js +49 -0
  159. package/dist/cli/update.cli-command.descriptor.js.map +1 -0
  160. package/dist/cli/update.cli-command.impl.consumer.d.ts +178 -0
  161. package/dist/cli/update.cli-command.impl.consumer.d.ts.map +1 -0
  162. package/dist/cli/update.cli-command.impl.consumer.js +750 -0
  163. package/dist/cli/update.cli-command.impl.consumer.js.map +1 -0
  164. package/dist/comms/consumer.plugin.d.ts +3 -0
  165. package/dist/comms/consumer.plugin.d.ts.map +1 -0
  166. package/dist/comms/consumer.plugin.js +108 -0
  167. package/dist/comms/consumer.plugin.js.map +1 -0
  168. package/dist/comms/index.d.ts +2 -0
  169. package/dist/comms/index.d.ts.map +1 -0
  170. package/dist/comms/index.js +2 -0
  171. package/dist/comms/index.js.map +1 -0
  172. package/dist/comms/plugin.d.ts +4 -0
  173. package/dist/comms/plugin.d.ts.map +1 -0
  174. package/dist/comms/plugin.js +30 -0
  175. package/dist/comms/plugin.js.map +1 -0
  176. package/dist/consumer.d.ts +3 -0
  177. package/dist/consumer.d.ts.map +1 -0
  178. package/dist/consumer.js +3 -0
  179. package/dist/consumer.js.map +1 -0
  180. package/dist/consumer.plugin.d.ts +63 -0
  181. package/dist/consumer.plugin.d.ts.map +1 -0
  182. package/dist/consumer.plugin.js +89 -0
  183. package/dist/consumer.plugin.js.map +1 -0
  184. package/dist/core/consumer.plugin.d.ts +4 -0
  185. package/dist/core/consumer.plugin.d.ts.map +1 -0
  186. package/dist/core/consumer.plugin.js +358 -0
  187. package/dist/core/consumer.plugin.js.map +1 -0
  188. package/dist/core/index.d.ts +2 -0
  189. package/dist/core/index.d.ts.map +1 -0
  190. package/dist/core/index.js +2 -0
  191. package/dist/core/index.js.map +1 -0
  192. package/dist/core/optional-member.d.ts +11 -0
  193. package/dist/core/optional-member.d.ts.map +1 -0
  194. package/dist/core/optional-member.js +68 -0
  195. package/dist/core/optional-member.js.map +1 -0
  196. package/dist/core/optional-plugin.d.ts +40 -0
  197. package/dist/core/optional-plugin.d.ts.map +1 -0
  198. package/dist/core/optional-plugin.js +107 -0
  199. package/dist/core/optional-plugin.js.map +1 -0
  200. package/dist/core/plugin.d.ts +10 -0
  201. package/dist/core/plugin.d.ts.map +1 -0
  202. package/dist/core/plugin.js +64 -0
  203. package/dist/core/plugin.js.map +1 -0
  204. package/dist/core/setup-requirements.descriptors.d.ts +7 -0
  205. package/dist/core/setup-requirements.descriptors.d.ts.map +1 -0
  206. package/dist/core/setup-requirements.descriptors.js +117 -0
  207. package/dist/core/setup-requirements.descriptors.js.map +1 -0
  208. package/dist/data/consumer.plugin.d.ts +3 -0
  209. package/dist/data/consumer.plugin.d.ts.map +1 -0
  210. package/dist/data/consumer.plugin.js +99 -0
  211. package/dist/data/consumer.plugin.js.map +1 -0
  212. package/dist/data/index.d.ts +2 -0
  213. package/dist/data/index.d.ts.map +1 -0
  214. package/dist/data/index.js +2 -0
  215. package/dist/data/index.js.map +1 -0
  216. package/dist/data/plugin.d.ts +4 -0
  217. package/dist/data/plugin.d.ts.map +1 -0
  218. package/dist/data/plugin.js +37 -0
  219. package/dist/data/plugin.js.map +1 -0
  220. package/dist/devtools/consumer.plugin.d.ts +3 -0
  221. package/dist/devtools/consumer.plugin.d.ts.map +1 -0
  222. package/dist/devtools/consumer.plugin.js +323 -0
  223. package/dist/devtools/consumer.plugin.js.map +1 -0
  224. package/dist/devtools/index.d.ts +2 -0
  225. package/dist/devtools/index.d.ts.map +1 -0
  226. package/dist/devtools/index.js +2 -0
  227. package/dist/devtools/index.js.map +1 -0
  228. package/dist/devtools/plugin.d.ts +4 -0
  229. package/dist/devtools/plugin.d.ts.map +1 -0
  230. package/dist/devtools/plugin.js +34 -0
  231. package/dist/devtools/plugin.js.map +1 -0
  232. package/dist/filesystem/index.d.ts +2 -0
  233. package/dist/filesystem/index.d.ts.map +1 -0
  234. package/dist/filesystem/index.js +2 -0
  235. package/dist/filesystem/index.js.map +1 -0
  236. package/dist/filesystem/plugin.d.ts +4 -0
  237. package/dist/filesystem/plugin.d.ts.map +1 -0
  238. package/dist/filesystem/plugin.js +21 -0
  239. package/dist/filesystem/plugin.js.map +1 -0
  240. package/dist/index.d.ts +3 -0
  241. package/dist/index.d.ts.map +1 -0
  242. package/dist/index.js +4 -0
  243. package/dist/index.js.map +1 -0
  244. package/dist/plugin.d.ts +7 -0
  245. package/dist/plugin.d.ts.map +1 -0
  246. package/dist/plugin.js +16 -0
  247. package/dist/plugin.js.map +1 -0
  248. package/dist/schemas/ai.d.ts +119 -0
  249. package/dist/schemas/ai.d.ts.map +1 -0
  250. package/dist/schemas/ai.js +84 -0
  251. package/dist/schemas/ai.js.map +1 -0
  252. package/dist/schemas/auth.d.ts +15 -0
  253. package/dist/schemas/auth.d.ts.map +1 -0
  254. package/dist/schemas/auth.js +19 -0
  255. package/dist/schemas/auth.js.map +1 -0
  256. package/dist/schemas/automation.d.ts +66 -0
  257. package/dist/schemas/automation.d.ts.map +1 -0
  258. package/dist/schemas/automation.js +36 -0
  259. package/dist/schemas/automation.js.map +1 -0
  260. package/dist/schemas/comms.d.ts +13 -0
  261. package/dist/schemas/comms.d.ts.map +1 -0
  262. package/dist/schemas/comms.js +27 -0
  263. package/dist/schemas/comms.js.map +1 -0
  264. package/dist/schemas/core.d.ts +102 -0
  265. package/dist/schemas/core.d.ts.map +1 -0
  266. package/dist/schemas/core.js +124 -0
  267. package/dist/schemas/core.js.map +1 -0
  268. package/dist/schemas/data.d.ts +13 -0
  269. package/dist/schemas/data.d.ts.map +1 -0
  270. package/dist/schemas/data.js +25 -0
  271. package/dist/schemas/data.js.map +1 -0
  272. package/dist/schemas/devtools.d.ts +33 -0
  273. package/dist/schemas/devtools.d.ts.map +1 -0
  274. package/dist/schemas/devtools.js +56 -0
  275. package/dist/schemas/devtools.js.map +1 -0
  276. package/dist/schemas/family.d.ts +11 -0
  277. package/dist/schemas/family.d.ts.map +1 -0
  278. package/dist/schemas/family.js +21 -0
  279. package/dist/schemas/family.js.map +1 -0
  280. package/dist/schemas/filesystem.d.ts +25 -0
  281. package/dist/schemas/filesystem.d.ts.map +1 -0
  282. package/dist/schemas/filesystem.js +24 -0
  283. package/dist/schemas/filesystem.js.map +1 -0
  284. package/dist/schemas/host.d.ts +10 -0
  285. package/dist/schemas/host.d.ts.map +1 -0
  286. package/dist/schemas/host.js +2 -0
  287. package/dist/schemas/host.js.map +1 -0
  288. package/dist/schemas/optional-member.d.ts +67 -0
  289. package/dist/schemas/optional-member.d.ts.map +1 -0
  290. package/dist/schemas/optional-member.js +31 -0
  291. package/dist/schemas/optional-member.js.map +1 -0
  292. package/dist/schemas/roll.d.ts +47 -0
  293. package/dist/schemas/roll.d.ts.map +1 -0
  294. package/dist/schemas/roll.js +18 -0
  295. package/dist/schemas/roll.js.map +1 -0
  296. package/dist/schemas/tui.d.ts +33 -0
  297. package/dist/schemas/tui.d.ts.map +1 -0
  298. package/dist/schemas/tui.js +95 -0
  299. package/dist/schemas/tui.js.map +1 -0
  300. package/dist/schemas/ui.d.ts +15 -0
  301. package/dist/schemas/ui.d.ts.map +1 -0
  302. package/dist/schemas/ui.js +45 -0
  303. package/dist/schemas/ui.js.map +1 -0
  304. package/dist/tui/code-sessions-tui-plugin-shim.d.ts +7 -0
  305. package/dist/tui/code-sessions-tui-plugin-shim.d.ts.map +1 -0
  306. package/dist/tui/code-sessions-tui-plugin-shim.js +2 -0
  307. package/dist/tui/code-sessions-tui-plugin-shim.js.map +1 -0
  308. package/dist/tui/index.d.ts +8 -0
  309. package/dist/tui/index.d.ts.map +1 -0
  310. package/dist/tui/index.js +8 -0
  311. package/dist/tui/index.js.map +1 -0
  312. package/dist/tui/plugin.d.ts +53 -0
  313. package/dist/tui/plugin.d.ts.map +1 -0
  314. package/dist/tui/plugin.js +350 -0
  315. package/dist/tui/plugin.js.map +1 -0
  316. package/dist/ui/consumer.plugin.d.ts +3 -0
  317. package/dist/ui/consumer.plugin.d.ts.map +1 -0
  318. package/dist/ui/consumer.plugin.js +75 -0
  319. package/dist/ui/consumer.plugin.js.map +1 -0
  320. package/dist/ui/index.d.ts +2 -0
  321. package/dist/ui/index.d.ts.map +1 -0
  322. package/dist/ui/index.js +2 -0
  323. package/dist/ui/index.js.map +1 -0
  324. package/dist/ui/plugin.d.ts +4 -0
  325. package/dist/ui/plugin.d.ts.map +1 -0
  326. package/dist/ui/plugin.js +35 -0
  327. package/dist/ui/plugin.js.map +1 -0
  328. package/host-start.mjs +39 -0
  329. package/host.mjs +24 -0
  330. package/package.json +437 -4
@@ -0,0 +1,124 @@
1
+ import { CapabilityError, CaughtFailureSchema } from '@vibesdotdev/kernel';
2
+ import { z } from 'zod/v4';
3
+ export const AdapterSelectionSchema = z.object({
4
+ enabled: z.boolean(),
5
+ adapters: z.array(z.string()),
6
+ default: z.string().optional()
7
+ });
8
+ export const AdapterConfigSchema = z.union([
9
+ z.boolean().transform((enabled) => ({ enabled, adapters: [] })),
10
+ z.string().transform((id) => ({ enabled: true, adapters: [id], default: id })),
11
+ z.array(z.string()).transform((adapters) => {
12
+ const selection = { enabled: true, adapters };
13
+ if (adapters[0] !== undefined)
14
+ selection.default = adapters[0];
15
+ return selection;
16
+ }),
17
+ z.object({
18
+ enabled: z.boolean().optional(),
19
+ adapters: z.array(z.string()).optional(),
20
+ default: z.string().optional()
21
+ }).transform((input) => {
22
+ const selection = { enabled: input.enabled !== false, adapters: input.adapters ?? [] };
23
+ if (input.default !== undefined)
24
+ selection.default = input.default;
25
+ return selection;
26
+ })
27
+ ]);
28
+ export const CorePluginsConfigSchema = z.object({
29
+ runtimeClient: z.boolean(),
30
+ logging: z.boolean(),
31
+ loggingBrowser: z.boolean(),
32
+ docs: z.boolean(),
33
+ storage: AdapterSelectionSchema,
34
+ filesystem: AdapterSelectionSchema,
35
+ workspace: z.boolean(),
36
+ paths: z.boolean(),
37
+ tools: z.boolean(),
38
+ workers: z.boolean(),
39
+ app: z.boolean(),
40
+ cache: z.boolean(),
41
+ session: z.boolean()
42
+ });
43
+ export const CoreDefaultsScopeSchema = z.object({ hardware: z.string(), surface: z.string().optional() });
44
+ const CoreInputSchema = CorePluginsConfigSchema.partial().extend({
45
+ storage: AdapterConfigSchema.optional(),
46
+ filesystem: AdapterConfigSchema.optional()
47
+ });
48
+ const UserBlockSchema = z.looseObject({});
49
+ /** Defaults are owned here, together with the input transformations. */
50
+ export function defaultsForScope(scope) {
51
+ return {
52
+ runtimeClient: true, logging: true,
53
+ loggingBrowser: scope.hardware === 'consumer' && ['web', 'browser', 'ssr', 'in-app'].includes(scope.surface ?? ''),
54
+ docs: true,
55
+ storage: { enabled: true, adapters: [] },
56
+ filesystem: { enabled: true, adapters: [] },
57
+ workspace: true, paths: true, tools: true, workers: true, app: true, cache: true, session: true
58
+ };
59
+ }
60
+ function configInvalid(field, cause) {
61
+ return new CapabilityError(`plugins.core.${field} is invalid.`, 'INVALID_INPUT', {
62
+ reason: 'plugins-core-config-invalid', retryable: false, details: { field },
63
+ recoveryHint: 'Fix the named plugins.core field or remove it to use its scope default.', cause
64
+ });
65
+ }
66
+ /**
67
+ * True when the caller did not name this field. A non-object block counts as
68
+ * omitted. An explicit value, including an empty list, does not.
69
+ */
70
+ export function adapterFieldOmitted(userConfig, key) {
71
+ const parsed = UserBlockSchema.safeParse(userConfig);
72
+ if (!parsed.success)
73
+ return true;
74
+ return !Object.hasOwn(parsed.data, key);
75
+ }
76
+ /** A non-object block retains the legacy scope defaults; present malformed fields refuse. */
77
+ export function mergeConfig(userConfig, scope) {
78
+ const defaults = defaultsForScope(scope);
79
+ let block;
80
+ try {
81
+ const parsed = UserBlockSchema.safeParse(userConfig);
82
+ if (!parsed.success)
83
+ return defaults;
84
+ block = parsed.data;
85
+ }
86
+ catch (cause) {
87
+ throw configInvalid('(block)', CaughtFailureSchema.parse(cause));
88
+ }
89
+ if (block.loggingFs !== undefined) {
90
+ throw new CapabilityError('plugins.core.loggingFs is retired: file logging belongs to the host.', 'INVALID_INPUT', {
91
+ reason: 'plugins-core-logging-fs-retired', retryable: false,
92
+ recoveryHint: 'Remove loggingFs; use the host option logging: { files: false }.'
93
+ });
94
+ }
95
+ let parsed;
96
+ try {
97
+ parsed = CoreInputSchema.safeParse(block);
98
+ }
99
+ catch (cause) {
100
+ throw configInvalid('(block)', CaughtFailureSchema.parse(cause));
101
+ }
102
+ if (!parsed.success)
103
+ throw configInvalid(String(parsed.error.issues[0]?.path[0] ?? '(block)'), parsed.error);
104
+ // Omitted keys must not overwrite declared defaults with undefined.
105
+ const overrides = Object.fromEntries(Object.entries(parsed.data).filter(([, value]) => value !== undefined));
106
+ const merged = {
107
+ ...defaults, ...overrides,
108
+ storage: { ...defaults.storage, ...parsed.data.storage },
109
+ filesystem: { ...defaults.filesystem, ...parsed.data.filesystem }
110
+ };
111
+ if (scope.surface === 'cli') {
112
+ merged.paths = true;
113
+ }
114
+ return merged;
115
+ }
116
+ export function normalizeAdapterConfig(config) {
117
+ return AdapterConfigSchema.parse(config);
118
+ }
119
+ export const CoreConfigDescriptorSchema = z.object({
120
+ kind: z.literal('plugins/core/config'),
121
+ id: z.literal('plugins.core'),
122
+ config: CorePluginsConfigSchema
123
+ });
124
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/schemas/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod/v4';
2
+ import { type FamilyConfigInput, type FamilyScope } from './family.ts';
3
+ export declare const DataPluginsConfigSchema: z.ZodObject<{
4
+ knowledge: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
5
+ session: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
6
+ runbooks: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
+ prompts: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
+ notifications: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9
+ }, z.core.$strip>;
10
+ export type DataPluginsConfig = z.infer<typeof DataPluginsConfigSchema>;
11
+ export declare function defaultsForScope(scope: FamilyScope): DataPluginsConfig;
12
+ export declare function mergeConfig(input: FamilyConfigInput, scope: FamilyScope): DataPluginsConfig;
13
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/schemas/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAqB,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1F,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAUtE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAI3F"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod/v4';
2
+ import { parseFamilyConfig } from "./family.js";
3
+ export const DataPluginsConfigSchema = z.object({
4
+ knowledge: z.boolean().optional().default(true),
5
+ session: z.boolean().optional().default(true),
6
+ runbooks: z.boolean().optional().default(false),
7
+ prompts: z.boolean().optional().default(false),
8
+ notifications: z.boolean().optional().default(true)
9
+ });
10
+ export function defaultsForScope(scope) {
11
+ const isConsumer = scope.hardware === 'consumer';
12
+ return {
13
+ knowledge: true,
14
+ session: true,
15
+ runbooks: isConsumer,
16
+ prompts: isConsumer,
17
+ notifications: true
18
+ };
19
+ }
20
+ export function mergeConfig(input, scope) {
21
+ const defaults = defaultsForScope(scope);
22
+ const user = parseFamilyConfig(DataPluginsConfigSchema, input, 'data', defaults);
23
+ return user;
24
+ }
25
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/schemas/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAA4C,MAAM,aAAa,CAAC;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACpD,CAAC,CAAC;AAGH,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;IAEjD,OAAO;QACL,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,UAAU;QACnB,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAwB,EAAE,KAAkB;IACvE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod/v4';
2
+ import { type FamilyConfigInput, type FamilyScope } from './family.ts';
3
+ export declare const DevToolsConfigSchema: z.ZodObject<{
4
+ enabled: z.ZodDefault<z.ZodBoolean>;
5
+ tools: z.ZodObject<{
6
+ enabled: z.ZodBoolean;
7
+ agents: z.ZodBoolean;
8
+ codemod: z.ZodBoolean;
9
+ }, z.core.$strip>;
10
+ mcp: z.ZodBoolean;
11
+ external: z.ZodBoolean;
12
+ search: z.ZodBoolean;
13
+ brain: z.ZodBoolean;
14
+ docs: z.ZodBoolean;
15
+ nvim: z.ZodBoolean;
16
+ editor: z.ZodBoolean;
17
+ runnable: z.ZodDiscriminatedUnion<[z.ZodObject<{
18
+ host: z.ZodLiteral<"local">;
19
+ }, z.core.$strip>, z.ZodObject<{
20
+ host: z.ZodLiteral<"remote">;
21
+ serviceId: z.ZodDefault<z.ZodString>;
22
+ recordsEndpoint: z.ZodDefault<z.ZodString>;
23
+ eventsEndpoint: z.ZodDefault<z.ZodString>;
24
+ }, z.core.$strip>], "host">;
25
+ browser: z.ZodBoolean;
26
+ workersCli: z.ZodBoolean;
27
+ fleetCli: z.ZodBoolean;
28
+ gitRepository: z.ZodBoolean;
29
+ }, z.core.$strip>;
30
+ export type DevToolsConfig = z.infer<typeof DevToolsConfigSchema>;
31
+ export declare function defaultsForScope(scope: FamilyScope): DevToolsConfig;
32
+ export declare function mergeConfig(input: FamilyConfigInput, scope: FamilyScope): DevToolsConfig;
33
+ //# sourceMappingURL=devtools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/schemas/devtools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAqB,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAW1F,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAUlE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CAOnE;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc,CAoBxF"}
@@ -0,0 +1,56 @@
1
+ import { z } from 'zod/v4';
2
+ import { parseFamilyConfig } from "./family.js";
3
+ const RunnableHostSchema = z.discriminatedUnion('host', [
4
+ z.object({ host: z.literal('local') }),
5
+ z.object({
6
+ host: z.literal('remote'), serviceId: z.string().min(1).default('runnable'),
7
+ recordsEndpoint: z.string().min(1).default('/api/run-records'),
8
+ eventsEndpoint: z.string().min(1).default('/api/events')
9
+ })
10
+ ]);
11
+ const ToolsSchema = z.object({ enabled: z.boolean(), agents: z.boolean(), codemod: z.boolean() });
12
+ export const DevToolsConfigSchema = z.object({
13
+ enabled: z.boolean().default(true), tools: ToolsSchema, mcp: z.boolean(), external: z.boolean(), search: z.boolean(),
14
+ brain: z.boolean(), docs: z.boolean(), nvim: z.boolean(), editor: z.boolean(),
15
+ runnable: RunnableHostSchema,
16
+ browser: z.boolean(), workersCli: z.boolean(), fleetCli: z.boolean(), gitRepository: z.boolean()
17
+ });
18
+ const DevToolsInputSchema = DevToolsConfigSchema.partial().extend({
19
+ tools: z.union([z.boolean(), ToolsSchema.partial()]).optional(),
20
+ cli: z.boolean().optional()
21
+ });
22
+ function defaultRunnableHost(scope) {
23
+ return scope.hardware === 'consumer' && scope.surface !== 'browser'
24
+ ? { host: 'local' }
25
+ : { host: 'remote', serviceId: 'runnable', recordsEndpoint: '/api/run-records', eventsEndpoint: '/api/events' };
26
+ }
27
+ export function defaultsForScope(scope) {
28
+ const consumer = scope.hardware === 'consumer';
29
+ return {
30
+ enabled: true, runnable: defaultRunnableHost(scope), tools: { enabled: true, agents: consumer, codemod: false },
31
+ mcp: consumer, external: consumer, search: true, brain: false, docs: true,
32
+ nvim: consumer, editor: consumer, browser: consumer, workersCli: consumer, fleetCli: consumer, gitRepository: consumer
33
+ };
34
+ }
35
+ export function mergeConfig(input, scope) {
36
+ const shorthand = z.boolean().safeParse(input);
37
+ if (shorthand.success) {
38
+ const enabled = shorthand.data;
39
+ return {
40
+ enabled, runnable: defaultRunnableHost(scope), tools: { enabled, agents: enabled, codemod: enabled },
41
+ mcp: enabled, external: enabled, search: enabled, brain: enabled, docs: enabled,
42
+ nvim: enabled, editor: enabled, browser: enabled, workersCli: enabled, fleetCli: enabled, gitRepository: enabled
43
+ };
44
+ }
45
+ const defaults = defaultsForScope(scope);
46
+ const user = parseFamilyConfig(DevToolsInputSchema, input, 'devtools');
47
+ const toolsSwitch = z.boolean().safeParse(user.tools);
48
+ const tools = ToolsSchema.partial().safeParse(user.tools);
49
+ return DevToolsConfigSchema.parse({
50
+ ...defaults, ...user, external: user.external ?? user.cli ?? defaults.external,
51
+ tools: toolsSwitch.success
52
+ ? { ...defaults.tools, enabled: toolsSwitch.data, codemod: false }
53
+ : { ...defaults.tools, ...(tools.success ? tools.data : undefined) }
54
+ });
55
+ }
56
+ //# sourceMappingURL=devtools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/schemas/devtools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const FamilyScopeSchema: z.ZodObject<{
3
+ hardware: z.ZodString;
4
+ surface: z.ZodOptional<z.ZodString>;
5
+ purpose: z.ZodOptional<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ export type FamilyScope = z.infer<typeof FamilyScopeSchema>;
8
+ export type FamilyConfigInput = Parameters<z.ZodType['parse']>[0];
9
+ /** Legacy non-object blocks keep defaults; malformed present fields refuse. */
10
+ export declare function parseFamilyConfig<S extends z.ZodObject>(schema: S, input: FamilyConfigInput, family: string, defaults?: z.input<S>): z.output<S>;
11
+ //# sourceMappingURL=family.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family.d.ts","sourceRoot":"","sources":["../../src/schemas/family.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,iBAAiB;;;;iBAE5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAGlE,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACtD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GACxE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAYb"}
@@ -0,0 +1,21 @@
1
+ import { CapabilityError } from '@vibesdotdev/kernel';
2
+ import { z } from 'zod/v4';
3
+ export const FamilyScopeSchema = z.object({
4
+ hardware: z.string(), surface: z.string().optional(), purpose: z.string().optional()
5
+ });
6
+ const BlockSchema = z.looseObject({});
7
+ /** Legacy non-object blocks keep defaults; malformed present fields refuse. */
8
+ export function parseFamilyConfig(schema, input, family, defaults) {
9
+ const block = BlockSchema.safeParse(input);
10
+ const parsed = schema.safeParse({ ...defaults, ...(block.success ? block.data : undefined) });
11
+ if (!parsed.success) {
12
+ throw new CapabilityError('Invalid ' + family + ' family configuration.', 'INVALID_INPUT', {
13
+ reason: 'plugins-' + family + '-config-invalid', retryable: false,
14
+ details: { field: String(parsed.error.issues[0]?.path[0] ?? '(block)') },
15
+ recoveryHint: 'Correct the named field or remove it to use its scope default.',
16
+ cause: parsed.error
17
+ });
18
+ }
19
+ return parsed.data;
20
+ }
21
+ //# sourceMappingURL=family.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family.js","sourceRoot":"","sources":["../../src/schemas/family.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpF,CAAC,CAAC;AAIH,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACtC,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAChC,MAAS,EAAE,KAAwB,EAAE,MAAc,EAAE,QAAqB;IAE1E,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9F,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,eAAe,CAAC,UAAU,GAAC,MAAM,GAAC,wBAAwB,EAAE,eAAe,EAAE;YACtF,MAAM,EAAE,UAAU,GAAC,MAAM,GAAC,iBAAiB,EAAE,SAAS,EAAE,KAAK;YAC7D,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE;YACxE,YAAY,EAAE,gEAAgE;YAC9E,KAAK,EAAE,MAAM,CAAC,KAAK;SACnB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod/v4';
2
+ import { type FamilyConfigInput, type FamilyScope } from './family.ts';
3
+ export declare const ConnectorSelectionSchema: z.ZodObject<{
4
+ enabled: z.ZodBoolean;
5
+ providers: z.ZodArray<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ export declare const FilesystemPluginsConfigSchema: z.ZodObject<{
8
+ connectors: z.ZodObject<{
9
+ enabled: z.ZodBoolean;
10
+ providers: z.ZodArray<z.ZodString>;
11
+ }, z.core.$strip>;
12
+ }, z.core.$strip>;
13
+ export type FilesystemPluginsConfig = z.infer<typeof FilesystemPluginsConfigSchema>;
14
+ export declare function mergeConfig(input: FamilyConfigInput, _scope: FamilyScope): FilesystemPluginsConfig;
15
+ export declare const FilesystemConfigDescriptorSchema: z.ZodObject<{
16
+ kind: z.ZodLiteral<"plugins/filesystem/config">;
17
+ id: z.ZodLiteral<"plugins.filesystem">;
18
+ config: z.ZodObject<{
19
+ connectors: z.ZodObject<{
20
+ enabled: z.ZodBoolean;
21
+ providers: z.ZodArray<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ }, z.core.$strip>;
24
+ }, z.core.$strip>;
25
+ //# sourceMappingURL=filesystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/schemas/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAqB,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1F,eAAO,MAAM,wBAAwB;;;iBAEnC,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;iBAAqD,CAAC;AAChG,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAIpF,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,GAAG,uBAAuB,CASlG;AACD,eAAO,MAAM,gCAAgC;;;;;;;;;iBAG3C,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod/v4';
2
+ import { parseFamilyConfig } from "./family.js";
3
+ export const ConnectorSelectionSchema = z.object({
4
+ enabled: z.boolean(), providers: z.array(z.string().min(1))
5
+ });
6
+ export const FilesystemPluginsConfigSchema = z.object({ connectors: ConnectorSelectionSchema });
7
+ const FilesystemInputSchema = z.object({
8
+ connectors: z.union([z.boolean(), ConnectorSelectionSchema.partial()]).optional()
9
+ });
10
+ export function mergeConfig(input, _scope) {
11
+ const defaults = ConnectorSelectionSchema.parse({ enabled: true, providers: [] });
12
+ const user = parseFamilyConfig(FilesystemInputSchema, input, 'filesystem');
13
+ const enabled = z.boolean().safeParse(user.connectors);
14
+ const selection = ConnectorSelectionSchema.partial().safeParse(user.connectors);
15
+ return FilesystemPluginsConfigSchema.parse({
16
+ connectors: enabled.success ? { ...defaults, enabled: enabled.data }
17
+ : { ...defaults, ...(selection.success ? selection.data : undefined) }
18
+ });
19
+ }
20
+ export const FilesystemConfigDescriptorSchema = z.object({
21
+ kind: z.literal('plugins/filesystem/config'), id: z.literal('plugins.filesystem'),
22
+ config: FilesystemPluginsConfigSchema
23
+ });
24
+ //# sourceMappingURL=filesystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/schemas/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAA4C,MAAM,aAAa,CAAC;AAC1F,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAEhG,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjF,CAAC,CAAC;AACH,MAAM,UAAU,WAAW,CAAC,KAAwB,EAAE,MAAmB;IACxE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChF,OAAO,6BAA6B,CAAC,KAAK,CAAC;QAC1C,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;YACnE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;KACvE,CAAC,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACjF,MAAM,EAAE,6BAA6B;CACrC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { RunCliHostOptions } from '@vibesdotdev/surface-cli/bun/host';
2
+ /** Bootstrap and config validation belong to the CLI host and config owners. */
3
+ export type HostStartOptions = Pick<RunCliHostOptions, 'argv' | 'attestHostGraph' | 'bootstrap' | 'hostConfig' | 'host' | 'globalPackagePlugins'> & {
4
+ readonly hostPluginSpecifiers?: readonly string[];
5
+ };
6
+ /** Mutable construction of the canonical owner's options before handing off. */
7
+ export type HostRunOptions = {
8
+ -readonly [K in keyof RunCliHostOptions]: RunCliHostOptions[K];
9
+ };
10
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/schemas/host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,iBAAiB,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,sBAAsB,CAAC,GAAG;IACnJ,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClD,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/schemas/host.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import { CaughtFailureSchema } from '@vibesdotdev/kernel';
2
+ import { z } from 'zod/v4';
3
+ import { RuntimePluginSchema } from '@vibesdotdev/kernel/schemas/runtime-plugin';
4
+ export { RuntimePluginSchema };
5
+ export type OptionalMemberExport = Parameters<typeof RuntimePluginSchema.safeParse>[0];
6
+ export type OptionalMemberLoad = () => Promise<OptionalMemberExport>;
7
+ export type OptionalMemberRegistrar = (specifier: string, load: OptionalMemberLoad) => Promise<boolean>;
8
+ export declare const OptionalMemberStageSchema: z.ZodEnum<{
9
+ load: "load";
10
+ export: "export";
11
+ register: "register";
12
+ }>;
13
+ export type OptionalMemberStage = z.infer<typeof OptionalMemberStageSchema>;
14
+ export declare const UnreadableReadSchema: z.ZodObject<{
15
+ name: z.ZodString;
16
+ code: z.ZodOptional<z.ZodString>;
17
+ reason: z.ZodOptional<z.ZodString>;
18
+ }, z.core.$strip>;
19
+ export type UnreadableRead = z.infer<typeof UnreadableReadSchema>;
20
+ export declare const RegistrationAbsenceSchema: z.ZodObject<{
21
+ absent: z.ZodBoolean;
22
+ unreadable: z.ZodOptional<z.ZodObject<{
23
+ name: z.ZodString;
24
+ code: z.ZodOptional<z.ZodString>;
25
+ reason: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strip>>;
27
+ }, z.core.$strip>;
28
+ export type RegistrationAbsence = z.infer<typeof RegistrationAbsenceSchema>;
29
+ export declare const MemberFailureDetailsSchema: z.ZodObject<{
30
+ family: z.ZodString;
31
+ member: z.ZodString;
32
+ stage: z.ZodEnum<{
33
+ load: "load";
34
+ export: "export";
35
+ register: "register";
36
+ }>;
37
+ unreadable: z.ZodOptional<z.ZodObject<{
38
+ name: z.ZodString;
39
+ code: z.ZodOptional<z.ZodString>;
40
+ reason: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>>;
42
+ }, z.core.$strip>;
43
+ export type MemberFailureDetails = z.infer<typeof MemberFailureDetailsSchema>;
44
+ /** Only read classification fields inside the caller's guarded boundary. */
45
+ export declare const RegistrationRefusalSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
46
+ code: z.ZodLiteral<"UNAVAILABLE">;
47
+ reason: z.ZodLiteral<"plugin-dependencies-unmet">;
48
+ details: z.ZodObject<{
49
+ pluginId: z.ZodString;
50
+ missing: z.ZodArray<z.ZodString>;
51
+ }, z.core.$strip>;
52
+ }, z.core.$strip>, z.ZodObject<{
53
+ code: z.ZodLiteral<"NOT_FOUND">;
54
+ details: z.ZodObject<{
55
+ kind: z.ZodLiteral<"runtime/kind">;
56
+ id: z.ZodString;
57
+ }, z.core.$strip>;
58
+ }, z.core.$strip>], "code">;
59
+ export declare const UnresolvedImportSchema: z.ZodObject<{
60
+ code: z.ZodEnum<{
61
+ MODULE_NOT_FOUND: "MODULE_NOT_FOUND";
62
+ ERR_MODULE_NOT_FOUND: "ERR_MODULE_NOT_FOUND";
63
+ }>;
64
+ specifier: z.ZodString;
65
+ }, z.core.$strip>;
66
+ export type OptionalPluginFailureInput = Parameters<typeof CaughtFailureSchema.parse>[0];
67
+ //# sourceMappingURL=optional-member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional-member.d.ts","sourceRoot":"","sources":["../../src/schemas/optional-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACrE,MAAM,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAExG,eAAO,MAAM,yBAAyB;;;;EAAyC,CAAC;AAChF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,eAAO,MAAM,oBAAoB;;;;iBAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,eAAO,MAAM,yBAAyB;;;;;;;iBAEpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;iBAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;2BASpC,CAAC;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAGjC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { CaughtFailureSchema } from '@vibesdotdev/kernel';
2
+ import { z } from 'zod/v4';
3
+ import { RuntimePluginSchema } from '@vibesdotdev/kernel/schemas/runtime-plugin';
4
+ export { RuntimePluginSchema };
5
+ export const OptionalMemberStageSchema = z.enum(['load', 'export', 'register']);
6
+ export const UnreadableReadSchema = z.object({
7
+ name: z.string(), code: z.string().optional(), reason: z.string().optional()
8
+ });
9
+ export const RegistrationAbsenceSchema = z.object({
10
+ absent: z.boolean(), unreadable: UnreadableReadSchema.optional()
11
+ });
12
+ export const MemberFailureDetailsSchema = z.object({
13
+ family: z.string(), member: z.string(), stage: OptionalMemberStageSchema,
14
+ unreadable: UnreadableReadSchema.optional()
15
+ });
16
+ /** Only read classification fields inside the caller's guarded boundary. */
17
+ export const RegistrationRefusalSchema = z.discriminatedUnion('code', [
18
+ z.object({
19
+ code: z.literal('UNAVAILABLE'), reason: z.literal('plugin-dependencies-unmet'),
20
+ details: z.object({ pluginId: z.string(), missing: z.array(z.string()) })
21
+ }),
22
+ z.object({
23
+ code: z.literal('NOT_FOUND'),
24
+ details: z.object({ kind: z.literal('runtime/kind'), id: z.string() })
25
+ })
26
+ ]);
27
+ export const UnresolvedImportSchema = z.object({
28
+ code: z.enum(['ERR_MODULE_NOT_FOUND', 'MODULE_NOT_FOUND']),
29
+ specifier: z.string()
30
+ });
31
+ //# sourceMappingURL=optional-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional-member.js","sourceRoot":"","sources":["../../src/schemas/optional-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAK/B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,yBAAyB;IACxE,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAGH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACrE,CAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;QAC9E,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;KACzE,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;KACtE,CAAC;CACF,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const RollBodyModeSchema: z.ZodEnum<{
3
+ unknown: "unknown";
4
+ delegated: "delegated";
5
+ "installed-binary": "installed-binary";
6
+ "source-mode": "source-mode";
7
+ }>;
8
+ export type RollBodyMode = z.infer<typeof RollBodyModeSchema>;
9
+ /** Compatibility name for callers of the roll census. */
10
+ export type { RollBodyMode as RollBodyShape };
11
+ export declare const RollBodyKindSchema: z.ZodEnum<{
12
+ "pm-daemon": "pm-daemon";
13
+ "os-service": "os-service";
14
+ "stdio-mcp": "stdio-mcp";
15
+ }>;
16
+ export type RollBodyKind = z.infer<typeof RollBodyKindSchema>;
17
+ export declare const RollBodySchema: z.ZodObject<{
18
+ kind: z.ZodEnum<{
19
+ "pm-daemon": "pm-daemon";
20
+ "os-service": "os-service";
21
+ "stdio-mcp": "stdio-mcp";
22
+ }>;
23
+ id: z.ZodString;
24
+ source: z.ZodEnum<{
25
+ pm: "pm";
26
+ "mcp-host": "mcp-host";
27
+ "launch-agents": "launch-agents";
28
+ "systemd-user": "systemd-user";
29
+ "hq-registry": "hq-registry";
30
+ }>;
31
+ shape: z.ZodEnum<{
32
+ unknown: "unknown";
33
+ delegated: "delegated";
34
+ "installed-binary": "installed-binary";
35
+ "source-mode": "source-mode";
36
+ }>;
37
+ hqRegistered: z.ZodBoolean;
38
+ serviceId: z.ZodOptional<z.ZodString>;
39
+ program: z.ZodOptional<z.ZodString>;
40
+ path: z.ZodOptional<z.ZodString>;
41
+ unrollable: z.ZodOptional<z.ZodString>;
42
+ pid: z.ZodOptional<z.ZodNumber>;
43
+ replacedExecutable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
44
+ replacedReason: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ export type RollBody = z.infer<typeof RollBodySchema>;
47
+ //# sourceMappingURL=roll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roll.d.ts","sourceRoot":"","sources":["../../src/schemas/roll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,kBAAkB;;;;;EAAsE,CAAC;AACtG,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,yDAAyD;AACzD,YAAY,EAAE,YAAY,IAAI,aAAa,EAAE,CAAC;AAC9C,eAAO,MAAM,kBAAkB;;;;EAAmD,CAAC;AACnF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAazB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod/v4';
2
+ export const RollBodyModeSchema = z.enum(['installed-binary', 'source-mode', 'delegated', 'unknown']);
3
+ export const RollBodyKindSchema = z.enum(['pm-daemon', 'os-service', 'stdio-mcp']);
4
+ export const RollBodySchema = z.object({
5
+ kind: RollBodyKindSchema,
6
+ id: z.string(),
7
+ source: z.enum(['launch-agents', 'systemd-user', 'hq-registry', 'pm', 'mcp-host']),
8
+ shape: RollBodyModeSchema,
9
+ hqRegistered: z.boolean(),
10
+ serviceId: z.string().optional(),
11
+ program: z.string().optional(),
12
+ path: z.string().optional(),
13
+ unrollable: z.string().optional(),
14
+ pid: z.number().int().positive().optional(),
15
+ replacedExecutable: z.boolean().nullable().optional(),
16
+ replacedReason: z.string().optional()
17
+ });
18
+ //# sourceMappingURL=roll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roll.js","sourceRoot":"","sources":["../../src/schemas/roll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAItG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,kBAAkB;IACxB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAClF,KAAK,EAAE,kBAAkB;IACzB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC"}