@jahia/agentic 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/claude/.claude/rules/jahia.md +13 -40
  3. package/dist/claude/.claude/skills/jahia-cnd-author/SKILL.md +94 -0
  4. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  5. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  6. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  7. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  8. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  9. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  10. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  11. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  12. package/dist/claude/.claude/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  13. package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +5 -265
  14. package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +15 -7
  15. package/dist/claude/.claude/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  16. package/dist/claude/.claude/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  17. package/dist/claude/.claude/skills/jahia-dev-create-view/SKILL.md +3 -3
  18. package/dist/claude/.claude/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  19. package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  20. package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  21. package/dist/claude/.claude/skills/jahia-dev-site-review/SKILL.md +70 -0
  22. package/dist/claude/.claude/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  23. package/dist/claude/.claude/skills/jahia-dev-start-local/SKILL.md +18 -26
  24. package/dist/claude/CLAUDE.md +14 -41
  25. package/dist/codex/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  26. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  27. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  28. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  29. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  30. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  31. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  32. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  33. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  34. package/dist/codex/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  35. package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  36. package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
  37. package/dist/codex/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  38. package/dist/codex/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  39. package/dist/codex/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  40. package/dist/codex/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  41. package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  42. package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  43. package/dist/codex/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  44. package/dist/codex/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  45. package/dist/codex/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  46. package/dist/codex/AGENTS.md +15 -42
  47. package/dist/copilot/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  48. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  49. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  50. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  51. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  52. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  53. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  54. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  55. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  56. package/dist/copilot/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  57. package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  58. package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
  59. package/dist/copilot/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  60. package/dist/copilot/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  61. package/dist/copilot/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  62. package/dist/copilot/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  63. package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  64. package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  65. package/dist/copilot/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  66. package/dist/copilot/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  67. package/dist/copilot/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  68. package/dist/copilot/AGENTS.md +15 -42
  69. package/dist/cursor/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  70. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  71. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  72. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  73. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  74. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  75. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  76. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  77. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  78. package/dist/cursor/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  79. package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  80. package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
  81. package/dist/cursor/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  82. package/dist/cursor/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  83. package/dist/cursor/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  84. package/dist/cursor/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  85. package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  86. package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  87. package/dist/cursor/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  88. package/dist/cursor/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  89. package/dist/cursor/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  90. package/dist/cursor/.cursor/rules/jahia.mdc +13 -40
  91. package/dist/gemini/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  92. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  93. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  94. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  95. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  96. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  97. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  98. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  99. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  100. package/dist/gemini/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  101. package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  102. package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
  103. package/dist/gemini/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  104. package/dist/gemini/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  105. package/dist/gemini/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  106. package/dist/gemini/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  107. package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  108. package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  109. package/dist/gemini/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  110. package/dist/gemini/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  111. package/dist/gemini/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  112. package/dist/gemini/AGENTS.md +15 -42
  113. package/dist/gemini/GEMINI.md +2 -2
  114. package/dist/index.js +13 -0
  115. package/dist/opencode/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  116. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  117. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  118. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  119. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  120. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  121. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  122. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  123. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  124. package/dist/opencode/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  125. package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  126. package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
  127. package/dist/opencode/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  128. package/dist/opencode/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  129. package/dist/opencode/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
  130. package/dist/opencode/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  131. package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  132. package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  133. package/dist/opencode/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
  134. package/dist/opencode/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  135. package/dist/opencode/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
  136. package/dist/opencode/AGENTS.md +15 -42
  137. package/dist/windsurf/.windsurf/rules/jahia.md +13 -40
  138. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/SKILL.md +94 -0
  139. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  140. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  141. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  142. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  143. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  144. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  145. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  146. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  147. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  148. package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +5 -265
  149. package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +15 -7
  150. package/dist/windsurf/.windsurf/skills/jahia-dev-create-page-template/SKILL.md +59 -21
  151. package/dist/windsurf/.windsurf/skills/jahia-dev-create-template-set/SKILL.md +20 -47
  152. package/dist/windsurf/.windsurf/skills/jahia-dev-create-view/SKILL.md +3 -3
  153. package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/SKILL.md +79 -0
  154. package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
  155. package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
  156. package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/SKILL.md +70 -0
  157. package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
  158. package/dist/windsurf/.windsurf/skills/jahia-dev-start-local/SKILL.md +18 -26
  159. package/dist/windsurf/AGENTS.md +15 -42
  160. package/package.json +1 -1
  161. package/dist/claude/.claude/skills/jahia/SKILL.md +0 -144
  162. package/dist/claude/.claude/skills/jahia-content/SKILL.md +0 -157
  163. package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +0 -359
  164. package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +0 -255
  165. package/dist/claude/.claude/skills/jahia-content-media-upload/SKILL.md +0 -197
  166. package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +0 -231
  167. package/dist/claude/.claude/skills/jahia-content-organize/SKILL.md +0 -209
  168. package/dist/claude/.claude/skills/jahia-content-publish/SKILL.md +0 -181
  169. package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +0 -174
  170. package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +0 -226
  171. package/dist/claude/.claude/skills/jahia-dev/SKILL.md +0 -124
  172. package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +0 -52
  173. package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +0 -484
  174. package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +0 -657
  175. package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  176. package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +0 -541
  177. package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +0 -265
  178. package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +0 -536
  179. package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +0 -110
  180. package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +0 -331
  181. package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +0 -273
  182. package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +0 -218
  183. package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +0 -208
  184. package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +0 -191
  185. package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  186. package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  187. package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  188. package/dist/claude/.claude/skills/jahia-java-concurrency/SKILL.md +0 -308
  189. package/dist/claude/.claude/skills/jahia-java-jcr/SKILL.md +0 -153
  190. package/dist/claude/.claude/skills/jahia-java-osgi/SKILL.md +0 -134
  191. package/dist/claude/.claude/skills/jahia-java-persistence/SKILL.md +0 -177
  192. package/dist/claude/.claude/skills/jahia-java-security/SKILL.md +0 -84
  193. package/dist/claude/.claude/skills/jahia-review-java/SKILL.md +0 -131
  194. package/dist/claude/.claude/skills/jahia-review-java/references/code-review-output.md +0 -121
  195. package/dist/codex/.agents/skills/jahia/SKILL.md +0 -144
  196. package/dist/codex/.agents/skills/jahia-content/SKILL.md +0 -157
  197. package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  198. package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  199. package/dist/codex/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  200. package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  201. package/dist/codex/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  202. package/dist/codex/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  203. package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  204. package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  205. package/dist/codex/.agents/skills/jahia-dev/SKILL.md +0 -124
  206. package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  207. package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  208. package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  209. package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  210. package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  211. package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  212. package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
  213. package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  214. package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  215. package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  216. package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  217. package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  218. package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  219. package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  220. package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  221. package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  222. package/dist/codex/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  223. package/dist/codex/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  224. package/dist/codex/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  225. package/dist/codex/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  226. package/dist/codex/.agents/skills/jahia-java-security/SKILL.md +0 -84
  227. package/dist/codex/.agents/skills/jahia-review-java/SKILL.md +0 -131
  228. package/dist/codex/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  229. package/dist/copilot/.agents/skills/jahia/SKILL.md +0 -144
  230. package/dist/copilot/.agents/skills/jahia-content/SKILL.md +0 -157
  231. package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  232. package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  233. package/dist/copilot/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  234. package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  235. package/dist/copilot/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  236. package/dist/copilot/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  237. package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  238. package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  239. package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +0 -124
  240. package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  241. package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  242. package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  243. package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  244. package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  245. package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  246. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
  247. package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  248. package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  249. package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  250. package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  251. package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  252. package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  253. package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  254. package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  255. package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  256. package/dist/copilot/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  257. package/dist/copilot/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  258. package/dist/copilot/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  259. package/dist/copilot/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  260. package/dist/copilot/.agents/skills/jahia-java-security/SKILL.md +0 -84
  261. package/dist/copilot/.agents/skills/jahia-review-java/SKILL.md +0 -131
  262. package/dist/copilot/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  263. package/dist/cursor/.agents/skills/jahia/SKILL.md +0 -144
  264. package/dist/cursor/.agents/skills/jahia-content/SKILL.md +0 -157
  265. package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  266. package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  267. package/dist/cursor/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  268. package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  269. package/dist/cursor/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  270. package/dist/cursor/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  271. package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  272. package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  273. package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +0 -124
  274. package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  275. package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  276. package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  277. package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  278. package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  279. package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  280. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
  281. package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  282. package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  283. package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  284. package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  285. package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  286. package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  287. package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  288. package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  289. package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  290. package/dist/cursor/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  291. package/dist/cursor/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  292. package/dist/cursor/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  293. package/dist/cursor/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  294. package/dist/cursor/.agents/skills/jahia-java-security/SKILL.md +0 -84
  295. package/dist/cursor/.agents/skills/jahia-review-java/SKILL.md +0 -131
  296. package/dist/cursor/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  297. package/dist/gemini/.agents/skills/jahia/SKILL.md +0 -144
  298. package/dist/gemini/.agents/skills/jahia-content/SKILL.md +0 -157
  299. package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  300. package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  301. package/dist/gemini/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  302. package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  303. package/dist/gemini/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  304. package/dist/gemini/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  305. package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  306. package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  307. package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +0 -124
  308. package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  309. package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  310. package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  311. package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  312. package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  313. package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  314. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
  315. package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  316. package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  317. package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  318. package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  319. package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  320. package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  321. package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  322. package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  323. package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  324. package/dist/gemini/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  325. package/dist/gemini/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  326. package/dist/gemini/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  327. package/dist/gemini/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  328. package/dist/gemini/.agents/skills/jahia-java-security/SKILL.md +0 -84
  329. package/dist/gemini/.agents/skills/jahia-review-java/SKILL.md +0 -131
  330. package/dist/gemini/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  331. package/dist/opencode/.agents/skills/jahia/SKILL.md +0 -144
  332. package/dist/opencode/.agents/skills/jahia-content/SKILL.md +0 -157
  333. package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  334. package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  335. package/dist/opencode/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  336. package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  337. package/dist/opencode/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  338. package/dist/opencode/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  339. package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  340. package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  341. package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +0 -124
  342. package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  343. package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  344. package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  345. package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  346. package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  347. package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  348. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
  349. package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  350. package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  351. package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  352. package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  353. package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  354. package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  355. package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  356. package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  357. package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  358. package/dist/opencode/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  359. package/dist/opencode/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  360. package/dist/opencode/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  361. package/dist/opencode/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  362. package/dist/opencode/.agents/skills/jahia-java-security/SKILL.md +0 -84
  363. package/dist/opencode/.agents/skills/jahia-review-java/SKILL.md +0 -131
  364. package/dist/opencode/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  365. package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +0 -144
  366. package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +0 -157
  367. package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +0 -359
  368. package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +0 -255
  369. package/dist/windsurf/.windsurf/skills/jahia-content-media-upload/SKILL.md +0 -197
  370. package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +0 -231
  371. package/dist/windsurf/.windsurf/skills/jahia-content-organize/SKILL.md +0 -209
  372. package/dist/windsurf/.windsurf/skills/jahia-content-publish/SKILL.md +0 -181
  373. package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +0 -174
  374. package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +0 -226
  375. package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +0 -124
  376. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +0 -52
  377. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +0 -484
  378. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +0 -657
  379. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  380. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +0 -541
  381. package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +0 -265
  382. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +0 -536
  383. package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +0 -110
  384. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +0 -331
  385. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +0 -273
  386. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +0 -218
  387. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +0 -208
  388. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +0 -191
  389. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  390. package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  391. package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  392. package/dist/windsurf/.windsurf/skills/jahia-java-concurrency/SKILL.md +0 -308
  393. package/dist/windsurf/.windsurf/skills/jahia-java-jcr/SKILL.md +0 -153
  394. package/dist/windsurf/.windsurf/skills/jahia-java-osgi/SKILL.md +0 -134
  395. package/dist/windsurf/.windsurf/skills/jahia-java-persistence/SKILL.md +0 -177
  396. package/dist/windsurf/.windsurf/skills/jahia-java-security/SKILL.md +0 -84
  397. package/dist/windsurf/.windsurf/skills/jahia-review-java/SKILL.md +0 -131
  398. package/dist/windsurf/.windsurf/skills/jahia-review-java/references/code-review-output.md +0 -121
