@kodus/cli 0.4.8 → 0.4.10

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 (316) hide show
  1. package/README.md +77 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +2 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/config.d.ts +1 -5
  6. package/dist/commands/config.d.ts.map +1 -1
  7. package/dist/commands/config.js +10 -71
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/hook/install.d.ts +1 -1
  10. package/dist/commands/hook/install.d.ts.map +1 -1
  11. package/dist/commands/hook/uninstall.d.ts +1 -1
  12. package/dist/commands/hook/uninstall.d.ts.map +1 -1
  13. package/dist/commands/memory/disable.d.ts +1 -1
  14. package/dist/commands/memory/disable.d.ts.map +1 -1
  15. package/dist/commands/pr.d.ts +1 -2
  16. package/dist/commands/pr.d.ts.map +1 -1
  17. package/dist/commands/pr.js +1 -243
  18. package/dist/commands/pr.js.map +1 -1
  19. package/dist/commands/review.d.ts +1 -2
  20. package/dist/commands/review.d.ts.map +1 -1
  21. package/dist/commands/review.js +1 -314
  22. package/dist/commands/review.js.map +1 -1
  23. package/dist/commands/status.d.ts.map +1 -1
  24. package/dist/commands/status.js +2 -14
  25. package/dist/commands/status.js.map +1 -1
  26. package/dist/commands/update.d.ts +1 -0
  27. package/dist/commands/update.d.ts.map +1 -1
  28. package/dist/commands/update.js +24 -1
  29. package/dist/commands/update.js.map +1 -1
  30. package/dist/features/pr/command.d.ts +4 -0
  31. package/dist/features/pr/command.d.ts.map +1 -0
  32. package/dist/features/pr/command.js +222 -0
  33. package/dist/features/pr/command.js.map +1 -0
  34. package/dist/features/repo-config/actions.d.ts +33 -0
  35. package/dist/features/repo-config/actions.d.ts.map +1 -0
  36. package/dist/features/repo-config/actions.js +260 -0
  37. package/dist/features/repo-config/actions.js.map +1 -0
  38. package/dist/features/repo-config/command.d.ts +15 -0
  39. package/dist/features/repo-config/command.d.ts.map +1 -0
  40. package/dist/features/repo-config/command.js +135 -0
  41. package/dist/features/repo-config/command.js.map +1 -0
  42. package/dist/features/review/command.d.ts +4 -0
  43. package/dist/features/review/command.d.ts.map +1 -0
  44. package/dist/features/review/command.js +248 -0
  45. package/dist/features/review/command.js.map +1 -0
  46. package/dist/features/review/diff.d.ts +23 -0
  47. package/dist/features/review/diff.d.ts.map +1 -0
  48. package/dist/features/review/diff.js +47 -0
  49. package/dist/features/review/diff.js.map +1 -0
  50. package/dist/features/review/errors.d.ts +3 -0
  51. package/dist/features/review/errors.d.ts.map +1 -0
  52. package/dist/features/review/errors.js +26 -0
  53. package/dist/features/review/errors.js.map +1 -0
  54. package/dist/features/review/no-changes.d.ts +6 -0
  55. package/dist/features/review/no-changes.d.ts.map +1 -0
  56. package/dist/features/review/no-changes.js +31 -0
  57. package/dist/features/review/no-changes.js.map +1 -0
  58. package/dist/features/review/options.d.ts +7 -0
  59. package/dist/features/review/options.d.ts.map +1 -0
  60. package/dist/features/review/options.js +18 -0
  61. package/dist/features/review/options.js.map +1 -0
  62. package/dist/features/review/result.d.ts +11 -0
  63. package/dist/features/review/result.d.ts.map +1 -0
  64. package/dist/features/review/result.js +49 -0
  65. package/dist/features/review/result.js.map +1 -0
  66. package/dist/formatters/json.d.ts +1 -1
  67. package/dist/formatters/json.d.ts.map +1 -1
  68. package/dist/formatters/markdown.d.ts +1 -1
  69. package/dist/formatters/markdown.d.ts.map +1 -1
  70. package/dist/formatters/markdown.js.map +1 -1
  71. package/dist/formatters/prompt.d.ts +1 -1
  72. package/dist/formatters/prompt.d.ts.map +1 -1
  73. package/dist/formatters/repo-config.d.ts +7 -0
  74. package/dist/formatters/repo-config.d.ts.map +1 -0
  75. package/dist/formatters/repo-config.js +99 -0
  76. package/dist/formatters/repo-config.js.map +1 -0
  77. package/dist/formatters/terminal.d.ts +1 -1
  78. package/dist/formatters/terminal.d.ts.map +1 -1
  79. package/dist/formatters/terminal.js.map +1 -1
  80. package/dist/index.js +2 -0
  81. package/dist/index.js.map +1 -1
  82. package/dist/services/api/api-core.d.ts +15 -0
  83. package/dist/services/api/api-core.d.ts.map +1 -0
  84. package/dist/services/api/api-core.js +292 -0
  85. package/dist/services/api/api-core.js.map +1 -0
  86. package/dist/services/api/api.interface.d.ts +16 -1
  87. package/dist/services/api/api.interface.d.ts.map +1 -1
  88. package/dist/services/api/api.real.d.ts +12 -20
  89. package/dist/services/api/api.real.d.ts.map +1 -1
  90. package/dist/services/api/api.real.js +8 -545
  91. package/dist/services/api/api.real.js.map +1 -1
  92. package/dist/services/api/auth.api.d.ts +17 -0
  93. package/dist/services/api/auth.api.d.ts.map +1 -0
  94. package/dist/services/api/auth.api.js +73 -0
  95. package/dist/services/api/auth.api.js.map +1 -0
  96. package/dist/services/api/config.api.d.ts +24 -0
  97. package/dist/services/api/config.api.d.ts.map +1 -0
  98. package/dist/services/api/config.api.js +78 -0
  99. package/dist/services/api/config.api.js.map +1 -0
  100. package/dist/services/api/memory.api.d.ts +10 -0
  101. package/dist/services/api/memory.api.d.ts.map +1 -0
  102. package/dist/services/api/memory.api.js +19 -0
  103. package/dist/services/api/memory.api.js.map +1 -0
  104. package/dist/services/api/review.api.d.ts +26 -0
  105. package/dist/services/api/review.api.d.ts.map +1 -0
  106. package/dist/services/api/review.api.js +100 -0
  107. package/dist/services/api/review.api.js.map +1 -0
  108. package/dist/services/api/sessions.api.js +1 -1
  109. package/dist/services/api/sessions.api.js.map +1 -1
  110. package/dist/services/api/trial.api.d.ts +10 -0
  111. package/dist/services/api/trial.api.d.ts.map +1 -0
  112. package/dist/services/api/trial.api.js +11 -0
  113. package/dist/services/api/trial.api.js.map +1 -0
  114. package/dist/services/auth.service.d.ts +1 -1
  115. package/dist/services/auth.service.d.ts.map +1 -1
  116. package/dist/services/auth.service.js +1 -1
  117. package/dist/services/auth.service.js.map +1 -1
  118. package/dist/services/context.service.d.ts +1 -1
  119. package/dist/services/context.service.d.ts.map +1 -1
  120. package/dist/services/fix.service.d.ts +1 -1
  121. package/dist/services/fix.service.d.ts.map +1 -1
  122. package/dist/services/git.service.d.ts +2 -2
  123. package/dist/services/git.service.d.ts.map +1 -1
  124. package/dist/services/git.service.js +25 -172
  125. package/dist/services/git.service.js.map +1 -1
  126. package/dist/services/lifecycle-events.d.ts +49 -0
  127. package/dist/services/lifecycle-events.d.ts.map +1 -0
  128. package/dist/services/lifecycle-events.js +86 -0
  129. package/dist/services/lifecycle-events.js.map +1 -0
  130. package/dist/services/lifecycle-git-context.d.ts +15 -0
  131. package/dist/services/lifecycle-git-context.d.ts.map +1 -0
  132. package/dist/services/lifecycle-git-context.js +23 -0
  133. package/dist/services/lifecycle-git-context.js.map +1 -0
  134. package/dist/services/lifecycle-local-turn-state.d.ts +14 -0
  135. package/dist/services/lifecycle-local-turn-state.d.ts.map +1 -0
  136. package/dist/services/lifecycle-local-turn-state.js +18 -0
  137. package/dist/services/lifecycle-local-turn-state.js.map +1 -0
  138. package/dist/services/lifecycle-transcript.d.ts +25 -0
  139. package/dist/services/lifecycle-transcript.d.ts.map +1 -0
  140. package/dist/services/lifecycle-transcript.js +29 -0
  141. package/dist/services/lifecycle-transcript.js.map +1 -0
  142. package/dist/services/lifecycle-turn-data.d.ts +11 -0
  143. package/dist/services/lifecycle-turn-data.d.ts.map +1 -0
  144. package/dist/services/lifecycle-turn-data.js +23 -0
  145. package/dist/services/lifecycle-turn-data.js.map +1 -0
  146. package/dist/services/lifecycle.service.d.ts.map +1 -1
  147. package/dist/services/lifecycle.service.js +63 -132
  148. package/dist/services/lifecycle.service.js.map +1 -1
  149. package/dist/services/repo-config.service.d.ts.map +1 -1
  150. package/dist/services/repo-config.service.js +2 -8
  151. package/dist/services/repo-config.service.js.map +1 -1
  152. package/dist/services/repo-settings-wizard.service.d.ts +19 -0
  153. package/dist/services/repo-settings-wizard.service.d.ts.map +1 -0
  154. package/dist/services/repo-settings-wizard.service.js +260 -0
  155. package/dist/services/repo-settings-wizard.service.js.map +1 -0
  156. package/dist/services/repo-settings.service.d.ts +20 -0
  157. package/dist/services/repo-settings.service.d.ts.map +1 -0
  158. package/dist/services/repo-settings.service.js +86 -0
  159. package/dist/services/repo-settings.service.js.map +1 -0
  160. package/dist/services/review-auth-fallback.d.ts +7 -0
  161. package/dist/services/review-auth-fallback.d.ts.map +1 -0
  162. package/dist/services/review-auth-fallback.js +25 -0
  163. package/dist/services/review-auth-fallback.js.map +1 -0
  164. package/dist/services/review-config-builder.d.ts +19 -0
  165. package/dist/services/review-config-builder.d.ts.map +1 -0
  166. package/dist/services/review-config-builder.js +17 -0
  167. package/dist/services/review-config-builder.js.map +1 -0
  168. package/dist/services/review-file-filter.d.ts +3 -0
  169. package/dist/services/review-file-filter.d.ts.map +1 -0
  170. package/dist/services/review-file-filter.js +35 -0
  171. package/dist/services/review-file-filter.js.map +1 -0
  172. package/dist/services/review-normalizer.d.ts +6 -0
  173. package/dist/services/review-normalizer.d.ts.map +1 -0
  174. package/dist/services/review-normalizer.js +62 -0
  175. package/dist/services/review-normalizer.js.map +1 -0
  176. package/dist/services/review-verbose.d.ts +28 -0
  177. package/dist/services/review-verbose.d.ts.map +1 -0
  178. package/dist/services/review-verbose.js +52 -0
  179. package/dist/services/review-verbose.js.map +1 -0
  180. package/dist/services/review.service.d.ts +1 -5
  181. package/dist/services/review.service.d.ts.map +1 -1
  182. package/dist/services/review.service.js +72 -183
  183. package/dist/services/review.service.js.map +1 -1
  184. package/dist/types/auth.d.ts +18 -0
  185. package/dist/types/auth.d.ts.map +1 -0
  186. package/dist/types/auth.js +2 -0
  187. package/dist/types/auth.js.map +1 -0
  188. package/dist/types/cli.d.ts +33 -0
  189. package/dist/types/cli.d.ts.map +1 -0
  190. package/dist/types/cli.js +2 -0
  191. package/dist/types/cli.js.map +1 -0
  192. package/dist/types/config.d.ts +47 -0
  193. package/dist/types/config.d.ts.map +1 -0
  194. package/dist/types/config.js +2 -0
  195. package/dist/types/config.js.map +1 -0
  196. package/dist/types/errors.d.ts +8 -0
  197. package/dist/types/errors.d.ts.map +1 -0
  198. package/dist/types/errors.js +15 -0
  199. package/dist/types/errors.js.map +1 -0
  200. package/dist/types/index.d.ts +8 -191
  201. package/dist/types/index.d.ts.map +1 -1
  202. package/dist/types/index.js +1 -14
  203. package/dist/types/index.js.map +1 -1
  204. package/dist/types/repo-config.d.ts +24 -0
  205. package/dist/types/repo-config.d.ts.map +1 -0
  206. package/dist/types/repo-config.js +2 -0
  207. package/dist/types/repo-config.js.map +1 -0
  208. package/dist/types/review.d.ts +112 -0
  209. package/dist/types/review.d.ts.map +1 -0
  210. package/dist/types/review.js +2 -0
  211. package/dist/types/review.js.map +1 -0
  212. package/dist/types/trial.d.ts +10 -0
  213. package/dist/types/trial.d.ts.map +1 -0
  214. package/dist/types/trial.js +2 -0
  215. package/dist/types/trial.js.map +1 -0
  216. package/dist/ui/interactive-formatters.d.ts +6 -0
  217. package/dist/ui/interactive-formatters.d.ts.map +1 -0
  218. package/dist/ui/interactive-formatters.js +61 -0
  219. package/dist/ui/interactive-formatters.js.map +1 -0
  220. package/dist/ui/interactive-helpers.d.ts +12 -0
  221. package/dist/ui/interactive-helpers.d.ts.map +1 -0
  222. package/dist/ui/interactive-helpers.js +51 -0
  223. package/dist/ui/interactive-helpers.js.map +1 -0
  224. package/dist/ui/interactive-renderers.d.ts +6 -0
  225. package/dist/ui/interactive-renderers.d.ts.map +1 -0
  226. package/dist/ui/interactive-renderers.js +82 -0
  227. package/dist/ui/interactive-renderers.js.map +1 -0
  228. package/dist/ui/interactive.d.ts +1 -9
  229. package/dist/ui/interactive.d.ts.map +1 -1
  230. package/dist/ui/interactive.js +11 -189
  231. package/dist/ui/interactive.js.map +1 -1
  232. package/dist/utils/auth-mode.d.ts +7 -0
  233. package/dist/utils/auth-mode.d.ts.map +1 -0
  234. package/dist/utils/auth-mode.js +42 -0
  235. package/dist/utils/auth-mode.js.map +1 -0
  236. package/dist/utils/banner.d.ts.map +1 -1
  237. package/dist/utils/banner.js +2 -14
  238. package/dist/utils/banner.js.map +1 -1
  239. package/dist/utils/command-context.d.ts +1 -1
  240. package/dist/utils/command-context.d.ts.map +1 -1
  241. package/dist/utils/command-errors.d.ts.map +1 -1
  242. package/dist/utils/command-errors.js +25 -1
  243. package/dist/utils/command-errors.js.map +1 -1
  244. package/dist/utils/commander-errors.d.ts +8 -0
  245. package/dist/utils/commander-errors.d.ts.map +1 -0
  246. package/dist/utils/commander-errors.js +79 -0
  247. package/dist/utils/commander-errors.js.map +1 -0
  248. package/dist/utils/commander-setup.d.ts +3 -0
  249. package/dist/utils/commander-setup.d.ts.map +1 -0
  250. package/dist/utils/commander-setup.js +10 -0
  251. package/dist/utils/commander-setup.js.map +1 -0
  252. package/dist/utils/credentials.d.ts +1 -1
  253. package/dist/utils/credentials.d.ts.map +1 -1
  254. package/dist/utils/git-diff.d.ts +5 -0
  255. package/dist/utils/git-diff.d.ts.map +1 -0
  256. package/dist/utils/git-diff.js +14 -0
  257. package/dist/utils/git-diff.js.map +1 -0
  258. package/dist/utils/git-file-reader.d.ts +22 -0
  259. package/dist/utils/git-file-reader.d.ts.map +1 -0
  260. package/dist/utils/git-file-reader.js +45 -0
  261. package/dist/utils/git-file-reader.js.map +1 -0
  262. package/dist/utils/git-file-selection.d.ts +14 -0
  263. package/dist/utils/git-file-selection.d.ts.map +1 -0
  264. package/dist/utils/git-file-selection.js +20 -0
  265. package/dist/utils/git-file-selection.js.map +1 -0
  266. package/dist/utils/git-file-targets.d.ts +4 -0
  267. package/dist/utils/git-file-targets.d.ts.map +1 -0
  268. package/dist/utils/git-file-targets.js +11 -0
  269. package/dist/utils/git-file-targets.js.map +1 -0
  270. package/dist/utils/git-remote.d.ts +7 -0
  271. package/dist/utils/git-remote.d.ts.map +1 -0
  272. package/dist/utils/git-remote.js +94 -0
  273. package/dist/utils/git-remote.js.map +1 -0
  274. package/dist/utils/git-status.d.ts +7 -0
  275. package/dist/utils/git-status.d.ts.map +1 -0
  276. package/dist/utils/git-status.js +36 -0
  277. package/dist/utils/git-status.js.map +1 -0
  278. package/dist/utils/input-validation.d.ts +1 -1
  279. package/dist/utils/input-validation.d.ts.map +1 -1
  280. package/dist/utils/rate-limit.d.ts +1 -1
  281. package/dist/utils/repo-settings-dashboard.d.ts +6 -0
  282. package/dist/utils/repo-settings-dashboard.d.ts.map +1 -0
  283. package/dist/utils/repo-settings-dashboard.js +36 -0
  284. package/dist/utils/repo-settings-dashboard.js.map +1 -0
  285. package/dist/utils/repo-settings-patterns.d.ts +7 -0
  286. package/dist/utils/repo-settings-patterns.d.ts.map +1 -0
  287. package/dist/utils/repo-settings-patterns.js +66 -0
  288. package/dist/utils/repo-settings-patterns.js.map +1 -0
  289. package/dist/utils/repo-settings-schema.d.ts +6 -0
  290. package/dist/utils/repo-settings-schema.d.ts.map +1 -0
  291. package/dist/utils/repo-settings-schema.js +70 -0
  292. package/dist/utils/repo-settings-schema.js.map +1 -0
  293. package/dist/utils/review-output.d.ts +4 -0
  294. package/dist/utils/review-output.d.ts.map +1 -0
  295. package/dist/utils/review-output.js +18 -0
  296. package/dist/utils/review-output.js.map +1 -0
  297. package/dist/utils/skills-sync-manifest.d.ts +5 -0
  298. package/dist/utils/skills-sync-manifest.d.ts.map +1 -0
  299. package/dist/utils/skills-sync-manifest.js +39 -0
  300. package/dist/utils/skills-sync-manifest.js.map +1 -0
  301. package/dist/utils/skills-sync-paths.d.ts +5 -0
  302. package/dist/utils/skills-sync-paths.d.ts.map +1 -0
  303. package/dist/utils/skills-sync-paths.js +60 -0
  304. package/dist/utils/skills-sync-paths.js.map +1 -0
  305. package/dist/utils/skills-sync-targets.d.ts +3 -0
  306. package/dist/utils/skills-sync-targets.d.ts.map +1 -0
  307. package/dist/utils/skills-sync-targets.js +211 -0
  308. package/dist/utils/skills-sync-targets.js.map +1 -0
  309. package/dist/utils/skills-sync.d.ts.map +1 -1
  310. package/dist/utils/skills-sync.js +4 -253
  311. package/dist/utils/skills-sync.js.map +1 -1
  312. package/dist/utils/team-key-auth.d.ts +5 -0
  313. package/dist/utils/team-key-auth.d.ts.map +1 -0
  314. package/dist/utils/team-key-auth.js +14 -0
  315. package/dist/utils/team-key-auth.js.map +1 -0
  316. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-settings-dashboard.js","sourceRoot":"","sources":["../../src/utils/repo-settings-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC5C,SAAS;IACT,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;CACV,CAAC;AAKX,MAAM,cAAc,GAA8C;IAC9D,SAAS,EAAE,SAAS;IACpB,mBAAmB,EAAE,mBAAmB;IACxC,gBAAgB,EAAE,gBAAgB;IAClC,oBAAoB,EAAE,oBAAoB;IAC1C,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,YAAY;IAC1B,iBAAiB,EAAE,iBAAiB;IACpC,gBAAgB,EAAE,gBAAgB;CACrC,CAAC;AAEF,MAAM,UAAU,cAAc;IAC1B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,aAAa,IAAI,sBAAsB,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC7C,OAA2B;IAE3B,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC;IAC9D,IACI,CAAC,gCAAgC,CAAC,QAAQ,CACtC,UAAuC,CAC1C,EACH,CAAC;QACC,MAAM,IAAI,YAAY,CAClB,eAAe,EACf,wBAAwB,OAAO,0BAA0B,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzG,CAAC;IACN,CAAC;IAED,OAAO,UAAuC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC7C,OAAkC;IAElC,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { RepositorySettings } from '../types/repo-config.js';
