@jahia/agentic 0.4.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 (373) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/claude/.claude/rules/jahia.md +1 -37
  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-jahia-mixins.md +510 -0
  7. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  8. package/dist/{opencode/.opencode/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  9. package/dist/{opencode/.opencode/agents → claude/.claude/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  10. package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  11. package/dist/claude/.claude/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  12. package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +5 -265
  13. package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +13 -8
  14. package/dist/claude/CLAUDE.md +2 -38
  15. package/dist/codex/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  16. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  17. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  18. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  19. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  20. package/dist/{claude/.claude/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  21. package/dist/{cursor/.cursor/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  22. package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  23. package/dist/codex/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  24. package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  25. package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  26. package/dist/codex/AGENTS.md +2 -38
  27. package/dist/copilot/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  28. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  29. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  30. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  31. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  32. package/dist/{cursor/.cursor/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-numbers-dates.md +32 -1
  33. package/dist/{claude/.claude/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-string-selectors.md +49 -10
  34. package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  35. package/dist/copilot/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  36. package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  37. package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  38. package/dist/copilot/AGENTS.md +2 -38
  39. package/dist/cursor/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  40. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  41. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  42. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  43. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  44. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  45. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  46. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  47. package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  48. package/dist/cursor/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  49. package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  50. package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  51. package/dist/cursor/.cursor/rules/jahia.mdc +1 -37
  52. package/dist/gemini/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  53. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  54. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  55. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  56. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  57. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  58. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  59. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  60. package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  61. package/dist/gemini/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  62. package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  63. package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  64. package/dist/gemini/AGENTS.md +2 -38
  65. package/dist/opencode/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
  66. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  67. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  68. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  69. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  70. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  71. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  72. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  73. package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  74. package/dist/opencode/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  75. package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
  76. package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +13 -8
  77. package/dist/opencode/AGENTS.md +2 -38
  78. package/dist/windsurf/.windsurf/rules/jahia.md +1 -37
  79. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/SKILL.md +94 -0
  80. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
  81. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
  82. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
  83. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
  84. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
  85. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
  86. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
  87. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
  88. package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
  89. package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +5 -265
  90. package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +13 -8
  91. package/dist/windsurf/AGENTS.md +2 -38
  92. package/package.json +1 -1
  93. package/dist/claude/.claude/agents/cnd-jahia-mixins.md +0 -113
  94. package/dist/claude/.claude/agents/jahia-cnd-author.md +0 -130
  95. package/dist/claude/.claude/agents/jahia-dev-worker.md +0 -264
  96. package/dist/claude/.claude/agents/jahia-reviewer.md +0 -105
  97. package/dist/claude/.claude/skills/jahia/SKILL.md +0 -148
  98. package/dist/claude/.claude/skills/jahia-content/SKILL.md +0 -157
  99. package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +0 -359
  100. package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +0 -255
  101. package/dist/claude/.claude/skills/jahia-content-media-upload/SKILL.md +0 -197
  102. package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +0 -231
  103. package/dist/claude/.claude/skills/jahia-content-organize/SKILL.md +0 -209
  104. package/dist/claude/.claude/skills/jahia-content-publish/SKILL.md +0 -181
  105. package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +0 -174
  106. package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +0 -226
  107. package/dist/claude/.claude/skills/jahia-dev/SKILL.md +0 -124
  108. package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +0 -52
  109. package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +0 -484
  110. package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +0 -657
  111. package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  112. package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +0 -541
  113. package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +0 -265
  114. package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  115. package/dist/claude/.claude/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  116. package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +0 -110
  117. package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +0 -331
  118. package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +0 -273
  119. package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +0 -218
  120. package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +0 -208
  121. package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +0 -191
  122. package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  123. package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  124. package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  125. package/dist/claude/.claude/skills/jahia-java-concurrency/SKILL.md +0 -308
  126. package/dist/claude/.claude/skills/jahia-java-jcr/SKILL.md +0 -153
  127. package/dist/claude/.claude/skills/jahia-java-osgi/SKILL.md +0 -134
  128. package/dist/claude/.claude/skills/jahia-java-persistence/SKILL.md +0 -177
  129. package/dist/claude/.claude/skills/jahia-java-security/SKILL.md +0 -84
  130. package/dist/claude/.claude/skills/jahia-orchestrate/SKILL.md +0 -148
  131. package/dist/claude/.claude/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  132. package/dist/claude/.claude/skills/jahia-review-java/SKILL.md +0 -131
  133. package/dist/claude/.claude/skills/jahia-review-java/references/code-review-output.md +0 -121
  134. package/dist/codex/.agents/skills/jahia/SKILL.md +0 -148
  135. package/dist/codex/.agents/skills/jahia-content/SKILL.md +0 -157
  136. package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  137. package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  138. package/dist/codex/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  139. package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  140. package/dist/codex/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  141. package/dist/codex/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  142. package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  143. package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  144. package/dist/codex/.agents/skills/jahia-dev/SKILL.md +0 -124
  145. package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  146. package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  147. package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  148. package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  149. package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  150. package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  151. package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  152. package/dist/codex/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  153. package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  154. package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  155. package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  156. package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  157. package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  158. package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  159. package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  160. package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  161. package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  162. package/dist/codex/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  163. package/dist/codex/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  164. package/dist/codex/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  165. package/dist/codex/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  166. package/dist/codex/.agents/skills/jahia-java-security/SKILL.md +0 -84
  167. package/dist/codex/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  168. package/dist/codex/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  169. package/dist/codex/.agents/skills/jahia-review-java/SKILL.md +0 -131
  170. package/dist/codex/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  171. package/dist/codex/.codex/agents/cnd-child-nodes.toml +0 -3
  172. package/dist/codex/.codex/agents/cnd-jahia-mixins.toml +0 -3
  173. package/dist/codex/.codex/agents/cnd-numbers-dates.toml +0 -3
  174. package/dist/codex/.codex/agents/cnd-string-selectors.toml +0 -3
  175. package/dist/codex/.codex/agents/jahia-cnd-author.toml +0 -3
  176. package/dist/codex/.codex/agents/jahia-dev-worker.toml +0 -3
  177. package/dist/codex/.codex/agents/jahia-reviewer.toml +0 -3
  178. package/dist/copilot/.agents/skills/jahia/SKILL.md +0 -148
  179. package/dist/copilot/.agents/skills/jahia-content/SKILL.md +0 -157
  180. package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  181. package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  182. package/dist/copilot/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  183. package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  184. package/dist/copilot/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  185. package/dist/copilot/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  186. package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  187. package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  188. package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +0 -124
  189. package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  190. package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  191. package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  192. package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  193. package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  194. package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  195. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  196. package/dist/copilot/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  197. package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  198. package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  199. package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  200. package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  201. package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  202. package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  203. package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  204. package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  205. package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  206. package/dist/copilot/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  207. package/dist/copilot/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  208. package/dist/copilot/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  209. package/dist/copilot/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  210. package/dist/copilot/.agents/skills/jahia-java-security/SKILL.md +0 -84
  211. package/dist/copilot/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  212. package/dist/copilot/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  213. package/dist/copilot/.agents/skills/jahia-review-java/SKILL.md +0 -131
  214. package/dist/copilot/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  215. package/dist/cursor/.agents/skills/jahia/SKILL.md +0 -148
  216. package/dist/cursor/.agents/skills/jahia-content/SKILL.md +0 -157
  217. package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  218. package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  219. package/dist/cursor/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  220. package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  221. package/dist/cursor/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  222. package/dist/cursor/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  223. package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  224. package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  225. package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +0 -124
  226. package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  227. package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  228. package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  229. package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  230. package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  231. package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  232. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  233. package/dist/cursor/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  234. package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  235. package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  236. package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  237. package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  238. package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  239. package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  240. package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  241. package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  242. package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  243. package/dist/cursor/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  244. package/dist/cursor/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  245. package/dist/cursor/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  246. package/dist/cursor/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  247. package/dist/cursor/.agents/skills/jahia-java-security/SKILL.md +0 -84
  248. package/dist/cursor/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  249. package/dist/cursor/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  250. package/dist/cursor/.agents/skills/jahia-review-java/SKILL.md +0 -131
  251. package/dist/cursor/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  252. package/dist/cursor/.cursor/agents/cnd-jahia-mixins.md +0 -113
  253. package/dist/cursor/.cursor/agents/jahia-cnd-author.md +0 -130
  254. package/dist/cursor/.cursor/agents/jahia-dev-worker.md +0 -264
  255. package/dist/cursor/.cursor/agents/jahia-reviewer.md +0 -105
  256. package/dist/gemini/.agents/skills/jahia/SKILL.md +0 -148
  257. package/dist/gemini/.agents/skills/jahia-content/SKILL.md +0 -157
  258. package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  259. package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  260. package/dist/gemini/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  261. package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  262. package/dist/gemini/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  263. package/dist/gemini/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  264. package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  265. package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  266. package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +0 -124
  267. package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  268. package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  269. package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  270. package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  271. package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  272. package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  273. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  274. package/dist/gemini/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  275. package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  276. package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  277. package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  278. package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  279. package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  280. package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  281. package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  282. package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  283. package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  284. package/dist/gemini/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  285. package/dist/gemini/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  286. package/dist/gemini/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  287. package/dist/gemini/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  288. package/dist/gemini/.agents/skills/jahia-java-security/SKILL.md +0 -84
  289. package/dist/gemini/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  290. package/dist/gemini/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  291. package/dist/gemini/.agents/skills/jahia-review-java/SKILL.md +0 -131
  292. package/dist/gemini/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  293. package/dist/opencode/.agents/skills/jahia/SKILL.md +0 -148
  294. package/dist/opencode/.agents/skills/jahia-content/SKILL.md +0 -157
  295. package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
  296. package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
  297. package/dist/opencode/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
  298. package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
  299. package/dist/opencode/.agents/skills/jahia-content-organize/SKILL.md +0 -209
  300. package/dist/opencode/.agents/skills/jahia-content-publish/SKILL.md +0 -181
  301. package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
  302. package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
  303. package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +0 -124
  304. package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
  305. package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
  306. package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
  307. package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  308. package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +0 -541
  309. package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
  310. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  311. package/dist/opencode/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  312. package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +0 -110
  313. package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +0 -331
  314. package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
  315. package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +0 -218
  316. package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
  317. package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
  318. package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  319. package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  320. package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  321. package/dist/opencode/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
  322. package/dist/opencode/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
  323. package/dist/opencode/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
  324. package/dist/opencode/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
  325. package/dist/opencode/.agents/skills/jahia-java-security/SKILL.md +0 -84
  326. package/dist/opencode/.agents/skills/jahia-orchestrate/SKILL.md +0 -148
  327. package/dist/opencode/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  328. package/dist/opencode/.agents/skills/jahia-review-java/SKILL.md +0 -131
  329. package/dist/opencode/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
  330. package/dist/opencode/.opencode/agents/cnd-jahia-mixins.md +0 -113
  331. package/dist/opencode/.opencode/agents/jahia-cnd-author.md +0 -130
  332. package/dist/opencode/.opencode/agents/jahia-dev-worker.md +0 -264
  333. package/dist/opencode/.opencode/agents/jahia-reviewer.md +0 -105
  334. package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +0 -148
  335. package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +0 -157
  336. package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +0 -359
  337. package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +0 -255
  338. package/dist/windsurf/.windsurf/skills/jahia-content-media-upload/SKILL.md +0 -197
  339. package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +0 -231
  340. package/dist/windsurf/.windsurf/skills/jahia-content-organize/SKILL.md +0 -209
  341. package/dist/windsurf/.windsurf/skills/jahia-content-publish/SKILL.md +0 -181
  342. package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +0 -174
  343. package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +0 -226
  344. package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +0 -124
  345. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +0 -52
  346. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +0 -484
  347. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +0 -657
  348. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +0 -465
  349. package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +0 -541
  350. package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +0 -265
  351. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +0 -93
  352. package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/references/modeling-decisions.md +0 -52
  353. package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +0 -110
  354. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +0 -331
  355. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +0 -273
  356. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +0 -218
  357. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +0 -208
  358. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +0 -191
  359. package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +0 -344
  360. package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +0 -297
  361. package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +0 -559
  362. package/dist/windsurf/.windsurf/skills/jahia-java-concurrency/SKILL.md +0 -308
  363. package/dist/windsurf/.windsurf/skills/jahia-java-jcr/SKILL.md +0 -153
  364. package/dist/windsurf/.windsurf/skills/jahia-java-osgi/SKILL.md +0 -134
  365. package/dist/windsurf/.windsurf/skills/jahia-java-persistence/SKILL.md +0 -177
  366. package/dist/windsurf/.windsurf/skills/jahia-java-security/SKILL.md +0 -84
  367. package/dist/windsurf/.windsurf/skills/jahia-orchestrate/SKILL.md +0 -148
  368. package/dist/windsurf/.windsurf/skills/jahia-orchestrate/scripts/verify-pages.mjs +0 -59
  369. package/dist/windsurf/.windsurf/skills/jahia-review-java/SKILL.md +0 -131
  370. package/dist/windsurf/.windsurf/skills/jahia-review-java/references/code-review-output.md +0 -121
  371. /package/dist/claude/.claude/{agents → skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
  372. /package/dist/{cursor/.cursor/agents → codex/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
  373. /package/dist/{opencode/.opencode/agents → copilot/.agents/skills/jahia-cnd-author/references}/cnd-child-nodes.md +0 -0
@@ -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.