@jahia/agentic 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/README.md +48 -0
  2. package/dist/claude/.claude/rules/jahia.md +76 -0
  3. package/dist/claude/.claude/skills/jahia/SKILL.md +136 -0
  4. package/dist/claude/.claude/skills/jahia-content/SKILL.md +139 -0
  5. package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +384 -0
  6. package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +164 -0
  7. package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +236 -0
  8. package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +144 -0
  9. package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +297 -0
  10. package/dist/claude/.claude/skills/jahia-dev/SKILL.md +124 -0
  11. package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +271 -0
  12. package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +52 -0
  13. package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +484 -0
  14. package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +657 -0
  15. package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  16. package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +541 -0
  17. package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +140 -0
  18. package/dist/claude/.claude/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  19. package/dist/claude/.claude/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  20. package/dist/claude/.claude/skills/jahia-dev-create-view/SKILL.md +838 -0
  21. package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +445 -0
  22. package/dist/claude/.claude/skills/jahia-dev-debug/SKILL.md +176 -0
  23. package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  24. package/dist/claude/.claude/skills/jahia-dev-import-from/SKILL.md +244 -0
  25. package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +105 -0
  26. package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +331 -0
  27. package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +273 -0
  28. package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +218 -0
  29. package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +208 -0
  30. package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +191 -0
  31. package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  32. package/dist/claude/.claude/skills/jahia-dev-jexperience/SKILL.md +269 -0
  33. package/dist/claude/.claude/skills/jahia-dev-ops/SKILL.md +50 -0
  34. package/dist/claude/.claude/skills/jahia-dev-ops/references/docker.md +151 -0
  35. package/dist/claude/.claude/skills/jahia-dev-ops/references/monitoring.md +195 -0
  36. package/dist/claude/.claude/skills/jahia-dev-ops/references/provisioning.md +269 -0
  37. package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  38. package/dist/claude/.claude/skills/jahia-dev-properties/SKILL.md +147 -0
  39. package/dist/claude/.claude/skills/jahia-dev-properties/references/all-properties.md +231 -0
  40. package/dist/claude/.claude/skills/jahia-dev-query-content/SKILL.md +407 -0
  41. package/dist/claude/.claude/skills/jahia-dev-review/SKILL.md +228 -0
  42. package/dist/claude/.claude/skills/jahia-dev-screenshot/SKILL.md +177 -0
  43. package/dist/claude/.claude/skills/jahia-dev-start-local/SKILL.md +129 -0
  44. package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  45. package/dist/claude/CLAUDE.md +90 -0
  46. package/dist/codex/.agents/skills/jahia/SKILL.md +136 -0
  47. package/dist/codex/.agents/skills/jahia-content/SKILL.md +139 -0
  48. package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  49. package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  50. package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  51. package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  52. package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  53. package/dist/codex/.agents/skills/jahia-dev/SKILL.md +124 -0
  54. package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  55. package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  56. package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  57. package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  58. package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  59. package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  60. package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  61. package/dist/codex/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  62. package/dist/codex/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  63. package/dist/codex/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  64. package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  65. package/dist/codex/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  66. package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  67. package/dist/codex/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  68. package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  69. package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  70. package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  71. package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  72. package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  73. package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  74. package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  75. package/dist/codex/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  76. package/dist/codex/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  77. package/dist/codex/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  78. package/dist/codex/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  79. package/dist/codex/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  80. package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  81. package/dist/codex/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  82. package/dist/codex/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  83. package/dist/codex/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  84. package/dist/codex/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  85. package/dist/codex/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  86. package/dist/codex/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  87. package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  88. package/dist/codex/AGENTS.md +89 -0
  89. package/dist/copilot/.agents/skills/jahia/SKILL.md +136 -0
  90. package/dist/copilot/.agents/skills/jahia-content/SKILL.md +139 -0
  91. package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  92. package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  93. package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  94. package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  95. package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  96. package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +124 -0
  97. package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  98. package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  99. package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  100. package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  101. package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  102. package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  103. package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  104. package/dist/copilot/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  105. package/dist/copilot/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  106. package/dist/copilot/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  107. package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  108. package/dist/copilot/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  109. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  110. package/dist/copilot/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  111. package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  112. package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  113. package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  114. package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  115. package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  116. package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  117. package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  118. package/dist/copilot/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  119. package/dist/copilot/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  120. package/dist/copilot/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  121. package/dist/copilot/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  122. package/dist/copilot/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  123. package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  124. package/dist/copilot/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  125. package/dist/copilot/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  126. package/dist/copilot/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  127. package/dist/copilot/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  128. package/dist/copilot/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  129. package/dist/copilot/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  130. package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  131. package/dist/copilot/AGENTS.md +89 -0
  132. package/dist/cursor/.agents/skills/jahia/SKILL.md +136 -0
  133. package/dist/cursor/.agents/skills/jahia-content/SKILL.md +139 -0
  134. package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  135. package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  136. package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  137. package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  138. package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  139. package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +124 -0
  140. package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  141. package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  142. package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  143. package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  144. package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  145. package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  146. package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  147. package/dist/cursor/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  148. package/dist/cursor/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  149. package/dist/cursor/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  150. package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  151. package/dist/cursor/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  152. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  153. package/dist/cursor/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  154. package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  155. package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  156. package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  157. package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  158. package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  159. package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  160. package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  161. package/dist/cursor/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  162. package/dist/cursor/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  163. package/dist/cursor/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  164. package/dist/cursor/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  165. package/dist/cursor/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  166. package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  167. package/dist/cursor/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  168. package/dist/cursor/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  169. package/dist/cursor/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  170. package/dist/cursor/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  171. package/dist/cursor/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  172. package/dist/cursor/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  173. package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  174. package/dist/cursor/.cursor/rules/jahia.mdc +80 -0
  175. package/dist/gemini/.agents/skills/jahia/SKILL.md +136 -0
  176. package/dist/gemini/.agents/skills/jahia-content/SKILL.md +139 -0
  177. package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  178. package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  179. package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  180. package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  181. package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  182. package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +124 -0
  183. package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  184. package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  185. package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  186. package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  187. package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  188. package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  189. package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  190. package/dist/gemini/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  191. package/dist/gemini/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  192. package/dist/gemini/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  193. package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  194. package/dist/gemini/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  195. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  196. package/dist/gemini/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  197. package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  198. package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  199. package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  200. package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  201. package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  202. package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  203. package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  204. package/dist/gemini/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  205. package/dist/gemini/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  206. package/dist/gemini/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  207. package/dist/gemini/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  208. package/dist/gemini/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  209. package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  210. package/dist/gemini/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  211. package/dist/gemini/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  212. package/dist/gemini/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  213. package/dist/gemini/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  214. package/dist/gemini/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  215. package/dist/gemini/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  216. package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  217. package/dist/gemini/AGENTS.md +89 -0
  218. package/dist/gemini/GEMINI.md +6 -0
  219. package/dist/index.js +975 -0
  220. package/dist/opencode/.agents/skills/jahia/SKILL.md +136 -0
  221. package/dist/opencode/.agents/skills/jahia-content/SKILL.md +139 -0
  222. package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
  223. package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
  224. package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
  225. package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
  226. package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
  227. package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +124 -0
  228. package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
  229. package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
  230. package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
  231. package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
  232. package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  233. package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +541 -0
  234. package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
  235. package/dist/opencode/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  236. package/dist/opencode/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  237. package/dist/opencode/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
  238. package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
  239. package/dist/opencode/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
  240. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  241. package/dist/opencode/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
  242. package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +105 -0
  243. package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +331 -0
  244. package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
  245. package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +218 -0
  246. package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
  247. package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
  248. package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  249. package/dist/opencode/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
  250. package/dist/opencode/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
  251. package/dist/opencode/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
  252. package/dist/opencode/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
  253. package/dist/opencode/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
  254. package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  255. package/dist/opencode/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
  256. package/dist/opencode/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
  257. package/dist/opencode/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
  258. package/dist/opencode/.agents/skills/jahia-dev-review/SKILL.md +228 -0
  259. package/dist/opencode/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
  260. package/dist/opencode/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
  261. package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  262. package/dist/opencode/AGENTS.md +89 -0
  263. package/dist/windsurf/.windsurf/rules/jahia.md +80 -0
  264. package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +136 -0
  265. package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +139 -0
  266. package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +384 -0
  267. package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +164 -0
  268. package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +236 -0
  269. package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +144 -0
  270. package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +297 -0
  271. package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +124 -0
  272. package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +271 -0
  273. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +52 -0
  274. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +484 -0
  275. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +657 -0
  276. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +465 -0
  277. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +541 -0
  278. package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +140 -0
  279. package/dist/windsurf/.windsurf/skills/jahia-dev-create-page-template/SKILL.md +303 -0
  280. package/dist/windsurf/.windsurf/skills/jahia-dev-create-template-set/SKILL.md +232 -0
  281. package/dist/windsurf/.windsurf/skills/jahia-dev-create-view/SKILL.md +838 -0
  282. package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +445 -0
  283. package/dist/windsurf/.windsurf/skills/jahia-dev-debug/SKILL.md +176 -0
  284. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +536 -0
  285. package/dist/windsurf/.windsurf/skills/jahia-dev-import-from/SKILL.md +244 -0
  286. package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +105 -0
  287. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +331 -0
  288. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +273 -0
  289. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +218 -0
  290. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +208 -0
  291. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +191 -0
  292. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +344 -0
  293. package/dist/windsurf/.windsurf/skills/jahia-dev-jexperience/SKILL.md +269 -0
  294. package/dist/windsurf/.windsurf/skills/jahia-dev-ops/SKILL.md +50 -0
  295. package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/docker.md +151 -0
  296. package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/monitoring.md +195 -0
  297. package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/provisioning.md +269 -0
  298. package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +297 -0
  299. package/dist/windsurf/.windsurf/skills/jahia-dev-properties/SKILL.md +147 -0
  300. package/dist/windsurf/.windsurf/skills/jahia-dev-properties/references/all-properties.md +231 -0
  301. package/dist/windsurf/.windsurf/skills/jahia-dev-query-content/SKILL.md +407 -0
  302. package/dist/windsurf/.windsurf/skills/jahia-dev-review/SKILL.md +228 -0
  303. package/dist/windsurf/.windsurf/skills/jahia-dev-screenshot/SKILL.md +177 -0
  304. package/dist/windsurf/.windsurf/skills/jahia-dev-start-local/SKILL.md +129 -0
  305. package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +559 -0
  306. package/dist/windsurf/AGENTS.md +89 -0
  307. package/package.json +28 -0
