@celigo/api-specs 0.2.65 → 0.2.67
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/api.yml +23 -0
- package/dist/connection.yml +23 -0
- package/dist/enduser.yml +23 -0
- package/dist/export.yml +48 -3
- package/dist/import.yml +22 -0
- package/dist/mcp-server.yml +23 -0
- package/dist/tool.yml +93 -3
- package/dist/topic.yml +5 -1
- package/package.json +1 -1
- package/schemas.json +2 -2
package/dist/api.yml
CHANGED
|
@@ -6307,6 +6307,23 @@ components:
|
|
|
6307
6307
|
Controls the UI form layout for configuring this connection. Determines which
|
|
6308
6308
|
fields are shown and how they are organized in the Celigo UI.
|
|
6309
6309
|
For programmatic creation, http is the most common choice.
|
|
6310
|
+
x-celigo-ai-guidance:
|
|
6311
|
+
- |-
|
|
6312
|
+
The value selects a form, not a protocol: a plain `http` connection sends GraphQL requests
|
|
6313
|
+
identically. What `graph_ql` adds is the GraphQL editing experience — the connection form
|
|
6314
|
+
authors the ping as Query / Operation name / Variables fields compiled into `http.ping.body`,
|
|
6315
|
+
and every export and import on the connection gets a Form view toggle between the GraphQL
|
|
6316
|
+
editor (Query / Operation name / Variables) and the raw HTTP form.
|
|
6317
|
+
- |-
|
|
6318
|
+
A `graph_ql` connection's `baseURI` should be the GraphQL endpoint itself
|
|
6319
|
+
(`https://host/graphql`, `https://<store>.myshopify.com/admin/api/<version>/graphql.json`):
|
|
6320
|
+
the GraphQL export and import forms have no relative URI field.
|
|
6321
|
+
- |-
|
|
6322
|
+
The connection form offers no control to change this value on a connection without an HTTP
|
|
6323
|
+
connector, and connections cannot be cloned through the API. A user who wants the GraphQL
|
|
6324
|
+
editor for steps that live on an `http` connection needs a new `graph_ql` connection (same
|
|
6325
|
+
base URI and auth, credentials re-entered) with the steps re-pointed to it — this is the
|
|
6326
|
+
setup to recommend, not a product gap.
|
|
6310
6327
|
x-lowercase: true
|
|
6311
6328
|
examples:
|
|
6312
6329
|
- http
|
|
@@ -7188,6 +7205,12 @@ components:
|
|
|
7188
7205
|
API within the linked HTTP connector that this connection targets, for connectors that
|
|
7189
7206
|
publish more than one API. Only meaningful together with `_httpConnectorId`; an id that is
|
|
7190
7207
|
not one of that connector's APIs is dropped on save, not rejected.
|
|
7208
|
+
x-celigo-ai-guidance:
|
|
7209
|
+
- |-
|
|
7210
|
+
The connector catalog flags GraphQL APIs with `isGraphQL`. The API bound here is inherited
|
|
7211
|
+
by every export and import created on the connection — the step form's API type control
|
|
7212
|
+
is disabled once a connection is selected — so a connector's GraphQL editor requires a
|
|
7213
|
+
connection bound to its GraphQL API, not a per-step setting.
|
|
7191
7214
|
examples:
|
|
7192
7215
|
- 5d8f6a2b9c1e4f00112a3b4d
|
|
7193
7216
|
_httpConnectorVersionId:
|
package/dist/connection.yml
CHANGED
|
@@ -4632,6 +4632,23 @@ components:
|
|
|
4632
4632
|
Controls the UI form layout for configuring this connection. Determines which
|
|
4633
4633
|
fields are shown and how they are organized in the Celigo UI.
|
|
4634
4634
|
For programmatic creation, http is the most common choice.
|
|
4635
|
+
x-celigo-ai-guidance:
|
|
4636
|
+
- |-
|
|
4637
|
+
The value selects a form, not a protocol: a plain `http` connection sends GraphQL requests
|
|
4638
|
+
identically. What `graph_ql` adds is the GraphQL editing experience — the connection form
|
|
4639
|
+
authors the ping as Query / Operation name / Variables fields compiled into `http.ping.body`,
|
|
4640
|
+
and every export and import on the connection gets a Form view toggle between the GraphQL
|
|
4641
|
+
editor (Query / Operation name / Variables) and the raw HTTP form.
|
|
4642
|
+
- |-
|
|
4643
|
+
A `graph_ql` connection's `baseURI` should be the GraphQL endpoint itself
|
|
4644
|
+
(`https://host/graphql`, `https://<store>.myshopify.com/admin/api/<version>/graphql.json`):
|
|
4645
|
+
the GraphQL export and import forms have no relative URI field.
|
|
4646
|
+
- |-
|
|
4647
|
+
The connection form offers no control to change this value on a connection without an HTTP
|
|
4648
|
+
connector, and connections cannot be cloned through the API. A user who wants the GraphQL
|
|
4649
|
+
editor for steps that live on an `http` connection needs a new `graph_ql` connection (same
|
|
4650
|
+
base URI and auth, credentials re-entered) with the steps re-pointed to it — this is the
|
|
4651
|
+
setup to recommend, not a product gap.
|
|
4635
4652
|
x-lowercase: true
|
|
4636
4653
|
examples:
|
|
4637
4654
|
- http
|
|
@@ -5513,6 +5530,12 @@ components:
|
|
|
5513
5530
|
API within the linked HTTP connector that this connection targets, for connectors that
|
|
5514
5531
|
publish more than one API. Only meaningful together with `_httpConnectorId`; an id that is
|
|
5515
5532
|
not one of that connector's APIs is dropped on save, not rejected.
|
|
5533
|
+
x-celigo-ai-guidance:
|
|
5534
|
+
- |-
|
|
5535
|
+
The connector catalog flags GraphQL APIs with `isGraphQL`. The API bound here is inherited
|
|
5536
|
+
by every export and import created on the connection — the step form's API type control
|
|
5537
|
+
is disabled once a connection is selected — so a connector's GraphQL editor requires a
|
|
5538
|
+
connection bound to its GraphQL API, not a per-step setting.
|
|
5516
5539
|
examples:
|
|
5517
5540
|
- 5d8f6a2b9c1e4f00112a3b4d
|
|
5518
5541
|
_httpConnectorVersionId:
|
package/dist/enduser.yml
CHANGED
|
@@ -3645,6 +3645,23 @@ components:
|
|
|
3645
3645
|
Controls the UI form layout for configuring this connection. Determines which
|
|
3646
3646
|
fields are shown and how they are organized in the Celigo UI.
|
|
3647
3647
|
For programmatic creation, http is the most common choice.
|
|
3648
|
+
x-celigo-ai-guidance:
|
|
3649
|
+
- |-
|
|
3650
|
+
The value selects a form, not a protocol: a plain `http` connection sends GraphQL requests
|
|
3651
|
+
identically. What `graph_ql` adds is the GraphQL editing experience — the connection form
|
|
3652
|
+
authors the ping as Query / Operation name / Variables fields compiled into `http.ping.body`,
|
|
3653
|
+
and every export and import on the connection gets a Form view toggle between the GraphQL
|
|
3654
|
+
editor (Query / Operation name / Variables) and the raw HTTP form.
|
|
3655
|
+
- |-
|
|
3656
|
+
A `graph_ql` connection's `baseURI` should be the GraphQL endpoint itself
|
|
3657
|
+
(`https://host/graphql`, `https://<store>.myshopify.com/admin/api/<version>/graphql.json`):
|
|
3658
|
+
the GraphQL export and import forms have no relative URI field.
|
|
3659
|
+
- |-
|
|
3660
|
+
The connection form offers no control to change this value on a connection without an HTTP
|
|
3661
|
+
connector, and connections cannot be cloned through the API. A user who wants the GraphQL
|
|
3662
|
+
editor for steps that live on an `http` connection needs a new `graph_ql` connection (same
|
|
3663
|
+
base URI and auth, credentials re-entered) with the steps re-pointed to it — this is the
|
|
3664
|
+
setup to recommend, not a product gap.
|
|
3648
3665
|
x-lowercase: true
|
|
3649
3666
|
examples:
|
|
3650
3667
|
- http
|
|
@@ -4526,6 +4543,12 @@ components:
|
|
|
4526
4543
|
API within the linked HTTP connector that this connection targets, for connectors that
|
|
4527
4544
|
publish more than one API. Only meaningful together with `_httpConnectorId`; an id that is
|
|
4528
4545
|
not one of that connector's APIs is dropped on save, not rejected.
|
|
4546
|
+
x-celigo-ai-guidance:
|
|
4547
|
+
- |-
|
|
4548
|
+
The connector catalog flags GraphQL APIs with `isGraphQL`. The API bound here is inherited
|
|
4549
|
+
by every export and import created on the connection — the step form's API type control
|
|
4550
|
+
is disabled once a connection is selected — so a connector's GraphQL editor requires a
|
|
4551
|
+
connection bound to its GraphQL API, not a per-step setting.
|
|
4529
4552
|
examples:
|
|
4530
4553
|
- 5d8f6a2b9c1e4f00112a3b4d
|
|
4531
4554
|
_httpConnectorVersionId:
|
package/dist/export.yml
CHANGED
|
@@ -5954,9 +5954,25 @@ components:
|
|
|
5954
5954
|
with their defaults when they are omitted.
|
|
5955
5955
|
x-celigo-ai-guidance:
|
|
5956
5956
|
- |-
|
|
5957
|
-
Send `type: "stream"` together with this object, as the listener form always does
|
|
5958
|
-
save also succeeds without `type`,
|
|
5959
|
-
|
|
5957
|
+
Send `type: "stream"` together with this object, as the listener form always does. The
|
|
5958
|
+
save also succeeds without `type`, and the listener then runs as a batch export: its flow
|
|
5959
|
+
never starts when a message is published, a manual run re-reads every retained message
|
|
5960
|
+
without committing a position, and `GET /v1/topics/{_id}/exports/{_exportId}/offsets`
|
|
5961
|
+
reports `hasCursor: false`. `PATCH` cannot add the type afterwards (`/type` is not a
|
|
5962
|
+
whitelisted property): `PUT` the full document with `type: "stream"`, then disable and
|
|
5963
|
+
enable the flow. Sending this object without `adaptorType` is enough for the server to
|
|
5964
|
+
infer `TopicExport`.
|
|
5965
|
+
- |-
|
|
5966
|
+
The subscription is created when the listener's flow goes from disabled to enabled (a
|
|
5967
|
+
`PATCH` or `PUT` that changes `disabled`); the first run after a publish follows within
|
|
5968
|
+
about a minute. A flow created with `disabled: false` in one request has not subscribed,
|
|
5969
|
+
and a save that leaves `disabled` unchanged (a rename) does not subscribe it — toggle the
|
|
5970
|
+
flow. Under `startPosition: latest`, messages published before the subscription exists
|
|
5971
|
+
are skipped. A disabled flow keeps its position and resumes from it when enabled again.
|
|
5972
|
+
- |-
|
|
5973
|
+
A topic listener cannot be a lookup: `isLookup: true` with `type: "stream"` fails the save
|
|
5974
|
+
with 422 `not_supported` ("Lookup functionality is not available for Stream Export"), and a
|
|
5975
|
+
lookup-shaped TopicExport saved without `type` never runs.
|
|
5960
5976
|
- |-
|
|
5961
5977
|
Never add a `_connectionId`: the server then validates the document as that connection's
|
|
5962
5978
|
adaptor instead (an http connection fails with 422 missing_required_field "http subschema
|
|
@@ -6156,6 +6172,24 @@ components:
|
|
|
6156
6172
|
Authoring mode of the HTTP request form. Controls which editor the UI presents
|
|
6157
6173
|
(standard HTTP, legacy REST, GraphQL, or connector-assistant driven) and how the
|
|
6158
6174
|
request fields are interpreted. When omitted, the standard HTTP form is used.
|
|
6175
|
+
x-celigo-ai-guidance:
|
|
6176
|
+
- |-
|
|
6177
|
+
The value changes only the editor, never the request: the same `http.body` is sent
|
|
6178
|
+
identically under `http` and `graph_ql`, and the value can be changed on an existing
|
|
6179
|
+
export without touching the body.
|
|
6180
|
+
- |-
|
|
6181
|
+
The GraphQL form reads `http.body` as the JSON envelope `{"query", "operationName",
|
|
6182
|
+
"variables"}` and shows each member in its own editor, recompiling the envelope on save
|
|
6183
|
+
(`http.paging.body` likewise from its paging fields). A body that is not parseable JSON at
|
|
6184
|
+
rest — Handlebars block helpers outside a string value — renders every field EMPTY in that
|
|
6185
|
+
form, so keep templated variables inside a JSON string value:
|
|
6186
|
+
`"variables": "{\"after\": {{#if export.http.paging.token}}\"{{export.http.paging.token}}\"{{else}}null{{/if}}}"`.
|
|
6187
|
+
- |-
|
|
6188
|
+
The GraphQL form has no relative URI field: the connection `baseURI` is expected to be the
|
|
6189
|
+
GraphQL endpoint (a saved `relativeURI` still applies but is not shown). Create GraphQL
|
|
6190
|
+
exports on a `graph_ql` connection — that is the setup where the form offers the Form view
|
|
6191
|
+
toggle between the GraphQL editor and the raw HTTP form; a `graph_ql` export on an `http`
|
|
6192
|
+
connection works but cannot be switched back in the UI.
|
|
6159
6193
|
examples:
|
|
6160
6194
|
- http
|
|
6161
6195
|
- graph_ql
|
|
@@ -6344,6 +6378,11 @@ components:
|
|
|
6344
6378
|
- |-
|
|
6345
6379
|
The body content must match the format specified in the requestMediaType field (JSON,
|
|
6346
6380
|
XML, etc.).
|
|
6381
|
+
- |-
|
|
6382
|
+
A GraphQL request is this field holding the stringified JSON envelope `{"query":
|
|
6383
|
+
"<document>", "operationName": "...", "variables": ...}` whatever `formType` says;
|
|
6384
|
+
`variables` may be an object or a JSON-encoded string, and a templated variables value
|
|
6385
|
+
must stay inside a string so the body remains parseable JSON at rest (see `formType`).
|
|
6347
6386
|
- |-
|
|
6348
6387
|
You can use handlebars expressions to create dynamic content:
|
|
6349
6388
|
```
|
|
@@ -16335,6 +16374,12 @@ components:
|
|
|
16335
16374
|
response for the record, up to 5 MB, so `pageSize` does not limit or extend what a lookup
|
|
16336
16375
|
returns. A lookup that must return more than that is better modeled as a standalone
|
|
16337
16376
|
export step.
|
|
16377
|
+
x-celigo-ai-guidance:
|
|
16378
|
+
- |-
|
|
16379
|
+
Not supported together with `type: "stream"`: a topic listener (`adaptorType:
|
|
16380
|
+
TopicExport`) with `isLookup: true` fails the save with 422 `not_supported`
|
|
16381
|
+
("Lookup functionality is not available for Stream Export"). Enrich from a topic by
|
|
16382
|
+
listening to it in its own flow.
|
|
16338
16383
|
examples:
|
|
16339
16384
|
- true
|
|
16340
16385
|
- false
|
package/dist/import.yml
CHANGED
|
@@ -1636,6 +1636,18 @@ components:
|
|
|
1636
1636
|
- |-
|
|
1637
1637
|
Use `assistant_graphql` as the default value if there is a connector available
|
|
1638
1638
|
for the system and the connector supports GraphQL.
|
|
1639
|
+
- |-
|
|
1640
|
+
The value selects the editor only. Each `http.body[]` entry stays a template STRING — a
|
|
1641
|
+
stringified `{"query", "operationName", "variables"}` envelope, one per operation for the
|
|
1642
|
+
update/create pair (`http.body[0]` / `http.body[1]`); never an object entry, which is stored
|
|
1643
|
+
as-is and does not render. The GraphQL form parses that string to show each member in its
|
|
1644
|
+
own field and re-stringifies it on save; an entry that is not parseable JSON at rest renders
|
|
1645
|
+
those fields empty, so keep templated variables inside a JSON string value.
|
|
1646
|
+
- |-
|
|
1647
|
+
Create GraphQL imports on a `graph_ql` connection (or a connector connection bound to its
|
|
1648
|
+
GraphQL API): that setup offers the Form view toggle between the GraphQL editor and the
|
|
1649
|
+
raw HTTP form, and the GraphQL form has no relative URI field — the connection `baseURI`
|
|
1650
|
+
is expected to be the GraphQL endpoint.
|
|
1639
1651
|
examples:
|
|
1640
1652
|
- assistant
|
|
1641
1653
|
- http
|
|
@@ -8340,6 +8352,16 @@ components:
|
|
|
8340
8352
|
from it. Never add a `_connectionId`: the server then validates the document as that
|
|
8341
8353
|
connection's adaptor instead (an http connection fails with 422 missing_required_field
|
|
8342
8354
|
"http subschema not defined").
|
|
8355
|
+
- |-
|
|
8356
|
+
Without a mapping, each message is the record as the step received it. With
|
|
8357
|
+
`oneToMany: true` and `pathToMany`, every element of that array is published as its own
|
|
8358
|
+
message and the rest of the parent record rides inside each one under `_PARENT` (the parent
|
|
8359
|
+
without the array); a mapping reshapes the message instead.
|
|
8360
|
+
- |-
|
|
8361
|
+
Publishing is not limited to flows. Verified surfaces: a flow step; an API step (the API
|
|
8362
|
+
invoked at `POST /apis/{version}/{relativeURI}`); a Tool reached through a `ToolImport`
|
|
8363
|
+
step in a flow; and `POST /v1/imports/{_id}/invoke` with `{"data": [record, ...]}`. A flow
|
|
8364
|
+
or API test run (`/test/run`) publishes nothing — import steps are mocked there.
|
|
8343
8365
|
properties:
|
|
8344
8366
|
_topicId:
|
|
8345
8367
|
type: string
|
package/dist/mcp-server.yml
CHANGED
|
@@ -5455,6 +5455,23 @@ components:
|
|
|
5455
5455
|
Controls the UI form layout for configuring this connection. Determines which
|
|
5456
5456
|
fields are shown and how they are organized in the Celigo UI.
|
|
5457
5457
|
For programmatic creation, http is the most common choice.
|
|
5458
|
+
x-celigo-ai-guidance:
|
|
5459
|
+
- |-
|
|
5460
|
+
The value selects a form, not a protocol: a plain `http` connection sends GraphQL requests
|
|
5461
|
+
identically. What `graph_ql` adds is the GraphQL editing experience — the connection form
|
|
5462
|
+
authors the ping as Query / Operation name / Variables fields compiled into `http.ping.body`,
|
|
5463
|
+
and every export and import on the connection gets a Form view toggle between the GraphQL
|
|
5464
|
+
editor (Query / Operation name / Variables) and the raw HTTP form.
|
|
5465
|
+
- |-
|
|
5466
|
+
A `graph_ql` connection's `baseURI` should be the GraphQL endpoint itself
|
|
5467
|
+
(`https://host/graphql`, `https://<store>.myshopify.com/admin/api/<version>/graphql.json`):
|
|
5468
|
+
the GraphQL export and import forms have no relative URI field.
|
|
5469
|
+
- |-
|
|
5470
|
+
The connection form offers no control to change this value on a connection without an HTTP
|
|
5471
|
+
connector, and connections cannot be cloned through the API. A user who wants the GraphQL
|
|
5472
|
+
editor for steps that live on an `http` connection needs a new `graph_ql` connection (same
|
|
5473
|
+
base URI and auth, credentials re-entered) with the steps re-pointed to it — this is the
|
|
5474
|
+
setup to recommend, not a product gap.
|
|
5458
5475
|
x-lowercase: true
|
|
5459
5476
|
examples:
|
|
5460
5477
|
- http
|
|
@@ -6336,6 +6353,12 @@ components:
|
|
|
6336
6353
|
API within the linked HTTP connector that this connection targets, for connectors that
|
|
6337
6354
|
publish more than one API. Only meaningful together with `_httpConnectorId`; an id that is
|
|
6338
6355
|
not one of that connector's APIs is dropped on save, not rejected.
|
|
6356
|
+
x-celigo-ai-guidance:
|
|
6357
|
+
- |-
|
|
6358
|
+
The connector catalog flags GraphQL APIs with `isGraphQL`. The API bound here is inherited
|
|
6359
|
+
by every export and import created on the connection — the step form's API type control
|
|
6360
|
+
is disabled once a connection is selected — so a connector's GraphQL editor requires a
|
|
6361
|
+
connection bound to its GraphQL API, not a per-step setting.
|
|
6339
6362
|
examples:
|
|
6340
6363
|
- 5d8f6a2b9c1e4f00112a3b4d
|
|
6341
6364
|
_httpConnectorVersionId:
|
package/dist/tool.yml
CHANGED
|
@@ -8056,6 +8056,23 @@ components:
|
|
|
8056
8056
|
Controls the UI form layout for configuring this connection. Determines which
|
|
8057
8057
|
fields are shown and how they are organized in the Celigo UI.
|
|
8058
8058
|
For programmatic creation, http is the most common choice.
|
|
8059
|
+
x-celigo-ai-guidance:
|
|
8060
|
+
- |-
|
|
8061
|
+
The value selects a form, not a protocol: a plain `http` connection sends GraphQL requests
|
|
8062
|
+
identically. What `graph_ql` adds is the GraphQL editing experience — the connection form
|
|
8063
|
+
authors the ping as Query / Operation name / Variables fields compiled into `http.ping.body`,
|
|
8064
|
+
and every export and import on the connection gets a Form view toggle between the GraphQL
|
|
8065
|
+
editor (Query / Operation name / Variables) and the raw HTTP form.
|
|
8066
|
+
- |-
|
|
8067
|
+
A `graph_ql` connection's `baseURI` should be the GraphQL endpoint itself
|
|
8068
|
+
(`https://host/graphql`, `https://<store>.myshopify.com/admin/api/<version>/graphql.json`):
|
|
8069
|
+
the GraphQL export and import forms have no relative URI field.
|
|
8070
|
+
- |-
|
|
8071
|
+
The connection form offers no control to change this value on a connection without an HTTP
|
|
8072
|
+
connector, and connections cannot be cloned through the API. A user who wants the GraphQL
|
|
8073
|
+
editor for steps that live on an `http` connection needs a new `graph_ql` connection (same
|
|
8074
|
+
base URI and auth, credentials re-entered) with the steps re-pointed to it — this is the
|
|
8075
|
+
setup to recommend, not a product gap.
|
|
8059
8076
|
x-lowercase: true
|
|
8060
8077
|
examples:
|
|
8061
8078
|
- http
|
|
@@ -8937,6 +8954,12 @@ components:
|
|
|
8937
8954
|
API within the linked HTTP connector that this connection targets, for connectors that
|
|
8938
8955
|
publish more than one API. Only meaningful together with `_httpConnectorId`; an id that is
|
|
8939
8956
|
not one of that connector's APIs is dropped on save, not rejected.
|
|
8957
|
+
x-celigo-ai-guidance:
|
|
8958
|
+
- |-
|
|
8959
|
+
The connector catalog flags GraphQL APIs with `isGraphQL`. The API bound here is inherited
|
|
8960
|
+
by every export and import created on the connection — the step form's API type control
|
|
8961
|
+
is disabled once a connection is selected — so a connector's GraphQL editor requires a
|
|
8962
|
+
connection bound to its GraphQL API, not a per-step setting.
|
|
8940
8963
|
examples:
|
|
8941
8964
|
- 5d8f6a2b9c1e4f00112a3b4d
|
|
8942
8965
|
_httpConnectorVersionId:
|
|
@@ -12158,6 +12181,18 @@ components:
|
|
|
12158
12181
|
- |-
|
|
12159
12182
|
Use `assistant_graphql` as the default value if there is a connector available
|
|
12160
12183
|
for the system and the connector supports GraphQL.
|
|
12184
|
+
- |-
|
|
12185
|
+
The value selects the editor only. Each `http.body[]` entry stays a template STRING — a
|
|
12186
|
+
stringified `{"query", "operationName", "variables"}` envelope, one per operation for the
|
|
12187
|
+
update/create pair (`http.body[0]` / `http.body[1]`); never an object entry, which is stored
|
|
12188
|
+
as-is and does not render. The GraphQL form parses that string to show each member in its
|
|
12189
|
+
own field and re-stringifies it on save; an entry that is not parseable JSON at rest renders
|
|
12190
|
+
those fields empty, so keep templated variables inside a JSON string value.
|
|
12191
|
+
- |-
|
|
12192
|
+
Create GraphQL imports on a `graph_ql` connection (or a connector connection bound to its
|
|
12193
|
+
GraphQL API): that setup offers the Form view toggle between the GraphQL editor and the
|
|
12194
|
+
raw HTTP form, and the GraphQL form has no relative URI field — the connection `baseURI`
|
|
12195
|
+
is expected to be the GraphQL endpoint.
|
|
12161
12196
|
examples:
|
|
12162
12197
|
- assistant
|
|
12163
12198
|
- http
|
|
@@ -18593,6 +18628,16 @@ components:
|
|
|
18593
18628
|
from it. Never add a `_connectionId`: the server then validates the document as that
|
|
18594
18629
|
connection's adaptor instead (an http connection fails with 422 missing_required_field
|
|
18595
18630
|
"http subschema not defined").
|
|
18631
|
+
- |-
|
|
18632
|
+
Without a mapping, each message is the record as the step received it. With
|
|
18633
|
+
`oneToMany: true` and `pathToMany`, every element of that array is published as its own
|
|
18634
|
+
message and the rest of the parent record rides inside each one under `_PARENT` (the parent
|
|
18635
|
+
without the array); a mapping reshapes the message instead.
|
|
18636
|
+
- |-
|
|
18637
|
+
Publishing is not limited to flows. Verified surfaces: a flow step; an API step (the API
|
|
18638
|
+
invoked at `POST /apis/{version}/{relativeURI}`); a Tool reached through a `ToolImport`
|
|
18639
|
+
step in a flow; and `POST /v1/imports/{_id}/invoke` with `{"data": [record, ...]}`. A flow
|
|
18640
|
+
or API test run (`/test/run`) publishes nothing — import steps are mocked there.
|
|
18596
18641
|
properties:
|
|
18597
18642
|
_topicId:
|
|
18598
18643
|
type: string
|
|
@@ -28950,9 +28995,25 @@ components:
|
|
|
28950
28995
|
with their defaults when they are omitted.
|
|
28951
28996
|
x-celigo-ai-guidance:
|
|
28952
28997
|
- |-
|
|
28953
|
-
Send `type: "stream"` together with this object, as the listener form always does
|
|
28954
|
-
save also succeeds without `type`,
|
|
28955
|
-
|
|
28998
|
+
Send `type: "stream"` together with this object, as the listener form always does. The
|
|
28999
|
+
save also succeeds without `type`, and the listener then runs as a batch export: its flow
|
|
29000
|
+
never starts when a message is published, a manual run re-reads every retained message
|
|
29001
|
+
without committing a position, and `GET /v1/topics/{_id}/exports/{_exportId}/offsets`
|
|
29002
|
+
reports `hasCursor: false`. `PATCH` cannot add the type afterwards (`/type` is not a
|
|
29003
|
+
whitelisted property): `PUT` the full document with `type: "stream"`, then disable and
|
|
29004
|
+
enable the flow. Sending this object without `adaptorType` is enough for the server to
|
|
29005
|
+
infer `TopicExport`.
|
|
29006
|
+
- |-
|
|
29007
|
+
The subscription is created when the listener's flow goes from disabled to enabled (a
|
|
29008
|
+
`PATCH` or `PUT` that changes `disabled`); the first run after a publish follows within
|
|
29009
|
+
about a minute. A flow created with `disabled: false` in one request has not subscribed,
|
|
29010
|
+
and a save that leaves `disabled` unchanged (a rename) does not subscribe it — toggle the
|
|
29011
|
+
flow. Under `startPosition: latest`, messages published before the subscription exists
|
|
29012
|
+
are skipped. A disabled flow keeps its position and resumes from it when enabled again.
|
|
29013
|
+
- |-
|
|
29014
|
+
A topic listener cannot be a lookup: `isLookup: true` with `type: "stream"` fails the save
|
|
29015
|
+
with 422 `not_supported` ("Lookup functionality is not available for Stream Export"), and a
|
|
29016
|
+
lookup-shaped TopicExport saved without `type` never runs.
|
|
28956
29017
|
- |-
|
|
28957
29018
|
Never add a `_connectionId`: the server then validates the document as that connection's
|
|
28958
29019
|
adaptor instead (an http connection fails with 422 missing_required_field "http subschema
|
|
@@ -29152,6 +29213,24 @@ components:
|
|
|
29152
29213
|
Authoring mode of the HTTP request form. Controls which editor the UI presents
|
|
29153
29214
|
(standard HTTP, legacy REST, GraphQL, or connector-assistant driven) and how the
|
|
29154
29215
|
request fields are interpreted. When omitted, the standard HTTP form is used.
|
|
29216
|
+
x-celigo-ai-guidance:
|
|
29217
|
+
- |-
|
|
29218
|
+
The value changes only the editor, never the request: the same `http.body` is sent
|
|
29219
|
+
identically under `http` and `graph_ql`, and the value can be changed on an existing
|
|
29220
|
+
export without touching the body.
|
|
29221
|
+
- |-
|
|
29222
|
+
The GraphQL form reads `http.body` as the JSON envelope `{"query", "operationName",
|
|
29223
|
+
"variables"}` and shows each member in its own editor, recompiling the envelope on save
|
|
29224
|
+
(`http.paging.body` likewise from its paging fields). A body that is not parseable JSON at
|
|
29225
|
+
rest — Handlebars block helpers outside a string value — renders every field EMPTY in that
|
|
29226
|
+
form, so keep templated variables inside a JSON string value:
|
|
29227
|
+
`"variables": "{\"after\": {{#if export.http.paging.token}}\"{{export.http.paging.token}}\"{{else}}null{{/if}}}"`.
|
|
29228
|
+
- |-
|
|
29229
|
+
The GraphQL form has no relative URI field: the connection `baseURI` is expected to be the
|
|
29230
|
+
GraphQL endpoint (a saved `relativeURI` still applies but is not shown). Create GraphQL
|
|
29231
|
+
exports on a `graph_ql` connection — that is the setup where the form offers the Form view
|
|
29232
|
+
toggle between the GraphQL editor and the raw HTTP form; a `graph_ql` export on an `http`
|
|
29233
|
+
connection works but cannot be switched back in the UI.
|
|
29155
29234
|
examples:
|
|
29156
29235
|
- http
|
|
29157
29236
|
- graph_ql
|
|
@@ -29340,6 +29419,11 @@ components:
|
|
|
29340
29419
|
- |-
|
|
29341
29420
|
The body content must match the format specified in the requestMediaType field (JSON,
|
|
29342
29421
|
XML, etc.).
|
|
29422
|
+
- |-
|
|
29423
|
+
A GraphQL request is this field holding the stringified JSON envelope `{"query":
|
|
29424
|
+
"<document>", "operationName": "...", "variables": ...}` whatever `formType` says;
|
|
29425
|
+
`variables` may be an object or a JSON-encoded string, and a templated variables value
|
|
29426
|
+
must stay inside a string so the body remains parseable JSON at rest (see `formType`).
|
|
29343
29427
|
- |-
|
|
29344
29428
|
You can use handlebars expressions to create dynamic content:
|
|
29345
29429
|
```
|
|
@@ -36269,6 +36353,12 @@ components:
|
|
|
36269
36353
|
response for the record, up to 5 MB, so `pageSize` does not limit or extend what a lookup
|
|
36270
36354
|
returns. A lookup that must return more than that is better modeled as a standalone
|
|
36271
36355
|
export step.
|
|
36356
|
+
x-celigo-ai-guidance:
|
|
36357
|
+
- |-
|
|
36358
|
+
Not supported together with `type: "stream"`: a topic listener (`adaptorType:
|
|
36359
|
+
TopicExport`) with `isLookup: true` fails the save with 422 `not_supported`
|
|
36360
|
+
("Lookup functionality is not available for Stream Export"). Enrich from a topic by
|
|
36361
|
+
listening to it in its own flow.
|
|
36272
36362
|
examples:
|
|
36273
36363
|
- true
|
|
36274
36364
|
- false
|
package/dist/topic.yml
CHANGED
|
@@ -1636,6 +1636,9 @@ components:
|
|
|
1636
1636
|
from `offset`. False when the export has never consumed the topic, when its last committed
|
|
1637
1637
|
position has expired from the stream, or when it does not listen to this topic at all — a
|
|
1638
1638
|
listener without a cursor starts from its own `topic.startPosition` (`latest` or `earliest`).
|
|
1639
|
+
A listener whose flow is disabled keeps its position; a listener saved without
|
|
1640
|
+
`type: "stream"`, or whose flow has not been enabled since the listener was saved, has
|
|
1641
|
+
never subscribed and reports false.
|
|
1639
1642
|
examples:
|
|
1640
1643
|
- true
|
|
1641
1644
|
- false
|
|
@@ -1644,7 +1647,8 @@ components:
|
|
|
1644
1647
|
minimum: -1
|
|
1645
1648
|
description: |-
|
|
1646
1649
|
Zero-based position of the next message the export will read. `-1` when `hasCursor` is
|
|
1647
|
-
false.
|
|
1650
|
+
false. The position counts from the start of the stream, so while no message has expired
|
|
1651
|
+
the retained message count minus `offset` is the listener's backlog.
|
|
1648
1652
|
examples:
|
|
1649
1653
|
- 1287
|
|
1650
1654
|
- -1
|
package/package.json
CHANGED