ecoportal-api-graphql 1.3.11 → 1.3.13

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/.ai-assistance/code/filter_contract_matrix.md +177 -0
  3. data/.ai-assistance/projects/compat-layer-audit/COMPAT_AUDIT.md +244 -0
  4. data/.ai-assistance/projects/template-automatic-build-maintenance/INTENT.md +10 -0
  5. data/.ai-assistance/projects/template-automatic-build-maintenance/TODO.md +11 -0
  6. data/.ai-assistance/projects/template-model-logic/CATEGORY_CATALOG.md +236 -0
  7. data/.ai-assistance/projects/template-model-logic/CLASSIFICATION_SPIKE.md +243 -0
  8. data/.ai-assistance/projects/template-model-logic/DESIGN_NOTE.md +154 -0
  9. data/.ai-assistance/scripts/bridge-inbox-check.sh +75 -0
  10. data/.ai-assistance/skills/procedural-memory/SKILL.md +319 -0
  11. data/.ai-assistance/skills/project-self-docs/SKILL.md +181 -0
  12. data/.ai-assistance/skills/project-self-docs/scripts/self_docs_scan.py +378 -0
  13. data/.ai-assistance/standards-version.json +22 -21
  14. data/.claude/settings.json +150 -146
  15. data/.gitlab-ci.yml +45 -0
  16. data/CHANGELOG.md +58 -0
  17. data/CLAUDE.md +11 -0
  18. data/docs/self-docs/ARCHITECTURE.md +88 -0
  19. data/docs/self-docs/CHANGES.jsonl +12 -0
  20. data/docs/self-docs/COMPLIANCE.md +79 -0
  21. data/docs/self-docs/CONVENTIONS.md +74 -0
  22. data/docs/self-docs/INTEGRATIONS.md +65 -0
  23. data/docs/self-docs/OPERATIONS.md +76 -0
  24. data/docs/self-docs/OVERVIEW.md +64 -0
  25. data/docs/self-docs/STATUS.md +73 -0
  26. data/docs/self-docs/self-docs-index.json +51 -0
  27. data/docs/worklog.md +15 -20
  28. data/lib/ecoportal/api/common/graphql/client.rb +2 -0
  29. data/lib/ecoportal/api/common/graphql/http_client.rb +189 -177
  30. data/lib/ecoportal/api/common/graphql/model/diffable.rb +54 -54
  31. data/lib/ecoportal/api/graphql/base/action.rb +43 -43
  32. data/lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb +67 -67
  33. data/lib/ecoportal/api/graphql/base/page/data_field/collection.rb +7 -0
  34. data/lib/ecoportal/api/graphql/base/page/data_field/contractor_entities.rb +28 -28
  35. data/lib/ecoportal/api/graphql/base/page/data_field/file_field.rb +25 -25
  36. data/lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb +24 -24
  37. data/lib/ecoportal/api/graphql/base/page/section_collection.rb +85 -79
  38. data/lib/ecoportal/api/graphql/base/preset_view.rb +17 -17
  39. data/lib/ecoportal/api/graphql/base/register.rb +18 -18
  40. data/lib/ecoportal/api/graphql/compat/filter_translator.rb +63 -28
  41. data/lib/ecoportal/api/graphql/concerns/page_compat.rb +51 -51
  42. data/lib/ecoportal/api/graphql/concerns.rb +14 -14
  43. data/lib/ecoportal/api/graphql/file_upload/client.rb +181 -181
  44. data/lib/ecoportal/api/graphql/fragment/page.rb +85 -85
  45. data/lib/ecoportal/api/graphql/input/action/update.rb +14 -14
  46. data/lib/ecoportal/api/graphql/input/contractor_entity/update.rb +41 -41
  47. data/lib/ecoportal/api/graphql/input/location_structure/apply_commands.rb +47 -47
  48. data/lib/ecoportal/api/graphql/input/location_structure/draft/add_commands.rb +49 -49
  49. data/lib/ecoportal/api/graphql/input/location_structure/update_command.rb +27 -27
  50. data/lib/ecoportal/api/graphql/input/search_conf.rb +436 -367
  51. data/lib/ecoportal/api/graphql/interface/location_structure/command.rb +30 -30
  52. data/lib/ecoportal/api/graphql/logic/input.rb +26 -26
  53. data/lib/ecoportal/api/graphql_version.rb +1 -1
  54. metadata +20 -1
