@celigo/api-specs 0.2.80 → 0.2.81
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 +55 -20
- package/dist/export.yml +22 -3
- package/dist/flow.yml +55 -20
- package/dist/tool.yml +44 -10
- package/package.json +1 -1
- package/schemas.json +1 -1
package/dist/ai-agent.yml
CHANGED
|
@@ -3869,20 +3869,48 @@ components:
|
|
|
3869
3869
|
extracts evaluate against that envelope:
|
|
3870
3870
|
|
|
3871
3871
|
- **Lookup steps**: `{"statusCode": 200, "data": [<result records>],
|
|
3872
|
-
"errors": []}` — `data` holds the records the lookup
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3872
|
+
"errors": []}` — `data` holds the records the lookup step returns,
|
|
3873
|
+
AFTER the export's own `transform` and output `filter` have run, so
|
|
3874
|
+
extracts must start from it and name transformed fields by their
|
|
3875
|
+
transformed name: `data[0].name` copies a field of the first result,
|
|
3876
|
+
`data` copies the whole result array. A bare result-record field name
|
|
3877
|
+
(e.g. `name`) resolves to nothing and merges nothing, and so does the
|
|
3878
|
+
raw response path a transform consumed.
|
|
3877
3879
|
- **Import steps**: `{"id": "<destination record id>", "statusCode": 200,
|
|
3878
|
-
"ignored": false, "errors": [], "_json": <raw destination response
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3880
|
+
"ignored": false, "errors": [], "_json": <raw destination response>,
|
|
3881
|
+
...<response body fields flattened at the root>}` — use `id` for the
|
|
3882
|
+
destination-assigned id and `_json.<path>` (or the flattened
|
|
3883
|
+
`<path>`) for fields inside the destination's response body. The full
|
|
3884
|
+
envelope (including `id`) is present on real runs and in flow-builder
|
|
3885
|
+
previews; flow TEST runs never execute imports, and their mock-built
|
|
3886
|
+
envelope carries no `id` — an `extract: "id"` merges nothing in a test
|
|
3887
|
+
run even though it works on real runs.
|
|
3888
|
+
|
|
3889
|
+
An `extract` may also be a Handlebars expression. It evaluates against
|
|
3890
|
+
the same envelope as a plain path, so every path inside `{{ }}` starts
|
|
3891
|
+
where the plain paths start — `{{data.0.name}}`,
|
|
3892
|
+
`{{#compare data.0.count "==" 1}}yes{{else}}no{{/compare}}`,
|
|
3893
|
+
`{{#if data.length}}found{{/if}}` on a lookup; `{{_json.order.id}}` or
|
|
3894
|
+
`{{id}}` on an import. Index arrays with dots inside Handlebars
|
|
3895
|
+
(`data.0.name` or `data.[0].name`; `data[0].name` renders nothing), and
|
|
3896
|
+
expect a string result (`"1"`, `"false"`). There is no `record` object in
|
|
3897
|
+
this context: `{{record.<anything>}}` renders nothing. Prefer a plain
|
|
3898
|
+
path when the value is simply copied.
|
|
3885
3899
|
x-celigo-ai-guidance:
|
|
3900
|
+
- |-
|
|
3901
|
+
Handlebars is allowed in `extract` but only rooted at the envelope —
|
|
3902
|
+
`{{data.0.x}}` on a lookup, `{{_json.x}}` / `{{id}}` on an import. The
|
|
3903
|
+
`record.` root belongs to import-mapping templates; here every
|
|
3904
|
+
`{{record.…}}` form renders nothing, silently, and `{{data[0].x}}`
|
|
3905
|
+
(bracket index inside Handlebars) renders nothing too. Use Handlebars
|
|
3906
|
+
only for a derived value (a flag, a concatenation); copy values with a
|
|
3907
|
+
plain path.
|
|
3908
|
+
- |-
|
|
3909
|
+
A lookup's `data[]` is the step's output after its `transform` and
|
|
3910
|
+
`filter`, so author extracts against the transformed records — never
|
|
3911
|
+
against the raw response the transform consumed, and never against a
|
|
3912
|
+
saved `mockOutput` as stored (it is the raw response; the transform
|
|
3913
|
+
runs on top of it in a test run).
|
|
3886
3914
|
- |-
|
|
3887
3915
|
Send `fields` and `lists` as bare arrays, exactly as GET returns them.
|
|
3888
3916
|
Never wrap either in an object (e.g. `"fields": {"type": [...]}`): the
|
|
@@ -3924,22 +3952,29 @@ components:
|
|
|
3924
3952
|
properties:
|
|
3925
3953
|
extract:
|
|
3926
3954
|
type: string
|
|
3955
|
+
x-celigo-agent:
|
|
3956
|
+
- handlebars
|
|
3927
3957
|
description: |
|
|
3928
3958
|
Path within the canonical response envelope to copy the value
|
|
3929
|
-
from
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
`
|
|
3959
|
+
from, or a Handlebars expression over that same envelope. For
|
|
3960
|
+
lookup steps, paths start from the envelope's `data` array
|
|
3961
|
+
(`data[0].x` and `data.0.x` are equivalent; `data` alone
|
|
3962
|
+
copies every result) — a lookup result field written without
|
|
3963
|
+
the `data` prefix resolves to nothing. For import steps, use
|
|
3964
|
+
the envelope fields `id`, `statusCode`, `ignored`, `_json.<path>`
|
|
3965
|
+
for the raw response body, or the body field itself at the
|
|
3966
|
+
envelope root (`orderNumber` and `_json.orderNumber` read the
|
|
3967
|
+
same value). A `[*]` wildcard is not honored here — `data[*].x`
|
|
3968
|
+
merges nothing; iterate arrays with `lists` instead. Inside
|
|
3969
|
+
Handlebars, index with dots (`{{data.0.x}}`, never
|
|
3970
|
+
`{{data[0].x}}`) and never use a `record.` root.
|
|
3937
3971
|
examples:
|
|
3938
3972
|
- data[0].customer.name
|
|
3939
3973
|
- data.0.fields.Product Name
|
|
3940
3974
|
- data
|
|
3941
3975
|
- id
|
|
3942
3976
|
- _json.orderNumber
|
|
3977
|
+
- '{{#if data.length}}found{{else}}missing{{/if}}'
|
|
3943
3978
|
generate:
|
|
3944
3979
|
type: string
|
|
3945
3980
|
description: |
|
package/dist/export.yml
CHANGED
|
@@ -15929,19 +15929,38 @@ components:
|
|
|
15929
15929
|
|
|
15930
15930
|
**Usage**
|
|
15931
15931
|
|
|
15932
|
-
|
|
15933
|
-
|
|
15932
|
+
In a flow test run, and for an upstream lookup during a page-processor preview
|
|
15933
|
+
(`previewPageProcessor`), integrator.io substitutes this mock output for the export's live
|
|
15934
|
+
response instead of calling the source. It is not substituted anywhere else: a target lookup
|
|
15935
|
+
in that preview runs its live query, `POST /v1/exports/preview` calls the source, and real
|
|
15936
|
+
runs ignore it. This allows you to:
|
|
15934
15937
|
- Test mappings with representative data
|
|
15935
15938
|
- Configure downstream flow steps without waiting for real data
|
|
15936
15939
|
- Simulate various data scenarios
|
|
15937
15940
|
|
|
15941
|
+
Where it is substituted, the records stand in for the RAW parsed response: the export's own
|
|
15942
|
+
`transform` and output `filter` still run on top of them, so downstream steps — and a
|
|
15943
|
+
lookup's results mapping — see the transformed, filtered records, not the shape stored here.
|
|
15944
|
+
|
|
15938
15945
|
**Limitations**
|
|
15939
15946
|
|
|
15940
15947
|
- Maximum of 10 records
|
|
15941
15948
|
- Maximum size of 1 MB
|
|
15942
15949
|
- Must follow the canonical format shown above
|
|
15943
15950
|
|
|
15944
|
-
Mock output can be populated automatically from preview data
|
|
15951
|
+
Mock output can be populated automatically from preview data (which is the parsed response,
|
|
15952
|
+
before `transform` / `filter`) or entered manually.
|
|
15953
|
+
x-celigo-ai-guidance:
|
|
15954
|
+
- |-
|
|
15955
|
+
Store the RAW parsed response records here, never transformed ones — the platform runs
|
|
15956
|
+
the export's `transform` and `filter` on the mock exactly as on live data, and a
|
|
15957
|
+
pre-transformed mock would be transformed twice. When you read `mockOutput` to learn
|
|
15958
|
+
what a lookup returns, apply the transform first; a results mapping authored against
|
|
15959
|
+
the stored shape walks paths that do not exist at runtime.
|
|
15960
|
+
- |-
|
|
15961
|
+
A saved mockOutput is read in exactly two places — a flow test run, and an upstream lookup
|
|
15962
|
+
during a page-processor preview. A target lookup's preview, `POST /v1/exports/preview` and
|
|
15963
|
+
every real run call the source and never read it.
|
|
15945
15964
|
properties:
|
|
15946
15965
|
page_of_records:
|
|
15947
15966
|
type: array
|
package/dist/flow.yml
CHANGED
|
@@ -4135,20 +4135,48 @@ components:
|
|
|
4135
4135
|
extracts evaluate against that envelope:
|
|
4136
4136
|
|
|
4137
4137
|
- **Lookup steps**: `{"statusCode": 200, "data": [<result records>],
|
|
4138
|
-
"errors": []}` — `data` holds the records the lookup
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4138
|
+
"errors": []}` — `data` holds the records the lookup step returns,
|
|
4139
|
+
AFTER the export's own `transform` and output `filter` have run, so
|
|
4140
|
+
extracts must start from it and name transformed fields by their
|
|
4141
|
+
transformed name: `data[0].name` copies a field of the first result,
|
|
4142
|
+
`data` copies the whole result array. A bare result-record field name
|
|
4143
|
+
(e.g. `name`) resolves to nothing and merges nothing, and so does the
|
|
4144
|
+
raw response path a transform consumed.
|
|
4143
4145
|
- **Import steps**: `{"id": "<destination record id>", "statusCode": 200,
|
|
4144
|
-
"ignored": false, "errors": [], "_json": <raw destination response
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4146
|
+
"ignored": false, "errors": [], "_json": <raw destination response>,
|
|
4147
|
+
...<response body fields flattened at the root>}` — use `id` for the
|
|
4148
|
+
destination-assigned id and `_json.<path>` (or the flattened
|
|
4149
|
+
`<path>`) for fields inside the destination's response body. The full
|
|
4150
|
+
envelope (including `id`) is present on real runs and in flow-builder
|
|
4151
|
+
previews; flow TEST runs never execute imports, and their mock-built
|
|
4152
|
+
envelope carries no `id` — an `extract: "id"` merges nothing in a test
|
|
4153
|
+
run even though it works on real runs.
|
|
4154
|
+
|
|
4155
|
+
An `extract` may also be a Handlebars expression. It evaluates against
|
|
4156
|
+
the same envelope as a plain path, so every path inside `{{ }}` starts
|
|
4157
|
+
where the plain paths start — `{{data.0.name}}`,
|
|
4158
|
+
`{{#compare data.0.count "==" 1}}yes{{else}}no{{/compare}}`,
|
|
4159
|
+
`{{#if data.length}}found{{/if}}` on a lookup; `{{_json.order.id}}` or
|
|
4160
|
+
`{{id}}` on an import. Index arrays with dots inside Handlebars
|
|
4161
|
+
(`data.0.name` or `data.[0].name`; `data[0].name` renders nothing), and
|
|
4162
|
+
expect a string result (`"1"`, `"false"`). There is no `record` object in
|
|
4163
|
+
this context: `{{record.<anything>}}` renders nothing. Prefer a plain
|
|
4164
|
+
path when the value is simply copied.
|
|
4151
4165
|
x-celigo-ai-guidance:
|
|
4166
|
+
- |-
|
|
4167
|
+
Handlebars is allowed in `extract` but only rooted at the envelope —
|
|
4168
|
+
`{{data.0.x}}` on a lookup, `{{_json.x}}` / `{{id}}` on an import. The
|
|
4169
|
+
`record.` root belongs to import-mapping templates; here every
|
|
4170
|
+
`{{record.…}}` form renders nothing, silently, and `{{data[0].x}}`
|
|
4171
|
+
(bracket index inside Handlebars) renders nothing too. Use Handlebars
|
|
4172
|
+
only for a derived value (a flag, a concatenation); copy values with a
|
|
4173
|
+
plain path.
|
|
4174
|
+
- |-
|
|
4175
|
+
A lookup's `data[]` is the step's output after its `transform` and
|
|
4176
|
+
`filter`, so author extracts against the transformed records — never
|
|
4177
|
+
against the raw response the transform consumed, and never against a
|
|
4178
|
+
saved `mockOutput` as stored (it is the raw response; the transform
|
|
4179
|
+
runs on top of it in a test run).
|
|
4152
4180
|
- |-
|
|
4153
4181
|
Send `fields` and `lists` as bare arrays, exactly as GET returns them.
|
|
4154
4182
|
Never wrap either in an object (e.g. `"fields": {"type": [...]}`): the
|
|
@@ -4190,22 +4218,29 @@ components:
|
|
|
4190
4218
|
properties:
|
|
4191
4219
|
extract:
|
|
4192
4220
|
type: string
|
|
4221
|
+
x-celigo-agent:
|
|
4222
|
+
- handlebars
|
|
4193
4223
|
description: |
|
|
4194
4224
|
Path within the canonical response envelope to copy the value
|
|
4195
|
-
from
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
`
|
|
4225
|
+
from, or a Handlebars expression over that same envelope. For
|
|
4226
|
+
lookup steps, paths start from the envelope's `data` array
|
|
4227
|
+
(`data[0].x` and `data.0.x` are equivalent; `data` alone
|
|
4228
|
+
copies every result) — a lookup result field written without
|
|
4229
|
+
the `data` prefix resolves to nothing. For import steps, use
|
|
4230
|
+
the envelope fields `id`, `statusCode`, `ignored`, `_json.<path>`
|
|
4231
|
+
for the raw response body, or the body field itself at the
|
|
4232
|
+
envelope root (`orderNumber` and `_json.orderNumber` read the
|
|
4233
|
+
same value). A `[*]` wildcard is not honored here — `data[*].x`
|
|
4234
|
+
merges nothing; iterate arrays with `lists` instead. Inside
|
|
4235
|
+
Handlebars, index with dots (`{{data.0.x}}`, never
|
|
4236
|
+
`{{data[0].x}}`) and never use a `record.` root.
|
|
4203
4237
|
examples:
|
|
4204
4238
|
- data[0].customer.name
|
|
4205
4239
|
- data.0.fields.Product Name
|
|
4206
4240
|
- data
|
|
4207
4241
|
- id
|
|
4208
4242
|
- _json.orderNumber
|
|
4243
|
+
- '{{#if data.length}}found{{else}}missing{{/if}}'
|
|
4209
4244
|
generate:
|
|
4210
4245
|
type: string
|
|
4211
4246
|
description: |
|
package/dist/tool.yml
CHANGED
|
@@ -6033,11 +6033,21 @@ components:
|
|
|
6033
6033
|
can read them. Extracts do NOT read the raw application
|
|
6034
6034
|
response — they evaluate against the platform's canonical
|
|
6035
6035
|
per-record envelope: for lookups (`type: "export"`) that is
|
|
6036
|
-
`{"statusCode", "data": [<result records>], "errors"}
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
|
|
6040
|
-
|
|
6036
|
+
`{"statusCode", "data": [<result records>], "errors"}`
|
|
6037
|
+
where `data` holds the records AFTER the export's own
|
|
6038
|
+
`transform` and output `filter`, so paths must start from
|
|
6039
|
+
`data` and name transformed fields by their transformed
|
|
6040
|
+
name (e.g. `data[0].name`) — a lookup result field
|
|
6041
|
+
written without the `data` prefix resolves to nothing;
|
|
6042
|
+
for imports it is `{"id", "statusCode", "ignored",
|
|
6043
|
+
"_json", ...<body fields flattened>}`, so use `id`,
|
|
6044
|
+
`_json.<path>`, or the body field itself at the root
|
|
6045
|
+
(`orderNumber` and `_json.orderNumber` read the same
|
|
6046
|
+
value). An extract may be a Handlebars expression over
|
|
6047
|
+
the same envelope (`{{data.0.name}}`,
|
|
6048
|
+
`{{#if data.length}}found{{/if}}`; dot indexes only; a
|
|
6049
|
+
string result); there is no `record` object in this
|
|
6050
|
+
context, so `{{record.…}}` renders nothing.
|
|
6041
6051
|
properties:
|
|
6042
6052
|
fields:
|
|
6043
6053
|
type: array
|
|
@@ -6047,15 +6057,20 @@ components:
|
|
|
6047
6057
|
properties:
|
|
6048
6058
|
extract:
|
|
6049
6059
|
type: string
|
|
6060
|
+
x-celigo-agent:
|
|
6061
|
+
- handlebars
|
|
6050
6062
|
description: |
|
|
6051
6063
|
Path within the canonical response envelope to
|
|
6052
6064
|
copy the value from (`data[0].x` / `data.0.x`
|
|
6053
|
-
for lookups; `id
|
|
6054
|
-
imports)
|
|
6065
|
+
for lookups; `id`, `_json.<path>` or the
|
|
6066
|
+
flattened body field `<path>` for imports), or
|
|
6067
|
+
a Handlebars expression over that envelope (dot
|
|
6068
|
+
indexes inside `{{ }}`, never a `record.` root).
|
|
6055
6069
|
examples:
|
|
6056
6070
|
- data[0].customer.name
|
|
6057
6071
|
- data.0.fields.Product Name
|
|
6058
6072
|
- id
|
|
6073
|
+
- '{{#if data.length}}found{{else}}missing{{/if}}'
|
|
6059
6074
|
generate:
|
|
6060
6075
|
type: string
|
|
6061
6076
|
description: |
|
|
@@ -36177,19 +36192,38 @@ components:
|
|
|
36177
36192
|
|
|
36178
36193
|
**Usage**
|
|
36179
36194
|
|
|
36180
|
-
|
|
36181
|
-
|
|
36195
|
+
In a flow test run, and for an upstream lookup during a page-processor preview
|
|
36196
|
+
(`previewPageProcessor`), integrator.io substitutes this mock output for the export's live
|
|
36197
|
+
response instead of calling the source. It is not substituted anywhere else: a target lookup
|
|
36198
|
+
in that preview runs its live query, `POST /v1/exports/preview` calls the source, and real
|
|
36199
|
+
runs ignore it. This allows you to:
|
|
36182
36200
|
- Test mappings with representative data
|
|
36183
36201
|
- Configure downstream flow steps without waiting for real data
|
|
36184
36202
|
- Simulate various data scenarios
|
|
36185
36203
|
|
|
36204
|
+
Where it is substituted, the records stand in for the RAW parsed response: the export's own
|
|
36205
|
+
`transform` and output `filter` still run on top of them, so downstream steps — and a
|
|
36206
|
+
lookup's results mapping — see the transformed, filtered records, not the shape stored here.
|
|
36207
|
+
|
|
36186
36208
|
**Limitations**
|
|
36187
36209
|
|
|
36188
36210
|
- Maximum of 10 records
|
|
36189
36211
|
- Maximum size of 1 MB
|
|
36190
36212
|
- Must follow the canonical format shown above
|
|
36191
36213
|
|
|
36192
|
-
Mock output can be populated automatically from preview data
|
|
36214
|
+
Mock output can be populated automatically from preview data (which is the parsed response,
|
|
36215
|
+
before `transform` / `filter`) or entered manually.
|
|
36216
|
+
x-celigo-ai-guidance:
|
|
36217
|
+
- |-
|
|
36218
|
+
Store the RAW parsed response records here, never transformed ones — the platform runs
|
|
36219
|
+
the export's `transform` and `filter` on the mock exactly as on live data, and a
|
|
36220
|
+
pre-transformed mock would be transformed twice. When you read `mockOutput` to learn
|
|
36221
|
+
what a lookup returns, apply the transform first; a results mapping authored against
|
|
36222
|
+
the stored shape walks paths that do not exist at runtime.
|
|
36223
|
+
- |-
|
|
36224
|
+
A saved mockOutput is read in exactly two places — a flow test run, and an upstream lookup
|
|
36225
|
+
during a page-processor preview. A target lookup's preview, `POST /v1/exports/preview` and
|
|
36226
|
+
every real run call the source and never read it.
|
|
36193
36227
|
properties:
|
|
36194
36228
|
page_of_records:
|
|
36195
36229
|
type: array
|
package/package.json
CHANGED