@celigo/api-specs 0.2.1 → 0.2.2

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.
package/dist/ai-agent.yml CHANGED
@@ -3428,8 +3428,10 @@ components:
3428
3428
 
3429
3429
  - **Lookup steps**: `{"statusCode": 200, "data": [<result records>],
3430
3430
  "errors": []}` — `data` holds the records the lookup returned, so
3431
- extracts must start from it (e.g. `data[0].name`). A bare result-record
3432
- field name (e.g. `name`) resolves to nothing and merges nothing.
3431
+ extracts must start from it: `data[0].name` copies a field of the
3432
+ first result, `data` copies the whole result array. A bare
3433
+ result-record field name (e.g. `name`) resolves to nothing and merges
3434
+ nothing.
3433
3435
  - **Import steps**: `{"id": "<destination record id>", "statusCode": 200,
3434
3436
  "ignored": false, "errors": [], "_json": <raw destination response>}` —
3435
3437
  use `id` for the destination-assigned id and `_json.<path>` for fields
@@ -3449,11 +3451,26 @@ components:
3449
3451
  responseMapping is fully replaced on PUT: omitting it resets the step
3450
3452
  to empty `{"fields": [], "lists": []}`. Always send the complete
3451
3453
  intended mapping for every step.
3454
+ - |-
3455
+ To carry several lookup results onto the record, use `extract: "data"`
3456
+ (the whole result array) or a `lists` entry whose extracts use
3457
+ `data[*].x` — never `data[*].x` in `fields[].extract`, which merges
3458
+ nothing: the record simply never gains the field.
3452
3459
  examples:
3453
3460
  - fields:
3454
3461
  - extract: id
3455
3462
  generate: ContactId
3456
3463
  lists: []
3464
+ - fields:
3465
+ - extract: data[0].customer.name
3466
+ generate: customerName
3467
+ lists:
3468
+ - generate: matchedOrders
3469
+ fields:
3470
+ - extract: data[*].id
3471
+ generate: orderId
3472
+ - extract: data[*].total
3473
+ generate: amount
3457
3474
  properties:
3458
3475
  fields:
3459
3476
  type: array
@@ -3468,13 +3485,17 @@ components:
3468
3485
  description: |
3469
3486
  Path within the canonical response envelope to copy the value
3470
3487
  from. For lookup steps, paths start from the envelope's `data`
3471
- array (`data[0].x` and `data.0.x` are equivalent); for import
3472
- steps, use the envelope fields `id`, `statusCode`, `ignored`,
3473
- or `_json.<path>` for the raw response body. Paths that skip
3474
- the envelope (bare response field names) resolve to nothing.
3488
+ array (`data[0].x` and `data.0.x` are equivalent; `data` alone
3489
+ copies every result); for import steps, use the envelope fields
3490
+ `id`, `statusCode`, `ignored`, or `_json.<path>` for the raw
3491
+ response body. Paths that skip the envelope (bare response
3492
+ field names) resolve to nothing, and a `[*]` wildcard is not
3493
+ honored here — `data[*].x` merges nothing; iterate arrays with
3494
+ `lists` instead.
3475
3495
  examples:
3476
3496
  - data[0].customer.name
3477
3497
  - data.0.fields.Product Name
3498
+ - data
3478
3499
  - id
3479
3500
  - _json.orderNumber
3480
3501
  generate:
@@ -3492,8 +3513,10 @@ components:
3492
3513
  description: |
3493
3514
  Array mappings that build a target array on the in-flight record
3494
3515
  from an array inside the response envelope — one output item per
3495
- response item. Not needed for one-to-many (fan-out) merge-back,
3496
- which uses plain field mappings.
3516
+ element of the array the item extracts mark with `[*]` (`data[*].x`
3517
+ for lookups, `_json.<arrayPath>[*].x` for imports); an empty source
3518
+ array yields an empty target array. Not needed for one-to-many
3519
+ (fan-out) merge-back, which uses plain field mappings.
3497
3520
  items:
3498
3521
  type: object
3499
3522
  properties:
@@ -3517,12 +3540,16 @@ components:
3517
3540
  extract:
3518
3541
  type: string
3519
3542
  description: |
3520
- Source field within each response-array item, relative
3521
- to the item itself.
3543
+ Full envelope path to the source value, with `[*]`
3544
+ marking the array to iterate — `data[*].productId` for a
3545
+ lookup, `_json.items[*].sku` for an import. A path without
3546
+ `[*]` (e.g. `statusCode`) repeats the same envelope value
3547
+ on every item; an item-relative name (`productId`)
3548
+ resolves to nothing and produces empty objects.
3522
3549
  examples:
3523
- - productId
3524
- - quantity
3525
- - price
3550
+ - data[*].productId
3551
+ - data[*].quantity
3552
+ - _json.items[*].sku
3526
3553
  generate:
3527
3554
  type: string
3528
3555
  description: Target field within each mapped array item.
package/dist/flow.yml CHANGED
@@ -4079,8 +4079,10 @@ components:
4079
4079
 
