ecoportal-api-graphql 1.3.13 → 1.3.16

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 (275) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +87 -0
  3. data/lib/ecoportal/api/common/graphql/client.rb +0 -2
  4. data/lib/ecoportal/api/common/graphql/http_client.rb +6 -0
  5. data/lib/ecoportal/api/graphql/base/ai_summary_version.rb +17 -17
  6. data/lib/ecoportal/api/graphql/base/file_container.rb +14 -14
  7. data/lib/ecoportal/api/graphql/base/location_classification_type.rb +15 -15
  8. data/lib/ecoportal/api/graphql/base/location_structure.rb +27 -27
  9. data/lib/ecoportal/api/graphql/base/organization.rb +15 -15
  10. data/lib/ecoportal/api/graphql/base/page/task.rb +24 -0
  11. data/lib/ecoportal/api/graphql/base/page.rb +17 -16
  12. data/lib/ecoportal/api/graphql/base/template.rb +35 -0
  13. data/lib/ecoportal/api/graphql/base.rb +37 -35
  14. data/lib/ecoportal/api/graphql/builder/contractor_entity.rb +41 -41
  15. data/lib/ecoportal/api/graphql/compat/response.rb +35 -35
  16. data/lib/ecoportal/api/graphql/connection/action.rb +11 -11
  17. data/lib/ecoportal/api/graphql/connection/action_category.rb +11 -11
  18. data/lib/ecoportal/api/graphql/connection/contractor_entity.rb +11 -11
  19. data/lib/ecoportal/api/graphql/connection/page.rb +11 -11
  20. data/lib/ecoportal/api/graphql/connection/person_member.rb +11 -11
  21. data/lib/ecoportal/api/graphql/connection/preview_page.rb +11 -11
  22. data/lib/ecoportal/api/graphql/connection.rb +17 -17
  23. data/lib/ecoportal/api/graphql/file_upload/client.rb +21 -10
  24. data/lib/ecoportal/api/graphql/fragment/field_configuration.rb +38 -0
  25. data/lib/ecoportal/api/graphql/fragment/force.rb +14 -10
  26. data/lib/ecoportal/api/graphql/fragment/location_node.rb +26 -26
  27. data/lib/ecoportal/api/graphql/fragment/page_task.rb +39 -0
  28. data/lib/ecoportal/api/graphql/fragment/template.rb +51 -0
  29. data/lib/ecoportal/api/graphql/fragment.rb +3 -0
  30. data/lib/ecoportal/api/graphql/input/contractor_entity.rb +14 -14
  31. data/lib/ecoportal/api/graphql/input/preset_view/update.rb +16 -16
  32. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage.rb +18 -18
  33. data/lib/ecoportal/api/graphql/input/workflow_command/edit_field_configuration.rb +21 -21
  34. data/lib/ecoportal/api/graphql/input/workflow_command/edit_page.rb +28 -28
  35. data/lib/ecoportal/api/graphql/input/workflow_command/edit_page_creator_permissions.rb +18 -18
  36. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/cross_reference.rb +23 -23
  37. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/date.rb +20 -20
  38. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/image_gallery.rb +20 -20
  39. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/people.rb +24 -24
  40. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/plain_text.rb +20 -20
  41. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/rich_text.rb +20 -20
  42. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/select.rb +20 -20
  43. data/lib/ecoportal/api/graphql/input/workflow_command/move_field.rb +18 -18
  44. data/lib/ecoportal/api/graphql/input/workflow_command/reorder_forces.rb +18 -18
  45. data/lib/ecoportal/api/graphql/input/workflow_command/reorder_section.rb +18 -18
  46. data/lib/ecoportal/api/graphql/input/workflow_command.rb +251 -251
  47. data/lib/ecoportal/api/graphql/input.rb +24 -24
  48. data/lib/ecoportal/api/graphql/logic/connection.rb +34 -34
  49. data/lib/ecoportal/api/graphql/model/page/task.rb +16 -0
  50. data/lib/ecoportal/api/graphql/model/page.rb +16 -15
  51. data/lib/ecoportal/api/graphql/model/person_member.rb +15 -15
  52. data/lib/ecoportal/api/graphql/model/template.rb +15 -0
  53. data/lib/ecoportal/api/graphql/model.rb +32 -30
  54. data/lib/ecoportal/api/graphql/mutation/ai_summary/generate.rb +45 -45
  55. data/lib/ecoportal/api/graphql/mutation/ai_summary/submit_feedback.rb +40 -40
  56. data/lib/ecoportal/api/graphql/mutation/contractor_entity.rb +14 -14
  57. data/lib/ecoportal/api/graphql/mutation/page/approve_review_task.rb +40 -40
  58. data/lib/ecoportal/api/graphql/mutation/page/batch_update_review_task.rb +38 -40
  59. data/lib/ecoportal/api/graphql/mutation/page/create_draft.rb +38 -40
  60. data/lib/ecoportal/api/graphql/mutation/page/delete_draft.rb +38 -40
  61. data/lib/ecoportal/api/graphql/mutation/page/execute_force_commands.rb +7 -7
  62. data/lib/ecoportal/api/graphql/mutation/page/execute_workflow_commands.rb +8 -7
  63. data/lib/ecoportal/api/graphql/mutation/page/publish_draft.rb +38 -40
  64. data/lib/ecoportal/api/graphql/mutation/page/reject_review_task.rb +40 -40
  65. data/lib/ecoportal/api/graphql/mutation/page/restart_review_task.rb +40 -40
  66. data/lib/ecoportal/api/graphql/mutation/page/undo_review_task.rb +40 -40
  67. data/lib/ecoportal/api/graphql/mutation/preset_view/destroy.rb +34 -35
  68. data/lib/ecoportal/api/graphql/mutation/register/destroy.rb +35 -35
  69. data/lib/ecoportal/api/graphql/mutation/smart_fill/generate.rb +36 -36
  70. data/lib/ecoportal/api/graphql/mutation/smart_fill/submit_feedback.rb +40 -40
  71. data/lib/ecoportal/api/graphql/mutation/smart_fill.rb +13 -13
  72. data/lib/ecoportal/api/graphql/mutation/template/create_related_page.rb +46 -46
  73. data/lib/ecoportal/api/graphql/mutation/template/destroy_related_page.rb +1 -1
  74. data/lib/ecoportal/api/graphql/mutation/template/update_information.rb +1 -1
  75. data/lib/ecoportal/api/graphql/mutation.rb +20 -20
  76. data/lib/ecoportal/api/graphql/payload/contractor_entity.rb +14 -14
  77. data/lib/ecoportal/api/graphql/payload/ok_payload.rb +36 -21
  78. data/lib/ecoportal/api/graphql/payload/page/draft.rb +26 -13
  79. data/lib/ecoportal/api/graphql/payload/page/review_task.rb +13 -13
  80. data/lib/ecoportal/api/graphql/payload/page/review_task_batch.rb +23 -0
  81. data/lib/ecoportal/api/graphql/payload/page.rb +20 -19
  82. data/lib/ecoportal/api/graphql/payload/preset_view.rb +15 -11
  83. data/lib/ecoportal/api/graphql/payload/register.rb +15 -11
  84. data/lib/ecoportal/api/graphql/payload/template/create_related_page.rb +1 -1
  85. data/lib/ecoportal/api/graphql/payload/template/destroy_related_page.rb +1 -1
  86. data/lib/ecoportal/api/graphql/payload/template/update_information.rb +1 -1
  87. data/lib/ecoportal/api/graphql/payload.rb +23 -23
  88. data/lib/ecoportal/api/graphql/query/location_structures.rb +57 -57
  89. data/lib/ecoportal/api/graphql/query/page.rb +45 -45
  90. data/lib/ecoportal/api/graphql/query/page_with_forces.rb +9 -3
  91. data/lib/ecoportal/api/graphql/query/pages_workflow_commands.rb +9 -3
  92. data/lib/ecoportal/api/graphql/query/register_preset_views.rb +78 -78
  93. data/lib/ecoportal/api/graphql/query.rb +27 -27
  94. data/lib/ecoportal/api/graphql.rb +9 -5
  95. data/lib/ecoportal/api/graphql_version.rb +1 -1
  96. metadata +9 -180
  97. data/.ai-assistance/bridge/CLAUDE.md +0 -338
  98. data/.ai-assistance/bridge/archive/.gitkeep +0 -0
  99. data/.ai-assistance/bridge/archive/oscar-a1b2c3d-gitlab-mcp-doc-update.inbox.md +0 -29
  100. data/.ai-assistance/bridge/archive/oscar-a1b2c3d-gitlab-mcp-doc-update.outbox.md +0 -18
  101. data/.ai-assistance/bridge/archive/oscar-c912c25-gemini-design-review.inbox.md +0 -42
  102. data/.ai-assistance/bridge/archive/oscar-c912c25-gemini-design-review.outbox.md +0 -115
  103. data/.ai-assistance/bridge/context/gemini-review-prompt.txt +0 -48
  104. data/.ai-assistance/bridge/context/gemini-review-response.md +0 -104
  105. data/.ai-assistance/bridge/context/project.md +0 -42
  106. data/.ai-assistance/bridge/inbox/.gitkeep +0 -0
  107. data/.ai-assistance/bridge/outbox/.gitkeep +0 -0
  108. data/.ai-assistance/bridge/outbox/request-for-standards-discovery.md +0 -48
  109. data/.ai-assistance/bridge/queue/.gitkeep +0 -1
  110. data/.ai-assistance/capabilities/CLAUDE.md +0 -27
  111. data/.ai-assistance/capabilities/assumptions-log.md +0 -80
  112. data/.ai-assistance/capabilities/code.md +0 -47
  113. data/.ai-assistance/capabilities/connectors.md +0 -37
  114. data/.ai-assistance/capabilities/cowork.md +0 -55
  115. data/.ai-assistance/code/OVERVIEW.md +0 -155
  116. data/.ai-assistance/code/data_fields.md +0 -242
  117. data/.ai-assistance/code/dependencies.md +0 -151
  118. data/.ai-assistance/code/diff_as_input.md +0 -234
  119. data/.ai-assistance/code/diff_pairing_engine.md +0 -243
  120. data/.ai-assistance/code/diff_service_deep_dive.md +0 -192
  121. data/.ai-assistance/code/ecoPortal_architecture/00_overview_and_index.md +0 -55
  122. data/.ai-assistance/code/ecoPortal_architecture/01_terminology_dictionary.md +0 -181
  123. data/.ai-assistance/code/ecoPortal_architecture/02_data_model.md +0 -192
  124. data/.ai-assistance/code/ecoPortal_architecture/03_api_layers.md +0 -147
  125. data/.ai-assistance/code/ecoPortal_architecture/04_graphql_queries_mutations.md +0 -277
  126. data/.ai-assistance/code/ecoPortal_architecture/05_page_workflows.md +0 -200
  127. data/.ai-assistance/code/ecoPortal_architecture/06_search_and_filters.md +0 -228
  128. data/.ai-assistance/code/ecoPortal_architecture/07_data_fields.md +0 -197
  129. data/.ai-assistance/code/ecoPortal_architecture/08_stages_sections.md +0 -243
  130. data/.ai-assistance/code/ecoPortal_architecture/09_people_contractors_locations.md +0 -196
  131. data/.ai-assistance/code/ecoPortal_architecture/10_forces_workflow_builder.md +0 -132
  132. data/.ai-assistance/code/ecoPortal_architecture/11_integration_gems.md +0 -187
  133. data/.ai-assistance/code/ecoPortal_architecture/12_ai_documentation_sources_gaps.md +0 -236
  134. data/.ai-assistance/code/ecoPortal_architecture/13_ai_infrastructure.md +0 -183
  135. data/.ai-assistance/code/ecoportal_schema_reference.md +0 -240
  136. data/.ai-assistance/code/filter_contract_matrix.md +0 -177
  137. data/.ai-assistance/code/graphql_domain_knowledge.md +0 -240
  138. data/.ai-assistance/code/refactoring/datafield-readwrite-shape-asymmetry.md +0 -71
  139. data/.ai-assistance/code/refactoring/opportunities.md +0 -251
  140. data/.ai-assistance/code/schema_analysis.md +0 -321
  141. data/.ai-assistance/code/search_filters.md +0 -868
  142. data/.ai-assistance/code/spec_coverage.md +0 -73
  143. data/.ai-assistance/code/template_diff_pairing_domain.md +0 -175
  144. data/.ai-assistance/code/workflow-command-guide.md +0 -466
  145. data/.ai-assistance/code/workflow-space.md +0 -353
  146. data/.ai-assistance/conventions/CLAUDE.md +0 -30
  147. data/.ai-assistance/conventions/code-working-tree-protocol.md +0 -199
  148. data/.ai-assistance/conventions/gitignore-rules.md +0 -42
  149. data/.ai-assistance/conventions/permission-guidance.md +0 -120
  150. data/.ai-assistance/integrations/README.md +0 -70
  151. data/.ai-assistance/integrations/gitkraken-mcp.md +0 -107
  152. data/.ai-assistance/integrations/gitlab-mcp.md +0 -123
  153. data/.ai-assistance/integrations/local-git.md +0 -60
  154. data/.ai-assistance/local_paths.example.md +0 -17
  155. data/.ai-assistance/projects/TODO.md +0 -118
  156. data/.ai-assistance/projects/api-v2-to-graphql-migration/DECISIONS.md +0 -168
  157. data/.ai-assistance/projects/api-v2-to-graphql-migration/INTENT.md +0 -60
  158. data/.ai-assistance/projects/api-v2-to-graphql-migration/TODO.md +0 -267
  159. data/.ai-assistance/projects/api-v2-to-graphql-migration/UPSTREAM.md +0 -53
  160. data/.ai-assistance/projects/api-v2-to-graphql-migration/notes/csv-template-pipeline-design.md +0 -102
  161. data/.ai-assistance/projects/api-v2-to-graphql-migration/notes/cutover-usecase-gap-audit.md +0 -139
  162. data/.ai-assistance/projects/compat-layer-audit/COMPAT_AUDIT.md +0 -244
  163. data/.ai-assistance/projects/dynamic-model-generation/INTENT.md +0 -93
  164. data/.ai-assistance/projects/eco-helpers-compat/INTENT.md +0 -244
  165. data/.ai-assistance/projects/eco-helpers-compat/MIGRATION_GUIDE.md +0 -266
  166. data/.ai-assistance/projects/eco-helpers-compat/TODO.md +0 -86
  167. data/.ai-assistance/projects/ecoportal-api-v2-doublemodel-review/INTENT.md +0 -101
  168. data/.ai-assistance/projects/graphql-agent/GAP_ANALYSIS.md +0 -177
  169. data/.ai-assistance/projects/ooze-graphql-native-migration/DECISIONS.md +0 -161
  170. data/.ai-assistance/projects/ooze-graphql-native-migration/INTENT.md +0 -125
  171. data/.ai-assistance/projects/ooze-graphql-native-migration/INVENTORY.md +0 -136
  172. data/.ai-assistance/projects/ooze-graphql-native-migration/RISKS.md +0 -126
  173. data/.ai-assistance/projects/ooze-graphql-native-migration/TODO.md +0 -261
  174. data/.ai-assistance/projects/ooze-graphql-native-migration/analysis/2026-06-30-cutover-workflow-deep-review.md +0 -122
  175. data/.ai-assistance/projects/ooze-graphql-native-migration/analysis/2026-07-01-forces-via-workflow-commands-miss-rca.md +0 -148
  176. data/.ai-assistance/projects/page-model/DECISIONS.md +0 -245
  177. data/.ai-assistance/projects/page-model/TODO.md +0 -190
  178. data/.ai-assistance/projects/qa-services-delivery/DECISIONS.md +0 -93
  179. data/.ai-assistance/projects/qa-services-delivery/INTENT.md +0 -76
  180. data/.ai-assistance/projects/qa-services-delivery/PHASE3-SCOPE.md +0 -115
  181. data/.ai-assistance/projects/qa-services-delivery/ROADMAP.md +0 -99
  182. data/.ai-assistance/projects/qa-services-delivery/TODO.md +0 -81
  183. data/.ai-assistance/projects/search-filter-builder/INTENT.md +0 -107
  184. data/.ai-assistance/projects/search-filter-builder/TODO.md +0 -131
  185. data/.ai-assistance/projects/template-automatic-build-maintenance/INTENT.md +0 -87
  186. data/.ai-assistance/projects/template-automatic-build-maintenance/TODO.md +0 -108
  187. data/.ai-assistance/projects/template-diff-deploy/INTENT.md +0 -12
  188. data/.ai-assistance/projects/template-diff-deploy/TODO.md +0 -9
  189. data/.ai-assistance/projects/template-maintenance/DESIGN.md +0 -134
  190. data/.ai-assistance/projects/template-maintenance/PHASE0-FINDINGS.md +0 -93
  191. data/.ai-assistance/projects/template-maintenance/README.md +0 -14
  192. data/.ai-assistance/projects/template-model-logic/CATEGORY_CATALOG.md +0 -236
  193. data/.ai-assistance/projects/template-model-logic/CLASSIFICATION_SPIKE.md +0 -243
  194. data/.ai-assistance/projects/template-model-logic/DESIGN_NOTE.md +0 -154
  195. data/.ai-assistance/projects/workflow-space/TODO.md +0 -213
  196. data/.ai-assistance/reinstall-claude-desktop-windows.md +0 -136
  197. data/.ai-assistance/scripts/CLAUDE.md +0 -150
  198. data/.ai-assistance/scripts/bridge-inbox-check.sh +0 -75
  199. data/.ai-assistance/scripts/bridge-init.sh +0 -86
  200. data/.ai-assistance/scripts/bridge-status.sh +0 -44
  201. data/.ai-assistance/scripts/capabilities-check.ts +0 -104
  202. data/.ai-assistance/scripts/check-outbox.sh +0 -43
  203. data/.ai-assistance/scripts/dep_graph.rb +0 -91
  204. data/.ai-assistance/scripts/lock-acquire.sh +0 -103
  205. data/.ai-assistance/scripts/lock-multi.sh +0 -124
  206. data/.ai-assistance/scripts/lock-queue.sh +0 -94
  207. data/.ai-assistance/scripts/setup-mcps.test.ts +0 -188
  208. data/.ai-assistance/scripts/setup-mcps.ts +0 -234
  209. data/.ai-assistance/scripts/task-complete.ts +0 -74
  210. data/.ai-assistance/scripts/task-create.ts +0 -75
  211. data/.ai-assistance/scripts/task-read.ts +0 -125
  212. data/.ai-assistance/scripts/token-logger.js +0 -220
  213. data/.ai-assistance/scripts/token-report.ts +0 -158
  214. data/.ai-assistance/scripts/token-session-start.js +0 -66
  215. data/.ai-assistance/skills/ai-instructions/SKILL.md +0 -48
  216. data/.ai-assistance/skills/code-specs/SKILL.md +0 -69
  217. data/.ai-assistance/skills/corporate-policies/SKILL.md +0 -201
  218. data/.ai-assistance/skills/dep-graph/SKILL.md +0 -139
  219. data/.ai-assistance/skills/ep-ai-manager/SKILL.md +0 -417
  220. data/.ai-assistance/skills/gemini-assist/SKILL.md +0 -63
  221. data/.ai-assistance/skills/gemini-assist/gemini-mcp-server.js +0 -205
  222. data/.ai-assistance/skills/gemini-assist/gemini_ask.py +0 -1
  223. data/.ai-assistance/skills/gemini-assist/gemini_ask.rb +0 -240
  224. data/.ai-assistance/skills/gemini-assist/prompts/cycle_end_review.txt +0 -25
  225. data/.ai-assistance/skills/graphql-schema-analysis/SKILL.md +0 -261
  226. data/.ai-assistance/skills/procedural-memory/SKILL.md +0 -319
  227. data/.ai-assistance/skills/project-cycle/SKILL.md +0 -177
  228. data/.ai-assistance/skills/project-self-docs/SKILL.md +0 -181
  229. data/.ai-assistance/skills/project-self-docs/scripts/self_docs_scan.py +0 -378
  230. data/.ai-assistance/skills/refactor/SKILL.md +0 -62
  231. data/.ai-assistance/skills/rubocop/SKILL.md +0 -93
  232. data/.ai-assistance/skills/ruby-scripting/SKILL.md +0 -215
  233. data/.ai-assistance/skills/spec-generation/SKILL.md +0 -72
  234. data/.ai-assistance/standards-version.json +0 -22
  235. data/.ai-assistance/token-budget.json +0 -32
  236. data/.ai-assistance/version.json +0 -39
  237. data/.claude/settings.json +0 -150
  238. data/.env.example +0 -18
  239. data/.gitattributes +0 -15
  240. data/.gitignore +0 -37
  241. data/.gitlab-ci.yml +0 -45
  242. data/.markdownlint.json +0 -4
  243. data/.rspec +0 -3
  244. data/.rubocop.yml +0 -121
  245. data/.ruby-version +0 -1
  246. data/.yardopts +0 -10
  247. data/CLAUDE.md +0 -243
  248. data/Gemfile +0 -30
  249. data/Rakefile +0 -90
  250. data/bin/console +0 -14
  251. data/bin/setup +0 -8
  252. data/bin/setup.ps1 +0 -6
  253. data/docs/self-docs/ARCHITECTURE.md +0 -88
  254. data/docs/self-docs/CHANGES.jsonl +0 -12
  255. data/docs/self-docs/COMPLIANCE.md +0 -79
  256. data/docs/self-docs/CONVENTIONS.md +0 -74
  257. data/docs/self-docs/INTEGRATIONS.md +0 -65
  258. data/docs/self-docs/OPERATIONS.md +0 -76
  259. data/docs/self-docs/OVERVIEW.md +0 -64
  260. data/docs/self-docs/STATUS.md +0 -73
  261. data/docs/self-docs/self-docs-index.json +0 -51
  262. data/docs/worklog.md +0 -977
  263. data/ecoportal-api-graphql.gemspec +0 -40
  264. data/scripts/auto-worker-scheduler.sh +0 -386
  265. data/tests/actions_get.rb +0 -7
  266. data/tests/contractor_entities_get.rb +0 -20
  267. data/tests/contractor_entity_create.rb +0 -19
  268. data/tests/contractor_entity_udpate.rb +0 -20
  269. data/tests/dump_page_model.rb +0 -74
  270. data/tests/dump_template_model.rb +0 -90
  271. data/tests/loc_structure_get.rb +0 -10
  272. data/tests/loc_structure_update.rb +0 -51
  273. data/tests/loc_structures_get.rb +0 -15
  274. data/tests/local_libs.rb +0 -20
  275. data/tests/validate_queries.rb +0 -127