2
+ export declare const SUPPORTED_REPO_PATTERN_FIELDS: readonly ["ignore-files", "base-branches", "ignore-titles"];
3
+ export type RepositoryPatternField = (typeof SUPPORTED_REPO_PATTERN_FIELDS)[number];
4
+ export declare function validateRepositoryPatternField(field: string): RepositoryPatternField;
5
+ export declare function addRepositoryPattern(settings: RepositorySettings, field: string, pattern: string): RepositorySettings;
6
+ export declare function removeRepositoryPattern(settings: RepositorySettings, field: string, pattern: string): RepositorySettings;
7
+ //# sourceMappingURL=repo-settings-patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-settings-patterns.d.ts","sourceRoot":"","sources":["../../src/utils/repo-settings-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,eAAO,MAAM,6BAA6B,6DAIhC,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAC9B,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,wBAAgB,8BAA8B,CAC1C,KAAK,EAAE,MAAM,GACd,sBAAsB,CAcxB;AAwCD,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAChB,kBAAkB,CAmBpB;AAED,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAChB,kBAAkB,CAiBpB"}
@@ -0,0 +1,66 @@
1
+ import { CommandError } from './command-errors.js';
2
+ export const SUPPORTED_REPO_PATTERN_FIELDS = [
3
+ 'ignore-files',
4
+ 'base-branches',
5
+ 'ignore-titles',
6
+ ];
7
+ export function validateRepositoryPatternField(field) {
8
+ const normalized = field.trim().toLowerCase();
9
+ if (!SUPPORTED_REPO_PATTERN_FIELDS.includes(normalized)) {
10
+ throw new CommandError('INVALID_INPUT', `Unsupported pattern field '${field}'. Supported pattern fields: ${SUPPORTED_REPO_PATTERN_FIELDS.join(', ')}`);
11
+ }
12
+ return normalized;
13
+ }
14
+ function getPatterns(settings, field) {
15
+ switch (field) {
16
+ case 'ignore-files':
17
+ return settings.ignoredFilePatterns;
18
+ case 'base-branches':
19
+ return settings.baseBranchPatterns;
20
+ case 'ignore-titles':
21
+ return settings.ignoredTitlePatterns;
22
+ }
23
+ }
24
+ function withPatterns(settings, field, patterns) {
25
+ switch (field) {
26
+ case 'ignore-files':
27
+ return {
28
+ ...settings,
29
+ ignoredFilePatterns: patterns,
30
+ };
31
+ case 'base-branches':
32
+ return {
33
+ ...settings,
34
+ baseBranchPatterns: patterns,
35
+ };
36
+ case 'ignore-titles':
37
+ return {
38
+ ...settings,
39
+ ignoredTitlePatterns: patterns,
40
+ };
41
+ }
42
+ }
43
+ export function addRepositoryPattern(settings, field, pattern) {
44
+ const supportedField = validateRepositoryPatternField(field);
45
+ const normalizedPattern = pattern.trim();
46
+ if (!normalizedPattern) {
47
+ throw new CommandError('INVALID_INPUT', 'Pattern value cannot be empty.');
48
+ }
49
+ const existing = getPatterns(settings, supportedField);
50
+ if (existing.includes(normalizedPattern)) {
51
+ return settings;
52
+ }
53
+ return withPatterns(settings, supportedField, [
54
+ ...existing,
55
+ normalizedPattern,
56
+ ]);
57
+ }
58
+ export function removeRepositoryPattern(settings, field, pattern) {
59
+ const supportedField = validateRepositoryPatternField(field);
60
+ const normalizedPattern = pattern.trim();
61
+ if (!normalizedPattern) {
62
+ throw new CommandError('INVALID_INPUT', 'Pattern value cannot be empty.');
63
+ }
64
+ return withPatterns(settings, supportedField, getPatterns(settings, supportedField).filter((existingPattern) => existingPattern !== normalizedPattern));
65
+ }
66
+ //# sourceMappingURL=repo-settings-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-settings-patterns.js","sourceRoot":"","sources":["../../src/utils/repo-settings-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,CAAC,MAAM,6BAA6B,GAAG;IACzC,cAAc;IACd,eAAe;IACf,eAAe;CACT,CAAC;AAKX,MAAM,UAAU,8BAA8B,CAC1C,KAAa;IAEb,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IACI,CAAC,6BAA6B,CAAC,QAAQ,CACnC,UAAoC,CACvC,EACH,CAAC;QACC,MAAM,IAAI,YAAY,CAClB,eAAe,EACf,8BAA8B,KAAK,gCAAgC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChH,CAAC;IACN,CAAC;IAED,OAAO,UAAoC,CAAC;AAChD,CAAC;AAED,SAAS,WAAW,CAChB,QAA4B,EAC5B,KAA6B;IAE7B,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,cAAc;YACf,OAAO,QAAQ,CAAC,mBAAmB,CAAC;QACxC,KAAK,eAAe;YAChB,OAAO,QAAQ,CAAC,kBAAkB,CAAC;QACvC,KAAK,eAAe;YAChB,OAAO,QAAQ,CAAC,oBAAoB,CAAC;IAC7C,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CACjB,QAA4B,EAC5B,KAA6B,EAC7B,QAAkB;IAElB,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,cAAc;YACf,OAAO;gBACH,GAAG,QAAQ;gBACX,mBAAmB,EAAE,QAAQ;aAChC,CAAC;QACN,KAAK,eAAe;YAChB,OAAO;gBACH,GAAG,QAAQ;gBACX,kBAAkB,EAAE,QAAQ;aAC/B,CAAC;QACN,KAAK,eAAe;YAChB,OAAO;gBACH,GAAG,QAAQ;gBACX,oBAAoB,EAAE,QAAQ;aACjC,CAAC;IACV,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,QAA4B,EAC5B,KAAa,EACb,OAAe;IAEf,MAAM,cAAc,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAClB,eAAe,EACf,gCAAgC,CACnC,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE;QAC1C,GAAG,QAAQ;QACX,iBAAiB;KACpB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,QAA4B,EAC5B,KAAa,EACb,OAAe;IAEf,MAAM,cAAc,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAClB,eAAe,EACf,gCAAgC,CACnC,CAAC;IACN,CAAC;IAED,OAAO,YAAY,CACf,QAAQ,EACR,cAAc,EACd,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,MAAM,CACxC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,iBAAiB,CAC7D,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { RepositorySettings } from '../types/repo-config.js';
2
+ export declare const SUPPORTED_REPO_SETTING_KEYS: readonly ["review.enabled", "review.autoApprove", "review.requestChanges.minSeverity", "patterns.ignoreFiles", "patterns.baseBranches", "patterns.ignoreTitles"];
3
+ export declare function parseRepositoryPatternList(value: string): string[];
4
+ export declare function validateRepositorySettingKey(key: string): void;
5
+ export declare function applyRepositorySetting(settings: RepositorySettings, key: string, value: string): RepositorySettings;
6
+ //# sourceMappingURL=repo-settings-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-settings-schema.d.ts","sourceRoot":"","sources":["../../src/utils/repo-settings-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,eAAO,MAAM,2BAA2B,kKAO9B,CAAC;AAEX,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKlE;AAgBD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAO9D;AAED,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACd,kBAAkB,CA+CpB"}
@@ -0,0 +1,70 @@
1
+ import { CommandError } from './command-errors.js';
2
+ export const SUPPORTED_REPO_SETTING_KEYS = [
3
+ 'review.enabled',
4
+ 'review.autoApprove',
5
+ 'review.requestChanges.minSeverity',
6
+ 'patterns.ignoreFiles',
7
+ 'patterns.baseBranches',
8
+ 'patterns.ignoreTitles',
9
+ ];
10
+ export function parseRepositoryPatternList(value) {
11
+ return value
12
+ .split(/[\n,]/)
13
+ .map((item) => item.trim())
14
+ .filter(Boolean);
15
+ }
16
+ function parseBooleanSetting(key, value) {
17
+ if (value === 'true') {
18
+ return true;
19
+ }
20
+ if (value === 'false') {
21
+ return false;
22
+ }
23
+ throw new CommandError('INVALID_INPUT', `Setting '${key}' expects 'true' or 'false'.`);
24
+ }
25
+ export function validateRepositorySettingKey(key) {
26
+ if (!SUPPORTED_REPO_SETTING_KEYS.includes(key)) {
27
+ throw new CommandError('INVALID_INPUT', `Unsupported setting key '${key}'. Supported keys: ${SUPPORTED_REPO_SETTING_KEYS.join(', ')}`);
28
+ }
29
+ }
30
+ export function applyRepositorySetting(settings, key, value) {
31
+ validateRepositorySettingKey(key);
32
+ switch (key) {
33
+ case 'review.enabled':
34
+ return {
35
+ ...settings,
36
+ reviewEnabled: parseBooleanSetting(key, value),
37
+ };
38
+ case 'review.autoApprove':
39
+ return {
40
+ ...settings,
41
+ autoApproveEnabled: parseBooleanSetting(key, value),
42
+ };
43
+ case 'review.requestChanges.minSeverity':
44
+ if (!['low', 'medium', 'high', 'critical'].includes(value)) {
45
+ throw new CommandError('INVALID_INPUT', `Setting '${key}' expects one of: low, medium, high, critical.`);
46
+ }
47
+ return {
48
+ ...settings,
49
+ requestChangesMinSeverity: value,
50
+ };
51
+ case 'patterns.ignoreFiles':
52
+ return {
53
+ ...settings,
54
+ ignoredFilePatterns: parseRepositoryPatternList(value),
55
+ };
56
+ case 'patterns.baseBranches':
57
+ return {
58
+ ...settings,
59
+ baseBranchPatterns: parseRepositoryPatternList(value),
60
+ };
61
+ case 'patterns.ignoreTitles':
62
+ return {
63
+ ...settings,
64
+ ignoredTitlePatterns: parseRepositoryPatternList(value),
65
+ };
66
+ default:
67
+ throw new CommandError('INVALID_INPUT', `Unsupported setting key '${key}'.`);
68
+ }
69
+ }
70
+ //# sourceMappingURL=repo-settings-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-settings-schema.js","sourceRoot":"","sources":["../../src/utils/repo-settings-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,gBAAgB;IAChB,oBAAoB;IACpB,mCAAmC;IACnC,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;CACjB,CAAC;AAEX,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACpD,OAAO,KAAK;SACP,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,KAAa;IACnD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,YAAY,CAClB,eAAe,EACf,YAAY,GAAG,8BAA8B,CAChD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACpD,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,GAAY,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,YAAY,CAClB,eAAe,EACf,4BAA4B,GAAG,sBAAsB,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,QAA4B,EAC5B,GAAW,EACX,KAAa;IAEb,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAElC,QAAQ,GAAG,EAAE,CAAC;QACV,KAAK,gBAAgB;YACjB,OAAO;gBACH,GAAG,QAAQ;gBACX,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC;aACjD,CAAC;QACN,KAAK,oBAAoB;YACrB,OAAO;gBACH,GAAG,QAAQ;gBACX,kBAAkB,EAAE,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC;aACtD,CAAC;QACN,KAAK,mCAAmC;YACpC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,YAAY,CAClB,eAAe,EACf,YAAY,GAAG,gDAAgD,CAClE,CAAC;YACN,CAAC;YACD,OAAO;gBACH,GAAG,QAAQ;gBACX,yBAAyB,EACrB,KAAwD;aAC/D,CAAC;QACN,KAAK,sBAAsB;YACvB,OAAO;gBACH,GAAG,QAAQ;gBACX,mBAAmB,EAAE,0BAA0B,CAAC,KAAK,CAAC;aACzD,CAAC;QACN,KAAK,uBAAuB;YACxB,OAAO;gBACH,GAAG,QAAQ;gBACX,kBAAkB,EAAE,0BAA0B,CAAC,KAAK,CAAC;aACxD,CAAC;QACN,KAAK,uBAAuB;YACxB,OAAO;gBACH,GAAG,QAAQ;gBACX,oBAAoB,EAAE,0BAA0B,CAAC,KAAK,CAAC;aAC1D,CAAC;QACN;YACI,MAAM,IAAI,YAAY,CAClB,eAAe,EACf,4BAA4B,GAAG,IAAI,CACtC,CAAC;IACV,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { OutputFormat } from '../types/cli.js';
2
+ import type { ReviewResult } from '../types/review.js';
3
+ export declare function formatReviewOutput(result: ReviewResult, format: OutputFormat): string;
4
+ //# sourceMappingURL=review-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-output.d.ts","sourceRoot":"","sources":["../../src/utils/review-output.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,GACrB,MAAM,CAYR"}
@@ -0,0 +1,18 @@
1
+ import { jsonFormatter } from '../formatters/json.js';
2
+ import { markdownFormatter } from '../formatters/markdown.js';
3
+ import { promptFormatter } from '../formatters/prompt.js';
4
+ import { terminalFormatter } from '../formatters/terminal.js';
5
+ export function formatReviewOutput(result, format) {
6
+ switch (format) {
7
+ case 'json':
8
+ return jsonFormatter.format(result);
9
+ case 'markdown':
10
+ return markdownFormatter.format(result);
11
+ case 'prompt':
12
+ return promptFormatter.format(result);
13
+ case 'terminal':
14
+ default:
15
+ return terminalFormatter.format(result);
16
+ }
17
+ }
18
+ //# sourceMappingURL=review-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-output.js","sourceRoot":"","sources":["../../src/utils/review-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAI9D,MAAM,UAAU,kBAAkB,CAC9B,MAAoB,EACpB,MAAoB;IAEpB,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,MAAM;YACP,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,UAAU;YACX,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,KAAK,QAAQ;YACT,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,KAAK,UAAU,CAAC;QAChB;YACI,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { SkillSyncTarget } from './skills-sync.js';
2
+ export declare function resolveManagedManifestPath(target: SkillSyncTarget): string;
3
+ export declare function readManagedSkillNames(target: SkillSyncTarget): Promise<string[]>;
4
+ export declare function writeManagedSkillNames(target: SkillSyncTarget, skillNames: string[], dryRun: boolean): Promise<void>;
5
+ //# sourceMappingURL=skills-sync-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-sync-manifest.d.ts","sourceRoot":"","sources":["../../src/utils/skills-sync-manifest.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAE1E;AAED,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBnB;AAED,wBAAsB,sBAAsB,CACxC,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -0,0 +1,39 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { assertValidSkillName } from './skills.js';
4
+ const MANAGED_SKILLS_MANIFEST = '.kodus-managed-skills.json';
5
+ export function resolveManagedManifestPath(target) {
6
+ return path.join(target.baseDir, MANAGED_SKILLS_MANIFEST);
7
+ }
8
+ export async function readManagedSkillNames(target) {
9
+ try {
10
+ const raw = await fs.readFile(resolveManagedManifestPath(target), 'utf8');
11
+ const parsed = JSON.parse(raw);
12
+ if (!Array.isArray(parsed)) {
13
+ return [];
14
+ }
15
+ return parsed
16
+ .filter((value) => typeof value === 'string')
17
+ .map((value) => {
18
+ try {
19
+ return assertValidSkillName(value);
20
+ }
21
+ catch {
22
+ return null;
23
+ }
24
+ })
25
+ .filter((value) => value !== null);
26
+ }
27
+ catch {
28
+ return [];
29
+ }
30
+ }
31
+ export async function writeManagedSkillNames(target, skillNames, dryRun) {
32
+ if (dryRun) {
33
+ return;
34
+ }
35
+ const manifestPath = resolveManagedManifestPath(target);
36
+ await fs.mkdir(path.dirname(manifestPath), { recursive: true });
37
+ await fs.writeFile(manifestPath, `${JSON.stringify(skillNames.sort(), null, 2)}\n`, 'utf8');
38
+ }
39
+ //# sourceMappingURL=skills-sync-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-sync-manifest.js","sourceRoot":"","sources":["../../src/utils/skills-sync-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAE7D,MAAM,UAAU,0BAA0B,CAAC,MAAuB;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,MAAuB;IAEvB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,MAAM;aACR,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;aAC7D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACX,IAAI,CAAC;gBACD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,MAAuB,EACvB,UAAoB,EACpB,MAAe;IAEf,IAAI,MAAM,EAAE,CAAC;QACT,OAAO;IACX,CAAC;IAED,MAAM,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,CAAC,SAAS,CACd,YAAY,EACZ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACjD,MAAM,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { SkillSyncTarget } from './skills-sync.js';
2
+ export declare function resolveManagedSkillPath(target: SkillSyncTarget, skillName: string): string;
3
+ export declare function resolveManagedSkillEntryPath(target: SkillSyncTarget, skillName: string): string;
4
+ export declare function removePathIfExists(targetPath: string, dryRun: boolean): Promise<boolean>;
5
+ //# sourceMappingURL=skills-sync-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-sync-paths.d.ts","sourceRoot":"","sources":["../../src/utils/skills-sync-paths.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GAClB,MAAM,CAmBR;AAED,wBAAgB,4BAA4B,CACxC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GAClB,MAAM,CAmBR;AAoBD,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAYlB"}
@@ -0,0 +1,60 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { assertValidSkillName } from './skills.js';
4
+ export function resolveManagedSkillPath(target, skillName) {
5
+ const safeSkillName = assertValidSkillName(skillName);
6
+ const filePath = target.type === 'skill'
7
+ ? path.join(target.baseDir, safeSkillName, 'SKILL.md')
8
+ : path.join(target.baseDir, `${safeSkillName}.md`);
9
+ const resolvedBaseDir = path.resolve(target.baseDir);
10
+ const resolvedPath = path.resolve(filePath);
11
+ const expectedPrefix = `${resolvedBaseDir}${path.sep}`;
12
+ if (resolvedPath !== resolvedBaseDir &&
13
+ !resolvedPath.startsWith(expectedPrefix)) {
14
+ throw new Error(`Invalid skill name: ${skillName}`);
15
+ }
16
+ return resolvedPath;
17
+ }
18
+ export function resolveManagedSkillEntryPath(target, skillName) {
19
+ const safeSkillName = assertValidSkillName(skillName);
20
+ const filePath = target.type === 'skill'
21
+ ? path.join(target.baseDir, safeSkillName)
22
+ : path.join(target.baseDir, `${safeSkillName}.md`);
23
+ const resolvedBaseDir = path.resolve(target.baseDir);
24
+ const resolvedPath = path.resolve(filePath);
25
+ const expectedPrefix = `${resolvedBaseDir}${path.sep}`;
26
+ if (resolvedPath !== resolvedBaseDir &&
27
+ !resolvedPath.startsWith(expectedPrefix)) {
28
+ throw new Error(`Invalid skill name: ${skillName}`);
29
+ }
30
+ return resolvedPath;
31
+ }
32
+ async function isDirectory(targetPath) {
33
+ try {
34
+ const stats = await fs.stat(targetPath);
35
+ return stats.isDirectory();
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ async function isFile(targetPath) {
42
+ try {
43
+ const stats = await fs.stat(targetPath);
44
+ return stats.isFile();
45
+ }
46
+ catch {
47
+ return false;
48
+ }
49
+ }
50
+ export async function removePathIfExists(targetPath, dryRun) {
51
+ const exists = (await isDirectory(targetPath)) || (await isFile(targetPath));
52
+ if (!exists) {
53
+ return false;
54
+ }
55
+ if (!dryRun) {
56
+ await fs.rm(targetPath, { recursive: true, force: true });
57
+ }
58
+ return true;
59
+ }
60
+ //# sourceMappingURL=skills-sync-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-sync-paths.js","sourceRoot":"","sources":["../../src/utils/skills-sync-paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SkillSyncTarget } from './skills-sync.js';
2
+ export declare function buildSkillSyncTargets(cwd: string, homeDir: string): SkillSyncTarget[];
3
+ //# sourceMappingURL=skills-sync-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-sync-targets.d.ts","sourceRoot":"","sources":["../../src/utils/skills-sync-targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAiNxD,wBAAgB,qBAAqB,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAChB,eAAe,EAAE,CAWnB"}
@@ -0,0 +1,211 @@
1
+ import path from 'node:path';
2
+ const SKILL_SYNC_TARGET_DEFINITIONS = [
3
+ {
4
+ label: 'Codex project skills',
5
+ scope: 'project',
6
+ type: 'skill',
7
+ activationSegments: ['.codex'],
8
+ baseSegments: ['.codex', 'skills'],
9
+ },
10
+ {
11
+ label: 'Codex user skills',
12
+ scope: 'user',
13
+ type: 'skill',
14
+ activationSegments: ['.codex'],
15
+ baseSegments: ['.codex', 'skills'],
16
+ },
17
+ {
18
+ label: 'Claude project commands',
19
+ scope: 'project',
20
+ type: 'command',
21
+ activationSegments: ['.claude'],
22
+ baseSegments: ['.claude', 'commands'],
23
+ },
24
+ {
25
+ label: 'Claude user commands',
26
+ scope: 'user',
27
+ type: 'command',
28
+ activationSegments: ['.claude'],
29
+ baseSegments: ['.claude', 'commands'],
30
+ },
31
+ {
32
+ label: 'Claude config commands',
33
+ scope: 'user',
34
+ type: 'command',
35
+ activationSegments: ['.config', 'claude'],
36
+ baseSegments: ['.config', 'claude', 'commands'],
37
+ },
38
+ {
39
+ label: 'Cursor project commands',
40
+ scope: 'project',
41
+ type: 'command',
42
+ activationSegments: ['.cursor'],
43
+ baseSegments: ['.cursor', 'commands'],
44
+ },
45
+ {
46
+ label: 'Cursor user commands',
47
+ scope: 'user',
48
+ type: 'command',
49
+ activationSegments: ['.cursor'],
50
+ baseSegments: ['.cursor', 'commands'],
51
+ },
52
+ {
53
+ label: 'Agents project skills',
54
+ scope: 'project',
55
+ type: 'skill',
56
+ activationSegments: ['.agents'],
57
+ baseSegments: ['.agents', 'skills'],
58
+ },
59
+ {
60
+ label: 'Agents user skills',
61
+ scope: 'user',
62
+ type: 'skill',
63
+ activationSegments: ['.config', 'agents'],
64
+ baseSegments: ['.config', 'agents', 'skills'],
65
+ },
66
+ {
67
+ label: 'OpenCode project skills',
68
+ scope: 'project',
69
+ type: 'skill',
70
+ activationSegments: ['.opencode'],
71
+ baseSegments: ['.opencode', 'skill'],
72
+ },
73
+ {
74
+ label: 'OpenCode user commands',
75
+ scope: 'user',
76
+ type: 'command',
77
+ activationSegments: ['.config', 'opencode'],
78
+ baseSegments: ['.config', 'opencode', 'command'],
79
+ },
80
+ {
81
+ label: 'AiderDesk project commands',
82
+ scope: 'project',
83
+ type: 'command',
84
+ activationSegments: ['.aider-desk'],
85
+ baseSegments: ['.aider-desk', 'commands'],
86
+ },
87
+ {
88
+ label: 'AiderDesk user commands',
89
+ scope: 'user',
90
+ type: 'command',
91
+ activationSegments: ['.aider-desk'],
92
+ baseSegments: ['.aider-desk', 'commands'],
93
+ },
94
+ {
95
+ label: 'Kilo Code project skills',
96
+ scope: 'project',
97
+ type: 'skill',
98
+ activationSegments: ['.kilocode'],
99
+ baseSegments: ['.kilocode', 'skills'],
100
+ },
101
+ {
102
+ label: 'Kilo Code user skills',
103
+ scope: 'user',
104
+ type: 'skill',
105
+ activationSegments: ['.kilocode'],
106
+ baseSegments: ['.kilocode', 'skills'],
107
+ },
108
+ {
109
+ label: 'Roo Code project skills',
110
+ scope: 'project',
111
+ type: 'skill',
112
+ activationSegments: ['.roo'],
113
+ baseSegments: ['.roo', 'skills'],
114
+ },
115
+ {
116
+ label: 'Roo Code user skills',
117
+ scope: 'user',
118
+ type: 'skill',
119
+ activationSegments: ['.roo'],
120
+ baseSegments: ['.roo', 'skills'],
121
+ },
122
+ {
123
+ label: 'Goose project skills',
124
+ scope: 'project',
125
+ type: 'skill',
126
+ activationSegments: ['.goose'],
127
+ baseSegments: ['.goose', 'skills'],
128
+ },
129
+ {
130
+ label: 'Goose user skills',
131
+ scope: 'user',
132
+ type: 'skill',
133
+ activationSegments: ['.config', 'goose'],
134
+ baseSegments: ['.config', 'goose', 'skills'],
135
+ },
136
+ {
137
+ label: 'Antigravity project skills',
138
+ scope: 'project',
139
+ type: 'skill',
140
+ activationSegments: ['.agent'],
141
+ baseSegments: ['.agent', 'skills'],
142
+ },
143
+ {
144
+ label: 'Antigravity user skills',
145
+ scope: 'user',
146
+ type: 'skill',
147
+ activationSegments: ['.gemini', 'antigravity'],
148
+ baseSegments: ['.gemini', 'antigravity', 'skills'],
149
+ },
150
+ {
151
+ label: 'Droid project skills',
152
+ scope: 'project',
153
+ type: 'skill',
154
+ activationSegments: ['.factory'],
155
+ baseSegments: ['.factory', 'skills'],
156
+ },
157
+ {
158
+ label: 'Droid user skills',
159
+ scope: 'user',
160
+ type: 'skill',
161
+ activationSegments: ['.factory'],
162
+ baseSegments: ['.factory', 'skills'],
163
+ },
164
+ {
165
+ label: 'Windsurf project skills',
166
+ scope: 'project',
167
+ type: 'skill',
168
+ activationSegments: ['.windsurf'],
169
+ baseSegments: ['.windsurf', 'skills'],
170
+ },
171
+ {
172
+ label: 'Windsurf user skills',
173
+ scope: 'user',
174
+ type: 'skill',
175
+ activationSegments: ['.codeium', 'windsurf'],
176
+ baseSegments: ['.codeium', 'windsurf', 'skills'],
177
+ },
178
+ {
179
+ label: 'Gemini project skills',
180
+ scope: 'project',
181
+ type: 'skill',
182
+ activationSegments: ['.gemini'],
183
+ baseSegments: ['.gemini', 'skills'],
184
+ },
185
+ {
186
+ label: 'Kiro project skills',
187
+ scope: 'project',
188
+ type: 'skill',
189
+ activationSegments: ['.kiro'],
190
+ baseSegments: ['.kiro', 'skills'],
191
+ },
192
+ {
193
+ label: 'Kiro user skills',
194
+ scope: 'user',
195
+ type: 'skill',
196
+ activationSegments: ['.kiro'],
197
+ baseSegments: ['.kiro', 'skills'],
198
+ },
199
+ ];
200
+ export function buildSkillSyncTargets(cwd, homeDir) {
201
+ return SKILL_SYNC_TARGET_DEFINITIONS.map((definition) => {
202
+ const root = definition.scope === 'project' ? cwd : homeDir;
203
+ return {
204
+ label: definition.label,
205
+ type: definition.type,
206
+ activationPath: path.join(root, ...definition.activationSegments),
207
+ baseDir: path.join(root, ...definition.baseSegments),
208
+ };
209
+ });
210
+ }
211
+ //# sourceMappingURL=skills-sync-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-sync-targets.js","sourceRoot":"","sources":["../../src/utils/skills-sync-targets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skills-sync.d.ts","sourceRoot":"","sources":["../../src/utils/skills-sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AAG3E,eAAO,MAAM,wBAAwB,+FAI3B,CAAC;AAKX,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACnC;AA4MD,wBAAgB,4BAA4B,CACxC,GAAG,SAAgB,EACnB,OAAO,SAAe,GACvB,eAAe,EAAE,CA2KnB;AAYD,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,eAAe,EAAE,EAC1B,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAiH1B"}
1
+ {"version":3,"file":"skills-sync.d.ts","sourceRoot":"","sources":["../../src/utils/skills-sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AAa3E,eAAO,MAAM,wBAAwB,+FAI3B,CAAC;AAIX,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAmFD,wBAAgB,4BAA4B,CACxC,GAAG,SAAgB,EACnB,OAAO,SAAe,GACvB,eAAe,EAAE,CAEnB;AAYD,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,eAAe,EAAE,EAC1B,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAuH1B"}