@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,107 @@
1
+ /**
2
+ * One rule for an optional family member that did not register.
3
+ *
4
+ * Each family umbrella registers optional peers that a given install may not
5
+ * have. The public global home installs `@vibesdotdev/plugins` without, for
6
+ * example, `@vibesdotdev/casework`, so a WARN for that absence printed on every
7
+ * command a new user ran. An ABSENT peer, or one whose family this scope does
8
+ * not compose, is expected and logs at debug. A peer that is present but fails
9
+ * to load is a real defect and stays a warning.
10
+ *
11
+ * The rule reads facts, not wording: a loader miss by its `code` and
12
+ * `specifier`, an unmet dependency by the plugin ids it names. Anything it
13
+ * cannot attribute stays a warning, so a real misconfiguration is never
14
+ * demoted to debug.
15
+ */
16
+ import { getLogger, LoggedErrorSchema } from '@vibesdotdev/logging';
17
+ import { CaughtFailureSchema, isCapabilityError, valueFreeFailure } from '@vibesdotdev/kernel';
18
+ import { UnresolvedImportSchema, RegistrationRefusalSchema } from "../schemas/optional-member.js";
19
+ /** `@scope/name/sub/path` → `@scope/name`; `name/sub` → `name`. */
20
+ function packageOf(specifier) {
21
+ const parts = specifier.split('/');
22
+ return specifier.startsWith('@') ? parts.slice(0, 2).join('/') : (parts[0] ?? specifier);
23
+ }
24
+ /**
25
+ * Plugin ids that only one kind of host composes. Any other scope never has
26
+ * them, so a member that depends on one is skipped by design. Such a scope
27
+ * never attempts them either, so there is no skip record to consult; this
28
+ * declared list is the fact instead.
29
+ *
30
+ * - `tui` is `@vibesdotdev/tui/plugin`. Only `./tui` registers it, and
31
+ * headless commands (`--help`, MCP) never load `./tui`, which is why
32
+ * `pm.tui` and `browser-automation.tui` skip there.
33
+ * - `cli` is `@vibesdotdev/cli`'s surface plugin. Only the CLI bootstrap
34
+ * registers it, before any umbrella, so `plugins-core` on any other surface
35
+ * (tests, desktop, the system-testing screenshot runtime) skips `work.cli`
36
+ * and `planning`. A CLI host without it fails before any skip is logged.
37
+ */
38
+ const OPTIONAL_FAMILY_PLUGIN_IDS = new Set(['tui', 'cli']);
39
+ /**
40
+ * True when the skip is an expected absence: the loader could not resolve the
41
+ * plugin's OWN package (a miss inside it is the peer's defect), or every
42
+ * dependency it lacks is one of the host-composed ids above. A missing
43
+ * `localdb` or `storage` is a composition defect, not an absence.
44
+ */
45
+ export function isAbsentOptionalPeer(pluginId, cause) {
46
+ return classifySkip(pluginId, CaughtFailureSchema.parse(cause)).absent;
47
+ }
48
+ /**
49
+ * Classify a skip. The unmet-dependency read is guarded by the runtime; the
50
+ * loader-miss read runs here inside one guard, so a cause whose `code` or
51
+ * `specifier` getter (or trap) throws is not attributable: it stays a warning,
52
+ * and what threw is reported value-free, never rethrown.
53
+ */
54
+ function classifySkip(pluginId, cause) {
55
+ try {
56
+ if (isCapabilityError(cause)) {
57
+ const refusal = RegistrationRefusalSchema.safeParse(cause);
58
+ if (refusal.success && refusal.data.code === 'UNAVAILABLE') {
59
+ const missing = refusal.data.details.missing;
60
+ return { absent: missing.length > 0 && missing.every((id) => OPTIONAL_FAMILY_PLUGIN_IDS.has(id)) };
61
+ }
62
+ }
63
+ }
64
+ catch (unreadable) {
65
+ return { absent: false, unreadable: valueFreeFailure(CaughtFailureSchema.parse(unreadable)) };
66
+ }
67
+ return classifyOptionalLoad(pluginId, cause);
68
+ }
69
+ /** Loading can skip only the requested package itself, never a dependency refusal. */
70
+ export function classifyOptionalLoad(pluginId, cause) {
71
+ try {
72
+ // The miss as thrown: Bun's ResolveMessage need not be an Error, so a wrapped non-Error is read as its value.
73
+ const unresolved = UnresolvedImportSchema.safeParse(cause instanceof Error ? cause : cause.value);
74
+ return { absent: unresolved.success && packageOf(unresolved.data.specifier) === packageOf(pluginId) };
75
+ }
76
+ catch (unreadable) {
77
+ return { absent: false, unreadable: valueFreeFailure(CaughtFailureSchema.parse(unreadable)) };
78
+ }
79
+ }
80
+ /**
81
+ * The skip logger for one family umbrella (`plugins-core`, `plugins-comms`, …)
82
+ * on the Runtime it is registering into. Entries go to that Runtime's Logging,
83
+ * never an ambient default; an unprepared Runtime refuses (C083a).
84
+ */
85
+ export function optionalPluginSkipLogger(family, runtime) {
86
+ const log = getLogger(family, runtime);
87
+ return (pluginId, cause) => {
88
+ // Logging's total describer reads the message once and never throws, whatever was thrown.
89
+ const reason = LoggedErrorSchema.parse(cause).message;
90
+ const skip = classifySkip(pluginId, CaughtFailureSchema.parse(cause));
91
+ const level = skip.absent ? 'debug' : 'warn';
92
+ log[level](`skipped optional plugin '${pluginId}': ${reason}`, skip.unreadable === undefined ? { pluginId, reason } : { pluginId, reason, unreadable: skip.unreadable });
93
+ };
94
+ }
95
+ /**
96
+ * A toggle whose implementation left the public install (public-framework
97
+ * decisions 7 and 10, 2026-09-22). The key is still accepted so existing
98
+ * configs parse; turning it on registers nothing here, and says where the
99
+ * implementation lives now instead of doing nothing silently.
100
+ */
101
+ export function relocatedPluginNotice(family, runtime) {
102
+ const log = getLogger(family, runtime);
103
+ return (key, destination) => {
104
+ log.info(`'${key}' is no longer registered by @vibesdotdev/plugins; add ${destination} to your vibes.config plugins`, { pluginKey: key, destination });
105
+ };
106
+ }
107
+ //# sourceMappingURL=optional-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional-plugin.js","sourceRoot":"","sources":["../../src/core/optional-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { mergeConfig, normalizeAdapterConfig } from '../schemas/core.ts';
2
+ export type { AdapterSelection, CorePluginsConfig } from '../schemas/core.ts';
3
+ export { DEFAULT_SETUP_REQUIREMENT_DESCRIPTORS, type SetupRequirementDescriptor } from './setup-requirements.descriptors.ts';
4
+ /**
5
+ * Scope-neutral foundation. Native stores, workspace tooling and CLI commands
6
+ * are composed by ./consumer.plugin; host environments own native adapters.
7
+ */
8
+ export declare const corePluginsPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
9
+ export default corePluginsPlugin;
10
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/core/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,qCAAqC,EAAE,KAAK,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAE7H;;;GAGG;AACH,eAAO,MAAM,iBAAiB,6CA8C5B,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { createRuntimeKind, createRuntimePlugin, hasRuntimeStdioCapture } from '@vibesdotdev/kernel';
2
+ import { CoreConfigDescriptorSchema, mergeConfig } from "../schemas/core.js";
3
+ import { DEFAULT_SETUP_REQUIREMENT_DESCRIPTORS } from "./setup-requirements.descriptors.js";
4
+ export { mergeConfig, normalizeAdapterConfig } from "../schemas/core.js";
5
+ export { DEFAULT_SETUP_REQUIREMENT_DESCRIPTORS } from "./setup-requirements.descriptors.js";
6
+ /**
7
+ * Scope-neutral foundation. Native stores, workspace tooling and CLI commands
8
+ * are composed by ./consumer.plugin; host environments own native adapters.
9
+ */
10
+ export const corePluginsPlugin = createRuntimePlugin({
11
+ id: '@vibesdotdev/plugins-core',
12
+ name: 'Core Plugins Umbrella',
13
+ dependencies: ['context'],
14
+ kinds: [createRuntimeKind({ id: 'plugins/core/config', descriptorSchema: CoreConfigDescriptorSchema })],
15
+ async onRegister(runtime) {
16
+ const config = mergeConfig(runtime.hasContext('plugins.core') ? await runtime.context('plugins.core') : undefined, runtime.scope);
17
+ await runtime.registerPlugin((await import('@vibesdotdev/kernel/hooks/hooks.plugin')).default);
18
+ await runtime.registerPlugin((await import('@vibesdotdev/kernel/events/plugin')).default);
19
+ await runtime.registerPlugin((await import('@vibesdotdev/kernel/resolver/resolver.plugin')).default);
20
+ await runtime.registerPlugin((await import('@vibesdotdev/kernel/client/plugin')).default);
21
+ await runtime.registerPlugin((await import('@vibesdotdev/storage/storage.plugin')).default);
22
+ await runtime.registerPlugin((await import('@vibesdotdev/logging/plugin')).default);
23
+ await runtime.registerPlugin((await import('@vibesdotdev/media/plugin')).default);
24
+ await runtime.registerPlugin((await import('@vibesdotdev/canvas/plugin')).default);
25
+ await runtime.registerPlugin((await import('@vibesdotdev/realtime/plugin')).default);
26
+ await runtime.registerPlugin((await import('@vibesdotdev/config/plugin')).default);
27
+ await runtime.registerPlugin((await import('@vibesdotdev/config/environment/environment.plugin')).default);
28
+ await runtime.registerPlugin((await import('@vibesdotdev/config/setup/plugin')).default);
29
+ for (const descriptor of DEFAULT_SETUP_REQUIREMENT_DESCRIPTORS) {
30
+ if (runtime.query('setup/requirement').withId(descriptor.id).descriptors().length === 0) {
31
+ runtime.registerDescriptor('setup/requirement', descriptor);
32
+ }
33
+ }
34
+ await runtime.registerPlugin((await import('@vibesdotdev/kernel/plugin')).default);
35
+ if (await hasRuntimeStdioCapture(runtime)) {
36
+ await runtime.registerPlugin((await import('@vibesdotdev/logging')).loggingStdoutCapturePlugin);
37
+ }
38
+ if (config.loggingBrowser)
39
+ await runtime.registerPlugin((await import('@vibesdotdev/logging/browser/plugin')).default);
40
+ if (config.docs)
41
+ await runtime.registerPlugin((await import('@vibesdotdev/docs/plugin')).default);
42
+ if (config.tools) {
43
+ await runtime.registerPlugin((await import('@vibesdotdev/tools/browser.plugin')).default);
44
+ await runtime.registerPlugin((await import('@vibesdotdev/tools/calculate/plugin')).default);
45
+ await runtime.registerPlugin((await import('@vibesdotdev/tools/fetch/plugin')).default);
46
+ await runtime.registerPlugin((await import('@vibesdotdev/ai/reasoning/plugin')).default);
47
+ }
48
+ if (config.workers)
49
+ await runtime.registerPlugin((await import('@vibesdotdev/workers/common.plugin')).default);
50
+ if (config.cache)
51
+ await runtime.registerPlugin((await import('@vibesdotdev/cache/plugin')).default);
52
+ if (config.storage.enabled && config.storage.adapters.includes('cloud-api')) {
53
+ await runtime.registerPlugin((await import('@vibesdotdev/storage/adapters/cloud-api/plugin')).storageAdapterCloudApiPlugin);
54
+ }
55
+ if (config.filesystem.enabled)
56
+ await runtime.registerPlugin((await import('@vibesdotdev/filesystem')).filesystemPlugin);
57
+ if (config.paths)
58
+ await runtime.registerPlugin((await import('@vibesdotdev/paths')).pathsPlugin);
59
+ if (config.session)
60
+ await runtime.registerPlugin((await import('@vibesdotdev/session/core.plugin')).default);
61
+ }
62
+ });
63
+ export default corePluginsPlugin;
64
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/core/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { SetupRequirementDefinition } from '@vibesdotdev/config/setup/requirements';
2
+ import type { RuntimeDescriptor } from '@vibesdotdev/kernel';
3
+ export type SetupRequirementDescriptor = RuntimeDescriptor & Omit<SetupRequirementDefinition, 'customCheck' | 'dataLoader'> & {
4
+ readonly kind: 'setup/requirement';
5
+ };
6
+ export declare const DEFAULT_SETUP_REQUIREMENT_DESCRIPTORS: readonly SetupRequirementDescriptor[];
7
+ //# sourceMappingURL=setup-requirements.descriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-requirements.descriptors.d.ts","sourceRoot":"","sources":["../../src/core/setup-requirements.descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,GACzD,IAAI,CAAC,0BAA0B,EAAE,aAAa,GAAG,YAAY,CAAC,GAAG;IAChE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAEH,eAAO,MAAM,qCAAqC,EAAE,SAAS,0BAA0B,EAmH7E,CAAC"}
@@ -0,0 +1,117 @@
1
+ export const DEFAULT_SETUP_REQUIREMENT_DESCRIPTORS = [
2
+ {
3
+ kind: 'setup/requirement',
4
+ id: 'profile',
5
+ manifestId: 'user.profile',
6
+ manifestType: 'config',
7
+ label: 'Profile',
8
+ reason: 'Set up your profile to personalize your experience',
9
+ order: 10,
10
+ severity: 'degraded',
11
+ route: '/profile',
12
+ cliCommand: 'vibes config profile',
13
+ tuiPage: 'user/profile',
14
+ icon: 'user',
15
+ estimatedMinutes: 1,
16
+ requiredFields: ['name', 'email']
17
+ },
18
+ {
19
+ kind: 'setup/requirement',
20
+ id: 'ai-provider',
21
+ manifestId: 'ai.providers',
22
+ manifestType: 'record',
23
+ label: 'AI Provider',
24
+ reason: 'Connect to an AI provider to enable AI features',
25
+ order: 20,
26
+ severity: 'blocking',
27
+ route: '/ai/providers/create',
28
+ cliCommand: 'vibes ai providers create',
29
+ tuiPage: 'ai/providers',
30
+ icon: 'plug',
31
+ estimatedMinutes: 2,
32
+ minRecords: 1
33
+ },
34
+ {
35
+ kind: 'setup/requirement',
36
+ id: 'default-model',
37
+ manifestId: 'ai.core',
38
+ manifestType: 'config',
39
+ label: 'Default Model',
40
+ reason: 'Select your default AI model for generation',
41
+ order: 30,
42
+ severity: 'blocking',
43
+ route: '/ai',
44
+ cliCommand: 'vibes ai config set-default',
45
+ tuiPage: 'ai',
46
+ icon: 'brain',
47
+ estimatedMinutes: 1,
48
+ requiredFields: ['defaultProviderId', 'defaultModelId']
49
+ },
50
+ {
51
+ kind: 'setup/requirement',
52
+ id: 'project',
53
+ manifestId: 'projects',
54
+ manifestType: 'record',
55
+ label: 'Project',
56
+ reason: 'Create a project to organize your work',
57
+ order: 40,
58
+ severity: 'degraded',
59
+ route: '/projects/new',
60
+ cliCommand: 'vibes projects create',
61
+ tuiPage: 'projects',
62
+ icon: 'folder',
63
+ estimatedMinutes: 1,
64
+ minRecords: 1,
65
+ surfaces: ['web']
66
+ },
67
+ {
68
+ kind: 'setup/requirement',
69
+ id: 'knowledge-base',
70
+ manifestId: 'knowledge.bases',
71
+ manifestType: 'record',
72
+ label: 'Knowledge Base',
73
+ reason: 'Create a knowledge base to store and retrieve information',
74
+ order: 50,
75
+ severity: 'optional',
76
+ route: '/knowledge/bases/create',
77
+ cliCommand: 'vibes knowledge create',
78
+ tuiPage: 'knowledge',
79
+ icon: 'book',
80
+ estimatedMinutes: 1,
81
+ minRecords: 1,
82
+ surfaces: ['web']
83
+ },
84
+ {
85
+ kind: 'setup/requirement',
86
+ id: 'agent',
87
+ manifestId: 'tools.agents',
88
+ manifestType: 'record',
89
+ label: 'AI Agent',
90
+ reason: 'Create an AI agent to customize behavior and capabilities',
91
+ order: 60,
92
+ severity: 'degraded',
93
+ route: '/ai/agents/create',
94
+ cliCommand: 'vibes ai agents create',
95
+ tuiPage: 'ai/agents',
96
+ icon: 'bot',
97
+ estimatedMinutes: 2,
98
+ minRecords: 1
99
+ },
100
+ {
101
+ kind: 'setup/requirement',
102
+ id: 'default-agent',
103
+ manifestId: 'ai.core',
104
+ manifestType: 'config',
105
+ label: 'Default Agent',
106
+ reason: 'Select your default agent for chat sessions',
107
+ order: 70,
108
+ severity: 'degraded',
109
+ route: '/ai',
110
+ cliCommand: 'vibes ai config set-default --agent',
111
+ tuiPage: 'ai',
112
+ icon: 'star',
113
+ estimatedMinutes: 1,
114
+ requiredFields: ['defaultAgentId']
115
+ }
116
+ ];
117
+ //# sourceMappingURL=setup-requirements.descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-requirements.descriptors.js","sourceRoot":"","sources":["../../src/core/setup-requirements.descriptors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const dataPluginsPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
2
+ export default dataPluginsPlugin;
3
+ //# sourceMappingURL=consumer.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer.plugin.d.ts","sourceRoot":"","sources":["../../src/data/consumer.plugin.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,iBAAiB,6CAuF5B,CAAC;AACH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { optionalMemberRegistrar } from "../core/optional-member.js";
2
+ /**
3
+ * Data Plugins Umbrella - Knowledge, Session, Notifications, Runbooks, Prompts
4
+ *
5
+ * Depends on: @vibesdotdev/plugins-core
6
+ */
7
+ import { createRuntimePlugin, createRuntimeKind } from '@vibesdotdev/kernel';
8
+ import { z } from 'zod/v4';
9
+ import { DataPluginsConfigSchema, mergeConfig } from "../schemas/data.js";
10
+ export const dataPluginsPlugin = createRuntimePlugin({
11
+ id: '@vibesdotdev/plugins-data',
12
+ name: 'Data Plugins Umbrella',
13
+ description: 'Knowledge, Session, Runbooks, Prompts',
14
+ dependencies: ['context', '@vibesdotdev/plugins-core'],
15
+ kinds: [
16
+ createRuntimeKind({
17
+ id: 'plugins/data/config',
18
+ descriptorSchema: z.object({
19
+ kind: z.literal('plugins/data/config'),
20
+ id: z.literal('plugins.data'),
21
+ config: DataPluginsConfigSchema
22
+ })
23
+ })
24
+ ],
25
+ async onRegister(runtime) {
26
+ const member = optionalMemberRegistrar('plugins-data', runtime);
27
+ const configId = 'plugins.data';
28
+ const userConfig = runtime.hasContext(configId) ? await runtime.context(configId) : {};
29
+ const config = mergeConfig(userConfig, runtime.scope);
30
+ // Session is part of the CLI identity spine (see plugins-auth): CLI
31
+ // invocations open session turns and forge resolves the active session
32
+ // context through it. App configs disabling session (ai-web) describe the
33
+ // app runtime, not the CLI running from that cwd. session's only
34
+ // dependency is storage, which the CLI-surface floor in plugins-core
35
+ // guarantees. The mount is unguarded on purpose — spine failures are loud.
36
+ if (runtime.scope.surface === 'cli') {
37
+ config.session = true;
38
+ }
39
+ if (config.knowledge) {
40
+ {
41
+ await member('@vibesdotdev/knowledge/plugin', async () => (await import('@vibesdotdev/knowledge/plugin')).default);
42
+ // Projection support is opt-in at the package boundary: the main
43
+ // Knowledge plugin remains usable without sync, while hosts that compose
44
+ // the sync substrate automatically receive the Knowledge endpoint.
45
+ if (runtime.hasPlugin('sync')) {
46
+ await member('@vibesdotdev/knowledge/sync.plugin', async () => (await import('@vibesdotdev/knowledge/sync.plugin')).default);
47
+ }
48
+ }
49
+ // Canonical sibling -cli surface for the knowledge package
50
+ // (SURFACE-PACKAGE-CONVENTIONS §3). Registers
51
+ // Knowledge CLI surface (descriptor/impl split — see
52
+ // @vibesdotdev/knowledge/cli/plugin). Holds the `knowledge.*` cli/group +
53
+ // cli/command descriptors — including the merged-in `projects` / `show` /
54
+ // `ingest add` commands folded into knowledge/cli
55
+ // — and their node:fs-backed `*.cli-command.impl.*` loaders, kept off
56
+ // cloud bundles. Mount CLI-scope-only; the base
57
+ // knowledge plugin (registered above) satisfies the `knowledge`
58
+ // dependency and the composed @vibesdotdev/cli satisfies `cli`.
59
+ if (runtime.scope.surface === 'cli') {
60
+ {
61
+ await member('@vibesdotdev/knowledge/cli/plugin', async () => (await import('@vibesdotdev/knowledge/cli/plugin')).default);
62
+ }
63
+ }
64
+ // Knowledge consumer surface (descriptor/impl split — see
65
+ // @vibesdotdev/knowledge/consumer.plugin). Holds the consumer-only impl
66
+ // loaders (node:fs indexer worker/jobs + per-entity tool variants +
67
+ // ingest-from-chat), kept off cloud bundles. Mount consumer-hardware-only;
68
+ // the base knowledge plugin (registered above) satisfies the `knowledge`
69
+ // dependency.
70
+ if (runtime.scope.hardware === 'consumer') {
71
+ {
72
+ await member('@vibesdotdev/knowledge/consumer.plugin', async () => (await import('@vibesdotdev/knowledge/consumer.plugin')).default);
73
+ }
74
+ }
75
+ }
76
+ if (config.session) {
77
+ {
78
+ await member('@vibesdotdev/session/plugin', async () => (await import('@vibesdotdev/session/plugin')).default);
79
+ }
80
+ }
81
+ if (config.notifications) {
82
+ {
83
+ await member('@vibesdotdev/notifications/plugin', async () => (await import('@vibesdotdev/notifications/plugin')).default);
84
+ }
85
+ }
86
+ if (config.runbooks) {
87
+ {
88
+ await member('@vibesdotdev/runbooks/plugin', async () => (await import('@vibesdotdev/runbooks/plugin')).default);
89
+ }
90
+ }
91
+ if (config.prompts) {
92
+ {
93
+ await member('@vibesdotdev/prompts/plugin', async () => (await import('@vibesdotdev/prompts/plugin')).default);
94
+ }
95
+ }
96
+ }
97
+ });
98
+ export default dataPluginsPlugin;
99
+ //# sourceMappingURL=consumer.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer.plugin.js","sourceRoot":"","sources":["../../src/data/consumer.plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { dataPluginsPlugin, default } from './plugin.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { dataPluginsPlugin, default } from "./plugin.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Scope-neutral contracts; native and surface capabilities live in ./consumer.plugin. */
2
+ export declare const dataPluginsPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
3
+ export default dataPluginsPlugin;
4
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/data/plugin.ts"],"names":[],"mappings":"AAMA,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,6CA0B5B,CAAC;AACH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { createRuntimePlugin, createRuntimeKind } from '@vibesdotdev/kernel';
2
+ import { z } from 'zod/v4';
3
+ import { DataPluginsConfigSchema, mergeConfig } from "../schemas/data.js";
4
+ import { optionalMemberRegistrar } from "../core/optional-member.js";
5
+ /** Scope-neutral contracts; native and surface capabilities live in ./consumer.plugin. */
6
+ export const dataPluginsPlugin = createRuntimePlugin({
7
+ id: '@vibesdotdev/plugins-data',
8
+ name: 'Data family contracts',
9
+ dependencies: ['context', '@vibesdotdev/plugins-core'],
10
+ kinds: [createRuntimeKind({
11
+ id: 'plugins/data/config',
12
+ descriptorSchema: z.object({
13
+ kind: z.literal('plugins/data/config'), id: z.literal('plugins.data'),
14
+ config: DataPluginsConfigSchema
15
+ })
16
+ })],
17
+ async onRegister(runtime) {
18
+ const input = runtime.hasContext('plugins.data')
19
+ ? await runtime.context('plugins.data') : {};
20
+ const config = mergeConfig(input, runtime.scope);
21
+ runtime.registerDescriptor('plugins/data/config', {
22
+ kind: 'plugins/data/config', id: 'plugins.data', config
23
+ });
24
+ const member = optionalMemberRegistrar('plugins-data', runtime);
25
+ if (config.knowledge) {
26
+ await member('@vibesdotdev/knowledge/api-client-plugin', async () => (await import('@vibesdotdev/knowledge/api-client-plugin')).default);
27
+ }
28
+ if (config.session)
29
+ await member('@vibesdotdev/session/cloud.plugin', async () => (await import('@vibesdotdev/session/cloud.plugin')).default);
30
+ if (config.runbooks)
31
+ await member('@vibesdotdev/runbooks/core.plugin', async () => (await import('@vibesdotdev/runbooks/core.plugin')).default);
32
+ if (config.prompts)
33
+ await member('@vibesdotdev/prompts/browser.plugin', async () => (await import('@vibesdotdev/prompts/browser.plugin')).default);
34
+ }
35
+ });
36
+ export default dataPluginsPlugin;
37
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/data/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;IACpD,EAAE,EAAE,2BAA2B;IAC/B,IAAI,EAAE,uBAAuB;IAC7B,YAAY,EAAE,CAAC,SAAS,EAAE,2BAA2B,CAAC;IACtD,KAAK,EAAE,CAAC,iBAAiB,CAAC;YACzB,EAAE,EAAE,qBAAqB;YACzB,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;gBACrE,MAAM,EAAE,uBAAuB;aAC/B,CAAC;SACF,CAAC,CAAC;IACH,KAAK,CAAC,UAAU,CAAC,OAAO;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;YAC/C,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAoB,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YACjD,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM;SACvD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,uBAAuB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,MAAM,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1I,CAAC;QACD,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,MAAM,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/I,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM,MAAM,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChJ,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,MAAM,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnJ,CAAC;CACD,CAAC,CAAC;AACH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const devtoolsPluginsPlugin: import("@vibesdotdev/kernel").RuntimePlugin;
2
+ export default devtoolsPluginsPlugin;
3
+ //# sourceMappingURL=consumer.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer.plugin.d.ts","sourceRoot":"","sources":["../../src/devtools/consumer.plugin.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,qBAAqB,6CAoRhC,CAAC;AACH,eAAe,qBAAqB,CAAC"}