@vibesdotdev/cli 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/README.md +41 -0
  2. package/SPEC.md +97 -0
  3. package/bin/vibes.ts +26 -0
  4. package/dist/api/client/factory.d.ts +29 -0
  5. package/dist/api/client/factory.d.ts.map +1 -0
  6. package/dist/api/client/factory.js +189 -0
  7. package/dist/api/client/factory.js.map +1 -0
  8. package/dist/api/schemas/common.d.ts +58 -0
  9. package/dist/api/schemas/common.d.ts.map +1 -0
  10. package/dist/api/schemas/common.js +48 -0
  11. package/dist/api/schemas/common.js.map +1 -0
  12. package/dist/api/schemas/types.d.ts +30 -0
  13. package/dist/api/schemas/types.d.ts.map +1 -0
  14. package/dist/api/schemas/types.js +2 -0
  15. package/dist/api/schemas/types.js.map +1 -0
  16. package/dist/api/services/api.d.ts +14 -0
  17. package/dist/api/services/api.d.ts.map +1 -0
  18. package/dist/api/services/api.js +110 -0
  19. package/dist/api/services/api.js.map +1 -0
  20. package/dist/api/types.d.ts +6 -0
  21. package/dist/api/types.d.ts.map +1 -0
  22. package/dist/api/types.js +5 -0
  23. package/dist/api/types.js.map +1 -0
  24. package/dist/bin.d.ts +28 -0
  25. package/dist/bin.d.ts.map +1 -0
  26. package/dist/bin.js +73 -0
  27. package/dist/bin.js.map +1 -0
  28. package/dist/bootstrap.d.ts +14 -0
  29. package/dist/bootstrap.d.ts.map +1 -0
  30. package/dist/bootstrap.js +14 -0
  31. package/dist/bootstrap.js.map +1 -0
  32. package/dist/cli.plugin.d.ts +20 -0
  33. package/dist/cli.plugin.d.ts.map +1 -0
  34. package/dist/cli.plugin.js +170 -0
  35. package/dist/cli.plugin.js.map +1 -0
  36. package/dist/commands/completion/bash.d.ts +8 -0
  37. package/dist/commands/completion/bash.d.ts.map +1 -0
  38. package/dist/commands/completion/bash.js +60 -0
  39. package/dist/commands/completion/bash.js.map +1 -0
  40. package/dist/commands/completion/completion.descriptor.d.ts +10 -0
  41. package/dist/commands/completion/completion.descriptor.d.ts.map +1 -0
  42. package/dist/commands/completion/completion.descriptor.js +41 -0
  43. package/dist/commands/completion/completion.descriptor.js.map +1 -0
  44. package/dist/commands/completion/completion.impl.d.ts +12 -0
  45. package/dist/commands/completion/completion.impl.d.ts.map +1 -0
  46. package/dist/commands/completion/completion.impl.js +167 -0
  47. package/dist/commands/completion/completion.impl.js.map +1 -0
  48. package/dist/commands/completion/fig.d.ts +12 -0
  49. package/dist/commands/completion/fig.d.ts.map +1 -0
  50. package/dist/commands/completion/fig.js +71 -0
  51. package/dist/commands/completion/fig.js.map +1 -0
  52. package/dist/commands/completion/fish.d.ts +8 -0
  53. package/dist/commands/completion/fish.d.ts.map +1 -0
  54. package/dist/commands/completion/fish.js +38 -0
  55. package/dist/commands/completion/fish.js.map +1 -0
  56. package/dist/commands/completion/tree.d.ts +33 -0
  57. package/dist/commands/completion/tree.d.ts.map +1 -0
  58. package/dist/commands/completion/tree.js +75 -0
  59. package/dist/commands/completion/tree.js.map +1 -0
  60. package/dist/commands/completion/zsh-widget.d.ts +13 -0
  61. package/dist/commands/completion/zsh-widget.d.ts.map +1 -0
  62. package/dist/commands/completion/zsh-widget.js +39 -0
  63. package/dist/commands/completion/zsh-widget.js.map +1 -0
  64. package/dist/commands/completion/zsh.d.ts +9 -0
  65. package/dist/commands/completion/zsh.d.ts.map +1 -0
  66. package/dist/commands/completion/zsh.js +146 -0
  67. package/dist/commands/completion/zsh.js.map +1 -0
  68. package/dist/commands/profile/_utils.d.ts +21 -0
  69. package/dist/commands/profile/_utils.d.ts.map +1 -0
  70. package/dist/commands/profile/_utils.js +61 -0
  71. package/dist/commands/profile/_utils.js.map +1 -0
  72. package/dist/commands/profile/profile-group.descriptor.d.ts +4 -0
  73. package/dist/commands/profile/profile-group.descriptor.d.ts.map +1 -0
  74. package/dist/commands/profile/profile-group.descriptor.js +12 -0
  75. package/dist/commands/profile/profile-group.descriptor.js.map +1 -0
  76. package/dist/commands/profile/profile.create.descriptor.d.ts +4 -0
  77. package/dist/commands/profile/profile.create.descriptor.d.ts.map +1 -0
  78. package/dist/commands/profile/profile.create.descriptor.js +22 -0
  79. package/dist/commands/profile/profile.create.descriptor.js.map +1 -0
  80. package/dist/commands/profile/profile.create.impl.d.ts +10 -0
  81. package/dist/commands/profile/profile.create.impl.d.ts.map +1 -0
  82. package/dist/commands/profile/profile.create.impl.js +29 -0
  83. package/dist/commands/profile/profile.create.impl.js.map +1 -0
  84. package/dist/commands/profile/profile.delete.descriptor.d.ts +4 -0
  85. package/dist/commands/profile/profile.delete.descriptor.d.ts.map +1 -0
  86. package/dist/commands/profile/profile.delete.descriptor.js +29 -0
  87. package/dist/commands/profile/profile.delete.descriptor.js.map +1 -0
  88. package/dist/commands/profile/profile.delete.impl.d.ts +11 -0
  89. package/dist/commands/profile/profile.delete.impl.d.ts.map +1 -0
  90. package/dist/commands/profile/profile.delete.impl.js +50 -0
  91. package/dist/commands/profile/profile.delete.impl.js.map +1 -0
  92. package/dist/commands/profile/profile.info.descriptor.d.ts +4 -0
  93. package/dist/commands/profile/profile.info.descriptor.d.ts.map +1 -0
  94. package/dist/commands/profile/profile.info.descriptor.js +23 -0
  95. package/dist/commands/profile/profile.info.descriptor.js.map +1 -0
  96. package/dist/commands/profile/profile.info.impl.d.ts +10 -0
  97. package/dist/commands/profile/profile.info.impl.d.ts.map +1 -0
  98. package/dist/commands/profile/profile.info.impl.js +33 -0
  99. package/dist/commands/profile/profile.info.impl.js.map +1 -0
  100. package/dist/commands/profile/profile.list.descriptor.d.ts +4 -0
  101. package/dist/commands/profile/profile.list.descriptor.d.ts.map +1 -0
  102. package/dist/commands/profile/profile.list.descriptor.js +16 -0
  103. package/dist/commands/profile/profile.list.descriptor.js.map +1 -0
  104. package/dist/commands/profile/profile.list.impl.d.ts +10 -0
  105. package/dist/commands/profile/profile.list.impl.d.ts.map +1 -0
  106. package/dist/commands/profile/profile.list.impl.js +33 -0
  107. package/dist/commands/profile/profile.list.impl.js.map +1 -0
  108. package/dist/commands/profile/profile.use.descriptor.d.ts +4 -0
  109. package/dist/commands/profile/profile.use.descriptor.d.ts.map +1 -0
  110. package/dist/commands/profile/profile.use.descriptor.js +23 -0
  111. package/dist/commands/profile/profile.use.descriptor.js.map +1 -0
  112. package/dist/commands/profile/profile.use.impl.d.ts +10 -0
  113. package/dist/commands/profile/profile.use.impl.d.ts.map +1 -0
  114. package/dist/commands/profile/profile.use.impl.js +24 -0
  115. package/dist/commands/profile/profile.use.impl.js.map +1 -0
  116. package/dist/commands/runtime/_logging.d.ts +11 -0
  117. package/dist/commands/runtime/_logging.d.ts.map +1 -0
  118. package/dist/commands/runtime/_logging.js +40 -0
  119. package/dist/commands/runtime/_logging.js.map +1 -0
  120. package/dist/commands/runtime/codegen.command.descriptor.d.ts +15 -0
  121. package/dist/commands/runtime/codegen.command.descriptor.d.ts.map +1 -0
  122. package/dist/commands/runtime/codegen.command.descriptor.js +18 -0
  123. package/dist/commands/runtime/codegen.command.descriptor.js.map +1 -0
  124. package/dist/commands/runtime/codegen.command.impl.d.ts +4 -0
  125. package/dist/commands/runtime/codegen.command.impl.d.ts.map +1 -0
  126. package/dist/commands/runtime/codegen.command.impl.js +39 -0
  127. package/dist/commands/runtime/codegen.command.impl.js.map +1 -0
  128. package/dist/commands/runtime/codegen.d.ts +17 -0
  129. package/dist/commands/runtime/codegen.d.ts.map +1 -0
  130. package/dist/commands/runtime/codegen.js +65 -0
  131. package/dist/commands/runtime/codegen.js.map +1 -0
  132. package/dist/commands/runtime/index.d.ts +4 -0
  133. package/dist/commands/runtime/index.d.ts.map +1 -0
  134. package/dist/commands/runtime/index.js +8 -0
  135. package/dist/commands/runtime/index.js.map +1 -0
  136. package/dist/commands/runtime/plugin.d.ts +2 -0
  137. package/dist/commands/runtime/plugin.d.ts.map +1 -0
  138. package/dist/commands/runtime/plugin.js +7 -0
  139. package/dist/commands/runtime/plugin.js.map +1 -0
  140. package/dist/commands/runtime/runtime-group.descriptor.d.ts +4 -0
  141. package/dist/commands/runtime/runtime-group.descriptor.d.ts.map +1 -0
  142. package/dist/commands/runtime/runtime-group.descriptor.js +10 -0
  143. package/dist/commands/runtime/runtime-group.descriptor.js.map +1 -0
  144. package/dist/config.d.ts +17 -0
  145. package/dist/config.d.ts.map +1 -0
  146. package/dist/config.js +11 -0
  147. package/dist/config.js.map +1 -0
  148. package/dist/core/index.d.ts +9 -0
  149. package/dist/core/index.d.ts.map +1 -0
  150. package/dist/core/index.js +5 -0
  151. package/dist/core/index.js.map +1 -0
  152. package/dist/core/namespace/hook.d.ts +12 -0
  153. package/dist/core/namespace/hook.d.ts.map +1 -0
  154. package/dist/core/namespace/hook.js +15 -0
  155. package/dist/core/namespace/hook.js.map +1 -0
  156. package/dist/core/namespace/index.d.ts +18 -0
  157. package/dist/core/namespace/index.d.ts.map +1 -0
  158. package/dist/core/namespace/index.js +214 -0
  159. package/dist/core/namespace/index.js.map +1 -0
  160. package/dist/core/namespace/schemas/index.d.ts +25 -0
  161. package/dist/core/namespace/schemas/index.d.ts.map +1 -0
  162. package/dist/core/namespace/schemas/index.js +2 -0
  163. package/dist/core/namespace/schemas/index.js.map +1 -0
  164. package/dist/core/plugins/types.d.ts +81 -0
  165. package/dist/core/plugins/types.d.ts.map +1 -0
  166. package/dist/core/plugins/types.js +6 -0
  167. package/dist/core/plugins/types.js.map +1 -0
  168. package/dist/core/runtime/context.d.ts +25 -0
  169. package/dist/core/runtime/context.d.ts.map +1 -0
  170. package/dist/core/runtime/context.js +30 -0
  171. package/dist/core/runtime/context.js.map +1 -0
  172. package/dist/core/runtime/hooks.d.ts +12 -0
  173. package/dist/core/runtime/hooks.d.ts.map +1 -0
  174. package/dist/core/runtime/hooks.js +2 -0
  175. package/dist/core/runtime/hooks.js.map +1 -0
  176. package/dist/core/runtime/shared/context.d.ts +33 -0
  177. package/dist/core/runtime/shared/context.d.ts.map +1 -0
  178. package/dist/core/runtime/shared/context.js +51 -0
  179. package/dist/core/runtime/shared/context.js.map +1 -0
  180. package/dist/core/runtime/shared/options.d.ts +20 -0
  181. package/dist/core/runtime/shared/options.d.ts.map +1 -0
  182. package/dist/core/runtime/shared/options.js +61 -0
  183. package/dist/core/runtime/shared/options.js.map +1 -0
  184. package/dist/core/schemas/manifest.d.ts +24 -0
  185. package/dist/core/schemas/manifest.d.ts.map +1 -0
  186. package/dist/core/schemas/manifest.js +6 -0
  187. package/dist/core/schemas/manifest.js.map +1 -0
  188. package/dist/core/schemas/types.d.ts +7 -0
  189. package/dist/core/schemas/types.d.ts.map +1 -0
  190. package/dist/core/schemas/types.js +2 -0
  191. package/dist/core/schemas/types.js.map +1 -0
  192. package/dist/core/ui/interface.d.ts +12 -0
  193. package/dist/core/ui/interface.d.ts.map +1 -0
  194. package/dist/core/ui/interface.js +6 -0
  195. package/dist/core/ui/interface.js.map +1 -0
  196. package/dist/docs/cli.commands.docs.descriptor.d.ts +4 -0
  197. package/dist/docs/cli.commands.docs.descriptor.d.ts.map +1 -0
  198. package/dist/docs/cli.commands.docs.descriptor.js +207 -0
  199. package/dist/docs/cli.commands.docs.descriptor.js.map +1 -0
  200. package/dist/docs/cli.groups.docs.descriptor.d.ts +4 -0
  201. package/dist/docs/cli.groups.docs.descriptor.d.ts.map +1 -0
  202. package/dist/docs/cli.groups.docs.descriptor.js +330 -0
  203. package/dist/docs/cli.groups.docs.descriptor.js.map +1 -0
  204. package/dist/docs/cli.output.docs.descriptor.d.ts +4 -0
  205. package/dist/docs/cli.output.docs.descriptor.d.ts.map +1 -0
  206. package/dist/docs/cli.output.docs.descriptor.js +442 -0
  207. package/dist/docs/cli.output.docs.descriptor.js.map +1 -0
  208. package/dist/docs/types.d.ts +19 -0
  209. package/dist/docs/types.d.ts.map +1 -0
  210. package/dist/docs/types.js +2 -0
  211. package/dist/docs/types.js.map +1 -0
  212. package/dist/errors.d.ts +74 -0
  213. package/dist/errors.d.ts.map +1 -0
  214. package/dist/errors.js +113 -0
  215. package/dist/errors.js.map +1 -0
  216. package/dist/index.d.ts +22 -0
  217. package/dist/index.d.ts.map +1 -0
  218. package/dist/index.js +29 -0
  219. package/dist/index.js.map +1 -0
  220. package/dist/logging/cli-startup.logger.descriptor.d.ts +7 -0
  221. package/dist/logging/cli-startup.logger.descriptor.d.ts.map +1 -0
  222. package/dist/logging/cli-startup.logger.descriptor.js +13 -0
  223. package/dist/logging/cli-startup.logger.descriptor.js.map +1 -0
  224. package/dist/logging.d.ts +4 -0
  225. package/dist/logging.d.ts.map +1 -0
  226. package/dist/logging.js +21 -0
  227. package/dist/logging.js.map +1 -0
  228. package/dist/patterns/config-namespace.d.ts +23 -0
  229. package/dist/patterns/config-namespace.d.ts.map +1 -0
  230. package/dist/patterns/config-namespace.js +218 -0
  231. package/dist/patterns/config-namespace.js.map +1 -0
  232. package/dist/patterns/crud.d.ts +23 -0
  233. package/dist/patterns/crud.d.ts.map +1 -0
  234. package/dist/patterns/crud.js +164 -0
  235. package/dist/patterns/crud.js.map +1 -0
  236. package/dist/patterns/index.d.ts +13 -0
  237. package/dist/patterns/index.d.ts.map +1 -0
  238. package/dist/patterns/index.js +13 -0
  239. package/dist/patterns/index.js.map +1 -0
  240. package/dist/patterns/log-viewer.d.ts +19 -0
  241. package/dist/patterns/log-viewer.d.ts.map +1 -0
  242. package/dist/patterns/log-viewer.js +74 -0
  243. package/dist/patterns/log-viewer.js.map +1 -0
  244. package/dist/patterns/pattern-types.d.ts +21 -0
  245. package/dist/patterns/pattern-types.d.ts.map +1 -0
  246. package/dist/patterns/pattern-types.js +7 -0
  247. package/dist/patterns/pattern-types.js.map +1 -0
  248. package/dist/patterns/process-manager.d.ts +21 -0
  249. package/dist/patterns/process-manager.d.ts.map +1 -0
  250. package/dist/patterns/process-manager.js +134 -0
  251. package/dist/patterns/process-manager.js.map +1 -0
  252. package/dist/patterns/resolver.contracts.d.ts +14 -0
  253. package/dist/patterns/resolver.contracts.d.ts.map +1 -0
  254. package/dist/patterns/resolver.contracts.js +9 -0
  255. package/dist/patterns/resolver.contracts.js.map +1 -0
  256. package/dist/patterns/resolver.d.ts +40 -0
  257. package/dist/patterns/resolver.d.ts.map +1 -0
  258. package/dist/patterns/resolver.js +63 -0
  259. package/dist/patterns/resolver.js.map +1 -0
  260. package/dist/patterns/schemas.d.ts +496 -0
  261. package/dist/patterns/schemas.d.ts.map +1 -0
  262. package/dist/patterns/schemas.js +105 -0
  263. package/dist/patterns/schemas.js.map +1 -0
  264. package/dist/patterns/tool-wrapper.d.ts +18 -0
  265. package/dist/patterns/tool-wrapper.d.ts.map +1 -0
  266. package/dist/patterns/tool-wrapper.js +130 -0
  267. package/dist/patterns/tool-wrapper.js.map +1 -0
  268. package/dist/providers.d.ts +105 -0
  269. package/dist/providers.d.ts.map +1 -0
  270. package/dist/providers.js +164 -0
  271. package/dist/providers.js.map +1 -0
  272. package/dist/schemas/descriptors.d.ts +130 -0
  273. package/dist/schemas/descriptors.d.ts.map +1 -0
  274. package/dist/schemas/descriptors.js +96 -0
  275. package/dist/schemas/descriptors.js.map +1 -0
  276. package/dist/schemas/surface.d.ts +40 -0
  277. package/dist/schemas/surface.d.ts.map +1 -0
  278. package/dist/schemas/surface.js +2 -0
  279. package/dist/schemas/surface.js.map +1 -0
  280. package/dist/schemas/types.d.ts +202 -0
  281. package/dist/schemas/types.d.ts.map +1 -0
  282. package/dist/schemas/types.js +2 -0
  283. package/dist/schemas/types.js.map +1 -0
  284. package/dist/support/ui-toolkit.d.ts +62 -0
  285. package/dist/support/ui-toolkit.d.ts.map +1 -0
  286. package/dist/support/ui-toolkit.js +172 -0
  287. package/dist/support/ui-toolkit.js.map +1 -0
  288. package/dist/surface/CLISurface.d.ts +16 -0
  289. package/dist/surface/CLISurface.d.ts.map +1 -0
  290. package/dist/surface/CLISurface.js +173 -0
  291. package/dist/surface/CLISurface.js.map +1 -0
  292. package/dist/surface/attach-tui-action.d.ts +12 -0
  293. package/dist/surface/attach-tui-action.d.ts.map +1 -0
  294. package/dist/surface/attach-tui-action.js +48 -0
  295. package/dist/surface/attach-tui-action.js.map +1 -0
  296. package/dist/surface/build-context.d.ts +4 -0
  297. package/dist/surface/build-context.d.ts.map +1 -0
  298. package/dist/surface/build-context.js +49 -0
  299. package/dist/surface/build-context.js.map +1 -0
  300. package/dist/surface/command-group-policy.d.ts +7 -0
  301. package/dist/surface/command-group-policy.d.ts.map +1 -0
  302. package/dist/surface/command-group-policy.js +42 -0
  303. package/dist/surface/command-group-policy.js.map +1 -0
  304. package/dist/surface/discovery-cache.d.ts +17 -0
  305. package/dist/surface/discovery-cache.d.ts.map +1 -0
  306. package/dist/surface/discovery-cache.js +106 -0
  307. package/dist/surface/discovery-cache.js.map +1 -0
  308. package/dist/surface/register-commands.d.ts +15 -0
  309. package/dist/surface/register-commands.d.ts.map +1 -0
  310. package/dist/surface/register-commands.js +197 -0
  311. package/dist/surface/register-commands.js.map +1 -0
  312. package/dist/surface/register-groups.d.ts +15 -0
  313. package/dist/surface/register-groups.d.ts.map +1 -0
  314. package/dist/surface/register-groups.js +52 -0
  315. package/dist/surface/register-groups.js.map +1 -0
  316. package/dist/surface.d.ts +9 -0
  317. package/dist/surface.d.ts.map +1 -0
  318. package/dist/surface.js +8 -0
  319. package/dist/surface.js.map +1 -0
  320. package/dist/types.d.ts +4 -0
  321. package/dist/types.d.ts.map +1 -0
  322. package/dist/types.js +2 -0
  323. package/dist/types.js.map +1 -0
  324. package/dist/ui/schemas/types.d.ts +2 -0
  325. package/dist/ui/schemas/types.d.ts.map +1 -0
  326. package/dist/ui/schemas/types.js +2 -0
  327. package/dist/ui/schemas/types.js.map +1 -0
  328. package/dist/ui/toolkit/VibesUIToolkit.d.ts +2 -0
  329. package/dist/ui/toolkit/VibesUIToolkit.d.ts.map +1 -0
  330. package/dist/ui/toolkit/VibesUIToolkit.js +2 -0
  331. package/dist/ui/toolkit/VibesUIToolkit.js.map +1 -0
  332. package/dist/ui.context.descriptor.d.ts +21 -0
  333. package/dist/ui.context.descriptor.d.ts.map +1 -0
  334. package/dist/ui.context.descriptor.js +12 -0
  335. package/dist/ui.context.descriptor.js.map +1 -0
  336. package/dist/utils/open.d.ts +2 -0
  337. package/dist/utils/open.d.ts.map +1 -0
  338. package/dist/utils/open.js +30 -0
  339. package/dist/utils/open.js.map +1 -0
  340. package/dist/version.d.ts +2 -0
  341. package/dist/version.d.ts.map +1 -0
  342. package/dist/version.js +2 -0
  343. package/dist/version.js.map +1 -0
  344. package/package.json +186 -0
  345. package/src/api/client/factory.ts +265 -0
  346. package/src/api/schemas/common.ts +50 -0
  347. package/src/api/schemas/types.ts +32 -0
  348. package/src/api/services/api.ts +129 -0
  349. package/src/api/types.ts +12 -0
  350. package/src/bin.ts +84 -0
  351. package/src/bootstrap.ts +19 -0
  352. package/src/cli.plugin.d.ts +19 -0
  353. package/src/cli.plugin.ts +202 -0
  354. package/src/commands/completion/bash.ts +68 -0
  355. package/src/commands/completion/completion.descriptor.ts +48 -0
  356. package/src/commands/completion/completion.impl.ts +188 -0
  357. package/src/commands/completion/fig.ts +78 -0
  358. package/src/commands/completion/fish.ts +52 -0
  359. package/src/commands/completion/tree.ts +115 -0
  360. package/src/commands/completion/zsh-widget.ts +39 -0
  361. package/src/commands/completion/zsh.ts +165 -0
  362. package/src/commands/profile/_utils.ts +72 -0
  363. package/src/commands/profile/profile-group.descriptor.ts +14 -0
  364. package/src/commands/profile/profile.create.descriptor.ts +24 -0
  365. package/src/commands/profile/profile.create.impl.ts +44 -0
  366. package/src/commands/profile/profile.delete.descriptor.ts +31 -0
  367. package/src/commands/profile/profile.delete.impl.ts +71 -0
  368. package/src/commands/profile/profile.info.descriptor.ts +25 -0
  369. package/src/commands/profile/profile.info.impl.ts +51 -0
  370. package/src/commands/profile/profile.list.descriptor.ts +18 -0
  371. package/src/commands/profile/profile.list.impl.ts +46 -0
  372. package/src/commands/profile/profile.use.descriptor.ts +25 -0
  373. package/src/commands/profile/profile.use.impl.ts +39 -0
  374. package/src/commands/runtime/_logging.ts +47 -0
  375. package/src/commands/runtime/codegen.command.descriptor.ts +18 -0
  376. package/src/commands/runtime/codegen.command.impl.ts +44 -0
  377. package/src/commands/runtime/codegen.ts +84 -0
  378. package/src/commands/runtime/index.ts +14 -0
  379. package/src/commands/runtime/plugin.ts +7 -0
  380. package/src/commands/runtime/runtime-group.descriptor.ts +12 -0
  381. package/src/config.ts +22 -0
  382. package/src/core/index.ts +9 -0
  383. package/src/core/namespace/hook.ts +25 -0
  384. package/src/core/namespace/index.ts +298 -0
  385. package/src/core/namespace/schemas/index.ts +25 -0
  386. package/src/core/plugins/types.ts +87 -0
  387. package/src/core/runtime/context.ts +50 -0
  388. package/src/core/runtime/hooks.ts +12 -0
  389. package/src/core/runtime/shared/context.ts +65 -0
  390. package/src/core/runtime/shared/options.ts +60 -0
  391. package/src/core/schemas/manifest.ts +26 -0
  392. package/src/core/schemas/types.ts +6 -0
  393. package/src/core/ui/interface.ts +12 -0
  394. package/src/docs/cli.commands.docs.descriptor.ts +210 -0
  395. package/src/docs/cli.groups.docs.descriptor.ts +333 -0
  396. package/src/docs/cli.output.docs.descriptor.ts +445 -0
  397. package/src/docs/types.ts +18 -0
  398. package/src/errors.ts +123 -0
  399. package/src/index.ts +76 -0
  400. package/src/logging/cli-startup.logger.descriptor.ts +16 -0
  401. package/src/logging.ts +35 -0
  402. package/src/patterns/config-namespace.ts +251 -0
  403. package/src/patterns/crud.ts +217 -0
  404. package/src/patterns/index.ts +24 -0
  405. package/src/patterns/log-viewer.ts +118 -0
  406. package/src/patterns/pattern-types.ts +22 -0
  407. package/src/patterns/process-manager.ts +180 -0
  408. package/src/patterns/resolver.contracts.ts +15 -0
  409. package/src/patterns/resolver.ts +86 -0
  410. package/src/patterns/schemas.ts +146 -0
  411. package/src/patterns/tool-wrapper.ts +165 -0
  412. package/src/providers.ts +282 -0
  413. package/src/schemas/descriptors.d.ts +119 -0
  414. package/src/schemas/descriptors.ts +136 -0
  415. package/src/schemas/surface.ts +52 -0
  416. package/src/schemas/types.d.ts +195 -0
  417. package/src/schemas/types.ts +225 -0
  418. package/src/support/ui-toolkit.ts +224 -0
  419. package/src/surface/CLISurface.ts +193 -0
  420. package/src/surface/attach-tui-action.ts +76 -0
  421. package/src/surface/build-context.ts +49 -0
  422. package/src/surface/command-group-policy.ts +52 -0
  423. package/src/surface/discovery-cache.ts +143 -0
  424. package/src/surface/register-commands.ts +266 -0
  425. package/src/surface/register-groups.ts +84 -0
  426. package/src/surface.ts +9 -0
  427. package/src/types.ts +3 -0
  428. package/src/ui/schemas/types.ts +1 -0
  429. package/src/ui/toolkit/VibesUIToolkit.ts +1 -0
  430. package/src/ui.context.descriptor.ts +13 -0
  431. package/src/utils/open.ts +36 -0
  432. package/src/version.ts +10 -0