package/dist/index.js ADDED
@@ -0,0 +1,975 @@
1
+ import V, { argv, stdin, stdout } from "node:process";
2
+ import { stripVTControlCharacters, styleText } from "node:util";
3
+ import "node:readline";
4
+ import E from "node:readline";
5
+ import "node:tty";
6
+ import { accessSync, constants, copyFileSync, mkdirSync, readFileSync, readdirSync, statSync } from "node:fs";
7
+ import { resolve } from "node:path";
8
+ import { spawnSync } from "node:child_process";
9
+ //#region \0rolldown/runtime.js
10
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
11
+ //#endregion
12
+ //#region ../node_modules/fast-string-truncated-width/dist/utils.js
13
+ const getCodePointsLength = (() => {
14
+ const SURROGATE_PAIR_RE = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
15
+ return (input) => {
16
+ let surrogatePairsNr = 0;
17
+ SURROGATE_PAIR_RE.lastIndex = 0;
18
+ while (SURROGATE_PAIR_RE.test(input)) surrogatePairsNr += 1;
19
+ return input.length - surrogatePairsNr;
20
+ };
21
+ })();
22
+ const isFullWidth = (x) => {
23
+ return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
24
+ };
25
+ const isWideNotCJKTNotEmoji = (x) => {
26
+ return x === 8987 || x === 9001 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
27
+ };
28
+ //#endregion
29
+ //#region ../node_modules/fast-string-truncated-width/dist/index.js
30
+ const ANSI_RE = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y;
31
+ const CONTROL_RE = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
32
+ const CJKT_WIDE_RE = /(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy;
33
+ const TAB_RE = /\t{1,1000}/y;
34
+ const EMOJI_RE = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy;
35
+ const LATIN_RE = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
36
+ const MODIFIER_RE = /\p{M}+/gu;
37
+ const NO_TRUNCATION$1 = {
38
+ limit: Infinity,
39
+ ellipsis: ""
40
+ };
41
+ const getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {}) => {
42
+ const LIMIT = truncationOptions.limit ?? Infinity;
43
+ const ELLIPSIS = truncationOptions.ellipsis ?? "";
44
+ const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth(ELLIPSIS, NO_TRUNCATION$1, widthOptions).width : 0);
45
+ const ANSI_WIDTH = 0;
46
+ const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;
47
+ const TAB_WIDTH = widthOptions.tabWidth ?? 8;
48
+ const EMOJI_WIDTH = widthOptions.emojiWidth ?? 2;
49
+ const FULL_WIDTH_WIDTH = 2;
50
+ const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;
51
+ const WIDE_WIDTH = widthOptions.wideWidth ?? FULL_WIDTH_WIDTH;
52
+ const PARSE_BLOCKS = [
53
+ [LATIN_RE, REGULAR_WIDTH],
54
+ [ANSI_RE, ANSI_WIDTH],
55
+ [CONTROL_RE, CONTROL_WIDTH],
56
+ [TAB_RE, TAB_WIDTH],
57
+ [EMOJI_RE, EMOJI_WIDTH],
58
+ [CJKT_WIDE_RE, WIDE_WIDTH]
59
+ ];
60
+ let indexPrev = 0;
61
+ let index = 0;
62
+ let length = input.length;
63
+ let lengthExtra = 0;
64
+ let truncationEnabled = false;
65
+ let truncationIndex = length;
66
+ let truncationLimit = Math.max(0, LIMIT - ELLIPSIS_WIDTH);
67
+ let unmatchedStart = 0;
68
+ let unmatchedEnd = 0;
69
+ let width = 0;
70
+ let widthExtra = 0;
71
+ outer: while (true) {
72
+ if (unmatchedEnd > unmatchedStart || index >= length && index > indexPrev) {
73
+ const unmatched = input.slice(unmatchedStart, unmatchedEnd) || input.slice(indexPrev, index);
74
+ lengthExtra = 0;
75
+ for (const char of unmatched.replaceAll(MODIFIER_RE, "")) {
76
+ const codePoint = char.codePointAt(0) || 0;
77
+ if (isFullWidth(codePoint)) widthExtra = FULL_WIDTH_WIDTH;
78
+ else if (isWideNotCJKTNotEmoji(codePoint)) widthExtra = WIDE_WIDTH;
79
+ else widthExtra = REGULAR_WIDTH;
80
+ if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, Math.max(unmatchedStart, indexPrev) + lengthExtra);
81
+ if (width + widthExtra > LIMIT) {
82
+ truncationEnabled = true;
83
+ break outer;
84
+ }
85
+ lengthExtra += char.length;
86
+ width += widthExtra;
87
+ }
88
+ unmatchedStart = unmatchedEnd = 0;
89
+ }
90
+ if (index >= length) break outer;
91
+ for (let i = 0, l = PARSE_BLOCKS.length; i < l; i++) {
92
+ const [BLOCK_RE, BLOCK_WIDTH] = PARSE_BLOCKS[i];
93
+ BLOCK_RE.lastIndex = index;
94
+ if (BLOCK_RE.test(input)) {
95
+ lengthExtra = BLOCK_RE === CJKT_WIDE_RE ? getCodePointsLength(input.slice(index, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE ? 1 : BLOCK_RE.lastIndex - index;
96
+ widthExtra = lengthExtra * BLOCK_WIDTH;
97
+ if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / BLOCK_WIDTH));
98
+ if (width + widthExtra > LIMIT) {
99
+ truncationEnabled = true;
100
+ break outer;
101
+ }
102
+ width += widthExtra;
103
+ unmatchedStart = indexPrev;
104
+ unmatchedEnd = index;
105
+ index = indexPrev = BLOCK_RE.lastIndex;
106
+ continue outer;
107
+ }
108
+ }
109
+ index += 1;
110
+ }
111
+ return {
112
+ width: truncationEnabled ? truncationLimit : width,
113
+ index: truncationEnabled ? truncationIndex : length,
114
+ truncated: truncationEnabled,
115
+ ellipsed: truncationEnabled && LIMIT >= ELLIPSIS_WIDTH
116
+ };
117
+ };
118
+ //#endregion
119
+ //#region ../node_modules/fast-string-width/dist/index.js
120
+ const NO_TRUNCATION = {
121
+ limit: Infinity,
122
+ ellipsis: "",
123
+ ellipsisWidth: 0
124
+ };
125
+ const fastStringWidth = (input, options = {}) => {
126
+ return getStringTruncatedWidth(input, NO_TRUNCATION, options).width;
127
+ };
128
+ //#endregion
129
+ //#region ../node_modules/fast-wrap-ansi/lib/main.js
130
+ const ESC = "\x1B";
131
+ const CSI = "›";
132
+ const END_CODE = 39;
133
+ const ANSI_ESCAPE_BELL = "\x07";
134
+ const ANSI_CSI = "[";
135
+ const ANSI_OSC = "]";
136
+ const ANSI_SGR_TERMINATOR = "m";
137
+ const ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
138
+ const GROUP_REGEX = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`, "y");
139
+ const getClosingCode = (openingCode) => {
140
+ if (openingCode >= 30 && openingCode <= 37) return 39;
141
+ if (openingCode >= 90 && openingCode <= 97) return 39;
142
+ if (openingCode >= 40 && openingCode <= 47) return 49;
143
+ if (openingCode >= 100 && openingCode <= 107) return 49;
144
+ if (openingCode === 1 || openingCode === 2) return 22;
145
+ if (openingCode === 3) return 23;
146
+ if (openingCode === 4) return 24;
147
+ if (openingCode === 7) return 27;
148
+ if (openingCode === 8) return 28;
149
+ if (openingCode === 9) return 29;
150
+ if (openingCode === 0) return 0;
151
+ };
152
+ const wrapAnsiCode = (code) => `${ESC}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
153
+ const wrapAnsiHyperlink = (url) => `${ESC}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;
154
+ const wrapWord = (rows, word, columns) => {
155
+ const characters = word[Symbol.iterator]();
156
+ let isInsideEscape = false;
157
+ let isInsideLinkEscape = false;
158
+ let lastRow = rows.at(-1);
159
+ let visible = lastRow === void 0 ? 0 : fastStringWidth(lastRow);
160
+ let currentCharacter = characters.next();
161
+ let nextCharacter = characters.next();
162
+ let rawCharacterIndex = 0;
163
+ while (!currentCharacter.done) {
164
+ const character = currentCharacter.value;
165
+ const characterLength = fastStringWidth(character);
166
+ if (visible + characterLength <= columns) rows[rows.length - 1] += character;
167
+ else {
168
+ rows.push(character);
169
+ visible = 0;
170
+ }
171
+ if (character === ESC || character === CSI) {
172
+ isInsideEscape = true;
173
+ isInsideLinkEscape = word.startsWith(ANSI_ESCAPE_LINK, rawCharacterIndex + 1);
174
+ }
175
+ if (isInsideEscape) {
176
+ if (isInsideLinkEscape) {
177
+ if (character === ANSI_ESCAPE_BELL) {
178
+ isInsideEscape = false;
179
+ isInsideLinkEscape = false;
180
+ }
181
+ } else if (character === ANSI_SGR_TERMINATOR) isInsideEscape = false;
182
+ } else {
183
+ visible += characterLength;
184
+ if (visible === columns && !nextCharacter.done) {
185
+ rows.push("");
186
+ visible = 0;
187
+ }
188
+ }
189
+ currentCharacter = nextCharacter;
190
+ nextCharacter = characters.next();
191
+ rawCharacterIndex += character.length;
192
+ }
193
+ lastRow = rows.at(-1);
194
+ if (!visible && lastRow !== void 0 && lastRow.length && rows.length > 1) rows[rows.length - 2] += rows.pop();
195
+ };
196
+ const stringVisibleTrimSpacesRight = (string) => {
197
+ const words = string.split(" ");
198
+ let last = words.length;
199
+ while (last) {
200
+ if (fastStringWidth(words[last - 1])) break;
201
+ last--;
202
+ }
203
+ if (last === words.length) return string;
204
+ return words.slice(0, last).join(" ") + words.slice(last).join("");
205
+ };
206
+ const exec = (string, columns, options = {}) => {
207
+ if (options.trim !== false && string.trim() === "") return "";
208
+ let returnValue = "";
209
+ let escapeCode;
210
+ let escapeUrl;
211
+ const words = string.split(" ");
212
+ let rows = [""];
213
+ let rowLength = 0;
214
+ for (let index = 0; index < words.length; index++) {
215
+ const word = words[index];
216
+ if (options.trim !== false) {
217
+ const row = rows.at(-1) ?? "";
218
+ const trimmed = row.trimStart();
219
+ if (row.length !== trimmed.length) {
220
+ rows[rows.length - 1] = trimmed;
221
+ rowLength = fastStringWidth(trimmed);
222
+ }
223
+ }
224
+ if (index !== 0) {
225
+ if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
226
+ rows.push("");
227
+ rowLength = 0;
228
+ }
229
+ if (rowLength || options.trim === false) {
230
+ rows[rows.length - 1] += " ";
231
+ rowLength++;
232
+ }
233
+ }
234
+ const wordLength = fastStringWidth(word);
235
+ if (options.hard && wordLength > columns) {
236
+ const remainingColumns = columns - rowLength;
237
+ const breaksStartingThisLine = 1 + Math.floor((wordLength - remainingColumns - 1) / columns);
238
+ if (Math.floor((wordLength - 1) / columns) < breaksStartingThisLine) rows.push("");
239
+ wrapWord(rows, word, columns);
240
+ rowLength = fastStringWidth(rows.at(-1) ?? "");
241
+ continue;
242
+ }
243
+ if (rowLength + wordLength > columns && rowLength && wordLength) {
244
+ if (options.wordWrap === false && rowLength < columns) {
245
+ wrapWord(rows, word, columns);
246
+ rowLength = fastStringWidth(rows.at(-1) ?? "");
247
+ continue;
248
+ }
249
+ rows.push("");
250
+ rowLength = 0;
251
+ }
252
+ if (rowLength + wordLength > columns && options.wordWrap === false) {
253
+ wrapWord(rows, word, columns);
254
+ rowLength = fastStringWidth(rows.at(-1) ?? "");
255
+ continue;
256
+ }
257
+ rows[rows.length - 1] += word;
258
+ rowLength += wordLength;
259
+ }
260
+ if (options.trim !== false) rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
261
+ const preString = rows.join("\n");
262
+ let inSurrogate = false;
263
+ for (let i = 0; i < preString.length; i++) {
264
+ const character = preString[i];
265
+ returnValue += character;
266
+ if (!inSurrogate) {
267
+ inSurrogate = character >= "\ud800" && character <= "\udbff";
268
+ if (inSurrogate) continue;
269
+ } else inSurrogate = false;
270
+ if (character === ESC || character === CSI) {
271
+ GROUP_REGEX.lastIndex = i + 1;
272
+ const groups = GROUP_REGEX.exec(preString)?.groups;
273
+ if (groups?.code !== void 0) {
274
+ const code = Number.parseFloat(groups.code);
275
+ escapeCode = code === END_CODE ? void 0 : code;
276
+ } else if (groups?.uri !== void 0) escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri;
277
+ }
278
+ if (preString[i + 1] === "\n") {
279
+ if (escapeUrl) returnValue += wrapAnsiHyperlink("");
280
+ const closingCode = escapeCode ? getClosingCode(escapeCode) : void 0;
281
+ if (escapeCode && closingCode) returnValue += wrapAnsiCode(closingCode);
282
+ } else if (character === "\n") {
283
+ if (escapeCode && getClosingCode(escapeCode)) returnValue += wrapAnsiCode(escapeCode);
284
+ if (escapeUrl) returnValue += wrapAnsiHyperlink(escapeUrl);
285
+ }
286
+ }
287
+ return returnValue;
288
+ };
289
+ const CRLF_OR_LF = /\r?\n/;
290
+ function wrapAnsi(string, columns, options) {
291
+ return String(string).normalize().split(CRLF_OR_LF).map((line) => exec(line, columns, options)).join("\n");
292
+ }
293
+ //#endregion
294
+ //#region ../node_modules/@clack/core/dist/index.mjs
295
+ var import_src = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
296
+ const ESC = "\x1B";
297
+ const CSI = `${ESC}[`;
298
+ const beep = "\x07";
299
+ const cursor = {
300
+ to(x, y) {
301
+ if (!y) return `${CSI}${x + 1}G`;
302
+ return `${CSI}${y + 1};${x + 1}H`;
303
+ },
304
+ move(x, y) {
305
+ let ret = "";
306
+ if (x < 0) ret += `${CSI}${-x}D`;
307
+ else if (x > 0) ret += `${CSI}${x}C`;
308
+ if (y < 0) ret += `${CSI}${-y}A`;
309
+ else if (y > 0) ret += `${CSI}${y}B`;
310
+ return ret;
311
+ },
312
+ up: (count = 1) => `${CSI}${count}A`,
313
+ down: (count = 1) => `${CSI}${count}B`,
314
+ forward: (count = 1) => `${CSI}${count}C`,
315
+ backward: (count = 1) => `${CSI}${count}D`,
316
+ nextLine: (count = 1) => `${CSI}E`.repeat(count),
317
+ prevLine: (count = 1) => `${CSI}F`.repeat(count),
318
+ left: `${CSI}G`,
319
+ hide: `${CSI}?25l`,
320
+ show: `${CSI}?25h`,
321
+ save: `${ESC}7`,
322
+ restore: `${ESC}8`
323
+ };
324
+ module.exports = {
325
+ cursor,
326
+ scroll: {
327
+ up: (count = 1) => `${CSI}S`.repeat(count),
328
+ down: (count = 1) => `${CSI}T`.repeat(count)
329
+ },
330
+ erase: {
331
+ screen: `${CSI}2J`,
332
+ up: (count = 1) => `${CSI}1J`.repeat(count),
333
+ down: (count = 1) => `${CSI}J`.repeat(count),
334
+ line: `${CSI}2K`,
335
+ lineEnd: `${CSI}K`,
336
+ lineStart: `${CSI}1K`,
337
+ lines(count) {
338
+ let clear = "";
339
+ for (let i = 0; i < count; i++) clear += this.line + (i < count - 1 ? cursor.up() : "");
340
+ if (count) clear += cursor.left;
341
+ return clear;
342
+ }
343
+ },
344
+ beep
345
+ };
346
+ })))();
347
+ function f(r, t, s) {
348
+ if (!s.some((o) => !o.disabled)) return r;
349
+ const e = r + t, i = Math.max(s.length - 1, 0), n = e < 0 ? i : e > i ? 0 : e;
350
+ return s[n].disabled ? f(n, t < 0 ? -1 : 1, s) : n;
351
+ }
352
+ const h = {
353
+ actions: new Set([
354
+ "up",
355
+ "down",
356
+ "left",
357
+ "right",
358
+ "space",
359
+ "enter",
360
+ "cancel"
361
+ ]),
362
+ aliases: new Map([
363
+ ["k", "up"],
364
+ ["j", "down"],
365
+ ["h", "left"],
366
+ ["l", "right"],
367
+ ["", "cancel"],
368
+ ["escape", "cancel"]
369
+ ]),
370
+ messages: {
371
+ cancel: "Canceled",
372
+ error: "Something went wrong"
373
+ },
374
+ withGuide: !0,
375
+ date: {
376
+ monthNames: [...[
377
+ "January",
378
+ "February",
379
+ "March",
380
+ "April",
381
+ "May",
382
+ "June",
383
+ "July",
384
+ "August",
385
+ "September",
386
+ "October",
387
+ "November",
388
+ "December"
389
+ ]],
390
+ messages: {
391
+ required: "Please enter a valid date",
392
+ invalidMonth: "There are only 12 months in a year",
393
+ invalidDay: (r, t) => `There are only ${r} days in ${t}`,
394
+ afterMin: (r) => `Date must be on or after ${r.toISOString().slice(0, 10)}`,
395
+ beforeMax: (r) => `Date must be on or before ${r.toISOString().slice(0, 10)}`
396
+ }
397
+ }
398
+ };
399
+ function C(r, t) {
400
+ if (typeof r == "string") return h.aliases.get(r) === t;
401
+ for (const s of r) if (s !== void 0 && C(s, t)) return !0;
402
+ return !1;
403
+ }
404
+ function z$1(r, t) {
405
+ if (r === t) return;
406
+ const s = r.split(`
407
+ `), e = t.split(`
408
+ `), i = Math.max(s.length, e.length), n = [];
409
+ for (let o = 0; o < i; o++) s[o] !== e[o] && n.push(o);
410
+ return {
411
+ lines: n,
412
+ numLinesBefore: s.length,
413
+ numLinesAfter: e.length,
414
+ numLines: i
415
+ };
416
+ }
417
+ globalThis.process.platform.startsWith("win");
418
+ const k = Symbol("clack:cancel");
419
+ function q$1(r) {
420
+ return r === k;
421
+ }
422
+ function w$1(r, t) {
423
+ const s = r;
424
+ s.isTTY && s.setRawMode(t);
425
+ }
426
+ const A = (r) => "columns" in r && typeof r.columns == "number" ? r.columns : 80, L = (r) => "rows" in r && typeof r.rows == "number" ? r.rows : 20;
427
+ function W(r, t, s, e = s, i = s, n) {
428
+ return wrapAnsi(t, A(r ?? stdout) - s.length, {
429
+ hard: !0,
430
+ trim: !1
431
+ }).split(`
432
+ `).map((u, a, l) => {
433
+ const c = n ? n(u, a) : u;
434
+ return a === 0 ? `${e}${c}` : a === l.length - 1 ? `${i}${c}` : `${s}${c}`;
435
+ }).join(`
436
+ `);
437
+ }
438
+ let m = class {
439
+ input;
440
+ output;
441
+ _abortSignal;
442
+ rl;
443
+ opts;
444
+ _render;
445
+ _track = !1;
446
+ _prevFrame = "";
447
+ _subscribers = /* @__PURE__ */ new Map();
448
+ _cursor = 0;
449
+ state = "initial";
450
+ error = "";
451
+ value;
452
+ userInput = "";
453
+ constructor(t, s = !0) {
454
+ const { input: e = stdin, output: i = stdout, render: n, signal: o, ...u } = t;
455
+ this.opts = u, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = n.bind(this), this._track = s, this._abortSignal = o, this.input = e, this.output = i;
456
+ }
457
+ unsubscribe() {
458
+ this._subscribers.clear();
459
+ }
460
+ setSubscriber(t, s) {
461
+ const e = this._subscribers.get(t) ?? [];
462
+ e.push(s), this._subscribers.set(t, e);
463
+ }
464
+ on(t, s) {
465
+ this.setSubscriber(t, { cb: s });
466
+ }
467
+ once(t, s) {
468
+ this.setSubscriber(t, {
469
+ cb: s,
470
+ once: !0
471
+ });
472
+ }
473
+ emit(t, ...s) {
474
+ const e = this._subscribers.get(t) ?? [], i = [];
475
+ for (const n of e) n.cb(...s), n.once && i.push(() => e.splice(e.indexOf(n), 1));
476
+ for (const n of i) n();
477
+ }
478
+ prompt() {
479
+ return new Promise((t) => {
480
+ if (this._abortSignal) {
481
+ if (this._abortSignal.aborted) return this.state = "cancel", this.close(), t(k);
482
+ this._abortSignal.addEventListener("abort", () => {
483
+ this.state = "cancel", this.close();
484
+ }, { once: !0 });
485
+ }
486
+ this.rl = E.createInterface({
487
+ input: this.input,
488
+ tabSize: 2,
489
+ prompt: "",
490
+ escapeCodeTimeout: 50,
491
+ terminal: !0
492
+ }), this.rl.prompt(), this.opts.initialUserInput !== void 0 && this._setUserInput(this.opts.initialUserInput, !0), this.input.on("keypress", this.onKeypress), w$1(this.input, !0), this.output.on("resize", this.render), this.render(), this.once("submit", () => {
493
+ this.output.write(import_src.cursor.show), this.output.off("resize", this.render), w$1(this.input, !1), t(this.value);
494
+ }), this.once("cancel", () => {
495
+ this.output.write(import_src.cursor.show), this.output.off("resize", this.render), w$1(this.input, !1), t(k);
496
+ });
497
+ });
498
+ }
499
+ _isActionKey(t, s) {
500
+ return t === " ";
501
+ }
502
+ _shouldSubmit(t, s) {
503
+ return !0;
504
+ }
505
+ _setValue(t) {
506
+ this.value = t, this.emit("value", this.value);
507
+ }
508
+ _setUserInput(t, s) {
509
+ this.userInput = t ?? "", this.emit("userInput", this.userInput), s && this._track && this.rl && (this.rl.write(this.userInput), this._cursor = this.rl.cursor);
510
+ }
511
+ _clearUserInput() {
512
+ this.rl?.write(null, {
513
+ ctrl: !0,
514
+ name: "u"
515
+ }), this._setUserInput("");
516
+ }
517
+ onKeypress(t, s) {
518
+ if (this._track && s.name !== "return" && (s.name && this._isActionKey(t, s) && this.rl?.write(null, {
519
+ ctrl: !0,
520
+ name: "h"
521
+ }), this._cursor = this.rl?.cursor ?? 0, this._setUserInput(this.rl?.line)), this.state === "error" && (this.state = "active"), s?.name && (!this._track && h.aliases.has(s.name) && this.emit("cursor", h.aliases.get(s.name)), h.actions.has(s.name) && this.emit("cursor", s.name)), t && (t.toLowerCase() === "y" || t.toLowerCase() === "n") && this.emit("confirm", t.toLowerCase() === "y"), this.emit("key", t?.toLowerCase(), s), s?.name === "return" && this._shouldSubmit(t, s)) {
522
+ if (this.opts.validate) {
523
+ const e = this.opts.validate(this.value);
524
+ e && (this.error = e instanceof Error ? e.message : e, this.state = "error", this.rl?.write(this.userInput));
525
+ }
526
+ this.state !== "error" && (this.state = "submit");
527
+ }
528
+ C([
529
+ t,
530
+ s?.name,
531
+ s?.sequence
532
+ ], "cancel") && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close();
533
+ }
534
+ close() {
535
+ this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(`
536
+ `), w$1(this.input, !1), this.rl?.close(), this.rl = void 0, this.emit(`${this.state}`, this.value), this.unsubscribe();
537
+ }
538
+ restoreCursor() {
539
+ const t = wrapAnsi(this._prevFrame, process.stdout.columns, {
540
+ hard: !0,
541
+ trim: !1
542
+ }).split(`
543
+ `).length - 1;
544
+ this.output.write(import_src.cursor.move(-999, t * -1));
545
+ }
546
+ render() {
547
+ const t = wrapAnsi(this._render(this) ?? "", process.stdout.columns, {
548
+ hard: !0,
549
+ trim: !1
550
+ });
551
+ if (t !== this._prevFrame) {
552
+ if (this.state === "initial") this.output.write(import_src.cursor.hide);
553
+ else {
554
+ const s = z$1(this._prevFrame, t), e = L(this.output);
555
+ if (this.restoreCursor(), s) {
556
+ const i = Math.max(0, s.numLinesAfter - e), n = Math.max(0, s.numLinesBefore - e);
557
+ let o = s.lines.find((u) => u >= i);
558
+ if (o === void 0) {
559
+ this._prevFrame = t;
560
+ return;
561
+ }
562
+ if (s.lines.length === 1) {
563
+ this.output.write(import_src.cursor.move(0, o - n)), this.output.write(import_src.erase.lines(1));
564
+ const u = t.split(`
565
+ `);
566
+ this.output.write(u[o]), this._prevFrame = t, this.output.write(import_src.cursor.move(0, u.length - o - 1));
567
+ return;
568
+ } else if (s.lines.length > 1) {
569
+ if (i < n) o = i;
570
+ else {
571
+ const a = o - n;
572
+ a > 0 && this.output.write(import_src.cursor.move(0, a));
573
+ }
574
+ this.output.write(import_src.erase.down());
575
+ const u = t.split(`
576
+ `).slice(o);
577
+ this.output.write(u.join(`
578
+ `)), this._prevFrame = t;
579
+ return;
580
+ }
581
+ }
582
+ this.output.write(import_src.erase.down());
583
+ }
584
+ this.output.write(t), this.state === "initial" && (this.state = "active"), this._prevFrame = t;
585
+ }
586
+ }
587
+ };
588
+ var X = class extends m {
589
+ get cursor() {
590
+ return this.value ? 0 : 1;
591
+ }
592
+ get _value() {
593
+ return this.cursor === 0;
594
+ }
595
+ constructor(t) {
596
+ super(t, !1), this.value = !!t.initialValue, this.on("userInput", () => {
597
+ this.value = this._value;
598
+ }), this.on("confirm", (s) => {
599
+ this.output.write(import_src.cursor.move(0, -1)), this.value = s, this.state = "submit", this.close();
600
+ }), this.on("cursor", () => {
601
+ this.value = !this.value;
602
+ });
603
+ }
604
+ };
605
+ var ut$1 = class extends m {
606
+ options;
607
+ cursor = 0;
608
+ get _selectedValue() {
609
+ return this.options[this.cursor];
610
+ }
611
+ changeValue() {
612
+ this.value = this._selectedValue.value;
613
+ }
614
+ constructor(t) {
615
+ super(t, !1), this.options = t.options;
616
+ const s = this.options.findIndex(({ value: i }) => i === t.initialValue), e = s === -1 ? 0 : s;
617
+ this.cursor = this.options[e].disabled ? f(e, 1, this.options) : e, this.changeValue(), this.on("cursor", (i) => {
618
+ switch (i) {
619
+ case "left":
620
+ case "up":
621
+ this.cursor = f(this.cursor, -1, this.options);
622
+ break;
623
+ case "down":
624
+ case "right":
625
+ this.cursor = f(this.cursor, 1, this.options);
626
+ break;
627
+ }
628
+ this.changeValue();
629
+ });
630
+ }
631
+ };
632
+ //#endregion
633
+ //#region ../node_modules/@clack/prompts/dist/index.mjs
634
+ function ee() {
635
+ return V.platform !== "win32" ? V.env.TERM !== "linux" : !!V.env.CI || !!V.env.WT_SESSION || !!V.env.TERMINUS_SUBLIME || V.env.ConEmuTask === "{cmd::Cmder}" || V.env.TERM_PROGRAM === "Terminus-Sublime" || V.env.TERM_PROGRAM === "vscode" || V.env.TERM === "xterm-256color" || V.env.TERM === "alacritty" || V.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
636
+ }
637
+ const tt = ee(), w = (t, i) => tt ? t : i, Tt = w("◆", "*"), at = w("■", "x"), ut = w("▲", "x"), H = w("◇", "o"), lt = w("┌", "T"), $ = w("│", "|"), x = w("└", "—");
638
+ const z = w("●", ">"), U = w("○", " ");
639
+ const ht = w("●", "•"), pt = w("◆", "*"), mt = w("▲", "!"), gt = w("■", "x"), P = (t) => {
640
+ switch (t) {
641
+ case "initial":
642
+ case "active": return styleText("cyan", Tt);
643
+ case "cancel": return styleText("red", at);
644
+ case "error": return styleText("yellow", ut);
645
+ case "submit": return styleText("green", H);
646
+ }
647
+ }, yt = (t) => {
648
+ switch (t) {
649
+ case "initial":
650
+ case "active": return styleText("cyan", $);
651
+ case "cancel": return styleText("red", $);
652
+ case "error": return styleText("yellow", $);
653
+ case "submit": return styleText("green", $);
654
+ }
655
+ }, Ot = (t, i, s, r, u, n = !1) => {
656
+ let a = i, c = 0;
657
+ if (n) for (let o = r - 1; o >= s && (a -= t[o].length, c++, !(a <= u)); o--);
658
+ else for (let o = s; o < r && (a -= t[o].length, c++, !(a <= u)); o++);
659
+ return {
660
+ lineCount: a,
661
+ removals: c
662
+ };
663
+ }, F = ({ cursor: t, options: i, style: s, output: r = process.stdout, maxItems: u = Number.POSITIVE_INFINITY, columnPadding: n = 0, rowPadding: a = 4 }) => {
664
+ const c = A(r) - n, o = L(r), l = styleText("dim", "..."), d = Math.max(o - a, 0), g = Math.max(Math.min(u, d), 5);
665
+ let p = 0;
666
+ t >= g - 3 && (p = Math.max(Math.min(t - g + 3, i.length - g), 0));
667
+ let f = g < i.length && p > 0, h = g < i.length && p + g < i.length;
668
+ const I = Math.min(p + g, i.length), m = [];
669
+ let y = 0;
670
+ f && y++, h && y++;
671
+ const v = p + (f ? 1 : 0), C = I - (h ? 1 : 0);
672
+ for (let b = v; b < C; b++) {
673
+ const G = wrapAnsi(s(i[b], b === t), c, {
674
+ hard: !0,
675
+ trim: !1
676
+ }).split(`
677
+ `);
678
+ m.push(G), y += G.length;
679
+ }
680
+ if (y > d) {
681
+ let b = 0, G = 0, M = y;
682
+ const N = t - v;
683
+ let O = d;
684
+ const j = () => Ot(m, M, 0, N, O), k = () => Ot(m, M, N + 1, m.length, O, !0);
685
+ f ? ({lineCount: M, removals: b} = j(), M > O && (h || (O -= 1), {lineCount: M, removals: G} = k())) : (h || (O -= 1), {lineCount: M, removals: G} = k(), M > O && (O -= 1, {lineCount: M, removals: b} = j())), b > 0 && (f = !0, m.splice(0, b)), G > 0 && (h = !0, m.splice(m.length - G, G));
686
+ }
687
+ const S = [];
688
+ f && S.push(l);
689
+ for (const b of m) for (const G of b) S.push(G);
690
+ return h && S.push(l), S;
691
+ };
692
+ const ue = (t) => {
693
+ const i = t.active ?? "Yes", s = t.inactive ?? "No";
694
+ return new X({
695
+ active: i,
696
+ inactive: s,
697
+ signal: t.signal,
698
+ input: t.input,
699
+ output: t.output,
700
+ initialValue: t.initialValue ?? !0,
701
+ render() {
702
+ const r = t.withGuide ?? h.withGuide, u = `${P(this.state)} `, n = r ? `${styleText("gray", $)} ` : "", a = W(t.output, t.message, n, u), c = `${r ? `${styleText("gray", $)}
703
+ ` : ""}${a}
704
+ `, o = this.value ? i : s;
705
+ switch (this.state) {
706
+ case "submit": return `${c}${r ? `${styleText("gray", $)} ` : ""}${styleText("dim", o)}`;
707
+ case "cancel": return `${c}${r ? `${styleText("gray", $)} ` : ""}${styleText(["strikethrough", "dim"], o)}${r ? `
708
+ ${styleText("gray", $)}` : ""}`;
709
+ default: {
710
+ const l = r ? `${styleText("cyan", $)} ` : "", d = r ? styleText("cyan", x) : "";
711
+ return `${c}${l}${this.value ? `${styleText("green", z)} ${i}` : `${styleText("dim", U)} ${styleText("dim", i)}`}${t.vertical ? r ? `
712
+ ${styleText("cyan", $)} ` : `
713
+ ` : ` ${styleText("dim", "/")} `}${this.value ? `${styleText("dim", U)} ${styleText("dim", s)}` : `${styleText("green", z)} ${s}`}
714
+ ${d}
715
+ `;
716
+ }
717
+ }
718
+ }
719
+ }).prompt();
720
+ }, R = {
721
+ message: (t = [], { symbol: i = styleText("gray", $), secondarySymbol: s = styleText("gray", $), output: r = process.stdout, spacing: u = 1, withGuide: n } = {}) => {
722
+ const a = [], c = n ?? h.withGuide, o = c ? s : "", l = c ? `${i} ` : "", d = c ? `${s} ` : "";
723
+ for (let p = 0; p < u; p++) a.push(o);
724
+ const g = Array.isArray(t) ? t : t.split(`
725
+ `);
726
+ if (g.length > 0) {
727
+ const [p, ...f] = g;
728
+ p.length > 0 ? a.push(`${l}${p}`) : a.push(c ? i : "");
729
+ for (const h of f) h.length > 0 ? a.push(`${d}${h}`) : a.push(c ? s : "");
730
+ }
731
+ r.write(`${a.join(`
732
+ `)}
733
+ `);
734
+ },
735
+ info: (t, i) => {
736
+ R.message(t, {
737
+ ...i,
738
+ symbol: styleText("blue", ht)
739
+ });
740
+ },
741
+ success: (t, i) => {
742
+ R.message(t, {
743
+ ...i,
744
+ symbol: styleText("green", pt)
745
+ });
746
+ },
747
+ step: (t, i) => {
748
+ R.message(t, {
749
+ ...i,
750
+ symbol: styleText("green", H)
751
+ });
752
+ },
753
+ warn: (t, i) => {
754
+ R.message(t, {
755
+ ...i,
756
+ symbol: styleText("yellow", mt)
757
+ });
758
+ },
759
+ warning: (t, i) => {
760
+ R.warn(t, i);
761
+ },
762
+ error: (t, i) => {
763
+ R.message(t, {
764
+ ...i,
765
+ symbol: styleText("red", gt)
766
+ });
767
+ }
768
+ }, me = (t = "", i) => {
769
+ const s = i?.output ?? process.stdout, r = i?.withGuide ?? h.withGuide ? `${styleText("gray", x)} ` : "";
770
+ s.write(`${r}${styleText("red", t)}
771
+
772
+ `);
773
+ }, ge = (t = "", i) => {
774
+ const s = i?.output ?? process.stdout, r = i?.withGuide ?? h.withGuide ? `${styleText("gray", lt)} ` : "";
775
+ s.write(`${r}${t}
776
+ `);
777
+ }, ye = (t = "", i) => {
778
+ const s = i?.output ?? process.stdout, r = i?.withGuide ?? h.withGuide ? `${styleText("gray", $)}
779
+ ${styleText("gray", x)} ` : "";
780
+ s.write(`${r}${t}
781
+
782
+ `);
783
+ }, it = (t, i) => t.includes(`
784
+ `) ? t.split(`
785
+ `).map((s) => i(s)).join(`
786
+ `) : i(t), xe = (t) => {
787
+ const i = (s, r) => {
788
+ const u = s.label ?? String(s.value);
789
+ switch (r) {
790
+ case "disabled": return `${styleText("gray", U)} ${it(u, (n) => styleText("gray", n))}${s.hint ? ` ${styleText("dim", `(${s.hint ?? "disabled"})`)}` : ""}`;
791
+ case "selected": return `${it(u, (n) => styleText("dim", n))}`;
792
+ case "active": return `${styleText("green", z)} ${u}${s.hint ? ` ${styleText("dim", `(${s.hint})`)}` : ""}`;
793
+ case "cancelled": return `${it(u, (n) => styleText(["strikethrough", "dim"], n))}`;
794
+ default: return `${styleText("dim", U)} ${it(u, (n) => styleText("dim", n))}`;
795
+ }
796
+ };
797
+ return new ut$1({
798
+ options: t.options,
799
+ signal: t.signal,
800
+ input: t.input,
801
+ output: t.output,
802
+ initialValue: t.initialValue,
803
+ render() {
804
+ const s = t.withGuide ?? h.withGuide, r = `${P(this.state)} `, u = `${yt(this.state)} `, n = W(t.output, t.message, u, r), a = `${s ? `${styleText("gray", $)}
805
+ ` : ""}${n}
806
+ `;
807
+ switch (this.state) {
808
+ case "submit": {
809
+ const c = s ? `${styleText("gray", $)} ` : "";
810
+ return `${a}${W(t.output, i(this.options[this.cursor], "selected"), c)}`;
811
+ }
812
+ case "cancel": {
813
+ const c = s ? `${styleText("gray", $)} ` : "";
814
+ return `${a}${W(t.output, i(this.options[this.cursor], "cancelled"), c)}${s ? `
815
+ ${styleText("gray", $)}` : ""}`;
816
+ }
817
+ default: {
818
+ const c = s ? `${styleText("cyan", $)} ` : "", o = s ? styleText("cyan", x) : "", l = a.split(`
819
+ `).length, d = s ? 2 : 1;
820
+ return `${a}${c}${F({
821
+ output: t.output,
822
+ cursor: this.cursor,
823
+ options: this.options,
824
+ maxItems: t.maxItems,
825
+ columnPadding: c.length,
826
+ rowPadding: l + d,
827
+ style: (g, p) => i(g, g.disabled ? "disabled" : p ? "active" : "inactive")
828
+ }).join(`
829
+ ${c}`)}
830
+ ${o}
831
+ `;
832
+ }
833
+ }
834
+ }
835
+ }).prompt();
836
+ }, Nt = `${styleText("gray", $)} `, q = {
837
+ message: async (t, { symbol: i = styleText("gray", $) } = {}) => {
838
+ process.stdout.write(`${styleText("gray", $)}
839
+ ${i} `);
840
+ let s = 3;
841
+ for await (let r of t) {
842
+ r = r.replace(/\n/g, `
843
+ ${Nt}`), r.includes(`
844
+ `) && (s = 3 + stripVTControlCharacters(r.slice(r.lastIndexOf(`
845
+ `))).length);
846
+ const u = stripVTControlCharacters(r).length;
847
+ s + u < process.stdout.columns ? (s += u, process.stdout.write(r)) : (process.stdout.write(`
848
+ ${Nt}${r.trimStart()}`), s = 3 + stripVTControlCharacters(r.trimStart()).length);
849
+ }
850
+ process.stdout.write(`
851
+ `);
852
+ },
853
+ info: (t) => q.message(t, { symbol: styleText("blue", ht) }),
854
+ success: (t) => q.message(t, { symbol: styleText("green", pt) }),
855
+ step: (t) => q.message(t, { symbol: styleText("green", H) }),
856
+ warn: (t) => q.message(t, { symbol: styleText("yellow", mt) }),
857
+ warning: (t) => q.warn(t),
858
+ error: (t) => q.message(t, { symbol: styleText("red", gt) })
859
+ };
860
+ //#endregion
861
+ //#region cli/index.ts
862
+ const targets = [
863
+ "claude",
864
+ "copilot",
865
+ "cursor",
866
+ "codex",
867
+ "gemini",
868
+ "opencode",
869
+ "windsurf"
870
+ ];
871
+ let target = argv[2];
872
+ const interactive = !target;
873
+ ge("@jahia/agentic");
874
+ R.message("The goal of this CLI is to provide a fully functional harness for agentic development of Jahia modules.");
875
+ if (!target) {
876
+ R.info(`You skip this prompt by running ${styleText("blueBright", "npx @jahia/agentic@latest <agent>")}`);
877
+ const gitStatus = spawnSync("git", ["status", "--porcelain"], { encoding: "utf-8" });
878
+ if (gitStatus.error) R.error(`Failed to check git status: ${gitStatus.error.message}`);
879
+ if (gitStatus.stdout.trim() !== "") {
880
+ R.warn("You have uncommitted changes in your workspace. It's safer to run this CLI on a clean workspace to avoid losing work.");
881
+ const confirm = await ue({ message: "Do you want to continue?" });
882
+ if (!confirm || q$1(confirm)) {
883
+ me("Come back soon!");
884
+ process.exit(0);
885
+ }
886
+ }
887
+ target = await xe({
888
+ message: "Which agent do you use?",
889
+ options: [
890
+ {
891
+ value: "claude",
892
+ label: "Claude",
893
+ hint: "Will create CLAUDE.md and .claude/"
894
+ },
895
+ {
896
+ value: "codex",
897
+ label: "Codex",
898
+ hint: "Will create AGENTS.md and .agents/"
899
+ },
900
+ {
901
+ value: "copilot",
902
+ label: "Copilot",
903
+ hint: "Will create AGENTS.md, .agents/ and .github/"
904
+ },
905
+ {
906
+ value: "cursor",
907
+ label: "Cursor",
908
+ hint: "Will create .agents/ and .cursor/"
909
+ },
910
+ {
911
+ value: "gemini",
912
+ label: "Gemini",
913
+ hint: "Will create AGENTS.md, GEMINI.md and .agents/"
914
+ },
915
+ {
916
+ value: "opencode",
917
+ label: "OpenCode",
918
+ hint: "Will create AGENTS.md and .agents/"
919
+ },
920
+ {
921
+ value: "windsurf",
922
+ label: "Windsurf",
923
+ hint: "Will create AGENTS.md and .windsurf/"
924
+ }
925
+ ]
926
+ });
927
+ if (q$1(target)) {
928
+ me("Come back soon!");
929
+ process.exit(0);
930
+ }
931
+ }
932
+ if (!targets.includes(target)) {
933
+ me(`Invalid target: ${target}\nValid targets are: ${targets.join(", ")}`);
934
+ process.exit(1);
935
+ }
936
+ const src = resolve(import.meta.dirname, target);
937
+ const dst = process.cwd();
938
+ const entries = readdirSync(src, {
939
+ withFileTypes: true,
940
+ recursive: true
941
+ });
942
+ const dirsToCreate = /* @__PURE__ */ new Set();
943
+ const filesToCopy = [];
944
+ for (const entry of entries) {
945
+ if (!entry.isFile()) continue;
946
+ const relativePath = entry.parentPath.substring(src.length + 1);
947
+ dirsToCreate.add(resolve(dst, relativePath));
948
+ filesToCopy.push({
949
+ src: resolve(entry.parentPath, entry.name),
950
+ dst: resolve(dst, relativePath, entry.name)
951
+ });
952
+ }
953
+ for (const dir of dirsToCreate) if (statSync(dir, { throwIfNoEntry: false })?.isFile()) {
954
+ me(`Cannot create directory ${dir} because a file with the same name exists.`);
955
+ process.exit(1);
956
+ }
957
+ let overwriteCount = 0;
958
+ for (const { src, dst } of filesToCopy) try {
959
+ accessSync(dst, constants.R_OK | constants.W_OK);
960
+ if (readFileSync(dst, "utf-8") !== readFileSync(src, "utf-8")) overwriteCount++;
961
+ } catch {}
962
+ if (interactive && overwriteCount > 0) {
963
+ const confirm = await ue({ message: `There are ${overwriteCount} file${overwriteCount >= 2 ? "s" : ""} that will be overwritten. Do you want to continue?` });
964
+ if (!confirm || q$1(confirm)) {
965
+ me("Come back soon!");
966
+ process.exit(0);
967
+ }
968
+ } else if (overwriteCount > 0) R.warn(`Harness already exists, ${overwriteCount} file${overwriteCount >= 2 ? "s" : ""} will be overwritten.`);
969
+ for (const dir of dirsToCreate) mkdirSync(dir, { recursive: true });
970
+ for (const { src, dst } of filesToCopy) copyFileSync(src, dst);
971
+ ye(`Harness created successfully!
972
+
973
+ To update the harness in the future, run ${styleText("blueBright", "npx @jahia/agentic@latest " + target)}`);
974
+ //#endregion
975
+ export {};