4080
4080
  - **Lookup steps**: `{"statusCode": 200, "data": [<result records>],
4081
4081
  "errors": []}` — `data` holds the records the lookup returned, so
4082
- extracts must start from it (e.g. `data[0].name`). A bare result-record
4083
- field name (e.g. `name`) resolves to nothing and merges nothing.
4082
+ extracts must start from it: `data[0].name` copies a field of the
4083
+ first result, `data` copies the whole result array. A bare
4084
+ result-record field name (e.g. `name`) resolves to nothing and merges
4085
+ nothing.
4084
4086
  - **Import steps**: `{"id": "<destination record id>", "statusCode": 200,
4085
4087
  "ignored": false, "errors": [], "_json": <raw destination response>}` —
4086
4088
  use `id` for the destination-assigned id and `_json.<path>` for fields
@@ -4100,11 +4102,26 @@ components:
4100
4102
  responseMapping is fully replaced on PUT: omitting it resets the step
4101
4103
  to empty `{"fields": [], "lists": []}`. Always send the complete
4102
4104
  intended mapping for every step.
4105
+ - |-
4106
+ To carry several lookup results onto the record, use `extract: "data"`
4107
+ (the whole result array) or a `lists` entry whose extracts use
4108
+ `data[*].x` — never `data[*].x` in `fields[].extract`, which merges
4109
+ nothing: the record simply never gains the field.
4103
4110
  examples:
4104
4111
  - fields:
4105
4112
  - extract: id
4106
4113
  generate: ContactId
4107
4114
  lists: []
4115
+ - fields:
4116
+ - extract: data[0].customer.name
4117
+ generate: customerName
4118
+ lists:
4119
+ - generate: matchedOrders
4120
+ fields:
4121
+ - extract: data[*].id
4122
+ generate: orderId
4123
+ - extract: data[*].total
4124
+ generate: amount
4108
4125
  properties:
4109
4126
  fields:
4110
4127
  type: array
@@ -4119,13 +4136,17 @@ components:
4119
4136
  description: |
4120
4137
  Path within the canonical response envelope to copy the value
4121
4138
  from. For lookup steps, paths start from the envelope's `data`
4122
- array (`data[0].x` and `data.0.x` are equivalent); for import
4123
- steps, use the envelope fields `id`, `statusCode`, `ignored`,
4124
- or `_json.<path>` for the raw response body. Paths that skip
4125
- the envelope (bare response field names) resolve to nothing.
4139
+ array (`data[0].x` and `data.0.x` are equivalent; `data` alone
4140
+ copies every result); for import steps, use the envelope fields
4141
+ `id`, `statusCode`, `ignored`, or `_json.<path>` for the raw
4142
+ response body. Paths that skip the envelope (bare response
4143
+ field names) resolve to nothing, and a `[*]` wildcard is not
4144
+ honored here — `data[*].x` merges nothing; iterate arrays with
4145
+ `lists` instead.
4126
4146
  examples:
4127
4147
  - data[0].customer.name
4128
4148
  - data.0.fields.Product Name
4149
+ - data
4129
4150
  - id
4130
4151
  - _json.orderNumber
4131
4152
  generate:
@@ -4143,8 +4164,10 @@ components:
4143
4164
  description: |
4144
4165
  Array mappings that build a target array on the in-flight record
4145
4166
  from an array inside the response envelope — one output item per
4146
- response item. Not needed for one-to-many (fan-out) merge-back,
4147
- which uses plain field mappings.
4167
+ element of the array the item extracts mark with `[*]` (`data[*].x`
4168
+ for lookups, `_json.<arrayPath>[*].x` for imports); an empty source
4169
+ array yields an empty target array. Not needed for one-to-many
4170
+ (fan-out) merge-back, which uses plain field mappings.
4148
4171
  items:
4149
4172
  type: object
4150
4173
  properties:
@@ -4168,12 +4191,16 @@ components:
4168
4191
  extract:
4169
4192
  type: string
4170
4193
  description: |
4171
- Source field within each response-array item, relative
4172
- to the item itself.
4194
+ Full envelope path to the source value, with `[*]`
4195
+ marking the array to iterate — `data[*].productId` for a
4196
+ lookup, `_json.items[*].sku` for an import. A path without
4197
+ `[*]` (e.g. `statusCode`) repeats the same envelope value
4198
+ on every item; an item-relative name (`productId`)
4199
+ resolves to nothing and produces empty objects.
4173
4200
  examples:
4174
- - productId
4175
- - quantity
4176
- - price
4201
+ - data[*].productId
4202
+ - data[*].quantity
4203
+ - _json.items[*].sku
4177
4204
  generate:
4178
4205
  type: string
4179
4206
  description: Target field within each mapped array item.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "files": [
package/schemas.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "cb9d158",
5
- "generatedAt": "2026-08-31"
4
+ "iasCommit": "ae8d0a4",
5
+ "generatedAt": "2026-09-04"
6
6
  },
7
7
  "roots": {
8
8
  "aiagent": 121,