@@ -1,657 +0,0 @@
1
- # Jahia GraphQL API Reference
2
-
3
- ## Table of contents
4
- 1. [Endpoint and transport](#endpoint-and-transport)
5
- 2. [Authentication and authorization](#authentication-and-authorization)
6
- 3. [Workspaces and internationalization](#workspaces-and-internationalization)
7
- 4. [JCR queries](#jcr-queries)
8
- 5. [JCR mutations](#jcr-mutations)
9
- 6. [Pagination (Connection pattern)](#pagination-connection-pattern)
10
- 7. [Field filtering and sorting](#field-filtering-and-sorting)
11
- 8. [Extending the schema — SDL](#extending-the-schema--sdl)
12
- 9. [Extending the schema — Java](#extending-the-schema--java)
13
- 10. [Apollo client setup](#apollo-client-setup)
14
- 11. [CORS and OSGi configuration](#cors-and-osgi-configuration)
15
- 12. [GraphQL playground](#graphql-playground)
16
- 13. [Introspection access control](#introspection-access-control)
17
-
18
- ---
19
-
20
- ## Endpoint and transport
21
-
22
- ```
23
- POST /modules/graphql
24
- Content-Type: application/json
25
- Accept: application/json
26
- Body: { "query": "...", "variables": { ... } }
27
- ```
28
-
29
- GraphQL is the preferred API for client-side applications in Jahia 8.2. The implementation is based on `graphql-java` with a JCR extension (`graphql-dxm-provider`).
30
-
31
- From a view (JSP), you can call it with plain XHR:
32
-
33
- ```javascript
34
- var xhr = new XMLHttpRequest();
35
- xhr.responseType = 'json';
36
- xhr.open("POST", "/modules/graphql");
37
- xhr.setRequestHeader("Content-Type", "application/json");
38
- xhr.setRequestHeader("Accept", "application/json");
39
- xhr.send(JSON.stringify({ query: '{ jcr { nodeByPath(path: "/sites/mySite") { name } } }' }));
40
- ```
41
-
42
- ---
43
-
44
- ## Authentication and authorization
45
-
46
- The GraphQL endpoint is **closed by default** to external callers. Access is granted through the security filter module.
47
-
48
- **For a scoped token (recommended):**
49
-
50
- 1. Create a scope config in `digital-factory-data/karaf/etc/org.jahia.bundles.api.authorization-myapp.yml`:
51
-
52
- ```yaml
53
- myapp:
54
- description: Access for myapp
55
- grants:
56
- - api: graphql
57
- node:
58
- pathPattern: /,/sites/mysite(/.*)?
59
- nodeType: jnt:news,jnt:contentFolder
60
- ```
61
-
62
- 2. Pass a personal API token in the `Authorization` header:
63
-
64
- ```
65
- Authorization: APIToken <token>
66
- ```
67
-
68
- **For same-origin browser requests**, auto-apply the scope:
69
-
70
- ```yaml
71
- myapp:
72
- auto_apply:
73
- - origin: hosted
74
- grants:
75
- - api: graphql
76
- ```
77
-
78
- **Field-level permission checks** can be added in `org.jahia.modules.graphql.provider-*.cfg`:
79
-
80
- ```properties
81
- # Restrict nodesByQuery to users with graphQLNodesByQueryPermission on root
82
- permission.JCRQuery.nodesByQuery=graphQLNodesByQueryPermission
83
- # Restrict to a specific node path
84
- permission.JCRQuery.nodesByQuery=graphQLNodesByQueryPermission/sites/mySite/content
85
- ```
86
-
87
- Or in Java using the annotation `@GraphQLRequiresPermission("<permission>")`.
88
-
89
- The JCR session is derived from the HTTP session, so standard Jahia node permissions apply automatically.
90
-
91
- ---
92
-
93
- ## Workspaces and internationalization
94
-
95
- Every JCR query or mutation must be wrapped in a `jcr` block specifying the workspace:
96
-
97
- ```graphql
98
- {
99
- jcr(workspace: LIVE) { # LIVE or EDIT (default is EDIT)
100
- nodeByPath(path: "/sites/digitall/home") {
101
- displayName(language: "en")
102
- displayName_fr: displayName(language: "fr")
103
- }
104
- }
105
- }
106
- ```
107
-
108
- Unlike the REST API, GraphQL has **no global locale** on the session — you pass `language:` per field. A query can retrieve English and French properties in the same call.
109
-
110
- The `validInLanguage` parameter (graphql-dxm-provider 2.10.0+) filters out nodes that have no content in the specified language:
111
-
112
- ```graphql
113
- jcr {
114
- nodeByPath(path: "/sites/digitall/home", validInLanguage: "fr") { name }
115
- }
116
- ```
117
-
118
- ---
119
-
120
- ## JCR queries
121
-
122
- ### Top-level query fields
123
-
124
- ```graphql
125
- extends type Query {
126
- jcr(workspace: Workspace): JCRQuery
127
- }
128
-
129
- type JCRQuery {
130
- nodeById(uuid: String!): JCRNode!
131
- nodeByPath(path: String!): JCRNode!
132
- nodesById(uuids: [String!]!): [JCRNode]!
133
- nodesByPath(paths: [String!]!): [JCRNode]!
134
- nodesByQuery(query: String!, queryLanguage: QueryLanguage = SQL2, ...connection args...): JCRNodeConnection
135
- nodesByCriteria(criteria: InputGqlJcrNodeCriteriaInput!, ...connection args...): JCRNodeConnection
136
- }
137
- ```
138
-
139
- ### Get a node and its properties
140
-
141
- ```graphql
142
- query highlight {
143
- jcr {
144
- nodeByPath(path: "/sites/digitall/home/area-main/highlights/our-companies") {
145
- title: property(language: "en", name: "jcr:title") { value }
146
- description: property(language: "en", name: "description") { value }
147
- internalLink: property(language: "en", name: "internalLink") { value }
148
- }
149
- }
150
- }
151
- ```
152
-
153
- ### Get rendered HTML for a node
154
-
155
- ```graphql
156
- query {
157
- jcr {
158
- nodeByPath(path: "/sites/digitall/home/area-main/highlights/our-companies") {
159
- renderedContent(
160
- view: "imgView"
161
- contextConfiguration: "module"
162
- templateType: "html"
163
- requestAttributes: [{name: "someAttribute", value: "someValue"}]
164
- ) { output }
165
- }
166
- }
167
- }
168
- ```
169
-
170
- ### Get all properties
171
-
172
- ```graphql
173
- query {
174
- jcr {
175
- nodeByPath(path: "/sites/digitall") {
176
- properties { name value values }
177
- }
178
- }
179
- }
180
- ```
181
-
182
- ### Children filtered by type and property
183
-
184
- ```graphql
185
- {
186
- jcr(workspace: LIVE) {
187
- nodeByPath(path: "/sites/digitall/home") {
188
- children(
189
- typesFilter: {types: ["jnt:page"]}
190
- propertiesFilter: {filters: [{property: "j:templateName", value: "home"}]}
191
- ) {
192
- nodes {
193
- name
194
- name_en: displayName(language: "en")
195
- createdBy: property(name: "jcr:createdBy") { value }
196
- }
197
- }
198
- }
199
- }
200
- }
201
- ```
202
-
203
- ### Descendants with type filter (paginated)
204
-
205
- ```graphql
206
- query paginatedContents {
207
- jcr {
208
- nodesByPath(paths: ["/sites/digitall/home"]) {
209
- descendants(
210
- first: 3
211
- after: "NTE3ZjE1YmMtZTViYS00YzVkLWIxNmUtMDhiMTgzYTkzMTli"
212
- typesFilter: {types: ["jmix:editorialContent"], multi: ANY}
213
- recursionTypesFilter: {multi: NONE, types: ["jnt:page", "jnt:contentFolder"]}
214
- ) {
215
- edges {
216
- index
217
- cursor
218
- node { displayName path primaryNodeType { displayName(language: "en") } }
219
- }
220
- }
221
- }
222
- }
223
- }
224
- ```
225
-
226
- ### SQL2 query
227
-
228
- ```graphql
229
- {
230
- jcr(workspace: LIVE) {
231
- nodesByQuery(query: "select * from [jnt:page]", offset: 2, limit: 10) {
232
- edges {
233
- index
234
- cursor
235
- node { displayName(language: "en") }
236
- }
237
- }
238
- }
239
- }
240
- ```
241
-
242
- ### Structured criteria query (alternative to SQL2)
243
-
244
- ```graphql
245
- query {
246
- jcr {
247
- nodesByCriteria(criteria: {
248
- nodeType: "jnt:bigText"
249
- paths: ["/sites/digitall/home"]
250
- nodeConstraint: { property: "text", contains: "test" }
251
- }) {
252
- nodes { uuid }
253
- }
254
- }
255
- }
256
- # Equivalent SQL2: SELECT * FROM [jnt:bigText] WHERE ISDESCENDANTNODE("/sites/digitall/home") AND text LIKE "%test%"
257
- ```
258
-
259
- ### Publication info
260
-
261
- ```graphql
262
- extend type JCRNode {
263
- aggregatedPublicationInfo(language: String, includesReferences: Boolean, includesSubNodes: Boolean): PublicationInfo
264
- vanityURLs(languages: [String], onlyActive: Boolean, onlyDefault: Boolean): [VanityURL]
265
- lockInfo: LockInfo
266
- }
267
- ```
268
-
269
- ### Count descendants
270
-
271
- ```graphql
272
- query pagesCount {
273
- jcr {
274
- nodeByPath(path: "/sites/digitall") {
275
- descendants(typesFilter: {types: ["jnt:page"]}) {
276
- pageInfo { totalCount }
277
- }
278
- }
279
- }
280
- }
281
- ```
282
-
283
- ---
284
-
285
- ## JCR mutations
286
-
287
- Session save happens automatically at the end of each `mutation { jcr }` block. Use multiple `jcr` blocks for multiple save points.
288
-
289
- ### Rename and set property
290
-
291
- ```graphql
292
- mutation mutationExample {
293
- jcr {
294
- mutateNode(pathOrId: "/sites/digitall/home/corporate-responsibility") {
295
- rename(name: "responsibility")
296
- mutateProperty(name: "j:published") {
297
- setValue(type: BOOLEAN, value: "false")
298
- }
299
- }
300
- modifiedNodes { path }
301
- }
302
- }
303
- ```
304
-
305
- ### Add a node
306
-
307
- ```graphql
308
- mutation {
309
- jcr(workspace: EDIT) {
310
- addNode(
311
- parentPathOrId: "/sites/mySite"
312
- name: "page"
313
- primaryNodeType: "jnt:page"
314
- properties: [
315
- {language: "en", name: "jcr:title", type: STRING, value: "Page"}
316
- {name: "j:templateName", type: STRING, value: "2col"}
317
- ]
318
- ) { uuid }
319
- modifiedNodes { uuid name }
320
- }
321
- }
322
- ```
323
-
324
- ### Update a property
325
-
326
- ```graphql
327
- mutation {
328
- jcr(workspace: EDIT) {
329
- mutateNode(pathOrId: "/sites/mySite/page") {
330
- mutateProperty(name: "j:templateName") {
331
- setValue(type: STRING, value: "3col")
332
- }
333
- }
334
- }
335
- }
336
- ```
337
-
338
- ### Add a mixin
339
-
340
- ```graphql
341
- mutation {
342
- jcr(workspace: EDIT) {
343
- mutateNode(pathOrId: "/sites/mySite/page") {
344
- addMixins(mixins: "jmix:tagged")
345
- }
346
- }
347
- }
348
- ```
349
-
350
- ### Publish a node
351
-
352
- ```graphql
353
- mutation publishContent {
354
- jcr {
355
- mutateNode(pathOrId: "/sites/digitall/home/about") { publish }
356
- }
357
- }
358
- ```
359
-
360
- ### Delete a node
361
-
362
- ```graphql
363
- mutation {
364
- jcr(workspace: EDIT) {
365
- mutateNode(pathOrId: "/sites/mySite/home") { delete }
366
- }
367
- }
368
- ```
369
-
370
- ### Edit OSGi configuration via GraphQL
371
-
372
- ```graphql
373
- mutation {
374
- admin {
375
- jahia {
376
- configuration(pid: "org.jahia.modules.automatedtags.service.impl.AutomatedTagServiceImpl") {
377
- accessKey: value(name: "automated-tags.accessKey", value: "xxxxxx")
378
- endpoint: value(name: "automated-tags.endpoint", value: "https://rekognition.eu-central-1.amazonaws.com")
379
- }
380
- }
381
- }
382
- }
383
- ```
384
-
385
- ### JCRNodeMutation available operations
386
-
387
- - `mutateProperty` / `mutateProperties` → `JCRPropertyMutation` (setValue, addValue, removeValue)
388
- - `addChild` / `addChildrenBatch`
389
- - `mutateChildren` / `mutateDescendants`
390
- - `addMixins` / `removeMixins`
391
- - `move` / `rename`
392
- - `delete` / `markForDeletion` / `unmarkForDeletion`
393
- - `reorderChildren`
394
- - `setPropertiesBatch`
395
- - `lock(type, recursive)` / `unlock(type, recursive, force)`
396
- - `publish(languages)`
397
-
398
- ---
399
-
400
- ## Pagination (Connection pattern)
401
-
402
- Jahia GraphQL follows the [Relay connection spec](https://facebook.github.io/relay/graphql/connections.htm). Any field returning `...Connection` type supports:
403
-
404
- **Arguments**: `first`, `after`, `last`, `before`, `afterOffset`, `beforeOffset`
405
-
406
- **PageInfo type**:
407
-
408
- ```graphql
409
- type PageInfo {
410
- hasNextPage: Boolean!
411
- hasPreviousPage: Boolean!
412
- startCursor: String
413
- endCursor: String
414
- nodesCount: Int # items in current page
415
- totalCount: Int # total items
416
- }
417
- ```
418
-
419
- **Connection and Edge template**:
420
-
421
- ```graphql
422
- type XxxConnection {
423
- edges: [XxxEdge]
424
- pageInfo: PageInfo
425
- nodes: [Xxx] # shortcut for edges { node }
426
- }
427
- type XxxEdge {
428
- node: Xxx
429
- cursor: String
430
- offset: Int
431
- }
432
- ```
433
-
434
- **Important**: `nodesCount` is items in the current page; `totalCount` is the full count. The `nodes` shortcut is non-standard but available on all Jahia connections.
435
-
436
- ---
437
-
438
- ## Field filtering and sorting
439
-
440
- Fields returning Connection or lists accept `fieldFilter` and `fieldSorter`:
441
-
442
- ```graphql
443
- nodesByQuery(
444
- query: "SELECT * FROM [jnt:page]"
445
- fieldFilter: {filters: {evaluation: NOT_EMPTY, fieldName: "node.vanityUrls"}}
446
- fieldSorter: {fieldName: "displayName", sortType: ASC}
447
- ) { ... }
448
- ```
449
-
450
- ---
451
-
452
- ## Extending the schema — SDL
453
-
454
- Place your SDL file at:
455
-
456
- ```
457
- /<module_home>/src/main/resources/META-INF/graphql-extension.sdl
458
- ```
459
-
460
- The filename must be exactly `graphql-extension.sdl`.
461
-
462
- ### SDL example — mapping JCR node types
463
-
464
- ```graphql
465
- extend type Query {
466
- allHotel: [hotel]
467
- hotelByCity: [hotel]
468
- hotelByCityConnection: hotelConnection
469
- }
470
-
471
- type hotel @mapping(node: "jnt:hotel") {
472
- name: String! @mapping(property: "jcr:title")
473
- city: String @mapping(property: "city")
474
- address: String @mapping(property: "address")
475
- country: String @mapping(property: "country")
476
- metadata: Metadata # built-in Jahia composite type
477
- rooms: [Room]
478
- }
479
-
480
- type Room @mapping(node: "jnt:room") {
481
- number: Int! @mapping(property: "roomNo")
482
- specification: String @mapping(property: "description")
483
- available: Boolean @mapping(property: "available")
484
- }
485
- ```
486
-
487
- **Directives**:
488
- - `@mapping(node: "jnt:hotel")` on a type — maps to a JCR node type
489
- - `@mapping(property: "jcr:title")` on a field — maps to a JCR property
490
-
491
- **Common mistakes**:
492
- - Extending a type that doesn't exist (`extend type ParagraphSDL { ... }`) → error
493
- - Mapping to an invalid node type or property → error shown in SDL Report Tool
494
- - `hotelByPropertyConnection` returning a non-list → connection error
495
- - All custom queries **must** use `extend type Query { ... }` not `type Query`
496
-
497
- **Built-in Jahia composite types** (no `@mapping` needed):
498
- - `Metadata` → `{created, createdBy, lastModified, lastModifiedBy, lastPublished, lastPublishedBy}`
499
- - `Asset` → `{type, size, metadata}`
500
- - `ImageAsset` → `{type, size, height, width, metadata}`
501
- - `Category` → `{title, metadata, description}`
502
-
503
- **Auto-generated queries**: For each SDL type, Jahia generates `typeById` and `typeByPath` automatically. Explicitly declare only `ByProperty` queries.
504
-
505
- **Validation**: Check deployment status at **Developer Tools → SDL Report Tool**. Errors appear in red per type or per module.
506
-
507
- ---
508
-
509
- ## Extending the schema — Java
510
-
511
- Implement `DXGraphQLExtensionsProvider` to return annotated Java classes:
512
-
513
- ```java
514
- // Extension class using graphql-java-annotations
515
- @GraphQLName("JCRNodeExtensions")
516
- public class JCRNodeExtensions implements GqlJcrNode {
517
-
518
- @GraphQLRequiresPermission("developer-tools-access")
519
- @GraphQLField
520
- public String myCustomField(@GraphQLName("arg") String arg) {
521
- return "result";
522
- }
523
- }
524
- ```
525
-
526
- Reference implementation: https://github.com/Jahia/graphql-core/tree/master/graphql-extension-example
527
-
528
- ---
529
-
530
- ## Apollo client setup
531
-
532
- ### Package installation
533
-
534
- ```bash
535
- yarn add react-apollo apollo-cache-inmemory apollo-client apollo-link-http graphql
536
- ```
537
-
538
- ### Apollo client with personal API token (TypeScript)
539
-
540
- ```typescript
541
- export const apolloClient = (token: string): ApolloClient<any> => {
542
- return new ApolloClient({
543
- link: new HttpLink({
544
- uri: `${JAHIA_URL}/modules/graphql`,
545
- headers: {
546
- authorization: `APIToken ${token}`
547
- }
548
- }),
549
- cache: new InMemoryCache(),
550
- defaultOptions: {
551
- query: { fetchPolicy: 'no-cache' }
552
- }
553
- });
554
- };
555
- ```
556
-
557
- ### Apollo client with JWT (legacy, deprecated)
558
-
559
- ```javascript
560
- const client = new ApolloClient({
561
- link: new HttpLink({
562
- uri: 'http://localhost:8080/modules/graphql',
563
- headers: { 'Authorization': `Bearer ${JWTDXToken}` }
564
- }),
565
- cache: new InMemoryCache()
566
- });
567
- ```
568
-
569
- ### Apollo query component example
570
-
571
- ```javascript
572
- const COMPANIES_QUERY = gql`
573
- query CompaniesListQuery($language: String) {
574
- jcr(workspace: LIVE) {
575
- nodesByQuery(
576
- query: "SELECT * FROM [jdnt:company] as results WHERE ISDESCENDANTNODE(results, '/sites/digitall/')"
577
- queryLanguage: SQL2
578
- ) {
579
- nodes {
580
- uuid
581
- title: displayName(language: $language)
582
- description: property(name: "overview", language: $language) { value }
583
- thumbnail: property(name: "thumbnail", language: $language) {
584
- url: refNode { path }
585
- }
586
- }
587
- }
588
- }
589
- }
590
- `;
591
- ```
592
-
593
- ---
594
-
595
- ## CORS and OSGi configuration
596
-
597
- **CORS for GraphQL** — create `org.jahia.modules.graphql.provider-myapp.cfg` in `karaf/etc`:
598
-
599
- ```properties
600
- http.cors.allow-origin=http://localhost:3000
601
- ```
602
-
603
- Multiple origins: comma-separated list.
604
-
605
- **Packaging config in a module** — add to `pom.xml`:
606
-
607
- ```xml
608
- <plugin>
609
- <groupId>org.codehaus.mojo</groupId>
610
- <artifactId>build-helper-maven-plugin</artifactId>
611
- <executions>
612
- <execution>
613
- <id>attach-artifacts</id>
614
- <phase>package</phase>
615
- <goals><goal>attach-artifact</goal></goals>
616
- <configuration>
617
- <artifacts>
618
- <artifact>
619
- <file>src/main/resources/META-INF/configurations/org.jahia.modules.graphql.provider-custom.cfg</file>
620
- <type>cfg</type>
621
- <classifier>graphql-cfg</classifier>
622
- </artifact>
623
- </artifacts>
624
- </configuration>
625
- </execution>
626
- </executions>
627
- </plugin>
628
- ```
629
-
630
- The default config is at `/digital-factory-data/karaf/etc/org.jahia.modules.graphql.provider-default.cfg`.
631
-
632
- ---
633
-
634
- ## GraphQL playground
635
-
636
- Access via **Developer Tools → GraphQL** in the Jahia admin UI, or directly:
637
-
638
- ```
639
- http://localhost:8080/jahia/developerTools/graphql-workspace
640
- ```
641
-
642
- Also accessible as Jahia Support Tools: `http://localhost:8080/tools` → **Jahia GraphQL Core Provider: graphql-playground**
643
-
644
- Use the **Docs** panel to browse the schema, including custom SDL types.
645
-
646
- ---
647
-
648
- ## Introspection access control
649
-
650
- Starting with GraphQL Provider 3.5.0, introspection can be restricted to users with `Developer tools access` permission:
651
-
652
- ```properties
653
- # In org.jahia.modules.graphql.provider-*.cfg
654
- introspectionCheckEnabled=true
655
- ```
656
-
657
- When enabled, only authenticated users with the `Developer tools access` server-level permission can run introspection queries. Requires jContent 3.5.0+ when enabled to prevent UI issues.