@@ -0,0 +1,214 @@
1
+ /**
2
+ * CLI Namespace Registry (compatibility layer)
3
+ *
4
+ * Provides a lightweight namespace registry used by legacy config services.
5
+ * New CLI surfaces are descriptor-driven; this module exists to keep older
6
+ * imports functional while commands are migrated.
7
+ */
8
+ import { join } from 'path';
9
+ import { homedir } from 'os';
10
+ import { mkdir } from 'node:fs/promises';
11
+ import { getNestedValue, setNestedValue } from '@vibesdotdev/config/form/core';
12
+ function getConfigPath(scope) {
13
+ switch (scope) {
14
+ case 'global':
15
+ return join(homedir(), '.vibes', 'config.json');
16
+ case 'local':
17
+ return join(process.cwd(), '.vibes', 'config.json');
18
+ case 'project':
19
+ return join(process.cwd(), 'vibes.config.json');
20
+ }
21
+ }
22
+ async function readJsonFile(path) {
23
+ try {
24
+ const file = Bun.file(path);
25
+ if (!(await file.exists()))
26
+ return {};
27
+ const text = await file.text();
28
+ const parsed = JSON.parse(text);
29
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
30
+ return parsed;
31
+ }
32
+ return {};
33
+ }
34
+ catch {
35
+ return {};
36
+ }
37
+ }
38
+ function deepMergeConfigs(target, source) {
39
+ const result = { ...target };
40
+ for (const [key, value] of Object.entries(source)) {
41
+ const existing = result[key];
42
+ if (value && typeof value === 'object' && !Array.isArray(value) &&
43
+ existing && typeof existing === 'object' && !Array.isArray(existing)) {
44
+ result[key] = deepMergeConfigs(existing, value);
45
+ }
46
+ else {
47
+ result[key] = value;
48
+ }
49
+ }
50
+ return result;
51
+ }
52
+ async function loadConfig(options) {
53
+ const scopes = (options.scopes ?? ['global', 'project', 'local']);
54
+ const merge = options.merge ?? true;
55
+ // Specificity order: global < local < project
56
+ const scopeOrder = ['global', 'local', 'project'];
57
+ const orderedScopes = scopeOrder.filter((s) => scopes.includes(s));
58
+ let merged = {};
59
+ for (const scope of orderedScopes) {
60
+ const data = await readJsonFile(getConfigPath(scope));
61
+ if (Object.keys(data).length === 0)
62
+ continue;
63
+ if (merge) {
64
+ merged = deepMergeConfigs(merged, data);
65
+ }
66
+ else {
67
+ // Return first found
68
+ return { config: data };
69
+ }
70
+ }
71
+ return { config: merged };
72
+ }
73
+ async function saveConfig(config, options) {
74
+ const filePath = getConfigPath(options.scope);
75
+ const dir = filePath.substring(0, filePath.lastIndexOf('/'));
76
+ await mkdir(dir, { recursive: true });
77
+ let dataToWrite;
78
+ if (options.merge !== false) {
79
+ // Merge with existing content at this scope
80
+ const existing = await readJsonFile(filePath);
81
+ dataToWrite = deepMergeConfigs(existing, config);
82
+ }
83
+ else {
84
+ dataToWrite = config;
85
+ }
86
+ const pretty = options.pretty !== false;
87
+ const content = JSON.stringify(dataToWrite, null, pretty ? 2 : 0);
88
+ await Bun.write(filePath, content);
89
+ }
90
+ function asObject(value) {
91
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
92
+ return {};
93
+ }
94
+ return value;
95
+ }
96
+ function deleteNestedValue(root, path) {
97
+ const parts = path.split('.').filter(Boolean);
98
+ if (parts.length === 0)
99
+ return;
100
+ let current = root;
101
+ for (let i = 0; i < parts.length - 1; i++) {
102
+ const key = parts[i];
103
+ const next = current[key];
104
+ if (!next || typeof next !== 'object' || Array.isArray(next)) {
105
+ return;
106
+ }
107
+ current = next;
108
+ }
109
+ delete current[parts[parts.length - 1]];
110
+ }
111
+ function flattenConfig(source, prefix = '') {
112
+ const entries = [];
113
+ for (const [key, value] of Object.entries(source)) {
114
+ const fullKey = prefix ? `${prefix}.${key}` : key;
115
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
116
+ entries.push(...flattenConfig(value, fullKey));
117
+ continue;
118
+ }
119
+ entries.push({ key: fullKey, value });
120
+ }
121
+ return entries;
122
+ }
123
+ async function loadRootConfig(scope) {
124
+ const scopes = scope ? [scope] : ['global', 'project', 'local'];
125
+ const loaded = await loadConfig({ scopes, merge: true });
126
+ return asObject(loaded.config);
127
+ }
128
+ function createAccessor(definition) {
129
+ const namespaceId = definition.id;
130
+ const defaults = definition.configDefaults ?? {};
131
+ return {
132
+ async get(key) {
133
+ const config = await loadRootConfig();
134
+ const namespaceConfig = asObject(getNestedValue(config, namespaceId));
135
+ const value = getNestedValue(namespaceConfig, key);
136
+ if (value !== undefined)
137
+ return value;
138
+ return getNestedValue(defaults, key);
139
+ },
140
+ async set(key, value, scope = 'global') {
141
+ const config = await loadRootConfig(scope);
142
+ const namespaceConfig = asObject(getNestedValue(config, namespaceId));
143
+ setNestedValue(namespaceConfig, key, value);
144
+ setNestedValue(config, namespaceId, namespaceConfig);
145
+ await saveConfig(config, {
146
+ scope,
147
+ format: 'json',
148
+ pretty: true,
149
+ encrypt: true,
150
+ merge: false
151
+ });
152
+ },
153
+ async delete(key, scope = 'global') {
154
+ const config = await loadRootConfig(scope);
155
+ const namespaceConfig = asObject(getNestedValue(config, namespaceId));
156
+ deleteNestedValue(namespaceConfig, key);
157
+ setNestedValue(config, namespaceId, namespaceConfig);
158
+ await saveConfig(config, {
159
+ scope,
160
+ format: 'json',
161
+ pretty: true,
162
+ encrypt: true,
163
+ merge: false
164
+ });
165
+ },
166
+ async list() {
167
+ const config = await loadRootConfig();
168
+ const namespaceConfig = asObject(getNestedValue(config, namespaceId));
169
+ return flattenConfig(namespaceConfig);
170
+ },
171
+ async getConfig() {
172
+ const config = await loadRootConfig();
173
+ const namespaceConfig = asObject(getNestedValue(config, namespaceId));
174
+ return { ...defaults, ...namespaceConfig };
175
+ },
176
+ async setConfig(config, scope = 'global') {
177
+ const rootConfig = await loadRootConfig(scope);
178
+ const current = asObject(getNestedValue(rootConfig, namespaceId));
179
+ const merged = { ...defaults, ...current, ...config };
180
+ setNestedValue(rootConfig, namespaceId, merged);
181
+ await saveConfig(rootConfig, {
182
+ scope,
183
+ format: 'json',
184
+ pretty: true,
185
+ encrypt: true,
186
+ merge: false
187
+ });
188
+ }
189
+ };
190
+ }
191
+ class NamespaceRegistry {
192
+ definitions = new Map();
193
+ register(definition) {
194
+ this.definitions.set(definition.id, definition);
195
+ }
196
+ has(id) {
197
+ return this.definitions.has(id);
198
+ }
199
+ getIds() {
200
+ return [...this.definitions.keys()];
201
+ }
202
+ getConfig(id) {
203
+ const definition = this.definitions.get(id) ?? { id };
204
+ if (!this.definitions.has(id)) {
205
+ this.definitions.set(id, definition);
206
+ }
207
+ return createAccessor(definition);
208
+ }
209
+ }
210
+ const registry = new NamespaceRegistry();
211
+ export function getNamespaceRegistry() {
212
+ return registry;
213
+ }
214
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/namespace/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export type ConfigScope = 'global' | 'project' | 'local';
2
+ type PrimitiveValue = string | number | boolean | null;
3
+ export type ConfigValue = PrimitiveValue | ConfigValue[] | {
4
+ [key: string]: ConfigValue;
5
+ };
6
+ export interface NamespaceDefinition {
7
+ id: string;
8
+ name?: string;
9
+ description?: string;
10
+ configDefaults?: Record<string, ConfigValue>;
11
+ }
12
+ export interface NamespaceListEntry {
13
+ key: string;
14
+ value: ConfigValue;
15
+ }
16
+ export interface NamespaceConfigAccessor<TConfig extends Record<string, ConfigValue>> {
17
+ get(key: string, scope?: ConfigScope): Promise<ConfigValue | undefined>;
18
+ set(key: string, value: ConfigValue, scope?: ConfigScope): Promise<void>;
19
+ delete(key: string, scope?: ConfigScope): Promise<void>;
20
+ list(scope?: ConfigScope): Promise<NamespaceListEntry[]>;
21
+ getConfig(scope?: ConfigScope): Promise<TConfig>;
22
+ setConfig(config: Partial<TConfig>, scope?: ConfigScope): Promise<void>;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/namespace/schemas/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzD,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,WAAW,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAE1F,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IACnF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACxE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzD,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/namespace/schemas/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * CLI Plugin Types
3
+ * Compatibility shim for plugins that need CLI runtime context
4
+ */
5
+ import type { UIContext } from '../../providers.ts';
6
+ /**
7
+ * Command layout interface for structured output
8
+ */
9
+ export interface CommandLayout {
10
+ appendError(message: string): void;
11
+ appendOutput(message: string): void;
12
+ appendInfo(message: string): void;
13
+ appendSuccess(message: string): void;
14
+ appendWarning(message: string): void;
15
+ appendJSON(data: unknown): void;
16
+ appendTable(data: unknown[], columns?: string[]): void;
17
+ showProgress(message?: string): void;
18
+ hideProgress(): void;
19
+ complete(): Promise<void>;
20
+ }
21
+ /**
22
+ * UI Toolkit interface providing rich output capabilities for CLI commands
23
+ */
24
+ export interface UIToolkit {
25
+ info(message: string): void;
26
+ warn(message: string): void;
27
+ warning(message: string): void;
28
+ error(message: string): void;
29
+ success(message: string): void;
30
+ log(message: string): void;
31
+ table(data: unknown[], options?: string | {
32
+ columns?: string[];
33
+ title?: string;
34
+ }): void;
35
+ json(data: unknown): void;
36
+ yaml(data: unknown): void;
37
+ markdown(data: unknown): void;
38
+ setFormat(format: 'json' | 'yaml' | 'table' | 'markdown'): void;
39
+ withCommand(options: {
40
+ plugin: string;
41
+ command: string;
42
+ args?: Record<string, unknown>;
43
+ flags?: Record<string, unknown>;
44
+ }, fn: (toolkit: UIToolkit) => Promise<void>): Promise<void>;
45
+ createCommand(options: {
46
+ plugin: string;
47
+ command: string;
48
+ args?: Record<string, unknown>;
49
+ }): Promise<CommandLayout>;
50
+ render(data: unknown, options?: {
51
+ format?: string;
52
+ }): Promise<void>;
53
+ prompt(questions: unknown[]): Promise<Record<string, unknown>>;
54
+ confirm(message: string, options?: Record<string, unknown>): Promise<boolean>;
55
+ createInteractiveCommand(options: Record<string, unknown>): Promise<CommandLayout>;
56
+ appendInfo?(message: string): void;
57
+ appendSuccess?(message: string): void;
58
+ appendTable?(data: unknown[], columns?: string[]): void;
59
+ [key: string]: unknown;
60
+ }
61
+ /**
62
+ * CLI Runtime Context with plugin-specific extensions
63
+ */
64
+ export interface CLIRuntimeContext {
65
+ ui?: UIContext | UIToolkit;
66
+ logger?: {
67
+ info(msg: string, ...args: unknown[]): void;
68
+ warn(msg: string, ...args: unknown[]): void;
69
+ error(msg: string, ...args: unknown[]): void;
70
+ debug(msg: string, ...args: unknown[]): void;
71
+ };
72
+ config?: unknown;
73
+ pm?: unknown;
74
+ runtime?: unknown;
75
+ cli?: {
76
+ cwd?: string;
77
+ [key: string]: unknown;
78
+ };
79
+ [key: string]: unknown;
80
+ }
81
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * CLI Plugin Types
3
+ * Compatibility shim for plugins that need CLI runtime context
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/plugins/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * CLI Runtime Context
3
+ *
4
+ * The context object passed to CLI command handlers.
5
+ * Provides UI output, logging, and lifecycle control.
6
+ */
7
+ import type { UIContext, AppContext, LoggerContext } from '../../providers.ts';
8
+ type PMContext = unknown;
9
+ export interface RuntimeContext {
10
+ ui: UIContext;
11
+ app?: AppContext;
12
+ logger?: LoggerContext;
13
+ config?: unknown;
14
+ pm?: PMContext;
15
+ runtime?: unknown;
16
+ cli?: {
17
+ cwd?: string;
18
+ [key: string]: unknown;
19
+ };
20
+ [key: string]: unknown;
21
+ }
22
+ export declare function getContext(): RuntimeContext;
23
+ export declare function setContext(ctx: RuntimeContext): void;
24
+ export {};
25
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/E,KAAK,SAAS,GAAG,OAAO,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAID,wBAAgB,UAAU,IAAI,cAAc,CAkB3C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAEpD"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * CLI Runtime Context
3
+ *
4
+ * The context object passed to CLI command handlers.
5
+ * Provides UI output, logging, and lifecycle control.
6
+ */
7
+ let _context = null;
8
+ export function getContext() {
9
+ if (!_context) {
10
+ // Return a minimal context when not set
11
+ return {
12
+ ui: {
13
+ info: (msg) => {
14
+ process.stdout.write(`${msg}\n`);
15
+ },
16
+ warn: (msg) => {
17
+ process.stderr.write(`${msg}\n`);
18
+ },
19
+ error: (msg) => {
20
+ process.stderr.write(`${msg}\n`);
21
+ }
22
+ }
23
+ };
24
+ }
25
+ return _context;
26
+ }
27
+ export function setContext(ctx) {
28
+ _context = ctx;
29
+ }
30
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/runtime/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,IAAI,QAAQ,GAA0B,IAAI,CAAC;AAE3C,MAAM,UAAU,UAAU;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,wCAAwC;QACxC,OAAO;YACN,EAAE,EAAE;gBACH,IAAI,EAAE,CAAC,GAAW,EAAQ,EAAE;oBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,EAAE,CAAC,GAAW,EAAQ,EAAE;oBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAClC,CAAC;gBACD,KAAK,EAAE,CAAC,GAAW,EAAQ,EAAE;oBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAClC,CAAC;aACY;SACd,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAmB;IAC7C,QAAQ,GAAG,GAAG,CAAC;AAChB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * CLI Runtime Hooks
3
+ * Compatibility shim for plugins that need lifecycle hooks
4
+ */
5
+ import type { RuntimeContext } from './context.ts';
6
+ export interface Hook {
7
+ id: string;
8
+ name: string;
9
+ dependencies?: string[];
10
+ init(context: RuntimeContext): Promise<void> | void;
11
+ }
12
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/hooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/core/runtime/hooks.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * CLI Runtime Context Loader
3
+ *
4
+ * Convenience accessor for the standard CLI runtime context bundle —
5
+ * the live `cli/ui` + `cli/logger` (with a fallback) + optional
6
+ * `pm/client` resolved from the active `VibesRuntime`. Command
7
+ * implementations should call this once at the top of `execute()` to
8
+ * obtain the surfaces they need rather than calling
9
+ * `runtime.context()` for each one.
10
+ *
11
+ * Canonical home per RUNTIME-FIRST-MODULES.md (`packages/cli` owns
12
+ * "the helpers that make runtime-discovered commands usable in shells").
13
+ * Feature packages (bridge, expert, etc.) import from
14
+ * `@vibesdotdev/cli/core/runtime/shared/context` rather than
15
+ * maintaining per-package copies.
16
+ */
17
+ import type { LoggerContext, UIContext } from '../../../providers.ts';
18
+ type IProcessManager = unknown;
19
+ export interface CliRuntimeContext {
20
+ ui: UIContext;
21
+ logger: LoggerContext;
22
+ pm?: IProcessManager;
23
+ }
24
+ /**
25
+ * Resolve the standard CLI runtime context bundle.
26
+ *
27
+ * Throws if `cli/ui` is unavailable (every CLI command needs it).
28
+ * Falls back to a logging-namespace-scoped logger if `cli/logger`
29
+ * isn't registered. Returns `pm` only when `pm/client` is registered.
30
+ */
31
+ export declare function loadCliRuntimeContext(): Promise<CliRuntimeContext>;
32
+ export {};
33
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime/shared/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,KAAK,eAAe,GAAG,OAAO,CAAC;AA2B/B,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,CAAC,EAAE,eAAe,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAMxE"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * CLI Runtime Context Loader
3
+ *
4
+ * Convenience accessor for the standard CLI runtime context bundle —
5
+ * the live `cli/ui` + `cli/logger` (with a fallback) + optional
6
+ * `pm/client` resolved from the active `VibesRuntime`. Command
7
+ * implementations should call this once at the top of `execute()` to
8
+ * obtain the surfaces they need rather than calling
9
+ * `runtime.context()` for each one.
10
+ *
11
+ * Canonical home per RUNTIME-FIRST-MODULES.md (`packages/cli` owns
12
+ * "the helpers that make runtime-discovered commands usable in shells").
13
+ * Feature packages (bridge, expert, etc.) import from
14
+ * `@vibesdotdev/cli/core/runtime/shared/context` rather than
15
+ * maintaining per-package copies.
16
+ */
17
+ import { getVibesRuntime } from '@vibesdotdev/runtime';
18
+ import { getLogger } from '@vibesdotdev/logging';
19
+ function fallbackLogger() {
20
+ const logger = getLogger('cli:runtime-context');
21
+ return {
22
+ info: (message, meta) => logger.info(message, meta),
23
+ warn: (message, meta) => logger.warn(message, meta),
24
+ error: (message, meta) => logger.error(message, meta),
25
+ debug: (message, meta) => logger.debug(message, meta)
26
+ };
27
+ }
28
+ async function optionalContext(id) {
29
+ const runtime = getVibesRuntime();
30
+ try {
31
+ return await runtime.context(id);
32
+ }
33
+ catch {
34
+ return undefined;
35
+ }
36
+ }
37
+ /**
38
+ * Resolve the standard CLI runtime context bundle.
39
+ *
40
+ * Throws if `cli/ui` is unavailable (every CLI command needs it).
41
+ * Falls back to a logging-namespace-scoped logger if `cli/logger`
42
+ * isn't registered. Returns `pm` only when `pm/client` is registered.
43
+ */
44
+ export async function loadCliRuntimeContext() {
45
+ const runtime = getVibesRuntime();
46
+ const ui = await runtime.context('cli/ui');
47
+ const logger = (await optionalContext('cli/logger')) ?? fallbackLogger();
48
+ const pm = await optionalContext('pm/client');
49
+ return { ui, logger, pm };
50
+ }
51
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/core/runtime/shared/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,SAAS,cAAc;IACtB,MAAM,MAAM,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAChD,OAAO;QACN,IAAI,EAAE,CAAC,OAAe,EAAE,IAAc,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAA+B,CAAC;QACtD,IAAI,EAAE,CAAC,OAAe,EAAE,IAAc,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAA+B,CAAC;QACtD,KAAK,EAAE,CAAC,OAAe,EAAE,IAAc,EAAE,EAAE,CAC1C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAA+B,CAAC;QACvD,KAAK,EAAE,CAAC,OAAe,EAAE,IAAc,EAAE,EAAE,CAC1C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAA+B,CAAC;KACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAI,EAAU;IAC3C,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,IAAI,CAAC;QACJ,OAAO,MAAM,OAAO,CAAC,OAAO,CAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAQD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IAC1C,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAY,QAAQ,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,CAAC,MAAM,eAAe,CAAgB,YAAY,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC;IACxF,MAAM,EAAE,GAAG,MAAM,eAAe,CAAkB,WAAW,CAAC,CAAC;IAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * CLI Option Parsers
3
+ *
4
+ * Pure helpers for normalizing the `Record<string, unknown>` shape that
5
+ * Commander.js / our descriptor-driven CLI surface delivers to command
6
+ * handlers. Every parser returns `undefined` for empty/invalid input so
7
+ * callers can apply their own defaulting.
8
+ *
9
+ * Canonical home for option parsing per RUNTIME-FIRST-MODULES.md
10
+ * (`packages/cli` owns "the helpers that make runtime-discovered
11
+ * commands usable in shells"). Feature packages (bridge, expert, etc.)
12
+ * import from `@vibesdotdev/cli/core/runtime/shared/options` rather
13
+ * than maintaining per-package copies.
14
+ */
15
+ export declare function readString(value: unknown): string | undefined;
16
+ export declare function readBoolean(value: unknown): boolean | undefined;
17
+ export declare function readNumber(value: unknown): number | undefined;
18
+ export declare function readStringArray(value: unknown): string[] | undefined;
19
+ export declare function splitCsv(value: unknown): string[] | undefined;
20
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime/shared/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAO/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAO7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAUpE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAQ7D"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * CLI Option Parsers
3
+ *
4
+ * Pure helpers for normalizing the `Record<string, unknown>` shape that
5
+ * Commander.js / our descriptor-driven CLI surface delivers to command
6
+ * handlers. Every parser returns `undefined` for empty/invalid input so
7
+ * callers can apply their own defaulting.
8
+ *
9
+ * Canonical home for option parsing per RUNTIME-FIRST-MODULES.md
10
+ * (`packages/cli` owns "the helpers that make runtime-discovered
11
+ * commands usable in shells"). Feature packages (bridge, expert, etc.)
12
+ * import from `@vibesdotdev/cli/core/runtime/shared/options` rather
13
+ * than maintaining per-package copies.
14
+ */
15
+ export function readString(value) {
16
+ if (typeof value !== 'string')
17
+ return undefined;
18
+ const trimmed = value.trim();
19
+ return trimmed.length > 0 ? trimmed : undefined;
20
+ }
21
+ export function readBoolean(value) {
22
+ if (typeof value === 'boolean')
23
+ return value;
24
+ if (typeof value === 'string') {
25
+ if (value === 'true')
26
+ return true;
27
+ if (value === 'false')
28
+ return false;
29
+ }
30
+ return undefined;
31
+ }
32
+ export function readNumber(value) {
33
+ if (typeof value === 'number' && Number.isFinite(value))
34
+ return value;
35
+ if (typeof value === 'string' && value.trim().length > 0) {
36
+ const parsed = Number(value);
37
+ return Number.isFinite(parsed) ? parsed : undefined;
38
+ }
39
+ return undefined;
40
+ }
41
+ export function readStringArray(value) {
42
+ if (Array.isArray(value)) {
43
+ const items = value
44
+ .map((entry) => readString(entry))
45
+ .filter((entry) => typeof entry === 'string');
46
+ return items.length > 0 ? items : undefined;
47
+ }
48
+ const single = readString(value);
49
+ return single ? [single] : undefined;
50
+ }
51
+ export function splitCsv(value) {
52
+ const raw = readString(value);
53
+ if (!raw)
54
+ return undefined;
55
+ const items = raw
56
+ .split(',')
57
+ .map((entry) => entry.trim())
58
+ .filter((entry) => entry.length > 0);
59
+ return items.length > 0 ? items : undefined;
60
+ }
61
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/core/runtime/shared/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,UAAU,UAAU,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK;aACjB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACjC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,KAAK,GAAG,GAAG;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC"}