@@ -1,30 +1,30 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Interface
5
- module LocationStructure
6
- class Command < Logic::BaseModel
7
- passkey :id
8
- passthrough :state
9
-
10
- def target_ids
11
- (doc || {}).values_at(:nodeId, :newId, :id)
12
- end
13
-
14
- def keys
15
- (doc || {}).keys
16
- end
17
-
18
- def set_values(**kargs)
19
- kargs.each do |key, value|
20
- send(key, value) if respond_to?(key, true)
21
- end
22
-
23
- self
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Interface
5
+ module LocationStructure
6
+ class Command < Logic::BaseModel
7
+ passkey :id
8
+ passthrough :state
9
+
10
+ def target_ids
11
+ (doc || {}).values_at(:nodeId, :newId, :id)
12
+ end
13
+
14
+ def keys
15
+ (doc || {}).keys
16
+ end
17
+
18
+ def set_values(**kargs)
19
+ kargs.each do |key, value|
20
+ send(key, value) if respond_to?(key, true)
21
+ end
22
+
23
+ self
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -1,26 +1,26 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Logic
5
- class Input < Logic::BaseModel
6
- passthrough :clientMutationId
7
-
8
- class << self
9
- # Builds a mutation input hash from a model's diff.
10
- # Subclasses override this to reshape fields (e.g. array → IdDiffInput).
11
- # @param model [Common::GraphQL::Model] the subject model.
12
- # @return [Hash, nil] the mutation input hash, or nil when there are no changes.
13
- def from_model(model, client_mutation_id: '')
14
- diff = model.as_update
15
- return nil if diff.nil?
16
-
17
- diff[:patchVer] = model.patchVer if model.respond_to?(:patchVer) && !model.patchVer.nil?
18
- diff[:clientMutationId] = client_mutation_id unless client_mutation_id.to_s.empty?
19
- diff
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Logic
5
+ class Input < Logic::BaseModel
6
+ passthrough :clientMutationId
7
+
8
+ class << self
9
+ # Builds a mutation input hash from a model's diff.
10
+ # Subclasses override this to reshape fields (e.g. array → IdDiffInput).
11
+ # @param model [Common::GraphQL::Model] the subject model.
12
+ # @return [Hash, nil] the mutation input hash, or nil when there are no changes.
13
+ def from_model(model, client_mutation_id: '')
14
+ diff = model.as_update
15
+ return nil if diff.nil?
16
+
17
+ diff[:patchVer] = model.patchVer if model.respond_to?(:patchVer) && !model.patchVer.nil?
18
+ diff[:clientMutationId] = client_mutation_id unless client_mutation_id.to_s.empty?
19
+ diff
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- GRAPQL_VERSION = '1.3.11'.freeze
3
+ GRAPQL_VERSION = '1.3.13'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecoportal-api-graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.11
4
+ version: 1.3.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
@@ -236,6 +236,7 @@ files:
236
236
  - ".ai-assistance/code/ecoPortal_architecture/12_ai_documentation_sources_gaps.md"
237
237
  - ".ai-assistance/code/ecoPortal_architecture/13_ai_infrastructure.md"
238
238
  - ".ai-assistance/code/ecoportal_schema_reference.md"
239
+ - ".ai-assistance/code/filter_contract_matrix.md"
239
240
  - ".ai-assistance/code/graphql_domain_knowledge.md"
240
241
  - ".ai-assistance/code/refactoring/datafield-readwrite-shape-asymmetry.md"
241
242
  - ".ai-assistance/code/refactoring/opportunities.md"
