@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 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACN,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAGpF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EACN,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EACN,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,MAAM,YAAY,CAAC;AAGpB,OAAO,EACN,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,29 @@
1
+ /**
2
+ * CLI Module
3
+ *
4
+ * The CLI surface for the universal runtime.
5
+ * Integrates Commander.js with runtime-discovered commands.
6
+ *
7
+ * Usage:
8
+ * ```typescript
9
+ * import { createVibesCliApp } from '@vibesdotdev/cli/bootstrap';
10
+ *
11
+ * const app = await createVibesCliApp();
12
+ * await app.cli.run(process.argv);
13
+ * ```
14
+ */
15
+ // Bootstrap
16
+ export { createVibesCliApp } from './bootstrap.js';
17
+ // Surface
18
+ export { CLISurface } from './surface.js';
19
+ // Plugin (registers cli/group and cli/command kinds)
20
+ export { default as cliPlugin } from './cli.plugin.js';
21
+ // Context providers
22
+ export { registerCLIProviders, requestCLIExit, detectOutputFormat, shouldKeepAlive, resetKeepAlive, CLIExitSignal } from './providers.js';
23
+ // Patterns
24
+ export { PatternResolver, createPatternResolver, isPatternDescriptor, getPatternType } from './patterns';
25
+ // Errors
26
+ export { CLIError, CommandNotFoundError, InvalidArgumentError, MissingArgumentError, AuthRequiredError, PermissionDeniedError, NotFoundError, ConfigError, NetworkError, TimeoutError, UserCancelledError } from './errors.js';
27
+ // Binary path resolution
28
+ export { resolveCliEntry, resolveCliInvocation } from './bin.js';
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY;AACZ,OAAO,EACN,iBAAiB,EAIjB,MAAM,aAAa,CAAC;AAErB,UAAU;AACV,OAAO,EAAE,UAAU,EAA+C,MAAM,WAAW,CAAC;AAEpF,qDAAqD;AACrD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,oBAAoB;AACpB,OAAO,EACN,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EAMb,MAAM,aAAa,CAAC;AAErB,WAAW;AACX,OAAO,EACN,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EAQd,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EACN,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,MAAM,UAAU,CAAC;AAElB,yBAAyB;AACzB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CLI Startup Logger Descriptor
3
+ */
4
+ import type { LoggerDescriptor } from '@vibesdotdev/logging';
5
+ declare const descriptor: LoggerDescriptor;
6
+ export default descriptor;
7
+ //# sourceMappingURL=cli-startup.logger.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-startup.logger.descriptor.d.ts","sourceRoot":"","sources":["../../src/logging/cli-startup.logger.descriptor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,QAAA,MAAM,UAAU,EAAE,gBAOjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * CLI Startup Logger Descriptor
3
+ */
4
+ const descriptor = {
5
+ kind: 'logging/logger',
6
+ id: 'cli-startup',
7
+ namespace: 'cli:startup',
8
+ runtime: 'cli',
9
+ sinks: ['stdout'],
10
+ level: 'warn'
11
+ };
12
+ export default descriptor;
13
+ //# sourceMappingURL=cli-startup.logger.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-startup.logger.descriptor.js","sourceRoot":"","sources":["../../src/logging/cli-startup.logger.descriptor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,GAAqB;IACpC,IAAI,EAAE,gBAAgB;IACtB,EAAE,EAAE,aAAa;IACjB,SAAS,EAAE,aAAa;IACxB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,KAAK,EAAE,MAAM;CACb,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { getLogger as getRuntimeLogger } from '@vibesdotdev/logging';
2
+ export declare function setLogger(logger: ReturnType<typeof getRuntimeLogger>): void;
3
+ export declare function getLogger(child?: Parameters<ReturnType<typeof getRuntimeLogger>['child']>[0]): ReturnType<typeof getRuntimeLogger>;
4
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,IAAI,gBAAgB,EAG7B,MAAM,sBAAsB,CAAC;AAkB9B,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,IAAI,CAE3E;AAED,wBAAgB,SAAS,CACxB,KAAK,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GACjE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAMrC"}
@@ -0,0 +1,21 @@
1
+ import { getLogger as getRuntimeLogger, updateNamespaceSettings, parseNamespaceSettingsFromEnv } from '@vibesdotdev/logging';
2
+ const envSettings = parseNamespaceSettingsFromEnv((typeof process !== 'undefined' && process.env) || {});
3
+ updateNamespaceSettings(envSettings);
4
+ let globalLogger = null;
5
+ function ensureLogger() {
6
+ if (!globalLogger) {
7
+ globalLogger = getRuntimeLogger('cli');
8
+ }
9
+ return globalLogger;
10
+ }
11
+ export function setLogger(logger) {
12
+ globalLogger = logger;
13
+ }
14
+ export function getLogger(child) {
15
+ const baseLogger = ensureLogger();
16
+ if (!child) {
17
+ return baseLogger;
18
+ }
19
+ return baseLogger.child(child);
20
+ }
21
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,IAAI,gBAAgB,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,GAAG,6BAA6B,CAChD,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CACrD,CAAC;AAEF,uBAAuB,CAAC,WAAW,CAAC,CAAC;AAErC,IAAI,YAAY,GAA+C,IAAI,CAAC;AAEpE,SAAS,YAAY;IACpB,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAA2C;IACpE,YAAY,GAAG,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,SAAS,CACxB,KAAmE;IAEnE,MAAM,UAAU,GAAG,YAAY,EAAE,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Config Namespace Pattern Implementation
3
+ *
4
+ * Generates get/set/reset/list commands for a config namespace.
5
+ */
6
+ import type { Command } from 'commander';
7
+ import type { VibesRuntime } from '@vibesdotdev/runtime/api/runtime';
8
+ import type { CLIConfigNamespaceGroupDescriptor } from './schemas';
9
+ import type { PatternImplementation } from './pattern-types';
10
+ import type { CommandContext } from '../schemas/surface';
11
+ export declare class ConfigNamespacePatternImpl implements PatternImplementation<CLIConfigNamespaceGroupDescriptor> {
12
+ private runtime;
13
+ constructor(runtime: VibesRuntime);
14
+ register(descriptor: CLIConfigNamespaceGroupDescriptor, parent: Command, context: CommandContext): Promise<void>;
15
+ private getConfigService;
16
+ private registerGet;
17
+ private registerSet;
18
+ private registerReset;
19
+ private registerList;
20
+ private output;
21
+ private parseValue;
22
+ }
23
+ //# sourceMappingURL=config-namespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-namespace.d.ts","sourceRoot":"","sources":["../../src/patterns/config-namespace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAkBzD,qBAAa,0BAA2B,YAAW,qBAAqB,CAAC,iCAAiC,CAAC;IAC9F,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAEnC,QAAQ,CACb,UAAU,EAAE,iCAAiC,EAC7C,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;YAYF,gBAAgB;IAW9B,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,aAAa;IA4CrB,OAAO,CAAC,YAAY;IAyCpB,OAAO,CAAC,MAAM;IA6Bd,OAAO,CAAC,UAAU;CAWlB"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Config Namespace Pattern Implementation
3
+ *
4
+ * Generates get/set/reset/list commands for a config namespace.
5
+ */
6
+ function isConfigContext(value) {
7
+ return (!!value &&
8
+ typeof value === 'object' &&
9
+ 'get' in value &&
10
+ typeof value.get === 'function' &&
11
+ 'set' in value &&
12
+ typeof value.set === 'function' &&
13
+ 'getNamespace' in value &&
14
+ typeof value.getNamespace === 'function' &&
15
+ 'delete' in value &&
16
+ typeof value.delete === 'function');
17
+ }
18
+ export class ConfigNamespacePatternImpl {
19
+ runtime;
20
+ constructor(runtime) {
21
+ this.runtime = runtime;
22
+ }
23
+ async register(descriptor, parent, context) {
24
+ const { name, description, configNamespace } = descriptor;
25
+ const cmds = configNamespace.commands ?? {};
26
+ const groupCmd = parent.command(name).description(description);
27
+ if (cmds.get !== false)
28
+ this.registerGet(groupCmd, descriptor, context);
29
+ if (cmds.set !== false)
30
+ this.registerSet(groupCmd, descriptor, context);
31
+ if (cmds.reset !== false)
32
+ this.registerReset(groupCmd, descriptor, context);
33
+ this.registerList(groupCmd, descriptor, context);
34
+ }
35
+ async getConfigService(ctx) {
36
+ if (isConfigContext(ctx.config))
37
+ return ctx.config;
38
+ try {
39
+ const config = await this.runtime.context('config/context');
40
+ return isConfigContext(config) ? config : null;
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ registerGet(parent, d, ctx) {
47
+ const ns = d.configNamespace.namespace;
48
+ parent
49
+ .command('get [key]')
50
+ .description(`Get config value(s) for ${ns}`)
51
+ .option('-f, --format <format>', 'Output format', 'yaml')
52
+ .action(async (key, opts) => {
53
+ const svc = await this.getConfigService(ctx);
54
+ if (!svc) {
55
+ ctx.ui?.error('Config service not available');
56
+ return;
57
+ }
58
+ if (key) {
59
+ const val = await svc.get(`${ns}.${key}`);
60
+ if (val === undefined) {
61
+ ctx.ui?.warn(`Not found: ${ns}.${key}`);
62
+ return;
63
+ }
64
+ this.output(val, opts.format, ctx);
65
+ }
66
+ else {
67
+ const vals = await svc.getNamespace(ns);
68
+ this.output(vals, opts.format, ctx);
69
+ }
70
+ });
71
+ }
72
+ registerSet(parent, d, ctx) {
73
+ const ns = d.configNamespace.namespace;
74
+ parent
75
+ .command('set <key> <value>')
76
+ .description(`Set config value for ${ns}`)
77
+ .option('--json', 'Parse value as JSON')
78
+ .action(async (key, value, opts) => {
79
+ const svc = await this.getConfigService(ctx);
80
+ if (!svc) {
81
+ ctx.ui?.error('Config service not available');
82
+ return;
83
+ }
84
+ let parsed = value;
85
+ if (opts.json) {
86
+ try {
87
+ parsed = JSON.parse(value);
88
+ }
89
+ catch (e) {
90
+ ctx.ui?.error(`Invalid JSON: ${e}`);
91
+ return;
92
+ }
93
+ }
94
+ else {
95
+ parsed = this.parseValue(value);
96
+ }
97
+ await svc.set(`${ns}.${key}`, parsed);
98
+ ctx.ui?.success(`Set ${ns}.${key} = ${JSON.stringify(parsed)}`);
99
+ });
100
+ }
101
+ registerReset(parent, d, ctx) {
102
+ const ns = d.configNamespace.namespace;
103
+ const defaults = d.configNamespace.defaults ?? {};
104
+ parent
105
+ .command('reset [key]')
106
+ .description(`Reset config to defaults for ${ns}`)
107
+ .option('--all', 'Reset all keys')
108
+ .option('-y, --yes', 'Skip confirmation')
109
+ .action(async (key, opts) => {
110
+ const svc = await this.getConfigService(ctx);
111
+ if (!svc) {
112
+ ctx.ui?.error('Config service not available');
113
+ return;
114
+ }
115
+ if (opts.all) {
116
+ if (!opts.yes) {
117
+ ctx.ui?.warn(`Use --yes to confirm reset of all ${ns} config`);
118
+ return;
119
+ }
120
+ for (const [k, v] of Object.entries(defaults)) {
121
+ await svc.set(`${ns}.${k}`, v);
122
+ }
123
+ ctx.ui?.success(`Reset all ${ns} config to defaults`);
124
+ }
125
+ else if (key) {
126
+ const def = defaults[key];
127
+ if (def === undefined) {
128
+ await svc.delete(`${ns}.${key}`);
129
+ ctx.ui?.success(`Deleted ${ns}.${key}`);
130
+ }
131
+ else {
132
+ await svc.set(`${ns}.${key}`, def);
133
+ ctx.ui?.success(`Reset ${ns}.${key} to ${JSON.stringify(def)}`);
134
+ }
135
+ }
136
+ else {
137
+ ctx.ui?.error('Specify a key or use --all');
138
+ }
139
+ });
140
+ }
141
+ registerList(parent, d, ctx) {
142
+ const ns = d.configNamespace.namespace;
143
+ const defaults = d.configNamespace.defaults ?? {};
144
+ parent
145
+ .command('list')
146
+ .alias('ls')
147
+ .description(`List config keys for ${ns}`)
148
+ .option('--with-values', 'Include values')
149
+ .option('--with-defaults', 'Include defaults')
150
+ .action(async (opts) => {
151
+ const svc = await this.getConfigService(ctx);
152
+ if (!svc) {
153
+ ctx.ui?.error('Config service not available');
154
+ return;
155
+ }
156
+ const current = await svc.getNamespace(ns);
157
+ const allKeys = new Set([...Object.keys(defaults), ...Object.keys(current)]);
158
+ const rows = [];
159
+ for (const key of allKeys) {
160
+ const row = { key };
161
+ if (opts.withValues)
162
+ row.value = current[key];
163
+ if (opts.withDefaults)
164
+ row.default = defaults[key];
165
+ rows.push(row);
166
+ }
167
+ if (rows.length === 0) {
168
+ ctx.ui?.info(`No keys in ${ns}`);
169
+ return;
170
+ }
171
+ ctx.ui?.table(rows);
172
+ });
173
+ }
174
+ output(data, format, ctx) {
175
+ if (!ctx.ui) {
176
+ process.stdout.write(`${JSON.stringify(data, null, 2)}\n`);
177
+ return;
178
+ }
179
+ switch (format) {
180
+ case 'json':
181
+ ctx.ui.json(data);
182
+ break;
183
+ case 'yaml':
184
+ ctx.ui.yaml(data);
185
+ break;
186
+ case 'table':
187
+ if (typeof data === 'object' && data && !Array.isArray(data)) {
188
+ const rows = Object.entries(data).map(([k, v]) => ({
189
+ key: k,
190
+ value: typeof v === 'object' ? JSON.stringify(v) : v
191
+ }));
192
+ ctx.ui.table(rows);
193
+ }
194
+ else {
195
+ ctx.ui.yaml(data);
196
+ }
197
+ break;
198
+ default:
199
+ ctx.ui.yaml(data);
200
+ }
201
+ }
202
+ parseValue(value) {
203
+ if (value === 'true')
204
+ return true;
205
+ if (value === 'false')
206
+ return false;
207
+ const num = Number(value);
208
+ if (!isNaN(num) && value.trim() !== '')
209
+ return num;
210
+ try {
211
+ return JSON.parse(value);
212
+ }
213
+ catch {
214
+ return value;
215
+ }
216
+ }
217
+ }
218
+ //# sourceMappingURL=config-namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-namespace.js","sourceRoot":"","sources":["../../src/patterns/config-namespace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * CRUD Pattern Implementation
3
+ *
4
+ * Generates list/get/create/update/delete commands for a storage kind.
5
+ */
6
+ import type { Command } from 'commander';
7
+ import type { VibesRuntime } from '@vibesdotdev/runtime/api/runtime';
8
+ import type { CLICRUDGroupDescriptor } from './schemas';
9
+ import type { PatternImplementation } from './pattern-types';
10
+ import type { CommandContext } from '../schemas/surface';
11
+ export declare class CRUDPatternImpl implements PatternImplementation<CLICRUDGroupDescriptor> {
12
+ private runtime;
13
+ constructor(runtime: VibesRuntime);
14
+ register(descriptor: CLICRUDGroupDescriptor, parent: Command, context: CommandContext): Promise<void>;
15
+ private registerList;
16
+ private registerGet;
17
+ private registerCreate;
18
+ private registerUpdate;
19
+ private registerDelete;
20
+ private output;
21
+ private parseValue;
22
+ }
23
+ //# sourceMappingURL=crud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../src/patterns/crud.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAWzD,qBAAa,eAAgB,YAAW,qBAAqB,CAAC,sBAAsB,CAAC;IACxE,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAEnC,QAAQ,CACb,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IA0BhB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,MAAM;IAyBd,OAAO,CAAC,UAAU;CAOlB"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * CRUD Pattern Implementation
3
+ *
4
+ * Generates list/get/create/update/delete commands for a storage kind.
5
+ */
6
+ import { requestCLIExit } from '../providers';
7
+ export class CRUDPatternImpl {
8
+ runtime;
9
+ constructor(runtime) {
10
+ this.runtime = runtime;
11
+ }
12
+ async register(descriptor, parent, context) {
13
+ const { target, crud, name, description } = descriptor;
14
+ const groupCmd = parent.command(name).description(description);
15
+ const getAdapter = async () => {
16
+ return this.runtime.query(target.kind).withId(target.id).resolve();
17
+ };
18
+ if (crud?.list?.enabled !== false) {
19
+ this.registerList(groupCmd, descriptor, getAdapter, context);
20
+ }
21
+ if (crud?.get?.enabled !== false) {
22
+ this.registerGet(groupCmd, descriptor, getAdapter, context);
23
+ }
24
+ if (crud?.create?.enabled !== false) {
25
+ this.registerCreate(groupCmd, descriptor, getAdapter, context);
26
+ }
27
+ if (crud?.update?.enabled !== false) {
28
+ this.registerUpdate(groupCmd, descriptor, getAdapter, context);
29
+ }
30
+ if (crud?.delete?.enabled !== false) {
31
+ this.registerDelete(groupCmd, descriptor, getAdapter, context);
32
+ }
33
+ }
34
+ registerList(parent, descriptor, getAdapter, ctx) {
35
+ const cfg = descriptor.crud?.list ?? {};
36
+ parent
37
+ .command('list')
38
+ .alias('ls')
39
+ .description(`List all ${descriptor.name}`)
40
+ .option('-f, --format <format>', 'Output format', cfg.defaultFormat ?? 'table')
41
+ .option('-l, --limit <n>', 'Limit results', '50')
42
+ .option('--offset <n>', 'Offset', '0')
43
+ .option('--sort <field>', 'Sort by', cfg.sortBy)
44
+ .action(async (opts) => {
45
+ const adapter = await getAdapter();
46
+ const items = await adapter.list({
47
+ limit: parseInt(opts.limit, 10),
48
+ offset: parseInt(opts.offset, 10),
49
+ sortBy: opts.sort
50
+ });
51
+ this.output(items, opts.format, ctx, cfg.columns);
52
+ });
53
+ }
54
+ registerGet(parent, descriptor, getAdapter, ctx) {
55
+ const cfg = descriptor.crud?.get ?? {};
56
+ parent
57
+ .command(`get <${cfg.idParam ?? 'id'}>`)
58
+ .description(`Get a ${descriptor.name} by ID`)
59
+ .option('-f, --format <format>', 'Output format', 'yaml')
60
+ .action(async (id, opts) => {
61
+ const adapter = await getAdapter();
62
+ const item = await adapter.get(id);
63
+ if (!item) {
64
+ ctx.ui?.error(`Not found: ${id}`);
65
+ requestCLIExit(1);
66
+ }
67
+ this.output(item, opts.format, ctx);
68
+ });
69
+ }
70
+ registerCreate(parent, descriptor, getAdapter, ctx) {
71
+ parent
72
+ .command('create')
73
+ .description(`Create a new ${descriptor.name}`)
74
+ .option('-f, --format <format>', 'Output format', 'yaml')
75
+ .option('--json <data>', 'JSON data')
76
+ .action(async (opts) => {
77
+ if (!opts.json) {
78
+ ctx.ui?.error('--json required');
79
+ requestCLIExit(2);
80
+ }
81
+ const adapter = await getAdapter();
82
+ const created = await adapter.create(JSON.parse(opts.json));
83
+ ctx.ui?.success(`Created ${descriptor.name}`);
84
+ this.output(created, opts.format, ctx);
85
+ });
86
+ }
87
+ registerUpdate(parent, descriptor, getAdapter, ctx) {
88
+ parent
89
+ .command('update <id>')
90
+ .description(`Update a ${descriptor.name}`)
91
+ .option('-f, --format <format>', 'Output format', 'yaml')
92
+ .option('--json <data>', 'JSON data')
93
+ .option('--set <key=value...>', 'Set fields')
94
+ .action(async (id, opts) => {
95
+ let data = {};
96
+ if (opts.json) {
97
+ data = JSON.parse(opts.json);
98
+ }
99
+ else if (opts.set) {
100
+ for (const pair of opts.set) {
101
+ const [key, ...rest] = pair.split('=');
102
+ data[key] = this.parseValue(rest.join('='));
103
+ }
104
+ }
105
+ else {
106
+ ctx.ui?.error('--json or --set required');
107
+ requestCLIExit(2);
108
+ }
109
+ const adapter = await getAdapter();
110
+ const updated = await adapter.update(id, data);
111
+ ctx.ui?.success(`Updated: ${id}`);
112
+ this.output(updated, opts.format, ctx);
113
+ });
114
+ }
115
+ registerDelete(parent, descriptor, getAdapter, ctx) {
116
+ const cfg = descriptor.crud?.delete ?? {};
117
+ const cmd = parent.command('delete <id>').description(`Delete a ${descriptor.name}`);
118
+ if (cfg.confirm !== false) {
119
+ cmd.option('-y, --yes', 'Skip confirmation');
120
+ }
121
+ cmd.action(async (id, opts) => {
122
+ if (cfg.confirm !== false && !opts.yes) {
123
+ ctx.ui?.warn(`Use --yes to confirm deletion of: ${id}`);
124
+ requestCLIExit(2);
125
+ }
126
+ const adapter = await getAdapter();
127
+ await adapter.delete(id);
128
+ ctx.ui?.success(`Deleted: ${id}`);
129
+ });
130
+ }
131
+ output(data, format, ctx, columns) {
132
+ if (!ctx.ui) {
133
+ process.stdout.write(`${JSON.stringify(data, null, 2)}\n`);
134
+ return;
135
+ }
136
+ switch (format) {
137
+ case 'json':
138
+ ctx.ui.json(data);
139
+ break;
140
+ case 'yaml':
141
+ ctx.ui.yaml(data);
142
+ break;
143
+ case 'table':
144
+ if (Array.isArray(data)) {
145
+ ctx.ui.table(data, { columns });
146
+ }
147
+ else {
148
+ ctx.ui.yaml(data);
149
+ }
150
+ break;
151
+ default:
152
+ ctx.ui.json(data);
153
+ }
154
+ }
155
+ parseValue(value) {
156
+ try {
157
+ return JSON.parse(value);
158
+ }
159
+ catch {
160
+ return value;
161
+ }
162
+ }
163
+ }
164
+ //# sourceMappingURL=crud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud.js","sourceRoot":"","sources":["../../src/patterns/crud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * CLI Patterns
3
+ *
4
+ * Pattern-based command generation for the CLI surface.
5
+ */
6
+ export { PatternResolver, createPatternResolver, type PatternImplementation } from './resolver';
7
+ export { isPatternDescriptor, getPatternType, type CLIPatternDescriptor, type CLICRUDGroupDescriptor, type CLIToolWrapperCommandDescriptor, type CLILogViewerGroupDescriptor, type CLIProcessManagerGroupDescriptor, type CLIConfigNamespaceGroupDescriptor } from './schemas';
8
+ export { CRUDPatternImpl } from './crud';
9
+ export { ToolWrapperPatternImpl } from './tool-wrapper';
10
+ export { LogViewerPatternImpl } from './log-viewer';
11
+ export { ProcessManagerPatternImpl } from './process-manager';
12
+ export { ConfigNamespacePatternImpl } from './config-namespace';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/patterns/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEhG,OAAO,EACN,mBAAmB,EACnB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * CLI Patterns
3
+ *
4
+ * Pattern-based command generation for the CLI surface.
5
+ */
6
+ export { PatternResolver, createPatternResolver } from './resolver.js';
7
+ export { isPatternDescriptor, getPatternType } from './schemas.js';
8
+ export { CRUDPatternImpl } from './crud.js';
9
+ export { ToolWrapperPatternImpl } from './tool-wrapper.js';
10
+ export { LogViewerPatternImpl } from './log-viewer.js';
11
+ export { ProcessManagerPatternImpl } from './process-manager.js';
12
+ export { ConfigNamespacePatternImpl } from './config-namespace.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/patterns/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAA8B,MAAM,YAAY,CAAC;AAEhG,OAAO,EACN,mBAAmB,EACnB,cAAc,EAOd,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Log Viewer Pattern Implementation
3
+ *
4
+ * Generates commands for viewing logs.
5
+ */
6
+ import type { Command } from 'commander';
7
+ import type { VibesRuntime } from '@vibesdotdev/runtime/api/runtime';
8
+ import type { CLILogViewerGroupDescriptor } from './schemas';
9
+ import type { PatternImplementation } from './pattern-types';
10
+ import type { CommandContext } from '../schemas/surface';
11
+ export declare class LogViewerPatternImpl implements PatternImplementation<CLILogViewerGroupDescriptor> {
12
+ private runtime;
13
+ constructor(runtime: VibesRuntime);
14
+ register(descriptor: CLILogViewerGroupDescriptor, parent: Command, context: CommandContext): Promise<void>;
15
+ private registerTail;
16
+ private registerSearch;
17
+ private registerLevels;
18
+ }
19
+ //# sourceMappingURL=log-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-viewer.d.ts","sourceRoot":"","sources":["../../src/patterns/log-viewer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAezD,qBAAa,oBAAqB,YAAW,qBAAqB,CAAC,2BAA2B,CAAC;IAClF,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAEnC,QAAQ,CACb,UAAU,EAAE,2BAA2B,EACvC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAUhB,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,cAAc;CAmBtB"}