@@ -1,40 +1,38 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Mutation
5
- module Page
6
- class DeleteDraft < Logic::Mutation
7
- field_name :deleteDraftPage
8
-
9
- class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::Draft'
10
- class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::DeleteDraft'
11
-
12
- private
13
-
14
- def basic_block(&block)
15
- payload_block = block || default_payload_block
16
- proc {
17
- mutation(input: :DeleteDraftPageInput!) {
18
- deleteDraftPage(input: :input, &payload_block)
19
- }
20
- }
21
- end
22
-
23
- def default_payload_block
24
- proc {
25
- clientMutationId
26
- errors {
27
- details
28
- fullMessages
29
- }
30
- item {
31
- spread :PageFields
32
- }
33
- }
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module Page
6
+ class DeleteDraft < Logic::Mutation
7
+ field_name :deleteDraftPage
8
+
9
+ class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::Draft'
10
+ class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::DeleteDraft'
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ proc {
17
+ mutation(input: :DeleteDraftPageInput!) {
18
+ deleteDraftPage(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ proc {
25
+ clientMutationId
26
+ errors {
27
+ details
28
+ fullMessages
29
+ }
30
+ ok
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -38,16 +38,16 @@ module Ecoportal
38
38
 
39
39
  private
40
40
 
41
+ # ★ Corrected 2026-07-30: `executeWorkflowCommands` takes exactly ONE argument,
42
+ # `input: ExecuteWorkflowCommandsInput!` (`{ clientMutationId, id!, patchVer!,
43
+ # commands! }`) — it never accepted flat `id`/`patchVer`/`commands` arguments, so this
44
+ # document was invalid and the mutation could not run. `#query` above already built
45
+ # the right `input` hash for the variables; only the rendered document was wrong.
41
46
  def basic_block(&block)
42
47
  payload_block = block || default_payload_block
43
48
  proc {
44
- mutation(id: :id!, patchVer: :int!, commands: :WorkflowCommandInput!) {
45
- executeWorkflowCommands(
46
- id: :id,
47
- patchVer: :patchVer,
48
- commands: :commands,
49
- &payload_block
50
- )
49
+ mutation(input: :ExecuteWorkflowCommandsInput!) {
50
+ executeWorkflowCommands(input: :input, &payload_block)
51
51
  }
52
52
  }
53
53
  end
@@ -20,16 +20,17 @@ module Ecoportal
20
20
 
21
21
  private
22
22
 
23
+ # ★ Corrected 2026-07-30: `executeWorkflowCommands` takes exactly ONE argument,
24
+ # `input: ExecuteWorkflowCommandsInput!` (`{ clientMutationId, id!, patchVer!,
25
+ # commands! }`) — it never accepted flat `id`/`patchVer`/`commands` arguments, so this
26
+ # document was invalid and the mutation could not run (this is the page-level command
27
+ # bus; `Mutation::Template::Update` is a different class and was always valid).
28
+ # `#query` above already built the right `input` hash for the variables.
23
29
  def basic_block(&block)
24
30
  payload_block = block || default_payload_block
25
31
  proc {
26
- mutation(id: :id!, patchVer: :int!, commands: :WorkflowCommandInput!) {
27
- executeWorkflowCommands(
28
- id: :id,
29
- patchVer: :patchVer,
30
- commands: :commands,
31
- &payload_block
32
- )
32
+ mutation(input: :ExecuteWorkflowCommandsInput!) {
33
+ executeWorkflowCommands(input: :input, &payload_block)
33
34
  }
34
35
  }
35
36
  end
@@ -1,40 +1,38 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Mutation
5
- module Page
6
- class PublishDraft < Logic::Mutation
7
- field_name :publishDraftPage
8
-
9
- class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::Draft'
10
- class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::PublishDraft'
11
-
12
- private
13
-
14
- def basic_block(&block)
15
- payload_block = block || default_payload_block
16
- proc {
17
- mutation(input: :PublishDraftPageInput!) {
18
- publishDraftPage(input: :input, &payload_block)
19
- }
20
- }
21
- end
22
-
23
- def default_payload_block
24
- proc {
25
- clientMutationId
26
- errors {
27
- details
28
- fullMessages
29
- }
30
- item {
31
- spread :PageFields
32
- }
33
- }
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module Page
6
+ class PublishDraft < Logic::Mutation
7
+ field_name :publishDraftPage
8
+
9
+ class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::Draft'
10
+ class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::PublishDraft'
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ proc {
17
+ mutation(input: :PublishDraftPageInput!) {
18
+ publishDraftPage(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ proc {
25
+ clientMutationId
26
+ errors {
27
+ details
28
+ fullMessages
29
+ }
30
+ ok
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,40 +1,40 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Mutation
5
- module Page
6
- class RejectReviewTask < Logic::Mutation
7
- field_name :rejectReviewPageTask
8
-
9
- class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::ReviewTask'
10
- class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::ReviewTask'
11
-
12
- private
13
-
14
- def basic_block(&block)
15
- payload_block = block || default_payload_block
16
- proc {
17
- mutation(input: :RejectReviewPageTaskInput!) {
18
- rejectReviewPageTask(input: :input, &payload_block)
19
- }
20
- }
21
- end
22
-
23
- def default_payload_block
24
- proc {
25
- clientMutationId
26
- errors {
27
- details
28
- fullMessages
29
- }
30
- item {
31
- spread :PageFields
32
- }
33
- }
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module Page
6
+ class RejectReviewTask < Logic::Mutation
7
+ field_name :rejectReviewPageTask
8
+
9
+ class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::ReviewTask'
10
+ class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::ReviewTask'
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ proc {
17
+ mutation(input: :RejectReviewPageTaskInput!) {
18
+ rejectReviewPageTask(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ proc {
25
+ clientMutationId
26
+ errors {
27
+ details
28
+ fullMessages
29
+ }
30
+ item {
31
+ spread :PageTaskFields
32
+ }
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,40 +1,40 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Mutation
5
- module Page
6
- class RestartReviewTask < Logic::Mutation
7
- field_name :restartReviewPageTask
8
-
9
- class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::ReviewTask'
10
- class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::ReviewTask'
11
-
12
- private
13
-
14
- def basic_block(&block)
15
- payload_block = block || default_payload_block
16
- proc {
17
- mutation(input: :RestartReviewPageTaskInput!) {
18
- restartReviewPageTask(input: :input, &payload_block)
19
- }
20
- }
21
- end
22
-
23
- def default_payload_block
24
- proc {
25
- clientMutationId
26
- errors {
27
- details
28
- fullMessages
29
- }
30
- item {
31
- spread :PageFields
32
- }
33
- }
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module Page
6
+ class RestartReviewTask < Logic::Mutation
7
+ field_name :restartReviewPageTask
8
+
9
+ class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::ReviewTask'
10
+ class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::ReviewTask'
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ proc {
17
+ mutation(input: :RestartReviewPageTaskInput!) {
18
+ restartReviewPageTask(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ proc {
25
+ clientMutationId
26
+ errors {
27
+ details
28
+ fullMessages
29
+ }
30
+ item {
31
+ spread :PageTaskFields
32
+ }
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,40 +1,40 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Mutation
5
- module Page
6
- class UndoReviewTask < Logic::Mutation
7
- field_name :undoReviewPageTask
8
-
9
- class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::ReviewTask'
10
- class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::ReviewTask'
11
-
12
- private
13
-
14
- def basic_block(&block)
15
- payload_block = block || default_payload_block
16
- proc {
17
- mutation(input: :UndoReviewPageTaskInput!) {
18
- undoReviewPageTask(input: :input, &payload_block)
19
- }
20
- }
21
- end
22
-
23
- def default_payload_block
24
- proc {
25
- clientMutationId
26
- errors {
27
- details
28
- fullMessages
29
- }
30
- item {
31
- spread :PageFields
32
- }
33
- }
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module Page
6
+ class UndoReviewTask < Logic::Mutation
7
+ field_name :undoReviewPageTask
8
+
9
+ class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Page::ReviewTask'
10
+ class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Page::ReviewTask'
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ proc {
17
+ mutation(input: :UndoReviewPageTaskInput!) {
18
+ undoReviewPageTask(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ proc {
25
+ clientMutationId
26
+ errors {
27
+ details
28
+ fullMessages
29
+ }
30
+ item {
31
+ spread :PageTaskFields
32
+ }
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,35 +1,34 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Mutation
5
- module PresetView
6
- class Destroy < Logic::Mutation
7
- field_name :destroyPresetView
8
-
9
- class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::PresetView'
10
- class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::PresetView'
11
-
12
- private
13
-
14
- def basic_block(&block)
15
- payload_block = block || default_payload_block
16
- proc {
17
- mutation(input: :DestroyPresetViewInput!) {
18
- destroyPresetView(input: :input, &payload_block)
19
- }
20
- }
21
- end
22
-
23
- def default_payload_block
24
- proc {
25
- clientMutationId
26
- errors { details fullMessages }
27
- item { id name }
28
- }
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module PresetView
6
+ class Destroy < Logic::Mutation
7
+ field_name :destroyPresetView
8
+
9
+ class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::PresetView'
10
+ class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::PresetView'
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ proc {
17
+ mutation(input: :DestroyPresetViewInput!) {
18
+ destroyPresetView(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ proc {
25
+ clientMutationId
26
+ errors { details fullMessages }
27
+ }
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,35 +1,35 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Mutation
5
- module Register
6
- class Destroy < Logic::Mutation
7
- field_name :destroyRegister
8
-
9
- class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Register'
10
- class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Register'
11
-
12
- private
13
-
14
- def basic_block(&block)
15
- payload_block = block || default_payload_block
16
- proc {
17
- mutation(input: :DestroyRegisterInput!) {
18
- destroyRegister(input: :input, &payload_block)
19
- }
20
- }
21
- end
22
-
23
- def default_payload_block
24
- proc {
25
- clientMutationId
26
- errors { details fullMessages }
27
- item { id name }
28
- }
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module Register
6
+ class Destroy < Logic::Mutation
7
+ field_name :destroyRegister
8
+
9
+ class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::Register'
10
+ class_resolver :input_class, 'Ecoportal::API::GraphQL::Input::Register'
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ proc {
17
+ mutation(input: :DestroyRegisterInput!) {
18
+ destroyRegister(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ proc {
25
+ clientMutationId
26
+ errors { details fullMessages }
27
+ ok
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,36 +1,36 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Mutation
5
- module SmartFill
6
- # Enqueue AI generation for a SmartFill data field on a page.
7
- # Returns ok: true immediately — generation is asynchronous.
8
- # Poll the SmartFill field's status on the page to know when done.
9
- class Generate < Logic::Mutation
10
- field_name :smartFillGenerate
11
-
12
- class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::OkPayload'
13
-
14
- private
15
-
16
- def basic_block(&block)
17
- payload_block = block || default_payload_block
18
- proc {
19
- mutation(pageId: :id!, dataFieldId: :id!) {
20
- smartFillGenerate(pageId: :pageId, dataFieldId: :dataFieldId, &payload_block)
21
- }
22
- }
23
- end
24
-
25
- def default_payload_block
26
- proc {
27
- ok
28
- errors { details fullMessages }
29
- }
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module SmartFill
6
+ # Enqueue AI generation for a SmartFill data field on a page.
7
+ # Returns ok: true immediately — generation is asynchronous.
8
+ # Poll the SmartFill field's status on the page to know when done.
9
+ class Generate < Logic::Mutation
10
+ field_name :smartFillGenerate
11
+
12
+ class_resolver :payload_class, 'Ecoportal::API::GraphQL::Payload::OkPayload'
13
+
14
+ private
15
+
16
+ def basic_block(&block)
17
+ payload_block = block || default_payload_block
18
+ proc {
19
+ mutation(pageId: :id!, dataFieldId: :id!) {
20
+ smartFillGenerate(pageId: :pageId, dataFieldId: :dataFieldId, &payload_block)
21
+ }
22
+ }
23
+ end
24
+
25
+ def default_payload_block
26
+ proc {
27
+ ok
28
+ errors { details fullMessages }
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end