@@ -261,6 +262,7 @@ files:
261
262
  - ".ai-assistance/projects/api-v2-to-graphql-migration/UPSTREAM.md"
262
263
  - ".ai-assistance/projects/api-v2-to-graphql-migration/notes/csv-template-pipeline-design.md"
263
264
  - ".ai-assistance/projects/api-v2-to-graphql-migration/notes/cutover-usecase-gap-audit.md"
265
+ - ".ai-assistance/projects/compat-layer-audit/COMPAT_AUDIT.md"
264
266
  - ".ai-assistance/projects/dynamic-model-generation/INTENT.md"
265
267
  - ".ai-assistance/projects/eco-helpers-compat/INTENT.md"
266
268
  - ".ai-assistance/projects/eco-helpers-compat/MIGRATION_GUIDE.md"
@@ -290,9 +292,13 @@ files:
290
292
  - ".ai-assistance/projects/template-maintenance/DESIGN.md"
291
293
  - ".ai-assistance/projects/template-maintenance/PHASE0-FINDINGS.md"
292
294
  - ".ai-assistance/projects/template-maintenance/README.md"
295
+ - ".ai-assistance/projects/template-model-logic/CATEGORY_CATALOG.md"
296
+ - ".ai-assistance/projects/template-model-logic/CLASSIFICATION_SPIKE.md"
297
+ - ".ai-assistance/projects/template-model-logic/DESIGN_NOTE.md"
293
298
  - ".ai-assistance/projects/workflow-space/TODO.md"
294
299
  - ".ai-assistance/reinstall-claude-desktop-windows.md"
295
300
  - ".ai-assistance/scripts/CLAUDE.md"
301
+ - ".ai-assistance/scripts/bridge-inbox-check.sh"
296
302
  - ".ai-assistance/scripts/bridge-init.sh"
297
303
  - ".ai-assistance/scripts/bridge-status.sh"
298
304
  - ".ai-assistance/scripts/capabilities-check.ts"
@@ -320,7 +326,10 @@ files:
320
326
  - ".ai-assistance/skills/gemini-assist/gemini_ask.rb"
321
327
  - ".ai-assistance/skills/gemini-assist/prompts/cycle_end_review.txt"
322
328
  - ".ai-assistance/skills/graphql-schema-analysis/SKILL.md"
329
+ - ".ai-assistance/skills/procedural-memory/SKILL.md"
323
330
  - ".ai-assistance/skills/project-cycle/SKILL.md"
331
+ - ".ai-assistance/skills/project-self-docs/SKILL.md"
332
+ - ".ai-assistance/skills/project-self-docs/scripts/self_docs_scan.py"
324
333
  - ".ai-assistance/skills/refactor/SKILL.md"
325
334
  - ".ai-assistance/skills/rubocop/SKILL.md"
326
335
  - ".ai-assistance/skills/ruby-scripting/SKILL.md"
@@ -332,6 +341,7 @@ files:
332
341
  - ".env.example"
333
342
  - ".gitattributes"
334
343
  - ".gitignore"
344
+ - ".gitlab-ci.yml"
335
345
  - ".markdownlint.json"
336
346
  - ".rspec"
337
347
  - ".rubocop.yml"
@@ -346,6 +356,15 @@ files:
346
356
  - bin/console
347
357
  - bin/setup
348
358
  - bin/setup.ps1
359
+ - docs/self-docs/ARCHITECTURE.md
360
+ - docs/self-docs/CHANGES.jsonl
361
+ - docs/self-docs/COMPLIANCE.md
362
+ - docs/self-docs/CONVENTIONS.md
363
+ - docs/self-docs/INTEGRATIONS.md
364
+ - docs/self-docs/OPERATIONS.md
365
+ - docs/self-docs/OVERVIEW.md
366
+ - docs/self-docs/STATUS.md
367
+ - docs/self-docs/self-docs-index.json
349
368
  - docs/worklog.md
350
369
  - ecoportal-api-graphql.gemspec
351
370
  - lib/ecoportal/api-graphql.rb