@celigo/api-specs 0.2.155 → 0.2.156

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.
@@ -412,7 +412,10 @@ components:
412
412
  description: |-
413
413
  Trading partner's interchange identifier: the sender ID on files the partner sends and the
414
414
  receiver ID on files you send (X12 ISA06 and ISA08 respectively; the UNB sender and
415
- recipient in EDIFACT).
415
+ recipient in EDIFACT). On an X12 profile, store it unpadded: parsing compares an inbound
416
+ file's ISA06 without its padding, so a value padded to 15 characters fails every inbound
417
+ file (`Interchange Sender ID with data <id> in the EDI file doesn't match with the expected
418
+ data in the EDI profile.`).
416
419
  examples:
417
420
  - ACMECORP
418
421
  - '5412345678901'
@@ -421,7 +424,10 @@ components:
421
424
  description: |-
422
425
  Your interchange identifier: the receiver ID on files the partner sends and the sender ID
423
426
  on files you send (X12 ISA08 and ISA06 respectively; the UNB recipient and sender in
424
- EDIFACT).
427
+ EDIFACT). On an X12 profile, store it unpadded: parsing compares an inbound file's ISA08
428
+ without its padding, so a value padded to 15 characters fails every inbound file
429
+ (`Interchange Receiver ID with data <id> in the EDI file doesn't match with the expected
430
+ data in the EDI profile.`).
425
431
  examples:
426
432
  - MYCOMPANY
427
433
  - '1234567890123'
@@ -462,7 +468,7 @@ components:
462
468
  description: |-
463
469
  X12 ISA02 — Authorization Information. When parsing, an inbound file's ISA02 must match
464
470
  this value after trimming (`data_mismatch` otherwise), so a blank ISA02 matches `""` and
465
- not ten spaces.
471
+ not ten spaces or one (values some trading partner connector forms prescribe).
466
472
  examples:
467
473
  - ''
468
474
  isa03:
@@ -481,7 +487,7 @@ components:
481
487
  description: |-
482
488
  X12 ISA04 — Security Information. When parsing, an inbound file's ISA04 must match this
483
489
  value after trimming (`data_mismatch` otherwise), so a blank ISA04 matches `""` and not
484
- ten spaces.
490
+ ten spaces or one (values some trading partner connector forms prescribe).
485
491
  examples:
486
492
  - ''
487
493
  tpIdQualifier:
@@ -497,6 +497,10 @@ components:
497
497
  record); for the row-type marker, equals `value` (in a
498
498
  container's child rule, a marker whose `name` differs from
499
499
  its `value` parses to an empty record without an error).
500
+ Names must be unique within a rule's `elements`: a save or a
501
+ parse with two of the same name is refused (`Sibling element
502
+ names need to be unique. Duplicate "<name>" found in
503
+ elements: [<i>, <j>]`).
500
504
  examples:
501
505
  - Order ID
502
506
  - Authorization Information Qualifier
@@ -569,13 +573,30 @@ components:
569
573
  Inclusive minimum string length. Used heavily on EDI
570
574
  elements where the X12 / EDIFACT standard fixes the length
571
575
  of envelope qualifiers (e.g. `ISA05` is exactly 2 chars,
572
- `ISA13` is exactly 9 chars).
576
+ `ISA13` is exactly 9 chars). A parse refuses a shorter value
577
+ (`Min. length not met for the field "ISA06"`). Generation
578
+ doesn't pad to it; see `maxLength`.
573
579
  maxLength:
574
580
  type: integer
575
581
  minimum: 0
576
582
  description: |
577
583
  Inclusive maximum string length. See `minLength` for
578
584
  usage notes.
585
+
586
+ Generation pads a shorter non-empty value with spaces up to
587
+ `maxLength` (`minLength` doesn't pad). An empty value stays
588
+ empty, except on ISA02/ISA04 elements that keep their
589
+ standard names (`Authorization Information`, `Security
590
+ Information`), which are written as `maxLength` spaces. So a
591
+ generate definition keeps the fixed-width X12 ISA at full
592
+ width (ISA02/ISA04 10 characters, ISA06/ISA08 15, 106
593
+ characters with the terminator) only with `maxLength` on
594
+ those elements. Without it, a blank `isa02` comes out empty
595
+ and an unpadded interchange id short, and Celigo's own parser
596
+ refuses that ISA (`Mandatory element "ISA02" is not present`,
597
+ `Min. length not met for the field "ISA06"`). A value longer
598
+ than `maxLength` fails the generation (`Max. length not met
599
+ for the field "<name>"`).
579
600
  referenceValue:
580
601
  type: string
581
602
  description: |
@@ -660,6 +681,14 @@ components:
660
681
  assigned numbers, HL hierarchical ids).
661
682
  examples:
662
683
  - true
684
+ ignore:
685
+ type: boolean
686
+ description: |
687
+ When true, the parser reads the element (on a fixed-width row
688
+ it still takes its `length`) but leaves it out of the parsed
689
+ record.
690
+ examples:
691
+ - true
663
692
  startPosition:
664
693
  type: integer
665
694
  minimum: 1
@@ -793,7 +822,7 @@ components:
793
822
  per segment-element (`ISA01`, `ISA02`, ...). Delimited
794
823
  rules use one element per column. Omit the key on a rule
795
824
  with no elements of its own, such as a container wrapper: an
796
- empty `elements` array fails the parse.
825
+ empty `elements` array saves, but fails the parse.
797
826
  items:
798
827
  $ref: '#/components/schemas/Element'
799
828
  children:
@@ -821,6 +850,11 @@ components:
821
850
  round-trips file definitions should preserve whichever shape
822
851
  the source document uses.
823
852
 
853
+ Put it on the rule that opens the envelope (ISA, GS, ST, UNB,
854
+ UNH), never on a `container` wrapper. A container's close rule
855
+ saves and parses without an error, but it consumes the row it
856
+ names, so the rule meant to read that row comes back empty.
857
+
824
858
  For non-EDI / non-loop rules `closeRule` is omitted.
825
859
  oneOf:
826
860
  - title: rule
@@ -841,10 +875,15 @@ components:
841
875
  under the wrapper's `name`; `container: true` on a rule with
842
876
  its own `elements` isn't honored as a loop.
843
877
 
844
- The parser rejects `container: true` paired with
845
- `maxOccurrence <= 1` with
846
- `Invalid rules: maxOccurences should be greater than '1',
847
- when the container is 'true'`.
878
+ A container repeats up to its `maxOccurrence`, which defaults
879
+ to `1`. A container with `1`, or without the key, saves and
880
+ parses but matches a single row: in fixed-width and delimited
881
+ files the rows after it are dropped without an error, and an
882
+ X12 parse fails at the next row it can't place, naming a
883
+ mandatory segment as missing (for example `Mandatory segment
884
+ "SE" is missing on line: 6`). A rule outside any container
885
+ matches one row the same way. Give the wrapper the most rows
886
+ the file can hold, such as `1000`.
848
887
  default: false
849
888
  examples:
850
889
  - true
@@ -859,8 +898,12 @@ components:
859
898
  an `ST` transaction set or a line-item loop; EDI envelopes use
860
899
  `1` (one ISA per file, one GS per group).
861
900
 
862
- Required to be greater than `1` when `container` is
863
- `true`.
901
+ Defaults to `1`, so a container needs a larger value to repeat
902
+ (see `container`). A value above `1` on any other rule saves,
903
+ but the parse refuses it with `Max no. of occurrences for
904
+ segment "<name>" is applicable only if it is a
905
+ container/loop.` `0` is refused on save and on parse (`if
906
+ present, maxOccurrence must be greater than or equal to 1`).
864
907
  examples:
865
908
  - 1
866
909
  - 1000
@@ -928,6 +971,16 @@ components:
928
971
  - P,04,05
929
972
  - - L,03,04,05,13
930
973
  - R,02,03
974
+ ignoreIdentifier:
975
+ type: boolean
976
+ description: |
977
+ Fixed-width: the rule matches rows without looking for a
978
+ row-type marker. Set it on the row rule of a file whose rows
979
+ carry no marker, inside a `container` so every row is read.
980
+ Without it such rows parse to one empty record (`{}`) with no
981
+ error, wrapped or not.
982
+ examples:
983
+ - true
931
984
  FileDefinitionBase:
932
985
  type: object
933
986
  description: Writable file definition fields shared by the request and response schemas.
@@ -1131,8 +1184,10 @@ components:
1131
1184
  - |-
1132
1185
  Rows repeat only under an elements-less `container: true` rule (a group `name`,
1133
1186
  `maxOccurrence` above 1, no `elements`) whose child rule carries the row's elements. A
1134
- row-marker rule with no such container above it matches only the first row, and the parser
1135
- drops the rest without an error.
1187
+ row-marker rule with no such container above it, or under a container whose
1188
+ `maxOccurrence` is 1 or unset, matches only the first row: in fixed-width and delimited
1189
+ files the parser drops the rest without an error, and an X12 parse fails at the next row,
1190
+ naming a mandatory segment as missing.
1136
1191
  ResourceResponse:
1137
1192
  type: object
1138
1193
  description: Response
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.155",
3
+ "version": "0.2.156",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "37aee3d1",
4
+ "iasCommit": "e8ef66bd",
5
5
  "generatedAt": "2026-10-21"
6
6
  },
7
7
  "roots": {
@@ -5575,6 +5575,7 @@
5575
5575
  "container": 9,
5576
5576
  "description": 1,
5577
5577
  "elements": 476,
5578
+ "ignoreIdentifier": 9,
5578
5579
  "maxOccurrence": 125,
5579
5580
  "name": 1,
5580
5581
  "relationship": 21,
@@ -5593,6 +5594,7 @@
5593
5594
  "description": 1,
5594
5595
  "end": 125,
5595
5596
  "enum": 21,
5597
+ "ignore": 9,
5596
5598
  "length": 125,
5597
5599
  "maxLength": 125,
5598
5600
  "minLength": 125,